@makeswift/runtime 0.0.11 → 0.0.15

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 (50) hide show
  1. package/dist/actions.cjs.js +6 -1
  2. package/dist/actions.cjs.js.map +1 -1
  3. package/dist/actions.es.js +6 -2
  4. package/dist/actions.es.js.map +1 -1
  5. package/dist/components.cjs.js +5 -5
  6. package/dist/components.es.js +3 -5
  7. package/dist/components.es.js.map +1 -1
  8. package/dist/constants.cjs.js +128 -1
  9. package/dist/constants.cjs.js.map +1 -1
  10. package/dist/constants.es.js +128 -1
  11. package/dist/constants.es.js.map +1 -1
  12. package/dist/index.cjs.js +383 -47
  13. package/dist/index.cjs.js.map +1 -1
  14. package/dist/index.es.js +376 -48
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/next.cjs.js +30 -19
  17. package/dist/next.cjs.js.map +1 -1
  18. package/dist/next.es.js +31 -20
  19. package/dist/next.es.js.map +1 -1
  20. package/dist/react-builder-preview.cjs.js +44 -45
  21. package/dist/react-builder-preview.cjs.js.map +1 -1
  22. package/dist/react-builder-preview.es.js +43 -44
  23. package/dist/react-builder-preview.es.js.map +1 -1
  24. package/dist/react.cjs.js +2 -3
  25. package/dist/react.cjs.js.map +1 -1
  26. package/dist/react.es.js +2 -3
  27. package/dist/react.es.js.map +1 -1
  28. package/dist/types/api/constants.d.ts.map +1 -1
  29. package/dist/types/api/generated/graphql.d.ts +55 -0
  30. package/dist/types/api/generated/graphql.d.ts.map +1 -1
  31. package/dist/types/api/react.d.ts +2 -3
  32. package/dist/types/api/react.d.ts.map +1 -1
  33. package/dist/types/api/types.d.ts +2 -2
  34. package/dist/types/api/types.d.ts.map +1 -1
  35. package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
  36. package/dist/types/components/builtin/Navigation/components/DropDownButton/index.d.ts.map +1 -1
  37. package/dist/types/components/page/Page.d.ts +23 -0
  38. package/dist/types/components/page/Page.d.ts.map +1 -1
  39. package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  40. package/dist/types/next.d.ts +10 -5
  41. package/dist/types/next.d.ts.map +1 -1
  42. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
  43. package/dist/types/state/actions.d.ts +13 -1
  44. package/dist/types/state/actions.d.ts.map +1 -1
  45. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  46. package/package.json +2 -1
  47. package/dist/Page.cjs.js +0 -222
  48. package/dist/Page.cjs.js.map +0 -1
  49. package/dist/Page.es.js +0 -216
  50. 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 Page$1 = require("./Page.cjs.js");
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) => sheet.collectStyles(/* @__PURE__ */ jsxRuntime.jsx(App, __spreadValues({}, 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
- const initialProps = await NextDocument__default["default"].getInitialProps(ctx);
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
- cacheData
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
- cacheData
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
- client.updateCacheData(cacheData);
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(Page$1.Page, {
205
- page
214
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Page, {
215
+ page,
216
+ preview
206
217
  })
207
218
  });
208
219
  }
@@ -1 +1 @@
1
- {"version":3,"file":"next.cjs.js","sources":["../src/next.tsx"],"sourcesContent":["import { NormalizedCacheObject } from '@apollo/client'\nimport {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport NextDocument, { DocumentContext, DocumentInitialProps } 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 { MakeswiftClient } from './api/react'\nimport { Element } from './state/react-page'\nimport { RuntimeProvider } from './runtimes/react'\nimport { Page as PageMeta, PageData } from './components'\n\nexport { MakeswiftClient }\n\nexport class Document extends NextDocument {\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const sheet = new ServerStyleSheet()\n const originalRenderPage = ctx.renderPage\n\n try {\n ctx.renderPage = () =>\n originalRenderPage({\n enhanceApp: App => props => sheet.collectStyles(<App {...props} />),\n })\n\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n KeyUtils.resetGenerator()\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\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}\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 const client = new MakeswiftClient({ uri: makeswiftApiEndpoint })\n const cacheData = await client.prefetch(page.data)\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n cacheData,\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 const client = new MakeswiftClient({ uri: makeswiftApiEndpoint })\n const cacheData = await client.prefetch(page.data)\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n cacheData,\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 }: PageProps) {\n const [client] = useState(() => new MakeswiftClient({ uri: makeswiftApiEndpoint, cacheData }))\n\n useEffect(() => {\n client.updateCacheData(cacheData)\n }, [client, cacheData])\n\n return (\n <RuntimeProvider client={client} rootElements={new Map([[page.id, rootElement]])}>\n <PageMeta page={page} />\n </RuntimeProvider>\n )\n}\n"],"names":["Document","NextDocument","getInitialProps","ctx","sheet","ServerStyleSheet","originalRenderPage","renderPage","enhanceApp","App","props","collectStyles","initialProps","KeyUtils","resetGenerator","extractCritical","createEmotionServer","cache","ids","css","html","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","client","MakeswiftClient","uri","cacheData","prefetch","data","rootElement","params","revalidate","path","paths","fallback","useState","useEffect","updateCacheData","RuntimeProvider","Map","id","PageMeta"],"mappings":"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"}
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 { Q as MakeswiftClient, R as RuntimeProvider } from "./index.es.js";
27
- export { Q as MakeswiftClient } from "./index.es.js";
28
- import { P as Page$1 } from "./Page.es.js";
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) => sheet.collectStyles(/* @__PURE__ */ jsx(App, __spreadValues({}, 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
- const initialProps = await NextDocument.getInitialProps(ctx);
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
- cacheData
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
- cacheData
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
- client.updateCacheData(cacheData);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"next.es.js","sources":["../src/next.tsx"],"sourcesContent":["import { NormalizedCacheObject } from '@apollo/client'\nimport {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport NextDocument, { DocumentContext, DocumentInitialProps } 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 { MakeswiftClient } from './api/react'\nimport { Element } from './state/react-page'\nimport { RuntimeProvider } from './runtimes/react'\nimport { Page as PageMeta, PageData } from './components'\n\nexport { MakeswiftClient }\n\nexport class Document extends NextDocument {\n static async getInitialProps(ctx: DocumentContext): Promise<DocumentInitialProps> {\n const sheet = new ServerStyleSheet()\n const originalRenderPage = ctx.renderPage\n\n try {\n ctx.renderPage = () =>\n originalRenderPage({\n enhanceApp: App => props => sheet.collectStyles(<App {...props} />),\n })\n\n const initialProps = await NextDocument.getInitialProps(ctx)\n\n KeyUtils.resetGenerator()\n\n const { extractCritical } = createEmotionServer(cache)\n const { ids, css } = extractCritical(initialProps.html)\n\n return {\n ...initialProps,\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}\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 const client = new MakeswiftClient({ uri: makeswiftApiEndpoint })\n const cacheData = await client.prefetch(page.data)\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n cacheData,\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 const client = new MakeswiftClient({ uri: makeswiftApiEndpoint })\n const cacheData = await client.prefetch(page.data)\n\n return {\n props: {\n page,\n rootElement: page.data,\n makeswiftApiEndpoint,\n cacheData,\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 }: PageProps) {\n const [client] = useState(() => new MakeswiftClient({ uri: makeswiftApiEndpoint, cacheData }))\n\n useEffect(() => {\n client.updateCacheData(cacheData)\n }, [client, cacheData])\n\n return (\n <RuntimeProvider client={client} rootElements={new Map([[page.id, rootElement]])}>\n <PageMeta page={page} />\n </RuntimeProvider>\n )\n}\n"],"names":["Document","NextDocument","getInitialProps","ctx","sheet","ServerStyleSheet","originalRenderPage","renderPage","enhanceApp","App","props","collectStyles","initialProps","KeyUtils","resetGenerator","extractCritical","createEmotionServer","cache","ids","css","html","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","client","MakeswiftClient","uri","cacheData","prefetch","data","rootElement","params","revalidate","path","paths","fallback","useState","useEffect","updateCacheData","Map","id","PageMeta"],"mappings":"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"}
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BO,MAAMA,iBAAiBC,aAA6B;AAAA,EACzDC,YAAYC,OAAuC;AACjD,UAAMA,KAAN;AAEM,UAAA;AAAA,MAAEC;AAAAA,MAAeC;AAAAA,QAAcF;AAEvBA,kBAAAA,MAAMG,UAAUD,YAAYA;AAAAA,EAC3C;AAAA,eAEYE,gBAAgBC,KAAqD;AAC1EC,UAAAA,QAAQ,IAAIC;AAClB,UAAMC,qBAAqBH,IAAII;AAC3BC,QAAAA;AAEA,QAAA;AACED,UAAAA,aAAa,MACfD,mBAAmB;AAAA,QACjBG,YAAYC,SAAOZ,CAAS,UAAA;AAC1B,cAAIU,YAAY;AAAiBV,uBAAAA;AAE1BM,iBAAAA,MAAMO,cAAcC,oBAAC,KAAQd,mBAAAA,MAAT,CAApB;AAAA,QACR;AAAA,MAAA,CALe;AAQS;AAE7B,YAAMK,IAAII;AAIJM,YAAAA,gBAAiBD,oBAAA,IAAI,SAAYJ,mBAAAA,SAAjB,CAAD;AAErBM,eAASC,eAAT;AAEMC,YAAAA,eAAe,MAAMpB,aAAaM,gBAAgBC,GAA7B;AAErB,YAAA;AAAA,QAAEc;AAAAA,UAAoBC,oBAAoBC,KAAD;AACzC,YAAA;AAAA,QAAEC;AAAAA,QAAKC;AAAAA,UAAQJ,gBAAgBD,aAAaM,IAAd;AAE7B,aAAA,iCACFN,eADE;AAAA,QAGLhB,WAAWuB,mBAHN;AAAA,QAILC,6BACEC,UAAA;AAAA,UACGT,UAAAA,CAAAA,aAAaQ,QACbpB,MAAMsB,uCACP,SAAA;AAAA,YACE,gBAAe,OAAMN,IAAIO,KAAK,GAAT;AAAA,YACrB,yBAAyB;AAAA,cAAEC,QAAQP;AAAAA,YAAV;AAAA,UAAA,CAL7B,CAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IALJ,UAeQ;AACRjB,YAAMyB,KAAN;AAAA,IACD;AAAA,EACF;AAzDwD;AA4D3D,MAAMC,qBAAqB;AAcc,kCAAA;AAAA,EACvCC,OAAO;AAAA,IAAEC;AAAAA;AAAAA,GACiE;AACpEC,QAAAA,MAAO,GAAEC,QAAQ,OAAOC,8CAA8CH;AACtEI,QAAAA,MAAM,MAAMC,MAAMJ,KAAK;AAAA,IAC3BK,SAAS;AAAA,MAAE,aAAaJ,QAAQ,OAAOK;AAAAA,IAA9B;AAAA,EAAA,CADY;AAInBH,MAAAA,IAAII,WAAW,KAAK;AACtBC,YAAQC,MAAM,MAAMN,IAAIO,KAAxB,CAAA;AAEO,WAAA;AAAA,MAAEC,UAAU;AAAA,IAAA;AAAA,EACpB;AAEKC,QAAAA,OAAkB,MAAMT,IAAIO;AAElC,MAAIE,QAAQ;AAAa,WAAA;AAAA,MAAED,UAAU;AAAA,IAAA;AAE/BE,QAAAA,uBAAwB,GAAEZ,QAAQ,OAAOC;AAExC,SAAA;AAAA,IACLrC,OAAO;AAAA,MACL+C;AAAAA,MACAE,aAAaF,KAAKG;AAAAA,MAClBF;AAAAA,MACAG,SAAS;AAAA,IAJJ;AAAA,EAAA;AAOV;AAEoC,8BAAA;AAAA,EACnCC;AAAAA,GACsF;AACtF,MAAIA,UAAU;AAAa,WAAA;AAAA,MAAEN,UAAU;AAAA,MAAMO,YAAYrB;AAAAA,IAAAA;AACnD,QAAA;AAAA,IAAEsB,OAAO,CAAA;AAAA,MAAOF;AACtB,QAAMjB,MAAO,GAAEC,QAAQ,OAAOC,6CAA6CiB,KAAKzB,KAAK,GAAV;AAErES,QAAAA,MAAM,MAAMC,MAAMJ,KAAK;AAAA,IAC3BK,SAAS;AAAA,MAAE,aAAaJ,QAAQ,OAAOK;AAAAA,IAA9B;AAAA,EAAA,CADY;AAInBH,MAAAA,IAAII,WAAW,KAAK;AACtBC,YAAQC,MAAM,MAAMN,IAAIO,KAAxB,CAAA;AAEO,WAAA;AAAA,MAAEC,UAAU;AAAA,MAAMO,YAAYrB;AAAAA,IAAAA;AAAAA,EACtC;AAEKe,QAAAA,OAAkB,MAAMT,IAAIO;AAElC,MAAIE,QAAQ;AAAa,WAAA;AAAA,MAAED,UAAU;AAAA,MAAMO,YAAYrB;AAAAA,IAAAA;AAEjDgB,QAAAA,uBAAwB,GAAEZ,QAAQ,OAAOC;AAExC,SAAA;AAAA,IACLrC,OAAO;AAAA,MACL+C;AAAAA,MACAE,aAAaF,KAAKG;AAAAA,MAClBF;AAAAA,MACAG,SAAS;AAAA,IALN;AAAA,IAOLE,YAAYrB;AAAAA,EAAAA;AAEf;AAEqE,gCAAA;AAC7D,SAAA;AAAA,IAAEuB,OAAO,CAAT;AAAA,IAAaC,UAAU;AAAA,EAAA;AAC/B;AAEoB,cAAA;AAAA,EAAET;AAAAA,EAAME;AAAAA,EAAaD;AAAAA,EAAsB9C;AAAAA,EAAWiD;AAAAA,GAAsB;AACzF,QAAA,CAACM,UAAUC,SAAS,MAAM,IAAIC,gBAAgB;AAAA,IAAEC,KAAKZ;AAAAA,IAAsB9C;AAAAA,EAAjD,CAAA,CAAP;AAEzB2D,YAAU,MAAM;AACV3D,QAAAA;AAAWuD,aAAOK,gBAAgB5D,SAAvB;AAAA,EAAA,GACd,CAACuD,QAAQvD,SAAT,CAFM;AAIT,6BACG,iBAAD;AAAA,IAAiB;AAAA,IAAgB,kCAAkB6D,IAAI,CAAC,CAAChB,KAAKiB,IAAIf,WAAV,CAAD,CAAR;AAAA,IAA/C,8BACGgB,QAAD;AAAA,MAAU;AAAA,MAAY;AAAA,IAAA,CAAtB;AAAA,EAAA,CAFJ;AAKD;;"}
@@ -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("css-box-model");
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
- const lastDocumentOverflow = window.document.documentElement.style.overflow;
271
- window.document.documentElement.style.overflow = "hidden";
272
- return () => {
273
- window.document.documentElement.style.overflow = lastDocumentOverflow;
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: {