@orion-studios/payload-studio 0.5.0-beta.95 → 0.5.0-beta.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/dist/admin/index.d.mts +2 -1
- package/dist/admin/index.d.ts +2 -1
- package/dist/admin/index.js +159 -0
- package/dist/admin/index.mjs +17 -1
- package/dist/{chunk-SHC2KLT3.mjs → chunk-C4J35SPJ.mjs} +2 -1
- package/dist/{chunk-H3UCUO3C.mjs → chunk-CKEUQCDC.mjs} +61 -3
- package/dist/{chunk-HCEPGEAI.mjs → chunk-YJPNN3O3.mjs} +98 -0
- package/dist/chunk-ZFJJQ4YK.mjs +69 -0
- package/dist/{index-CpG3UHcS.d.ts → index-BBUjXVqQ.d.ts} +16 -2
- package/dist/{index-CpG3UHcS.d.mts → index-CW02UDzl.d.mts} +16 -2
- package/dist/{index-cDYkEj29.d.ts → index-CodQ-io_.d.mts} +34 -2
- package/dist/{index-cDYkEj29.d.mts → index-D8RxRIh3.d.ts} +34 -2
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +208 -3
- package/dist/index.mjs +4 -3
- package/dist/nextjs/index.d.mts +2 -1
- package/dist/nextjs/index.d.ts +2 -1
- package/dist/nextjs/index.js +121 -4
- package/dist/nextjs/index.mjs +7 -4
- package/dist/socialMedia-CXaTwojP.d.mts +21 -0
- package/dist/socialMedia-CXaTwojP.d.ts +21 -0
- package/dist/studio-pages/client.js +80 -66
- package/dist/studio-pages/client.mjs +67 -53
- package/dist/studio-pages/index.js +2 -1
- package/dist/studio-pages/index.mjs +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "../chunk-ROTPP5CU.mjs";
|
|
7
7
|
|
|
8
8
|
// src/studio-pages/builder/BuilderPageEditor.tsx
|
|
9
|
-
import { useCallback, useEffect as
|
|
9
|
+
import { useCallback, useEffect as useEffect5, useMemo as useMemo2, useRef as useRef2, useState as useState6 } from "react";
|
|
10
10
|
|
|
11
11
|
// src/blocks/blocks/sectionStyleFields.ts
|
|
12
12
|
var sectionStyleDefaults = {
|
|
@@ -343,19 +343,33 @@ var resolveTypographyStyleFromSettings = (settings) => {
|
|
|
343
343
|
};
|
|
344
344
|
|
|
345
345
|
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
346
|
-
import { useMemo, useState } from "react";
|
|
346
|
+
import { useMemo, useState as useState2 } from "react";
|
|
347
347
|
|
|
348
348
|
// src/studio-pages/builder/ui/Accordion.tsx
|
|
349
|
+
import { useEffect, useState } from "react";
|
|
349
350
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
350
351
|
function Accordion({ children, defaultOpen = false, onToggle, open, subtitle, title }) {
|
|
351
352
|
const controlled = typeof open === "boolean";
|
|
352
|
-
const
|
|
353
|
+
const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);
|
|
354
|
+
useEffect(() => {
|
|
355
|
+
if (!controlled) {
|
|
356
|
+
setUncontrolledOpen(defaultOpen);
|
|
357
|
+
}
|
|
358
|
+
}, [controlled, defaultOpen]);
|
|
359
|
+
const isOpen = controlled ? open : uncontrolledOpen;
|
|
360
|
+
const handleToggle = () => {
|
|
361
|
+
const next = !isOpen;
|
|
362
|
+
if (!controlled) {
|
|
363
|
+
setUncontrolledOpen(next);
|
|
364
|
+
}
|
|
365
|
+
onToggle?.(next);
|
|
366
|
+
};
|
|
353
367
|
return /* @__PURE__ */ jsxs("article", { className: "orion-builder-settings-group", children: [
|
|
354
368
|
/* @__PURE__ */ jsxs(
|
|
355
369
|
"button",
|
|
356
370
|
{
|
|
357
371
|
className: "orion-builder-settings-group-header",
|
|
358
|
-
onClick:
|
|
372
|
+
onClick: handleToggle,
|
|
359
373
|
type: "button",
|
|
360
374
|
children: [
|
|
361
375
|
/* @__PURE__ */ jsxs("span", { className: "orion-builder-settings-group-title-wrap", children: [
|
|
@@ -1012,7 +1026,7 @@ function BlockInspectorRenderer({
|
|
|
1012
1026
|
onUpdateSetting,
|
|
1013
1027
|
searchQuery
|
|
1014
1028
|
}) {
|
|
1015
|
-
const [expandedGroups, setExpandedGroups] =
|
|
1029
|
+
const [expandedGroups, setExpandedGroups] = useState2({
|
|
1016
1030
|
advanced: false,
|
|
1017
1031
|
basics: false,
|
|
1018
1032
|
layout: false,
|
|
@@ -1545,15 +1559,15 @@ var layoutToStudioDocument = (layout, title, metadata) => {
|
|
|
1545
1559
|
};
|
|
1546
1560
|
|
|
1547
1561
|
// src/studio-pages/builder/hooks/usePersistentSidebarPanel.ts
|
|
1548
|
-
import { useEffect, useState as
|
|
1562
|
+
import { useEffect as useEffect2, useState as useState3 } from "react";
|
|
1549
1563
|
|
|
1550
1564
|
// src/studio-pages/builder/sidebar/types.ts
|
|
1551
1565
|
var isSidebarPanelKey = (value) => value === "pageDefaults" || value === "addSections" || value === "selected";
|
|
1552
1566
|
|
|
1553
1567
|
// src/studio-pages/builder/hooks/usePersistentSidebarPanel.ts
|
|
1554
1568
|
function usePersistentSidebarPanel(pageID) {
|
|
1555
|
-
const [activeSidebarPanel, setActiveSidebarPanel] =
|
|
1556
|
-
|
|
1569
|
+
const [activeSidebarPanel, setActiveSidebarPanel] = useState3("selected");
|
|
1570
|
+
useEffect2(() => {
|
|
1557
1571
|
const storageKey = `orion-builder-panels:${pageID}`;
|
|
1558
1572
|
const raw = window.localStorage.getItem(storageKey);
|
|
1559
1573
|
if (!raw) {
|
|
@@ -1579,7 +1593,7 @@ function usePersistentSidebarPanel(pageID) {
|
|
|
1579
1593
|
} catch {
|
|
1580
1594
|
}
|
|
1581
1595
|
}, [pageID]);
|
|
1582
|
-
|
|
1596
|
+
useEffect2(() => {
|
|
1583
1597
|
const storageKey = `orion-builder-panels:${pageID}`;
|
|
1584
1598
|
window.localStorage.setItem(storageKey, JSON.stringify({ activePanel: activeSidebarPanel }));
|
|
1585
1599
|
}, [activeSidebarPanel, pageID]);
|
|
@@ -1851,7 +1865,7 @@ function clonePresetBlocks(blocks) {
|
|
|
1851
1865
|
}
|
|
1852
1866
|
|
|
1853
1867
|
// src/studio-pages/builder/ui/InlineText.tsx
|
|
1854
|
-
import { useEffect as
|
|
1868
|
+
import { useEffect as useEffect3, useRef, useState as useState4 } from "react";
|
|
1855
1869
|
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
1856
1870
|
function InlineText({
|
|
1857
1871
|
as = "p",
|
|
@@ -1862,7 +1876,7 @@ function InlineText({
|
|
|
1862
1876
|
style,
|
|
1863
1877
|
value
|
|
1864
1878
|
}) {
|
|
1865
|
-
const [editing, setEditing] =
|
|
1879
|
+
const [editing, setEditing] = useState4(false);
|
|
1866
1880
|
const editableRef = useRef(null);
|
|
1867
1881
|
const Tag = as;
|
|
1868
1882
|
const normalizeValue = (raw) => {
|
|
@@ -1871,7 +1885,7 @@ function InlineText({
|
|
|
1871
1885
|
}
|
|
1872
1886
|
return raw.replace(/\r?\n/g, " ").replace(/\s+/g, " ").trim();
|
|
1873
1887
|
};
|
|
1874
|
-
|
|
1888
|
+
useEffect3(() => {
|
|
1875
1889
|
if (!editing || !editableRef.current) {
|
|
1876
1890
|
return;
|
|
1877
1891
|
}
|
|
@@ -1949,7 +1963,7 @@ function UploadOverlay({ label = "Uploading image..." }) {
|
|
|
1949
1963
|
}
|
|
1950
1964
|
|
|
1951
1965
|
// src/studio-pages/builder/ui/BlockFrame.tsx
|
|
1952
|
-
import { useEffect as
|
|
1966
|
+
import { useEffect as useEffect4, useState as useState5 } from "react";
|
|
1953
1967
|
import { jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1954
1968
|
function BlockFrame({
|
|
1955
1969
|
children,
|
|
@@ -1961,14 +1975,14 @@ function BlockFrame({
|
|
|
1961
1975
|
selected,
|
|
1962
1976
|
setDragIndex
|
|
1963
1977
|
}) {
|
|
1964
|
-
const [dropPosition, setDropPosition] =
|
|
1965
|
-
const [dropHovered, setDropHovered] =
|
|
1978
|
+
const [dropPosition, setDropPosition] = useState5(null);
|
|
1979
|
+
const [dropHovered, setDropHovered] = useState5(false);
|
|
1966
1980
|
const isDragging = dragIndex === index;
|
|
1967
1981
|
const isAnyDragging = dragIndex !== null;
|
|
1968
1982
|
const isDropTarget = dragIndex !== null && dragIndex !== index && dropPosition !== null;
|
|
1969
1983
|
const showDropBefore = isDropTarget && dropPosition === "before";
|
|
1970
1984
|
const showDropAfter = isDropTarget && dropPosition === "after";
|
|
1971
|
-
|
|
1985
|
+
useEffect4(() => {
|
|
1972
1986
|
if (dragIndex === null) {
|
|
1973
1987
|
setDropPosition(null);
|
|
1974
1988
|
setDropHovered(false);
|
|
@@ -3899,31 +3913,31 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
3899
3913
|
pageWidthDefault: sourceMetadata.pageWidthDefault === "wide" || sourceMetadata.pageWidthDefault === "full" ? sourceMetadata.pageWidthDefault : defaultPageDefaults.pageWidthDefault,
|
|
3900
3914
|
themePage: isRecord6(sourceThemePage.page) ? sourceThemePage.page : {}
|
|
3901
3915
|
};
|
|
3902
|
-
const [layout, setLayout] =
|
|
3916
|
+
const [layout, setLayout] = useState6(
|
|
3903
3917
|
migrateLayoutToSettingsV2(cloneBlockLayout(initialLayout).map((block) => withSectionStyleDefaults2(block)))
|
|
3904
3918
|
);
|
|
3905
|
-
const [pageDefaults, setPageDefaults] =
|
|
3906
|
-
const [selectedIndex, setSelectedIndex] =
|
|
3907
|
-
const [dragIndex, setDragIndex] =
|
|
3908
|
-
const [sidebarOpen, setSidebarOpen] =
|
|
3909
|
-
const [savingStatus, setSavingStatus] =
|
|
3910
|
-
const [uploadingTarget, setUploadingTarget] =
|
|
3911
|
-
const [topViewportHeight, setTopViewportHeight] =
|
|
3912
|
-
const [uploadError, setUploadError] =
|
|
3913
|
-
const [uploadMessage, setUploadMessage] =
|
|
3914
|
-
const [uploadAltText, setUploadAltText] =
|
|
3915
|
-
const [mediaLibrary, setMediaLibrary] =
|
|
3916
|
-
const [mediaLibraryError, setMediaLibraryError] =
|
|
3917
|
-
const [mediaLibraryLoading, setMediaLibraryLoading] =
|
|
3918
|
-
const [selectedItemIndex, setSelectedItemIndex] =
|
|
3919
|
-
const [expandedItemIndex, setExpandedItemIndex] =
|
|
3920
|
-
const [testimonialsOffsets, setTestimonialsOffsets] =
|
|
3921
|
-
const [presetQuery, setPresetQuery] =
|
|
3922
|
-
const [sessionExpired, setSessionExpired] =
|
|
3923
|
-
const [pastSnapshots, setPastSnapshots] =
|
|
3924
|
-
const [futureSnapshots, setFutureSnapshots] =
|
|
3925
|
-
const [settingsPanelMode, setSettingsPanelMode] =
|
|
3926
|
-
const [settingsSearchQuery, setSettingsSearchQuery] =
|
|
3919
|
+
const [pageDefaults, setPageDefaults] = useState6(clonePageDefaults(initialPageDefaults));
|
|
3920
|
+
const [selectedIndex, setSelectedIndex] = useState6(null);
|
|
3921
|
+
const [dragIndex, setDragIndex] = useState6(null);
|
|
3922
|
+
const [sidebarOpen, setSidebarOpen] = useState6(true);
|
|
3923
|
+
const [savingStatus, setSavingStatus] = useState6(null);
|
|
3924
|
+
const [uploadingTarget, setUploadingTarget] = useState6(null);
|
|
3925
|
+
const [topViewportHeight, setTopViewportHeight] = useState6(null);
|
|
3926
|
+
const [uploadError, setUploadError] = useState6("");
|
|
3927
|
+
const [uploadMessage, setUploadMessage] = useState6("");
|
|
3928
|
+
const [uploadAltText, setUploadAltText] = useState6("");
|
|
3929
|
+
const [mediaLibrary, setMediaLibrary] = useState6([]);
|
|
3930
|
+
const [mediaLibraryError, setMediaLibraryError] = useState6("");
|
|
3931
|
+
const [mediaLibraryLoading, setMediaLibraryLoading] = useState6(false);
|
|
3932
|
+
const [selectedItemIndex, setSelectedItemIndex] = useState6(null);
|
|
3933
|
+
const [expandedItemIndex, setExpandedItemIndex] = useState6(null);
|
|
3934
|
+
const [testimonialsOffsets, setTestimonialsOffsets] = useState6({});
|
|
3935
|
+
const [presetQuery, setPresetQuery] = useState6("");
|
|
3936
|
+
const [sessionExpired, setSessionExpired] = useState6(false);
|
|
3937
|
+
const [pastSnapshots, setPastSnapshots] = useState6([]);
|
|
3938
|
+
const [futureSnapshots, setFutureSnapshots] = useState6([]);
|
|
3939
|
+
const [settingsPanelMode, setSettingsPanelMode] = useState6("basic");
|
|
3940
|
+
const [settingsSearchQuery, setSettingsSearchQuery] = useState6("");
|
|
3927
3941
|
const { activeSidebarPanel, setActiveSidebarPanel } = usePersistentSidebarPanel(pageID);
|
|
3928
3942
|
const historyBypassRef = useRef2(true);
|
|
3929
3943
|
const previousSnapshotRef = useRef2({
|
|
@@ -3994,10 +4008,10 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
3994
4008
|
setMediaLibraryLoading(false);
|
|
3995
4009
|
}
|
|
3996
4010
|
}, []);
|
|
3997
|
-
|
|
4011
|
+
useEffect5(() => {
|
|
3998
4012
|
void loadMediaLibrary();
|
|
3999
4013
|
}, [loadMediaLibrary]);
|
|
4000
|
-
|
|
4014
|
+
useEffect5(() => {
|
|
4001
4015
|
const refreshMediaLibrary = () => {
|
|
4002
4016
|
void loadMediaLibrary();
|
|
4003
4017
|
};
|
|
@@ -4022,7 +4036,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4022
4036
|
document.removeEventListener("visibilitychange", onVisibilityChange);
|
|
4023
4037
|
};
|
|
4024
4038
|
}, [loadMediaLibrary]);
|
|
4025
|
-
|
|
4039
|
+
useEffect5(() => {
|
|
4026
4040
|
let active = true;
|
|
4027
4041
|
const checkSession = async () => {
|
|
4028
4042
|
try {
|
|
@@ -4661,7 +4675,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4661
4675
|
}),
|
|
4662
4676
|
[layout, pageDefaults]
|
|
4663
4677
|
);
|
|
4664
|
-
|
|
4678
|
+
useEffect5(() => {
|
|
4665
4679
|
const readTopViewportHeight = () => {
|
|
4666
4680
|
if (typeof window === "undefined") {
|
|
4667
4681
|
setTopViewportHeight(null);
|
|
@@ -4820,14 +4834,14 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4820
4834
|
setSavingStatus(null);
|
|
4821
4835
|
}
|
|
4822
4836
|
};
|
|
4823
|
-
|
|
4837
|
+
useEffect5(() => {
|
|
4824
4838
|
if (selectedIndex === null) {
|
|
4825
4839
|
return;
|
|
4826
4840
|
}
|
|
4827
4841
|
setSidebarOpen(true);
|
|
4828
4842
|
setActiveSidebarPanel("selected");
|
|
4829
4843
|
}, [selectedIndex]);
|
|
4830
|
-
|
|
4844
|
+
useEffect5(() => {
|
|
4831
4845
|
if (selectedIndex === null) {
|
|
4832
4846
|
setSelectedItemIndex(null);
|
|
4833
4847
|
setExpandedItemIndex(null);
|
|
@@ -4845,7 +4859,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4845
4859
|
(current) => typeof current === "number" && current >= 0 && current < selectedItems.length ? current : 0
|
|
4846
4860
|
);
|
|
4847
4861
|
}, [selectedIndex, selectedItems.length]);
|
|
4848
|
-
|
|
4862
|
+
useEffect5(() => {
|
|
4849
4863
|
if (layout.length > 0) {
|
|
4850
4864
|
return;
|
|
4851
4865
|
}
|
|
@@ -4942,10 +4956,10 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4942
4956
|
positionX: parsePercentNumber(selectedItemRecord.imagePositionX, 50),
|
|
4943
4957
|
positionY: parsePercentNumber(selectedItemRecord.imagePositionY, 50)
|
|
4944
4958
|
} : void 0;
|
|
4945
|
-
|
|
4959
|
+
useEffect5(() => {
|
|
4946
4960
|
return;
|
|
4947
4961
|
}, [layout]);
|
|
4948
|
-
|
|
4962
|
+
useEffect5(() => {
|
|
4949
4963
|
if (historyBypassRef.current) {
|
|
4950
4964
|
historyBypassRef.current = false;
|
|
4951
4965
|
previousSnapshotRef.current = cloneSnapshot(currentSnapshot);
|
|
@@ -4956,7 +4970,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4956
4970
|
setFutureSnapshots([]);
|
|
4957
4971
|
previousSnapshotRef.current = cloneSnapshot(currentSnapshot);
|
|
4958
4972
|
}, [currentSnapshot]);
|
|
4959
|
-
|
|
4973
|
+
useEffect5(() => {
|
|
4960
4974
|
const onKeyDown = (event) => {
|
|
4961
4975
|
const key = event.key.toLowerCase();
|
|
4962
4976
|
const isUndo = (event.metaKey || event.ctrlKey) && key === "z" && !event.shiftKey;
|
|
@@ -4974,7 +4988,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4974
4988
|
window.addEventListener("keydown", onKeyDown);
|
|
4975
4989
|
return () => window.removeEventListener("keydown", onKeyDown);
|
|
4976
4990
|
}, [canRedo, canUndo, futureSnapshots, pastSnapshots, currentSnapshot]);
|
|
4977
|
-
|
|
4991
|
+
useEffect5(() => {
|
|
4978
4992
|
window.parent?.postMessage(
|
|
4979
4993
|
{
|
|
4980
4994
|
dirty: isDirty,
|
|
@@ -4984,7 +4998,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4984
4998
|
"*"
|
|
4985
4999
|
);
|
|
4986
5000
|
}, [isDirty]);
|
|
4987
|
-
|
|
5001
|
+
useEffect5(() => {
|
|
4988
5002
|
window.parent?.postMessage(
|
|
4989
5003
|
{
|
|
4990
5004
|
canRedo,
|
|
@@ -4995,7 +5009,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
4995
5009
|
"*"
|
|
4996
5010
|
);
|
|
4997
5011
|
}, [canRedo, canUndo]);
|
|
4998
|
-
|
|
5012
|
+
useEffect5(() => {
|
|
4999
5013
|
const onMessage = (event) => {
|
|
5000
5014
|
const data = event.data;
|
|
5001
5015
|
if (!data || data.source !== "payload-visual-builder-parent") {
|
|
@@ -5048,7 +5062,7 @@ function BuilderPageEditor({ featureFlags: _featureFlags, initialDoc, pageID, si
|
|
|
5048
5062
|
window.addEventListener("message", onMessage);
|
|
5049
5063
|
return () => window.removeEventListener("message", onMessage);
|
|
5050
5064
|
}, [canRedo, canUndo, isDirty, layout, pageDefaults.pageWidthDefault, title]);
|
|
5051
|
-
|
|
5065
|
+
useEffect5(() => {
|
|
5052
5066
|
const preventNavigationWhileEditing = (event) => {
|
|
5053
5067
|
const editorRoot = editorRootRef.current;
|
|
5054
5068
|
if (!editorRoot) {
|
|
@@ -355,9 +355,10 @@ var resolveBuilderThemeTokens = (layers) => {
|
|
|
355
355
|
};
|
|
356
356
|
|
|
357
357
|
// src/studio-pages/builder/settings-v2/BlockInspectorRenderer.tsx
|
|
358
|
-
var
|
|
358
|
+
var import_react2 = require("react");
|
|
359
359
|
|
|
360
360
|
// src/studio-pages/builder/ui/Accordion.tsx
|
|
361
|
+
var import_react = require("react");
|
|
361
362
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
362
363
|
|
|
363
364
|
// src/studio-pages/builder/ui/ImageControls.tsx
|