@payloadcms/ui 3.57.0-canary.5 → 3.57.0-canary.6
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/elements/LivePreview/IFrame/index.d.ts +1 -7
- package/dist/elements/LivePreview/IFrame/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/IFrame/index.js +39 -18
- package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +135 -61
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/SearchBar/index.scss +4 -0
- package/dist/exports/client/index.js +12 -12
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/rsc/index.d.ts +1 -0
- package/dist/exports/rsc/index.d.ts.map +1 -1
- package/dist/exports/rsc/index.js +1 -0
- package/dist/exports/rsc/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +2 -2
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +17 -2
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +3 -2
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts +2 -2
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +33 -19
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/buildFormState.d.ts +2 -0
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +20 -1
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAbsoluteURL.d.ts +8 -0
- package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -0
- package/dist/utilities/formatAbsoluteURL.js +15 -0
- package/dist/utilities/formatAbsoluteURL.js.map +1 -0
- package/dist/utilities/handleLivePreview.d.ts +58 -0
- package/dist/utilities/handleLivePreview.d.ts.map +1 -0
- package/dist/utilities/handleLivePreview.js +96 -0
- package/dist/utilities/handleLivePreview.js.map +1 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +17 -10
- package/dist/views/Edit/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import './index.scss';
|
|
3
|
-
|
|
4
|
-
ref: React.RefObject<HTMLIFrameElement>;
|
|
5
|
-
setIframeHasLoaded: (value: boolean) => void;
|
|
6
|
-
url: string;
|
|
7
|
-
};
|
|
8
|
-
export declare const IFrame: React.FC<Props>;
|
|
9
|
-
export {};
|
|
3
|
+
export declare const IFrame: React.FC;
|
|
10
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/IFrame/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/IFrame/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAkB1B,CAAA"}
|
|
@@ -1,30 +1,51 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
5
|
import React from 'react';
|
|
5
6
|
import { useLivePreviewContext } from '../../../providers/LivePreview/context.js';
|
|
6
7
|
import './index.scss';
|
|
7
8
|
const baseClass = 'live-preview-iframe';
|
|
8
|
-
export const IFrame =
|
|
9
|
-
const
|
|
10
|
-
ref,
|
|
11
|
-
setIframeHasLoaded,
|
|
12
|
-
url
|
|
13
|
-
} = props;
|
|
9
|
+
export const IFrame = () => {
|
|
10
|
+
const $ = _c(8);
|
|
14
11
|
const {
|
|
12
|
+
iframeRef,
|
|
13
|
+
setLoadedURL,
|
|
14
|
+
url,
|
|
15
15
|
zoom
|
|
16
16
|
} = useLivePreviewContext();
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
17
|
+
let t0;
|
|
18
|
+
if ($[0] !== setLoadedURL || $[1] !== url) {
|
|
19
|
+
t0 = () => {
|
|
20
|
+
setLoadedURL(url);
|
|
21
|
+
};
|
|
22
|
+
$[0] = setLoadedURL;
|
|
23
|
+
$[1] = url;
|
|
24
|
+
$[2] = t0;
|
|
25
|
+
} else {
|
|
26
|
+
t0 = $[2];
|
|
27
|
+
}
|
|
28
|
+
const t1 = typeof zoom === "number" ? `scale(${zoom}) ` : undefined;
|
|
29
|
+
let t2;
|
|
30
|
+
if ($[3] !== iframeRef || $[4] !== t0 || $[5] !== t1 || $[6] !== url) {
|
|
31
|
+
t2 = _jsx("iframe", {
|
|
32
|
+
className: baseClass,
|
|
33
|
+
onLoad: t0,
|
|
34
|
+
ref: iframeRef,
|
|
35
|
+
src: url,
|
|
36
|
+
style: {
|
|
37
|
+
transform: t1
|
|
38
|
+
},
|
|
39
|
+
title: url
|
|
40
|
+
}, url);
|
|
41
|
+
$[3] = iframeRef;
|
|
42
|
+
$[4] = t0;
|
|
43
|
+
$[5] = t1;
|
|
44
|
+
$[6] = url;
|
|
45
|
+
$[7] = t2;
|
|
46
|
+
} else {
|
|
47
|
+
t2 = $[7];
|
|
48
|
+
}
|
|
49
|
+
return t2;
|
|
29
50
|
};
|
|
30
51
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useLivePreviewContext","baseClass","IFrame","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","useLivePreviewContext","baseClass","IFrame","$","iframeRef","setLoadedURL","url","zoom","t0","t1","undefined","t2","_jsx","className","onLoad","ref","src","style","transform","title"],"sources":["../../../../src/elements/LivePreview/IFrame/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-iframe'\n\nexport const IFrame: React.FC = () => {\n const { iframeRef, setLoadedURL, url, zoom } = useLivePreviewContext()\n\n return (\n <iframe\n className={baseClass}\n key={url}\n onLoad={() => {\n setLoadedURL(url)\n }}\n ref={iframeRef}\n src={url}\n style={{\n transform: typeof zoom === 'number' ? `scale(${zoom}) ` : undefined,\n }}\n title={url}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,MAAA,GAAmBA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EAC9B;IAAAM,SAAA;IAAAC,YAAA;IAAAC,GAAA;IAAAC;EAAA,IAA+CP,qBAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAL,CAAA,QAAAE,YAAA,IAAAF,CAAA,QAAAG,GAAA;IAMnCE,EAAA,GAAAA,CAAA;MACNH,YAAA,CAAaC,GAAA;IAAA;IACfH,CAAA,MAAAE,YAAA;IAAAF,CAAA,MAAAG,GAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAIa,MAAAM,EAAA,UAAOF,IAAA,KAAS,WAAW,SAASA,IAAA,IAAQ,GAAAG,SAAG;EAAA,IAAAC,EAAA;EAAA,IAAAR,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAG,GAAA;IAT9DK,EAAA,GAAAC,IAAA,CAAC;MAAAC,SAAA,EAAAZ,SAAA;MAAAa,MAAA,EAGSN,EAER;MAAAO,GAAA,EACKX,SAAA;MAAAY,GAAA,EACAV,GAAA;MAAAW,KAAA;QAAAC,SAAA,EAEQT;MAA+C;MAAAU,KAAA,EAErDb;IAAA,GATFA,GAAA;IAAAH,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAG,GAAA;IAAAH,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,OAFPQ,EAEO;AAAA,CAYX","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,KAAoB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,KAAoB,MAAM,OAAO,CAAA;AAWxC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwHrD,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
3
4
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
5
|
import { reduceFieldsToValues } from 'payload/shared';
|
|
5
6
|
import React, { useEffect } from 'react';
|
|
@@ -10,20 +11,20 @@ import { useLivePreviewContext } from '../../../providers/LivePreview/context.js
|
|
|
10
11
|
import { useLocale } from '../../../providers/Locale/index.js';
|
|
11
12
|
import { ShimmerEffect } from '../../ShimmerEffect/index.js';
|
|
12
13
|
import { DeviceContainer } from '../Device/index.js';
|
|
13
|
-
import './index.scss';
|
|
14
14
|
import { IFrame } from '../IFrame/index.js';
|
|
15
15
|
import { LivePreviewToolbar } from '../Toolbar/index.js';
|
|
16
|
+
import './index.scss';
|
|
16
17
|
const baseClass = 'live-preview-window';
|
|
17
18
|
export const LivePreviewWindow = props => {
|
|
19
|
+
const $ = _c(49);
|
|
18
20
|
const {
|
|
19
21
|
appIsReady,
|
|
20
22
|
breakpoint,
|
|
21
|
-
iframeHasLoaded,
|
|
22
23
|
iframeRef,
|
|
23
24
|
isLivePreviewing,
|
|
25
|
+
loadedURL,
|
|
24
26
|
popupRef,
|
|
25
27
|
previewWindowType,
|
|
26
|
-
setIframeHasLoaded,
|
|
27
28
|
url
|
|
28
29
|
} = useLivePreviewContext();
|
|
29
30
|
const locale = useLocale();
|
|
@@ -36,78 +37,151 @@ export const LivePreviewWindow = props => {
|
|
|
36
37
|
collectionSlug,
|
|
37
38
|
globalSlug
|
|
38
39
|
} = useDocumentInfo();
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
let t0;
|
|
41
|
+
if ($[0] !== appIsReady || $[1] !== collectionSlug || $[2] !== formState || $[3] !== globalSlug || $[4] !== id || $[5] !== iframeRef || $[6] !== isLivePreviewing || $[7] !== locale || $[8] !== mostRecentUpdate || $[9] !== popupRef || $[10] !== previewWindowType || $[11] !== url) {
|
|
42
|
+
t0 = () => {
|
|
43
|
+
if (!isLivePreviewing || !appIsReady) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (formState) {
|
|
47
|
+
const values = reduceFieldsToValues(formState, true);
|
|
48
|
+
if (!values.id) {
|
|
49
|
+
values.id = id;
|
|
50
|
+
}
|
|
51
|
+
const message = {
|
|
52
|
+
type: "payload-live-preview",
|
|
53
|
+
collectionSlug,
|
|
54
|
+
data: values,
|
|
55
|
+
externallyUpdatedRelationship: mostRecentUpdate,
|
|
56
|
+
globalSlug,
|
|
57
|
+
locale: locale.code
|
|
58
|
+
};
|
|
59
|
+
if (previewWindowType === "popup" && popupRef.current) {
|
|
60
|
+
popupRef.current.postMessage(message, url);
|
|
61
|
+
}
|
|
62
|
+
if (previewWindowType === "iframe" && iframeRef.current) {
|
|
63
|
+
iframeRef.current.contentWindow?.postMessage(message, url);
|
|
64
|
+
}
|
|
52
65
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
66
|
+
};
|
|
67
|
+
$[0] = appIsReady;
|
|
68
|
+
$[1] = collectionSlug;
|
|
69
|
+
$[2] = formState;
|
|
70
|
+
$[3] = globalSlug;
|
|
71
|
+
$[4] = id;
|
|
72
|
+
$[5] = iframeRef;
|
|
73
|
+
$[6] = isLivePreviewing;
|
|
74
|
+
$[7] = locale;
|
|
75
|
+
$[8] = mostRecentUpdate;
|
|
76
|
+
$[9] = popupRef;
|
|
77
|
+
$[10] = previewWindowType;
|
|
78
|
+
$[11] = url;
|
|
79
|
+
$[12] = t0;
|
|
80
|
+
} else {
|
|
81
|
+
t0 = $[12];
|
|
82
|
+
}
|
|
83
|
+
let t1;
|
|
84
|
+
if ($[13] !== appIsReady || $[14] !== collectionSlug || $[15] !== formState || $[16] !== globalSlug || $[17] !== id || $[18] !== iframeRef || $[19] !== isLivePreviewing || $[20] !== loadedURL || $[21] !== locale || $[22] !== mostRecentUpdate || $[23] !== popupRef || $[24] !== previewWindowType || $[25] !== url) {
|
|
85
|
+
t1 = [formState, url, collectionSlug, globalSlug, id, previewWindowType, popupRef, appIsReady, iframeRef, mostRecentUpdate, locale, isLivePreviewing, loadedURL];
|
|
86
|
+
$[13] = appIsReady;
|
|
87
|
+
$[14] = collectionSlug;
|
|
88
|
+
$[15] = formState;
|
|
89
|
+
$[16] = globalSlug;
|
|
90
|
+
$[17] = id;
|
|
91
|
+
$[18] = iframeRef;
|
|
92
|
+
$[19] = isLivePreviewing;
|
|
93
|
+
$[20] = loadedURL;
|
|
94
|
+
$[21] = locale;
|
|
95
|
+
$[22] = mostRecentUpdate;
|
|
96
|
+
$[23] = popupRef;
|
|
97
|
+
$[24] = previewWindowType;
|
|
98
|
+
$[25] = url;
|
|
99
|
+
$[26] = t1;
|
|
100
|
+
} else {
|
|
101
|
+
t1 = $[26];
|
|
102
|
+
}
|
|
103
|
+
useEffect(t0, t1);
|
|
104
|
+
let t2;
|
|
105
|
+
if ($[27] !== appIsReady || $[28] !== iframeRef || $[29] !== isLivePreviewing || $[30] !== popupRef || $[31] !== previewWindowType || $[32] !== url) {
|
|
106
|
+
t2 = () => {
|
|
107
|
+
if (!isLivePreviewing || !appIsReady) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const message_0 = {
|
|
111
|
+
type: "payload-document-event"
|
|
60
112
|
};
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
popupRef.current.postMessage(message, url);
|
|
113
|
+
if (previewWindowType === "popup" && popupRef.current) {
|
|
114
|
+
popupRef.current.postMessage(message_0, url);
|
|
64
115
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
iframeRef.current.contentWindow?.postMessage(message, url);
|
|
116
|
+
if (previewWindowType === "iframe" && iframeRef.current) {
|
|
117
|
+
iframeRef.current.contentWindow?.postMessage(message_0, url);
|
|
68
118
|
}
|
|
69
|
-
}
|
|
70
|
-
}, [formState, url, collectionSlug, globalSlug, iframeHasLoaded, id, previewWindowType, popupRef, appIsReady, iframeRef, setIframeHasLoaded, mostRecentUpdate, locale, isLivePreviewing]);
|
|
71
|
-
// To support SSR, we transmit a `window.postMessage` event without a payload
|
|
72
|
-
// This is because the event will ultimately trigger a server-side roundtrip
|
|
73
|
-
// i.e., save, save draft, autosave, etc. will fire `router.refresh()`
|
|
74
|
-
useEffect(() => {
|
|
75
|
-
if (!isLivePreviewing || !appIsReady) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const message_0 = {
|
|
79
|
-
type: 'payload-document-event'
|
|
80
119
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
120
|
+
$[27] = appIsReady;
|
|
121
|
+
$[28] = iframeRef;
|
|
122
|
+
$[29] = isLivePreviewing;
|
|
123
|
+
$[30] = popupRef;
|
|
124
|
+
$[31] = previewWindowType;
|
|
125
|
+
$[32] = url;
|
|
126
|
+
$[33] = t2;
|
|
127
|
+
} else {
|
|
128
|
+
t2 = $[33];
|
|
129
|
+
}
|
|
130
|
+
let t3;
|
|
131
|
+
if ($[34] !== appIsReady || $[35] !== iframeRef || $[36] !== isLivePreviewing || $[37] !== mostRecentUpdate || $[38] !== popupRef || $[39] !== previewWindowType || $[40] !== url) {
|
|
132
|
+
t3 = [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing, appIsReady];
|
|
133
|
+
$[34] = appIsReady;
|
|
134
|
+
$[35] = iframeRef;
|
|
135
|
+
$[36] = isLivePreviewing;
|
|
136
|
+
$[37] = mostRecentUpdate;
|
|
137
|
+
$[38] = popupRef;
|
|
138
|
+
$[39] = previewWindowType;
|
|
139
|
+
$[40] = url;
|
|
140
|
+
$[41] = t3;
|
|
141
|
+
} else {
|
|
142
|
+
t3 = $[41];
|
|
143
|
+
}
|
|
144
|
+
useEffect(t2, t3);
|
|
145
|
+
if (previewWindowType !== "iframe") {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
const t4 = isLivePreviewing && `${baseClass}--is-live-previewing`;
|
|
149
|
+
const t5 = breakpoint && breakpoint !== "responsive" && `${baseClass}--has-breakpoint`;
|
|
150
|
+
let t6;
|
|
151
|
+
if ($[42] !== t4 || $[43] !== t5) {
|
|
152
|
+
t6 = [baseClass, t4, t5].filter(Boolean);
|
|
153
|
+
$[42] = t4;
|
|
154
|
+
$[43] = t5;
|
|
155
|
+
$[44] = t6;
|
|
156
|
+
} else {
|
|
157
|
+
t6 = $[44];
|
|
158
|
+
}
|
|
159
|
+
const t7 = t6.join(" ");
|
|
160
|
+
let t8;
|
|
161
|
+
if ($[45] !== props || $[46] !== t7 || $[47] !== url) {
|
|
162
|
+
t8 = _jsx("div", {
|
|
163
|
+
className: t7,
|
|
164
|
+
children: _jsxs("div", {
|
|
94
165
|
className: `${baseClass}__wrapper`,
|
|
95
|
-
children: [
|
|
166
|
+
children: [_jsx(LivePreviewToolbar, {
|
|
96
167
|
...props
|
|
97
|
-
}),
|
|
168
|
+
}), _jsx("div", {
|
|
98
169
|
className: `${baseClass}__main`,
|
|
99
|
-
children:
|
|
100
|
-
children: url ?
|
|
101
|
-
ref: iframeRef,
|
|
102
|
-
setIframeHasLoaded: setIframeHasLoaded,
|
|
103
|
-
url: url
|
|
104
|
-
}) : /*#__PURE__*/_jsx(ShimmerEffect, {
|
|
170
|
+
children: _jsx(DeviceContainer, {
|
|
171
|
+
children: url ? _jsx(IFrame, {}) : _jsx(ShimmerEffect, {
|
|
105
172
|
height: "100%"
|
|
106
173
|
})
|
|
107
174
|
})
|
|
108
175
|
})]
|
|
109
176
|
})
|
|
110
177
|
});
|
|
178
|
+
$[45] = props;
|
|
179
|
+
$[46] = t7;
|
|
180
|
+
$[47] = url;
|
|
181
|
+
$[48] = t8;
|
|
182
|
+
} else {
|
|
183
|
+
t8 = $[48];
|
|
111
184
|
}
|
|
185
|
+
return t8;
|
|
112
186
|
};
|
|
113
187
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useDocumentInfo","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useDocumentInfo","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","$","appIsReady","breakpoint","iframeRef","isLivePreviewing","loadedURL","popupRef","previewWindowType","url","locale","mostRecentUpdate","formState","id","collectionSlug","globalSlug","t0","values","message","type","data","externallyUpdatedRelationship","code","current","postMessage","contentWindow","t1","t2","message_0","t3","t4","t5","t6","filter","Boolean","t7","join","t8","_jsx","className","children","_jsxs","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n iframeRef,\n isLivePreviewing,\n loadedURL,\n popupRef,\n previewWindowType,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const [formState] = useAllFormFields()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n /**\n * For client-side apps, send data through `window.postMessage`\n * The preview could either be an iframe embedded on the page\n * Or it could be a separate popup window\n * We need to transmit data to both accordingly\n */\n useEffect(() => {\n if (!isLivePreviewing || !appIsReady) {\n return\n }\n\n // For performance, do not reduce fields to values until after the iframe or popup has loaded\n if (formState) {\n const values = reduceFieldsToValues(formState, true)\n\n if (!values.id) {\n values.id = id\n }\n\n const message = {\n type: 'payload-live-preview',\n collectionSlug,\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n globalSlug,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n collectionSlug,\n globalSlug,\n id,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n loadedURL,\n ])\n\n /**\n * To support SSR, we transmit a `window.postMessage` event without a payload\n * This is because the event will ultimately trigger a server-side roundtrip\n * i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n */\n useEffect(() => {\n if (!isLivePreviewing || !appIsReady) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing, appIsReady])\n\n if (previewWindowType !== 'iframe') {\n return null\n }\n\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>{url ? <IFrame /> : <ShimmerEffect height=\"100%\" />}</DeviceContainer>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|