@parhelia/core 0.1.12676 → 0.1.12705

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 (47) hide show
  1. package/dist/editor/client/EditorShell.js +22 -2
  2. package/dist/editor/client/EditorShell.js.map +1 -1
  3. package/dist/editor/client/editContext.d.ts +2 -0
  4. package/dist/editor/client/editContext.js.map +1 -1
  5. package/dist/editor/commands/itemCommands.js +4 -80
  6. package/dist/editor/commands/itemCommands.js.map +1 -1
  7. package/dist/editor/menubar/ItemLanguageVersion.js +1 -1
  8. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  9. package/dist/editor/menubar/VersionPreviewCard.d.ts +6 -0
  10. package/dist/editor/menubar/VersionPreviewCard.js +267 -0
  11. package/dist/editor/menubar/VersionPreviewCard.js.map +1 -0
  12. package/dist/editor/menubar/VersionSelector.d.ts +2 -1
  13. package/dist/editor/menubar/VersionSelector.js +50 -7
  14. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  15. package/dist/editor/menubar/toolbar-sections/ViewportControls.js +7 -2
  16. package/dist/editor/menubar/toolbar-sections/ViewportControls.js.map +1 -1
  17. package/dist/editor/page-editor-chrome/PageEditorChrome.js +2 -1
  18. package/dist/editor/page-editor-chrome/PageEditorChrome.js.map +1 -1
  19. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.d.ts +9 -0
  20. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js +184 -0
  21. package/dist/editor/page-editor-chrome/VersionDiffHighlightings.js.map +1 -0
  22. package/dist/editor/page-viewer/MiniMap.d.ts +2 -1
  23. package/dist/editor/page-viewer/MiniMap.js +3 -2
  24. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  25. package/dist/editor/page-viewer/PageViewerFrame.js +1 -1
  26. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  27. package/dist/editor/pageModel.d.ts +4 -0
  28. package/dist/editor/services/contentService.d.ts +10 -0
  29. package/dist/editor/services/contentService.js +6 -0
  30. package/dist/editor/services/contentService.js.map +1 -1
  31. package/dist/editor/ui/ExportItemsDialog.d.ts +10 -0
  32. package/dist/editor/ui/ExportItemsDialog.js +19 -0
  33. package/dist/editor/ui/ExportItemsDialog.js.map +1 -0
  34. package/dist/editor/ui/ImportItemsDialog.d.ts +10 -0
  35. package/dist/editor/ui/ImportItemsDialog.js +40 -0
  36. package/dist/editor/ui/ImportItemsDialog.js.map +1 -0
  37. package/dist/editor/version-diff/versionDiffHighlightStyles.d.ts +8 -0
  38. package/dist/editor/version-diff/versionDiffHighlightStyles.js +9 -0
  39. package/dist/editor/version-diff/versionDiffHighlightStyles.js.map +1 -0
  40. package/dist/editor/version-diff/versionDiffTargets.d.ts +48 -0
  41. package/dist/editor/version-diff/versionDiffTargets.js +284 -0
  42. package/dist/editor/version-diff/versionDiffTargets.js.map +1 -0
  43. package/dist/editor/views/CompareView.js +4 -4
  44. package/dist/editor/views/CompareView.js.map +1 -1
  45. package/dist/revision.d.ts +2 -2
  46. package/dist/revision.js +2 -2
  47. package/package.json +1 -1
@@ -426,6 +426,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
426
426
  const [suggestedEdits, setSuggestedEdits] = useState([]);
427
427
  const [showSuggestedEdits, setShowSuggestedEdits] = useState(false);
428
428
  const [showSuggestedEditsDiff, setShowSuggestedEditsDiff] = useState(false);
429
+ const [showVersionDiffHighlighting, setShowVersionDiffHighlighting] = useState(false);
429
430
  const [availableCommentTags, setAvailableCommentTags] = useState([]);
