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.
- package/dist/core/createApp.d.ts +1 -0
- package/dist/core/createApp.js +1 -0
- package/dist/core/editing/contentEdits.js +78 -0
- package/dist/core/editing/createEditableBlock.js +277 -311
- package/dist/core/layoutContext.d.ts +1 -0
- package/dist/core/lib/contentType.js +2 -2
- package/dist/core/recordItem.js +3 -3
- package/dist/features/canvas/CamoxCanvas.js +15 -15
- package/dist/features/canvas/CanvasLoadingScreen.js +15 -11
- package/dist/features/canvas/CanvasPageFrame.js +81 -87
- package/dist/features/canvas/CanvasPreviewPageSlot.js +1 -1
- package/dist/features/canvas/DerivedPagePathInput.js +12 -12
- package/dist/features/canvas/canvasOverlayGeometry.js +1 -1
- package/dist/features/canvas/canvasStore.js +2 -2
- package/dist/features/canvas/sidebar/CanvasInspector.js +1 -1
- package/dist/features/canvas/sidebar/CuratedPageInspector.js +1 -1
- package/dist/features/canvas/sidebar/LayoutPageBlocks.js +23 -31
- package/dist/features/canvas/useCanvasCamera.js +1 -1
- package/dist/features/canvas/useDiscoveredPreviewPaths.js +16 -9
- package/dist/features/content/ContentAssets.js +84 -88
- package/dist/features/page/CuratedPageContent.js +1 -1
- package/dist/features/preview/CamoxPreview.d.ts +8 -4
- package/dist/features/preview/CamoxPreview.js +258 -443
- package/dist/features/preview/EditablePageContent.js +244 -2
- package/dist/features/preview/EditablePageExperience.js +19 -13
- package/dist/features/preview/components/AddBlockSheet.js +55 -15
- package/dist/features/preview/components/BlockActionsPopover.js +23 -51
- package/dist/features/preview/components/BlockPeek.js +66 -0
- package/dist/features/preview/components/BlockThumbnail.js +134 -119
- package/dist/features/preview/components/CanvasPreview.js +1 -1
- package/dist/features/preview/components/CreatePageModal.js +150 -156
- package/dist/features/preview/components/FieldToolbar.js +1 -1
- package/dist/features/preview/components/Frame.js +27 -4
- package/dist/features/preview/components/MobilePreviewDrawer.js +6 -9
- package/dist/features/preview/components/PageInfo.js +161 -126
- package/dist/features/preview/components/PagePicker.js +2 -2
- package/dist/features/preview/components/PageTree.js +174 -190
- package/dist/features/preview/components/PreviewPanel.js +13 -67
- package/dist/features/preview/components/PreviewToolbar.js +1 -1
- package/dist/features/preview/components/ReferenceFieldEditor.js +4 -4
- package/dist/features/preview/components/ReferenceListFieldEditor.js +4 -4
- package/dist/features/preview/components/RemovedBlockPlaceholder.js +37 -70
- package/dist/features/preview/components/RepeatableItemsList.js +1 -1
- package/dist/features/preview/components/SelectionEditor.js +248 -256
- package/dist/features/preview/components/StudioEditingFallback.js +22 -26
- package/dist/features/preview/components/useFieldWriter.js +19 -19
- package/dist/features/preview/components/useRecordView.js +105 -147
- package/dist/features/preview/components/useRepeatableItemActions.js +0 -2
- package/dist/features/preview/pageRecord.js +30 -24
- package/dist/features/preview/previewConstants.js +2 -8
- package/dist/features/preview/previewStore.js +2 -0
- package/dist/features/preview/studioNotice.js +20 -0
- package/dist/features/preview/usePreviewViewportActions.js +1 -1
- package/dist/features/provider/AuthenticatedCamoxProvider.js +47 -31
- package/dist/features/provider/components/CommandPalette.js +2 -5
- package/dist/features/provider/signInShortcut.js +1 -2
- package/dist/features/provider/useAdminShortcuts.js +47 -53
- package/dist/features/renderer/RendererApp.js +542 -0
- package/dist/features/renderer/RendererFrames.js +450 -0
- package/dist/features/renderer/definitionAnswers.js +26 -0
- package/dist/features/renderer/protocol.js +35 -0
- package/dist/features/renderer/rendererHost.js +249 -0
- package/dist/features/renderer/studioConnection.js +186 -0
- package/dist/features/routes/pageRuntime.d.ts +2 -1
- package/dist/features/routes/pageRuntime.js +34 -22
- package/dist/features/runtime/RuntimeChrome.js +2 -5
- package/dist/features/runtime/assetPrefix.js +14 -0
- package/dist/features/runtime/breadcrumbs.js +1 -1
- package/dist/features/runtime/editingFallback.js +4 -8
- package/dist/features/runtime/livePages.js +1 -1
- package/dist/features/runtime/pageApp.js +57 -83
- package/dist/features/runtime/pageClient.js +1 -1
- package/dist/features/runtime/pageNavigation.js +3 -2
- package/dist/features/runtime/publicCache.js +95 -0
- package/dist/features/runtime/publishingDraft.js +23 -0
- package/dist/features/runtime/rendererClient.d.ts +8 -0
- package/dist/features/runtime/rendererClient.js +77 -0
- package/dist/features/runtime/runtime.d.ts +22 -3
- package/dist/features/runtime/runtime.js +209 -96
- package/dist/features/runtime/runtimeRoutes.d.ts +2 -0
- package/dist/features/runtime/runtimeRoutes.js +2 -0
- package/dist/features/runtime/worker.d.ts +14 -1
- package/dist/features/runtime/worker.js +34 -4
- package/dist/features/settings/AnalyticsSettings.js +622 -0
- package/dist/features/settings/CamoxSettings.js +95 -0
- package/dist/features/settings/FaviconSettings.js +254 -0
- package/dist/features/settings/ProjectNameSettings.js +145 -0
- package/dist/features/settings/SettingsPart.js +73 -0
- package/dist/features/settings/SocialProfilesSettings.js +245 -0
- package/dist/features/settings/useProjectMutation.js +61 -0
- package/dist/features/studio/FollowAgentProvider.js +10 -10
- package/dist/features/studio/components/DraftsControl.js +136 -131
- package/dist/features/studio/components/LocalePicker.js +178 -174
- package/dist/features/studio/components/Navbar.js +107 -66
- package/dist/features/studio/components/ProjectMenu.js +119 -171
- package/dist/features/studio/components/ReviewDraftSheet.js +1151 -991
- package/dist/features/studio/components/ThreadMessages.js +100 -65
- package/dist/features/studio/components/UserButton.js +2 -2
- package/dist/features/studio/routes.js +3 -1
- package/dist/features/studio/showInCanvas.js +129 -0
- package/dist/features/vite/definitionsSync.js +5 -6
- package/dist/features/vite/hostedChecks.js +127 -0
- package/dist/features/vite/runtimeDev.js +58 -17
- package/dist/features/vite/staticAssetHeaders.js +52 -0
- package/dist/features/vite/vite.d.ts +1 -1
- package/dist/features/vite/vite.js +49 -9
- package/dist/hooks/use-page-destinations.js +10 -10
- package/dist/lib/api-client-server.d.ts +1 -1
- package/dist/lib/api-client.d.ts +2 -1
- package/dist/lib/draft-scope.d.ts +1 -0
- package/dist/lib/locale-path.d.ts +3 -11
- package/dist/lib/locale-path.js +3 -27
- package/dist/lib/queries.js +7 -1
- package/dist/lib/revisions.js +20 -0
- package/dist/lib/shortcuts.js +29 -0
- package/dist/lib/studio-definitions.js +160 -0
- package/dist/lib/studio-reads.d.ts +1 -0
- package/dist/lib/studio-reads.js +65 -21
- package/dist/lib/use-project-room.js +16 -10
- package/dist/lib/utils.js +1 -104
- package/dist/package.js +1 -1
- package/dist/studio.css +1 -1
- package/package.json +9 -4
- package/skills/camox/SKILL.md +4 -0
- package/skills/camox/references/artifacts.md +1 -1
- package/dist/features/studio/components/FaviconDialog.js +0 -318
- 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(
|
|
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] !==
|
|
250
|
-
t16 =
|
|
251
|
-
$[32] =
|
|
252
|
-
$[33] =
|
|
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
|
|
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
|
-
|
|
261
|
+
t17 = null;
|
|
270
262
|
break bb0;
|
|
271
263
|
}
|
|
272
264
|
if (currentItemId == null) {
|
|
273
|
-
let
|
|
274
|
-
if ($[
|
|
275
|
-
|
|
265
|
+
let t18;
|
|
266
|
+
if ($[35] !== block || $[36] !== blockDef.contentSchema) {
|
|
267
|
+
t18 = {
|
|
276
268
|
...block,
|
|
277
|
-
contentSchema: blockDef.
|
|
269
|
+
contentSchema: blockDef.contentSchema
|
|
278
270
|
};
|
|
279
|
-
$[
|
|
280
|
-
$[
|
|
281
|
-
$[
|
|
282
|
-
} else
|
|
283
|
-
|
|
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
|
-
|
|
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 ($[
|
|
292
|
-
t19 =
|
|
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:
|
|
294
|
+
contentSchema: t18
|
|
303
295
|
};
|
|
304
|
-
$[
|
|
305
|
-
$[
|
|
306
|
-
$[
|
|
307
|
-
} else
|
|
308
|
-
|
|
296
|
+
$[42] = placerItem;
|
|
297
|
+
$[43] = t18;
|
|
298
|
+
$[44] = t19;
|
|
299
|
+
} else t19 = $[44];
|
|
300
|
+
t17 = t19;
|
|
309
301
|
}
|
|
310
|
-
const
|
|
311
|
-
let
|
|
312
|
-
if ($[
|
|
313
|
-
|
|
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:
|
|
308
|
+
placer: t18
|
|
317
309
|
};
|
|
318
|
-
$[
|
|
319
|
-
$[
|
|
320
|
-
$[
|
|
321
|
-
$[
|
|
322
|
-
} else
|
|
323
|
-
const { recordView, viewSelection, recordCrumbs } = useRecordView(
|
|
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
|
-
|
|
330
|
+
t21 = null;
|
|
339
331
|
break bb1;
|
|
340
332
|
}
|
|
341
|
-
let
|
|
342
|
-
if ($[
|
|
343
|
-
|
|
344
|
-
$[
|
|
345
|
-
$[
|
|
346
|
-
$[
|
|
347
|
-
$[
|
|
348
|
-
} else
|
|
349
|
-
|
|
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 =
|
|
352
|
-
const
|
|
353
|
-
let
|
|
354
|
-
if ($[
|
|
355
|
-
|
|
356
|
-
$[
|
|
357
|
-
$[
|
|
358
|
-
} else
|
|
359
|
-
const itemSettingsFields =
|
|
360
|
-
const recordSchema = recordView?.collection.
|
|
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
|
|
354
|
+
let t24;
|
|
363
355
|
bb2: {
|
|
364
356
|
if (recordSchema) {
|
|
365
|
-
|
|
357
|
+
t24 = recordSchema;
|
|
366
358
|
break bb2;
|
|
367
359
|
}
|
|
368
360
|
if (!blockDef) {
|
|
369
|
-
|
|
361
|
+
t24 = null;
|
|
370
362
|
break bb2;
|
|
371
363
|
}
|
|
372
364
|
if (currentItemId == null) {
|
|
373
|
-
|
|
365
|
+
t24 = blockDef.contentSchema;
|
|
374
366
|
break bb2;
|
|
375
367
|
}
|
|
376
|
-
let
|
|
377
|
-
if ($[
|
|
378
|
-
|
|
379
|
-
$[
|
|
380
|
-
$[
|
|
381
|
-
$[
|
|
382
|
-
$[
|
|
383
|
-
} else
|
|
384
|
-
|
|
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 =
|
|
387
|
-
let
|
|
388
|
-
if ($[
|
|
389
|
-
|
|
390
|
-
$[
|
|
391
|
-
$[
|
|
392
|
-
$[
|
|
393
|
-
} else
|
|
394
|
-
const currentItem =
|
|
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
|
|
388
|
+
let t26;
|
|
397
389
|
bb3: {
|
|
398
390
|
if (!currentItem) {
|
|
399
|
-
|
|
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
|
-
|
|
396
|
+
t26 = count;
|
|
405
397
|
}
|
|
406
|
-
const siblingCount =
|
|
407
|
-
const
|
|
408
|
-
const
|
|
409
|
-
const
|
|
410
|
-
const
|
|
411
|
-
let
|
|
412
|
-
if ($[
|
|
413
|
-
|
|
414
|
-
blockId:
|
|
415
|
-
fieldName:
|
|
416
|
-
parentItemId:
|
|
417
|
-
arraySchema:
|
|
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
|
-
$[
|
|
421
|
-
$[
|
|
422
|
-
$[
|
|
423
|
-
$[
|
|
424
|
-
$[
|
|
425
|
-
$[
|
|
426
|
-
} else
|
|
427
|
-
const { canAdd: canAddSibling, addItem: addSibling, canRemove: canRemoveCurrent, removeItem: removeCurrent } = useRepeatableItemActions(
|
|
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
|
|
422
|
+
let t32;
|
|
431
423
|
bb4: {
|
|
432
424
|
if (recordContent) {
|
|
433
|
-
let
|
|
434
|
-
if ($[
|
|
435
|
-
|
|
436
|
-
const [key, value] =
|
|
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
|
-
$[
|
|
440
|
-
$[
|
|
441
|
-
$[
|
|
442
|
-
} else
|
|
443
|
-
|
|
431
|
+
$[70] = recordContent;
|
|
432
|
+
$[71] = recordSchema;
|
|
433
|
+
$[72] = t33;
|
|
434
|
+
} else t33 = $[72];
|
|
435
|
+
t32 = t33;
|
|
444
436
|
break bb4;
|
|
445
437
|
}
|
|
446
|
-
let
|
|
447
|
-
if ($[
|
|
448
|
-
|
|
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
|
-
$[
|
|
464
|
-
$[
|
|
465
|
-
} else
|
|
466
|
-
const resolveFile =
|
|
455
|
+
$[73] = filesMap;
|
|
456
|
+
$[74] = t33;
|
|
457
|
+
} else t33 = $[74];
|
|
458
|
+
const resolveFile = t33;
|
|
467
459
|
let resolved_0;
|
|
468
|
-
if ($[
|
|
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
|
-
$[
|
|
483
|
-
$[
|
|
484
|
-
$[
|
|
485
|
-
} else resolved_0 = $[
|
|
486
|
-
|
|
474
|
+
$[75] = rawCurrentData;
|
|
475
|
+
$[76] = resolveFile;
|
|
476
|
+
$[77] = resolved_0;
|
|
477
|
+
} else resolved_0 = $[77];
|
|
478
|
+
t32 = resolved_0;
|
|
487
479
|
}
|
|
488
|
-
const currentData =
|
|
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
|
|
501
|
+
let t33;
|
|
510
502
|
bb5: {
|
|
511
503
|
if (recordForWrites) {
|
|
512
|
-
let
|
|
513
|
-
if ($[
|
|
514
|
-
|
|
504
|
+
let t34;
|
|
505
|
+
if ($[78] !== recordForWrites) {
|
|
506
|
+
t34 = {
|
|
515
507
|
kind: "record",
|
|
516
508
|
record: recordForWrites
|
|
517
509
|
};
|
|
518
|
-
$[
|
|
519
|
-
$[
|
|
520
|
-
} else
|
|
521
|
-
|
|
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
|
-
|
|
517
|
+
t33 = null;
|
|
526
518
|
break bb5;
|
|
527
519
|
}
|
|
528
520
|
if (currentItemId == null) {
|
|
529
|
-
let
|
|
530
|
-
if ($[
|
|
531
|
-
|
|
521
|
+
let t34;
|
|
522
|
+
if ($[80] !== blockIdForWrites) {
|
|
523
|
+
t34 = {
|
|
532
524
|
kind: "block",
|
|
533
525
|
blockId: blockIdForWrites
|
|
534
526
|
};
|
|
535
|
-
$[
|
|
536
|
-
$[
|
|
537
|
-
} else
|
|
538
|
-
|
|
527
|
+
$[80] = blockIdForWrites;
|
|
528
|
+
$[81] = t34;
|
|
529
|
+
} else t34 = $[81];
|
|
530
|
+
t33 = t34;
|
|
539
531
|
break bb5;
|
|
540
532
|
}
|
|
541
|
-
let
|
|
542
|
-
if ($[
|
|
543
|
-
|
|
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
|
-
$[
|
|
549
|
-
$[
|
|
550
|
-
$[
|
|
551
|
-
} else
|
|
552
|
-
|
|
540
|
+
$[82] = blockIdForWrites;
|
|
541
|
+
$[83] = currentItemId;
|
|
542
|
+
$[84] = t34;
|
|
543
|
+
} else t34 = $[84];
|
|
544
|
+
t33 = t34;
|
|
553
545
|
}
|
|
554
|
-
const writeField = useFieldWriter(
|
|
546
|
+
const writeField = useFieldWriter(t33, currentSchema);
|
|
555
547
|
const ancestorChain = currentItemId != null ? buildAncestorChain(currentItemId, itemsMap) : [];
|
|
556
548
|
if (!currentSchema || !recordView && (!block || !blockDef)) {
|
|
557
|
-
let
|
|
558
|
-
if ($[
|
|
559
|
-
|
|
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
|
-
$[
|
|
564
|
-
} else
|
|
565
|
-
return
|
|
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.
|
|
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.
|
|
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
|
|
643
|
-
const
|
|
644
|
-
const
|
|
645
|
-
const
|
|
646
|
-
const
|
|
647
|
-
const
|
|
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
|
|
699
|
-
if ($[
|
|
700
|
-
|
|
701
|
-
"aria-label":
|
|
702
|
-
className:
|
|
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:
|
|
705
|
-
children:
|
|
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] !==
|
|
713
|
-
t42 = /* @__PURE__ */ jsx(
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
$[
|
|
934
|
-
$[
|
|
935
|
-
$[
|
|
936
|
-
$[
|
|
937
|
-
$[
|
|
938
|
-
$[
|
|
939
|
-
$[
|
|
940
|
-
$[
|
|
941
|
-
$[
|
|
942
|
-
$[
|
|
943
|
-
$[
|
|
944
|
-
$[
|
|
945
|
-
$[
|
|
946
|
-
$[
|
|
947
|
-
$[
|
|
948
|
-
$[
|
|
949
|
-
$[
|
|
950
|
-
$[
|
|
951
|
-
$[
|
|
952
|
-
$[
|
|
953
|
-
$[
|
|
954
|
-
$[
|
|
955
|
-
$[
|
|
956
|
-
$[
|
|
957
|
-
$[
|
|
958
|
-
$[
|
|
959
|
-
$[
|
|
960
|
-
$[
|
|
961
|
-
$[
|
|
962
|
-
$[
|
|
963
|
-
$[
|
|
964
|
-
$[
|
|
965
|
-
$[
|
|
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
|
-
|
|
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];
|