@makeswift/runtime 0.24.9-canary.1 → 0.24.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/site-version/index.js +103 -0
- package/dist/cjs/api/site-version/index.js.map +1 -0
- package/dist/cjs/api-handler/cookies.js +38 -0
- package/dist/cjs/api-handler/cookies.js.map +1 -0
- package/dist/cjs/api-handler/cors.js +48 -0
- package/dist/cjs/api-handler/cors.js.map +1 -0
- package/dist/cjs/api-handler/handlers/element-tree.js +41 -0
- package/dist/cjs/api-handler/handlers/element-tree.js.map +1 -0
- package/dist/cjs/api-handler/handlers/fonts.js +33 -0
- package/dist/cjs/api-handler/handlers/fonts.js.map +1 -0
- package/dist/cjs/api-handler/handlers/manifest.js +49 -0
- package/dist/cjs/api-handler/handlers/manifest.js.map +1 -0
- package/dist/cjs/api-handler/handlers/merge-translated-data.js +41 -0
- package/dist/cjs/api-handler/handlers/merge-translated-data.js.map +1 -0
- package/dist/cjs/api-handler/handlers/redirect-live.js +52 -0
- package/dist/cjs/api-handler/handlers/redirect-live.js.map +1 -0
- package/dist/cjs/api-handler/handlers/revalidate.js +60 -0
- package/dist/cjs/api-handler/handlers/revalidate.js.map +1 -0
- package/dist/cjs/api-handler/handlers/translatable-data.js +42 -0
- package/dist/cjs/api-handler/handlers/translatable-data.js.map +1 -0
- package/dist/cjs/api-handler/handlers/webhook/index.js +51 -0
- package/dist/cjs/api-handler/handlers/webhook/index.js.map +1 -0
- package/dist/cjs/api-handler/handlers/webhook/site-published.js +37 -0
- package/dist/cjs/api-handler/handlers/webhook/site-published.js.map +1 -0
- package/dist/cjs/api-handler/handlers/webhook/types.js +46 -0
- package/dist/cjs/api-handler/handlers/webhook/types.js.map +1 -0
- package/dist/cjs/api-handler/index.js +117 -0
- package/dist/cjs/api-handler/index.js.map +1 -0
- package/dist/cjs/api-handler/node-request-response.js +99 -0
- package/dist/cjs/api-handler/node-request-response.js.map +1 -0
- package/dist/cjs/api-handler/preview.js +34 -0
- package/dist/cjs/api-handler/preview.js.map +1 -0
- package/dist/cjs/api-handler/request-response.js +52 -0
- package/dist/cjs/api-handler/request-response.js.map +1 -0
- package/dist/cjs/components/shared/react-player.js +41 -0
- package/dist/cjs/components/shared/react-player.js.map +1 -0
- package/dist/cjs/jest-setup.js +41 -0
- package/dist/cjs/jest-setup.js.map +1 -0
- package/dist/cjs/next/api-handler/app-router-handler.js +17 -0
- package/dist/cjs/next/api-handler/app-router-handler.js.map +1 -0
- package/dist/cjs/next/api-handler/config/app-router.js +63 -0
- package/dist/cjs/next/api-handler/config/app-router.js.map +1 -0
- package/dist/cjs/next/api-handler/config/base.js +39 -0
- package/dist/cjs/next/api-handler/config/base.js.map +1 -0
- package/dist/cjs/next/api-handler/config/pages-router.js +63 -0
- package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/app-router-redirect-preview.js +81 -0
- package/dist/cjs/next/api-handler/handlers/app-router-redirect-preview.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/element-tree.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/fonts.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/merge-translated-data.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/pages-router-redirect-preview.js +68 -0
- package/dist/cjs/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/revalidate.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/translatable-data.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/webhook/index.js.map +1 -1
- package/dist/cjs/next/api-handler/index.js +3 -2
- package/dist/cjs/next/api-handler/index.js.map +1 -1
- package/dist/cjs/next/api-handler/preview.js +43 -0
- package/dist/cjs/next/api-handler/preview.js.map +1 -0
- package/dist/cjs/next/app-router-site-version.js +47 -0
- package/dist/cjs/next/app-router-site-version.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/app-router/HeadSnippet.js +43 -0
- package/dist/cjs/next/components/framework-provider/app-router/HeadSnippet.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/app-router/index.js +36 -0
- package/dist/cjs/next/components/framework-provider/app-router/index.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/index.js +64 -0
- package/dist/cjs/next/components/framework-provider/index.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/link.js +69 -0
- package/dist/cjs/next/components/framework-provider/link.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/pages-router/HeadSnippet.js +58 -0
- package/dist/cjs/next/components/framework-provider/pages-router/HeadSnippet.js.map +1 -0
- package/dist/cjs/next/components/framework-provider/pages-router/index.js +44 -0
- package/dist/cjs/next/components/framework-provider/pages-router/index.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/box-component.js +124 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/box-component.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/button-component.js +109 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/button-component.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/image-component.js +193 -0
- package/dist/cjs/next/components/tests/__fixtures__/element-data/image-component.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/page-document.js +46 -0
- package/dist/cjs/next/components/tests/__fixtures__/page-document.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/files.js +39 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/files.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/index.js +27 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/index.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/page-pathname-slices.js +33 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +1 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/swatches.js +35 -0
- package/dist/cjs/next/components/tests/__fixtures__/resources/swatches.js.map +1 -0
- package/dist/cjs/next/hooks/use-router-locale-sync.js +49 -0
- package/dist/cjs/next/hooks/use-router-locale-sync.js.map +1 -0
- package/dist/cjs/next/runtime-provider.js +37 -0
- package/dist/cjs/next/runtime-provider.js.map +1 -0
- package/dist/cjs/next/testing/breakpoints.js +35 -0
- package/dist/cjs/next/testing/breakpoints.js.map +1 -0
- package/dist/cjs/next/testing/element-data.js +102 -0
- package/dist/cjs/next/testing/element-data.js.map +1 -0
- package/dist/cjs/next/testing/index.js +29 -0
- package/dist/cjs/next/testing/index.js.map +1 -0
- package/dist/cjs/next/testing/page-rendering.js +65 -0
- package/dist/cjs/next/testing/page-rendering.js.map +1 -0
- package/dist/cjs/next/testing/react-provider.js +40 -0
- package/dist/cjs/next/testing/react-provider.js.map +1 -0
- package/dist/cjs/next/tests/__fixtures__/element-tree.js +1776 -0
- package/dist/cjs/next/tests/__fixtures__/element-tree.js.map +1 -0
- package/dist/cjs/next/tests/__fixtures__/resources.js +99 -0
- package/dist/cjs/next/tests/__fixtures__/resources.js.map +1 -0
- package/dist/cjs/next/tests/__fixtures__/translated-data.js +83 -0
- package/dist/cjs/next/tests/__fixtures__/translated-data.js.map +1 -0
- package/dist/cjs/runtimes/react/components/MakeswiftComponent.js +51 -0
- package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -0
- package/dist/cjs/runtimes/react/components/Slot.js +38 -0
- package/dist/cjs/runtimes/react/components/Slot.js.map +1 -0
- package/dist/cjs/runtimes/react/components/SlotProvider.js +41 -0
- package/dist/cjs/runtimes/react/components/SlotProvider.js.map +1 -0
- package/dist/cjs/runtimes/react/components/framework-context.js +76 -0
- package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -0
- package/dist/cjs/runtimes/react/components/hooks/use-framework-context.js +33 -0
- package/dist/cjs/runtimes/react/components/hooks/use-framework-context.js.map +1 -0
- package/dist/cjs/runtimes/react/components/hooks/use-page-snippets.js +89 -0
- package/dist/cjs/runtimes/react/components/hooks/use-page-snippets.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/BodySnippet.js +65 -0
- package/dist/cjs/runtimes/react/components/page/BodySnippet.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/HeadSnippet.js +118 -0
- package/dist/cjs/runtimes/react/components/page/HeadSnippet.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/Page.js +44 -0
- package/dist/cjs/runtimes/react/components/page/Page.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/PageHead.js +121 -0
- package/dist/cjs/runtimes/react/components/page/PageHead.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/head-tags.js +52 -0
- package/dist/cjs/runtimes/react/components/page/head-tags.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/index.js +63 -0
- package/dist/cjs/runtimes/react/components/page/index.js.map +1 -0
- package/dist/cjs/runtimes/react/components/page/page-seo-settings.js +43 -0
- package/dist/cjs/runtimes/react/components/page/page-seo-settings.js.map +1 -0
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-switcher.js +58 -0
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-toolbar.js +87 -0
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
- package/dist/cjs/runtimes/react/root-style-registry.js +105 -0
- package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -0
- package/dist/cjs/state/toolkit.js +54 -0
- package/dist/cjs/state/toolkit.js.map +1 -0
- package/dist/cjs/testing/fixtures.js +38 -0
- package/dist/cjs/testing/fixtures.js.map +1 -0
- package/dist/cjs/utils/esm-compat.js +29 -0
- package/dist/cjs/utils/esm-compat.js.map +1 -0
- package/dist/esm/api/site-version/index.js +75 -0
- package/dist/esm/api/site-version/index.js.map +1 -0
- package/dist/esm/api-handler/cookies.js +13 -0
- package/dist/esm/api-handler/cookies.js.map +1 -0
- package/dist/esm/api-handler/cors.js +24 -0
- package/dist/esm/api-handler/cors.js.map +1 -0
- package/dist/esm/api-handler/handlers/element-tree.js +17 -0
- package/dist/esm/api-handler/handlers/element-tree.js.map +1 -0
- package/dist/esm/api-handler/handlers/fonts.js +9 -0
- package/dist/esm/api-handler/handlers/fonts.js.map +1 -0
- package/dist/esm/api-handler/handlers/manifest.js +28 -0
- package/dist/esm/api-handler/handlers/manifest.js.map +1 -0
- package/dist/esm/api-handler/handlers/merge-translated-data.js +17 -0
- package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -0
- package/dist/esm/api-handler/handlers/redirect-live.js +27 -0
- package/dist/esm/api-handler/handlers/redirect-live.js.map +1 -0
- package/dist/esm/api-handler/handlers/revalidate.js +29 -0
- package/dist/esm/api-handler/handlers/revalidate.js.map +1 -0
- package/dist/esm/api-handler/handlers/translatable-data.js +18 -0
- package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -0
- package/dist/esm/api-handler/handlers/webhook/index.js +30 -0
- package/dist/esm/api-handler/handlers/webhook/index.js.map +1 -0
- package/dist/esm/api-handler/handlers/webhook/site-published.js +13 -0
- package/dist/esm/api-handler/handlers/webhook/site-published.js.map +1 -0
- package/dist/esm/api-handler/handlers/webhook/types.js +21 -0
- package/dist/esm/api-handler/handlers/webhook/types.js.map +1 -0
- package/dist/esm/api-handler/index.js +96 -0
- package/dist/esm/api-handler/index.js.map +1 -0
- package/dist/esm/api-handler/node-request-response.js +73 -0
- package/dist/esm/api-handler/node-request-response.js.map +1 -0
- package/dist/esm/api-handler/preview.js +9 -0
- package/dist/esm/api-handler/preview.js.map +1 -0
- package/dist/esm/api-handler/request-response.js +27 -0
- package/dist/esm/api-handler/request-response.js.map +1 -0
- package/dist/esm/components/shared/react-player.js +7 -0
- package/dist/esm/components/shared/react-player.js.map +1 -0
- package/dist/esm/jest-setup.js +40 -0
- package/dist/esm/jest-setup.js.map +1 -0
- package/dist/esm/next/api-handler/app-router-handler.js +1 -0
- package/dist/esm/next/api-handler/app-router-handler.js.map +1 -0
- package/dist/esm/next/api-handler/config/app-router.js +38 -0
- package/dist/esm/next/api-handler/config/app-router.js.map +1 -0
- package/dist/esm/next/api-handler/config/base.js +15 -0
- package/dist/esm/next/api-handler/config/base.js.map +1 -0
- package/dist/esm/next/api-handler/config/pages-router.js +38 -0
- package/dist/esm/next/api-handler/config/pages-router.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/app-router-redirect-preview.js +64 -0
- package/dist/esm/next/api-handler/handlers/app-router-redirect-preview.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/element-tree.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/fonts.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/merge-translated-data.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js +52 -0
- package/dist/esm/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/revalidate.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/translatable-data.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/webhook/index.js.map +1 -1
- package/dist/esm/next/api-handler/index.js +3 -2
- package/dist/esm/next/api-handler/index.js.map +1 -1
- package/dist/esm/next/api-handler/preview.js +15 -0
- package/dist/esm/next/api-handler/preview.js.map +1 -0
- package/dist/esm/next/app-router-site-version.js +23 -0
- package/dist/esm/next/app-router-site-version.js.map +1 -0
- package/dist/esm/next/components/framework-provider/app-router/HeadSnippet.js +22 -0
- package/dist/esm/next/components/framework-provider/app-router/HeadSnippet.js.map +1 -0
- package/dist/esm/next/components/framework-provider/app-router/index.js +14 -0
- package/dist/esm/next/components/framework-provider/app-router/index.js.map +1 -0
- package/dist/esm/next/components/framework-provider/index.js +33 -0
- package/dist/esm/next/components/framework-provider/index.js.map +1 -0
- package/dist/esm/next/components/framework-provider/link.js +35 -0
- package/dist/esm/next/components/framework-provider/link.js.map +1 -0
- package/dist/esm/next/components/framework-provider/pages-router/HeadSnippet.js +28 -0
- package/dist/esm/next/components/framework-provider/pages-router/HeadSnippet.js.map +1 -0
- package/dist/esm/next/components/framework-provider/pages-router/index.js +10 -0
- package/dist/esm/next/components/framework-provider/pages-router/index.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/box-component.js +99 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/box-component.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/button-component.js +83 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/button-component.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/image-component.js +169 -0
- package/dist/esm/next/components/tests/__fixtures__/element-data/image-component.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/page-document.js +22 -0
- package/dist/esm/next/components/tests/__fixtures__/page-document.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/files.js +15 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/files.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/index.js +4 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/index.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js +9 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/page-pathname-slices.js.map +1 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js +11 -0
- package/dist/esm/next/components/tests/__fixtures__/resources/swatches.js.map +1 -0
- package/dist/esm/next/hooks/use-router-locale-sync.js +25 -0
- package/dist/esm/next/hooks/use-router-locale-sync.js.map +1 -0
- package/dist/esm/next/runtime-provider.js +13 -0
- package/dist/esm/next/runtime-provider.js.map +1 -0
- package/dist/esm/next/testing/breakpoints.js +9 -0
- package/dist/esm/next/testing/breakpoints.js.map +1 -0
- package/dist/esm/next/testing/element-data.js +76 -0
- package/dist/esm/next/testing/element-data.js.map +1 -0
- package/dist/esm/next/testing/index.js +5 -0
- package/dist/esm/next/testing/index.js.map +1 -0
- package/dist/esm/next/testing/page-rendering.js +40 -0
- package/dist/esm/next/testing/page-rendering.js.map +1 -0
- package/dist/esm/next/testing/react-provider.js +16 -0
- package/dist/esm/next/testing/react-provider.js.map +1 -0
- package/dist/esm/next/tests/__fixtures__/element-tree.js +1752 -0
- package/dist/esm/next/tests/__fixtures__/element-tree.js.map +1 -0
- package/dist/esm/next/tests/__fixtures__/resources.js +69 -0
- package/dist/esm/next/tests/__fixtures__/resources.js.map +1 -0
- package/dist/esm/next/tests/__fixtures__/translated-data.js +59 -0
- package/dist/esm/next/tests/__fixtures__/translated-data.js.map +1 -0
- package/dist/esm/runtimes/react/components/MakeswiftComponent.js +29 -0
- package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -0
- package/dist/esm/runtimes/react/components/Slot.js +14 -0
- package/dist/esm/runtimes/react/components/Slot.js.map +1 -0
- package/dist/esm/runtimes/react/components/SlotProvider.js +16 -0
- package/dist/esm/runtimes/react/components/SlotProvider.js.map +1 -0
- package/dist/esm/runtimes/react/components/framework-context.js +53 -0
- package/dist/esm/runtimes/react/components/framework-context.js.map +1 -0
- package/dist/esm/runtimes/react/components/hooks/use-framework-context.js +9 -0
- package/dist/esm/runtimes/react/components/hooks/use-framework-context.js.map +1 -0
- package/dist/esm/runtimes/react/components/hooks/use-page-snippets.js +55 -0
- package/dist/esm/runtimes/react/components/hooks/use-page-snippets.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/BodySnippet.js +41 -0
- package/dist/esm/runtimes/react/components/page/BodySnippet.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/HeadSnippet.js +80 -0
- package/dist/esm/runtimes/react/components/page/HeadSnippet.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/Page.js +20 -0
- package/dist/esm/runtimes/react/components/page/Page.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/PageHead.js +97 -0
- package/dist/esm/runtimes/react/components/page/PageHead.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/head-tags.js +25 -0
- package/dist/esm/runtimes/react/components/page/head-tags.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/index.js +41 -0
- package/dist/esm/runtimes/react/components/page/index.js.map +1 -0
- package/dist/esm/runtimes/react/components/page/page-seo-settings.js +19 -0
- package/dist/esm/runtimes/react/components/page/page-seo-settings.js.map +1 -0
- package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js +34 -0
- package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
- package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js +63 -0
- package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
- package/dist/esm/runtimes/react/root-style-registry.js +66 -0
- package/dist/esm/runtimes/react/root-style-registry.js.map +1 -0
- package/dist/esm/state/toolkit.js +28 -0
- package/dist/esm/state/toolkit.js.map +1 -0
- package/dist/esm/testing/fixtures.js +13 -0
- package/dist/esm/testing/fixtures.js.map +1 -0
- package/dist/esm/utils/esm-compat.js +5 -0
- package/dist/esm/utils/esm-compat.js.map +1 -0
- package/dist/types/api/site-version/index.d.ts +19 -0
- package/dist/types/api/site-version/index.d.ts.map +1 -0
- package/dist/types/api/site-version/site-version.test.d.ts +2 -0
- package/dist/types/api/site-version/site-version.test.d.ts.map +1 -0
- package/dist/types/api-handler/cookies.d.ts +9 -0
- package/dist/types/api-handler/cookies.d.ts.map +1 -0
- package/dist/types/api-handler/cors.d.ts +10 -0
- package/dist/types/api-handler/cors.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/element-tree.d.ts +9 -0
- package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/fonts.d.ts +18 -0
- package/dist/types/api-handler/handlers/fonts.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/manifest.d.ts +18 -0
- package/dist/types/api-handler/handlers/manifest.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/merge-translated-data.d.ts +11 -0
- package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/redirect-live.d.ts +6 -0
- package/dist/types/api-handler/handlers/redirect-live.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/revalidate.d.ts +10 -0
- package/dist/types/api-handler/handlers/revalidate.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/translatable-data.d.ts +15 -0
- package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/webhook/index.d.ts +12 -0
- package/dist/types/api-handler/handlers/webhook/index.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/webhook/site-published.d.ts +8 -0
- package/dist/types/api-handler/handlers/webhook/site-published.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/webhook/types.d.ts +120 -0
- package/dist/types/api-handler/handlers/webhook/types.d.ts.map +1 -0
- package/dist/types/api-handler/index.d.ts +35 -0
- package/dist/types/api-handler/index.d.ts.map +1 -0
- package/dist/types/api-handler/node-request-response.d.ts +8 -0
- package/dist/types/api-handler/node-request-response.d.ts.map +1 -0
- package/dist/types/api-handler/node-request-response.test.d.ts +2 -0
- package/dist/types/api-handler/node-request-response.test.d.ts.map +1 -0
- package/dist/types/api-handler/preview.d.ts +5 -0
- package/dist/types/api-handler/preview.d.ts.map +1 -0
- package/dist/types/api-handler/request-response.d.ts +13 -0
- package/dist/types/api-handler/request-response.d.ts.map +1 -0
- package/dist/types/components/shared/react-player.d.ts +3 -0
- package/dist/types/components/shared/react-player.d.ts.map +1 -0
- package/dist/types/next/api-handler/app-router-handler.d.ts +8 -0
- package/dist/types/next/api-handler/app-router-handler.d.ts.map +1 -0
- package/dist/types/next/api-handler/config/app-router.d.ts +18 -0
- package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -0
- package/dist/types/next/api-handler/config/base.d.ts +15 -0
- package/dist/types/next/api-handler/config/base.d.ts.map +1 -0
- package/dist/types/next/api-handler/config/pages-router.d.ts +11 -0
- package/dist/types/next/api-handler/config/pages-router.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/app-router-redirect-preview.d.ts +5 -0
- package/dist/types/next/api-handler/handlers/app-router-redirect-preview.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/app-router-redirect-preview.test.d.ts +2 -0
- package/dist/types/next/api-handler/handlers/app-router-redirect-preview.test.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/clear-draft.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/element-tree.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/element-tree.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/fonts.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/fonts.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/manifest.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/manifest.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/pages-router-redirect-preview.d.ts +4 -0
- package/dist/types/next/api-handler/handlers/pages-router-redirect-preview.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/revalidate.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/revalidate.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/translatable-data.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/translatable-data.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/webhook/index.d.ts +1 -5
- package/dist/types/next/api-handler/handlers/webhook/index.d.ts.map +1 -1
- package/dist/types/next/api-handler/index.d.ts +2 -6
- package/dist/types/next/api-handler/index.d.ts.map +1 -1
- package/dist/types/next/api-handler/preview.d.ts +8 -0
- package/dist/types/next/api-handler/preview.d.ts.map +1 -0
- package/dist/types/next/app-router-site-version.d.ts +3 -0
- package/dist/types/next/app-router-site-version.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/app-router/HeadSnippet.d.ts +5 -0
- package/dist/types/next/components/framework-provider/app-router/HeadSnippet.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/app-router/index.d.ts +3 -0
- package/dist/types/next/components/framework-provider/app-router/index.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/index.d.ts +5 -0
- package/dist/types/next/components/framework-provider/index.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/link.d.ts +2 -0
- package/dist/types/next/components/framework-provider/link.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/pages-router/HeadSnippet.d.ts +5 -0
- package/dist/types/next/components/framework-provider/pages-router/HeadSnippet.d.ts.map +1 -0
- package/dist/types/next/components/framework-provider/pages-router/index.d.ts +3 -0
- package/dist/types/next/components/framework-provider/pages-router/index.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/box-component.d.ts +8 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/box-component.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/button-component.d.ts +9 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/button-component.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/image-component.d.ts +7 -0
- package/dist/types/next/components/tests/__fixtures__/element-data/image-component.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/page-document.d.ts +3 -0
- package/dist/types/next/components/tests/__fixtures__/page-document.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/resources/files.d.ts +3 -0
- package/dist/types/next/components/tests/__fixtures__/resources/files.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/resources/index.d.ts +4 -0
- package/dist/types/next/components/tests/__fixtures__/resources/index.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/resources/page-pathname-slices.d.ts +3 -0
- package/dist/types/next/components/tests/__fixtures__/resources/page-pathname-slices.d.ts.map +1 -0
- package/dist/types/next/components/tests/__fixtures__/resources/swatches.d.ts +3 -0
- package/dist/types/next/components/tests/__fixtures__/resources/swatches.d.ts.map +1 -0
- package/dist/types/next/components/tests/components/box-component-rendering.test.d.ts +3 -0
- package/dist/types/next/components/tests/components/box-component-rendering.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/components/button-component-rendering.test.d.ts +3 -0
- package/dist/types/next/components/tests/components/button-component-rendering.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/components/image-component-rendering.test.d.ts +3 -0
- package/dist/types/next/components/tests/components/image-component-rendering.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/makeswift-page-snippets-rendering.test.d.ts +3 -0
- package/dist/types/next/components/tests/makeswift-page-snippets-rendering.test.d.ts.map +1 -0
- package/dist/types/next/hooks/use-router-locale-sync.d.ts +2 -0
- package/dist/types/next/hooks/use-router-locale-sync.d.ts.map +1 -0
- package/dist/types/next/runtime-provider.d.ts +4 -0
- package/dist/types/next/runtime-provider.d.ts.map +1 -0
- package/dist/types/next/testing/breakpoints.d.ts +4 -0
- package/dist/types/next/testing/breakpoints.d.ts.map +1 -0
- package/dist/types/next/testing/element-data.d.ts +55 -0
- package/dist/types/next/testing/element-data.d.ts.map +1 -0
- package/dist/types/next/testing/index.d.ts +5 -0
- package/dist/types/next/testing/index.d.ts.map +1 -0
- package/dist/types/next/testing/page-rendering.d.ts +10 -0
- package/dist/types/next/testing/page-rendering.d.ts.map +1 -0
- package/dist/types/next/testing/react-provider.d.ts +9 -0
- package/dist/types/next/testing/react-provider.d.ts.map +1 -0
- package/dist/types/next/tests/__fixtures__/element-tree.d.ts +3 -0
- package/dist/types/next/tests/__fixtures__/element-tree.d.ts.map +1 -0
- package/dist/types/next/tests/__fixtures__/resources.d.ts +9 -0
- package/dist/types/next/tests/__fixtures__/resources.d.ts.map +1 -0
- package/dist/types/next/tests/__fixtures__/translated-data.d.ts +56 -0
- package/dist/types/next/tests/__fixtures__/translated-data.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-app-router-redirect-preview.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-app-router-redirect-preview.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-cors.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-cors.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-element-tree.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-element-tree.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-error-handling.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-error-handling.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-fonts.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-fonts.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-manifest.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-manifest.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-merge-translated-data.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-merge-translated-data.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-pages-router-redirect-preview.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-pages-router-redirect-preview.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-redirect-live.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-redirect-live.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-resources.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-resources.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-revalidate.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-revalidate.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-translatable-data.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-translatable-data.test.d.ts.map +1 -0
- package/dist/types/next/tests/server.api-handler-webhook.test.d.ts +2 -0
- package/dist/types/next/tests/server.api-handler-webhook.test.d.ts.map +1 -0
- package/dist/types/runtimes/react/__tests__/react-runtime.test.d.ts +2 -0
- package/dist/types/runtimes/react/__tests__/react-runtime.test.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/MakeswiftComponent.d.ts +10 -0
- package/dist/types/runtimes/react/components/MakeswiftComponent.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/Slot.d.ts +10 -0
- package/dist/types/runtimes/react/components/Slot.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/SlotProvider.d.ts +11 -0
- package/dist/types/runtimes/react/components/SlotProvider.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/framework-context.d.ts +42 -0
- package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/hooks/use-framework-context.d.ts +3 -0
- package/dist/types/runtimes/react/components/hooks/use-framework-context.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/hooks/use-page-snippets.d.ts +8 -0
- package/dist/types/runtimes/react/components/hooks/use-page-snippets.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/BodySnippet.d.ts +7 -0
- package/dist/types/runtimes/react/components/page/BodySnippet.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts +9 -0
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/Page.d.ts +11 -0
- package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/PageHead.d.ts +9 -0
- package/dist/types/runtimes/react/components/page/PageHead.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/head-tags.d.ts +19 -0
- package/dist/types/runtimes/react/components/page/head-tags.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/index.d.ts +28 -0
- package/dist/types/runtimes/react/components/page/index.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/page/page-seo-settings.d.ts +11 -0
- package/dist/types/runtimes/react/components/page/page-seo-settings.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/preview-switcher/preview-switcher.d.ts +4 -0
- package/dist/types/runtimes/react/components/preview-switcher/preview-switcher.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/preview-switcher/preview-toolbar.d.ts +2 -0
- package/dist/types/runtimes/react/components/preview-switcher/preview-toolbar.d.ts.map +1 -0
- package/dist/types/runtimes/react/root-style-registry.d.ts +42 -0
- package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -0
- package/dist/types/state/__tests__/actions.test.d.ts +2 -0
- package/dist/types/state/__tests__/actions.test.d.ts.map +1 -0
- package/dist/types/state/toolkit.d.ts +11 -0
- package/dist/types/state/toolkit.d.ts.map +1 -0
- package/dist/types/testing/fixtures.d.ts +7 -0
- package/dist/types/testing/fixtures.d.ts.map +1 -0
- package/dist/types/utils/esm-compat.d.ts +2 -0
- package/dist/types/utils/esm-compat.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/index.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\nimport { handleSitePublished } from './site-published'\nimport {\n OnPublish,\n sitePublishedWebhookPayloadSchema,\n WebhookEventType,\n WebhookPayloadSchema,\n WebhookResponseBody,\n} from './types'\
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/api-handler/handlers/webhook/index.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\nimport { handleSitePublished } from './site-published'\nimport {\n OnPublish,\n sitePublishedWebhookPayloadSchema,\n WebhookEventType,\n WebhookPayloadSchema,\n WebhookResponseBody,\n} from './types'\nimport { Context } from '../../app-router-handler'\n\ntype WebhookParams = {\n apiKey: string\n events?: { onPublish?: OnPublish }\n}\n\nexport type WebhookHandlerArgs =\n | [request: NextRequest, context: Context, params: WebhookParams]\n | [req: NextApiRequest, res: NextApiResponse<WebhookResponseBody>, params: WebhookParams]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nfunction getSecret(args: WebhookHandlerArgs) {\n return match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('secret'))\n .with(apiRoutePattern, ([req]) => req.query.secret)\n .exhaustive()\n}\n\nfunction getRequestBody(args: WebhookHandlerArgs) {\n return match(args)\n .with(routeHandlerPattern, ([request]) => request.json())\n .with(apiRoutePattern, ([req]) => req.body)\n .exhaustive()\n}\n\nfunction respond(args: WebhookHandlerArgs, response: WebhookResponseBody, status?: number) {\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(response, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status ?? 200).json(response))\n .exhaustive()\n}\n\nexport default async function handler(\n request: NextRequest,\n context: Context,\n { apiKey, events }: WebhookParams,\n): Promise<NextResponse<WebhookResponseBody>>\nexport default async function handler(\n req: NextApiRequest,\n res: NextApiResponse<WebhookResponseBody>,\n { apiKey, events }: WebhookParams,\n): Promise<void>\nexport default async function handler(\n ...args: WebhookHandlerArgs\n): Promise<NextResponse<WebhookResponseBody> | void> {\n const [, , { apiKey, events }] = args\n const secret = getSecret(args)\n\n if (secret !== apiKey) return respond(args, { message: 'Unauthorized' }, 401)\n\n let payload: WebhookPayloadSchema\n\n try {\n const body = await getRequestBody(args)\n payload = sitePublishedWebhookPayloadSchema.parse(body)\n } catch (error) {\n console.error(error)\n return respond(args, { message: 'Invalid request body' }, 400)\n }\n\n const result = await match(payload.type)\n .with(WebhookEventType.SITE_PUBLISHED, () =>\n handleSitePublished(payload, { onPublish: events?.onPublish }),\n )\n .exhaustive()\n\n return respond(args, result.body, result.status)\n}\n"],"mappings":"AACA,SAAsB,oBAAoB;AAC1C,SAAS,GAAG,aAAa;AACzB,SAAS,2BAA2B;AACpC;AAAA,EAEE;AAAA,EACA;AAAA,OAGK;AAYP,MAAM,sBAAsB,CAAC,EAAE,WAAW,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;AAE5C,SAAS,UAAU,MAA0B;AAC3C,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,QAAQ,aAAa,IAAI,QAAQ,CAAC,EACnF,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,MAAM,EACjD,WAAW;AAChB;AAEA,SAAS,eAAe,MAA0B;AAChD,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,QAAQ,KAAK,CAAC,EACvD,KAAK,iBAAiB,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EACzC,WAAW;AAChB;AAEA,SAAS,QAAQ,MAA0B,UAA+B,QAAiB;AACzF,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,MAAM,aAAa,KAAK,UAAU,EAAE,OAAO,CAAC,CAAC,EACvE,KAAK,iBAAiB,CAAC,CAAC,EAAE,GAAG,MAAM,IAAI,OAAO,UAAU,GAAG,EAAE,KAAK,QAAQ,CAAC,EAC3E,WAAW;AAChB;AAYA,eAAO,WACF,MACgD;AACnD,QAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,OAAO,CAAC,IAAI;AACjC,QAAM,SAAS,UAAU,IAAI;AAE7B,MAAI,WAAW;AAAQ,WAAO,QAAQ,MAAM,EAAE,SAAS,eAAe,GAAG,GAAG;AAE5E,MAAI;AAEJ,MAAI;AACF,UAAM,OAAO,MAAM,eAAe,IAAI;AACtC,cAAU,kCAAkC,MAAM,IAAI;AAAA,EACxD,SAAS,OAAO;AACd,YAAQ,MAAM,KAAK;AACnB,WAAO,QAAQ,MAAM,EAAE,SAAS,uBAAuB,GAAG,GAAG;AAAA,EAC/D;AAEA,QAAM,SAAS,MAAM,MAAM,QAAQ,IAAI,EACpC;AAAA,IAAK,iBAAiB;AAAA,IAAgB,MACrC,oBAAoB,SAAS,EAAE,WAAW,QAAQ,UAAU,CAAC;AAAA,EAC/D,EACC,WAAW;AAEd,SAAO,QAAQ,MAAM,OAAO,MAAM,OAAO,MAAM;AACjD;","names":[]}
|
|
@@ -37,7 +37,7 @@ Received "${apiKey}" instead.`
|
|
|
37
37
|
}
|
|
38
38
|
const routeHandlerPattern = [P.instanceOf(Request), P.any];
|
|
39
39
|
const apiRoutePattern = [P.any, P.any];
|
|
40
|
-
|
|
40
|
+
function handler(...args) {
|
|
41
41
|
return match(args).with(routeHandlerPattern, async (args2) => {
|
|
42
42
|
const [req] = args2;
|
|
43
43
|
if (req.method.toUpperCase() === "OPTIONS") {
|
|
@@ -68,7 +68,8 @@ Received "${apiKey}" instead.`
|
|
|
68
68
|
});
|
|
69
69
|
return await makeswiftApiHandler(...args2);
|
|
70
70
|
}).exhaustive();
|
|
71
|
-
}
|
|
71
|
+
}
|
|
72
|
+
return handler;
|
|
72
73
|
function getSiteVersionFromRequest(args) {
|
|
73
74
|
const header = match(args).with(
|
|
74
75
|
routeHandlerPattern,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/api-handler/index.ts"],"sourcesContent":["import Cors from 'cors'\nimport { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { Match, match as matchPattern } from 'path-to-regexp'\nimport { APIResource } from '../../api'\nimport { Makeswift } from '../client'\n\nimport elementTree, { ElementTreeResponse } from './handlers/element-tree'\nimport fonts, { Font, FontsResponse, GetFonts } from './handlers/fonts'\nimport manifest, { Manifest, ManifestResponse } from './handlers/manifest'\nimport redirectDraft, { type RedirectDraftResponse } from './handlers/redirect-draft'\nimport redirectPreview, { type RedirectPreviewResponse } from './handlers/redirect-preview'\nimport clearDraft, { type ClearDraftResponse } from './handlers/clear-draft'\nimport { revalidate, RevalidationResponse } from './handlers/revalidate'\nimport translatableData, { TranslatableDataResponse } from './handlers/translatable-data'\nimport mergeTranslatedData, { TranslatedDataResponse } from './handlers/merge-translated-data'\nimport webhook from './handlers/webhook'\nimport { OnPublish, WebhookResponseBody } from './handlers/webhook/types'\nimport { ReactRuntime } from '../../react'\nimport { P, match } from 'ts-pattern'\nimport {\n API_HANDLER_SITE_VERSION_HEADER,\n MakeswiftSiteVersion,\n makeswiftSiteVersionSchema,\n} from '../../api/site-version'\n\nexport type { Manifest, Font }\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype Events = { onPublish: OnPublish }\n\ntype MakeswiftApiHandlerConfig = {\n appOrigin?: string\n apiOrigin?: string\n getFonts?: GetFonts\n events?: Events\n runtime: ReactRuntime\n}\n\ntype NotFoundError = { message: string }\n\nexport type MakeswiftApiHandlerResponse =\n | ManifestResponse\n | RevalidationResponse\n | RedirectDraftResponse\n | RedirectPreviewResponse\n | ClearDraftResponse\n | FontsResponse\n | ElementTreeResponse\n | TranslatableDataResponse\n | TranslatedDataResponse\n | APIResource\n | NotFoundError\n | WebhookResponseBody\n\ntype MakeswiftApiHandlerArgs =\n | [NextRequest, Context]\n | [NextApiRequest, NextApiResponse<MakeswiftApiHandlerResponse>]\n\nfunction apiRequestParams(request: NextApiRequest): Promise<NextApiRequest['query']> {\n // `NextApiRequest.query` prop became async in Next.js 15, but it's not reflected in the type definition;\n // force-casting it to a `Promise` manually\n return Promise.resolve(request.query)\n}\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n {\n appOrigin = 'https://app.makeswift.com',\n apiOrigin = 'https://api.makeswift.com',\n getFonts,\n events,\n runtime,\n }: MakeswiftApiHandlerConfig,\n): (...args: MakeswiftApiHandlerArgs) => Promise<NextResponse<MakeswiftApiHandlerResponse> | void> {\n const cors = Cors({ origin: appOrigin })\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 const routeHandlerPattern = [P.instanceOf(Request), P.any] as const\n const apiRoutePattern = [P.any, P.any] as const\n\n return function handler(\n ...args: MakeswiftApiHandlerArgs\n ): Promise<NextResponse<MakeswiftApiHandlerResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, async args => {\n const [req] = args\n if (req.method.toUpperCase() === 'OPTIONS') {\n return new NextResponse(null, {\n status: 204,\n headers: new Headers({\n 'Content-Length': '0',\n 'Access-Control-Allow-Origin': appOrigin,\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n }),\n })\n }\n\n const response = await makeswiftApiHandler(...args)\n\n response.headers.append('Access-Control-Allow-Origin', appOrigin)\n response.headers.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')\n response.headers.append('Access-Control-Allow-Headers', 'Content-Type, Authorization')\n\n return response\n })\n .with(apiRoutePattern, async args => {\n const [req, res] = args\n\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 return await makeswiftApiHandler(...args)\n })\n .exhaustive()\n }\n\n function getSiteVersionFromRequest(args: MakeswiftApiHandlerArgs): MakeswiftSiteVersion {\n const header = match(args)\n .with(routeHandlerPattern, ([request]) =>\n request.headers.get(API_HANDLER_SITE_VERSION_HEADER),\n )\n .with(apiRoutePattern, ([req]) => req.headers[API_HANDLER_SITE_VERSION_HEADER.toLowerCase()])\n .exhaustive()\n\n const parsed = makeswiftSiteVersionSchema.safeParse(header)\n if (!parsed.success) return MakeswiftSiteVersion.Live\n return parsed.data\n }\n\n async function makeswiftApiHandler(\n request: NextRequest,\n context: Context,\n ): Promise<NextResponse<MakeswiftApiHandlerResponse>>\n async function makeswiftApiHandler(\n req: NextApiRequest,\n res: NextApiResponse<MakeswiftApiHandlerResponse>,\n ): Promise<void>\n async function makeswiftApiHandler(\n ...args: MakeswiftApiHandlerArgs\n ): Promise<NextResponse<MakeswiftApiHandlerResponse> | void> {\n const params = match(args)\n .with(routeHandlerPattern, ([, context]) => context.params)\n .with(apiRoutePattern, ([req]) => apiRequestParams(req))\n .exhaustive()\n\n const { makeswift } = await params\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 client = new Makeswift(apiKey, { apiOrigin, runtime })\n const siteVersion = getSiteVersionFromRequest(args)\n const action = '/' + makeswift.join('/')\n const matches = <T extends object>(pattern: string): Match<T> =>\n matchPattern<T>(pattern, { decode: decodeURIComponent })(action)\n\n let m\n\n if (matches('/manifest')) {\n return match(args)\n .with(routeHandlerPattern, args => manifest(...args, { apiKey }))\n .with(apiRoutePattern, args => manifest(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/revalidate')) {\n return match(args)\n .with(routeHandlerPattern, args => revalidate(...args, { apiKey }))\n .with(apiRoutePattern, args => revalidate(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/draft')) {\n return match(args)\n .with(routeHandlerPattern, args => redirectDraft(...args, { apiKey }))\n .with(apiRoutePattern, args => redirectDraft(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/preview')) {\n return match(args)\n .with(routeHandlerPattern, args => redirectPreview(...args, { apiKey }))\n .with(apiRoutePattern, args => redirectPreview(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/clear-draft')) {\n return match(args)\n .with(routeHandlerPattern, args => clearDraft(...args, { apiKey }))\n .with(apiRoutePattern, args => clearDraft(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/fonts')) {\n return match(args)\n .with(routeHandlerPattern, args => fonts(...args, { getFonts }))\n .with(apiRoutePattern, args => fonts(...args, { getFonts }))\n .exhaustive()\n }\n\n if (matches('/element-tree')) {\n return match(args)\n .with(routeHandlerPattern, args => elementTree(...args, runtime))\n .with(apiRoutePattern, args => elementTree(...args, runtime))\n .exhaustive()\n }\n\n if (matches('/translatable-data')) {\n return match(args)\n .with(routeHandlerPattern, args => translatableData(...args, client))\n .with(apiRoutePattern, args => translatableData(...args, client))\n .exhaustive()\n }\n\n if (matches('/merge-translated-data')) {\n return match(args)\n .with(routeHandlerPattern, args => mergeTranslatedData(...args, client))\n .with(apiRoutePattern, args => mergeTranslatedData(...args, client))\n .exhaustive()\n }\n\n if (matches('/webhook')) {\n return match(args)\n .with(routeHandlerPattern, args => webhook(...args, { apiKey, events }))\n .with(apiRoutePattern, args => webhook(...args, { apiKey, events }))\n .exhaustive()\n }\n\n const handleResource = <T extends APIResource>(\n resource: T | null,\n ): NextResponse<MakeswiftApiHandlerResponse> | void => {\n const status = resource === null ? 404 : 200\n const body = resource === null ? { message: 'Not Found' } : resource\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n\n if ((m = matches<{ id: string }>('/swatches/:id'))) {\n return client.getSwatch(m.params.id, siteVersion).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/files/:id'))) {\n return client.getFile(m.params.id).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/typographies/:id'))) {\n return client.getTypography(m.params.id, siteVersion).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/global-elements/:id'))) {\n return client.getGlobalElement(m.params.id, siteVersion).then(handleResource)\n }\n\n if (\n (m = matches<{ globalElementId: string; locale: string }>(\n '/localized-global-elements/:globalElementId/:locale',\n ))\n ) {\n return client\n .getLocalizedGlobalElement(m.params.globalElementId, m.params.locale, siteVersion)\n .then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/page-pathname-slices/:id'))) {\n const localeParam = match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('locale'))\n .with(apiRoutePattern, ([req]) => req.query.locale)\n .exhaustive()\n const locale = typeof localeParam === 'string' ? localeParam : undefined\n\n return client.getPagePathnameSlice(m.params.id, siteVersion, { locale }).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/tables/:id'))) {\n return client.getTable(m.params.id).then(handleResource)\n }\n\n const status = 404\n const body = { message: 'Not Found' }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n}\n"],"mappings":"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","names":["args","status","body"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/api-handler/index.ts"],"sourcesContent":["import Cors from 'cors'\nimport { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { Match, match as matchPattern } from 'path-to-regexp'\nimport { APIResource } from '../../api'\nimport { Makeswift } from '../client'\n\nimport elementTree, { ElementTreeResponse } from './handlers/element-tree'\nimport fonts, { Font, FontsResponse, GetFonts } from './handlers/fonts'\nimport manifest, { Manifest, ManifestResponse } from './handlers/manifest'\nimport redirectDraft, { type RedirectDraftResponse } from './handlers/redirect-draft'\nimport redirectPreview, { type RedirectPreviewResponse } from './handlers/redirect-preview'\nimport clearDraft, { type ClearDraftResponse } from './handlers/clear-draft'\nimport { revalidate, RevalidationResponse } from './handlers/revalidate'\nimport translatableData, { TranslatableDataResponse } from './handlers/translatable-data'\nimport mergeTranslatedData, { TranslatedDataResponse } from './handlers/merge-translated-data'\nimport webhook from './handlers/webhook'\nimport { OnPublish, WebhookResponseBody } from './handlers/webhook/types'\nimport { ReactRuntime } from '../../react'\nimport { P, match } from 'ts-pattern'\nimport {\n API_HANDLER_SITE_VERSION_HEADER,\n MakeswiftSiteVersion,\n makeswiftSiteVersionSchema,\n} from '../../api/site-version'\nimport { type Context } from './app-router-handler'\n\nexport type { Manifest, Font }\n\ntype Events = { onPublish: OnPublish }\n\ntype MakeswiftApiHandlerConfig = {\n appOrigin?: string\n apiOrigin?: string\n getFonts?: GetFonts\n events?: Events\n runtime: ReactRuntime\n}\n\ntype NotFoundError = { message: string }\n\nexport type MakeswiftApiHandlerResponse =\n | ManifestResponse\n | RevalidationResponse\n | RedirectDraftResponse\n | RedirectPreviewResponse\n | ClearDraftResponse\n | FontsResponse\n | ElementTreeResponse\n | TranslatableDataResponse\n | TranslatedDataResponse\n | APIResource\n | NotFoundError\n | WebhookResponseBody\n\ntype MakeswiftApiHandlerArgs =\n | [NextRequest, Context]\n | [NextApiRequest, NextApiResponse<MakeswiftApiHandlerResponse>]\n\nfunction apiRequestParams(request: NextApiRequest): Promise<NextApiRequest['query']> {\n // `NextApiRequest.query` prop became async in Next.js 15, but it's not reflected in the type definition;\n // force-casting it to a `Promise` manually\n return Promise.resolve(request.query)\n}\n\nexport function MakeswiftApiHandler(\n apiKey: string,\n {\n appOrigin = 'https://app.makeswift.com',\n apiOrigin = 'https://api.makeswift.com',\n getFonts,\n events,\n runtime,\n }: MakeswiftApiHandlerConfig,\n): (\n ...args: MakeswiftApiHandlerArgs\n) => Promise<NextResponse<MakeswiftApiHandlerResponse>> | Promise<void> {\n const cors = Cors({ origin: appOrigin })\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 const routeHandlerPattern = [P.instanceOf(Request), P.any] as const\n const apiRoutePattern = [P.any, P.any] as const\n\n function handler(\n ...args: MakeswiftApiHandlerArgs\n ): Promise<NextResponse<MakeswiftApiHandlerResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, async args => {\n const [req] = args\n if (req.method.toUpperCase() === 'OPTIONS') {\n return new NextResponse(null, {\n status: 204,\n headers: new Headers({\n 'Content-Length': '0',\n 'Access-Control-Allow-Origin': appOrigin,\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type, Authorization',\n }),\n })\n }\n\n const response = await makeswiftApiHandler(...args)\n\n response.headers.append('Access-Control-Allow-Origin', appOrigin)\n response.headers.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')\n response.headers.append('Access-Control-Allow-Headers', 'Content-Type, Authorization')\n\n return response\n })\n .with(apiRoutePattern, async args => {\n const [req, res] = args\n\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 return await makeswiftApiHandler(...args)\n })\n .exhaustive()\n }\n\n return handler as (\n ...args: MakeswiftApiHandlerArgs\n ) => Promise<NextResponse<MakeswiftApiHandlerResponse>> | Promise<void>\n\n function getSiteVersionFromRequest(args: MakeswiftApiHandlerArgs): MakeswiftSiteVersion {\n const header = match(args)\n .with(routeHandlerPattern, ([request]) =>\n request.headers.get(API_HANDLER_SITE_VERSION_HEADER),\n )\n .with(apiRoutePattern, ([req]) => req.headers[API_HANDLER_SITE_VERSION_HEADER.toLowerCase()])\n .exhaustive()\n\n const parsed = makeswiftSiteVersionSchema.safeParse(header)\n if (!parsed.success) return MakeswiftSiteVersion.Live\n return parsed.data\n }\n\n async function makeswiftApiHandler(\n request: NextRequest,\n context: Context,\n ): Promise<NextResponse<MakeswiftApiHandlerResponse>>\n async function makeswiftApiHandler(\n req: NextApiRequest,\n res: NextApiResponse<MakeswiftApiHandlerResponse>,\n ): Promise<void>\n async function makeswiftApiHandler(\n ...args: MakeswiftApiHandlerArgs\n ): Promise<NextResponse<MakeswiftApiHandlerResponse> | void> {\n const params = match(args)\n .with(routeHandlerPattern, ([, context]) => context.params)\n .with(apiRoutePattern, ([req]) => apiRequestParams(req))\n .exhaustive()\n\n const { makeswift } = await params\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 client = new Makeswift(apiKey, { apiOrigin, runtime })\n const siteVersion = getSiteVersionFromRequest(args)\n const action = '/' + makeswift.join('/')\n const matches = <T extends object>(pattern: string): Match<T> =>\n matchPattern<T>(pattern, { decode: decodeURIComponent })(action)\n\n let m\n\n if (matches('/manifest')) {\n return match(args)\n .with(routeHandlerPattern, args => manifest(...args, { apiKey }))\n .with(apiRoutePattern, args => manifest(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/revalidate')) {\n return match(args)\n .with(routeHandlerPattern, args => revalidate(...args, { apiKey }))\n .with(apiRoutePattern, args => revalidate(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/draft')) {\n return match(args)\n .with(routeHandlerPattern, args => redirectDraft(...args, { apiKey }))\n .with(apiRoutePattern, args => redirectDraft(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/preview')) {\n return match(args)\n .with(routeHandlerPattern, args => redirectPreview(...args, { apiKey }))\n .with(apiRoutePattern, args => redirectPreview(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/clear-draft')) {\n return match(args)\n .with(routeHandlerPattern, args => clearDraft(...args, { apiKey }))\n .with(apiRoutePattern, args => clearDraft(...args, { apiKey }))\n .exhaustive()\n }\n\n if (matches('/fonts')) {\n return match(args)\n .with(routeHandlerPattern, args => fonts(...args, { getFonts }))\n .with(apiRoutePattern, args => fonts(...args, { getFonts }))\n .exhaustive()\n }\n\n if (matches('/element-tree')) {\n return match(args)\n .with(routeHandlerPattern, args => elementTree(...args, runtime))\n .with(apiRoutePattern, args => elementTree(...args, runtime))\n .exhaustive()\n }\n\n if (matches('/translatable-data')) {\n return match(args)\n .with(routeHandlerPattern, args => translatableData(...args, client))\n .with(apiRoutePattern, args => translatableData(...args, client))\n .exhaustive()\n }\n\n if (matches('/merge-translated-data')) {\n return match(args)\n .with(routeHandlerPattern, args => mergeTranslatedData(...args, client))\n .with(apiRoutePattern, args => mergeTranslatedData(...args, client))\n .exhaustive()\n }\n\n if (matches('/webhook')) {\n return match(args)\n .with(routeHandlerPattern, args => webhook(...args, { apiKey, events }))\n .with(apiRoutePattern, args => webhook(...args, { apiKey, events }))\n .exhaustive()\n }\n\n const handleResource = <T extends APIResource>(\n resource: T | null,\n ): NextResponse<MakeswiftApiHandlerResponse> | void => {\n const status = resource === null ? 404 : 200\n const body = resource === null ? { message: 'Not Found' } : resource\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n\n if ((m = matches<{ id: string }>('/swatches/:id'))) {\n return client.getSwatch(m.params.id, siteVersion).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/files/:id'))) {\n return client.getFile(m.params.id).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/typographies/:id'))) {\n return client.getTypography(m.params.id, siteVersion).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/global-elements/:id'))) {\n return client.getGlobalElement(m.params.id, siteVersion).then(handleResource)\n }\n\n if (\n (m = matches<{ globalElementId: string; locale: string }>(\n '/localized-global-elements/:globalElementId/:locale',\n ))\n ) {\n return client\n .getLocalizedGlobalElement(m.params.globalElementId, m.params.locale, siteVersion)\n .then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/page-pathname-slices/:id'))) {\n const localeParam = match(args)\n .with(routeHandlerPattern, ([request]) => request.nextUrl.searchParams.get('locale'))\n .with(apiRoutePattern, ([req]) => req.query.locale)\n .exhaustive()\n const locale = typeof localeParam === 'string' ? localeParam : undefined\n\n return client.getPagePathnameSlice(m.params.id, siteVersion, { locale }).then(handleResource)\n }\n\n if ((m = matches<{ id: string }>('/tables/:id'))) {\n return client.getTable(m.params.id).then(handleResource)\n }\n\n const status = 404\n const body = { message: 'Not Found' }\n\n return match(args)\n .with(routeHandlerPattern, () => NextResponse.json(body, { status }))\n .with(apiRoutePattern, ([, res]) => res.status(status).json(body))\n .exhaustive()\n }\n}\n"],"mappings":"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","names":["args","status","body"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MAKESWIFT_SITE_VERSION_COOKIE, SearchParams } from "../../api-handler/preview";
|
|
2
|
+
const PRERENDER_BYPASS_COOKIE = "__prerender_bypass";
|
|
3
|
+
const PREVIEW_DATA_COOKIE = "__next_preview_data";
|
|
4
|
+
const RewriteRuleMatches = {
|
|
5
|
+
PreviewToken: "makeswiftRewritePreviewToken",
|
|
6
|
+
OriginalPath: "makeswiftRewriteOriginalPath"
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
MAKESWIFT_SITE_VERSION_COOKIE,
|
|
10
|
+
PRERENDER_BYPASS_COOKIE,
|
|
11
|
+
PREVIEW_DATA_COOKIE,
|
|
12
|
+
RewriteRuleMatches,
|
|
13
|
+
SearchParams
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/api-handler/preview.ts"],"sourcesContent":["export { MAKESWIFT_SITE_VERSION_COOKIE, SearchParams } from '../../api-handler/preview'\n\nexport const PRERENDER_BYPASS_COOKIE = '__prerender_bypass'\nexport const PREVIEW_DATA_COOKIE = '__next_preview_data'\n\n// When there's a rewrite rule match, the matching values are included as query\n// parameters in the request URL, where the parameter name is the expression\n// used to match the value in the next.config. This behavior is typically\n// observed on projects deployed to Vercel. We keep track of these param names\n// so we can remove them in any subsequent redirects. Ideally, we can remove\n// this behavior altogether when we no longer rely on rewrites, or use something\n// like middleware.\n//\n// See:\n// https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites#rewrite-parameters\nexport const RewriteRuleMatches = {\n PreviewToken: 'makeswiftRewritePreviewToken',\n OriginalPath: 'makeswiftRewriteOriginalPath',\n} as const\n"],"mappings":"AAAA,SAAS,+BAA+B,oBAAoB;AAErD,MAAM,0BAA0B;AAChC,MAAM,sBAAsB;AAY5B,MAAM,qBAAqB;AAAA,EAChC,cAAc;AAAA,EACd,cAAc;AAChB;","names":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { cookies, draftMode } from "next/headers";
|
|
2
|
+
import { deserializeSiteVersion } from "../api/site-version";
|
|
3
|
+
import { MAKESWIFT_SITE_VERSION_COOKIE, PRERENDER_BYPASS_COOKIE } from "./api-handler/preview";
|
|
4
|
+
async function getSiteVersion() {
|
|
5
|
+
const { isEnabled: isDraftModeEnabled } = await draftMode();
|
|
6
|
+
if (!isDraftModeEnabled)
|
|
7
|
+
return null;
|
|
8
|
+
const allCookies = await cookies();
|
|
9
|
+
const cookie = allCookies.get(MAKESWIFT_SITE_VERSION_COOKIE);
|
|
10
|
+
if (cookie == null) {
|
|
11
|
+
if (allCookies.get(PRERENDER_BYPASS_COOKIE) == null) {
|
|
12
|
+
console.error(
|
|
13
|
+
"WARNING: Draft mode is enabled, but both the site version and the prerender bypass cookies are missing.\nThis is abnormal and could cause Makeswift editing and preview to not work as expected.\nDouble-check that you're not forcing static rendering (export const dynamic = 'force-static') on your Makeswift pages.\nMore info: https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#dynamic"
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
return deserializeSiteVersion(cookie.value);
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
getSiteVersion
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=app-router-site-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/next/app-router-site-version.tsx"],"sourcesContent":["import { cookies, draftMode } from 'next/headers'\nimport { deserializeSiteVersion, SiteVersion } from '../api/site-version'\nimport { MAKESWIFT_SITE_VERSION_COOKIE, PRERENDER_BYPASS_COOKIE } from './api-handler/preview'\n\nexport async function getSiteVersion(): Promise<SiteVersion | null> {\n const { isEnabled: isDraftModeEnabled } = await draftMode()\n if (!isDraftModeEnabled) return null\n\n const allCookies = await cookies()\n const cookie = allCookies.get(MAKESWIFT_SITE_VERSION_COOKIE)\n if (cookie == null) {\n if (allCookies.get(PRERENDER_BYPASS_COOKIE) == null) {\n // logging this as an error for greater visibility during local development;\n // end-users will not see this warning in production\n console.error(\n 'WARNING: Draft mode is enabled, but both the site version and the prerender bypass cookies are missing.\\n' +\n 'This is abnormal and could cause Makeswift editing and preview to not work as expected.\\n' +\n \"Double-check that you're not forcing static rendering (export const dynamic = 'force-static') on your Makeswift pages.\\n\" +\n 'More info: https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config#dynamic',\n )\n }\n\n return null\n }\n\n return deserializeSiteVersion(cookie.value)\n}\n"],"mappings":"AAAA,SAAS,SAAS,iBAAiB;AACnC,SAAS,8BAA2C;AACpD,SAAS,+BAA+B,+BAA+B;AAEvE,eAAsB,iBAA8C;AAClE,QAAM,EAAE,WAAW,mBAAmB,IAAI,MAAM,UAAU;AAC1D,MAAI,CAAC;AAAoB,WAAO;AAEhC,QAAM,aAAa,MAAM,QAAQ;AACjC,QAAM,SAAS,WAAW,IAAI,6BAA6B;AAC3D,MAAI,UAAU,MAAM;AAClB,QAAI,WAAW,IAAI,uBAAuB,KAAK,MAAM;AAGnD,cAAQ;AAAA,QACN;AAAA,MAIF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,uBAAuB,OAAO,KAAK;AAC5C;","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { useServerInsertedHTML } from "next/navigation";
|
|
4
|
+
import {
|
|
5
|
+
BaseHeadSnippet,
|
|
6
|
+
snippetToElements
|
|
7
|
+
} from "../../../../runtimes/react/components/page/HeadSnippet";
|
|
8
|
+
function HeadSnippet({ snippet }) {
|
|
9
|
+
const headSnippetElements = snippetToElements(snippet);
|
|
10
|
+
const insertedServerHTML = useRef(false);
|
|
11
|
+
useServerInsertedHTML(() => {
|
|
12
|
+
if (insertedServerHTML.current)
|
|
13
|
+
return;
|
|
14
|
+
insertedServerHTML.current = true;
|
|
15
|
+
return headSnippetElements;
|
|
16
|
+
});
|
|
17
|
+
return /* @__PURE__ */ jsx(BaseHeadSnippet, { snippet });
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
HeadSnippet
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=HeadSnippet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/HeadSnippet.tsx"],"sourcesContent":["import { useRef } from 'react'\nimport { useServerInsertedHTML } from 'next/navigation'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n BaseHeadSnippet,\n snippetToElements,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n const headSnippetElements = snippetToElements(snippet)\n const insertedServerHTML = useRef(false)\n\n useServerInsertedHTML(() => {\n if (insertedServerHTML.current) return\n\n insertedServerHTML.current = true\n\n return headSnippetElements\n })\n\n return <BaseHeadSnippet snippet={snippet} />\n}\n"],"mappings":"AAsBS;AAtBT,SAAS,cAAc;AACvB,SAAS,6BAA6B;AAItC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEA,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,QAAM,sBAAsB,kBAAkB,OAAO;AACrD,QAAM,qBAAqB,OAAO,KAAK;AAEvC,wBAAsB,MAAM;AAC1B,QAAI,mBAAmB;AAAS;AAEhC,uBAAmB,UAAU;AAE7B,WAAO;AAAA,EACT,CAAC;AAED,SAAO,oBAAC,mBAAgB,SAAkB;AAC5C;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DefaultHead
|
|
3
|
+
} from "../../../../runtimes/react/components/framework-context";
|
|
4
|
+
import { HeadSnippet } from "./HeadSnippet";
|
|
5
|
+
const context = {
|
|
6
|
+
// The App Router uses built-in React Canary releases, which include all stable
|
|
7
|
+
// React 19 features, so we can simply use our default head implementation
|
|
8
|
+
Head: DefaultHead,
|
|
9
|
+
HeadSnippet
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
context
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/app-router/index.ts"],"sourcesContent":["import {\n type FrameworkContext,\n DefaultHead,\n} from '../../../../runtimes/react/components/framework-context'\n\nimport { HeadSnippet } from './HeadSnippet'\n\nexport const context: Pick<FrameworkContext, 'Head' | 'HeadSnippet'> = {\n // The App Router uses built-in React Canary releases, which include all stable\n // React 19 features, so we can simply use our default head implementation\n Head: DefaultHead,\n HeadSnippet,\n}\n"],"mappings":"AAAA;AAAA,EAEE;AAAA,OACK;AAEP,SAAS,mBAAmB;AAErB,MAAM,UAA0D;AAAA;AAAA;AAAA,EAGrE,MAAM;AAAA,EACN;AACF;","names":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
import NextImage from "next/image";
|
|
5
|
+
import { useIsPagesRouter } from "../../hooks/use-is-pages-router";
|
|
6
|
+
import {
|
|
7
|
+
FrameworkContext,
|
|
8
|
+
versionedFetch
|
|
9
|
+
} from "../../../runtimes/react/components/framework-context";
|
|
10
|
+
import { MAKESWIFT_CACHE_TAG } from "../../cache";
|
|
11
|
+
import { context as appRouterContext } from "./app-router";
|
|
12
|
+
import { context as pagesRouterContext } from "./pages-router";
|
|
13
|
+
import { Link } from "./link";
|
|
14
|
+
function FrameworkProvider({
|
|
15
|
+
children,
|
|
16
|
+
forcePagesRouter
|
|
17
|
+
}) {
|
|
18
|
+
const isPagesRouter = useIsPagesRouter() || forcePagesRouter;
|
|
19
|
+
const context = useMemo(
|
|
20
|
+
() => ({
|
|
21
|
+
...isPagesRouter ? pagesRouterContext : appRouterContext,
|
|
22
|
+
Image: NextImage,
|
|
23
|
+
Link,
|
|
24
|
+
versionedFetch: (siteVersion) => (url, init) => versionedFetch(siteVersion)(url, { ...init, next: { tags: [MAKESWIFT_CACHE_TAG] } })
|
|
25
|
+
}),
|
|
26
|
+
[isPagesRouter]
|
|
27
|
+
);
|
|
28
|
+
return /* @__PURE__ */ jsx(FrameworkContext.Provider, { value: context, children });
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
FrameworkProvider
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/components/framework-provider/index.tsx"],"sourcesContent":["'use client'\n\nimport { type PropsWithChildren, useMemo } from 'react'\nimport NextImage from 'next/image'\n\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\nimport {\n FrameworkContext,\n versionedFetch,\n} from '../../../runtimes/react/components/framework-context'\n\nimport { type SiteVersion } from '../../../api/site-version'\nimport { MAKESWIFT_CACHE_TAG } from '../../cache'\n\nimport { context as appRouterContext } from './app-router'\nimport { context as pagesRouterContext } from './pages-router'\nimport { Link } from './link'\n\nexport function FrameworkProvider({\n children,\n forcePagesRouter,\n}: PropsWithChildren<{ forcePagesRouter?: boolean }>) {\n const isPagesRouter = useIsPagesRouter() || forcePagesRouter\n const context = useMemo<FrameworkContext>(\n () => ({\n ...(isPagesRouter ? pagesRouterContext : appRouterContext),\n Image: NextImage,\n Link,\n versionedFetch: (siteVersion: SiteVersion | null) => (url, init) =>\n versionedFetch(siteVersion)(url, { ...init, next: { tags: [MAKESWIFT_CACHE_TAG] } }),\n }),\n [isPagesRouter],\n )\n\n return <FrameworkContext.Provider value={context}>{children}</FrameworkContext.Provider>\n}\n"],"mappings":";AAkCS;AAhCT,SAAiC,eAAe;AAChD,OAAO,eAAe;AAEtB,SAAS,wBAAwB;AACjC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAGP,SAAS,2BAA2B;AAEpC,SAAS,WAAW,wBAAwB;AAC5C,SAAS,WAAW,0BAA0B;AAC9C,SAAS,YAAY;AAEd,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAAsD;AACpD,QAAM,gBAAgB,iBAAiB,KAAK;AAC5C,QAAM,UAAU;AAAA,IACd,OAAO;AAAA,MACL,GAAI,gBAAgB,qBAAqB;AAAA,MACzC,OAAO;AAAA,MACP;AAAA,MACA,gBAAgB,CAAC,gBAAoC,CAAC,KAAK,SACzD,eAAe,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;AAAA,IACvF;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,oBAAC,iBAAiB,UAAjB,EAA0B,OAAO,SAAU,UAAS;AAC9D;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import NextLink from "next/link";
|
|
5
|
+
import { useIsPagesRouter } from "../../hooks/use-is-pages-router";
|
|
6
|
+
const isValidHref = (href) => {
|
|
7
|
+
try {
|
|
8
|
+
const bases = ["http://n", "https://n"];
|
|
9
|
+
bases.forEach((base) => new URL(href, base));
|
|
10
|
+
} catch (_) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
return true;
|
|
14
|
+
};
|
|
15
|
+
const Link = forwardRef(function Link2({ linkType, href, ...props }, ref) {
|
|
16
|
+
const useNextLink = href != null && (linkType === "OPEN_PAGE" || linkType === "OPEN_URL" && isValidHref(href));
|
|
17
|
+
const isPagesRouter = useIsPagesRouter();
|
|
18
|
+
if (useNextLink) {
|
|
19
|
+
return /* @__PURE__ */ jsx(
|
|
20
|
+
NextLink,
|
|
21
|
+
{
|
|
22
|
+
...props,
|
|
23
|
+
ref,
|
|
24
|
+
href,
|
|
25
|
+
...isPagesRouter ? { locale: false } : {},
|
|
26
|
+
legacyBehavior: false
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
return /* @__PURE__ */ jsx("a", { ...props, ref, href });
|
|
31
|
+
});
|
|
32
|
+
export {
|
|
33
|
+
Link
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/components/framework-provider/link.tsx"],"sourcesContent":["'use client'\n\nimport { type ComponentPropsWithoutRef, forwardRef } from 'react'\nimport NextLink from 'next/link'\n\nimport { type FrameworkContext } from '../../../runtimes/react/components/framework-context'\n\nimport { useIsPagesRouter } from '../../hooks/use-is-pages-router'\n\n// workaround for https://github.com/vercel/next.js/issues/66650\nconst isValidHref = (href: string) => {\n try {\n const bases = ['http://n', 'https://n']\n // - if `href` is a relative path, it will be resolved relative to the base URL\n // - if `href` is a full URL, the base URL will be ignored, even if there is a mismatch of protocols\n // - if `href` is an incomplete, protocol-only URL with a protocol that\n // conflicts with one of the base URL, this will throw\n bases.forEach(base => new URL(href, base))\n } catch (_) {\n return false\n }\n return true\n}\n\nexport const Link = forwardRef<HTMLAnchorElement>(function Link(\n { linkType, href, ...props }: ComponentPropsWithoutRef<FrameworkContext['Link']>,\n ref,\n) {\n const useNextLink =\n href != null && (linkType === 'OPEN_PAGE' || (linkType === 'OPEN_URL' && isValidHref(href)))\n\n const isPagesRouter = useIsPagesRouter()\n\n if (useNextLink) {\n return (\n <NextLink\n {...props}\n ref={ref}\n href={href}\n {...(isPagesRouter ? { locale: false } : {})}\n // Next.js v12 has legacyBehavior set to true by default\n legacyBehavior={false}\n />\n )\n }\n\n return <a {...props} ref={ref} href={href} />\n})\n"],"mappings":";AAmCM;AAjCN,SAAwC,kBAAkB;AAC1D,OAAO,cAAc;AAIrB,SAAS,wBAAwB;AAGjC,MAAM,cAAc,CAAC,SAAiB;AACpC,MAAI;AACF,UAAM,QAAQ,CAAC,YAAY,WAAW;AAKtC,UAAM,QAAQ,UAAQ,IAAI,IAAI,MAAM,IAAI,CAAC;AAAA,EAC3C,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,MAAM,OAAO,WAA8B,SAASA,MACzD,EAAE,UAAU,MAAM,GAAG,MAAM,GAC3B,KACA;AACA,QAAM,cACJ,QAAQ,SAAS,aAAa,eAAgB,aAAa,cAAc,YAAY,IAAI;AAE3F,QAAM,gBAAgB,iBAAiB;AAEvC,MAAI,aAAa;AACf,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACC,GAAI,gBAAgB,EAAE,QAAQ,MAAM,IAAI,CAAC;AAAA,QAE1C,gBAAgB;AAAA;AAAA,IAClB;AAAA,EAEJ;AAEA,SAAO,oBAAC,OAAG,GAAG,OAAO,KAAU,MAAY;AAC7C,CAAC;","names":["Link"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, isValidElement } from "react";
|
|
3
|
+
import Head from "next/head";
|
|
4
|
+
import Script from "next/script";
|
|
5
|
+
import {
|
|
6
|
+
snippetToElements,
|
|
7
|
+
getSnippetElementsFromDOM,
|
|
8
|
+
cleanUpSnippet
|
|
9
|
+
} from "../../../../runtimes/react/components/page/HeadSnippet";
|
|
10
|
+
const isScriptElement = (element) => isValidElement(element) && element.type === "script";
|
|
11
|
+
function HeadSnippet({ snippet }) {
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
return () => {
|
|
14
|
+
const snippetElements = getSnippetElementsFromDOM(snippet);
|
|
15
|
+
if (snippetElements.length > 0)
|
|
16
|
+
return;
|
|
17
|
+
cleanUpSnippet(snippet);
|
|
18
|
+
};
|
|
19
|
+
}, [snippet]);
|
|
20
|
+
const headSnippetElements = snippetToElements(snippet);
|
|
21
|
+
return /* @__PURE__ */ jsx(Fragment, { children: headSnippetElements.map(
|
|
22
|
+
(element, i) => isScriptElement(element) ? /* @__PURE__ */ jsx(Script, { ...element.props, strategy: "beforeInteractive" }, element.key) : /* @__PURE__ */ jsx(Head, { children: element }, isValidElement(element) ? element.key : i)
|
|
23
|
+
) });
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
HeadSnippet
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=HeadSnippet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/HeadSnippet.tsx"],"sourcesContent":["import { type ReactElement, useEffect, isValidElement } from 'react'\n\nimport Head from 'next/head'\nimport Script from 'next/script'\n\nimport { type Snippet } from '../../../../client'\n\nimport {\n snippetToElements,\n getSnippetElementsFromDOM,\n cleanUpSnippet,\n} from '../../../../runtimes/react/components/page/HeadSnippet'\n\nconst isScriptElement = (element: string | JSX.Element): element is ReactElement<any, 'script'> =>\n isValidElement(element) && element.type === 'script'\n\nexport function HeadSnippet({ snippet }: { snippet: Snippet }) {\n useEffect(() => {\n return () => {\n const snippetElements = getSnippetElementsFromDOM(snippet)\n if (snippetElements.length > 0) return\n cleanUpSnippet(snippet)\n }\n }, [snippet])\n\n const headSnippetElements = snippetToElements(snippet)\n\n return (\n <>\n {headSnippetElements.map((element, i) =>\n isScriptElement(element) ? (\n <Script key={element.key} {...element.props} strategy=\"beforeInteractive\" />\n ) : (\n <Head key={isValidElement(element) ? element.key : i}>{element}</Head>\n ),\n )}\n </>\n )\n}\n"],"mappings":"AA4BI,mBAGM,WAHN;AA5BJ,SAA4B,WAAW,sBAAsB;AAE7D,OAAO,UAAU;AACjB,OAAO,YAAY;AAInB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,MAAM,kBAAkB,CAAC,YACvB,eAAe,OAAO,KAAK,QAAQ,SAAS;AAEvC,SAAS,YAAY,EAAE,QAAQ,GAAyB;AAC7D,YAAU,MAAM;AACd,WAAO,MAAM;AACX,YAAM,kBAAkB,0BAA0B,OAAO;AACzD,UAAI,gBAAgB,SAAS;AAAG;AAChC,qBAAe,OAAO;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,sBAAsB,kBAAkB,OAAO;AAErD,SACE,gCACG,8BAAoB;AAAA,IAAI,CAAC,SAAS,MACjC,gBAAgB,OAAO,IACrB,oBAAC,UAA0B,GAAG,QAAQ,OAAO,UAAS,uBAAzC,QAAQ,GAAqD,IAE1E,oBAAC,QAAsD,qBAA5C,eAAe,OAAO,IAAI,QAAQ,MAAM,CAAY;AAAA,EAEnE,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/next/components/framework-provider/pages-router/index.tsx"],"sourcesContent":["import Head from 'next/head'\n\nimport { type FrameworkContext } from '../../../../runtimes/react/components/framework-context'\n\nimport { HeadSnippet } from './HeadSnippet'\n\nexport const context: Pick<FrameworkContext, 'Head' | 'HeadSnippet'> = {\n Head,\n HeadSnippet,\n}\n"],"mappings":"AAAA,OAAO,UAAU;AAIjB,SAAS,mBAAmB;AAErB,MAAM,UAA0D;AAAA,EACrE;AAAA,EACA;AACF;","names":[]}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { MakeswiftComponentType } from "../../../../../components";
|
|
2
|
+
const boxComponentData = ({
|
|
3
|
+
htmlId,
|
|
4
|
+
backgrounds = []
|
|
5
|
+
}) => ({
|
|
6
|
+
key: "a87eab9c-1c2b-462e-8f79-e836dd836271",
|
|
7
|
+
props: {
|
|
8
|
+
backgrounds: {
|
|
9
|
+
"@@makeswift/type": "prop-controllers::backgrounds::v2",
|
|
10
|
+
value: [
|
|
11
|
+
{
|
|
12
|
+
deviceId: "desktop",
|
|
13
|
+
value: backgrounds
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
id: {
|
|
18
|
+
"@@makeswift/type": "prop-controllers::element-id::v1",
|
|
19
|
+
value: htmlId
|
|
20
|
+
},
|
|
21
|
+
margin: {
|
|
22
|
+
"@@makeswift/type": "prop-controllers::margin::v1",
|
|
23
|
+
value: [
|
|
24
|
+
{
|
|
25
|
+
deviceId: "desktop",
|
|
26
|
+
value: {
|
|
27
|
+
marginBottom: {
|
|
28
|
+
unit: "px",
|
|
29
|
+
value: 60
|
|
30
|
+
},
|
|
31
|
+
marginTop: {
|
|
32
|
+
unit: "px",
|
|
33
|
+
value: 40
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
padding: {
|
|
40
|
+
"@@makeswift/type": "prop-controllers::padding::v1",
|
|
41
|
+
value: [
|
|
42
|
+
{
|
|
43
|
+
deviceId: "desktop",
|
|
44
|
+
value: {
|
|
45
|
+
paddingBottom: {
|
|
46
|
+
unit: "px",
|
|
47
|
+
value: 470
|
|
48
|
+
},
|
|
49
|
+
paddingLeft: {
|
|
50
|
+
unit: "px",
|
|
51
|
+
value: 10
|
|
52
|
+
},
|
|
53
|
+
paddingRight: {
|
|
54
|
+
unit: "px",
|
|
55
|
+
value: 10
|
|
56
|
+
},
|
|
57
|
+
paddingTop: {
|
|
58
|
+
unit: "px",
|
|
59
|
+
value: 10
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
},
|
|
65
|
+
width: {
|
|
66
|
+
"@@makeswift/type": "prop-controllers::width::v1",
|
|
67
|
+
value: [
|
|
68
|
+
{
|
|
69
|
+
deviceId: "desktop",
|
|
70
|
+
value: {
|
|
71
|
+
unit: "px",
|
|
72
|
+
value: 1160
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
type: MakeswiftComponentType.Box
|
|
79
|
+
});
|
|
80
|
+
const imageBackgroundData = (imageId) => ({
|
|
81
|
+
id: "d710554f-3b2a-4dc5-8785-44224d09e579",
|
|
82
|
+
payload: {
|
|
83
|
+
imageId,
|
|
84
|
+
opacity: 0.9,
|
|
85
|
+
parallax: 0,
|
|
86
|
+
position: {
|
|
87
|
+
x: 0,
|
|
88
|
+
y: 0
|
|
89
|
+
},
|
|
90
|
+
priority: true,
|
|
91
|
+
size: "contain"
|
|
92
|
+
},
|
|
93
|
+
type: "image"
|
|
94
|
+
});
|
|
95
|
+
export {
|
|
96
|
+
boxComponentData,
|
|
97
|
+
imageBackgroundData
|
|
98
|
+
};
|
|
99
|
+
//# sourceMappingURL=box-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/next/components/tests/__fixtures__/element-data/box-component.ts"],"sourcesContent":["import { type ElementData } from '@makeswift/controls'\nimport { type BackgroundData } from '@makeswift/prop-controllers'\n\nimport { MakeswiftComponentType } from '../../../../../components'\n\nexport const boxComponentData = ({\n htmlId,\n backgrounds = [],\n}: {\n htmlId: string\n backgrounds: BackgroundData[]\n}): ElementData => ({\n key: 'a87eab9c-1c2b-462e-8f79-e836dd836271',\n props: {\n backgrounds: {\n '@@makeswift/type': 'prop-controllers::backgrounds::v2',\n value: [\n {\n deviceId: 'desktop',\n value: backgrounds,\n },\n ],\n },\n id: {\n '@@makeswift/type': 'prop-controllers::element-id::v1',\n value: htmlId,\n },\n margin: {\n '@@makeswift/type': 'prop-controllers::margin::v1',\n value: [\n {\n deviceId: 'desktop',\n value: {\n marginBottom: {\n unit: 'px',\n value: 60,\n },\n marginTop: {\n unit: 'px',\n value: 40,\n },\n },\n },\n ],\n },\n padding: {\n '@@makeswift/type': 'prop-controllers::padding::v1',\n value: [\n {\n deviceId: 'desktop',\n value: {\n paddingBottom: {\n unit: 'px',\n value: 470,\n },\n paddingLeft: {\n unit: 'px',\n value: 10,\n },\n paddingRight: {\n unit: 'px',\n value: 10,\n },\n paddingTop: {\n unit: 'px',\n value: 10,\n },\n },\n },\n ],\n },\n width: {\n '@@makeswift/type': 'prop-controllers::width::v1',\n value: [\n {\n deviceId: 'desktop',\n value: {\n unit: 'px',\n value: 1160,\n },\n },\n ],\n },\n },\n type: MakeswiftComponentType.Box,\n})\n\nexport const imageBackgroundData = (imageId: string): BackgroundData => ({\n id: 'd710554f-3b2a-4dc5-8785-44224d09e579',\n payload: {\n imageId,\n opacity: 0.9,\n parallax: 0,\n position: {\n x: 0,\n y: 0,\n },\n priority: true,\n size: 'contain',\n },\n type: 'image',\n})\n"],"mappings":"AAGA,SAAS,8BAA8B;AAEhC,MAAM,mBAAmB,CAAC;AAAA,EAC/B;AAAA,EACA,cAAc,CAAC;AACjB,OAGoB;AAAA,EAClB,KAAK;AAAA,EACL,OAAO;AAAA,IACL,aAAa;AAAA,MACX,oBAAoB;AAAA,MACpB,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,IACA,IAAI;AAAA,MACF,oBAAoB;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,OAAO;AAAA,YACL,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,YACA,WAAW;AAAA,cACT,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,oBAAoB;AAAA,MACpB,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,OAAO;AAAA,YACL,eAAe;AAAA,cACb,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,YACA,aAAa;AAAA,cACX,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,YACA,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,YACA,YAAY;AAAA,cACV,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,oBAAoB;AAAA,MACpB,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,OAAO;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,UACT;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,uBAAuB;AAC/B;AAEO,MAAM,sBAAsB,CAAC,aAAqC;AAAA,EACvE,IAAI;AAAA,EACJ,SAAS;AAAA,IACP;AAAA,IACA,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,MACR,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,EACR;AAAA,EACA,MAAM;AACR;","names":[]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { MakeswiftComponentType } from "../../../../../components";
|
|
2
|
+
const buttonComponentData = ({
|
|
3
|
+
htmlId,
|
|
4
|
+
linkData: linkData2
|
|
5
|
+
}) => ({
|
|
6
|
+
key: "3dda7ade-3dcb-4776-a2f5-2f7e04e34ec2",
|
|
7
|
+
props: {
|
|
8
|
+
id: {
|
|
9
|
+
"@@makeswift/type": "prop-controllers::element-id::v1",
|
|
10
|
+
value: htmlId
|
|
11
|
+
},
|
|
12
|
+
link: {
|
|
13
|
+
"@@makeswift/type": "prop-controllers::link::v1",
|
|
14
|
+
value: linkData2
|
|
15
|
+
},
|
|
16
|
+
margin: {
|
|
17
|
+
"@@makeswift/type": "prop-controllers::margin::v1",
|
|
18
|
+
value: [
|
|
19
|
+
{
|
|
20
|
+
deviceId: "desktop",
|
|
21
|
+
value: {
|
|
22
|
+
marginBottom: {
|
|
23
|
+
unit: "px",
|
|
24
|
+
value: 80
|
|
25
|
+
},
|
|
26
|
+
marginTop: {
|
|
27
|
+
unit: "px",
|
|
28
|
+
value: 60
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
type: MakeswiftComponentType.Button
|
|
36
|
+
});
|
|
37
|
+
const linkUrlData = (url = "https://www.makeswift.com/") => ({
|
|
38
|
+
payload: {
|
|
39
|
+
openInNewTab: false,
|
|
40
|
+
url
|
|
41
|
+
},
|
|
42
|
+
type: "OPEN_URL"
|
|
43
|
+
});
|
|
44
|
+
const linkData = {
|
|
45
|
+
page: {
|
|
46
|
+
payload: {
|
|
47
|
+
openInNewTab: false,
|
|
48
|
+
pageId: "UGFnZTozOWZkNDcyZS03N2QxLTRjZDItOGE3Yi02ZTQ2MDU3ODgxNzM="
|
|
49
|
+
},
|
|
50
|
+
type: "OPEN_PAGE"
|
|
51
|
+
},
|
|
52
|
+
url: linkUrlData(),
|
|
53
|
+
email: {
|
|
54
|
+
payload: {
|
|
55
|
+
body: "",
|
|
56
|
+
subject: "Buttons",
|
|
57
|
+
to: "alan@makeswift.com"
|
|
58
|
+
},
|
|
59
|
+
type: "SEND_EMAIL"
|
|
60
|
+
},
|
|
61
|
+
phone: {
|
|
62
|
+
payload: {
|
|
63
|
+
phoneNumber: "15551234567"
|
|
64
|
+
},
|
|
65
|
+
type: "CALL_PHONE"
|
|
66
|
+
},
|
|
67
|
+
element: {
|
|
68
|
+
payload: {
|
|
69
|
+
block: "start",
|
|
70
|
+
elementIdConfig: {
|
|
71
|
+
elementKey: "3dda7ade-3dcb-4776-a2f5-2f7e04e34ec2",
|
|
72
|
+
propName: "id"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
type: "SCROLL_TO_ELEMENT"
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
export {
|
|
79
|
+
buttonComponentData,
|
|
80
|
+
linkData,
|
|
81
|
+
linkUrlData
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=button-component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../../src/next/components/tests/__fixtures__/element-data/button-component.ts"],"sourcesContent":["import { type ElementData } from '@makeswift/controls'\nimport { LinkData } from '@makeswift/prop-controllers'\n\nimport { MakeswiftComponentType } from '../../../../../components'\n\nexport const buttonComponentData = ({\n htmlId,\n linkData,\n}: {\n htmlId: string\n linkData: LinkData\n}): ElementData => ({\n key: '3dda7ade-3dcb-4776-a2f5-2f7e04e34ec2',\n props: {\n id: {\n '@@makeswift/type': 'prop-controllers::element-id::v1',\n value: htmlId,\n },\n link: {\n '@@makeswift/type': 'prop-controllers::link::v1',\n value: linkData,\n },\n margin: {\n '@@makeswift/type': 'prop-controllers::margin::v1',\n value: [\n {\n deviceId: 'desktop',\n value: {\n marginBottom: {\n unit: 'px',\n value: 80,\n },\n marginTop: {\n unit: 'px',\n value: 60,\n },\n },\n },\n ],\n },\n },\n type: MakeswiftComponentType.Button,\n})\n\nexport const linkUrlData = (url: string = 'https://www.makeswift.com/'): LinkData => ({\n payload: {\n openInNewTab: false,\n url,\n },\n type: 'OPEN_URL',\n})\n\nexport const linkData: Record<string, LinkData> = {\n page: {\n payload: {\n openInNewTab: false,\n pageId: 'UGFnZTozOWZkNDcyZS03N2QxLTRjZDItOGE3Yi02ZTQ2MDU3ODgxNzM=',\n },\n type: 'OPEN_PAGE',\n },\n url: linkUrlData(),\n email: {\n payload: {\n body: '',\n subject: 'Buttons',\n to: 'alan@makeswift.com',\n },\n type: 'SEND_EMAIL',\n },\n phone: {\n payload: {\n phoneNumber: '15551234567',\n },\n type: 'CALL_PHONE',\n },\n element: {\n payload: {\n block: 'start',\n elementIdConfig: {\n elementKey: '3dda7ade-3dcb-4776-a2f5-2f7e04e34ec2',\n propName: 'id',\n },\n },\n type: 'SCROLL_TO_ELEMENT',\n },\n}\n"],"mappings":"AAGA,SAAS,8BAA8B;AAEhC,MAAM,sBAAsB,CAAC;AAAA,EAClC;AAAA,EACA,UAAAA;AACF,OAGoB;AAAA,EAClB,KAAK;AAAA,EACL,OAAO;AAAA,IACL,IAAI;AAAA,MACF,oBAAoB;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,IACA,MAAM;AAAA,MACJ,oBAAoB;AAAA,MACpB,OAAOA;AAAA,IACT;AAAA,IACA,QAAQ;AAAA,MACN,oBAAoB;AAAA,MACpB,OAAO;AAAA,QACL;AAAA,UACE,UAAU;AAAA,UACV,OAAO;AAAA,YACL,cAAc;AAAA,cACZ,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,YACA,WAAW;AAAA,cACT,MAAM;AAAA,cACN,OAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM,uBAAuB;AAC/B;AAEO,MAAM,cAAc,CAAC,MAAc,kCAA4C;AAAA,EACpF,SAAS;AAAA,IACP,cAAc;AAAA,IACd;AAAA,EACF;AAAA,EACA,MAAM;AACR;AAEO,MAAM,WAAqC;AAAA,EAChD,MAAM;AAAA,IACJ,SAAS;AAAA,MACP,cAAc;AAAA,MACd,QAAQ;AAAA,IACV;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,KAAK,YAAY;AAAA,EACjB,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,IAAI;AAAA,IACN;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,OAAO;AAAA,IACL,SAAS;AAAA,MACP,aAAa;AAAA,IACf;AAAA,IACA,MAAM;AAAA,EACR;AAAA,EACA,SAAS;AAAA,IACP,SAAS;AAAA,MACP,OAAO;AAAA,MACP,iBAAiB;AAAA,QACf,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,MAAM;AAAA,EACR;AACF;","names":["linkData"]}
|