@makeswift/runtime 0.0.10 → 0.0.13
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/actions.cjs.js +6 -1
- package/dist/actions.cjs.js.map +1 -1
- package/dist/actions.es.js +6 -2
- package/dist/actions.es.js.map +1 -1
- package/dist/builder.cjs.js +2 -0
- package/dist/builder.cjs.js.map +1 -1
- package/dist/builder.es.js +1 -1
- package/dist/components.cjs.js +5 -5
- package/dist/components.es.js +3 -5
- package/dist/components.es.js.map +1 -1
- package/dist/constants.cjs.js +128 -1
- package/dist/constants.cjs.js.map +1 -1
- package/dist/constants.es.js +128 -1
- package/dist/constants.es.js.map +1 -1
- package/dist/control-serialization.cjs.js +11 -3
- package/dist/control-serialization.cjs.js.map +1 -1
- package/dist/control-serialization.es.js +10 -4
- package/dist/control-serialization.es.js.map +1 -1
- package/dist/index.cjs.js +394 -60
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +387 -61
- package/dist/index.es.js.map +1 -1
- package/dist/next.cjs.js +30 -19
- package/dist/next.cjs.js.map +1 -1
- package/dist/next.es.js +31 -20
- package/dist/next.es.js.map +1 -1
- package/dist/react-builder-preview.cjs.js +44 -45
- package/dist/react-builder-preview.cjs.js.map +1 -1
- package/dist/react-builder-preview.es.js +44 -45
- package/dist/react-builder-preview.es.js.map +1 -1
- package/dist/react.cjs.js +2 -3
- package/dist/react.cjs.js.map +1 -1
- package/dist/react.es.js +2 -3
- package/dist/react.es.js.map +1 -1
- package/dist/text-input.cjs.js.map +1 -1
- package/dist/text-input.es.js.map +1 -1
- package/dist/types/api/constants.d.ts.map +1 -1
- package/dist/types/api/generated/graphql.d.ts +55 -0
- package/dist/types/api/generated/graphql.d.ts.map +1 -1
- package/dist/types/api/react.d.ts +2 -3
- package/dist/types/api/react.d.ts.map +1 -1
- package/dist/types/api/types.d.ts +2 -2
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/builder/serialization/control-serialization.d.ts +2 -0
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/builder/serialization/controls/list.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/components/page/Page.d.ts +23 -0
- package/dist/types/components/page/Page.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/controls/shape.d.ts +0 -1
- package/dist/types/controls/shape.d.ts.map +1 -1
- package/dist/types/next.d.ts +10 -5
- package/dist/types/next.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/state/actions.d.ts +13 -1
- package/dist/types/state/actions.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/package.json +2 -1
- package/dist/Page.cjs.js +0 -222
- package/dist/Page.cjs.js.map +0 -1
- package/dist/Page.es.js +0 -216
- package/dist/Page.es.js.map +0 -1
package/dist/next.cjs.js
CHANGED
|
@@ -26,7 +26,7 @@ var slate = require("slate");
|
|
|
26
26
|
var createEmotionServer = require("@emotion/server/create-instance");
|
|
27
27
|
var css = require("@emotion/css");
|
|
28
28
|
var index = require("./index.cjs.js");
|
|
29
|
-
var
|
|
29
|
+
var ssr = require("@apollo/client/react/ssr");
|
|
30
30
|
var jsxRuntime = require("react/jsx-runtime");
|
|
31
31
|
require("use-sync-external-store/shim/with-selector");
|
|
32
32
|
require("@apollo/client");
|
|
@@ -37,8 +37,6 @@ require("./actions.cjs.js");
|
|
|
37
37
|
require("./descriptors.cjs.js");
|
|
38
38
|
require("./style.cjs.js");
|
|
39
39
|
require("framer-motion");
|
|
40
|
-
require("@apollo/client/react/ssr");
|
|
41
|
-
require("uuid/v4");
|
|
42
40
|
require("html-react-parser");
|
|
43
41
|
require("next/head");
|
|
44
42
|
require("color");
|
|
@@ -46,6 +44,7 @@ require("scroll-into-view-if-needed");
|
|
|
46
44
|
require("next/link");
|
|
47
45
|
require("react-use-gesture");
|
|
48
46
|
require("@popmotion/popcorn");
|
|
47
|
+
require("uuid/v4");
|
|
49
48
|
require("next/image");
|
|
50
49
|
require("formik");
|
|
51
50
|
require("./box-models.cjs.js");
|
|
@@ -66,15 +65,31 @@ function _interopDefaultLegacy(e) {
|
|
|
66
65
|
var NextDocument__default = /* @__PURE__ */ _interopDefaultLegacy(NextDocument);
|
|
67
66
|
var createEmotionServer__default = /* @__PURE__ */ _interopDefaultLegacy(createEmotionServer);
|
|
68
67
|
class Document extends NextDocument__default["default"] {
|
|
68
|
+
constructor(props) {
|
|
69
|
+
super(props);
|
|
70
|
+
const {
|
|
71
|
+
__NEXT_DATA__,
|
|
72
|
+
cacheData
|
|
73
|
+
} = props;
|
|
74
|
+
__NEXT_DATA__.props.pageProps.cacheData = cacheData;
|
|
75
|
+
}
|
|
69
76
|
static async getInitialProps(ctx) {
|
|
70
77
|
const sheet = new styled.ServerStyleSheet();
|
|
71
78
|
const originalRenderPage = ctx.renderPage;
|
|
79
|
+
let appProps;
|
|
72
80
|
try {
|
|
73
81
|
ctx.renderPage = () => originalRenderPage({
|
|
74
|
-
enhanceApp: (App) => (props) =>
|
|
82
|
+
enhanceApp: (App) => (props) => {
|
|
83
|
+
if (appProps == null)
|
|
84
|
+
appProps = props;
|
|
85
|
+
return sheet.collectStyles(/* @__PURE__ */ jsxRuntime.jsx(App, __spreadValues({}, props)));
|
|
86
|
+
}
|
|
75
87
|
});
|
|
76
|
-
|
|
88
|
+
index.garbageCollectGlobalCacheData();
|
|
89
|
+
await ctx.renderPage();
|
|
90
|
+
await ssr.getDataFromTree(/* @__PURE__ */ jsxRuntime.jsx(ctx.AppTree, __spreadValues({}, appProps)));
|
|
77
91
|
slate.KeyUtils.resetGenerator();
|
|
92
|
+
const initialProps = await NextDocument__default["default"].getInitialProps(ctx);
|
|
78
93
|
const {
|
|
79
94
|
extractCritical
|
|
80
95
|
} = createEmotionServer__default["default"](css.cache);
|
|
@@ -83,6 +98,7 @@ class Document extends NextDocument__default["default"] {
|
|
|
83
98
|
css: css$1
|
|
84
99
|
} = extractCritical(initialProps.html);
|
|
85
100
|
return __spreadProps(__spreadValues({}, initialProps), {
|
|
101
|
+
cacheData: index.getGlobalCacheData(),
|
|
86
102
|
styles: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
87
103
|
children: [initialProps.styles, sheet.getStyleElement(), /* @__PURE__ */ jsxRuntime.jsx("style", {
|
|
88
104
|
"data-emotion": `css ${ids.join(" ")}`,
|
|
@@ -121,16 +137,12 @@ async function getServerSideProps({
|
|
|
121
137
|
notFound: true
|
|
122
138
|
};
|
|
123
139
|
const makeswiftApiEndpoint = `${process["env"].MAKESWIFT_API_HOST}/graphql`;
|
|
124
|
-
const client = new index.MakeswiftClient({
|
|
125
|
-
uri: makeswiftApiEndpoint
|
|
126
|
-
});
|
|
127
|
-
const cacheData = await client.prefetch(page.data);
|
|
128
140
|
return {
|
|
129
141
|
props: {
|
|
130
142
|
page,
|
|
131
143
|
rootElement: page.data,
|
|
132
144
|
makeswiftApiEndpoint,
|
|
133
|
-
|
|
145
|
+
preview: true
|
|
134
146
|
}
|
|
135
147
|
};
|
|
136
148
|
}
|
|
@@ -165,16 +177,12 @@ async function getStaticProps({
|
|
|
165
177
|
revalidate: REVALIDATE_SECONDS
|
|
166
178
|
};
|
|
167
179
|
const makeswiftApiEndpoint = `${process["env"].MAKESWIFT_API_HOST}/graphql`;
|
|
168
|
-
const client = new index.MakeswiftClient({
|
|
169
|
-
uri: makeswiftApiEndpoint
|
|
170
|
-
});
|
|
171
|
-
const cacheData = await client.prefetch(page.data);
|
|
172
180
|
return {
|
|
173
181
|
props: {
|
|
174
182
|
page,
|
|
175
183
|
rootElement: page.data,
|
|
176
184
|
makeswiftApiEndpoint,
|
|
177
|
-
|
|
185
|
+
preview: false
|
|
178
186
|
},
|
|
179
187
|
revalidate: REVALIDATE_SECONDS
|
|
180
188
|
};
|
|
@@ -189,20 +197,23 @@ function Page({
|
|
|
189
197
|
page,
|
|
190
198
|
rootElement,
|
|
191
199
|
makeswiftApiEndpoint,
|
|
192
|
-
cacheData
|
|
200
|
+
cacheData,
|
|
201
|
+
preview
|
|
193
202
|
}) {
|
|
194
203
|
const [client] = React.useState(() => new index.MakeswiftClient({
|
|
195
204
|
uri: makeswiftApiEndpoint,
|
|
196
205
|
cacheData
|
|
197
206
|
}));
|
|
198
207
|
React.useEffect(() => {
|
|
199
|
-
|
|
208
|
+
if (cacheData)
|
|
209
|
+
client.updateCacheData(cacheData);
|
|
200
210
|
}, [client, cacheData]);
|
|
201
211
|
return /* @__PURE__ */ jsxRuntime.jsx(index.RuntimeProvider, {
|
|
202
212
|
client,
|
|
203
213
|
rootElements: /* @__PURE__ */ new Map([[page.id, rootElement]]),
|
|
204
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
205
|
-
page
|
|
214
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(index.Page, {
|
|
215
|
+
page,
|
|
216
|
+
preview
|
|
206
217
|
})
|
|
207
218
|
});
|
|
208
219
|
}
|
package/dist/next.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.cjs.js","sources":["../src/next.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"next.cjs.js","sources":["../src/next.tsx"],"sourcesContent":["import {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport NextDocument, { DocumentContext, DocumentInitialProps, DocumentProps } from 'next/document'\nimport { useEffect, useState } from 'react'\nimport { ServerStyleSheet } from 'styled-components'\nimport { KeyUtils } from 'slate'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport { cache } from '@emotion/css'\n\nimport { garbageCollectGlobalCacheData, getGlobalCacheData, MakeswiftClient } from './api/react'\nimport { Element } from './state/react-page'\nimport { RuntimeProvider } from './runtimes/react'\nimport { Page as PageMeta, PageData } from './components'\nimport { getDataFromTree } from '@apollo/client/react/ssr'\nimport { AppPropsType } from 'next/dist/shared/lib/utils'\nimport { NextRouter } from 'next/router'\nimport { NormalizedCacheObject } from '@apollo/client'\n\nexport { MakeswiftClient }\n\ntype CacheDataProps = {\n cacheData: NormalizedCacheObject\n}\n\nexport class Document extends NextDocument<CacheDataProps> {\n constructor(props: DocumentProps & CacheDataProps) {\n super(props)\n\n const { __NEXT_DATA__, cacheData } = props\n\n __NEXT_DATA__.props.pageProps.cacheData = cacheData\n }\n\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const sheet = new ServerStyleSheet()\n const originalRenderPage = ctx.renderPage\n let appProps: AppPropsType<NextRouter>\n\n try {\n ctx.renderPage = () =>\n originalRenderPage({\n enhanceApp: App => props => {\n if (appProps == null) appProps = props\n\n return sheet.collectStyles(<App {...props} />)\n },\n })\n\n garbageCollectGlobalCacheData()\n\n await ctx.renderPage()\n\n // @ts-expect-error: TypeScript thinks that `appProps` hasn't been assigned but we know that\n // is has been due to our call of `ctx.renderPage()` above.\n await getDataFromTree(<ctx.AppTree {...appProps} />)\n\n KeyUtils.resetGenerator()\n\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\n // @ts-expect-error: We're hacking around Next.js internals here to get Apollo SSR working.\n cacheData: getGlobalCacheData(),\n styles: (\n <>\n {initialProps.styles}\n {sheet.getStyleElement()}\n <style\n data-emotion={`css ${ids.join(' ')}`}\n dangerouslySetInnerHTML={{ __html: css }}\n />\n </>\n ),\n }\n } finally {\n sheet.seal()\n }\n }\n}\n\nconst REVALIDATE_SECONDS = 1\n\nexport type PageProps = {\n page: PageData\n rootElement: Element\n makeswiftApiEndpoint: string\n cacheData?: NormalizedCacheObject\n preview: boolean\n}\n\ntype APIResult = PageData & {\n data: any\n}\n\nexport async function getServerSideProps({\n query: { pageId },\n}: GetServerSidePropsContext): Promise<GetServerSidePropsResult<PageProps>> {\n const url = `${process['env'].MAKESWIFT_API_HOST}/v0/preview-page-data?id=${pageId}`\n const res = await fetch(url, {\n headers: { 'x-api-key': process['env'].MAKESWIFT_SITE_API_KEY! },\n })\n\n if (res.status !== 200) {\n console.error(await res.json())\n\n return { notFound: true }\n }\n\n const page: APIResult = await res.json()\n\n if (page == null) return { notFound: true }\n\n const makeswiftApiEndpoint = `${process['env'].MAKESWIFT_API_HOST}/graphql`\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n preview: true,\n },\n }\n}\n\nexport async function getStaticProps({\n params,\n}: GetStaticPropsContext<{ path: string[] }>): Promise<GetStaticPropsResult<PageProps>> {\n if (params == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n const { path = [] } = params\n const url = `${process['env'].MAKESWIFT_API_HOST}/v0/live-page-data?path=${path.join('/')}`\n\n const res = await fetch(url, {\n headers: { 'x-api-key': process['env'].MAKESWIFT_SITE_API_KEY! },\n })\n\n if (res.status !== 200) {\n console.error(await res.json())\n\n return { notFound: true, revalidate: REVALIDATE_SECONDS }\n }\n\n const page: APIResult = await res.json()\n\n if (page == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n\n const makeswiftApiEndpoint = `${process['env'].MAKESWIFT_API_HOST}/graphql`\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n preview: false,\n },\n revalidate: REVALIDATE_SECONDS,\n }\n}\n\nexport async function getStaticPaths(): Promise<GetStaticPathsResult> {\n return { paths: [], fallback: 'blocking' }\n}\n\nexport function Page({ page, rootElement, makeswiftApiEndpoint, cacheData, preview }: PageProps) {\n const [client] = useState(() => new MakeswiftClient({ uri: makeswiftApiEndpoint, cacheData }))\n\n useEffect(() => {\n if (cacheData) client.updateCacheData(cacheData)\n }, [client, cacheData])\n\n return (\n <RuntimeProvider client={client} rootElements={new Map([[page.id, rootElement]])}>\n <PageMeta page={page} preview={preview} />\n </RuntimeProvider>\n )\n}\n"],"names":["Document","NextDocument","constructor","props","__NEXT_DATA__","cacheData","pageProps","getInitialProps","ctx","sheet","ServerStyleSheet","originalRenderPage","renderPage","appProps","enhanceApp","App","collectStyles","_jsx","garbageCollectGlobalCacheData","getDataFromTree","KeyUtils","resetGenerator","initialProps","extractCritical","createEmotionServer","cache","ids","css","html","getGlobalCacheData","styles","_Fragment","getStyleElement","join","__html","seal","REVALIDATE_SECONDS","query","pageId","url","process","MAKESWIFT_API_HOST","res","fetch","headers","MAKESWIFT_SITE_API_KEY","status","console","error","json","notFound","page","makeswiftApiEndpoint","rootElement","data","preview","params","revalidate","path","paths","fallback","client","useState","MakeswiftClient","uri","useEffect","updateCacheData","RuntimeProvider","Map","id","PageMeta"],"mappings":"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"}
|
package/dist/next.es.js
CHANGED
|
@@ -23,9 +23,9 @@ import { ServerStyleSheet } from "styled-components";
|
|
|
23
23
|
import { KeyUtils } from "slate";
|
|
24
24
|
import createEmotionServer from "@emotion/server/create-instance";
|
|
25
25
|
import { cache } from "@emotion/css";
|
|
26
|
-
import {
|
|
27
|
-
export {
|
|
28
|
-
import {
|
|
26
|
+
import { W as garbageCollectGlobalCacheData, X as getGlobalCacheData, Y as MakeswiftClient, R as RuntimeProvider, V as Page$1 } from "./index.es.js";
|
|
27
|
+
export { Y as MakeswiftClient } from "./index.es.js";
|
|
28
|
+
import { getDataFromTree } from "@apollo/client/react/ssr";
|
|
29
29
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
30
30
|
import "use-sync-external-store/shim/with-selector";
|
|
31
31
|
import "@apollo/client";
|
|
@@ -36,8 +36,6 @@ import "./actions.es.js";
|
|
|
36
36
|
import "./descriptors.es.js";
|
|
37
37
|
import "./style.es.js";
|
|
38
38
|
import "framer-motion";
|
|
39
|
-
import "@apollo/client/react/ssr";
|
|
40
|
-
import "uuid/v4";
|
|
41
39
|
import "html-react-parser";
|
|
42
40
|
import "next/head";
|
|
43
41
|
import "color";
|
|
@@ -45,6 +43,7 @@ import "scroll-into-view-if-needed";
|
|
|
45
43
|
import "next/link";
|
|
46
44
|
import "react-use-gesture";
|
|
47
45
|
import "@popmotion/popcorn";
|
|
46
|
+
import "uuid/v4";
|
|
48
47
|
import "next/image";
|
|
49
48
|
import "formik";
|
|
50
49
|
import "./box-models.es.js";
|
|
@@ -60,15 +59,31 @@ import "./text-input.es.js";
|
|
|
60
59
|
import "./list.es.js";
|
|
61
60
|
import "react-dom";
|
|
62
61
|
class Document extends NextDocument {
|
|
62
|
+
constructor(props) {
|
|
63
|
+
super(props);
|
|
64
|
+
const {
|
|
65
|
+
__NEXT_DATA__,
|
|
66
|
+
cacheData
|
|
67
|
+
} = props;
|
|
68
|
+
__NEXT_DATA__.props.pageProps.cacheData = cacheData;
|
|
69
|
+
}
|
|
63
70
|
static async getInitialProps(ctx) {
|
|
64
71
|
const sheet = new ServerStyleSheet();
|
|
65
72
|
const originalRenderPage = ctx.renderPage;
|
|
73
|
+
let appProps;
|
|
66
74
|
try {
|
|
67
75
|
ctx.renderPage = () => originalRenderPage({
|
|
68
|
-
enhanceApp: (App) => (props) =>
|
|
76
|
+
enhanceApp: (App) => (props) => {
|
|
77
|
+
if (appProps == null)
|
|
78
|
+
appProps = props;
|
|
79
|
+
return sheet.collectStyles(/* @__PURE__ */ jsx(App, __spreadValues({}, props)));
|
|
80
|
+
}
|
|
69
81
|
});
|
|
70
|
-
|
|
82
|
+
garbageCollectGlobalCacheData();
|
|
83
|
+
await ctx.renderPage();
|
|
84
|
+
await getDataFromTree(/* @__PURE__ */ jsx(ctx.AppTree, __spreadValues({}, appProps)));
|
|
71
85
|
KeyUtils.resetGenerator();
|
|
86
|
+
const initialProps = await NextDocument.getInitialProps(ctx);
|
|
72
87
|
const {
|
|
73
88
|
extractCritical
|
|
74
89
|
} = createEmotionServer(cache);
|
|
@@ -77,6 +92,7 @@ class Document extends NextDocument {
|
|
|
77
92
|
css
|
|
78
93
|
} = extractCritical(initialProps.html);
|
|
79
94
|
return __spreadProps(__spreadValues({}, initialProps), {
|
|
95
|
+
cacheData: getGlobalCacheData(),
|
|
80
96
|
styles: /* @__PURE__ */ jsxs(Fragment, {
|
|
81
97
|
children: [initialProps.styles, sheet.getStyleElement(), /* @__PURE__ */ jsx("style", {
|
|
82
98
|
"data-emotion": `css ${ids.join(" ")}`,
|
|
@@ -115,16 +131,12 @@ async function getServerSideProps({
|
|
|
115
131
|
notFound: true
|
|
116
132
|
};
|
|
117
133
|
const makeswiftApiEndpoint = `${process["env"].MAKESWIFT_API_HOST}/graphql`;
|
|
118
|
-
const client = new MakeswiftClient({
|
|
119
|
-
uri: makeswiftApiEndpoint
|
|
120
|
-
});
|
|
121
|
-
const cacheData = await client.prefetch(page.data);
|
|
122
134
|
return {
|
|
123
135
|
props: {
|
|
124
136
|
page,
|
|
125
137
|
rootElement: page.data,
|
|
126
138
|
makeswiftApiEndpoint,
|
|
127
|
-
|
|
139
|
+
preview: true
|
|
128
140
|
}
|
|
129
141
|
};
|
|
130
142
|
}
|
|
@@ -159,16 +171,12 @@ async function getStaticProps({
|
|
|
159
171
|
revalidate: REVALIDATE_SECONDS
|
|
160
172
|
};
|
|
161
173
|
const makeswiftApiEndpoint = `${process["env"].MAKESWIFT_API_HOST}/graphql`;
|
|
162
|
-
const client = new MakeswiftClient({
|
|
163
|
-
uri: makeswiftApiEndpoint
|
|
164
|
-
});
|
|
165
|
-
const cacheData = await client.prefetch(page.data);
|
|
166
174
|
return {
|
|
167
175
|
props: {
|
|
168
176
|
page,
|
|
169
177
|
rootElement: page.data,
|
|
170
178
|
makeswiftApiEndpoint,
|
|
171
|
-
|
|
179
|
+
preview: false
|
|
172
180
|
},
|
|
173
181
|
revalidate: REVALIDATE_SECONDS
|
|
174
182
|
};
|
|
@@ -183,20 +191,23 @@ function Page({
|
|
|
183
191
|
page,
|
|
184
192
|
rootElement,
|
|
185
193
|
makeswiftApiEndpoint,
|
|
186
|
-
cacheData
|
|
194
|
+
cacheData,
|
|
195
|
+
preview
|
|
187
196
|
}) {
|
|
188
197
|
const [client] = useState(() => new MakeswiftClient({
|
|
189
198
|
uri: makeswiftApiEndpoint,
|
|
190
199
|
cacheData
|
|
191
200
|
}));
|
|
192
201
|
useEffect(() => {
|
|
193
|
-
|
|
202
|
+
if (cacheData)
|
|
203
|
+
client.updateCacheData(cacheData);
|
|
194
204
|
}, [client, cacheData]);
|
|
195
205
|
return /* @__PURE__ */ jsx(RuntimeProvider, {
|
|
196
206
|
client,
|
|
197
207
|
rootElements: /* @__PURE__ */ new Map([[page.id, rootElement]]),
|
|
198
208
|
children: /* @__PURE__ */ jsx(Page$1, {
|
|
199
|
-
page
|
|
209
|
+
page,
|
|
210
|
+
preview
|
|
200
211
|
})
|
|
201
212
|
});
|
|
202
213
|
}
|
package/dist/next.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next.es.js","sources":["../src/next.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"next.es.js","sources":["../src/next.tsx"],"sourcesContent":["import {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport NextDocument, { DocumentContext, DocumentInitialProps, DocumentProps } from 'next/document'\nimport { useEffect, useState } from 'react'\nimport { ServerStyleSheet } from 'styled-components'\nimport { KeyUtils } from 'slate'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport { cache } from '@emotion/css'\n\nimport { garbageCollectGlobalCacheData, getGlobalCacheData, MakeswiftClient } from './api/react'\nimport { Element } from './state/react-page'\nimport { RuntimeProvider } from './runtimes/react'\nimport { Page as PageMeta, PageData } from './components'\nimport { getDataFromTree } from '@apollo/client/react/ssr'\nimport { AppPropsType } from 'next/dist/shared/lib/utils'\nimport { NextRouter } from 'next/router'\nimport { NormalizedCacheObject } from '@apollo/client'\n\nexport { MakeswiftClient }\n\ntype CacheDataProps = {\n cacheData: NormalizedCacheObject\n}\n\nexport class Document extends NextDocument<CacheDataProps> {\n constructor(props: DocumentProps & CacheDataProps) {\n super(props)\n\n const { __NEXT_DATA__, cacheData } = props\n\n __NEXT_DATA__.props.pageProps.cacheData = cacheData\n }\n\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const sheet = new ServerStyleSheet()\n const originalRenderPage = ctx.renderPage\n let appProps: AppPropsType<NextRouter>\n\n try {\n ctx.renderPage = () =>\n originalRenderPage({\n enhanceApp: App => props => {\n if (appProps == null) appProps = props\n\n return sheet.collectStyles(<App {...props} />)\n },\n })\n\n garbageCollectGlobalCacheData()\n\n await ctx.renderPage()\n\n // @ts-expect-error: TypeScript thinks that `appProps` hasn't been assigned but we know that\n // is has been due to our call of `ctx.renderPage()` above.\n await getDataFromTree(<ctx.AppTree {...appProps} />)\n\n KeyUtils.resetGenerator()\n\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\n // @ts-expect-error: We're hacking around Next.js internals here to get Apollo SSR working.\n cacheData: getGlobalCacheData(),\n styles: (\n <>\n {initialProps.styles}\n {sheet.getStyleElement()}\n <style\n data-emotion={`css ${ids.join(' ')}`}\n dangerouslySetInnerHTML={{ __html: css }}\n />\n </>\n ),\n }\n } finally {\n sheet.seal()\n }\n }\n}\n\nconst REVALIDATE_SECONDS = 1\n\nexport type PageProps = {\n page: PageData\n rootElement: Element\n makeswiftApiEndpoint: string\n cacheData?: NormalizedCacheObject\n preview: boolean\n}\n\ntype APIResult = PageData & {\n data: any\n}\n\nexport async function getServerSideProps({\n query: { pageId },\n}: GetServerSidePropsContext): Promise<GetServerSidePropsResult<PageProps>> {\n const url = `${process['env'].MAKESWIFT_API_HOST}/v0/preview-page-data?id=${pageId}`\n const res = await fetch(url, {\n headers: { 'x-api-key': process['env'].MAKESWIFT_SITE_API_KEY! },\n })\n\n if (res.status !== 200) {\n console.error(await res.json())\n\n return { notFound: true }\n }\n\n const page: APIResult = await res.json()\n\n if (page == null) return { notFound: true }\n\n const makeswiftApiEndpoint = `${process['env'].MAKESWIFT_API_HOST}/graphql`\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n preview: true,\n },\n }\n}\n\nexport async function getStaticProps({\n params,\n}: GetStaticPropsContext<{ path: string[] }>): Promise<GetStaticPropsResult<PageProps>> {\n if (params == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n const { path = [] } = params\n const url = `${process['env'].MAKESWIFT_API_HOST}/v0/live-page-data?path=${path.join('/')}`\n\n const res = await fetch(url, {\n headers: { 'x-api-key': process['env'].MAKESWIFT_SITE_API_KEY! },\n })\n\n if (res.status !== 200) {\n console.error(await res.json())\n\n return { notFound: true, revalidate: REVALIDATE_SECONDS }\n }\n\n const page: APIResult = await res.json()\n\n if (page == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n\n const makeswiftApiEndpoint = `${process['env'].MAKESWIFT_API_HOST}/graphql`\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n preview: false,\n },\n revalidate: REVALIDATE_SECONDS,\n }\n}\n\nexport async function getStaticPaths(): Promise<GetStaticPathsResult> {\n return { paths: [], fallback: 'blocking' }\n}\n\nexport function Page({ page, rootElement, makeswiftApiEndpoint, cacheData, preview }: PageProps) {\n const [client] = useState(() => new MakeswiftClient({ uri: makeswiftApiEndpoint, cacheData }))\n\n useEffect(() => {\n if (cacheData) client.updateCacheData(cacheData)\n }, [client, cacheData])\n\n return (\n <RuntimeProvider client={client} rootElements={new Map([[page.id, rootElement]])}>\n <PageMeta page={page} preview={preview} />\n </RuntimeProvider>\n )\n}\n"],"names":["Document","NextDocument","constructor","props","__NEXT_DATA__","cacheData","pageProps","getInitialProps","ctx","sheet","ServerStyleSheet","originalRenderPage","renderPage","appProps","enhanceApp","App","collectStyles","_jsx","getDataFromTree","KeyUtils","resetGenerator","initialProps","extractCritical","createEmotionServer","cache","ids","css","html","getGlobalCacheData","styles","_Fragment","getStyleElement","join","__html","seal","REVALIDATE_SECONDS","query","pageId","url","process","MAKESWIFT_API_HOST","res","fetch","headers","MAKESWIFT_SITE_API_KEY","status","console","error","json","notFound","page","makeswiftApiEndpoint","rootElement","data","preview","params","revalidate","path","paths","fallback","client","useState","MakeswiftClient","uri","useEffect","updateCacheData","Map","id","PageMeta"],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
21
21
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
22
22
|
var redux = require("redux");
|
|
23
23
|
var thunk = require("redux-thunk");
|
|
24
|
+
var index = require("./index.cjs.js");
|
|
24
25
|
var immutable = require("immutable");
|
|
25
26
|
var reactPage = require("./react-page.cjs.js");
|
|
26
27
|
var actions = require("./actions.cjs.js");
|
|
@@ -28,51 +29,41 @@ var boxModels = require("./box-models.cjs.js");
|
|
|
28
29
|
var instances = require("./instances.cjs.js");
|
|
29
30
|
var constants = require("./constants.cjs.js");
|
|
30
31
|
var controlSerialization = require("./control-serialization.cjs.js");
|
|
32
|
+
require("react");
|
|
33
|
+
require("use-sync-external-store/shim/with-selector");
|
|
34
|
+
require("@apollo/client");
|
|
35
|
+
require("styled-components");
|
|
36
|
+
require("framer-motion");
|
|
37
|
+
require("@emotion/css");
|
|
38
|
+
require("react/jsx-runtime");
|
|
39
|
+
require("html-react-parser");
|
|
40
|
+
require("next/head");
|
|
31
41
|
require("./descriptors.cjs.js");
|
|
32
42
|
require("./style.cjs.js");
|
|
33
|
-
require("
|
|
43
|
+
require("color");
|
|
44
|
+
require("scroll-into-view-if-needed");
|
|
45
|
+
require("next/link");
|
|
46
|
+
require("react-use-gesture");
|
|
47
|
+
require("@popmotion/popcorn");
|
|
48
|
+
require("uuid/v4");
|
|
49
|
+
require("next/image");
|
|
50
|
+
require("formik");
|
|
51
|
+
require("polished");
|
|
52
|
+
require("react-player");
|
|
53
|
+
require("slate");
|
|
54
|
+
require("slate-hotkeys");
|
|
55
|
+
require("corporate-ipsum");
|
|
56
|
+
require("is-hotkey");
|
|
57
|
+
require("slate-react");
|
|
58
|
+
require("@convertkit/slate-lists");
|
|
59
|
+
require("./text-input.cjs.js");
|
|
34
60
|
require("./list.cjs.js");
|
|
61
|
+
require("react-dom");
|
|
62
|
+
require("css-box-model");
|
|
35
63
|
function _interopDefaultLegacy(e) {
|
|
36
64
|
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
|
37
65
|
}
|
|
38
66
|
var thunk__default = /* @__PURE__ */ _interopDefaultLegacy(thunk);
|
|
39
|
-
function is(x, y) {
|
|
40
|
-
if (x === y)
|
|
41
|
-
return x !== 0 || y !== 0 || 1 / x === 1 / y;
|
|
42
|
-
return x !== x && y !== y;
|
|
43
|
-
}
|
|
44
|
-
const { hasOwnProperty: hasOwnProperty$1 } = Object.prototype;
|
|
45
|
-
const shallowEqual = (a, b) => {
|
|
46
|
-
if (is(a, b))
|
|
47
|
-
return true;
|
|
48
|
-
if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
|
|
49
|
-
return false;
|
|
50
|
-
const keysA = Object.keys(a);
|
|
51
|
-
const keysB = Object.keys(b);
|
|
52
|
-
if (keysA.length !== keysB.length)
|
|
53
|
-
return false;
|
|
54
|
-
for (let i = 0; i < keysA.length; i += 1) {
|
|
55
|
-
if (!hasOwnProperty$1.call(b, keysA[i]) || !is(a[keysA[i]], b[keysA[i]]))
|
|
56
|
-
return false;
|
|
57
|
-
}
|
|
58
|
-
return true;
|
|
59
|
-
};
|
|
60
|
-
const { hasOwnProperty } = Object.prototype;
|
|
61
|
-
const deepEqual = (a, b) => {
|
|
62
|
-
if (shallowEqual(a, b))
|
|
63
|
-
return true;
|
|
64
|
-
if (typeof a !== "object" || a === null || typeof b !== "object" || b === null)
|
|
65
|
-
return false;
|
|
66
|
-
const keysA = Object.keys(a);
|
|
67
|
-
const keysB = Object.keys(b);
|
|
68
|
-
if (keysA.length !== keysB.length)
|
|
69
|
-
return false;
|
|
70
|
-
for (let i = 0; i < keysA.length; i += 1) {
|
|
71
|
-
if (!hasOwnProperty.call(b, keysA[i]) || !deepEqual(a[keysA[i]], b[keysA[i]]))
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
};
|
|
76
67
|
function apply(data, operation) {
|
|
77
68
|
let applied = data;
|
|
78
69
|
operation.forEach((component) => {
|
|
@@ -230,7 +221,7 @@ function measureElements() {
|
|
|
230
221
|
const changedDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
231
222
|
measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
|
|
232
223
|
const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
|
|
233
|
-
if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {
|
|
224
|
+
if (currentBoxModel == null || !index.deepEqual(currentBoxModel, measuredBoxModel)) {
|
|
234
225
|
changedDocumentBoxModels.set(elementKey, measuredBoxModel);
|
|
235
226
|
}
|
|
236
227
|
});
|
|
@@ -267,10 +258,17 @@ function getElementSize(element) {
|
|
|
267
258
|
};
|
|
268
259
|
}
|
|
269
260
|
function lockDocumentScroll() {
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
window.document.documentElement.
|
|
261
|
+
return (dispatch) => {
|
|
262
|
+
const lastDocumentOverflow = window.document.documentElement.style.overflow;
|
|
263
|
+
window.document.documentElement.style.overflow = "hidden";
|
|
264
|
+
window.document.documentElement.addEventListener("wheel", handleWheelEvent);
|
|
265
|
+
return () => {
|
|
266
|
+
window.document.documentElement.style.overflow = lastDocumentOverflow;
|
|
267
|
+
window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
|
|
268
|
+
};
|
|
269
|
+
function handleWheelEvent({ deltaX, deltaY }) {
|
|
270
|
+
dispatch(actions.handleWheel({ deltaX, deltaY }));
|
|
271
|
+
}
|
|
274
272
|
};
|
|
275
273
|
}
|
|
276
274
|
function startHandlingFocusEvents() {
|
|
@@ -300,7 +298,7 @@ function startMeasuringDocumentElement() {
|
|
|
300
298
|
};
|
|
301
299
|
function handleAnimationFrameRequest() {
|
|
302
300
|
const nextSize = getElementSize(window.document.documentElement);
|
|
303
|
-
if (!deepEqual(lastSize, nextSize)) {
|
|
301
|
+
if (!index.deepEqual(lastSize, nextSize)) {
|
|
304
302
|
lastSize = nextSize;
|
|
305
303
|
dispatch(actions.changeDocumentElementSize(nextSize));
|
|
306
304
|
}
|
|
@@ -313,7 +311,7 @@ function initialize() {
|
|
|
313
311
|
const stopMeasuringElements = dispatch(startMeasuringElements());
|
|
314
312
|
const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement());
|
|
315
313
|
const stopHandlingFocusEvent = startHandlingFocusEvents();
|
|
316
|
-
const unlockDocumentScroll = lockDocumentScroll();
|
|
314
|
+
const unlockDocumentScroll = dispatch(lockDocumentScroll());
|
|
317
315
|
dispatch(actions.setIsInBuilder(true));
|
|
318
316
|
return () => {
|
|
319
317
|
stopMeasuringElements();
|
|
@@ -365,6 +363,7 @@ function messageChannelMiddleware() {
|
|
|
365
363
|
case actions.ActionTypes.UNMOUNT_COMPONENT:
|
|
366
364
|
case actions.ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
|
|
367
365
|
case actions.ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
|
|
366
|
+
case actions.ActionTypes.HANDLE_WHEEL:
|
|
368
367
|
messageChannel.port1.postMessage(action);
|
|
369
368
|
break;
|
|
370
369
|
case actions.ActionTypes.REGISTER_COMPONENT: {
|