@makeswift/runtime 0.25.0-canary.8 → 0.25.0
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/react.js +10 -14
- package/dist/cjs/api/react.js.map +1 -1
- 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 +3 -4
- package/dist/cjs/api-handler/handlers/manifest.js.map +1 -1
- 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/index.js +6 -5
- package/dist/cjs/api-handler/index.js.map +1 -1
- 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/{next/preview-mode.js → api-handler/preview.js} +12 -18
- package/dist/cjs/api-handler/preview.js.map +1 -0
- 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/Box/animations.js.map +1 -1
- package/dist/cjs/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
- package/dist/cjs/components/builtin/Image/Image.js +4 -26
- package/dist/cjs/components/builtin/Image/Image.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/Slot/Slot.js +1 -1
- package/dist/cjs/components/builtin/Slot/Slot.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/BackgroundsContainer/components/Backgrounds/index.js +4 -14
- package/dist/cjs/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
- package/dist/cjs/components/shared/Link/index.js +15 -40
- package/dist/cjs/components/shared/Link/index.js.map +1 -1
- package/dist/cjs/{next/components/Slot.js → components/shared/react-player.js} +9 -18
- package/dist/cjs/components/shared/react-player.js.map +1 -0
- package/dist/cjs/components/utils/responsive-style.js.map +1 -1
- package/dist/cjs/css/border-radius.js.map +1 -1
- package/dist/cjs/css/border.js.map +1 -1
- package/dist/cjs/css/margin.js.map +1 -1
- package/dist/cjs/css/padding.js.map +1 -1
- package/dist/cjs/next/api-handler/config/app-router.js +12 -10
- package/dist/cjs/next/api-handler/config/app-router.js.map +1 -1
- package/dist/cjs/next/api-handler/config/pages-router.js +9 -69
- 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 +4 -3
- package/dist/cjs/next/api-handler/index.js.map +1 -1
- package/dist/cjs/next/api-handler/{draft.js → preview.js} +13 -11
- package/dist/cjs/next/api-handler/preview.js.map +1 -0
- package/dist/cjs/next/app-router-site-version.js +40 -0
- 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/app-router/index.js.map +1 -1
- package/dist/cjs/next/components/framework-provider/index.js +20 -2
- package/dist/cjs/next/components/framework-provider/index.js.map +1 -1
- 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/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/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/{api-handler/handlers/clear-draft.js → next/components/tests/__fixtures__/resources/files.js} +17 -19
- 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/components/tests/controls/page-control-prop-rendering.js +1 -1
- package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/cjs/next/document.js +2 -1
- package/dist/cjs/next/document.js.map +1 -1
- package/dist/cjs/next/index.js +2 -2
- 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 +10 -25
- 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 +16 -3
- 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 +7 -5
- package/dist/cjs/next/tests/test-utils.js.map +1 -1
- package/dist/cjs/{next → runtimes/react}/components/MakeswiftComponent.js +4 -4
- package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -0
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js +9 -7
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/cjs/runtimes/react/components/Slot.js +38 -0
- package/dist/cjs/runtimes/react/components/Slot.js.map +1 -0
- package/dist/cjs/{next → runtimes/react}/components/SlotProvider.js +3 -3
- package/dist/cjs/runtimes/react/components/SlotProvider.js.map +1 -0
- package/dist/cjs/runtimes/react/components/framework-context.js +38 -3
- 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/controls/style.js.map +1 -1
- 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/hooks/use-stylesheet-factory.js +1 -1
- package/dist/cjs/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
- package/dist/cjs/runtimes/react/host-api-client.js +7 -2
- package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
- package/dist/cjs/runtimes/react/root-style-registry.js +39 -13
- package/dist/cjs/runtimes/react/root-style-registry.js.map +1 -1
- package/dist/cjs/runtimes/react/use-global-style.js +1 -1
- package/dist/cjs/runtimes/react/use-global-style.js.map +1 -1
- package/dist/cjs/runtimes/react/use-style.js +3 -3
- package/dist/cjs/runtimes/react/use-style.js.map +1 -1
- package/dist/cjs/state/actions.js +6 -0
- package/dist/cjs/state/actions.js.map +1 -1
- package/dist/cjs/state/makeswift-api-client.js +42 -57
- package/dist/cjs/state/makeswift-api-client.js.map +1 -1
- package/dist/cjs/state/mixins/setup-teardown.js.map +1 -1
- package/dist/cjs/state/modules/api-resources.js +2 -0
- package/dist/cjs/state/modules/api-resources.js.map +1 -1
- package/dist/cjs/state/modules/box-models.js +2 -0
- package/dist/cjs/state/modules/box-models.js.map +1 -1
- package/dist/cjs/state/modules/breakpoints.js +3 -1
- package/dist/cjs/state/modules/breakpoints.js.map +1 -1
- package/dist/cjs/state/modules/builder-edit-mode.js +2 -0
- package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
- package/dist/cjs/state/modules/components-meta.js +2 -0
- package/dist/cjs/state/modules/components-meta.js.map +1 -1
- package/dist/cjs/state/modules/element-imperative-handles.js +2 -0
- package/dist/cjs/state/modules/element-imperative-handles.js.map +1 -1
- package/dist/cjs/state/modules/element-trees.js +2 -0
- package/dist/cjs/state/modules/element-trees.js.map +1 -1
- package/dist/cjs/state/modules/is-in-builder.js +2 -0
- package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
- package/dist/cjs/state/modules/is-preview.js +3 -0
- package/dist/cjs/state/modules/is-preview.js.map +1 -1
- package/dist/cjs/state/modules/localized-resources-map.js +2 -0
- package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
- package/dist/cjs/state/modules/pointer.js +2 -0
- package/dist/cjs/state/modules/pointer.js.map +1 -1
- package/dist/cjs/state/modules/prop-controller-handles.js +2 -0
- package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
- package/dist/cjs/state/modules/prop-controllers.js +2 -0
- package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
- package/dist/cjs/state/modules/react-components.js +2 -0
- package/dist/cjs/state/modules/react-components.js.map +1 -1
- package/dist/cjs/state/modules/read-only-documents.js +2 -0
- package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
- package/dist/cjs/state/modules/read-write-documents.js +2 -0
- package/dist/cjs/state/modules/read-write-documents.js.map +1 -1
- package/dist/cjs/state/react-builder-preview.js +32 -38
- package/dist/cjs/state/react-builder-preview.js.map +1 -1
- package/dist/cjs/state/react-page.js +15 -19
- package/dist/cjs/state/react-page.js.map +1 -1
- 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/react.js +10 -14
- package/dist/esm/api/react.js.map +1 -1
- 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 +3 -4
- package/dist/esm/api-handler/handlers/manifest.js.map +1 -1
- 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/index.js +7 -6
- package/dist/esm/api-handler/index.js.map +1 -1
- 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 +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/Box/animations.js.map +1 -1
- package/dist/esm/components/builtin/Form/components/Field/services/responsiveField.js.map +1 -1
- package/dist/esm/components/builtin/Image/Image.js +4 -16
- package/dist/esm/components/builtin/Image/Image.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/Slot/Slot.js +1 -1
- package/dist/esm/components/builtin/Slot/Slot.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/BackgroundsContainer/components/Backgrounds/index.js +4 -14
- package/dist/esm/components/shared/BackgroundsContainer/components/Backgrounds/index.js.map +1 -1
- package/dist/esm/components/shared/Link/index.js +13 -28
- package/dist/esm/components/shared/Link/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/components/utils/responsive-style.js.map +1 -1
- package/dist/esm/css/border-radius.js.map +1 -1
- package/dist/esm/css/border.js.map +1 -1
- package/dist/esm/css/margin.js.map +1 -1
- package/dist/esm/css/padding.js.map +1 -1
- package/dist/esm/next/api-handler/config/app-router.js +12 -10
- package/dist/esm/next/api-handler/config/app-router.js.map +1 -1
- package/dist/esm/next/api-handler/config/pages-router.js +9 -69
- 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 +4 -3
- 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 +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/app-router/index.js.map +1 -1
- package/dist/esm/next/components/framework-provider/index.js +13 -2
- package/dist/esm/next/components/framework-provider/index.js.map +1 -1
- 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/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/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__/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/components/tests/controls/page-control-prop-rendering.js +1 -1
- package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/esm/next/document.js +2 -1
- package/dist/esm/next/document.js.map +1 -1
- package/dist/esm/next/index.js +2 -2
- 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 +11 -23
- 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 +14 -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 +7 -5
- package/dist/esm/next/tests/test-utils.js.map +1 -1
- package/dist/esm/{next → runtimes/react}/components/MakeswiftComponent.js +6 -4
- package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -0
- package/dist/esm/runtimes/react/components/RuntimeProvider.js +9 -7
- package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/esm/{next → runtimes/react}/components/Slot.js +3 -5
- package/dist/esm/runtimes/react/components/Slot.js.map +1 -0
- package/dist/esm/{next → runtimes/react}/components/SlotProvider.js +1 -2
- package/dist/esm/runtimes/react/components/SlotProvider.js.map +1 -0
- package/dist/esm/runtimes/react/components/framework-context.js +41 -3
- 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/controls/style.js.map +1 -1
- 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/hooks/use-stylesheet-factory.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-stylesheet-factory.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-universal-dispatch.js.map +1 -1
- package/dist/esm/runtimes/react/host-api-client.js +7 -2
- package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
- package/dist/esm/runtimes/react/root-style-registry.js +37 -13
- package/dist/esm/runtimes/react/root-style-registry.js.map +1 -1
- package/dist/esm/runtimes/react/use-global-style.js +1 -1
- package/dist/esm/runtimes/react/use-global-style.js.map +1 -1
- package/dist/esm/runtimes/react/use-style.js +1 -1
- package/dist/esm/runtimes/react/use-style.js.map +1 -1
- package/dist/esm/state/actions.js +5 -0
- package/dist/esm/state/actions.js.map +1 -1
- package/dist/esm/state/makeswift-api-client.js +42 -58
- package/dist/esm/state/makeswift-api-client.js.map +1 -1
- package/dist/esm/state/mixins/setup-teardown.js.map +1 -1
- package/dist/esm/state/modules/api-resources.js +3 -1
- package/dist/esm/state/modules/api-resources.js.map +1 -1
- package/dist/esm/state/modules/box-models.js +3 -1
- package/dist/esm/state/modules/box-models.js.map +1 -1
- package/dist/esm/state/modules/breakpoints.js +4 -2
- package/dist/esm/state/modules/breakpoints.js.map +1 -1
- package/dist/esm/state/modules/builder-edit-mode.js +3 -1
- package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
- package/dist/esm/state/modules/components-meta.js +3 -1
- package/dist/esm/state/modules/components-meta.js.map +1 -1
- package/dist/esm/state/modules/element-imperative-handles.js +3 -1
- package/dist/esm/state/modules/element-imperative-handles.js.map +1 -1
- package/dist/esm/state/modules/element-trees.js +3 -1
- package/dist/esm/state/modules/element-trees.js.map +1 -1
- package/dist/esm/state/modules/is-in-builder.js +3 -1
- package/dist/esm/state/modules/is-in-builder.js.map +1 -1
- package/dist/esm/state/modules/is-preview.js +3 -0
- package/dist/esm/state/modules/is-preview.js.map +1 -1
- package/dist/esm/state/modules/localized-resources-map.js +3 -1
- package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
- package/dist/esm/state/modules/pointer.js +3 -1
- package/dist/esm/state/modules/pointer.js.map +1 -1
- package/dist/esm/state/modules/prop-controller-handles.js +3 -1
- package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
- package/dist/esm/state/modules/prop-controllers.js +3 -1
- package/dist/esm/state/modules/prop-controllers.js.map +1 -1
- package/dist/esm/state/modules/react-components.js +3 -1
- package/dist/esm/state/modules/react-components.js.map +1 -1
- package/dist/esm/state/modules/read-only-documents.js +6 -1
- package/dist/esm/state/modules/read-only-documents.js.map +1 -1
- package/dist/esm/state/modules/read-write-documents.js +3 -1
- package/dist/esm/state/modules/read-write-documents.js.map +1 -1
- package/dist/esm/state/react-builder-preview.js +33 -40
- package/dist/esm/state/react-builder-preview.js.map +1 -1
- package/dist/esm/state/react-page.js +16 -21
- package/dist/esm/state/react-page.js.map +1 -1
- 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/graphql/documents/queries.d.ts +7 -7
- package/dist/types/api/graphql/documents/queries.d.ts.map +1 -1
- package/dist/types/api/graphql/generated/fragment-document-nodes.d.ts.map +1 -1
- package/dist/types/api/react.d.ts +3 -4
- package/dist/types/api/react.d.ts.map +1 -1
- 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 +1 -3
- package/dist/types/api-handler/handlers/manifest.d.ts.map +1 -1
- 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/index.d.ts +5 -5
- package/dist/types/api-handler/index.d.ts.map +1 -1
- 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 +1 -0
- package/dist/types/api-handler/request-response.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +174 -165
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/Box.d.ts +15 -147
- package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts +0 -1
- package/dist/types/components/builtin/Box/components/Placeholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/Button.d.ts +4 -70
- package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts +0 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts +0 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts +0 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/builtin/Embed/Embed.d.ts +0 -1
- package/dist/types/components/builtin/Embed/Embed.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts +0 -1
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/CheckboxTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/EmailTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/Input/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/LongTextTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/NumberTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/RadioButton/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/TextArea/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/components/URLTableField/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/services/responsiveField.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Field/services/responsiveField.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Placeholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Spinner/index.d.ts +0 -1
- package/dist/types/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/context/FormContext.d.ts +0 -1
- package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
- package/dist/types/components/builtin/Image/Image.d.ts +0 -1
- package/dist/types/components/builtin/Image/Image.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts +0 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +0 -1
- package/dist/types/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +0 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Root/Root.d.ts +1 -2
- package/dist/types/components/builtin/Root/Root.d.ts.map +1 -1
- package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts +0 -1
- package/dist/types/components/builtin/Root/components/Placeholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +0 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +0 -1
- package/dist/types/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Text/Text.d.ts +0 -1
- package/dist/types/components/builtin/Text/Text.d.ts.map +1 -1
- package/dist/types/components/builtin/Video/Video.d.ts +0 -1
- package/dist/types/components/builtin/Video/Video.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 +0 -1
- package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +0 -1
- package/dist/types/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
- package/dist/types/components/shared/ErrorBoundary.d.ts +0 -1
- package/dist/types/components/shared/ErrorBoundary.d.ts.map +1 -1
- package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts +0 -1
- package/dist/types/components/shared/FallbackComponent/FallbackComponent.d.ts.map +1 -1
- package/dist/types/components/shared/Link/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/components/utils/columns.d.ts.map +1 -1
- package/dist/types/components/utils/responsive-style.d.ts +1 -1
- package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
- package/dist/types/controls/control.d.ts +1 -25
- package/dist/types/controls/control.d.ts.map +1 -1
- package/dist/types/controls/link.d.ts +3 -3
- package/dist/types/controls/link.d.ts.map +1 -1
- package/dist/types/controls/rich-text/control.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/control.d.ts +13 -13
- package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/plugin.d.ts +2 -2
- package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +556 -12
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/css/border-radius.d.ts +1 -1
- package/dist/types/css/border-radius.d.ts.map +1 -1
- package/dist/types/css/border.d.ts +1 -1
- package/dist/types/css/border.d.ts.map +1 -1
- package/dist/types/css/margin.d.ts +1 -1
- package/dist/types/css/margin.d.ts.map +1 -1
- package/dist/types/css/padding.d.ts +1 -1
- package/dist/types/css/padding.d.ts.map +1 -1
- package/dist/types/next/api-handler/config/app-router.d.ts +10 -8
- 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/index.d.ts +1 -1
- 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/client.d.ts +3 -3
- package/dist/types/next/client.d.ts.map +1 -1
- package/dist/types/next/components/framework-provider/app-router/index.d.ts +1 -1
- package/dist/types/next/components/framework-provider/app-router/index.d.ts.map +1 -1
- package/dist/types/next/components/framework-provider/index.d.ts.map +1 -1
- 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/index.d.ts +1 -1
- package/dist/types/next/components/framework-provider/pages-router/index.d.ts.map +1 -1
- package/dist/types/next/components/page.d.ts +2 -7
- package/dist/types/next/components/page.d.ts.map +1 -1
- 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__/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/controls/color-control/fixtures.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/style-control/fixtures.d.ts.map +1 -1
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +3 -16
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
- package/dist/types/next/document.d.ts.map +1 -1
- package/dist/types/next/index.d.ts +3 -3
- 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/element-data.d.ts +13 -13
- package/dist/types/next/testing/page-rendering.d.ts +3 -0
- package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
- package/dist/types/next/testing/react-provider.d.ts +3 -3
- 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/Document.d.ts +0 -1
- package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/DocumentRoot.d.ts +0 -1
- package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/Element.d.ts +0 -1
- package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/ElementData.d.ts +0 -1
- package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/ElementReference.d.ts +0 -1
- package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
- package/dist/types/{next → runtimes/react}/components/MakeswiftComponent.d.ts +1 -2
- package/dist/types/runtimes/react/components/MakeswiftComponent.d.ts.map +1 -0
- 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/{next → runtimes/react}/components/Slot.d.ts +2 -2
- package/dist/types/runtimes/react/components/Slot.d.ts.map +1 -0
- package/dist/types/{next → runtimes/react}/components/SlotProvider.d.ts +1 -2
- package/dist/types/runtimes/react/components/SlotProvider.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/framework-context.d.ts +25 -1
- package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts +0 -1
- package/dist/types/runtimes/react/components/page/HeadSnippet.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/Page.d.ts +0 -1
- package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/PageHead.d.ts +0 -1
- package/dist/types/runtimes/react/components/page/PageHead.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/components/render-hook.d.ts +0 -1
- package/dist/types/runtimes/react/components/render-hook.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/control.d.ts +0 -1
- package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/group.d.ts +0 -1
- package/dist/types/runtimes/react/controls/group.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +0 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +0 -1
- package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +0 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts +0 -1
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/makeswift-api.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts +0 -1
- package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-document-context.d.ts +0 -1
- package/dist/types/runtimes/react/hooks/use-document-context.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-document-cycles.d.ts +0 -1
- package/dist/types/runtimes/react/hooks/use-document-cycles.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts +0 -1
- package/dist/types/runtimes/react/hooks/use-react-runtime.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-store.d.ts +25 -2
- package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-stylesheet-factory.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-universal-dispatch.d.ts.map +1 -1
- package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
- package/dist/types/runtimes/react/legacy-controls.d.ts +0 -1
- package/dist/types/runtimes/react/legacy-controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/root-style-registry.d.ts +30 -10
- package/dist/types/runtimes/react/root-style-registry.d.ts.map +1 -1
- package/dist/types/runtimes/react/use-global-style.d.ts.map +1 -1
- package/dist/types/runtimes/react/use-style.d.ts +1 -1
- package/dist/types/runtimes/react/use-style.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/index.d.ts +5 -5
- package/dist/types/slate/BlockPlugin/utils/location.d.ts.map +1 -1
- package/dist/types/slate/InlineModePlugin/index.d.ts +41 -41
- package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/index.d.ts +5 -6
- package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts +3 -4
- package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
- package/dist/types/slate/TextAlignPlugin/index.d.ts +5 -6
- package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/index.d.ts +2 -3
- package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/editor-v1.d.ts +0 -1
- package/dist/types/slate/test-helpers/editor-v1.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/editor-v2-inline.d.ts +0 -1
- package/dist/types/slate/test-helpers/editor-v2-inline.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/editor-v2.d.ts +0 -1
- package/dist/types/slate/test-helpers/editor-v2.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
- package/dist/types/slate/test-helpers/slate-test-helper.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/test-elements.d.ts +8 -64
- package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
- package/dist/types/slate/utils/editor.d.ts.map +1 -1
- package/dist/types/slate/utils/element.d.ts.map +1 -1
- package/dist/types/slate/utils/location.d.ts.map +1 -1
- package/dist/types/slate/utils/responsive.d.ts.map +1 -1
- 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/actions.d.ts +3 -2
- package/dist/types/state/actions.d.ts.map +1 -1
- package/dist/types/state/makeswift-api-client.d.ts +19 -11
- package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
- package/dist/types/state/mixins/setup-teardown.d.ts +1 -1
- package/dist/types/state/mixins/setup-teardown.d.ts.map +1 -1
- package/dist/types/state/modules/api-resources.d.ts +2 -2
- package/dist/types/state/modules/api-resources.d.ts.map +1 -1
- package/dist/types/state/modules/box-models.d.ts +2 -2
- package/dist/types/state/modules/box-models.d.ts.map +1 -1
- package/dist/types/state/modules/breakpoints.d.ts +2 -2
- package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
- package/dist/types/state/modules/builder-edit-mode.d.ts +2 -2
- package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
- package/dist/types/state/modules/components-meta.d.ts +2 -2
- package/dist/types/state/modules/components-meta.d.ts.map +1 -1
- package/dist/types/state/modules/element-imperative-handles.d.ts +2 -2
- package/dist/types/state/modules/element-imperative-handles.d.ts.map +1 -1
- package/dist/types/state/modules/element-trees.d.ts +2 -2
- package/dist/types/state/modules/element-trees.d.ts.map +1 -1
- package/dist/types/state/modules/is-in-builder.d.ts +2 -2
- package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
- package/dist/types/state/modules/is-preview.d.ts +2 -2
- package/dist/types/state/modules/is-preview.d.ts.map +1 -1
- package/dist/types/state/modules/localized-resources-map.d.ts +2 -2
- package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
- package/dist/types/state/modules/pointer.d.ts +2 -2
- package/dist/types/state/modules/pointer.d.ts.map +1 -1
- package/dist/types/state/modules/prop-controller-handles.d.ts +2 -2
- package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
- package/dist/types/state/modules/prop-controllers.d.ts +2 -2
- package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
- package/dist/types/state/modules/react-components.d.ts +2 -2
- package/dist/types/state/modules/react-components.d.ts.map +1 -1
- package/dist/types/state/modules/read-only-documents.d.ts +2 -2
- package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
- package/dist/types/state/modules/read-write-documents.d.ts +2 -2
- package/dist/types/state/modules/read-write-documents.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts +57 -10
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts +67 -36
- package/dist/types/state/react-page.d.ts.map +1 -1
- 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/clamp.d.ts.map +1 -1
- package/dist/types/utils/esm-compat.d.ts +2 -0
- package/dist/types/utils/esm-compat.d.ts.map +1 -0
- package/dist/types/utils/keys.d.ts.map +1 -1
- package/package.json +14 -15
- 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/components/MakeswiftComponent.js.map +0 -1
- package/dist/cjs/next/components/Slot.js.map +0 -1
- package/dist/cjs/next/components/SlotProvider.js.map +0 -1
- package/dist/cjs/next/draft-mode/index.js +0 -56
- 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/components/MakeswiftComponent.js.map +0 -1
- package/dist/esm/next/components/Slot.js.map +0 -1
- package/dist/esm/next/components/SlotProvider.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/components/MakeswiftComponent.d.ts.map +0 -1
- package/dist/types/next/components/Slot.d.ts.map +0 -1
- package/dist/types/next/components/SlotProvider.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
package/dist/cjs/api/react.js
CHANGED
|
@@ -45,13 +45,13 @@ const CacheData = {
|
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
47
|
class MakeswiftHostApiClient {
|
|
48
|
-
siteVersion;
|
|
49
48
|
graphqlClient;
|
|
50
49
|
makeswiftApiClient;
|
|
51
50
|
subscribe;
|
|
51
|
+
fetch;
|
|
52
52
|
constructor({
|
|
53
53
|
uri,
|
|
54
|
-
|
|
54
|
+
fetch,
|
|
55
55
|
cacheData,
|
|
56
56
|
locale
|
|
57
57
|
}) {
|
|
@@ -60,7 +60,7 @@ class MakeswiftHostApiClient {
|
|
|
60
60
|
serializedState: cacheData,
|
|
61
61
|
defaultLocale: locale
|
|
62
62
|
});
|
|
63
|
-
this.
|
|
63
|
+
this.fetch = fetch;
|
|
64
64
|
this.subscribe = this.makeswiftApiClient.subscribe;
|
|
65
65
|
}
|
|
66
66
|
readSwatch(swatchId) {
|
|
@@ -72,7 +72,7 @@ class MakeswiftHostApiClient {
|
|
|
72
72
|
}
|
|
73
73
|
async fetchSwatch(swatchId) {
|
|
74
74
|
return await this.makeswiftApiClient.dispatch(
|
|
75
|
-
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.Swatch, swatchId, this.
|
|
75
|
+
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.Swatch, swatchId, this.fetch)
|
|
76
76
|
);
|
|
77
77
|
}
|
|
78
78
|
resolveSwatch(swatchId) {
|
|
@@ -91,7 +91,7 @@ class MakeswiftHostApiClient {
|
|
|
91
91
|
}
|
|
92
92
|
async fetchFile(fileId) {
|
|
93
93
|
return await this.makeswiftApiClient.dispatch(
|
|
94
|
-
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.File, fileId, this.
|
|
94
|
+
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.File, fileId, this.fetch)
|
|
95
95
|
);
|
|
96
96
|
}
|
|
97
97
|
resolveFile(fileId) {
|
|
@@ -110,11 +110,7 @@ class MakeswiftHostApiClient {
|
|
|
110
110
|
}
|
|
111
111
|
async fetchTypography(typographyId) {
|
|
112
112
|
return await this.makeswiftApiClient.dispatch(
|
|
113
|
-
MakeswiftApiClient.fetchAPIResource(
|
|
114
|
-
import_types.APIResourceType.Typography,
|
|
115
|
-
typographyId,
|
|
116
|
-
this.siteVersion
|
|
117
|
-
)
|
|
113
|
+
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.Typography, typographyId, this.fetch)
|
|
118
114
|
);
|
|
119
115
|
}
|
|
120
116
|
resolveTypography(typographyId) {
|
|
@@ -136,7 +132,7 @@ class MakeswiftHostApiClient {
|
|
|
136
132
|
MakeswiftApiClient.fetchAPIResource(
|
|
137
133
|
import_types.APIResourceType.GlobalElement,
|
|
138
134
|
globalElementId,
|
|
139
|
-
this.
|
|
135
|
+
this.fetch
|
|
140
136
|
)
|
|
141
137
|
);
|
|
142
138
|
}
|
|
@@ -159,7 +155,7 @@ class MakeswiftHostApiClient {
|
|
|
159
155
|
MakeswiftApiClient.fetchAPIResource(
|
|
160
156
|
import_types.APIResourceType.LocalizedGlobalElement,
|
|
161
157
|
globalElementId,
|
|
162
|
-
this.
|
|
158
|
+
this.fetch,
|
|
163
159
|
locale
|
|
164
160
|
)
|
|
165
161
|
);
|
|
@@ -183,7 +179,7 @@ class MakeswiftHostApiClient {
|
|
|
183
179
|
MakeswiftApiClient.fetchAPIResource(
|
|
184
180
|
import_types.APIResourceType.PagePathnameSlice,
|
|
185
181
|
pageId,
|
|
186
|
-
this.
|
|
182
|
+
this.fetch,
|
|
187
183
|
locale
|
|
188
184
|
)
|
|
189
185
|
);
|
|
@@ -224,7 +220,7 @@ class MakeswiftHostApiClient {
|
|
|
224
220
|
}
|
|
225
221
|
async fetchTable(tableId) {
|
|
226
222
|
return await this.makeswiftApiClient.dispatch(
|
|
227
|
-
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.Table, tableId, this.
|
|
223
|
+
MakeswiftApiClient.fetchAPIResource(import_types.APIResourceType.Table, tableId, this.fetch)
|
|
228
224
|
);
|
|
229
225
|
}
|
|
230
226
|
async createTableRecord(tableId, columns) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api/react.ts"],"sourcesContent":["import { type FetchableValue } from '@makeswift/controls'\nimport * as MakeswiftApiClient from '../state/makeswift-api-client'\nimport {\n APIResourceType,\n File,\n GlobalElement,\n LocalizedGlobalElement,\n Page,\n PagePathnameSlice,\n Site,\n Snippet,\n Swatch,\n Table,\n Typography,\n} from './types'\nimport { GraphQLClient } from './graphql/client'\nimport { CreateTableRecordMutation } from './graphql/documents'\nimport {\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables,\n} from './graphql/generated/types'\nimport { MakeswiftSiteVersion } from './site-version'\n\nexport type CacheData = MakeswiftApiClient.SerializedState\n\nexport const CacheData = {\n empty(): CacheData {\n return {\n apiResources: {},\n localizedResourcesMap: {},\n }\n },\n}\n\n/**\n * NOTE(miguel): This \"client\" is used to fetch Makeswift API resources needed for the host. For\n * example, swatches, files, typographies, etc. Ideally it's internal to the runtime and is only\n * used by controls to transform API references to API resources.\n *\n * Moreover, its use should be reserved for the builder only, since for live pages all Makeswift\n * API resources should be embedded in the \"page snapshot\". In the builder, this client serves the\n * purpose of sending requests for API resources and keeping a cache so that changes that happen in\n * the builder, like modifying a swatch, can be sent via `postMessage` to the host and the cache can\n * immediately update the value and re-render.\n *\n * Furthermore, the API resources requested shouldn't be requested directly from the Makeswift API\n * as that would require those resources to not be authenticated since the requests come from the\n * browser when running the host. Instead, the requests should go to the host directly, at the\n * Makeswift API endpoint (i.g., `/api/makeswift/[...makeswift]` dynamic route) where the host's\n * API key can be used, securely, in the server. For this reason, this client should really be a\n * client of the host's API, not Makeswift's, intended to build and continuously maintain a realtime\n * snapshot for use in the builder, not the lives pages.\n */\nexport class MakeswiftHostApiClient {\n siteVersion: MakeswiftSiteVersion\n graphqlClient: GraphQLClient\n makeswiftApiClient: MakeswiftApiClient.Store\n subscribe: MakeswiftApiClient.Store['subscribe']\n\n constructor({\n uri,\n siteVersion,\n cacheData,\n locale,\n }: {\n uri: string\n siteVersion: MakeswiftSiteVersion\n cacheData?: CacheData\n locale?: string\n }) {\n this.graphqlClient = new GraphQLClient(uri)\n this.makeswiftApiClient = MakeswiftApiClient.configureStore({\n serializedState: cacheData,\n defaultLocale: locale,\n })\n this.siteVersion = siteVersion\n this.subscribe = this.makeswiftApiClient.subscribe\n }\n\n readSwatch(swatchId: string): Swatch | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Swatch,\n swatchId,\n )\n }\n\n async fetchSwatch(swatchId: string): Promise<Swatch | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Swatch, swatchId, this.siteVersion),\n )\n }\n\n resolveSwatch(swatchId: string | undefined): FetchableValue<Swatch | null> {\n return this.resolveResource(APIResourceType.Swatch, {\n id: swatchId,\n read: id => this.readSwatch(id),\n fetch: id => this.fetchSwatch(id),\n })\n }\n\n readFile(fileId: string): File | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.File,\n fileId,\n )\n }\n\n async fetchFile(fileId: string): Promise<File | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.File, fileId, this.siteVersion),\n )\n }\n\n resolveFile(fileId: string | undefined): FetchableValue<File | null> {\n return this.resolveResource(APIResourceType.File, {\n id: fileId,\n read: id => this.readFile(id),\n fetch: id => this.fetchFile(id),\n })\n }\n\n readTypography(typographyId: string): Typography | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Typography,\n typographyId,\n )\n }\n\n async fetchTypography(typographyId: string): Promise<Typography | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.Typography,\n typographyId,\n this.siteVersion,\n ),\n )\n }\n\n resolveTypography(typographyId: string | undefined): FetchableValue<Typography | null> {\n return this.resolveResource(APIResourceType.Typography, {\n id: typographyId,\n read: id => this.readTypography(id),\n fetch: id => this.fetchTypography(id),\n })\n }\n\n readGlobalElement(globalElementId: string): GlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.GlobalElement,\n globalElementId,\n )\n }\n\n async fetchGlobalElement(globalElementId: string): Promise<GlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.GlobalElement,\n globalElementId,\n this.siteVersion,\n ),\n )\n }\n\n readLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): LocalizedGlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n locale,\n )\n }\n\n async fetchLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): Promise<LocalizedGlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n this.siteVersion,\n locale,\n ),\n )\n }\n\n readPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): PagePathnameSlice | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.PagePathnameSlice,\n pageId,\n locale,\n )\n }\n\n async fetchPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): Promise<PagePathnameSlice | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.PagePathnameSlice,\n pageId,\n this.siteVersion,\n locale,\n ),\n )\n }\n\n resolvePagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string | undefined\n locale: string | null\n }): FetchableValue<PagePathnameSlice | null> {\n return this.resolveResource(APIResourceType.PagePathnameSlice, {\n id: pageId,\n read: id => this.readPagePathnameSlice({ pageId: id, locale }),\n fetch: id => this.fetchPagePathnameSlice({ pageId: id, locale }),\n })\n }\n\n resolveResource<R>(\n type: APIResourceType,\n {\n id,\n read,\n fetch,\n }: {\n id: string | undefined\n read: (id: string) => R | null\n fetch: (id: string) => Promise<R | null>\n },\n ): FetchableValue<R | null> {\n const _read = () => (id != null ? read(id) : null)\n let lastValue: R | null = null\n return {\n name: `${type}:${id}`,\n readStable: () => (lastValue = _read()),\n subscribe: (onUpdate: () => void) =>\n this.subscribe(() => {\n if (_read() !== lastValue) onUpdate()\n }),\n fetch: async () => (id != null ? fetch(id) : null),\n }\n }\n\n readTable(tableId: string): Table | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Table,\n tableId,\n )\n }\n\n async fetchTable(tableId: string): Promise<Table | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Table, tableId, this.siteVersion),\n )\n }\n\n async createTableRecord(tableId: string, columns: any): Promise<void> {\n await this.graphqlClient.request<\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables\n >(CreateTableRecordMutation, { input: { data: { tableId, columns } } })\n }\n\n readSite(siteId: string): Site | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Site,\n siteId,\n )\n }\n\n readPage(pageId: string): Page | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Page,\n pageId,\n )\n }\n\n readSnippet(snippetId: string): Snippet | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Snippet,\n snippetId,\n )\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/api/react.ts"],"sourcesContent":["import { type FetchableValue } from '@makeswift/controls'\nimport * as MakeswiftApiClient from '../state/makeswift-api-client'\nimport {\n APIResourceType,\n File,\n GlobalElement,\n LocalizedGlobalElement,\n Page,\n PagePathnameSlice,\n Site,\n Snippet,\n Swatch,\n Table,\n Typography,\n} from './types'\nimport { GraphQLClient } from './graphql/client'\nimport { CreateTableRecordMutation } from './graphql/documents'\nimport {\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables,\n} from './graphql/generated/types'\n\nexport type CacheData = MakeswiftApiClient.SerializedState\n\nexport const CacheData = {\n empty(): CacheData {\n return {\n apiResources: {},\n localizedResourcesMap: {},\n }\n },\n}\n\n/**\n * NOTE(miguel): This \"client\" is used to fetch Makeswift API resources needed for the host. For\n * example, swatches, files, typographies, etc. Ideally it's internal to the runtime and is only\n * used by controls to transform API references to API resources.\n *\n * Moreover, its use should be reserved for the builder only, since for live pages all Makeswift\n * API resources should be embedded in the \"page snapshot\". In the builder, this client serves the\n * purpose of sending requests for API resources and keeping a cache so that changes that happen in\n * the builder, like modifying a swatch, can be sent via `postMessage` to the host and the cache can\n * immediately update the value and re-render.\n *\n * Furthermore, the API resources requested shouldn't be requested directly from the Makeswift API\n * as that would require those resources to not be authenticated since the requests come from the\n * browser when running the host. Instead, the requests should go to the host directly, at the\n * Makeswift API endpoint (i.g., `/api/makeswift/[...makeswift]` dynamic route) where the host's\n * API key can be used, securely, in the server. For this reason, this client should really be a\n * client of the host's API, not Makeswift's, intended to build and continuously maintain a realtime\n * snapshot for use in the builder, not the lives pages.\n */\nexport class MakeswiftHostApiClient {\n graphqlClient: GraphQLClient\n makeswiftApiClient: MakeswiftApiClient.Store\n subscribe: MakeswiftApiClient.Store['subscribe']\n fetch: MakeswiftApiClient.HttpFetch\n\n constructor({\n uri,\n fetch,\n cacheData,\n locale,\n }: {\n uri: string\n fetch: MakeswiftApiClient.HttpFetch\n cacheData?: CacheData\n locale?: string\n }) {\n this.graphqlClient = new GraphQLClient(uri)\n this.makeswiftApiClient = MakeswiftApiClient.configureStore({\n serializedState: cacheData,\n defaultLocale: locale,\n })\n this.fetch = fetch\n this.subscribe = this.makeswiftApiClient.subscribe\n }\n\n readSwatch(swatchId: string): Swatch | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Swatch,\n swatchId,\n )\n }\n\n async fetchSwatch(swatchId: string): Promise<Swatch | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Swatch, swatchId, this.fetch),\n )\n }\n\n resolveSwatch(swatchId: string | undefined): FetchableValue<Swatch | null> {\n return this.resolveResource(APIResourceType.Swatch, {\n id: swatchId,\n read: id => this.readSwatch(id),\n fetch: id => this.fetchSwatch(id),\n })\n }\n\n readFile(fileId: string): File | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.File,\n fileId,\n )\n }\n\n async fetchFile(fileId: string): Promise<File | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.File, fileId, this.fetch),\n )\n }\n\n resolveFile(fileId: string | undefined): FetchableValue<File | null> {\n return this.resolveResource(APIResourceType.File, {\n id: fileId,\n read: id => this.readFile(id),\n fetch: id => this.fetchFile(id),\n })\n }\n\n readTypography(typographyId: string): Typography | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Typography,\n typographyId,\n )\n }\n\n async fetchTypography(typographyId: string): Promise<Typography | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Typography, typographyId, this.fetch),\n )\n }\n\n resolveTypography(typographyId: string | undefined): FetchableValue<Typography | null> {\n return this.resolveResource(APIResourceType.Typography, {\n id: typographyId,\n read: id => this.readTypography(id),\n fetch: id => this.fetchTypography(id),\n })\n }\n\n readGlobalElement(globalElementId: string): GlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.GlobalElement,\n globalElementId,\n )\n }\n\n async fetchGlobalElement(globalElementId: string): Promise<GlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.GlobalElement,\n globalElementId,\n this.fetch,\n ),\n )\n }\n\n readLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): LocalizedGlobalElement | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n locale,\n )\n }\n\n async fetchLocalizedGlobalElement({\n globalElementId,\n locale,\n }: {\n globalElementId: string\n locale: string\n }): Promise<LocalizedGlobalElement | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.LocalizedGlobalElement,\n globalElementId,\n this.fetch,\n locale,\n ),\n )\n }\n\n readPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): PagePathnameSlice | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.PagePathnameSlice,\n pageId,\n locale,\n )\n }\n\n async fetchPagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string\n locale: string | null\n }): Promise<PagePathnameSlice | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(\n APIResourceType.PagePathnameSlice,\n pageId,\n this.fetch,\n locale,\n ),\n )\n }\n\n resolvePagePathnameSlice({\n pageId,\n locale,\n }: {\n pageId: string | undefined\n locale: string | null\n }): FetchableValue<PagePathnameSlice | null> {\n return this.resolveResource(APIResourceType.PagePathnameSlice, {\n id: pageId,\n read: id => this.readPagePathnameSlice({ pageId: id, locale }),\n fetch: id => this.fetchPagePathnameSlice({ pageId: id, locale }),\n })\n }\n\n resolveResource<R>(\n type: APIResourceType,\n {\n id,\n read,\n fetch,\n }: {\n id: string | undefined\n read: (id: string) => R | null\n fetch: (id: string) => Promise<R | null>\n },\n ): FetchableValue<R | null> {\n const _read = () => (id != null ? read(id) : null)\n let lastValue: R | null = null\n return {\n name: `${type}:${id}`,\n readStable: () => (lastValue = _read()),\n subscribe: (onUpdate: () => void) =>\n this.subscribe(() => {\n if (_read() !== lastValue) onUpdate()\n }),\n fetch: async () => (id != null ? fetch(id) : null),\n }\n }\n\n readTable(tableId: string): Table | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Table,\n tableId,\n )\n }\n\n async fetchTable(tableId: string): Promise<Table | null> {\n return await this.makeswiftApiClient.dispatch(\n MakeswiftApiClient.fetchAPIResource(APIResourceType.Table, tableId, this.fetch),\n )\n }\n\n async createTableRecord(tableId: string, columns: any): Promise<void> {\n await this.graphqlClient.request<\n CreateTableRecordMutationResult,\n CreateTableRecordMutationVariables\n >(CreateTableRecordMutation, { input: { data: { tableId, columns } } })\n }\n\n readSite(siteId: string): Site | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Site,\n siteId,\n )\n }\n\n readPage(pageId: string): Page | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Page,\n pageId,\n )\n }\n\n readSnippet(snippetId: string): Snippet | null {\n return MakeswiftApiClient.getAPIResource(\n this.makeswiftApiClient.getState(),\n APIResourceType.Snippet,\n snippetId,\n )\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
ApiHandlerHeaders: () => ApiHandlerHeaders,
|
|
22
|
+
deserializeSiteVersion: () => deserializeSiteVersion,
|
|
23
|
+
secondsUntilSiteVersionExpiration: () => secondsUntilSiteVersionExpiration,
|
|
24
|
+
serializeSiteVersion: () => serializeSiteVersion,
|
|
25
|
+
siteVersionSchema: () => siteVersionSchema
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(site_version_exports);
|
|
28
|
+
var import_zod = require("zod");
|
|
29
|
+
var import_jwt_decode = require("jwt-decode");
|
|
30
|
+
const ApiHandlerHeaders = {
|
|
31
|
+
SiteVersion: "X-Makeswift-Site-Version"
|
|
32
|
+
};
|
|
33
|
+
const decodedTokenPayloadSchema = import_zod.z.object({
|
|
34
|
+
exp: import_zod.z.number()
|
|
35
|
+
});
|
|
36
|
+
const siteVersionSchema = import_zod.z.object({
|
|
37
|
+
version: import_zod.z.string(),
|
|
38
|
+
token: import_zod.z.string()
|
|
39
|
+
});
|
|
40
|
+
function millisecondsToSeconds(ms) {
|
|
41
|
+
return Math.floor(ms / 1e3);
|
|
42
|
+
}
|
|
43
|
+
function serializeSiteVersion(data) {
|
|
44
|
+
const jsonString = JSON.stringify({ version: data.version, token: data.token });
|
|
45
|
+
return jsonString;
|
|
46
|
+
}
|
|
47
|
+
function parseSerializedSiteVersion(input) {
|
|
48
|
+
try {
|
|
49
|
+
return siteVersionSchema.parse(JSON.parse(input));
|
|
50
|
+
} catch {
|
|
51
|
+
console.error("Failed to parse serialized site version:", input);
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function getSiteVersionTokenPayload(siteVersion) {
|
|
56
|
+
try {
|
|
57
|
+
const decoded = (0, import_jwt_decode.jwtDecode)(siteVersion.token);
|
|
58
|
+
return decodedTokenPayloadSchema.parse(decoded);
|
|
59
|
+
} catch (error) {
|
|
60
|
+
console.error("Invalid site version token");
|
|
61
|
+
throw error;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function secondsUntilTokenExpiration(tokenPayload) {
|
|
65
|
+
const currentTime = millisecondsToSeconds(Date.now());
|
|
66
|
+
return Math.max(tokenPayload.exp - currentTime, 0);
|
|
67
|
+
}
|
|
68
|
+
function secondsUntilSiteVersionExpiration(siteVersion) {
|
|
69
|
+
try {
|
|
70
|
+
const tokenPayload = getSiteVersionTokenPayload(siteVersion);
|
|
71
|
+
return secondsUntilTokenExpiration(tokenPayload);
|
|
72
|
+
} catch (error) {
|
|
73
|
+
console.error("Failed to check site version expiration:", error);
|
|
74
|
+
return 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function isSiteVersionExpired(siteVersion) {
|
|
78
|
+
return secondsUntilSiteVersionExpiration(siteVersion) <= 0;
|
|
79
|
+
}
|
|
80
|
+
function deserializeSiteVersion(input) {
|
|
81
|
+
try {
|
|
82
|
+
const parsedSiteVersion = parseSerializedSiteVersion(input);
|
|
83
|
+
if (parsedSiteVersion == null)
|
|
84
|
+
return null;
|
|
85
|
+
if (isSiteVersionExpired(parsedSiteVersion)) {
|
|
86
|
+
console.error("Site version token is expired");
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return parsedSiteVersion;
|
|
90
|
+
} catch {
|
|
91
|
+
console.error("Failed to deserialize site version:", input);
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
+
0 && (module.exports = {
|
|
97
|
+
ApiHandlerHeaders,
|
|
98
|
+
deserializeSiteVersion,
|
|
99
|
+
secondsUntilSiteVersionExpiration,
|
|
100
|
+
serializeSiteVersion,
|
|
101
|
+
siteVersionSchema
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api/site-version/index.ts"],"sourcesContent":["import { z } from 'zod'\nimport { jwtDecode } from 'jwt-decode'\n\nexport const ApiHandlerHeaders = {\n SiteVersion: 'X-Makeswift-Site-Version',\n}\n\nconst decodedTokenPayloadSchema = z.object({\n exp: z.number(),\n})\n\ntype DecodedTokenPayload = z.infer<typeof decodedTokenPayloadSchema>\n\nexport const siteVersionSchema = z.object({\n version: z.string(),\n token: z.string(),\n})\n\nexport type SiteVersion = z.infer<typeof siteVersionSchema>\n\nfunction millisecondsToSeconds(ms: number): number {\n return Math.floor(ms / 1000)\n}\n\nexport function serializeSiteVersion(data: SiteVersion): string {\n const jsonString = JSON.stringify({ version: data.version, token: data.token })\n return jsonString\n}\n\nfunction parseSerializedSiteVersion(input: string): SiteVersion | null {\n try {\n return siteVersionSchema.parse(JSON.parse(input))\n } catch {\n console.error('Failed to parse serialized site version:', input)\n return null\n }\n}\n\nfunction getSiteVersionTokenPayload(siteVersion: SiteVersion): DecodedTokenPayload {\n try {\n const decoded = jwtDecode<DecodedTokenPayload>(siteVersion.token)\n return decodedTokenPayloadSchema.parse(decoded)\n } catch (error) {\n console.error('Invalid site version token')\n throw error\n }\n}\n\nfunction secondsUntilTokenExpiration(tokenPayload: DecodedTokenPayload): number {\n const currentTime = millisecondsToSeconds(Date.now())\n return Math.max(tokenPayload.exp - currentTime, 0)\n}\n\nexport function secondsUntilSiteVersionExpiration(siteVersion: SiteVersion): number {\n try {\n const tokenPayload = getSiteVersionTokenPayload(siteVersion)\n return secondsUntilTokenExpiration(tokenPayload)\n } catch (error) {\n console.error('Failed to check site version expiration:', error)\n return 0\n }\n}\n\nfunction isSiteVersionExpired(siteVersion: SiteVersion): boolean {\n return secondsUntilSiteVersionExpiration(siteVersion) <= 0\n}\n\nexport function deserializeSiteVersion(input: string): SiteVersion | null {\n try {\n const parsedSiteVersion = parseSerializedSiteVersion(input)\n if (parsedSiteVersion == null) return null\n\n if (isSiteVersionExpired(parsedSiteVersion)) {\n console.error('Site version token is expired')\n return null\n }\n return parsedSiteVersion\n } catch {\n console.error('Failed to deserialize site version:', input)\n return null\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,wBAA0B;AAEnB,MAAM,oBAAoB;AAAA,EAC/B,aAAa;AACf;AAEA,MAAM,4BAA4B,aAAE,OAAO;AAAA,EACzC,KAAK,aAAE,OAAO;AAChB,CAAC;AAIM,MAAM,oBAAoB,aAAE,OAAO;AAAA,EACxC,SAAS,aAAE,OAAO;AAAA,EAClB,OAAO,aAAE,OAAO;AAClB,CAAC;AAID,SAAS,sBAAsB,IAAoB;AACjD,SAAO,KAAK,MAAM,KAAK,GAAI;AAC7B;AAEO,SAAS,qBAAqB,MAA2B;AAC9D,QAAM,aAAa,KAAK,UAAU,EAAE,SAAS,KAAK,SAAS,OAAO,KAAK,MAAM,CAAC;AAC9E,SAAO;AACT;AAEA,SAAS,2BAA2B,OAAmC;AACrE,MAAI;AACF,WAAO,kBAAkB,MAAM,KAAK,MAAM,KAAK,CAAC;AAAA,EAClD,QAAQ;AACN,YAAQ,MAAM,4CAA4C,KAAK;AAC/D,WAAO;AAAA,EACT;AACF;AAEA,SAAS,2BAA2B,aAA+C;AACjF,MAAI;AACF,UAAM,cAAU,6BAA+B,YAAY,KAAK;AAChE,WAAO,0BAA0B,MAAM,OAAO;AAAA,EAChD,SAAS,OAAO;AACd,YAAQ,MAAM,4BAA4B;AAC1C,UAAM;AAAA,EACR;AACF;AAEA,SAAS,4BAA4B,cAA2C;AAC9E,QAAM,cAAc,sBAAsB,KAAK,IAAI,CAAC;AACpD,SAAO,KAAK,IAAI,aAAa,MAAM,aAAa,CAAC;AACnD;AAEO,SAAS,kCAAkC,aAAkC;AAClF,MAAI;AACF,UAAM,eAAe,2BAA2B,WAAW;AAC3D,WAAO,4BAA4B,YAAY;AAAA,EACjD,SAAS,OAAO;AACd,YAAQ,MAAM,4CAA4C,KAAK;AAC/D,WAAO;AAAA,EACT;AACF;AAEA,SAAS,qBAAqB,aAAmC;AAC/D,SAAO,kCAAkC,WAAW,KAAK;AAC3D;AAEO,SAAS,uBAAuB,OAAmC;AACxE,MAAI;AACF,UAAM,oBAAoB,2BAA2B,KAAK;AAC1D,QAAI,qBAAqB;AAAM,aAAO;AAEtC,QAAI,qBAAqB,iBAAiB,GAAG;AAC3C,cAAQ,MAAM,+BAA+B;AAC7C,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,QAAQ;AACN,YAAQ,MAAM,uCAAuC,KAAK;AAC1D,WAAO;AAAA,EACT;AACF;","names":[]}
|
|
@@ -28,9 +28,7 @@ async function manifestHandler(req, { apiKey, manifest }) {
|
|
|
28
28
|
return import_request_response.ApiResponse.json({ message: "Unauthorized" }, { status: 401 });
|
|
29
29
|
}
|
|
30
30
|
return import_request_response.ApiResponse.json({
|
|
31
|
-
version: "0.25.0
|
|
32
|
-
previewMode: false,
|
|
33
|
-
draftMode: false,
|
|
31
|
+
version: "0.25.0",
|
|
34
32
|
interactionMode: true,
|
|
35
33
|
clientSideNavigation: false,
|
|
36
34
|
elementFromPoint: false,
|
|
@@ -40,7 +38,8 @@ async function manifestHandler(req, { apiKey, manifest }) {
|
|
|
40
38
|
localizedPageSSR: true,
|
|
41
39
|
webhook: true,
|
|
42
40
|
localizedPagesOnlineByDefault: true,
|
|
43
|
-
|
|
41
|
+
previewToken: true,
|
|
42
|
+
...manifest ?? {}
|
|
44
43
|
});
|
|
45
44
|
}
|
|
46
45
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/api-handler/handlers/manifest.ts"],"sourcesContent":["import {\n type ApiRequest,\n type ErrorResponseBody,\n ApiResponse,\n searchParams,\n} from '../request-response'\n\nexport type Manifest = {\n version: string\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/api-handler/handlers/manifest.ts"],"sourcesContent":["import {\n type ApiRequest,\n type ErrorResponseBody,\n ApiResponse,\n searchParams,\n} from '../request-response'\n\nexport type Manifest = {\n version: string\n interactionMode: boolean\n clientSideNavigation: boolean\n elementFromPoint: boolean\n customBreakpoints: boolean\n siteVersions: boolean\n unstable_siteVersions: boolean\n localizedPageSSR: boolean\n webhook: boolean\n localizedPagesOnlineByDefault: boolean\n}\n\nexport async function manifestHandler(\n req: ApiRequest,\n { apiKey, manifest }: { apiKey: string; manifest?: Partial<Manifest> },\n): Promise<ApiResponse<Manifest | ErrorResponseBody>> {\n const secret = searchParams(req).get('secret')\n\n if (secret !== apiKey) {\n return ApiResponse.json({ message: 'Unauthorized' }, { status: 401 })\n }\n\n return ApiResponse.json({\n version: PACKAGE_VERSION,\n interactionMode: true,\n clientSideNavigation: false,\n elementFromPoint: false,\n customBreakpoints: true,\n siteVersions: true,\n unstable_siteVersions: true,\n localizedPageSSR: true,\n webhook: true,\n localizedPagesOnlineByDefault: true,\n previewToken: true,\n ...(manifest ?? {}),\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAKO;AAeP,eAAsB,gBACpB,KACA,EAAE,QAAQ,SAAS,GACiC;AACpD,QAAM,aAAS,sCAAa,GAAG,EAAE,IAAI,QAAQ;AAE7C,MAAI,WAAW,QAAQ;AACrB,WAAO,oCAAY,KAAK,EAAE,SAAS,eAAe,GAAG,EAAE,QAAQ,IAAI,CAAC;AAAA,EACtE;AAEA,SAAO,oCAAY,KAAK;AAAA,IACtB,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,uBAAuB;AAAA,IACvB,kBAAkB;AAAA,IAClB,SAAS;AAAA,IACT,+BAA+B;AAAA,IAC/B,cAAc;AAAA,IACd,GAAI,YAAY,CAAC;AAAA,EACnB,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
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 redirect_live_exports = {};
|
|
20
|
+
__export(redirect_live_exports, {
|
|
21
|
+
REDIRECT_SEARCH_PARAM: () => REDIRECT_SEARCH_PARAM,
|
|
22
|
+
redirectLiveHandler: () => redirectLiveHandler
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(redirect_live_exports);
|
|
25
|
+
var import_cookie = require("cookie");
|
|
26
|
+
var import_request_response = require("../request-response");
|
|
27
|
+
var import_cookies = require("../cookies");
|
|
28
|
+
const REDIRECT_SEARCH_PARAM = "makeswift-redirect-live";
|
|
29
|
+
async function redirectLiveHandler(req, { previewCookieNames }) {
|
|
30
|
+
const params = (0, import_request_response.searchParams)(req);
|
|
31
|
+
const redirectDestination = params.get(REDIRECT_SEARCH_PARAM) ?? "/";
|
|
32
|
+
const redirectDestinationUrl = new URL(
|
|
33
|
+
decodeURIComponent(redirectDestination),
|
|
34
|
+
"http://localhost"
|
|
35
|
+
);
|
|
36
|
+
redirectDestinationUrl.searchParams.delete(REDIRECT_SEARCH_PARAM);
|
|
37
|
+
const destinationPath = `${redirectDestinationUrl.pathname}${redirectDestinationUrl.search}${redirectDestinationUrl.hash}`;
|
|
38
|
+
const headers = new Headers();
|
|
39
|
+
previewCookieNames.forEach((name) => {
|
|
40
|
+
headers.append(
|
|
41
|
+
import_cookies.SET_COOKIE_HEADER,
|
|
42
|
+
(0, import_cookie.serialize)(name, "", { ...import_cookies.cookieSettingOptions, expires: /* @__PURE__ */ new Date(0), maxAge: 0 })
|
|
43
|
+
);
|
|
44
|
+
});
|
|
45
|
+
return import_request_response.ApiResponse.redirect(destinationPath, { headers });
|
|
46
|
+
}
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
REDIRECT_SEARCH_PARAM,
|
|
50
|
+
redirectLiveHandler
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=redirect-live.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/api-handler/handlers/redirect-live.ts"],"sourcesContent":["import { serialize as serializeCookie } from 'cookie'\nimport { type ApiRequest, ApiResponse, searchParams } from '../request-response'\nimport { SET_COOKIE_HEADER, cookieSettingOptions } from '../cookies'\n\nexport const REDIRECT_SEARCH_PARAM = 'makeswift-redirect-live'\n\nexport async function redirectLiveHandler(\n req: ApiRequest,\n { previewCookieNames }: { previewCookieNames: string[] },\n): Promise<ApiResponse<null>> {\n const params = searchParams(req)\n const redirectDestination = params.get(REDIRECT_SEARCH_PARAM) ?? '/'\n\n const redirectDestinationUrl = new URL(\n decodeURIComponent(redirectDestination),\n 'http://localhost',\n )\n redirectDestinationUrl.searchParams.delete(REDIRECT_SEARCH_PARAM)\n\n const destinationPath = `${redirectDestinationUrl.pathname}${redirectDestinationUrl.search}${redirectDestinationUrl.hash}`\n\n const headers = new Headers()\n\n previewCookieNames.forEach(name => {\n headers.append(\n SET_COOKIE_HEADER,\n serializeCookie(name, '', { ...cookieSettingOptions, expires: new Date(0), maxAge: 0 }),\n )\n })\n\n return ApiResponse.redirect(destinationPath, { headers })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAA6C;AAC7C,8BAA2D;AAC3D,qBAAwD;AAEjD,MAAM,wBAAwB;AAErC,eAAsB,oBACpB,KACA,EAAE,mBAAmB,GACO;AAC5B,QAAM,aAAS,sCAAa,GAAG;AAC/B,QAAM,sBAAsB,OAAO,IAAI,qBAAqB,KAAK;AAEjE,QAAM,yBAAyB,IAAI;AAAA,IACjC,mBAAmB,mBAAmB;AAAA,IACtC;AAAA,EACF;AACA,yBAAuB,aAAa,OAAO,qBAAqB;AAEhE,QAAM,kBAAkB,GAAG,uBAAuB,QAAQ,GAAG,uBAAuB,MAAM,GAAG,uBAAuB,IAAI;AAExH,QAAM,UAAU,IAAI,QAAQ;AAE5B,qBAAmB,QAAQ,UAAQ;AACjC,YAAQ;AAAA,MACN;AAAA,UACA,cAAAA,WAAgB,MAAM,IAAI,EAAE,GAAG,qCAAsB,SAAS,oBAAI,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;AAAA,IACxF;AAAA,EACF,CAAC;AAED,SAAO,oCAAY,SAAS,iBAAiB,EAAE,QAAQ,CAAC;AAC1D;","names":["serializeCookie"]}
|
|
@@ -23,7 +23,7 @@ __export(api_handler_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(api_handler_exports);
|
|
24
24
|
var import_path_to_regexp = require("path-to-regexp");
|
|
25
25
|
var import_site_version = require("../api/site-version");
|
|
26
|
-
var
|
|
26
|
+
var import_redirect_live = require("./handlers/redirect-live");
|
|
27
27
|
var import_element_tree = require("./handlers/element-tree");
|
|
28
28
|
var import_fonts = require("./handlers/fonts");
|
|
29
29
|
var import_manifest = require("./handlers/manifest");
|
|
@@ -41,7 +41,7 @@ function createApiHandler(apiKey, {
|
|
|
41
41
|
client,
|
|
42
42
|
manifest,
|
|
43
43
|
revalidationHandler,
|
|
44
|
-
|
|
44
|
+
previewCookieNames
|
|
45
45
|
}) {
|
|
46
46
|
if (typeof apiKey !== "string") {
|
|
47
47
|
throw new Error(
|
|
@@ -57,10 +57,11 @@ function createApiHandler(apiKey, {
|
|
|
57
57
|
return res;
|
|
58
58
|
};
|
|
59
59
|
async function apiRouteHandler(req, route) {
|
|
60
|
-
const
|
|
60
|
+
const versionHeader = req.headers.get(import_site_version.ApiHandlerHeaders.SiteVersion);
|
|
61
|
+
const siteVersion = versionHeader != null ? (0, import_site_version.deserializeSiteVersion)(versionHeader) : null;
|
|
61
62
|
const matches = (pattern) => (0, import_path_to_regexp.match)(pattern, { decode: decodeURIComponent })(route);
|
|
62
|
-
if (matches("/
|
|
63
|
-
return (0,
|
|
63
|
+
if (matches("/redirect-live"))
|
|
64
|
+
return (0, import_redirect_live.redirectLiveHandler)(req, { previewCookieNames });
|
|
64
65
|
if (matches("/element-tree"))
|
|
65
66
|
return (0, import_element_tree.elementTreeHandler)(req, { runtime });
|
|
66
67
|
if (matches("/fonts"))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api-handler/index.ts"],"sourcesContent":["import { Match, match as matchPattern } from 'path-to-regexp'\n\nimport { APIResource } from '../api'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/api-handler/index.ts"],"sourcesContent":["import { Match, match as matchPattern } from 'path-to-regexp'\n\nimport { APIResource } from '../api'\nimport { ApiHandlerHeaders, deserializeSiteVersion } from '../api/site-version'\n\nimport { MakeswiftClient } from '../client'\nimport { ReactRuntime } from '../react'\n\nimport { redirectLiveHandler } from './handlers/redirect-live'\nimport { elementTreeHandler } from './handlers/element-tree'\nimport { fontsHandler, type Font, type GetFonts } from './handlers/fonts'\nimport { manifestHandler, type Manifest } from './handlers/manifest'\nimport { mergeTranslatedDataHandler } from './handlers/merge-translated-data'\nimport { revalidateHandler } from './handlers/revalidate'\nimport { translatableDataHandler } from './handlers/translatable-data'\nimport { webhookHandler } from './handlers/webhook'\nimport { type OnPublish } from './handlers/webhook/types'\n\nimport {\n type ApiRequest,\n type ErrorResponseBody,\n ApiResponse,\n searchParams,\n} from './request-response'\n\nimport { applyCorsHeaders } from './cors'\n\nexport type { Manifest, Font }\n\ntype Events = { onPublish: OnPublish }\n\nexport type ApiHandlerUserConfig = {\n runtime: ReactRuntime\n appOrigin?: string\n apiOrigin?: string\n getFonts?: GetFonts\n events?: Events\n}\n\nexport type ApiHandlerInternalConfig = {\n client: MakeswiftClient\n manifest?: Partial<Manifest>\n revalidationHandler: (path?: string) => Promise<void>\n previewCookieNames: string[]\n}\n\ntype ApiHandlerConfig = ApiHandlerUserConfig & ApiHandlerInternalConfig\n\ntype ResponseType =\n | Awaited<\n | ReturnType<typeof redirectLiveHandler>\n | ReturnType<typeof elementTreeHandler>\n | ReturnType<typeof fontsHandler>\n | ReturnType<typeof manifestHandler>\n | ReturnType<typeof mergeTranslatedDataHandler>\n | ReturnType<typeof revalidateHandler>\n | ReturnType<typeof translatableDataHandler>\n | ReturnType<typeof webhookHandler>\n >\n | ApiResponse<APIResource>\n | ApiResponse<ErrorResponseBody>\n | Response\n\ntype ApiHandler = (req: ApiRequest, route: string) => Promise<ResponseType>\n\nexport function createApiHandler(\n apiKey: string,\n {\n runtime,\n appOrigin = 'https://app.makeswift.com',\n getFonts,\n events,\n client,\n manifest,\n revalidationHandler,\n previewCookieNames,\n }: ApiHandlerConfig,\n): ApiHandler {\n if (typeof apiKey !== 'string') {\n throw new Error(\n 'The Makeswift API handler must be passed a valid Makeswift site API key. ' +\n `Received \"${apiKey}\" instead.`,\n )\n }\n\n return async function (req: ApiRequest, route: string): Promise<ResponseType> {\n const res =\n req.method.toUpperCase() !== 'OPTIONS'\n ? await apiRouteHandler(req, route)\n : new Response(null, { status: 204, headers: [['Content-Length', '0']] })\n\n applyCorsHeaders(res.headers, {\n origin: appOrigin,\n allowedHeaders: ['Content-Type', 'Authorization'],\n })\n\n return res\n }\n\n async function apiRouteHandler(req: ApiRequest, route: string): Promise<ResponseType> {\n const versionHeader = req.headers.get(ApiHandlerHeaders.SiteVersion)\n\n const siteVersion = versionHeader != null ? deserializeSiteVersion(versionHeader) : null\n\n const matches = <T extends object>(pattern: string): Match<T> =>\n matchPattern<T>(pattern, { decode: decodeURIComponent })(route)\n\n if (matches('/redirect-live')) return redirectLiveHandler(req, { previewCookieNames })\n if (matches('/element-tree')) return elementTreeHandler(req, { runtime })\n if (matches('/fonts')) return fontsHandler(req, { getFonts })\n if (matches('/manifest')) return manifestHandler(req, { apiKey, manifest })\n if (matches('/merge-translated-data')) return mergeTranslatedDataHandler(req, { client })\n if (matches('/revalidate')) {\n return revalidateHandler(req, { apiKey, revalidatePath: revalidationHandler })\n }\n\n if (matches('/translatable-data')) return translatableDataHandler(req, { client })\n if (matches('/webhook')) {\n return webhookHandler(req, { apiKey, events, revalidate: revalidationHandler })\n }\n\n const handleResource = <T extends APIResource>(\n resource: T | null,\n ): ApiResponse<APIResource | ErrorResponseBody> => {\n return resource !== null\n ? ApiResponse.json(resource)\n : ApiResponse.json({ message: 'Not Found' }, { status: 404 })\n }\n\n let m\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 = searchParams(req).get('locale')\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 return ApiResponse.json({ message: 'Not Found' }, { status: 404 })\n }\n}\n"],"mappings":"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","names":["matchPattern"]}
|
|
@@ -0,0 +1,99 @@
|
|
|
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 node_request_response_exports = {};
|
|
20
|
+
__export(node_request_response_exports, {
|
|
21
|
+
pipeResponseTo: () => pipeResponseTo,
|
|
22
|
+
requestHeaders: () => requestHeaders,
|
|
23
|
+
toApiRequest: () => toApiRequest
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(node_request_response_exports);
|
|
26
|
+
function requestHeaders(headers) {
|
|
27
|
+
const result = new Headers();
|
|
28
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
29
|
+
if (value != null) {
|
|
30
|
+
if (Array.isArray(value)) {
|
|
31
|
+
value.forEach((v) => result.append(key, v));
|
|
32
|
+
} else {
|
|
33
|
+
result.append(key, value);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return result;
|
|
38
|
+
}
|
|
39
|
+
function toApiRequest(req) {
|
|
40
|
+
return {
|
|
41
|
+
headers: requestHeaders(req.headers),
|
|
42
|
+
method: req.method ?? "GET",
|
|
43
|
+
url: req.url ?? "",
|
|
44
|
+
json() {
|
|
45
|
+
return req.body;
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async function pipeResponseTo(apiResponse, res) {
|
|
50
|
+
const headers = responseHeaders(apiResponse.headers);
|
|
51
|
+
Object.entries(headers).forEach(([key, value]) => {
|
|
52
|
+
res.setHeader(key, value);
|
|
53
|
+
});
|
|
54
|
+
res.statusCode = apiResponse.status;
|
|
55
|
+
try {
|
|
56
|
+
if (apiResponse.body) {
|
|
57
|
+
await pipeTo(apiResponse.body, res);
|
|
58
|
+
}
|
|
59
|
+
res.end();
|
|
60
|
+
} catch (error) {
|
|
61
|
+
if (!res.headersSent) {
|
|
62
|
+
res.statusCode = 500;
|
|
63
|
+
res.end();
|
|
64
|
+
} else {
|
|
65
|
+
res.destroy(error instanceof Error ? error : new Error(`${error}`));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function responseHeaders(headers) {
|
|
70
|
+
return [...headers.entries()].reduce((acc, [key, value]) => {
|
|
71
|
+
if (key in acc) {
|
|
72
|
+
const existingValue = acc[key];
|
|
73
|
+
if (Array.isArray(existingValue)) {
|
|
74
|
+
existingValue.push(value);
|
|
75
|
+
} else {
|
|
76
|
+
acc[key] = [existingValue, value];
|
|
77
|
+
}
|
|
78
|
+
} else {
|
|
79
|
+
acc[key] = value;
|
|
80
|
+
}
|
|
81
|
+
return acc;
|
|
82
|
+
}, {});
|
|
83
|
+
}
|
|
84
|
+
async function pipeTo(stream, res) {
|
|
85
|
+
const reader = stream.getReader();
|
|
86
|
+
while (true) {
|
|
87
|
+
const { done, value } = await reader.read();
|
|
88
|
+
if (done)
|
|
89
|
+
break;
|
|
90
|
+
res.write(value);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
94
|
+
0 && (module.exports = {
|
|
95
|
+
pipeResponseTo,
|
|
96
|
+
requestHeaders,
|
|
97
|
+
toApiRequest
|
|
98
|
+
});
|
|
99
|
+
//# sourceMappingURL=node-request-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api-handler/node-request-response.ts"],"sourcesContent":["import { type IncomingMessage, type ServerResponse } from 'node:http'\nimport { type ApiRequest, type ApiResponse } from '../api-handler/request-response'\n\nexport function requestHeaders(headers: IncomingMessage['headers']): Headers {\n const result = new Headers()\n for (const [key, value] of Object.entries(headers)) {\n if (value != null) {\n if (Array.isArray(value)) {\n value.forEach(v => result.append(key, v))\n } else {\n result.append(key, value)\n }\n }\n }\n\n return result\n}\n\nexport function toApiRequest(req: IncomingMessage & { body: any }): ApiRequest {\n return {\n headers: requestHeaders(req.headers),\n method: req.method ?? 'GET',\n url: req.url ?? '',\n json() {\n return req.body\n },\n }\n}\n\nexport async function pipeResponseTo(apiResponse: ApiResponse, res: ServerResponse): Promise<void> {\n const headers = responseHeaders(apiResponse.headers)\n Object.entries(headers).forEach(([key, value]) => {\n res.setHeader(key, value)\n })\n\n res.statusCode = apiResponse.status\n\n try {\n if (apiResponse.body) {\n await pipeTo(apiResponse.body, res)\n }\n\n res.end()\n } catch (error) {\n if (!res.headersSent) {\n res.statusCode = 500\n res.end()\n } else {\n res.destroy(error instanceof Error ? error : new Error(`${error}`))\n }\n }\n}\n\nfunction responseHeaders(headers: Headers): Record<string, string | string[]> {\n return [...headers.entries()].reduce<Record<string, string | string[]>>((acc, [key, value]) => {\n if (key in acc) {\n const existingValue = acc[key]\n if (Array.isArray(existingValue)) {\n existingValue.push(value)\n } else {\n acc[key] = [existingValue, value]\n }\n } else {\n acc[key] = value\n }\n return acc\n }, {})\n}\n\nasync function pipeTo(stream: ReadableStream<Uint8Array>, res: ServerResponse): Promise<void> {\n const reader = stream.getReader()\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n res.write(value)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,SAAS,eAAe,SAA8C;AAC3E,QAAM,SAAS,IAAI,QAAQ;AAC3B,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,SAAS,MAAM;AACjB,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,cAAM,QAAQ,OAAK,OAAO,OAAO,KAAK,CAAC,CAAC;AAAA,MAC1C,OAAO;AACL,eAAO,OAAO,KAAK,KAAK;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,aAAa,KAAkD;AAC7E,SAAO;AAAA,IACL,SAAS,eAAe,IAAI,OAAO;AAAA,IACnC,QAAQ,IAAI,UAAU;AAAA,IACtB,KAAK,IAAI,OAAO;AAAA,IAChB,OAAO;AACL,aAAO,IAAI;AAAA,IACb;AAAA,EACF;AACF;AAEA,eAAsB,eAAe,aAA0B,KAAoC;AACjG,QAAM,UAAU,gBAAgB,YAAY,OAAO;AACnD,SAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAChD,QAAI,UAAU,KAAK,KAAK;AAAA,EAC1B,CAAC;AAED,MAAI,aAAa,YAAY;AAE7B,MAAI;AACF,QAAI,YAAY,MAAM;AACpB,YAAM,OAAO,YAAY,MAAM,GAAG;AAAA,IACpC;AAEA,QAAI,IAAI;AAAA,EACV,SAAS,OAAO;AACd,QAAI,CAAC,IAAI,aAAa;AACpB,UAAI,aAAa;AACjB,UAAI,IAAI;AAAA,IACV,OAAO;AACL,UAAI,QAAQ,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;AAAA,IACpE;AAAA,EACF;AACF;AAEA,SAAS,gBAAgB,SAAqD;AAC5E,SAAO,CAAC,GAAG,QAAQ,QAAQ,CAAC,EAAE,OAA0C,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM;AAC7F,QAAI,OAAO,KAAK;AACd,YAAM,gBAAgB,IAAI,GAAG;AAC7B,UAAI,MAAM,QAAQ,aAAa,GAAG;AAChC,sBAAc,KAAK,KAAK;AAAA,MAC1B,OAAO;AACL,YAAI,GAAG,IAAI,CAAC,eAAe,KAAK;AAAA,MAClC;AAAA,IACF,OAAO;AACL,UAAI,GAAG,IAAI;AAAA,IACb;AACA,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEA,eAAe,OAAO,QAAoC,KAAoC;AAC5F,QAAM,SAAS,OAAO,UAAU;AAChC,SAAO,MAAM;AACX,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,OAAO,KAAK;AAC1C,QAAI;AAAM;AACV,QAAI,MAAM,KAAK;AAAA,EACjB;AACF;","names":[]}
|
|
@@ -16,25 +16,19 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var preview_exports = {};
|
|
20
|
+
__export(preview_exports, {
|
|
21
|
+
MAKESWIFT_SITE_VERSION_COOKIE: () => MAKESWIFT_SITE_VERSION_COOKIE,
|
|
22
|
+
SearchParams: () => SearchParams
|
|
22
23
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
siteVersion: import_site_version.makeswiftSiteVersionSchema
|
|
29
|
-
});
|
|
30
|
-
function getMakeswiftSiteVersion(previewData) {
|
|
31
|
-
const result = makeswiftPreviewDataSchema.safeParse(previewData);
|
|
32
|
-
if (result.success)
|
|
33
|
-
return result.data.siteVersion;
|
|
34
|
-
return null;
|
|
35
|
-
}
|
|
24
|
+
module.exports = __toCommonJS(preview_exports);
|
|
25
|
+
const MAKESWIFT_SITE_VERSION_COOKIE = "makeswift-site-version";
|
|
26
|
+
const SearchParams = {
|
|
27
|
+
PreviewToken: "makeswift-preview-token"
|
|
28
|
+
};
|
|
36
29
|
// Annotate the CommonJS export names for ESM import in node:
|
|
37
30
|
0 && (module.exports = {
|
|
38
|
-
|
|
31
|
+
MAKESWIFT_SITE_VERSION_COOKIE,
|
|
32
|
+
SearchParams
|
|
39
33
|
});
|
|
40
|
-
//# sourceMappingURL=preview
|
|
34
|
+
//# sourceMappingURL=preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/api-handler/preview.ts"],"sourcesContent":["export const MAKESWIFT_SITE_VERSION_COOKIE = 'makeswift-site-version'\n\nexport const SearchParams = {\n PreviewToken: 'makeswift-preview-token',\n} as const\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,gCAAgC;AAEtC,MAAM,eAAe;AAAA,EAC1B,cAAc;AAChB;","names":[]}
|
|
@@ -33,6 +33,15 @@ const ApiResponse = {
|
|
|
33
33
|
...init,
|
|
34
34
|
headers
|
|
35
35
|
});
|
|
36
|
+
},
|
|
37
|
+
redirect(location, init) {
|
|
38
|
+
const headers = new Headers(init?.headers);
|
|
39
|
+
headers.set("Location", location.toString());
|
|
40
|
+
return new Response(null, {
|
|
41
|
+
status: 307,
|
|
42
|
+
...init,
|
|
43
|
+
headers
|
|
44
|
+
});
|
|
36
45
|
}
|
|
37
46
|
};
|
|
38
47
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/api-handler/request-response.ts"],"sourcesContent":["export type ApiRequest = Pick<Request, 'method' | 'json' | 'headers' | 'url'>\n\nexport function searchParams(req: ApiRequest): URLSearchParams {\n // provide a placeholder domain to enable parsing of relative URLs\n return new URL(req.url, 'http://localhost').searchParams\n}\n\nexport interface ApiResponse<R extends unknown = unknown> extends Response {\n readonly __responseType?: R // prevent unsafe assignment between instances with incompatible `R`\n}\n\nexport const ApiResponse = {\n json<T>(body: T, init?: ResponseInit): ApiResponse<T> {\n const headers = new Headers(init?.headers)\n headers.set('Content-Type', 'application/json')\n\n return new Response(JSON.stringify(body), {\n ...init,\n headers,\n }) as ApiResponse<T>\n },\n} as const\n\nexport type ErrorResponseBody = { message: string }\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,aAAa,KAAkC;AAE7D,SAAO,IAAI,IAAI,IAAI,KAAK,kBAAkB,EAAE;AAC9C;AAMO,MAAM,cAAc;AAAA,EACzB,KAAQ,MAAS,MAAqC;AACpD,UAAM,UAAU,IAAI,QAAQ,MAAM,OAAO;AACzC,YAAQ,IAAI,gBAAgB,kBAAkB;AAE9C,WAAO,IAAI,SAAS,KAAK,UAAU,IAAI,GAAG;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/api-handler/request-response.ts"],"sourcesContent":["export type ApiRequest = Pick<Request, 'method' | 'json' | 'headers' | 'url'>\n\nexport function searchParams(req: ApiRequest): URLSearchParams {\n // provide a placeholder domain to enable parsing of relative URLs\n return new URL(req.url, 'http://localhost').searchParams\n}\n\nexport interface ApiResponse<R extends unknown = unknown> extends Response {\n readonly __responseType?: R // prevent unsafe assignment between instances with incompatible `R`\n}\n\nexport const ApiResponse = {\n json<T>(body: T, init?: ResponseInit): ApiResponse<T> {\n const headers = new Headers(init?.headers)\n headers.set('Content-Type', 'application/json')\n\n return new Response(JSON.stringify(body), {\n ...init,\n headers,\n }) as ApiResponse<T>\n },\n\n redirect(location: string | URL, init?: ResponseInit): ApiResponse<null> {\n const headers = new Headers(init?.headers)\n headers.set('Location', location.toString())\n\n // Manually constructing a redirect response. We can’t use the\n // `Response.redirect` shorthand here, since it doesn’t allow passing custom\n // headers; see\n // https://community.cloudflare.com/t/make-redirect-with-additional-headers/249365\n return new Response(null, {\n status: 307,\n ...init,\n headers,\n }) as ApiResponse<null>\n },\n} as const\n\nexport type ErrorResponseBody = { message: string }\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,aAAa,KAAkC;AAE7D,SAAO,IAAI,IAAI,IAAI,KAAK,kBAAkB,EAAE;AAC9C;AAMO,MAAM,cAAc;AAAA,EACzB,KAAQ,MAAS,MAAqC;AACpD,UAAM,UAAU,IAAI,QAAQ,MAAM,OAAO;AACzC,YAAQ,IAAI,gBAAgB,kBAAkB;AAE9C,WAAO,IAAI,SAAS,KAAK,UAAU,IAAI,GAAG;AAAA,MACxC,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,SAAS,UAAwB,MAAwC;AACvE,UAAM,UAAU,IAAI,QAAQ,MAAM,OAAO;AACzC,YAAQ,IAAI,YAAY,SAAS,SAAS,CAAC;AAM3C,WAAO,IAAI,SAAS,MAAM;AAAA,MACxB,QAAQ;AAAA,MACR,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":[]}
|