@makeswift/runtime 0.25.0-canary.13 → 0.25.0-canary.14
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/handlers/manifest.js +2 -3
- package/dist/cjs/api-handler/handlers/manifest.js.map +1 -1
- package/dist/cjs/api-handler/handlers/{clear-draft.js → redirect-live.js} +19 -10
- package/dist/cjs/api-handler/handlers/redirect-live.js.map +1 -0
- package/dist/cjs/api-handler/index.js +6 -5
- package/dist/cjs/api-handler/index.js.map +1 -1
- package/dist/cjs/api-handler/request-response.js +9 -0
- package/dist/cjs/api-handler/request-response.js.map +1 -1
- package/dist/cjs/client/index.js +67 -59
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/components/builtin/Root/Root.js +4 -4
- package/dist/cjs/components/builtin/Root/Root.js.map +1 -1
- package/dist/cjs/components/builtin/Video/Video.js +3 -13
- package/dist/cjs/components/builtin/Video/Video.js.map +1 -1
- package/dist/cjs/components/hooks/useMediaQuery.js +1 -2
- package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
- package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +3 -13
- package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
- package/dist/cjs/components/shared/react-player.js +41 -0
- package/dist/cjs/components/shared/react-player.js.map +1 -0
- package/dist/cjs/next/api-handler/config/app-router.js +7 -9
- package/dist/cjs/next/api-handler/config/app-router.js.map +1 -1
- package/dist/cjs/next/api-handler/config/pages-router.js +7 -9
- package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/{redirect-draft.js → app-router-redirect-preview.js} +30 -26
- package/dist/cjs/next/api-handler/handlers/app-router-redirect-preview.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/{redirect-preview.js → pages-router-redirect-preview.js} +29 -22
- package/dist/cjs/next/api-handler/handlers/pages-router-redirect-preview.js.map +1 -0
- package/dist/cjs/next/api-handler/index.js +1 -1
- package/dist/cjs/next/api-handler/index.js.map +1 -1
- package/dist/cjs/next/api-handler/{draft.js → preview.js} +14 -9
- package/dist/cjs/next/api-handler/preview.js.map +1 -0
- package/dist/cjs/next/{draft-mode/index.js → app-router-site-version.js} +11 -27
- package/dist/cjs/next/app-router-site-version.js.map +1 -0
- package/dist/cjs/next/client.js +9 -3
- package/dist/cjs/next/client.js.map +1 -1
- package/dist/cjs/next/components/framework-provider/index.js.map +1 -1
- package/dist/cjs/next/components/page.js +1 -1
- package/dist/cjs/next/components/page.js.map +1 -1
- package/dist/cjs/next/index.js.map +1 -1
- package/dist/cjs/next/middleware/request-utils.js +11 -17
- package/dist/cjs/next/middleware/request-utils.js.map +1 -1
- package/dist/cjs/next/root-style-registry.js +13 -20
- package/dist/cjs/next/root-style-registry.js.map +1 -1
- package/dist/cjs/next/server.js +2 -2
- package/dist/cjs/next/server.js.map +1 -1
- package/dist/cjs/next/testing/page-rendering.js +2 -2
- package/dist/cjs/next/testing/page-rendering.js.map +1 -1
- package/dist/cjs/next/testing/react-provider.js +2 -2
- package/dist/cjs/next/testing/react-provider.js.map +1 -1
- package/dist/cjs/next/tests/test-utils.js +6 -4
- package/dist/cjs/next/tests/test-utils.js.map +1 -1
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js +7 -9
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/cjs/runtimes/react/components/framework-context.js +1 -1
- package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/cjs/runtimes/react/components/page/index.js +18 -16
- package/dist/cjs/runtimes/react/components/page/index.js.map +1 -1
- package/dist/cjs/runtimes/react/components/{draft-switcher/draft-switcher.js → preview-switcher/preview-switcher.js} +12 -22
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
- package/dist/cjs/runtimes/react/components/{draft-switcher/draft-toolbar.js → preview-switcher/preview-toolbar.js} +17 -9
- package/dist/cjs/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/makeswift-api.js +9 -10
- package/dist/cjs/runtimes/react/hooks/makeswift-api.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-selector.js +1 -1
- package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/cjs/runtimes/react/root-style-registry.js +24 -13
- package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -1
- package/dist/cjs/{next/preview-mode.js → testing/fixtures.js} +16 -18
- 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/handlers/manifest.js +2 -3
- package/dist/esm/api-handler/handlers/manifest.js.map +1 -1
- package/dist/esm/api-handler/handlers/redirect-live.js +26 -0
- package/dist/esm/api-handler/handlers/redirect-live.js.map +1 -0
- package/dist/esm/api-handler/index.js +7 -6
- package/dist/esm/api-handler/index.js.map +1 -1
- package/dist/esm/api-handler/request-response.js +9 -0
- package/dist/esm/api-handler/request-response.js.map +1 -1
- package/dist/esm/client/index.js +65 -58
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/components/builtin/Root/Root.js +4 -4
- package/dist/esm/components/builtin/Root/Root.js.map +1 -1
- package/dist/esm/components/builtin/Video/Video.js +1 -1
- package/dist/esm/components/builtin/Video/Video.js.map +1 -1
- package/dist/esm/components/hooks/useMediaQuery.js +1 -2
- package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
- package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -1
- package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
- package/dist/esm/components/shared/react-player.js +7 -0
- package/dist/esm/components/shared/react-player.js.map +1 -0
- package/dist/esm/next/api-handler/config/app-router.js +7 -9
- package/dist/esm/next/api-handler/config/app-router.js.map +1 -1
- package/dist/esm/next/api-handler/config/pages-router.js +7 -9
- package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
- 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/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/index.js +1 -1
- package/dist/esm/next/api-handler/index.js.map +1 -1
- package/dist/esm/next/api-handler/preview.js +18 -0
- package/dist/esm/next/api-handler/preview.js.map +1 -0
- package/dist/esm/next/app-router-site-version.js +16 -0
- package/dist/esm/next/app-router-site-version.js.map +1 -0
- package/dist/esm/next/client.js +10 -4
- package/dist/esm/next/client.js.map +1 -1
- package/dist/esm/next/components/framework-provider/index.js.map +1 -1
- package/dist/esm/next/components/page.js +2 -4
- package/dist/esm/next/components/page.js.map +1 -1
- package/dist/esm/next/index.js.map +1 -1
- package/dist/esm/next/middleware/request-utils.js +14 -17
- package/dist/esm/next/middleware/request-utils.js.map +1 -1
- package/dist/esm/next/root-style-registry.js +12 -17
- package/dist/esm/next/root-style-registry.js.map +1 -1
- package/dist/esm/next/server.js +1 -1
- package/dist/esm/next/server.js.map +1 -1
- package/dist/esm/next/testing/page-rendering.js +2 -2
- package/dist/esm/next/testing/page-rendering.js.map +1 -1
- package/dist/esm/next/testing/react-provider.js +2 -2
- package/dist/esm/next/testing/react-provider.js.map +1 -1
- package/dist/esm/next/tests/test-utils.js +6 -4
- package/dist/esm/next/tests/test-utils.js.map +1 -1
- package/dist/esm/runtimes/react/components/RuntimeProvider.js +7 -9
- package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/esm/runtimes/react/components/framework-context.js +5 -2
- package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/esm/runtimes/react/components/page/index.js +19 -17
- package/dist/esm/runtimes/react/components/page/index.js.map +1 -1
- package/dist/esm/runtimes/react/components/{draft-switcher/draft-switcher.js → preview-switcher/preview-switcher.js} +8 -18
- package/dist/esm/runtimes/react/components/preview-switcher/preview-switcher.js.map +1 -0
- package/dist/esm/runtimes/react/components/{draft-switcher/draft-toolbar.js → preview-switcher/preview-toolbar.js} +13 -5
- package/dist/esm/runtimes/react/components/preview-switcher/preview-toolbar.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/makeswift-api.js +1 -2
- package/dist/esm/runtimes/react/hooks/makeswift-api.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-selector.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/esm/runtimes/react/root-style-registry.js +24 -13
- package/dist/esm/runtimes/react/root-style-registry.js.map +1 -1
- 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/handlers/manifest.d.ts +0 -2
- package/dist/types/api-handler/handlers/manifest.d.ts.map +1 -1
- package/dist/types/api-handler/handlers/redirect-live.d.ts +5 -0
- package/dist/types/api-handler/handlers/redirect-live.d.ts.map +1 -0
- package/dist/types/api-handler/index.d.ts +4 -4
- package/dist/types/api-handler/index.d.ts.map +1 -1
- package/dist/types/api-handler/request-response.d.ts +1 -0
- package/dist/types/api-handler/request-response.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +32 -23
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Root/Root.d.ts +1 -1
- package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
- package/dist/types/components/hooks/useMediaQuery.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
- 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/config/app-router.d.ts +3 -2
- package/dist/types/next/api-handler/config/app-router.d.ts.map +1 -1
- package/dist/types/next/api-handler/config/pages-router.d.ts +3 -2
- package/dist/types/next/api-handler/config/pages-router.d.ts.map +1 -1
- 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/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/preview.d.ts +11 -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/client.d.ts +3 -3
- package/dist/types/next/client.d.ts.map +1 -1
- package/dist/types/next/components/page.d.ts +2 -6
- package/dist/types/next/components/page.d.ts.map +1 -1
- package/dist/types/next/index.d.ts +1 -1
- package/dist/types/next/index.d.ts.map +1 -1
- package/dist/types/next/middleware/request-utils.d.ts +1 -0
- package/dist/types/next/middleware/request-utils.d.ts.map +1 -1
- package/dist/types/next/root-style-registry.d.ts +3 -12
- package/dist/types/next/root-style-registry.d.ts.map +1 -1
- package/dist/types/next/server.d.ts +1 -1
- package/dist/types/next/server.d.ts.map +1 -1
- package/dist/types/next/testing/react-provider.d.ts +3 -2
- package/dist/types/next/testing/react-provider.d.ts.map +1 -1
- 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-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/test-utils.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +3 -2
- package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/framework-context.d.ts +2 -2
- package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/index.d.ts +23 -3
- package/dist/types/runtimes/react/components/page/index.d.ts.map +1 -1
- 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/hooks/makeswift-api.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
- package/dist/types/runtimes/react/root-style-registry.d.ts +23 -11
- package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -1
- 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 +6 -5
- package/dist/cjs/api/site-version.js +0 -42
- package/dist/cjs/api/site-version.js.map +0 -1
- package/dist/cjs/api-handler/handlers/clear-draft.js.map +0 -1
- package/dist/cjs/next/api-handler/draft.js.map +0 -1
- package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +0 -1
- package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +0 -1
- package/dist/cjs/next/draft-mode/index.js.map +0 -1
- package/dist/cjs/next/preview-mode.js.map +0 -1
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +0 -1
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +0 -1
- package/dist/esm/api/site-version.js +0 -15
- package/dist/esm/api/site-version.js.map +0 -1
- package/dist/esm/api-handler/handlers/clear-draft.js +0 -17
- package/dist/esm/api-handler/handlers/clear-draft.js.map +0 -1
- package/dist/esm/next/api-handler/draft.js +0 -14
- package/dist/esm/next/api-handler/draft.js.map +0 -1
- package/dist/esm/next/api-handler/handlers/redirect-draft.js +0 -52
- package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +0 -1
- package/dist/esm/next/api-handler/handlers/redirect-preview.js +0 -37
- package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +0 -1
- package/dist/esm/next/draft-mode/index.js +0 -30
- package/dist/esm/next/draft-mode/index.js.map +0 -1
- package/dist/esm/next/preview-mode.js +0 -16
- package/dist/esm/next/preview-mode.js.map +0 -1
- package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +0 -1
- package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +0 -1
- package/dist/types/api/site-version.d.ts +0 -7
- package/dist/types/api/site-version.d.ts.map +0 -1
- package/dist/types/api-handler/handlers/clear-draft.d.ts +0 -7
- package/dist/types/api-handler/handlers/clear-draft.d.ts.map +0 -1
- package/dist/types/next/api-handler/draft.d.ts +0 -8
- package/dist/types/next/api-handler/draft.d.ts.map +0 -1
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +0 -6
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +0 -1
- package/dist/types/next/api-handler/handlers/redirect-draft.test.d.ts +0 -2
- package/dist/types/next/api-handler/handlers/redirect-draft.test.d.ts.map +0 -1
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +0 -5
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +0 -1
- package/dist/types/next/draft-mode/index.d.ts +0 -15
- package/dist/types/next/draft-mode/index.d.ts.map +0 -1
- package/dist/types/next/preview-mode.d.ts +0 -17
- package/dist/types/next/preview-mode.d.ts.map +0 -1
- package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts +0 -2
- package/dist/types/next/tests/server.api-handler-clear-draft.test.d.ts.map +0 -1
- package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts +0 -2
- package/dist/types/next/tests/server.api-handler-redirect-draft.test.d.ts.map +0 -1
- package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts +0 -2
- package/dist/types/next/tests/server.api-handler-redirect-preview.test.d.ts.map +0 -1
- package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +0 -4
- package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +0 -1
- package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +0 -6
- package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-switcher.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/components/preview-switcher/preview-switcher.tsx"],"names":[],"mappings":"AAOA,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,2CAkCpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preview-toolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/runtimes/react/components/preview-switcher/preview-toolbar.tsx"],"names":[],"mappings":"AA+CA,wBAAgB,cAAc,4CAmB7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makeswift-api.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/makeswift-api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"makeswift-api.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/makeswift-api.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,IAAI,EACJ,aAAa,EACb,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,EACN,KAAK,EACL,UAAU,EACX,MAAM,cAAc,CAAA;AAKrB,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAUhE;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAyBlE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAU1D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAyB3D;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAU5E;AAED,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,aAAa,GAAG,IAAI,CAWrF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,sBAAsB,GAAG,IAAI,CAoB/B;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,iBAAiB,GAAG,IAAI,CAkBpF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,CAU7D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-selector.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-selector.d.ts","sourceRoot":"","sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,KAAK,IAAI,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAExF,KAAK,KAAK,GAAG,cAAc,GAAG,wBAAwB,CAAA;AAEtD,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,CAAC,CAI/D"}
|
|
@@ -1,22 +1,34 @@
|
|
|
1
|
-
import { EmotionCache } from '@emotion/cache';
|
|
2
|
-
import {
|
|
1
|
+
import { type EmotionCache } from '@emotion/cache';
|
|
2
|
+
import { type PropsWithChildren } from 'react';
|
|
3
|
+
export type StyleCache = EmotionCache & {
|
|
4
|
+
/**
|
|
5
|
+
* Flush the inserted styles.
|
|
6
|
+
* @returns A list of class names and the corresponding CSS rules that were flushed.
|
|
7
|
+
*/
|
|
8
|
+
flush: () => {
|
|
9
|
+
classNames: string[];
|
|
10
|
+
css: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
3
13
|
export declare const createRootStyleCache: ({ key }?: {
|
|
4
14
|
key?: string;
|
|
5
|
-
}) =>
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
}) => StyleCache;
|
|
16
|
+
export type RootStyleProps = {
|
|
17
|
+
/**
|
|
18
|
+
* The key used to prefix generated class names.
|
|
19
|
+
* If not provided, a default key will be used.
|
|
20
|
+
*/
|
|
21
|
+
cacheKey?: string;
|
|
12
22
|
/**
|
|
13
23
|
* Toggle the built-in CSS reset.
|
|
14
24
|
* Set to `false` when using `@layer`-based CSS frameworks like Tailwind.
|
|
15
25
|
*/
|
|
16
26
|
enableCssReset?: boolean;
|
|
17
27
|
};
|
|
18
|
-
export declare function RootStyleRegistry({ children, cache, enableCssReset }:
|
|
28
|
+
export declare function RootStyleRegistry({ children, cache, enableCssReset, }: PropsWithChildren<{
|
|
29
|
+
cache: StyleCache;
|
|
30
|
+
enableCssReset?: boolean;
|
|
31
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
19
32
|
export declare function useCache(): EmotionCache;
|
|
20
33
|
export declare function useCSSResetEnabled(): boolean;
|
|
21
|
-
export {};
|
|
22
34
|
//# sourceMappingURL=root-style-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/react/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAoB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"root-style-registry.d.ts","sourceRoot":"","sources":["../../../../src/runtimes/react/root-style-registry.tsx"],"names":[],"mappings":"AAEA,OAAoB,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,OAAO,CAAA;AAOzE,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC;;;OAGG;IACH,KAAK,EAAE,MAAM;QAAE,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACnD,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,UAAS;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,KAAG,UAgCrE,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,KAAK,EACL,cAAc,GACf,EAAE,iBAAiB,CAAC;IACnB,KAAK,EAAE,UAAU,CAAA;IACjB,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC,2CAQD;AAED,wBAAgB,QAAQ,IAAI,YAAY,CAEvC;AAED,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SiteVersion } from '../next';
|
|
2
|
+
export declare const TestWorkingSiteVersion: SiteVersion;
|
|
3
|
+
export declare const TestOrigins: {
|
|
4
|
+
readonly apiOrigin: "https://api.fakeswift.com";
|
|
5
|
+
readonly appOrigin: "https://app.fakeswift.com";
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=fixtures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../src/testing/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,eAAO,MAAM,sBAAsB,EAAE,WAI3B,CAAA;AAEV,eAAO,MAAM,WAAW;;;CAGd,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"esm-compat.d.ts","sourceRoot":"","sources":["../../../src/utils/esm-compat.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,GAAG,CAAC,KAAG,CAA4B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@makeswift/runtime",
|
|
3
|
-
"version": "0.25.0-canary.
|
|
3
|
+
"version": "0.25.0-canary.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
@@ -156,11 +156,12 @@
|
|
|
156
156
|
"immutable": "^4.0.0-rc.12",
|
|
157
157
|
"is-hotkey": "^0.1.4",
|
|
158
158
|
"js-base64": "^3.7.7",
|
|
159
|
+
"jwt-decode": "^4.0.0",
|
|
159
160
|
"ot-json0": "^1.1.0",
|
|
160
161
|
"parse5": "^7.1.2",
|
|
161
162
|
"path-to-regexp": "^6.2.1",
|
|
162
163
|
"polished": "3.0.3",
|
|
163
|
-
"react-player": "^2.16.
|
|
164
|
+
"react-player": "^2.16.1",
|
|
164
165
|
"reselect": "^5.1.1",
|
|
165
166
|
"scroll-into-view-if-needed": "^2.2.20",
|
|
166
167
|
"set-cookie-parser": "^2.7.1",
|
|
@@ -171,9 +172,9 @@
|
|
|
171
172
|
"use-sync-external-store": "^1.0.0-rc.0",
|
|
172
173
|
"uuid": "^9.0.0",
|
|
173
174
|
"zod": "^3.21.4",
|
|
174
|
-
"@makeswift/
|
|
175
|
-
"@makeswift/
|
|
176
|
-
"@makeswift/
|
|
175
|
+
"@makeswift/next-plugin": "0.5.0-canary.0",
|
|
176
|
+
"@makeswift/prop-controllers": "0.4.6-canary.2",
|
|
177
|
+
"@makeswift/controls": "0.1.12"
|
|
177
178
|
},
|
|
178
179
|
"devDependencies": {
|
|
179
180
|
"@emotion/jest": "^11.11.0",
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var site_version_exports = {};
|
|
20
|
-
__export(site_version_exports, {
|
|
21
|
-
API_HANDLER_SITE_VERSION_HEADER: () => API_HANDLER_SITE_VERSION_HEADER,
|
|
22
|
-
MakeswiftSiteVersion: () => MakeswiftSiteVersion,
|
|
23
|
-
makeswiftSiteVersionSchema: () => makeswiftSiteVersionSchema,
|
|
24
|
-
parseSiteVersion: () => parseSiteVersion
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(site_version_exports);
|
|
27
|
-
var import_zod = require("zod");
|
|
28
|
-
const makeswiftSiteVersionSchema = import_zod.z.enum(["Live", "Working"]);
|
|
29
|
-
const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum;
|
|
30
|
-
const API_HANDLER_SITE_VERSION_HEADER = "X-Makeswift-Site-Version";
|
|
31
|
-
function parseSiteVersion(version) {
|
|
32
|
-
const parsed = makeswiftSiteVersionSchema.safeParse(version);
|
|
33
|
-
return parsed.success ? parsed.data : MakeswiftSiteVersion.Live;
|
|
34
|
-
}
|
|
35
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
-
0 && (module.exports = {
|
|
37
|
-
API_HANDLER_SITE_VERSION_HEADER,
|
|
38
|
-
MakeswiftSiteVersion,
|
|
39
|
-
makeswiftSiteVersionSchema,
|
|
40
|
-
parseSiteVersion
|
|
41
|
-
});
|
|
42
|
-
//# sourceMappingURL=site-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/site-version.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\n\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nexport const API_HANDLER_SITE_VERSION_HEADER = 'X-Makeswift-Site-Version'\n\nexport function parseSiteVersion(version: unknown): MakeswiftSiteVersion {\n const parsed = makeswiftSiteVersionSchema.safeParse(version)\n return parsed.success ? parsed.data : MakeswiftSiteVersion.Live\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAEX,MAAM,6BAA6B,aAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AAE7D,MAAM,uBAAuB,2BAA2B;AAGxD,MAAM,kCAAkC;AAExC,SAAS,iBAAiB,SAAwC;AACvE,QAAM,SAAS,2BAA2B,UAAU,OAAO;AAC3D,SAAO,OAAO,UAAU,OAAO,OAAO,qBAAqB;AAC7D;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api-handler/handlers/clear-draft.ts"],"sourcesContent":["import { serialize as serializeCookie } from 'cookie'\nimport { type ApiRequest, ApiResponse } from '../request-response'\nimport { SET_COOKIE_HEADER, cookieSettingOptions } from '../cookies'\n\nexport async function clearDraftHandler(\n _req: ApiRequest,\n { draftCookieNames }: { draftCookieNames: string[] },\n): Promise<ApiResponse<{ cleared: boolean }>> {\n const headers = new Headers()\n\n draftCookieNames.forEach(name => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, '', { ...cookieSettingOptions, expires: new Date(0) }),\n )\n })\n\n return ApiResponse.json({ cleared: true }, { headers })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6C;AAC7C,8BAA6C;AAC7C,qBAAwD;AAExD,eAAsB,kBACpB,MACA,EAAE,iBAAiB,GACyB;AAC5C,QAAM,UAAU,IAAI,QAAQ;AAE5B,mBAAiB,QAAQ,UAAQ;AAC/B,YAAQ;AAAA,MACN;AAAA,UACA,cAAAA,WAAgB,MAAM,IAAI,EAAE,GAAG,qCAAsB,SAAS,oBAAI,KAAK,CAAC,EAAE,CAAC;AAAA,IAC7E;AAAA,EACF,CAAC;AAED,SAAO,oCAAY,KAAK,EAAE,SAAS,KAAK,GAAG,EAAE,QAAQ,CAAC;AACxD;","names":["serializeCookie"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/api-handler/draft.ts"],"sourcesContent":["export const PRERENDER_BYPASS_COOKIE = '__prerender_bypass'\nexport const PREVIEW_DATA_COOKIE = '__next_preview_data'\n\nexport const MAKESWIFT_DRAFT_DATA_COOKIE = 'x-makeswift-draft-data'\n\nexport const SearchParams = {\n DraftMode: 'x-makeswift-draft-mode',\n PreviewMode: 'x-makeswift-preview-mode',\n} as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,0BAA0B;AAChC,MAAM,sBAAsB;AAE5B,MAAM,8BAA8B;AAEpC,MAAM,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,aAAa;AACf;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-draft.ts"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server'\nimport { cookies, draftMode } from 'next/headers'\n\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport { MAKESWIFT_DRAFT_DATA_COOKIE, PRERENDER_BYPASS_COOKIE, SearchParams } from '../draft'\n\nexport function originalRequestProtocol(request: NextRequest): string | null {\n // The `x-forwarded-proto` header is not formally standardized, but many proxies\n // *append* the protocol used for the request to the existing value. As a result,\n // if the request passes through multiple proxies, the header may contain a\n // comma-separated list of protocols: https://code.djangoproject.com/ticket/33569\n const forwardedProto = request.headers.get('x-forwarded-proto')\n return forwardedProto != null ? forwardedProto.split(',')[0].trim() : null\n}\n\nexport async function redirectDraftHandler(\n request: NextRequest,\n _context: any,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse> {\n const secret = request.nextUrl.searchParams.get(SearchParams.DraftMode)\n\n if (secret == null) {\n return new NextResponse('Unauthorized to enable draft mode: no secret provided', {\n status: 401,\n })\n }\n\n if (secret !== apiKey) {\n return new NextResponse('Unauthorized to enable draft mode: incorrect secret', { status: 401 })\n }\n\n const draft = await draftMode()\n const cookieStore = await cookies()\n\n draft.enable()\n\n const prerenderBypassCookie = cookieStore.get(PRERENDER_BYPASS_COOKIE)\n\n if (prerenderBypassCookie?.value == null) {\n return new NextResponse('Could not retrieve draft mode bypass cookie', { status: 500 })\n }\n\n const draftCookies: { name: string; value: string }[] = [\n prerenderBypassCookie,\n {\n name: MAKESWIFT_DRAFT_DATA_COOKIE,\n // Eventually, we can make this value dynamic using the request\n value: JSON.stringify({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working }),\n },\n ]\n\n const redirectProtocol =\n originalRequestProtocol(request) ?? request.nextUrl.protocol.replace(':', '')\n\n const redirectHost =\n request.headers.get('x-forwarded-host') ?? request.headers.get('host') ?? request.nextUrl.host\n\n const redirectUrl = new URL(\n `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`,\n )\n\n redirectUrl.searchParams.delete(SearchParams.DraftMode)\n\n const headers = new Headers()\n draftCookies.forEach(({ name, value }) => {\n headers.append(SET_COOKIE_HEADER, serializeCookie(name, value, { ...cookieSettingOptions }))\n })\n\n return NextResponse.redirect(redirectUrl, { headers })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA0C;AAC1C,qBAAmC;AAEnC,oBAA6C;AAE7C,0BAAqC;AACrC,qBAAwD;AAExD,mBAAmF;AAE5E,SAAS,wBAAwB,SAAqC;AAK3E,QAAM,iBAAiB,QAAQ,QAAQ,IAAI,mBAAmB;AAC9D,SAAO,kBAAkB,OAAO,eAAe,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI;AACxE;AAEA,eAAsB,qBACpB,SACA,UACA,EAAE,OAAO,GACc;AACvB,QAAM,SAAS,QAAQ,QAAQ,aAAa,IAAI,0BAAa,SAAS;AAEtE,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,2BAAa,yDAAyD;AAAA,MAC/E,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAEA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,2BAAa,uDAAuD,EAAE,QAAQ,IAAI,CAAC;AAAA,EAChG;AAEA,QAAM,QAAQ,UAAM,0BAAU;AAC9B,QAAM,cAAc,UAAM,wBAAQ;AAElC,QAAM,OAAO;AAEb,QAAM,wBAAwB,YAAY,IAAI,oCAAuB;AAErE,MAAI,uBAAuB,SAAS,MAAM;AACxC,WAAO,IAAI,2BAAa,+CAA+C,EAAE,QAAQ,IAAI,CAAC;AAAA,EACxF;AAEA,QAAM,eAAkD;AAAA,IACtD;AAAA,IACA;AAAA,MACE,MAAM;AAAA;AAAA,MAEN,OAAO,KAAK,UAAU,EAAE,WAAW,MAAM,aAAa,yCAAqB,QAAQ,CAAC;AAAA,IACtF;AAAA,EACF;AAEA,QAAM,mBACJ,wBAAwB,OAAO,KAAK,QAAQ,QAAQ,SAAS,QAAQ,KAAK,EAAE;AAE9E,QAAM,eACJ,QAAQ,QAAQ,IAAI,kBAAkB,KAAK,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,QAAQ;AAE5F,QAAM,cAAc,IAAI;AAAA,IACtB,GAAG,gBAAgB,MAAM,YAAY,GAAG,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,QAAQ,MAAM;AAAA,EAC3F;AAEA,cAAY,aAAa,OAAO,0BAAa,SAAS;AAEtD,QAAM,UAAU,IAAI,QAAQ;AAC5B,eAAa,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACxC,YAAQ,OAAO,sCAAmB,cAAAA,WAAgB,MAAM,OAAO,EAAE,GAAG,oCAAqB,CAAC,CAAC;AAAA,EAC7F,CAAC;AAED,SAAO,2BAAa,SAAS,aAAa,EAAE,QAAQ,CAAC;AACvD;","names":["serializeCookie"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE, SearchParams } from '../draft'\n\nexport async function redirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse,\n { apiKey }: { apiKey: string },\n): Promise<void> {\n const secret = req.query[SearchParams.PreviewMode]\n // Next.js automatically strips the locale prefix from rewritten request's URL, even when the\n // rewrite's `locale` option is set to `false`: https://github.com/vercel/next.js/discussions/21798.\n // At the same time, it also maps rewrite's URL segments (e.g. `:path`) to query parameters\n // on the rewritten request, so we use `query.path` to recover the original request path.\n const pathname = req.query.path as string | undefined\n\n if (secret == null) {\n return res.status(401).send('Unauthorized to enable preview mode: no secret provided')\n }\n\n if (secret !== apiKey) {\n return res.status(401).send('Unauthorized to enable preview mode: secret is incorrect')\n }\n\n if (pathname == null) {\n return res\n .status(400)\n .send('Bad request: incoming request does not have an associated pathname')\n }\n\n const setCookie = res\n // Eventually, we can make the preview data value dynamic using the request\n .setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions })\n })\n\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(pathname, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewMode)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,+BAAwC;AACxC,oBAA6C;AAE7C,0BAAqC;AACrC,qBAAwD;AAExD,mBAA2E;AAE3E,eAAsB,uBACpB,KACA,KACA,EAAE,OAAO,GACM;AACf,QAAM,SAAS,IAAI,MAAM,0BAAa,WAAW;AAKjD,QAAM,WAAW,IAAI,MAAM;AAE3B,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yDAAyD;AAAA,EACvF;AAEA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,0DAA0D;AAAA,EACxF;AAEA,MAAI,YAAY,MAAM;AACpB,WAAO,IACJ,OAAO,GAAG,EACV,KAAK,oEAAoE;AAAA,EAC9E;AAEA,QAAM,YAAY,IAEf,eAAe,EAAE,WAAW,MAAM,aAAa,yCAAqB,QAAQ,CAAC,EAC7E,UAAU,gCAAiB;AAE9B,MAAI,aAAa,gCAAiB;AAElC,QAAM,oBAAgB,yBAAAA,OAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,oCAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,gCAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,eAAO,cAAAC,WAAgB,MAAM,OAAO,EAAE,GAAG,oCAAqB,CAAC;AAAA,EACjE,CAAC;AAED,MAAI,UAAU,kCAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,UAAU,iBAAiB;AAC1D,iBAAe,aAAa,OAAO,0BAAa,WAAW;AAE3D,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":["parseSetCookie","serializeCookie"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/draft-mode/index.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { cookies, draftMode } from 'next/headers'\nimport { MakeswiftSiteVersion, makeswiftSiteVersionSchema } from '../../api/site-version'\n\nexport const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = 'x-makeswift-draft-data'\n\nexport const makeswiftDraftDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\n\nexport type MakeswiftDraftData = z.infer<typeof makeswiftDraftDataSchema>\n\nasync function getDraftData(): Promise<MakeswiftDraftData | null> {\n const { isEnabled: isDraftModeEnabled } = await draftMode()\n if (!isDraftModeEnabled) return null\n\n const cookie = (await cookies()).get(MAKESWIFT_DRAFT_MODE_DATA_COOKIE)\n if (cookie == null) return null\n\n const draftData = JSON.parse(cookie.value)\n const result = makeswiftDraftDataSchema.safeParse(draftData)\n\n if (result.success) return result.data\n return null\n}\n\nexport async function getSiteVersion() {\n return (await getDraftData())?.siteVersion ?? MakeswiftSiteVersion.Live\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,qBAAmC;AACnC,0BAAiE;AAE1D,MAAM,mCAAmC;AAEzC,MAAM,2BAA2B,aAAE,OAAO;AAAA,EAC/C,WAAW,aAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAID,eAAe,eAAmD;AAChE,QAAM,EAAE,WAAW,mBAAmB,IAAI,UAAM,0BAAU;AAC1D,MAAI,CAAC;AAAoB,WAAO;AAEhC,QAAM,UAAU,UAAM,wBAAQ,GAAG,IAAI,gCAAgC;AACrE,MAAI,UAAU;AAAM,WAAO;AAE3B,QAAM,YAAY,KAAK,MAAM,OAAO,KAAK;AACzC,QAAM,SAAS,yBAAyB,UAAU,SAAS;AAE3D,MAAI,OAAO;AAAS,WAAO,OAAO;AAClC,SAAO;AACT;AAEA,eAAsB,iBAAiB;AACrC,UAAQ,MAAM,aAAa,IAAI,eAAe,yCAAqB;AACrE;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/preview-mode.tsx"],"sourcesContent":["import { PreviewData } from 'next'\nimport { z } from 'zod'\nimport { type MakeswiftSiteVersion, makeswiftSiteVersionSchema } from '../api/site-version'\n\nconst makeswiftPreviewDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\nexport type MakeswiftPreviewData = z.infer<typeof makeswiftPreviewDataSchema>\n\nexport function getMakeswiftSiteVersion(previewData: PreviewData): MakeswiftSiteVersion | null {\n const result = makeswiftPreviewDataSchema.safeParse(previewData)\n\n if (result.success) return result.data.siteVersion\n\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,iBAAkB;AAClB,0BAAsE;AAEtE,MAAM,6BAA6B,aAAE,OAAO;AAAA,EAC1C,WAAW,aAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAGM,SAAS,wBAAwB,aAAuD;AAC7F,QAAM,SAAS,2BAA2B,UAAU,WAAW;AAE/D,MAAI,OAAO;AAAS,WAAO,OAAO,KAAK;AAEvC,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-switcher.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { PageMeta } from '../page/head-tags'\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { DraftToolbar } from './draft-toolbar'\n\nconst ClearDraftModeRequestPath = '/api/makeswift/clear-draft'\n\nasync function exitDraftMode() {\n try {\n await fetch(ClearDraftModeRequestPath)\n window.location.reload()\n } catch (err) {\n console.error('Could not clear Makeswift cookies. Please report this error to your developer.')\n console.error(err)\n }\n}\n\nexport function DraftSwitcher({ isDraft }: { isDraft: boolean }) {\n const shadowContainerRef = useRef<HTMLSpanElement | null>(null)\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null)\n const isInBuilder = useIsInBuilder()\n\n const showToolbar = !isInBuilder && isDraft\n\n useEffect(() => {\n if (!showToolbar) return\n if (\n shadowContainerRef.current &&\n shadowContainerRef.current.shadowRoot == null &&\n shadowRoot == null\n ) {\n const root = shadowContainerRef.current.attachShadow({ mode: 'open' })\n setShadowRoot(root)\n }\n }, [showToolbar, shadowRoot, setShadowRoot])\n\n return (\n <>\n {showToolbar && (\n <span id=\"makeswift-draft-switcher\" ref={shadowContainerRef}>\n {shadowRoot\n ? createPortal(<DraftToolbar onExitDraft={exitDraftMode} />, shadowRoot)\n : null}\n </span>\n )}\n {/* Insert draft mode information into the DOM to make it easier to debug draft mode-related\n issues on production sites */}\n <PageMeta\n name=\"makeswift-draft-info\"\n content={JSON.stringify({ draft: isDraft, inBuilder: isInBuilder })}\n />\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCI;AAvCJ,mBAA4C;AAC5C,uBAA6B;AAE7B,uBAAyB;AACzB,+BAA+B;AAC/B,2BAA6B;AAE7B,MAAM,4BAA4B;AAElC,eAAe,gBAAgB;AAC7B,MAAI;AACF,UAAM,MAAM,yBAAyB;AACrC,WAAO,SAAS,OAAO;AAAA,EACzB,SAAS,KAAK;AACZ,YAAQ,MAAM,gFAAgF;AAC9F,YAAQ,MAAM,GAAG;AAAA,EACnB;AACF;AAEO,SAAS,cAAc,EAAE,QAAQ,GAAyB;AAC/D,QAAM,yBAAqB,qBAA+B,IAAI;AAC9D,QAAM,CAAC,YAAY,aAAa,QAAI,uBAA4B,IAAI;AACpE,QAAM,kBAAc,yCAAe;AAEnC,QAAM,cAAc,CAAC,eAAe;AAEpC,8BAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,QACE,mBAAmB,WACnB,mBAAmB,QAAQ,cAAc,QACzC,cAAc,MACd;AACA,YAAM,OAAO,mBAAmB,QAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,oBAAc,IAAI;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,aAAa,CAAC;AAE3C,SACE,4EACG;AAAA,mBACC,4CAAC,UAAK,IAAG,4BAA2B,KAAK,oBACtC,2BACG,+BAAa,4CAAC,qCAAa,aAAa,eAAe,GAAI,UAAU,IACrE,MACN;AAAA,IAIF;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,KAAK,UAAU,EAAE,OAAO,SAAS,WAAW,YAAY,CAAC;AAAA;AAAA,IACpE;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-toolbar.tsx"],"sourcesContent":["const makeswiftIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC'\n\nconst styles = `\n.exit-preview-container {\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n}\n\n.exit-preview-button {\n background: #2e2e2e;\n padding: 10px 18px 10px 14px;\n border: 0px;\n border-radius: 32px;\n color: #efefef;\n box-shadow:\n 0 11px 40px 0 rgba(0, 0, 0, 0.25),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n transition: 150ms;\n\n font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji';\n font-size: 14px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.exit-preview-button > .label {\n transform: translateY(-1px);\n}\n\n.exit-preview-container:hover > .exit-preview-button {\n transform: translateY(-2px);\n box-shadow:\n 0 15px 40px 0 rgba(0, 0, 0, 0.3),\n 0 6px 10px 0 rgba(0, 0, 0, 0.15);\n}\n`\n\ntype Props = {\n onExitDraft: () => void\n}\n\nexport function DraftToolbar({ onExitDraft }: Props) {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: styles }} />\n <div className=\"exit-preview-container\">\n <button className=\"exit-preview-button\" onClick={onExitDraft}>\n <img src={makeswiftIcon} alt=\"Makeswift Logo\" width={18} height={18} />\n <span className=\"label\">Exit Preview</span>\n </button>\n </div>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkDI;AAlDJ,MAAM,gBACJ;AAEF,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CR,SAAS,aAAa,EAAE,YAAY,GAAU;AACnD,SACE,4EACE;AAAA,gDAAC,WAAM,yBAAyB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpD,4CAAC,SAAI,WAAU,0BACb,uDAAC,YAAO,WAAU,uBAAsB,SAAS,aAC/C;AAAA,kDAAC,SAAI,KAAK,eAAe,KAAI,kBAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MACrE,4CAAC,UAAK,WAAU,SAAQ,0BAAY;AAAA,OACtC,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
const makeswiftSiteVersionSchema = z.enum(["Live", "Working"]);
|
|
3
|
-
const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum;
|
|
4
|
-
const API_HANDLER_SITE_VERSION_HEADER = "X-Makeswift-Site-Version";
|
|
5
|
-
function parseSiteVersion(version) {
|
|
6
|
-
const parsed = makeswiftSiteVersionSchema.safeParse(version);
|
|
7
|
-
return parsed.success ? parsed.data : MakeswiftSiteVersion.Live;
|
|
8
|
-
}
|
|
9
|
-
export {
|
|
10
|
-
API_HANDLER_SITE_VERSION_HEADER,
|
|
11
|
-
MakeswiftSiteVersion,
|
|
12
|
-
makeswiftSiteVersionSchema,
|
|
13
|
-
parseSiteVersion
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=site-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/site-version.ts"],"sourcesContent":["import { z } from 'zod'\n\nexport const makeswiftSiteVersionSchema = z.enum(['Live', 'Working'])\n\nexport const MakeswiftSiteVersion = makeswiftSiteVersionSchema.Enum\nexport type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>\n\nexport const API_HANDLER_SITE_VERSION_HEADER = 'X-Makeswift-Site-Version'\n\nexport function parseSiteVersion(version: unknown): MakeswiftSiteVersion {\n const parsed = makeswiftSiteVersionSchema.safeParse(version)\n return parsed.success ? parsed.data : MakeswiftSiteVersion.Live\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAEX,MAAM,6BAA6B,EAAE,KAAK,CAAC,QAAQ,SAAS,CAAC;AAE7D,MAAM,uBAAuB,2BAA2B;AAGxD,MAAM,kCAAkC;AAExC,SAAS,iBAAiB,SAAwC;AACvE,QAAM,SAAS,2BAA2B,UAAU,OAAO;AAC3D,SAAO,OAAO,UAAU,OAAO,OAAO,qBAAqB;AAC7D;","names":[]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { serialize as serializeCookie } from "cookie";
|
|
2
|
-
import { ApiResponse } from "../request-response";
|
|
3
|
-
import { SET_COOKIE_HEADER, cookieSettingOptions } from "../cookies";
|
|
4
|
-
async function clearDraftHandler(_req, { draftCookieNames }) {
|
|
5
|
-
const headers = new Headers();
|
|
6
|
-
draftCookieNames.forEach((name) => {
|
|
7
|
-
headers.append(
|
|
8
|
-
SET_COOKIE_HEADER,
|
|
9
|
-
serializeCookie(name, "", { ...cookieSettingOptions, expires: /* @__PURE__ */ new Date(0) })
|
|
10
|
-
);
|
|
11
|
-
});
|
|
12
|
-
return ApiResponse.json({ cleared: true }, { headers });
|
|
13
|
-
}
|
|
14
|
-
export {
|
|
15
|
-
clearDraftHandler
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=clear-draft.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api-handler/handlers/clear-draft.ts"],"sourcesContent":["import { serialize as serializeCookie } from 'cookie'\nimport { type ApiRequest, ApiResponse } from '../request-response'\nimport { SET_COOKIE_HEADER, cookieSettingOptions } from '../cookies'\n\nexport async function clearDraftHandler(\n _req: ApiRequest,\n { draftCookieNames }: { draftCookieNames: string[] },\n): Promise<ApiResponse<{ cleared: boolean }>> {\n const headers = new Headers()\n\n draftCookieNames.forEach(name => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, '', { ...cookieSettingOptions, expires: new Date(0) }),\n )\n })\n\n return ApiResponse.json({ cleared: true }, { headers })\n}\n"],"mappings":"AAAA,SAAS,aAAa,uBAAuB;AAC7C,SAA0B,mBAAmB;AAC7C,SAAS,mBAAmB,4BAA4B;AAExD,eAAsB,kBACpB,MACA,EAAE,iBAAiB,GACyB;AAC5C,QAAM,UAAU,IAAI,QAAQ;AAE5B,mBAAiB,QAAQ,UAAQ;AAC/B,YAAQ;AAAA,MACN;AAAA,MACA,gBAAgB,MAAM,IAAI,EAAE,GAAG,sBAAsB,SAAS,oBAAI,KAAK,CAAC,EAAE,CAAC;AAAA,IAC7E;AAAA,EACF,CAAC;AAED,SAAO,YAAY,KAAK,EAAE,SAAS,KAAK,GAAG,EAAE,QAAQ,CAAC;AACxD;","names":[]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const PRERENDER_BYPASS_COOKIE = "__prerender_bypass";
|
|
2
|
-
const PREVIEW_DATA_COOKIE = "__next_preview_data";
|
|
3
|
-
const MAKESWIFT_DRAFT_DATA_COOKIE = "x-makeswift-draft-data";
|
|
4
|
-
const SearchParams = {
|
|
5
|
-
DraftMode: "x-makeswift-draft-mode",
|
|
6
|
-
PreviewMode: "x-makeswift-preview-mode"
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
MAKESWIFT_DRAFT_DATA_COOKIE,
|
|
10
|
-
PRERENDER_BYPASS_COOKIE,
|
|
11
|
-
PREVIEW_DATA_COOKIE,
|
|
12
|
-
SearchParams
|
|
13
|
-
};
|
|
14
|
-
//# sourceMappingURL=draft.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/api-handler/draft.ts"],"sourcesContent":["export const PRERENDER_BYPASS_COOKIE = '__prerender_bypass'\nexport const PREVIEW_DATA_COOKIE = '__next_preview_data'\n\nexport const MAKESWIFT_DRAFT_DATA_COOKIE = 'x-makeswift-draft-data'\n\nexport const SearchParams = {\n DraftMode: 'x-makeswift-draft-mode',\n PreviewMode: 'x-makeswift-preview-mode',\n} as const\n"],"mappings":"AAAO,MAAM,0BAA0B;AAChC,MAAM,sBAAsB;AAE5B,MAAM,8BAA8B;AAEpC,MAAM,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,aAAa;AACf;","names":[]}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { NextResponse } from "next/server";
|
|
2
|
-
import { cookies, draftMode } from "next/headers";
|
|
3
|
-
import { serialize as serializeCookie } from "cookie";
|
|
4
|
-
import { MakeswiftSiteVersion } from "../../../api/site-version";
|
|
5
|
-
import { cookieSettingOptions, SET_COOKIE_HEADER } from "../../../api-handler/cookies";
|
|
6
|
-
import { MAKESWIFT_DRAFT_DATA_COOKIE, PRERENDER_BYPASS_COOKIE, SearchParams } from "../draft";
|
|
7
|
-
function originalRequestProtocol(request) {
|
|
8
|
-
const forwardedProto = request.headers.get("x-forwarded-proto");
|
|
9
|
-
return forwardedProto != null ? forwardedProto.split(",")[0].trim() : null;
|
|
10
|
-
}
|
|
11
|
-
async function redirectDraftHandler(request, _context, { apiKey }) {
|
|
12
|
-
const secret = request.nextUrl.searchParams.get(SearchParams.DraftMode);
|
|
13
|
-
if (secret == null) {
|
|
14
|
-
return new NextResponse("Unauthorized to enable draft mode: no secret provided", {
|
|
15
|
-
status: 401
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
if (secret !== apiKey) {
|
|
19
|
-
return new NextResponse("Unauthorized to enable draft mode: incorrect secret", { status: 401 });
|
|
20
|
-
}
|
|
21
|
-
const draft = await draftMode();
|
|
22
|
-
const cookieStore = await cookies();
|
|
23
|
-
draft.enable();
|
|
24
|
-
const prerenderBypassCookie = cookieStore.get(PRERENDER_BYPASS_COOKIE);
|
|
25
|
-
if (prerenderBypassCookie?.value == null) {
|
|
26
|
-
return new NextResponse("Could not retrieve draft mode bypass cookie", { status: 500 });
|
|
27
|
-
}
|
|
28
|
-
const draftCookies = [
|
|
29
|
-
prerenderBypassCookie,
|
|
30
|
-
{
|
|
31
|
-
name: MAKESWIFT_DRAFT_DATA_COOKIE,
|
|
32
|
-
// Eventually, we can make this value dynamic using the request
|
|
33
|
-
value: JSON.stringify({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working })
|
|
34
|
-
}
|
|
35
|
-
];
|
|
36
|
-
const redirectProtocol = originalRequestProtocol(request) ?? request.nextUrl.protocol.replace(":", "");
|
|
37
|
-
const redirectHost = request.headers.get("x-forwarded-host") ?? request.headers.get("host") ?? request.nextUrl.host;
|
|
38
|
-
const redirectUrl = new URL(
|
|
39
|
-
`${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`
|
|
40
|
-
);
|
|
41
|
-
redirectUrl.searchParams.delete(SearchParams.DraftMode);
|
|
42
|
-
const headers = new Headers();
|
|
43
|
-
draftCookies.forEach(({ name, value }) => {
|
|
44
|
-
headers.append(SET_COOKIE_HEADER, serializeCookie(name, value, { ...cookieSettingOptions }));
|
|
45
|
-
});
|
|
46
|
-
return NextResponse.redirect(redirectUrl, { headers });
|
|
47
|
-
}
|
|
48
|
-
export {
|
|
49
|
-
originalRequestProtocol,
|
|
50
|
-
redirectDraftHandler
|
|
51
|
-
};
|
|
52
|
-
//# sourceMappingURL=redirect-draft.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-draft.ts"],"sourcesContent":["import { NextRequest, NextResponse } from 'next/server'\nimport { cookies, draftMode } from 'next/headers'\n\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport { MAKESWIFT_DRAFT_DATA_COOKIE, PRERENDER_BYPASS_COOKIE, SearchParams } from '../draft'\n\nexport function originalRequestProtocol(request: NextRequest): string | null {\n // The `x-forwarded-proto` header is not formally standardized, but many proxies\n // *append* the protocol used for the request to the existing value. As a result,\n // if the request passes through multiple proxies, the header may contain a\n // comma-separated list of protocols: https://code.djangoproject.com/ticket/33569\n const forwardedProto = request.headers.get('x-forwarded-proto')\n return forwardedProto != null ? forwardedProto.split(',')[0].trim() : null\n}\n\nexport async function redirectDraftHandler(\n request: NextRequest,\n _context: any,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse> {\n const secret = request.nextUrl.searchParams.get(SearchParams.DraftMode)\n\n if (secret == null) {\n return new NextResponse('Unauthorized to enable draft mode: no secret provided', {\n status: 401,\n })\n }\n\n if (secret !== apiKey) {\n return new NextResponse('Unauthorized to enable draft mode: incorrect secret', { status: 401 })\n }\n\n const draft = await draftMode()\n const cookieStore = await cookies()\n\n draft.enable()\n\n const prerenderBypassCookie = cookieStore.get(PRERENDER_BYPASS_COOKIE)\n\n if (prerenderBypassCookie?.value == null) {\n return new NextResponse('Could not retrieve draft mode bypass cookie', { status: 500 })\n }\n\n const draftCookies: { name: string; value: string }[] = [\n prerenderBypassCookie,\n {\n name: MAKESWIFT_DRAFT_DATA_COOKIE,\n // Eventually, we can make this value dynamic using the request\n value: JSON.stringify({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working }),\n },\n ]\n\n const redirectProtocol =\n originalRequestProtocol(request) ?? request.nextUrl.protocol.replace(':', '')\n\n const redirectHost =\n request.headers.get('x-forwarded-host') ?? request.headers.get('host') ?? request.nextUrl.host\n\n const redirectUrl = new URL(\n `${redirectProtocol}://${redirectHost}${request.nextUrl.pathname}${request.nextUrl.search}`,\n )\n\n redirectUrl.searchParams.delete(SearchParams.DraftMode)\n\n const headers = new Headers()\n draftCookies.forEach(({ name, value }) => {\n headers.append(SET_COOKIE_HEADER, serializeCookie(name, value, { ...cookieSettingOptions }))\n })\n\n return NextResponse.redirect(redirectUrl, { headers })\n}\n"],"mappings":"AAAA,SAAsB,oBAAoB;AAC1C,SAAS,SAAS,iBAAiB;AAEnC,SAAS,aAAa,uBAAuB;AAE7C,SAAS,4BAA4B;AACrC,SAAS,sBAAsB,yBAAyB;AAExD,SAAS,6BAA6B,yBAAyB,oBAAoB;AAE5E,SAAS,wBAAwB,SAAqC;AAK3E,QAAM,iBAAiB,QAAQ,QAAQ,IAAI,mBAAmB;AAC9D,SAAO,kBAAkB,OAAO,eAAe,MAAM,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI;AACxE;AAEA,eAAsB,qBACpB,SACA,UACA,EAAE,OAAO,GACc;AACvB,QAAM,SAAS,QAAQ,QAAQ,aAAa,IAAI,aAAa,SAAS;AAEtE,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,aAAa,yDAAyD;AAAA,MAC/E,QAAQ;AAAA,IACV,CAAC;AAAA,EACH;AAEA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,aAAa,uDAAuD,EAAE,QAAQ,IAAI,CAAC;AAAA,EAChG;AAEA,QAAM,QAAQ,MAAM,UAAU;AAC9B,QAAM,cAAc,MAAM,QAAQ;AAElC,QAAM,OAAO;AAEb,QAAM,wBAAwB,YAAY,IAAI,uBAAuB;AAErE,MAAI,uBAAuB,SAAS,MAAM;AACxC,WAAO,IAAI,aAAa,+CAA+C,EAAE,QAAQ,IAAI,CAAC;AAAA,EACxF;AAEA,QAAM,eAAkD;AAAA,IACtD;AAAA,IACA;AAAA,MACE,MAAM;AAAA;AAAA,MAEN,OAAO,KAAK,UAAU,EAAE,WAAW,MAAM,aAAa,qBAAqB,QAAQ,CAAC;AAAA,IACtF;AAAA,EACF;AAEA,QAAM,mBACJ,wBAAwB,OAAO,KAAK,QAAQ,QAAQ,SAAS,QAAQ,KAAK,EAAE;AAE9E,QAAM,eACJ,QAAQ,QAAQ,IAAI,kBAAkB,KAAK,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,QAAQ;AAE5F,QAAM,cAAc,IAAI;AAAA,IACtB,GAAG,gBAAgB,MAAM,YAAY,GAAG,QAAQ,QAAQ,QAAQ,GAAG,QAAQ,QAAQ,MAAM;AAAA,EAC3F;AAEA,cAAY,aAAa,OAAO,aAAa,SAAS;AAEtD,QAAM,UAAU,IAAI,QAAQ;AAC5B,eAAa,QAAQ,CAAC,EAAE,MAAM,MAAM,MAAM;AACxC,YAAQ,OAAO,mBAAmB,gBAAgB,MAAM,OAAO,EAAE,GAAG,qBAAqB,CAAC,CAAC;AAAA,EAC7F,CAAC;AAED,SAAO,aAAa,SAAS,aAAa,EAAE,QAAQ,CAAC;AACvD;","names":[]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { parse as parseSetCookie } from "set-cookie-parser";
|
|
2
|
-
import { serialize as serializeCookie } from "cookie";
|
|
3
|
-
import { MakeswiftSiteVersion } from "../../../api/site-version";
|
|
4
|
-
import { cookieSettingOptions, SET_COOKIE_HEADER } from "../../../api-handler/cookies";
|
|
5
|
-
import { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE, SearchParams } from "../draft";
|
|
6
|
-
async function redirectPreviewHandler(req, res, { apiKey }) {
|
|
7
|
-
const secret = req.query[SearchParams.PreviewMode];
|
|
8
|
-
const pathname = req.query.path;
|
|
9
|
-
if (secret == null) {
|
|
10
|
-
return res.status(401).send("Unauthorized to enable preview mode: no secret provided");
|
|
11
|
-
}
|
|
12
|
-
if (secret !== apiKey) {
|
|
13
|
-
return res.status(401).send("Unauthorized to enable preview mode: secret is incorrect");
|
|
14
|
-
}
|
|
15
|
-
if (pathname == null) {
|
|
16
|
-
return res.status(400).send("Bad request: incoming request does not have an associated pathname");
|
|
17
|
-
}
|
|
18
|
-
const setCookie = res.setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working }).getHeader(SET_COOKIE_HEADER);
|
|
19
|
-
res.removeHeader(SET_COOKIE_HEADER);
|
|
20
|
-
const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : "");
|
|
21
|
-
const prerenderBypassCookie = parsedCookies.find((c) => c.name === PRERENDER_BYPASS_COOKIE);
|
|
22
|
-
const previewDataCookie = parsedCookies.find((c) => c.name === PREVIEW_DATA_COOKIE);
|
|
23
|
-
if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {
|
|
24
|
-
return res.status(500).send("Could not retrieve preview mode cookies");
|
|
25
|
-
}
|
|
26
|
-
const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {
|
|
27
|
-
return serializeCookie(name, value, { ...cookieSettingOptions });
|
|
28
|
-
});
|
|
29
|
-
res.setHeader(SET_COOKIE_HEADER, patchedCookies);
|
|
30
|
-
const destinationUrl = new URL(pathname, "http://test.com");
|
|
31
|
-
destinationUrl.searchParams.delete(SearchParams.PreviewMode);
|
|
32
|
-
res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`);
|
|
33
|
-
}
|
|
34
|
-
export {
|
|
35
|
-
redirectPreviewHandler
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=redirect-preview.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport { cookieSettingOptions, SET_COOKIE_HEADER } from '../../../api-handler/cookies'\n\nimport { PRERENDER_BYPASS_COOKIE, PREVIEW_DATA_COOKIE, SearchParams } from '../draft'\n\nexport async function redirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse,\n { apiKey }: { apiKey: string },\n): Promise<void> {\n const secret = req.query[SearchParams.PreviewMode]\n // Next.js automatically strips the locale prefix from rewritten request's URL, even when the\n // rewrite's `locale` option is set to `false`: https://github.com/vercel/next.js/discussions/21798.\n // At the same time, it also maps rewrite's URL segments (e.g. `:path`) to query parameters\n // on the rewritten request, so we use `query.path` to recover the original request path.\n const pathname = req.query.path as string | undefined\n\n if (secret == null) {\n return res.status(401).send('Unauthorized to enable preview mode: no secret provided')\n }\n\n if (secret !== apiKey) {\n return res.status(401).send('Unauthorized to enable preview mode: secret is incorrect')\n }\n\n if (pathname == null) {\n return res\n .status(400)\n .send('Bad request: incoming request does not have an associated pathname')\n }\n\n const setCookie = res\n // Eventually, we can make the preview data value dynamic using the request\n .setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions })\n })\n\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(pathname, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewMode)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":"AAEA,SAAS,SAAS,sBAAsB;AACxC,SAAS,aAAa,uBAAuB;AAE7C,SAAS,4BAA4B;AACrC,SAAS,sBAAsB,yBAAyB;AAExD,SAAS,yBAAyB,qBAAqB,oBAAoB;AAE3E,eAAsB,uBACpB,KACA,KACA,EAAE,OAAO,GACM;AACf,QAAM,SAAS,IAAI,MAAM,aAAa,WAAW;AAKjD,QAAM,WAAW,IAAI,MAAM;AAE3B,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yDAAyD;AAAA,EACvF;AAEA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,0DAA0D;AAAA,EACxF;AAEA,MAAI,YAAY,MAAM;AACpB,WAAO,IACJ,OAAO,GAAG,EACV,KAAK,oEAAoE;AAAA,EAC9E;AAEA,QAAM,YAAY,IAEf,eAAe,EAAE,WAAW,MAAM,aAAa,qBAAqB,QAAQ,CAAC,EAC7E,UAAU,iBAAiB;AAE9B,MAAI,aAAa,iBAAiB;AAElC,QAAM,gBAAgB,eAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,uBAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,mBAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,WAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,qBAAqB,CAAC;AAAA,EACjE,CAAC;AAED,MAAI,UAAU,mBAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,UAAU,iBAAiB;AAC1D,iBAAe,aAAa,OAAO,aAAa,WAAW;AAE3D,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":[]}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { cookies, draftMode } from "next/headers";
|
|
3
|
-
import { MakeswiftSiteVersion, makeswiftSiteVersionSchema } from "../../api/site-version";
|
|
4
|
-
const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = "x-makeswift-draft-data";
|
|
5
|
-
const makeswiftDraftDataSchema = z.object({
|
|
6
|
-
makeswift: z.literal(true),
|
|
7
|
-
siteVersion: makeswiftSiteVersionSchema
|
|
8
|
-
});
|
|
9
|
-
async function getDraftData() {
|
|
10
|
-
const { isEnabled: isDraftModeEnabled } = await draftMode();
|
|
11
|
-
if (!isDraftModeEnabled)
|
|
12
|
-
return null;
|
|
13
|
-
const cookie = (await cookies()).get(MAKESWIFT_DRAFT_MODE_DATA_COOKIE);
|
|
14
|
-
if (cookie == null)
|
|
15
|
-
return null;
|
|
16
|
-
const draftData = JSON.parse(cookie.value);
|
|
17
|
-
const result = makeswiftDraftDataSchema.safeParse(draftData);
|
|
18
|
-
if (result.success)
|
|
19
|
-
return result.data;
|
|
20
|
-
return null;
|
|
21
|
-
}
|
|
22
|
-
async function getSiteVersion() {
|
|
23
|
-
return (await getDraftData())?.siteVersion ?? MakeswiftSiteVersion.Live;
|
|
24
|
-
}
|
|
25
|
-
export {
|
|
26
|
-
MAKESWIFT_DRAFT_MODE_DATA_COOKIE,
|
|
27
|
-
getSiteVersion,
|
|
28
|
-
makeswiftDraftDataSchema
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/next/draft-mode/index.tsx"],"sourcesContent":["import { z } from 'zod'\nimport { cookies, draftMode } from 'next/headers'\nimport { MakeswiftSiteVersion, makeswiftSiteVersionSchema } from '../../api/site-version'\n\nexport const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = 'x-makeswift-draft-data'\n\nexport const makeswiftDraftDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\n\nexport type MakeswiftDraftData = z.infer<typeof makeswiftDraftDataSchema>\n\nasync function getDraftData(): Promise<MakeswiftDraftData | null> {\n const { isEnabled: isDraftModeEnabled } = await draftMode()\n if (!isDraftModeEnabled) return null\n\n const cookie = (await cookies()).get(MAKESWIFT_DRAFT_MODE_DATA_COOKIE)\n if (cookie == null) return null\n\n const draftData = JSON.parse(cookie.value)\n const result = makeswiftDraftDataSchema.safeParse(draftData)\n\n if (result.success) return result.data\n return null\n}\n\nexport async function getSiteVersion() {\n return (await getDraftData())?.siteVersion ?? MakeswiftSiteVersion.Live\n}\n"],"mappings":"AAAA,SAAS,SAAS;AAClB,SAAS,SAAS,iBAAiB;AACnC,SAAS,sBAAsB,kCAAkC;AAE1D,MAAM,mCAAmC;AAEzC,MAAM,2BAA2B,EAAE,OAAO;AAAA,EAC/C,WAAW,EAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAID,eAAe,eAAmD;AAChE,QAAM,EAAE,WAAW,mBAAmB,IAAI,MAAM,UAAU;AAC1D,MAAI,CAAC;AAAoB,WAAO;AAEhC,QAAM,UAAU,MAAM,QAAQ,GAAG,IAAI,gCAAgC;AACrE,MAAI,UAAU;AAAM,WAAO;AAE3B,QAAM,YAAY,KAAK,MAAM,OAAO,KAAK;AACzC,QAAM,SAAS,yBAAyB,UAAU,SAAS;AAE3D,MAAI,OAAO;AAAS,WAAO,OAAO;AAClC,SAAO;AACT;AAEA,eAAsB,iBAAiB;AACrC,UAAQ,MAAM,aAAa,IAAI,eAAe,qBAAqB;AACrE;","names":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { makeswiftSiteVersionSchema } from "../api/site-version";
|
|
3
|
-
const makeswiftPreviewDataSchema = z.object({
|
|
4
|
-
makeswift: z.literal(true),
|
|
5
|
-
siteVersion: makeswiftSiteVersionSchema
|
|
6
|
-
});
|
|
7
|
-
function getMakeswiftSiteVersion(previewData) {
|
|
8
|
-
const result = makeswiftPreviewDataSchema.safeParse(previewData);
|
|
9
|
-
if (result.success)
|
|
10
|
-
return result.data.siteVersion;
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
export {
|
|
14
|
-
getMakeswiftSiteVersion
|
|
15
|
-
};
|
|
16
|
-
//# sourceMappingURL=preview-mode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/preview-mode.tsx"],"sourcesContent":["import { PreviewData } from 'next'\nimport { z } from 'zod'\nimport { type MakeswiftSiteVersion, makeswiftSiteVersionSchema } from '../api/site-version'\n\nconst makeswiftPreviewDataSchema = z.object({\n makeswift: z.literal(true),\n siteVersion: makeswiftSiteVersionSchema,\n})\nexport type MakeswiftPreviewData = z.infer<typeof makeswiftPreviewDataSchema>\n\nexport function getMakeswiftSiteVersion(previewData: PreviewData): MakeswiftSiteVersion | null {\n const result = makeswiftPreviewDataSchema.safeParse(previewData)\n\n if (result.success) return result.data.siteVersion\n\n return null\n}\n"],"mappings":"AACA,SAAS,SAAS;AAClB,SAAoC,kCAAkC;AAEtE,MAAM,6BAA6B,EAAE,OAAO;AAAA,EAC1C,WAAW,EAAE,QAAQ,IAAI;AAAA,EACzB,aAAa;AACf,CAAC;AAGM,SAAS,wBAAwB,aAAuD;AAC7F,QAAM,SAAS,2BAA2B,UAAU,WAAW;AAE/D,MAAI,OAAO;AAAS,WAAO,OAAO,KAAK;AAEvC,SAAO;AACT;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-switcher.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { PageMeta } from '../page/head-tags'\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { DraftToolbar } from './draft-toolbar'\n\nconst ClearDraftModeRequestPath = '/api/makeswift/clear-draft'\n\nasync function exitDraftMode() {\n try {\n await fetch(ClearDraftModeRequestPath)\n window.location.reload()\n } catch (err) {\n console.error('Could not clear Makeswift cookies. Please report this error to your developer.')\n console.error(err)\n }\n}\n\nexport function DraftSwitcher({ isDraft }: { isDraft: boolean }) {\n const shadowContainerRef = useRef<HTMLSpanElement | null>(null)\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null)\n const isInBuilder = useIsInBuilder()\n\n const showToolbar = !isInBuilder && isDraft\n\n useEffect(() => {\n if (!showToolbar) return\n if (\n shadowContainerRef.current &&\n shadowContainerRef.current.shadowRoot == null &&\n shadowRoot == null\n ) {\n const root = shadowContainerRef.current.attachShadow({ mode: 'open' })\n setShadowRoot(root)\n }\n }, [showToolbar, shadowRoot, setShadowRoot])\n\n return (\n <>\n {showToolbar && (\n <span id=\"makeswift-draft-switcher\" ref={shadowContainerRef}>\n {shadowRoot\n ? createPortal(<DraftToolbar onExitDraft={exitDraftMode} />, shadowRoot)\n : null}\n </span>\n )}\n {/* Insert draft mode information into the DOM to make it easier to debug draft mode-related\n issues on production sites */}\n <PageMeta\n name=\"makeswift-draft-info\"\n content={JSON.stringify({ draft: isDraft, inBuilder: isInBuilder })}\n />\n </>\n )\n}\n"],"mappings":"AAuCI,mBAIuB,KAJvB;AAvCJ,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAE7B,MAAM,4BAA4B;AAElC,eAAe,gBAAgB;AAC7B,MAAI;AACF,UAAM,MAAM,yBAAyB;AACrC,WAAO,SAAS,OAAO;AAAA,EACzB,SAAS,KAAK;AACZ,YAAQ,MAAM,gFAAgF;AAC9F,YAAQ,MAAM,GAAG;AAAA,EACnB;AACF;AAEO,SAAS,cAAc,EAAE,QAAQ,GAAyB;AAC/D,QAAM,qBAAqB,OAA+B,IAAI;AAC9D,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B,IAAI;AACpE,QAAM,cAAc,eAAe;AAEnC,QAAM,cAAc,CAAC,eAAe;AAEpC,YAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,QACE,mBAAmB,WACnB,mBAAmB,QAAQ,cAAc,QACzC,cAAc,MACd;AACA,YAAM,OAAO,mBAAmB,QAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,oBAAc,IAAI;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,aAAa,CAAC;AAE3C,SACE,iCACG;AAAA,mBACC,oBAAC,UAAK,IAAG,4BAA2B,KAAK,oBACtC,uBACG,aAAa,oBAAC,gBAAa,aAAa,eAAe,GAAI,UAAU,IACrE,MACN;AAAA,IAIF;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,KAAK,UAAU,EAAE,OAAO,SAAS,WAAW,YAAY,CAAC;AAAA;AAAA,IACpE;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-toolbar.tsx"],"sourcesContent":["const makeswiftIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC'\n\nconst styles = `\n.exit-preview-container {\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n}\n\n.exit-preview-button {\n background: #2e2e2e;\n padding: 10px 18px 10px 14px;\n border: 0px;\n border-radius: 32px;\n color: #efefef;\n box-shadow:\n 0 11px 40px 0 rgba(0, 0, 0, 0.25),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n transition: 150ms;\n\n font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji';\n font-size: 14px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.exit-preview-button > .label {\n transform: translateY(-1px);\n}\n\n.exit-preview-container:hover > .exit-preview-button {\n transform: translateY(-2px);\n box-shadow:\n 0 15px 40px 0 rgba(0, 0, 0, 0.3),\n 0 6px 10px 0 rgba(0, 0, 0, 0.15);\n}\n`\n\ntype Props = {\n onExitDraft: () => void\n}\n\nexport function DraftToolbar({ onExitDraft }: Props) {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: styles }} />\n <div className=\"exit-preview-container\">\n <button className=\"exit-preview-button\" onClick={onExitDraft}>\n <img src={makeswiftIcon} alt=\"Makeswift Logo\" width={18} height={18} />\n <span className=\"label\">Exit Preview</span>\n </button>\n </div>\n </>\n )\n}\n"],"mappings":"AAkDI,mBACE,KAEE,YAHJ;AAlDJ,MAAM,gBACJ;AAEF,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CR,SAAS,aAAa,EAAE,YAAY,GAAU;AACnD,SACE,iCACE;AAAA,wBAAC,WAAM,yBAAyB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpD,oBAAC,SAAI,WAAU,0BACb,+BAAC,YAAO,WAAU,uBAAsB,SAAS,aAC/C;AAAA,0BAAC,SAAI,KAAK,eAAe,KAAI,kBAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MACrE,oBAAC,UAAK,WAAU,SAAQ,0BAAY;AAAA,OACtC,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const makeswiftSiteVersionSchema: z.ZodEnum<["Live", "Working"]>;
|
|
3
|
-
export declare const MakeswiftSiteVersion: z.Values<["Live", "Working"]>;
|
|
4
|
-
export type MakeswiftSiteVersion = z.infer<typeof makeswiftSiteVersionSchema>;
|
|
5
|
-
export declare const API_HANDLER_SITE_VERSION_HEADER = "X-Makeswift-Site-Version";
|
|
6
|
-
export declare function parseSiteVersion(version: unknown): MakeswiftSiteVersion;
|
|
7
|
-
//# sourceMappingURL=site-version.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-version.d.ts","sourceRoot":"","sources":["../../../src/api/site-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,0BAA0B,gCAA8B,CAAA;AAErE,eAAO,MAAM,oBAAoB,+BAAkC,CAAA;AACnE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E,eAAO,MAAM,+BAA+B,6BAA6B,CAAA;AAEzE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAGvE"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type ApiRequest, ApiResponse } from '../request-response';
|
|
2
|
-
export declare function clearDraftHandler(_req: ApiRequest, { draftCookieNames }: {
|
|
3
|
-
draftCookieNames: string[];
|
|
4
|
-
}): Promise<ApiResponse<{
|
|
5
|
-
cleared: boolean;
|
|
6
|
-
}>>;
|
|
7
|
-
//# sourceMappingURL=clear-draft.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"clear-draft.d.ts","sourceRoot":"","sources":["../../../../src/api-handler/handlers/clear-draft.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGlE,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,UAAU,EAChB,EAAE,gBAAgB,EAAE,EAAE;IAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,GACnD,OAAO,CAAC,WAAW,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,CAW5C"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare const PRERENDER_BYPASS_COOKIE = "__prerender_bypass";
|
|
2
|
-
export declare const PREVIEW_DATA_COOKIE = "__next_preview_data";
|
|
3
|
-
export declare const MAKESWIFT_DRAFT_DATA_COOKIE = "x-makeswift-draft-data";
|
|
4
|
-
export declare const SearchParams: {
|
|
5
|
-
readonly DraftMode: "x-makeswift-draft-mode";
|
|
6
|
-
readonly PreviewMode: "x-makeswift-preview-mode";
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=draft.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"draft.d.ts","sourceRoot":"","sources":["../../../../src/next/api-handler/draft.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,uBAAuB,CAAA;AAC3D,eAAO,MAAM,mBAAmB,wBAAwB,CAAA;AAExD,eAAO,MAAM,2BAA2B,2BAA2B,CAAA;AAEnE,eAAO,MAAM,YAAY;;;CAGf,CAAA"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
-
export declare function originalRequestProtocol(request: NextRequest): string | null;
|
|
3
|
-
export declare function redirectDraftHandler(request: NextRequest, _context: any, { apiKey }: {
|
|
4
|
-
apiKey: string;
|
|
5
|
-
}): Promise<NextResponse>;
|
|
6
|
-
//# sourceMappingURL=redirect-draft.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redirect-draft.d.ts","sourceRoot":"","sources":["../../../../../src/next/api-handler/handlers/redirect-draft.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAUvD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAO3E;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,GAAG,EACb,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,YAAY,CAAC,CAmDvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redirect-draft.test.d.ts","sourceRoot":"","sources":["../../../../../src/next/api-handler/handlers/redirect-draft.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redirect-preview.d.ts","sourceRoot":"","sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AAUtD,wBAAsB,sBAAsB,CAC1C,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,eAAe,EACpB,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const MAKESWIFT_DRAFT_MODE_DATA_COOKIE = "x-makeswift-draft-data";
|
|
3
|
-
export declare const makeswiftDraftDataSchema: z.ZodObject<{
|
|
4
|
-
makeswift: z.ZodLiteral<true>;
|
|
5
|
-
siteVersion: z.ZodEnum<["Live", "Working"]>;
|
|
6
|
-
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
siteVersion: "Live" | "Working";
|
|
8
|
-
makeswift: true;
|
|
9
|
-
}, {
|
|
10
|
-
siteVersion: "Live" | "Working";
|
|
11
|
-
makeswift: true;
|
|
12
|
-
}>;
|
|
13
|
-
export type MakeswiftDraftData = z.infer<typeof makeswiftDraftDataSchema>;
|
|
14
|
-
export declare function getSiteVersion(): Promise<"Live" | "Working">;
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/next/draft-mode/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,gCAAgC,2BAA2B,CAAA;AAExE,eAAO,MAAM,wBAAwB;;;;;;;;;EAGnC,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAgBzE,wBAAsB,cAAc,gCAEnC"}
|