430
431
  const [showComments, setShowComments] = useState(() => {
431
432
  return localStorageService.getOrSetItem("editor.showComments", true);
@@ -2321,6 +2322,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2321
2322
  if (isExistingSlotActive) {
2322
2323
  setItem(loadedItem);
2323
2324
  setSelection([]);
2325
+ currentItemDescriptorRef.current = itemToLoad;
2324
2326
  setCurrentItemDescriptor(itemToLoad);
2325
2327
  if (options?.addToBrowseHistory ||
2326
2328
  options?.addToBrowseHistory === undefined) {
@@ -2401,6 +2403,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2401
2403
  if (shouldUpdateGlobalCurrentItem) {
2402
2404
  setItem(loadedItem);
2403
2405
  setSelection([]);
2406
+ currentItemDescriptorRef.current = itemToLoad;
2404
2407
  setCurrentItemDescriptor(itemToLoad);
2405
2408
  // History will be refreshed automatically by the useEffect watching currentItemDescriptor
2406
2409
  // Don't call loadHistory() here as it would override mode-aware history loading
@@ -2422,6 +2425,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2422
2425
  editorSlots,
2423
2426
  activeSlotId,
2424
2427
  item,
2428
+ workspaceId,
2425
2429
  ]);
2426
2430
  const setActiveSlot = useCallback(async (slotId) => {
2427
2431
  if (activeSlotId === slotId)
@@ -2439,6 +2443,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2439
2443
  // Slot already has its item loaded - just update global state without clearing selection
2440
2444
  // This avoids the unnecessary reload that would clear component selection
2441
2445
  setItem(alreadyLoadedItem);
2446
+ currentItemDescriptorRef.current = slot.itemDescriptor;
2442
2447
  setCurrentItemDescriptor(slot.itemDescriptor);
2443
2448
  // Don't call setSelection([]) - preserve the current selection
2444
2449
  }
@@ -2473,6 +2478,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2473
2478
  // No more slots, clear the active state
2474
2479
  activeSlotIdRef.current = null;
2475
2480
  setActiveSlotId(null);
2481
+ currentItemDescriptorRef.current = undefined;
2476
2482
  setCurrentItemDescriptor(undefined);
2477
2483
  setItem(undefined);
2478
2484
  }
@@ -2547,7 +2553,10 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2547
2553
  }
2548
2554
  setIsLoadingVersions(true);
2549
2555
  try {
2550
- const result = await getLanguagesAndVersions(currentItemDescriptorRef.current);
2556
+ const result = await getLanguagesAndVersions(currentItemDescriptorRef.current, {
2557
+ includePublishingRestrictions: true,
2558
+ includePublishingTargets: true,
2559
+ });
2551
2560
  if (!result?.data) {
2552
2561
  setItemVersions([]);
2553
2562
  setItemLanguages([]);
@@ -2858,8 +2867,17 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
2858
2867
  // Mark that we're pushing from switchWorkspace so the URL sync effect
2859
2868
  // will replaceState instead of pushing a second history entry.
2860
2869
  switchWorkspacePushedRef.current = true;
2870
+ const currentDescriptor = currentItemDescriptorRef.current;
2871
+ const currentItemUrlParams = targetWorkspaceId === "editor" && currentDescriptor
2872
+ ? {
2873
+ itemid: currentDescriptor.id,
2874
+ lang: currentDescriptor.language,
2875
+ version: currentDescriptor.version.toString(),
2876
+ }
2877
+ : {};
2861
2878
  updateUrl({
2862
2879
  workspace: targetWorkspaceId,
2880
+ ...currentItemUrlParams,
2863
2881
  ...options?.urlParams,
2864
2882
  });
2865
2883
  if (typeof document.startViewTransition === "function") {
@@ -3729,6 +3747,7 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3729
3747
  modifierWasPressedOnMouseDown = event.ctrlKey || event.metaKey;
3730
3748
  };
3731
3749
  const handleCtrlClick = async (event) => {
3750
+ const target = event.target;
3732
3751
  // Only proceed if Ctrl/Cmd was already pressed when the mouse interaction started.
3733
3752
  // This avoids accidental navigation when users press Ctrl after selecting text to copy.
3734
3753
  if (!modifierWasPressedOnMouseDown)
@@ -3737,7 +3756,6 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
3737
3756
  if (!event.ctrlKey && !event.metaKey)
3738
3757
  return;
3739
3758
  modifierWasPressedOnMouseDown = false;
3740
- const target = event.target;
3741
3759
  const text = getTextFromElement(target);
3742
3760
  if (text && isGuid(text)) {
3743
3761
  event.preventDefault();
@@ -4375,6 +4393,8 @@ export function EditorShell({ configuration, className, item: loadItemDescriptor
4375
4393
  setShowSuggestedEdits,
4376
4394
  showSuggestedEditsDiff,
4377
4395
  setShowSuggestedEditsDiff,
4396
+ showVersionDiffHighlighting,
4397
+ setShowVersionDiffHighlighting,
4378
4398
  enableCompletions,
4379
4399
  setEnableCompletions,
4380
4400
  showComponentNavigator,