@makeswift/runtime 0.2.2 → 0.2.4

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 (56) hide show
  1. package/dist/Box.cjs.js +14 -14
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Button.cjs.js +23 -23
  4. package/dist/Button.cjs.js.map +1 -1
  5. package/dist/Carousel.cjs.js +8 -8
  6. package/dist/Carousel.cjs.js.map +1 -1
  7. package/dist/Carousel.es.js.map +1 -1
  8. package/dist/Countdown.cjs.js +13 -13
  9. package/dist/Countdown.cjs.js.map +1 -1
  10. package/dist/Divider.cjs.js +4 -4
  11. package/dist/Divider.cjs.js.map +1 -1
  12. package/dist/Embed.cjs.js +2 -2
  13. package/dist/Embed.cjs.js.map +1 -1
  14. package/dist/Form.cjs.js +72 -72
  15. package/dist/Form.cjs.js.map +1 -1
  16. package/dist/Image.cjs2.js +10 -10
  17. package/dist/Image.cjs2.js.map +1 -1
  18. package/dist/Navigation.cjs.js +17 -17
  19. package/dist/Navigation.cjs.js.map +1 -1
  20. package/dist/Root.cjs.js +2 -2
  21. package/dist/Root.cjs.js.map +1 -1
  22. package/dist/SocialLinks.cjs.js +3 -3
  23. package/dist/SocialLinks.cjs.js.map +1 -1
  24. package/dist/Text.cjs.js +21 -21
  25. package/dist/Text.cjs.js.map +1 -1
  26. package/dist/actions.es.js +1 -1
  27. package/dist/components.cjs.js +18 -18
  28. package/dist/cssMediaRules.cjs.js +7 -7
  29. package/dist/cssMediaRules.cjs.js.map +1 -1
  30. package/dist/index.cjs.js +374 -8
  31. package/dist/index.cjs.js.map +1 -1
  32. package/dist/index.cjs2.js +10 -10
  33. package/dist/index.cjs2.js.map +1 -1
  34. package/dist/index.cjs3.js +3 -3
  35. package/dist/index.cjs3.js.map +1 -1
  36. package/dist/index.es.js +367 -12
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/index.es2.js.map +1 -1
  39. package/dist/next.cjs.js +22 -402
  40. package/dist/next.cjs.js.map +1 -1
  41. package/dist/next.es.js +12 -388
  42. package/dist/next.es.js.map +1 -1
  43. package/dist/react-builder-preview.cjs.js +11 -11
  44. package/dist/react-builder-preview.cjs.js.map +1 -1
  45. package/dist/react-builder-preview.es.js +1 -1
  46. package/dist/react.cjs.js +8 -8
  47. package/dist/types/src/next/api-handler.d.ts +25 -1
  48. package/dist/types/src/next/api-handler.d.ts.map +1 -1
  49. package/dist/types/src/next/index.d.ts +1 -1
  50. package/dist/types/src/next/index.d.ts.map +1 -1
  51. package/dist/types/src/runtimes/react/use-style.d.ts.map +1 -1
  52. package/dist/useBoxShadow.cjs.js +3 -3
  53. package/dist/useBoxShadow.cjs.js.map +1 -1
  54. package/dist/useMediaQuery.cjs.js +6 -6
  55. package/dist/useMediaQuery.cjs.js.map +1 -1
  56. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"next.cjs.js","sources":["../src/next/client.ts","../src/next/preview-mode.tsx","../src/next/document.tsx","../src/next/api-handler.ts","../src/next/index.tsx"],"sourcesContent":["import { NormalizedCacheObject } from '@apollo/client'\nimport { MakeswiftClient } from '../api/react'\nimport { Element } from '../state/react-page'\n\nexport type MakeswiftPage = {\n id: string\n path: string\n}\n\nexport type MakeswiftPageDocument = {\n id: string\n site: { id: string }\n data: Element\n snippets: {\n id: string\n code: string\n location: 'HEAD' | 'BODY'\n liveEnabled: boolean\n builderEnabled: boolean\n cleanup: string | null\n }[]\n fonts: { family: string; variants: string[] }[]\n meta: {\n title: string | null\n description: string | null\n keywords: string | null\n socialImage: {\n id: string\n publicUrl: string\n mimetype: string\n } | null\n favicon: {\n id: string\n publicUrl: string\n mimetype: string\n } | null\n }\n seo: {\n canonicalUrl: string | null\n isIndexingBlocked: boolean | null\n }\n}\n\nexport type MakeswiftPageSnapshot = {\n document: MakeswiftPageDocument\n apiOrigin: string\n cacheData: NormalizedCacheObject\n}\n\ntype MakeswiftConfig = {\n apiOrigin?: string\n}\n\nexport class Makeswift {\n private apiKey: string\n private apiOrigin: URL\n\n constructor(apiKey: string, { apiOrigin = 'https://api.makeswift.com' }: MakeswiftConfig = {}) {\n if (typeof apiKey !== 'string') {\n throw new Error(\n 'The Makeswift client must be passed a valid Makeswift site API key: ' +\n \"`new Makeswift('<makeswift_site_api_key>')`\\n\" +\n `Received \"${apiKey}\" instead.`,\n )\n }\n\n this.apiKey = apiKey\n\n try {\n this.apiOrigin = new URL(apiOrigin)\n } catch {\n throw new Error(\n `The Makeswift client received an invalid \\`apiOrigin\\` parameter: \"${apiOrigin}\".`,\n )\n }\n }\n\n private async fetch(path: string, init?: RequestInit): Promise<Response> {\n const response = await fetch(new URL(path, this.apiOrigin).toString(), {\n ...init,\n headers: { ...init?.headers, ['X-API-Key']: this.apiKey },\n })\n\n return response\n }\n\n async getPages(params: { path?: string } = {}): Promise<MakeswiftPage[]> {\n const searchParams = new URLSearchParams(params)\n const response = await this.fetch(`/v1/pages?${searchParams}`)\n\n if (!response.ok) {\n throw new Error(`Failed to get pages with error: \"${response.statusText}\"`)\n }\n\n const json = await response.json()\n\n return json\n }\n\n private async createSnapshot(document: MakeswiftPageDocument): Promise<MakeswiftPageSnapshot> {\n const client = new MakeswiftClient({ uri: new URL('graphql', this.apiOrigin).href })\n const cacheData = await client.prefetch(document.data)\n\n return { document, apiOrigin: this.apiOrigin.href, cacheData }\n }\n\n private async getPageSnapshotByPageId(\n pageId: string,\n { preview = false }: { preview?: boolean } = {},\n ): Promise<MakeswiftPageSnapshot | null> {\n const searchParams = new URLSearchParams({ preview: String(preview) })\n const response = await this.fetch(`/v1/pages/${pageId}/document?${searchParams}`)\n\n if (!response.ok) {\n if (response.status === 404) return null\n\n throw new Error(`Failed to get snapshot with error: \"${response.statusText}\"`)\n }\n\n const document: MakeswiftPageDocument = await response.json()\n\n return await this.createSnapshot(document)\n }\n\n async getPageSnapshot(\n path: string,\n { preview }: { preview?: boolean } = {},\n ): Promise<MakeswiftPageSnapshot | null> {\n const [page] = await this.getPages({ path })\n\n if (page == null) return null\n\n const snapshot = this.getPageSnapshotByPageId(page.id, { preview })\n\n return snapshot\n }\n}\n","type Props = {\n isPreview?: boolean\n appOrigin?: string\n}\n\nexport function PreviewModeScript({\n isPreview = false,\n appOrigin = 'https://app.makeswift.com',\n}: Props) {\n const __html = `\nconst isPreview = ${isPreview}\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\nconst searchParamName = 'x-makeswift-preview-mode'\nconst headerName = 'X-Makeswift-Preview-Mode'\nconst originalUrl = new URL(window.location.href)\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (event.origin === appOrigin && event.data.type === 'makeswift_preview_mode') {\n const { secret } = event.data\n\n if (!isPreview && !originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.set(searchParamName, secret)\n\n window.location.replace(url)\n } else {\n const originalFetch = window.fetch\n\n window.fetch = function patchedFetch(input, init) {\n return originalFetch.call(this, input, {\n ...init,\n headers: { ...init?.headers, [headerName]: secret },\n })\n }\n }\n }\n })\n\n window.parent.postMessage({ type: 'makeswift_preview_mode' }, appOrigin)\n}\n\nif (originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.delete(searchParamName)\n\n window.history.replaceState(null, '', url)\n}\n`\n\n return <script id=\"makeswift-preview-mode\" type=\"module\" dangerouslySetInnerHTML={{ __html }} />\n}\n\nexport type MakeswiftPreviewData = { makeswift: true }\n","import { cache } from '@emotion/css'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport NextDocument, {\n DocumentContext,\n DocumentInitialProps,\n Head,\n Html,\n Main,\n NextScript,\n} from 'next/document'\nimport { KeyUtils } from 'slate'\nimport { ServerStyleSheet } from 'styled-components'\nimport { PreviewModeScript } from './preview-mode'\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 render() {\n const { isPreview } = this.props.__NEXT_DATA__\n\n return (\n <Html>\n <Head>\n <PreviewModeScript isPreview={isPreview} />\n </Head>\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n","import { CookieSerializeOptions, serialize } from 'cookie'\nimport Cors from 'cors'\nimport { createProxyServer } from 'http-proxy'\nimport { NextApiHandler } from 'next'\nimport { parse } from 'set-cookie-parser'\nimport { version } from '../../package.json'\n\ntype MakeswiftApiHandlerConfig = {\n appOrigin?: string\n}\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n { appOrigin = 'https://app.makeswift.com' }: MakeswiftApiHandlerConfig = {},\n): NextApiHandler {\n const cors = Cors({ origin: appOrigin })\n const previewModeProxy = createProxyServer()\n\n previewModeProxy.on('proxyReq', proxyReq => {\n proxyReq.removeHeader('X-Makeswift-Preview-Mode')\n\n const url = new URL(proxyReq.path, 'http://n')\n\n url.searchParams.delete('x-makeswift-preview-mode')\n\n proxyReq.path = url.pathname + url.search\n })\n\n if (typeof apiKey !== 'string') {\n throw new Error(\n 'The Makeswift Next.js API handler must be passed a valid Makeswift site API key: ' +\n \"`MakeswiftApiHandler('<makeswift_site_api_key>')`\\n\" +\n `Received \"${apiKey}\" instead.`,\n )\n }\n\n return async function makeswiftApiHandler(req, res) {\n await new Promise<void>((resolve, reject) => {\n cors(req, res, err => {\n if (err instanceof Error) reject(err)\n else resolve()\n })\n })\n\n const { makeswift } = req.query\n\n if (!Array.isArray(makeswift)) {\n throw new Error(\n 'The Makeswift Next.js API handler must be used in a dynamic catch-all route named `[...makeswift]`.\\n' +\n `Received \"${makeswift}\" for the \\`makeswift\\` param instead.\\n` +\n 'Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/dynamic-routes#catch-all-routes',\n )\n }\n\n const action = makeswift.join('/')\n\n switch (action) {\n case 'manifest': {\n if (req.query.secret !== apiKey) return res.status(401).json({ message: 'Unauthorized' })\n\n return res.json({\n version,\n previewMode: true,\n })\n }\n\n case 'revalidate': {\n if (req.query.secret !== apiKey) {\n return res.status(401).json({ message: 'Unauthorized' })\n }\n\n if (typeof req.query.path !== 'string') {\n return res.status(400).json({ message: 'Bad Request' })\n }\n\n const revalidate = res.revalidate ?? res.unstable_revalidate\n\n if (typeof revalidate !== 'function') {\n const message =\n `Cannot revalidate path \"${req.query.path}\" because \\`revalidate\\` function does not exist in API handler response. ` +\n 'Please update to Next.js v12.2.0 or higher for support for on-demand revalidation.\\n' +\n 'Read more here: https://nextjs.org/blog/next-12-2#on-demand-incremental-static-regeneration-stable'\n\n console.warn(message)\n\n return res.json({ revalidated: false })\n }\n\n try {\n await revalidate(req.query.path)\n\n return res.json({ revalidated: true })\n } catch (error) {\n return res.status(500).json({ message: 'Error Revalidating' })\n }\n }\n\n case 'proxy-preview-mode': {\n if (req.query.secret !== apiKey) return res.status(401).send('Unauthorized')\n\n const host = req.headers.host\n\n if (host == null) return res.status(400).send('Bad Request')\n\n const forwardedProto = req.headers['x-forwarded-proto']\n\n const proto = typeof forwardedProto === 'string' ? forwardedProto : 'http'\n let target = `${proto}://${host}`\n\n // During local development we want to use the local Next.js address for proxying. The\n // reason we want to do this is that the user might be using a local SSL proxy to deal with\n // mixed content browser limitations. If the user generates a locally-trusted CA for their\n // SSL cert, it's likely that Node.js won't trust this CA unless they used the\n // `NODE_EXTRA_CA_CERTS` option (see https://stackoverflow.com/a/68135600). To provide a\n // better developer experience, instead of requiring the user to provide the CA to Node.js,\n // we just proxy directly to the running Next.js process.\n if (process.env['NODE_ENV'] !== 'production') {\n const port = req.socket.localPort\n\n if (port != null) target = `http://localhost:${port}`\n }\n\n const setCookie = res.setPreviewData({ makeswift: true }).getHeader('Set-Cookie')\n res.removeHeader('Set-Cookie')\n\n if (!Array.isArray(setCookie)) return res.status(500).send('Internal Server Error')\n\n const cookie = parse(setCookie)\n .map(cookie => serialize(cookie.name, cookie.value, cookie as CookieSerializeOptions))\n .join(';')\n\n return await new Promise<void>((resolve, reject) =>\n previewModeProxy.web(req, res, { target, headers: { cookie } }, err => {\n if (err) reject(err)\n else resolve()\n }),\n )\n }\n\n default:\n return res.status(404).json({ message: 'Not Found' })\n }\n }\n}\n","import { useEffect, useState } from 'react'\n\nimport { RuntimeProvider } from '../runtimes/react'\nimport { Page as PageMeta } from '../components/page'\nimport { MakeswiftClient } from '../api/react'\nimport { MakeswiftPageSnapshot } from './client'\n\nexport { MakeswiftClient }\n\nexport type PageProps = {\n snapshot: MakeswiftPageSnapshot\n}\n\nimport {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport { Makeswift } from './client'\nimport { MakeswiftPreviewData } from './preview-mode'\n\nfunction getApiOrigin(): string {\n const apiOriginString = process['env'].MAKESWIFT_API_HOST ?? 'https://api.makeswift.com'\n\n try {\n const url = new URL(apiOriginString)\n\n return url.origin\n } catch (error) {\n const errorMessage =\n '\"MAKESWIFT_API_HOST\" environment variable must be a valid URL. ' +\n `Expected something like \"https://api.makeswift.com\" but instead received \"${apiOriginString}\".`\n\n throw new Error(errorMessage)\n }\n}\n\nconst uuidRegExp =\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/\n\nfunction getApiKey(): string {\n const apiKey = process['env'].MAKESWIFT_SITE_API_KEY\n\n if (apiKey == null) {\n const errorMessage =\n '\"MAKESWIFT_SITE_API_KEY\" environment variable must be set. ' +\n 'Please add your site API key to your `.env.local` file. ' +\n 'More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables'\n\n throw new Error(errorMessage)\n }\n\n if (!uuidRegExp.test(apiKey)) {\n const errorMEssage =\n `Invalid Makeswift site API key \"${apiKey}\". ` +\n 'Please check your `.env.local` file for the \"MAKESWIFT_SITE_API_KEY\" environment variable. ' +\n 'More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables'\n\n throw new Error(errorMEssage)\n }\n\n return apiKey\n}\n\ntype ParsedUrlQuery = { path?: string[] }\n\nfunction deprecationWarning(methodName: string): void {\n const warningMessage =\n `The \\`${methodName}\\` export has been deprecated and will be removed in the next minor version. ` +\n 'More info: https://github.com/makeswift/makeswift/releases/tag/%40makeswift%2Fruntime%400.2.0'\n\n if (process.env['NODE_ENV'] !== 'production') console.warn(warningMessage)\n}\n\nexport async function getStaticPaths(): Promise<GetStaticPathsResult<ParsedUrlQuery>> {\n deprecationWarning('getStaticPaths')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const pages = await makeswift.getPages()\n\n return {\n paths: pages.map(page => ({\n params: { path: page.path.split('/').filter(segment => segment !== '') },\n })),\n fallback: 'blocking',\n }\n}\n\nconst REVALIDATE_SECONDS = 1\n\nexport async function getStaticProps(\n ctx: GetStaticPropsContext<ParsedUrlQuery, MakeswiftPreviewData>,\n): Promise<GetStaticPropsResult<PageProps>> {\n deprecationWarning('getStaticProps')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const path = '/' + (ctx.params?.path ?? []).join('/')\n const snapshot = await makeswift.getPageSnapshot(path, {\n preview: ctx.previewData?.makeswift === true,\n })\n\n if (snapshot == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n\n return { props: { snapshot }, revalidate: REVALIDATE_SECONDS }\n}\n\nexport async function getServerSideProps(\n ctx: GetServerSidePropsContext<{ path?: string[] }>,\n): Promise<GetServerSidePropsResult<PageProps>> {\n deprecationWarning('getServerSideProps')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const path = '/' + (ctx.params?.path ?? []).join('/')\n const snapshot = await makeswift.getPageSnapshot(path, { preview: true })\n\n if (snapshot == null) return { notFound: true }\n\n return { props: { snapshot } }\n}\n\nexport function Page({ snapshot }: PageProps) {\n const [client] = useState(\n () =>\n new MakeswiftClient({\n uri: new URL('graphql', snapshot.apiOrigin).href,\n cacheData: snapshot.cacheData,\n }),\n )\n\n useEffect(() => {\n client.updateCacheData(snapshot.cacheData)\n }, [client, snapshot])\n\n return (\n <RuntimeProvider\n client={client}\n rootElements={new Map([[snapshot.document.id, snapshot.document.data]])}\n >\n <PageMeta document={snapshot.document} />\n </RuntimeProvider>\n )\n}\n\nexport * from './client'\nexport * from './preview-mode'\nexport * from './document'\nexport * from './api-handler'\nexport * from './dynamic'\n"],"names":["MakeswiftClient","isPreview","appOrigin","__html","replace","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","seal","render","__NEXT_DATA__","Html","_jsx","Head","_jsxs","Main","NextScript","Cors","createProxyServer","cookie","parse","serialize","apiOriginString","process","MAKESWIFT_API_HOST","url","URL","origin","error","errorMessage","Error","uuidRegExp","apiKey","MAKESWIFT_SITE_API_KEY","test","errorMEssage","methodName","warningMessage","env","console","warn","deprecationWarning","makeswift","Makeswift","getApiKey","apiOrigin","getApiOrigin","pages","getPages","paths","map","page","params","path","split","filter","segment","fallback","REVALIDATE_SECONDS","snapshot","getPageSnapshot","preview","previewData","notFound","revalidate","client","useState","uri","href","cacheData","useEffect","updateCacheData","RuntimeProvider","Map","document","id","data","PageMeta"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDO,MAAM,UAAU;AAAA,EAIrB,YAAY,QAAgB,EAAE,YAAY,gCAAiD,CAAA,GAAI;AAHvF;AACA;AAGF,QAAA,OAAO,WAAW,UAAU;AAC9B,YAAM,IAAI,MACR;AAAA,YAEe,kBACjB;AAAA,IACF;AAEA,SAAK,SAAS;AAEV,QAAA;AACG,WAAA,YAAY,IAAI,IAAI,SAAS;AAAA,IAAA,QAClC;AACM,YAAA,IAAI,MACR,sEAAsE,aACxE;AAAA,IACF;AAAA,EACF;AAAA,QAEc,MAAM,MAAc,MAAuC;AACjE,UAAA,WAAW,MAAM,MAAM,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,YAAY,iCAClE,OADkE;AAAA,MAErE,SAAS,iCAAK,6BAAM,UAAX,GAAqB,cAAc,KAAK,OAAO;AAAA,IAAA,EACzD;AAEM,WAAA;AAAA,EACT;AAAA,QAEM,SAAS,SAA4B,IAA8B;AACjE,UAAA,eAAe,IAAI,gBAAgB,MAAM;AAC/C,UAAM,WAAW,MAAM,KAAK,MAAM,aAAa,cAAc;AAEzD,QAAA,CAAC,SAAS,IAAI;AAChB,YAAM,IAAI,MAAM,oCAAoC,SAAS,aAAa;AAAA,IAC5E;AAEM,UAAA,OAAO,MAAM,SAAS;AAErB,WAAA;AAAA,EACT;AAAA,QAEc,eAAe,UAAiE;AAC5F,UAAM,SAAS,IAAIA,sBAAgB,EAAE,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS,EAAE,KAAM,CAAA;AACnF,UAAM,YAAY,MAAM,OAAO,SAAS,SAAS,IAAI;AAErD,WAAO,EAAE,UAAU,WAAW,KAAK,UAAU,MAAM;EACrD;AAAA,QAEc,wBACZ,QACA,EAAE,UAAU,UAAiC,CAAA,GACN;AACjC,UAAA,eAAe,IAAI,gBAAgB,EAAE,SAAS,OAAO,OAAO,GAAG;AACrE,UAAM,WAAW,MAAM,KAAK,MAAM,aAAa,mBAAmB,cAAc;AAE5E,QAAA,CAAC,SAAS,IAAI;AAChB,UAAI,SAAS,WAAW;AAAY,eAAA;AAEpC,YAAM,IAAI,MAAM,uCAAuC,SAAS,aAAa;AAAA,IAC/E;AAEM,UAAA,WAAkC,MAAM,SAAS;AAEhD,WAAA,MAAM,KAAK,eAAe,QAAQ;AAAA,EAC3C;AAAA,QAEM,gBACJ,MACA,EAAE,YAAmC,CAAA,GACE;AACvC,UAAM,CAAC,QAAQ,MAAM,KAAK,SAAS,EAAE,MAAM;AAE3C,QAAI,QAAQ;AAAa,aAAA;AAEzB,UAAM,WAAW,KAAK,wBAAwB,KAAK,IAAI,EAAE,SAAS;AAE3D,WAAA;AAAA,EACT;AACF;ACnIkC,2BAAA;AAAA,EAChCC,YAAY;AAAA,EACZC,YAAY;AAAA,GACJ;AACR,QAAMC,SAAU;AAAA,oBACEF;AAAAA,qBACCC,UAAUE,QAAQ,KAAK,KAAvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyCZ,wCAAA,UAAA;AAAA,IAAQ,IAAG;AAAA,IAAyB,MAAK;AAAA,IAAS,yBAAyB;AAAA,MAAED;AAAAA,IAAF;AAAA,EAAA,CAAlF;AACD;ACvCM,MAAME,iBAAiBC,sBAAAA,WAAa;AAAA,eAC5BC,gBAAgBC,KAAqD;AAC1EC,UAAAA,QAAQ,IAAIC,OAAAA;AAClB,UAAMC,qBAAqBH,IAAII;AAE3B,QAAA;AACEA,UAAAA,aAAa,MACfD,mBAAmB;AAAA,QACjBE,YAAYC,CAAOC,QAAAA,CAAAA,UAASN,MAAMO,6CAAe,KAAQD,mBAAAA,MAA7B,CAAA;AAAA,MAAA,CADZ;AAIdE,YAAAA,eAAe,MAAMX,sBAAAA,WAAaC,gBAAgBC,GAA7B;AAE3BU,YAAAA,SAASC,eAAT;AAEM,YAAA;AAAA,QAAEC;AAAAA,UAAoBC,6BAAAA,WAAoBC,IAAAA,KAAD;AACzC,YAAA;AAAA,QAAEC;AAAAA,QAAAA,KAAKC;AAAAA,UAAQJ,gBAAgBH,aAAaQ,IAAd;AAE7B,aAAA,iCACFR,eADE;AAAA,QAELS,wCACEC,qBAAA;AAAA,UACGV,UAAAA,CAAAA,aAAaS,QACbjB,MAAMmB,kDACP,SAAA;AAAA,YACE,gBAAe,OAAML,IAAIM,KAAK,GAAT;AAAA,YACrB,yBAAyB;AAAA,cAAE1B,QAAQqB;AAAAA,YAAV;AAAA,UAAA,CAL7B,CAAA;AAAA,QAAA,CAAA;AAAA,MAAA;AAAA,IAHJ,UAaQ;AACRf,YAAMqB,KAAN;AAAA,IACD;AAAA,EACF;AAAA,EAEDC,SAAS;AACD,UAAA;AAAA,MAAE9B;AAAAA,QAAc,KAAKc,MAAMiB;AAEjC,2CACGC,aAAAA,MAAD;AAAA,MAAA,UAAA,CACEC,2BAAA,IAACC,mBAAD;AAAA,QAAA,yCACG,mBAAD;AAAA,UAAmB;AAAA,QAAA,CAAnB;AAAA,MAAA,CADF,GAGAC,2BAAA,KAAA,QAAA;AAAA,QAAA,UAAA,CACEF,2BAAA,IAACG,mBAAD,CAAA,CAAA,GACCH,+BAAAI,aAAAA,YAFH,CAAA,CAAA,CAAA;AAAA,MAAA,CAJF,CAAA;AAAA,IAAA,CADF;AAAA,EAWD;AAlDwC;;ACHpC,6BACL,QACA,EAAE,YAAY,gCAA2D,CAAA,GACzD;AAChB,QAAM,OAAOC,cAAA,WAAK,EAAE,QAAQ,UAAW,CAAA;AACvC,QAAM,mBAAmBC,UAAAA;AAER,mBAAA,GAAG,YAAY,CAAY,aAAA;AAC1C,aAAS,aAAa,0BAA0B;AAEhD,UAAM,MAAM,IAAI,IAAI,SAAS,MAAM,UAAU;AAEzC,QAAA,aAAa,OAAO,0BAA0B;AAEzC,aAAA,OAAO,IAAI,WAAW,IAAI;AAAA,EAAA,CACpC;AAEG,MAAA,OAAO,WAAW,UAAU;AAC9B,UAAM,IAAI,MACR;AAAA,YAEe,kBACjB;AAAA,EACF;AAEO,SAAA,mCAAmC,KAAK,KAAK;;AAClD,UAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AACtC,WAAA,KAAK,KAAK,CAAO,QAAA;AACpB,YAAI,eAAe;AAAO,iBAAO,GAAG;AAAA;AACvB;MAAA,CACd;AAAA,IAAA,CACF;AAEK,UAAA,EAAE,cAAc,IAAI;AAE1B,QAAI,CAAC,MAAM,QAAQ,SAAS,GAAG;AAC7B,YAAM,IAAI,MACR;AAAA,YACe;AAAA,+GAEjB;AAAA,IACF;AAEM,UAAA,SAAS,UAAU,KAAK,GAAG;AAEzB,YAAA;AAAA,WACD,YAAY;AACX,YAAA,IAAI,MAAM,WAAW;AAAe,iBAAA,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,gBAAgB;AAExF,eAAO,IAAI,KAAK;AAAA,UACd;AAAA,UACA,aAAa;AAAA,QAAA,CACd;AAAA,MACH;AAAA,WAEK,cAAc;AACb,YAAA,IAAI,MAAM,WAAW,QAAQ;AACxB,iBAAA,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,gBAAgB;AAAA,QACzD;AAEA,YAAI,OAAO,IAAI,MAAM,SAAS,UAAU;AAC/B,iBAAA,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,eAAe;AAAA,QACxD;AAEM,cAAA,aAAa,UAAI,eAAJ,YAAkB,IAAI;AAErC,YAAA,OAAO,eAAe,YAAY;AAC9B,gBAAA,UACJ,2BAA2B,IAAI,MAAM;AAAA;AAIvC,kBAAQ,KAAK,OAAO;AAEpB,iBAAO,IAAI,KAAK,EAAE,aAAa,MAAO,CAAA;AAAA,QACxC;AAEI,YAAA;AACI,gBAAA,WAAW,IAAI,MAAM,IAAI;AAE/B,iBAAO,IAAI,KAAK,EAAE,aAAa,KAAM,CAAA;AAAA,iBAC9B;AACA,iBAAA,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,sBAAsB;AAAA,QAC/D;AAAA,MACF;AAAA,WAEK,sBAAsB;AACrB,YAAA,IAAI,MAAM,WAAW;AAAQ,iBAAO,IAAI,OAAO,GAAG,EAAE,KAAK,cAAc;AAErE,cAAA,OAAO,IAAI,QAAQ;AAEzB,YAAI,QAAQ;AAAM,iBAAO,IAAI,OAAO,GAAG,EAAE,KAAK,aAAa;AAErD,cAAA,iBAAiB,IAAI,QAAQ;AAEnC,cAAM,QAAQ,OAAO,mBAAmB,WAAW,iBAAiB;AAChE,YAAA,SAAS,GAAG,WAAW;AASvB,YAAA,QAAQ,IAAI,gBAAgB,cAAc;AACtC,gBAAA,OAAO,IAAI,OAAO;AAExB,cAAI,QAAQ;AAAM,qBAAS,oBAAoB;AAAA,QACjD;AAEM,cAAA,YAAY,IAAI,eAAe,EAAE,WAAW,MAAM,EAAE,UAAU,YAAY;AAChF,YAAI,aAAa,YAAY;AAEzB,YAAA,CAAC,MAAM,QAAQ,SAAS;AAAG,iBAAO,IAAI,OAAO,GAAG,EAAE,KAAK,uBAAuB;AAElF,cAAMC,WAASC,gBAAAA,MAAM,SAAS,EAC3B,IAAI,CAAU,YAAAC,OAAA,UAAU,QAAO,MAAM,QAAO,OAAO,OAAgC,CAAC,EACpF,KAAK,GAAG;AAEX,eAAO,MAAM,IAAI,QAAc,CAAC,SAAS,WACvC,iBAAiB,IAAI,KAAK,KAAK,EAAE,QAAQ,SAAS,EAAEF,QAAAA,SAAO,EAAA,GAAK,CAAO,QAAA;AACjE,cAAA;AAAK,mBAAO,GAAG;AAAA;AACN;QACd,CAAA,CACH;AAAA,MACF;AAAA;AAGS,eAAA,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,aAAa;AAAA;AAAA,EAAA;AAG5D;ACxHA,wBAAgC;;AACxBG,QAAAA,kBAAkBC,cAAQ,OAAOC,uBAAfD,YAAqC;AAEzD,MAAA;AACIE,UAAAA,MAAM,IAAIC,IAAIJ,eAAR;AAELG,WAAAA,IAAIE;AAAAA,WACJC;AACP,UAAMC,eACJ,4IAC6EP;AAEzE,UAAA,IAAIQ,MAAMD,YAAV;AAAA,EACP;AACF;AAED,MAAME,aACJ;AAEF,qBAA6B;AACrBC,QAAAA,SAAST,QAAQ,OAAOU;AAE1BD,MAAAA,UAAU,MAAM;AAClB,UAAMH,eACJ;AAII,UAAA,IAAIC,MAAMD,YAAV;AAAA,EACP;AAED,MAAI,CAACE,WAAWG,KAAKF,MAAhB,GAAyB;AACtBG,UAAAA,eACH,mCAAkCH;AAI/B,UAAA,IAAIF,MAAMK,YAAV;AAAA,EACP;AAEMH,SAAAA;AACR;AAID,4BAA4BI,YAA0B;AACpD,QAAMC,iBACH,SAAQD;AAGPb,MAAAA,QAAQe,IAAI,gBAAgB;AAAcC,YAAQC,KAAKH,cAAb;AAC/C;AAEqF,gCAAA;AACpFI,qBAAmB,gBAAD;AAElB,QAAMC,YAAY,IAAIC,UAAUC,aAAa;AAAA,IAAEC,WAAWC,aAAY;AAAA,EAAA,CAApD;AACZC,QAAAA,QAAQ,MAAML,UAAUM;AAEvB,SAAA;AAAA,IACLC,OAAOF,MAAMG,IAAIC,CAAS,SAAA;AAAA,MACxBC,QAAQ;AAAA,QAAEC,MAAMF,KAAKE,KAAKC,MAAM,GAAhB,EAAqBC,OAAOC,CAAWA,YAAAA,YAAY,EAAnD;AAAA,MAAR;AAAA,IAAA,EADH;AAAA,IAGPC,UAAU;AAAA,EAAA;AAEb;AAED,MAAMC,qBAAqB;AAE3B,8BACExE,KAC0C;;AAC1CuD,qBAAmB,gBAAD;AAElB,QAAMC,YAAY,IAAIC,UAAUC,aAAa;AAAA,IAAEC,WAAWC,aAAY;AAAA,EAAA,CAApD;AACZO,QAAAA,OAAO,MAAWD,iBAAAA,WAAAA,mBAAQC,SAARD,YAAgB,CAArB,GAAyB7C,KAAK,GAA9B;AACboD,QAAAA,WAAW,MAAMjB,UAAUkB,gBAAgBP,MAAM;AAAA,IACrDQ,SAAS3E,WAAI4E,gBAAJ5E,mBAAiBwD,eAAc;AAAA,EAAA,CADnB;AAIvB,MAAIiB,YAAY;AAAa,WAAA;AAAA,MAAEI,UAAU;AAAA,MAAMC,YAAYN;AAAAA,IAAAA;AAEpD,SAAA;AAAA,IAAEjE,OAAO;AAAA,MAAEkE;AAAAA,IAAX;AAAA,IAAuBK,YAAYN;AAAAA,EAAAA;AAC3C;AAED,kCACExE,KAC8C;;AAC9CuD,qBAAmB,oBAAD;AAElB,QAAMC,YAAY,IAAIC,UAAUC,aAAa;AAAA,IAAEC,WAAWC,aAAY;AAAA,EAAA,CAApD;AACZO,QAAAA,OAAO,MAAWD,iBAAAA,WAAAA,mBAAQC,SAARD,YAAgB,CAArB,GAAyB7C,KAAK,GAA9B;AACboD,QAAAA,WAAW,MAAMjB,UAAUkB,gBAAgBP,MAAM;AAAA,IAAEQ,SAAS;AAAA,EAAA,CAA3C;AAEvB,MAAIF,YAAY;AAAa,WAAA;AAAA,MAAEI,UAAU;AAAA,IAAA;AAElC,SAAA;AAAA,IAAEtE,OAAO;AAAA,MAAEkE;AAAAA,IAAF;AAAA,EAAA;AACjB;AAEoB,cAAA;AAAA,EAAEA;AAAAA,GAAuB;AACtC,QAAA,CAACM,UAAUC,eACf,MACE,IAAIxF,MAAAA,gBAAgB;AAAA,IAClByF,KAAK,IAAIzC,IAAI,WAAWiC,SAASd,SAA5B,EAAuCuB;AAAAA,IAC5CC,WAAWV,SAASU;AAAAA,EAFtB,CAAA,CAFqB;AAQzBC,QAAAA,UAAU,MAAM;AACPC,WAAAA,gBAAgBZ,SAASU,SAAhC;AAAA,EAAA,GACC,CAACJ,QAAQN,QAAT,CAFM;AAIT,wCACGa,MAAAA,iBAAD;AAAA,IACE;AAAA,IACA,cAAc,oBAAIC,IAAI,CAAC,CAACd,SAASe,SAASC,IAAIhB,SAASe,SAASE,IAAzC,CAAD,CAAR;AAAA,IAFhB,yCAIGC,YAAD;AAAA,MAAU,UAAUlB,SAASe;AAAAA,IAAAA,CAA7B;AAAA,EAAA,CALJ;AAQD;;;;;;;;;;;"}
1
+ {"version":3,"file":"next.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/next.es.js CHANGED
@@ -1,39 +1,6 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- var __publicField = (obj, key, value) => {
21
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
22
- return value;
23
- };
24
- import { useState, useEffect } from "react";
25
- import { Q as MakeswiftClient, R as RuntimeProvider, o as Page$1 } from "./index.es.js";
26
- export { Q as MakeswiftClient, U as forwardNextDynamicRef } from "./index.es.js";
27
- import { jsx, jsxs, Fragment } from "react/jsx-runtime";
28
- import { cache } from "@emotion/css";
29
- import createEmotionServer from "@emotion/server/create-instance";
30
- import NextDocument, { Html, Head, Main, NextScript } from "next/document";
31
- import { KeyUtils } from "slate";
32
- import { ServerStyleSheet } from "styled-components";
33
- import { serialize } from "cookie";
34
- import Cors from "cors";
35
- import { createProxyServer } from "http-proxy";
36
- import { parse } from "set-cookie-parser";
1
+ import "react";
2
+ export { $ as Document, Z as Makeswift, a0 as MakeswiftApiHandler, U as MakeswiftClient, Y as Page, _ as PreviewModeScript, a1 as forwardNextDynamicRef, X as getServerSideProps, V as getStaticPaths, W as getStaticProps } from "./index.es.js";
3
+ import "react/jsx-runtime";
37
4
  import "use-sync-external-store/shim/with-selector";
38
5
  import "./react-page.es.js";
39
6
  import "redux";
@@ -45,9 +12,12 @@ import "./slot.es.js";
45
12
  import "next/dynamic";
46
13
  import "@apollo/client";
47
14
  import "@apollo/client/link/batch-http";
15
+ import "slate";
48
16
  import "./graphql.es.js";
49
17
  import "./shape.es.js";
18
+ import "styled-components";
50
19
  import "./text-input.es.js";
20
+ import "@emotion/css";
51
21
  import "color";
52
22
  import "scroll-into-view-if-needed";
53
23
  import "./box-models.es.js";
@@ -55,358 +25,12 @@ import "css-box-model";
55
25
  import "react-dom";
56
26
  import "html-react-parser";
57
27
  import "next/head";
28
+ import "@emotion/server/create-instance";
29
+ import "next/document";
30
+ import "cookie";
31
+ import "cors";
32
+ import "http-proxy";
33
+ import "set-cookie-parser";
58
34
  import "uuid/v4";
59
35
  import "corporate-ipsum";
60
- class Makeswift {
61
- constructor(apiKey, { apiOrigin = "https://api.makeswift.com" } = {}) {
62
- __publicField(this, "apiKey");
63
- __publicField(this, "apiOrigin");
64
- if (typeof apiKey !== "string") {
65
- throw new Error(`The Makeswift client must be passed a valid Makeswift site API key: \`new Makeswift('<makeswift_site_api_key>')\`
66
- Received "${apiKey}" instead.`);
67
- }
68
- this.apiKey = apiKey;
69
- try {
70
- this.apiOrigin = new URL(apiOrigin);
71
- } catch {
72
- throw new Error(`The Makeswift client received an invalid \`apiOrigin\` parameter: "${apiOrigin}".`);
73
- }
74
- }
75
- async fetch(path, init) {
76
- const response = await fetch(new URL(path, this.apiOrigin).toString(), __spreadProps(__spreadValues({}, init), {
77
- headers: __spreadProps(__spreadValues({}, init == null ? void 0 : init.headers), { ["X-API-Key"]: this.apiKey })
78
- }));
79
- return response;
80
- }
81
- async getPages(params = {}) {
82
- const searchParams = new URLSearchParams(params);
83
- const response = await this.fetch(`/v1/pages?${searchParams}`);
84
- if (!response.ok) {
85
- throw new Error(`Failed to get pages with error: "${response.statusText}"`);
86
- }
87
- const json = await response.json();
88
- return json;
89
- }
90
- async createSnapshot(document) {
91
- const client = new MakeswiftClient({ uri: new URL("graphql", this.apiOrigin).href });
92
- const cacheData = await client.prefetch(document.data);
93
- return { document, apiOrigin: this.apiOrigin.href, cacheData };
94
- }
95
- async getPageSnapshotByPageId(pageId, { preview = false } = {}) {
96
- const searchParams = new URLSearchParams({ preview: String(preview) });
97
- const response = await this.fetch(`/v1/pages/${pageId}/document?${searchParams}`);
98
- if (!response.ok) {
99
- if (response.status === 404)
100
- return null;
101
- throw new Error(`Failed to get snapshot with error: "${response.statusText}"`);
102
- }
103
- const document = await response.json();
104
- return await this.createSnapshot(document);
105
- }
106
- async getPageSnapshot(path, { preview } = {}) {
107
- const [page] = await this.getPages({ path });
108
- if (page == null)
109
- return null;
110
- const snapshot = this.getPageSnapshotByPageId(page.id, { preview });
111
- return snapshot;
112
- }
113
- }
114
- function PreviewModeScript({
115
- isPreview = false,
116
- appOrigin = "https://app.makeswift.com"
117
- }) {
118
- const __html = `
119
- const isPreview = ${isPreview}
120
- const appOrigin = '${appOrigin.replace("'", "\\'")}'
121
- const searchParamName = 'x-makeswift-preview-mode'
122
- const headerName = 'X-Makeswift-Preview-Mode'
123
- const originalUrl = new URL(window.location.href)
124
-
125
- if (window.parent !== window) {
126
- window.addEventListener('message', event => {
127
- if (event.origin === appOrigin && event.data.type === 'makeswift_preview_mode') {
128
- const { secret } = event.data
129
-
130
- if (!isPreview && !originalUrl.searchParams.has(searchParamName)) {
131
- const url = new URL(originalUrl)
132
-
133
- url.searchParams.set(searchParamName, secret)
134
-
135
- window.location.replace(url)
136
- } else {
137
- const originalFetch = window.fetch
138
-
139
- window.fetch = function patchedFetch(input, init) {
140
- return originalFetch.call(this, input, {
141
- ...init,
142
- headers: { ...init?.headers, [headerName]: secret },
143
- })
144
- }
145
- }
146
- }
147
- })
148
-
149
- window.parent.postMessage({ type: 'makeswift_preview_mode' }, appOrigin)
150
- }
151
-
152
- if (originalUrl.searchParams.has(searchParamName)) {
153
- const url = new URL(originalUrl)
154
-
155
- url.searchParams.delete(searchParamName)
156
-
157
- window.history.replaceState(null, '', url)
158
- }
159
- `;
160
- return /* @__PURE__ */ jsx("script", {
161
- id: "makeswift-preview-mode",
162
- type: "module",
163
- dangerouslySetInnerHTML: {
164
- __html
165
- }
166
- });
167
- }
168
- class Document extends NextDocument {
169
- static async getInitialProps(ctx) {
170
- const sheet = new ServerStyleSheet();
171
- const originalRenderPage = ctx.renderPage;
172
- try {
173
- ctx.renderPage = () => originalRenderPage({
174
- enhanceApp: (App) => (props) => sheet.collectStyles(/* @__PURE__ */ jsx(App, __spreadValues({}, props)))
175
- });
176
- const initialProps = await NextDocument.getInitialProps(ctx);
177
- KeyUtils.resetGenerator();
178
- const {
179
- extractCritical
180
- } = createEmotionServer(cache);
181
- const {
182
- ids,
183
- css
184
- } = extractCritical(initialProps.html);
185
- return __spreadProps(__spreadValues({}, initialProps), {
186
- styles: /* @__PURE__ */ jsxs(Fragment, {
187
- children: [initialProps.styles, sheet.getStyleElement(), /* @__PURE__ */ jsx("style", {
188
- "data-emotion": `css ${ids.join(" ")}`,
189
- dangerouslySetInnerHTML: {
190
- __html: css
191
- }
192
- })]
193
- })
194
- });
195
- } finally {
196
- sheet.seal();
197
- }
198
- }
199
- render() {
200
- const {
201
- isPreview
202
- } = this.props.__NEXT_DATA__;
203
- return /* @__PURE__ */ jsxs(Html, {
204
- children: [/* @__PURE__ */ jsx(Head, {
205
- children: /* @__PURE__ */ jsx(PreviewModeScript, {
206
- isPreview
207
- })
208
- }), /* @__PURE__ */ jsxs("body", {
209
- children: [/* @__PURE__ */ jsx(Main, {}), /* @__PURE__ */ jsx(NextScript, {})]
210
- })]
211
- });
212
- }
213
- }
214
- const version = "0.2.2";
215
- function MakeswiftApiHandler(apiKey, { appOrigin = "https://app.makeswift.com" } = {}) {
216
- const cors = Cors({ origin: appOrigin });
217
- const previewModeProxy = createProxyServer();
218
- previewModeProxy.on("proxyReq", (proxyReq) => {
219
- proxyReq.removeHeader("X-Makeswift-Preview-Mode");
220
- const url = new URL(proxyReq.path, "http://n");
221
- url.searchParams.delete("x-makeswift-preview-mode");
222
- proxyReq.path = url.pathname + url.search;
223
- });
224
- if (typeof apiKey !== "string") {
225
- throw new Error(`The Makeswift Next.js API handler must be passed a valid Makeswift site API key: \`MakeswiftApiHandler('<makeswift_site_api_key>')\`
226
- Received "${apiKey}" instead.`);
227
- }
228
- return async function makeswiftApiHandler(req, res) {
229
- var _a;
230
- await new Promise((resolve, reject) => {
231
- cors(req, res, (err) => {
232
- if (err instanceof Error)
233
- reject(err);
234
- else
235
- resolve();
236
- });
237
- });
238
- const { makeswift } = req.query;
239
- if (!Array.isArray(makeswift)) {
240
- throw new Error(`The Makeswift Next.js API handler must be used in a dynamic catch-all route named \`[...makeswift]\`.
241
- Received "${makeswift}" for the \`makeswift\` param instead.
242
- Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/dynamic-routes#catch-all-routes`);
243
- }
244
- const action = makeswift.join("/");
245
- switch (action) {
246
- case "manifest": {
247
- if (req.query.secret !== apiKey)
248
- return res.status(401).json({ message: "Unauthorized" });
249
- return res.json({
250
- version,
251
- previewMode: true
252
- });
253
- }
254
- case "revalidate": {
255
- if (req.query.secret !== apiKey) {
256
- return res.status(401).json({ message: "Unauthorized" });
257
- }
258
- if (typeof req.query.path !== "string") {
259
- return res.status(400).json({ message: "Bad Request" });
260
- }
261
- const revalidate = (_a = res.revalidate) != null ? _a : res.unstable_revalidate;
262
- if (typeof revalidate !== "function") {
263
- const message = `Cannot revalidate path "${req.query.path}" because \`revalidate\` function does not exist in API handler response. Please update to Next.js v12.2.0 or higher for support for on-demand revalidation.
264
- Read more here: https://nextjs.org/blog/next-12-2#on-demand-incremental-static-regeneration-stable`;
265
- console.warn(message);
266
- return res.json({ revalidated: false });
267
- }
268
- try {
269
- await revalidate(req.query.path);
270
- return res.json({ revalidated: true });
271
- } catch (error) {
272
- return res.status(500).json({ message: "Error Revalidating" });
273
- }
274
- }
275
- case "proxy-preview-mode": {
276
- if (req.query.secret !== apiKey)
277
- return res.status(401).send("Unauthorized");
278
- const host = req.headers.host;
279
- if (host == null)
280
- return res.status(400).send("Bad Request");
281
- const forwardedProto = req.headers["x-forwarded-proto"];
282
- const proto = typeof forwardedProto === "string" ? forwardedProto : "http";
283
- let target = `${proto}://${host}`;
284
- if (process.env["NODE_ENV"] !== "production") {
285
- const port = req.socket.localPort;
286
- if (port != null)
287
- target = `http://localhost:${port}`;
288
- }
289
- const setCookie = res.setPreviewData({ makeswift: true }).getHeader("Set-Cookie");
290
- res.removeHeader("Set-Cookie");
291
- if (!Array.isArray(setCookie))
292
- return res.status(500).send("Internal Server Error");
293
- const cookie = parse(setCookie).map((cookie2) => serialize(cookie2.name, cookie2.value, cookie2)).join(";");
294
- return await new Promise((resolve, reject) => previewModeProxy.web(req, res, { target, headers: { cookie } }, (err) => {
295
- if (err)
296
- reject(err);
297
- else
298
- resolve();
299
- }));
300
- }
301
- default:
302
- return res.status(404).json({ message: "Not Found" });
303
- }
304
- };
305
- }
306
- function getApiOrigin() {
307
- var _a;
308
- const apiOriginString = (_a = process["env"].MAKESWIFT_API_HOST) != null ? _a : "https://api.makeswift.com";
309
- try {
310
- const url = new URL(apiOriginString);
311
- return url.origin;
312
- } catch (error) {
313
- const errorMessage = `"MAKESWIFT_API_HOST" environment variable must be a valid URL. Expected something like "https://api.makeswift.com" but instead received "${apiOriginString}".`;
314
- throw new Error(errorMessage);
315
- }
316
- }
317
- const uuidRegExp = /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/;
318
- function getApiKey() {
319
- const apiKey = process["env"].MAKESWIFT_SITE_API_KEY;
320
- if (apiKey == null) {
321
- const errorMessage = '"MAKESWIFT_SITE_API_KEY" environment variable must be set. Please add your site API key to your `.env.local` file. More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables';
322
- throw new Error(errorMessage);
323
- }
324
- if (!uuidRegExp.test(apiKey)) {
325
- const errorMEssage = `Invalid Makeswift site API key "${apiKey}". Please check your \`.env.local\` file for the "MAKESWIFT_SITE_API_KEY" environment variable. More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables`;
326
- throw new Error(errorMEssage);
327
- }
328
- return apiKey;
329
- }
330
- function deprecationWarning(methodName) {
331
- const warningMessage = `The \`${methodName}\` export has been deprecated and will be removed in the next minor version. More info: https://github.com/makeswift/makeswift/releases/tag/%40makeswift%2Fruntime%400.2.0`;
332
- if (process.env["NODE_ENV"] !== "production")
333
- console.warn(warningMessage);
334
- }
335
- async function getStaticPaths() {
336
- deprecationWarning("getStaticPaths");
337
- const makeswift = new Makeswift(getApiKey(), {
338
- apiOrigin: getApiOrigin()
339
- });
340
- const pages = await makeswift.getPages();
341
- return {
342
- paths: pages.map((page) => ({
343
- params: {
344
- path: page.path.split("/").filter((segment) => segment !== "")
345
- }
346
- })),
347
- fallback: "blocking"
348
- };
349
- }
350
- const REVALIDATE_SECONDS = 1;
351
- async function getStaticProps(ctx) {
352
- var _a, _b, _c;
353
- deprecationWarning("getStaticProps");
354
- const makeswift = new Makeswift(getApiKey(), {
355
- apiOrigin: getApiOrigin()
356
- });
357
- const path = "/" + ((_b = (_a = ctx.params) == null ? void 0 : _a.path) != null ? _b : []).join("/");
358
- const snapshot = await makeswift.getPageSnapshot(path, {
359
- preview: ((_c = ctx.previewData) == null ? void 0 : _c.makeswift) === true
360
- });
361
- if (snapshot == null)
362
- return {
363
- notFound: true,
364
- revalidate: REVALIDATE_SECONDS
365
- };
366
- return {
367
- props: {
368
- snapshot
369
- },
370
- revalidate: REVALIDATE_SECONDS
371
- };
372
- }
373
- async function getServerSideProps(ctx) {
374
- var _a, _b;
375
- deprecationWarning("getServerSideProps");
376
- const makeswift = new Makeswift(getApiKey(), {
377
- apiOrigin: getApiOrigin()
378
- });
379
- const path = "/" + ((_b = (_a = ctx.params) == null ? void 0 : _a.path) != null ? _b : []).join("/");
380
- const snapshot = await makeswift.getPageSnapshot(path, {
381
- preview: true
382
- });
383
- if (snapshot == null)
384
- return {
385
- notFound: true
386
- };
387
- return {
388
- props: {
389
- snapshot
390
- }
391
- };
392
- }
393
- function Page({
394
- snapshot
395
- }) {
396
- const [client] = useState(() => new MakeswiftClient({
397
- uri: new URL("graphql", snapshot.apiOrigin).href,
398
- cacheData: snapshot.cacheData
399
- }));
400
- useEffect(() => {
401
- client.updateCacheData(snapshot.cacheData);
402
- }, [client, snapshot]);
403
- return /* @__PURE__ */ jsx(RuntimeProvider, {
404
- client,
405
- rootElements: /* @__PURE__ */ new Map([[snapshot.document.id, snapshot.document.data]]),
406
- children: /* @__PURE__ */ jsx(Page$1, {
407
- document: snapshot.document
408
- })
409
- });
410
- }
411
- export { Document, Makeswift, MakeswiftApiHandler, Page, PreviewModeScript, getServerSideProps, getStaticPaths, getStaticProps };
412
36
  //# sourceMappingURL=next.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"next.es.js","sources":["../src/next/client.ts","../src/next/preview-mode.tsx","../src/next/document.tsx","../src/next/api-handler.ts","../src/next/index.tsx"],"sourcesContent":["import { NormalizedCacheObject } from '@apollo/client'\nimport { MakeswiftClient } from '../api/react'\nimport { Element } from '../state/react-page'\n\nexport type MakeswiftPage = {\n id: string\n path: string\n}\n\nexport type MakeswiftPageDocument = {\n id: string\n site: { id: string }\n data: Element\n snippets: {\n id: string\n code: string\n location: 'HEAD' | 'BODY'\n liveEnabled: boolean\n builderEnabled: boolean\n cleanup: string | null\n }[]\n fonts: { family: string; variants: string[] }[]\n meta: {\n title: string | null\n description: string | null\n keywords: string | null\n socialImage: {\n id: string\n publicUrl: string\n mimetype: string\n } | null\n favicon: {\n id: string\n publicUrl: string\n mimetype: string\n } | null\n }\n seo: {\n canonicalUrl: string | null\n isIndexingBlocked: boolean | null\n }\n}\n\nexport type MakeswiftPageSnapshot = {\n document: MakeswiftPageDocument\n apiOrigin: string\n cacheData: NormalizedCacheObject\n}\n\ntype MakeswiftConfig = {\n apiOrigin?: string\n}\n\nexport class Makeswift {\n private apiKey: string\n private apiOrigin: URL\n\n constructor(apiKey: string, { apiOrigin = 'https://api.makeswift.com' }: MakeswiftConfig = {}) {\n if (typeof apiKey !== 'string') {\n throw new Error(\n 'The Makeswift client must be passed a valid Makeswift site API key: ' +\n \"`new Makeswift('<makeswift_site_api_key>')`\\n\" +\n `Received \"${apiKey}\" instead.`,\n )\n }\n\n this.apiKey = apiKey\n\n try {\n this.apiOrigin = new URL(apiOrigin)\n } catch {\n throw new Error(\n `The Makeswift client received an invalid \\`apiOrigin\\` parameter: \"${apiOrigin}\".`,\n )\n }\n }\n\n private async fetch(path: string, init?: RequestInit): Promise<Response> {\n const response = await fetch(new URL(path, this.apiOrigin).toString(), {\n ...init,\n headers: { ...init?.headers, ['X-API-Key']: this.apiKey },\n })\n\n return response\n }\n\n async getPages(params: { path?: string } = {}): Promise<MakeswiftPage[]> {\n const searchParams = new URLSearchParams(params)\n const response = await this.fetch(`/v1/pages?${searchParams}`)\n\n if (!response.ok) {\n throw new Error(`Failed to get pages with error: \"${response.statusText}\"`)\n }\n\n const json = await response.json()\n\n return json\n }\n\n private async createSnapshot(document: MakeswiftPageDocument): Promise<MakeswiftPageSnapshot> {\n const client = new MakeswiftClient({ uri: new URL('graphql', this.apiOrigin).href })\n const cacheData = await client.prefetch(document.data)\n\n return { document, apiOrigin: this.apiOrigin.href, cacheData }\n }\n\n private async getPageSnapshotByPageId(\n pageId: string,\n { preview = false }: { preview?: boolean } = {},\n ): Promise<MakeswiftPageSnapshot | null> {\n const searchParams = new URLSearchParams({ preview: String(preview) })\n const response = await this.fetch(`/v1/pages/${pageId}/document?${searchParams}`)\n\n if (!response.ok) {\n if (response.status === 404) return null\n\n throw new Error(`Failed to get snapshot with error: \"${response.statusText}\"`)\n }\n\n const document: MakeswiftPageDocument = await response.json()\n\n return await this.createSnapshot(document)\n }\n\n async getPageSnapshot(\n path: string,\n { preview }: { preview?: boolean } = {},\n ): Promise<MakeswiftPageSnapshot | null> {\n const [page] = await this.getPages({ path })\n\n if (page == null) return null\n\n const snapshot = this.getPageSnapshotByPageId(page.id, { preview })\n\n return snapshot\n }\n}\n","type Props = {\n isPreview?: boolean\n appOrigin?: string\n}\n\nexport function PreviewModeScript({\n isPreview = false,\n appOrigin = 'https://app.makeswift.com',\n}: Props) {\n const __html = `\nconst isPreview = ${isPreview}\nconst appOrigin = '${appOrigin.replace(\"'\", \"\\\\'\")}'\nconst searchParamName = 'x-makeswift-preview-mode'\nconst headerName = 'X-Makeswift-Preview-Mode'\nconst originalUrl = new URL(window.location.href)\n\nif (window.parent !== window) {\n window.addEventListener('message', event => {\n if (event.origin === appOrigin && event.data.type === 'makeswift_preview_mode') {\n const { secret } = event.data\n\n if (!isPreview && !originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.set(searchParamName, secret)\n\n window.location.replace(url)\n } else {\n const originalFetch = window.fetch\n\n window.fetch = function patchedFetch(input, init) {\n return originalFetch.call(this, input, {\n ...init,\n headers: { ...init?.headers, [headerName]: secret },\n })\n }\n }\n }\n })\n\n window.parent.postMessage({ type: 'makeswift_preview_mode' }, appOrigin)\n}\n\nif (originalUrl.searchParams.has(searchParamName)) {\n const url = new URL(originalUrl)\n\n url.searchParams.delete(searchParamName)\n\n window.history.replaceState(null, '', url)\n}\n`\n\n return <script id=\"makeswift-preview-mode\" type=\"module\" dangerouslySetInnerHTML={{ __html }} />\n}\n\nexport type MakeswiftPreviewData = { makeswift: true }\n","import { cache } from '@emotion/css'\nimport createEmotionServer from '@emotion/server/create-instance'\nimport NextDocument, {\n DocumentContext,\n DocumentInitialProps,\n Head,\n Html,\n Main,\n NextScript,\n} from 'next/document'\nimport { KeyUtils } from 'slate'\nimport { ServerStyleSheet } from 'styled-components'\nimport { PreviewModeScript } from './preview-mode'\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 render() {\n const { isPreview } = this.props.__NEXT_DATA__\n\n return (\n <Html>\n <Head>\n <PreviewModeScript isPreview={isPreview} />\n </Head>\n <body>\n <Main />\n <NextScript />\n </body>\n </Html>\n )\n }\n}\n","import { CookieSerializeOptions, serialize } from 'cookie'\nimport Cors from 'cors'\nimport { createProxyServer } from 'http-proxy'\nimport { NextApiHandler } from 'next'\nimport { parse } from 'set-cookie-parser'\nimport { version } from '../../package.json'\n\ntype MakeswiftApiHandlerConfig = {\n appOrigin?: string\n}\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n { appOrigin = 'https://app.makeswift.com' }: MakeswiftApiHandlerConfig = {},\n): NextApiHandler {\n const cors = Cors({ origin: appOrigin })\n const previewModeProxy = createProxyServer()\n\n previewModeProxy.on('proxyReq', proxyReq => {\n proxyReq.removeHeader('X-Makeswift-Preview-Mode')\n\n const url = new URL(proxyReq.path, 'http://n')\n\n url.searchParams.delete('x-makeswift-preview-mode')\n\n proxyReq.path = url.pathname + url.search\n })\n\n if (typeof apiKey !== 'string') {\n throw new Error(\n 'The Makeswift Next.js API handler must be passed a valid Makeswift site API key: ' +\n \"`MakeswiftApiHandler('<makeswift_site_api_key>')`\\n\" +\n `Received \"${apiKey}\" instead.`,\n )\n }\n\n return async function makeswiftApiHandler(req, res) {\n await new Promise<void>((resolve, reject) => {\n cors(req, res, err => {\n if (err instanceof Error) reject(err)\n else resolve()\n })\n })\n\n const { makeswift } = req.query\n\n if (!Array.isArray(makeswift)) {\n throw new Error(\n 'The Makeswift Next.js API handler must be used in a dynamic catch-all route named `[...makeswift]`.\\n' +\n `Received \"${makeswift}\" for the \\`makeswift\\` param instead.\\n` +\n 'Read more about dynamic catch-all routes here: https://nextjs.org/docs/routing/dynamic-routes#catch-all-routes',\n )\n }\n\n const action = makeswift.join('/')\n\n switch (action) {\n case 'manifest': {\n if (req.query.secret !== apiKey) return res.status(401).json({ message: 'Unauthorized' })\n\n return res.json({\n version,\n previewMode: true,\n })\n }\n\n case 'revalidate': {\n if (req.query.secret !== apiKey) {\n return res.status(401).json({ message: 'Unauthorized' })\n }\n\n if (typeof req.query.path !== 'string') {\n return res.status(400).json({ message: 'Bad Request' })\n }\n\n const revalidate = res.revalidate ?? res.unstable_revalidate\n\n if (typeof revalidate !== 'function') {\n const message =\n `Cannot revalidate path \"${req.query.path}\" because \\`revalidate\\` function does not exist in API handler response. ` +\n 'Please update to Next.js v12.2.0 or higher for support for on-demand revalidation.\\n' +\n 'Read more here: https://nextjs.org/blog/next-12-2#on-demand-incremental-static-regeneration-stable'\n\n console.warn(message)\n\n return res.json({ revalidated: false })\n }\n\n try {\n await revalidate(req.query.path)\n\n return res.json({ revalidated: true })\n } catch (error) {\n return res.status(500).json({ message: 'Error Revalidating' })\n }\n }\n\n case 'proxy-preview-mode': {\n if (req.query.secret !== apiKey) return res.status(401).send('Unauthorized')\n\n const host = req.headers.host\n\n if (host == null) return res.status(400).send('Bad Request')\n\n const forwardedProto = req.headers['x-forwarded-proto']\n\n const proto = typeof forwardedProto === 'string' ? forwardedProto : 'http'\n let target = `${proto}://${host}`\n\n // During local development we want to use the local Next.js address for proxying. The\n // reason we want to do this is that the user might be using a local SSL proxy to deal with\n // mixed content browser limitations. If the user generates a locally-trusted CA for their\n // SSL cert, it's likely that Node.js won't trust this CA unless they used the\n // `NODE_EXTRA_CA_CERTS` option (see https://stackoverflow.com/a/68135600). To provide a\n // better developer experience, instead of requiring the user to provide the CA to Node.js,\n // we just proxy directly to the running Next.js process.\n if (process.env['NODE_ENV'] !== 'production') {\n const port = req.socket.localPort\n\n if (port != null) target = `http://localhost:${port}`\n }\n\n const setCookie = res.setPreviewData({ makeswift: true }).getHeader('Set-Cookie')\n res.removeHeader('Set-Cookie')\n\n if (!Array.isArray(setCookie)) return res.status(500).send('Internal Server Error')\n\n const cookie = parse(setCookie)\n .map(cookie => serialize(cookie.name, cookie.value, cookie as CookieSerializeOptions))\n .join(';')\n\n return await new Promise<void>((resolve, reject) =>\n previewModeProxy.web(req, res, { target, headers: { cookie } }, err => {\n if (err) reject(err)\n else resolve()\n }),\n )\n }\n\n default:\n return res.status(404).json({ message: 'Not Found' })\n }\n }\n}\n","import { useEffect, useState } from 'react'\n\nimport { RuntimeProvider } from '../runtimes/react'\nimport { Page as PageMeta } from '../components/page'\nimport { MakeswiftClient } from '../api/react'\nimport { MakeswiftPageSnapshot } from './client'\n\nexport { MakeswiftClient }\n\nexport type PageProps = {\n snapshot: MakeswiftPageSnapshot\n}\n\nimport {\n GetServerSidePropsContext,\n GetServerSidePropsResult,\n GetStaticPathsResult,\n GetStaticPropsContext,\n GetStaticPropsResult,\n} from 'next'\nimport { Makeswift } from './client'\nimport { MakeswiftPreviewData } from './preview-mode'\n\nfunction getApiOrigin(): string {\n const apiOriginString = process['env'].MAKESWIFT_API_HOST ?? 'https://api.makeswift.com'\n\n try {\n const url = new URL(apiOriginString)\n\n return url.origin\n } catch (error) {\n const errorMessage =\n '\"MAKESWIFT_API_HOST\" environment variable must be a valid URL. ' +\n `Expected something like \"https://api.makeswift.com\" but instead received \"${apiOriginString}\".`\n\n throw new Error(errorMessage)\n }\n}\n\nconst uuidRegExp =\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/\n\nfunction getApiKey(): string {\n const apiKey = process['env'].MAKESWIFT_SITE_API_KEY\n\n if (apiKey == null) {\n const errorMessage =\n '\"MAKESWIFT_SITE_API_KEY\" environment variable must be set. ' +\n 'Please add your site API key to your `.env.local` file. ' +\n 'More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables'\n\n throw new Error(errorMessage)\n }\n\n if (!uuidRegExp.test(apiKey)) {\n const errorMEssage =\n `Invalid Makeswift site API key \"${apiKey}\". ` +\n 'Please check your `.env.local` file for the \"MAKESWIFT_SITE_API_KEY\" environment variable. ' +\n 'More info: https://www.makeswift.com/docs/guides/manual-setup#add-environment-variables'\n\n throw new Error(errorMEssage)\n }\n\n return apiKey\n}\n\ntype ParsedUrlQuery = { path?: string[] }\n\nfunction deprecationWarning(methodName: string): void {\n const warningMessage =\n `The \\`${methodName}\\` export has been deprecated and will be removed in the next minor version. ` +\n 'More info: https://github.com/makeswift/makeswift/releases/tag/%40makeswift%2Fruntime%400.2.0'\n\n if (process.env['NODE_ENV'] !== 'production') console.warn(warningMessage)\n}\n\nexport async function getStaticPaths(): Promise<GetStaticPathsResult<ParsedUrlQuery>> {\n deprecationWarning('getStaticPaths')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const pages = await makeswift.getPages()\n\n return {\n paths: pages.map(page => ({\n params: { path: page.path.split('/').filter(segment => segment !== '') },\n })),\n fallback: 'blocking',\n }\n}\n\nconst REVALIDATE_SECONDS = 1\n\nexport async function getStaticProps(\n ctx: GetStaticPropsContext<ParsedUrlQuery, MakeswiftPreviewData>,\n): Promise<GetStaticPropsResult<PageProps>> {\n deprecationWarning('getStaticProps')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const path = '/' + (ctx.params?.path ?? []).join('/')\n const snapshot = await makeswift.getPageSnapshot(path, {\n preview: ctx.previewData?.makeswift === true,\n })\n\n if (snapshot == null) return { notFound: true, revalidate: REVALIDATE_SECONDS }\n\n return { props: { snapshot }, revalidate: REVALIDATE_SECONDS }\n}\n\nexport async function getServerSideProps(\n ctx: GetServerSidePropsContext<{ path?: string[] }>,\n): Promise<GetServerSidePropsResult<PageProps>> {\n deprecationWarning('getServerSideProps')\n\n const makeswift = new Makeswift(getApiKey(), { apiOrigin: getApiOrigin() })\n const path = '/' + (ctx.params?.path ?? []).join('/')\n const snapshot = await makeswift.getPageSnapshot(path, { preview: true })\n\n if (snapshot == null) return { notFound: true }\n\n return { props: { snapshot } }\n}\n\nexport function Page({ snapshot }: PageProps) {\n const [client] = useState(\n () =>\n new MakeswiftClient({\n uri: new URL('graphql', snapshot.apiOrigin).href,\n cacheData: snapshot.cacheData,\n }),\n )\n\n useEffect(() => {\n client.updateCacheData(snapshot.cacheData)\n }, [client, snapshot])\n\n return (\n <RuntimeProvider\n client={client}\n rootElements={new Map([[snapshot.document.id, snapshot.document.data]])}\n >\n <PageMeta document={snapshot.document} />\n </RuntimeProvider>\n )\n}\n\nexport * from './client'\nexport * from './preview-mode'\nexport * from './document'\nexport * from './api-handler'\nexport * from './dynamic'\n"],"names":["isPreview","appOrigin","__html","replace","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","seal","render","__NEXT_DATA__","_jsx","_jsxs","apiOriginString","process","MAKESWIFT_API_HOST","url","URL","origin","error","errorMessage","Error","uuidRegExp","apiKey","MAKESWIFT_SITE_API_KEY","test","errorMEssage","methodName","warningMessage","env","console","warn","deprecationWarning","makeswift","Makeswift","getApiKey","apiOrigin","getApiOrigin","pages","getPages","paths","map","page","params","path","split","filter","segment","fallback","REVALIDATE_SECONDS","snapshot","getPageSnapshot","preview","previewData","notFound","revalidate","client","useState","MakeswiftClient","uri","href","cacheData","useEffect","updateCacheData","Map","document","id","data","PageMeta"],"mappings":"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"}
1
+ {"version":3,"file":"next.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -21,7 +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
+ var next = require("./index.cjs.js");
25
25
  var immutable = require("immutable");
26
26
  var reactPage = require("./react-page.cjs.js");
27
27
  var actions = require("./actions.cjs.js");
@@ -170,7 +170,7 @@ function measureElements() {
170
170
  const changedDocumentBoxModels = /* @__PURE__ */ new Map();
171
171
  measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
172
172
  const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
173
- if (currentBoxModel == null || !index.deepEqual(currentBoxModel, measuredBoxModel)) {
173
+ if (currentBoxModel == null || !next.deepEqual(currentBoxModel, measuredBoxModel)) {
174
174
  changedDocumentBoxModels.set(elementKey, measuredBoxModel);
175
175
  }
176
176
  });
@@ -247,7 +247,7 @@ function startMeasuringDocumentElement() {
247
247
  };
248
248
  function handleAnimationFrameRequest() {
249
249
  const nextSize = getElementSize(window.document.documentElement);
250
- if (!index.deepEqual(lastSize, nextSize)) {
250
+ if (!next.deepEqual(lastSize, nextSize)) {
251
251
  lastSize = nextSize;
252
252
  dispatch(actions.changeDocumentElementSize(nextSize));
253
253
  }
@@ -272,7 +272,7 @@ function initialize() {
272
272
  };
273
273
  }
274
274
  function measureBoxModelsMiddleware() {
275
- return ({ dispatch }) => (next) => {
275
+ return ({ dispatch }) => (next2) => {
276
276
  return (action) => {
277
277
  switch (action.type) {
278
278
  case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
@@ -285,12 +285,12 @@ function measureBoxModelsMiddleware() {
285
285
  dispatch(actions.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey));
286
286
  break;
287
287
  }
288
- return next(action);
288
+ return next2(action);
289
289
  };
290
290
  };
291
291
  }
292
292
  function messageChannelMiddleware() {
293
- return ({ dispatch, getState }) => (next) => {
293
+ return ({ dispatch, getState }) => (next2) => {
294
294
  const messageChannel = new MessageChannel();
295
295
  let cleanUp = () => {
296
296
  };
@@ -337,7 +337,7 @@ function messageChannelMiddleware() {
337
337
  cleanUp();
338
338
  break;
339
339
  }
340
- return next(action);
340
+ return next2(action);
341
341
  };
342
342
  };
343
343
  }
@@ -355,7 +355,7 @@ function createAndRegisterPropControllers(documentKey, elementKey) {
355
355
  };
356
356
  }
357
357
  function propControllerHandlesMiddleware() {
358
- return ({ dispatch, getState }) => (next) => {
358
+ return ({ dispatch, getState }) => (next2) => {
359
359
  return (action) => {
360
360
  switch (action.type) {
361
361
  case actions.ActionTypes.REGISTER_COMPONENT_HANDLE: {
@@ -381,12 +381,12 @@ function propControllerHandlesMiddleware() {
381
381
  propController.recv(action.payload.message);
382
382
  }
383
383
  }
384
- return next(action);
384
+ return next2(action);
385
385
  };
386
386
  };
387
387
  }
388
388
  function apolloClientCacheSyncMiddleware(client) {
389
- return () => (next) => {
389
+ return () => (next2) => {
390
390
  return (action) => {
391
391
  switch (action.type) {
392
392
  case actions.ActionTypes.CHANGE_API_RESOURCE: {
@@ -402,7 +402,7 @@ function apolloClientCacheSyncMiddleware(client) {
402
402
  client.cache.evict({ id: action.payload.id });
403
403
  break;
404
404
  }
405
- return next(action);
405
+ return next2(action);
406
406
  };
407
407
  };
408
408
  }