@makeswift/runtime 0.26.3 → 0.26.4-canary.1
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 → client.js} +14 -7
- package/dist/cjs/api/client.js.map +1 -0
- package/dist/cjs/api-handler/handlers/element-tree.js.map +1 -1
- package/dist/cjs/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/api-handler/handlers/merge-translated-data.js.map +1 -1
- package/dist/cjs/api-handler/handlers/translatable-data.js.map +1 -1
- package/dist/cjs/builder/host-to-builder-actions.js +3 -3
- package/dist/cjs/builder/host-to-builder-actions.js.map +1 -1
- package/dist/cjs/builder/index.js +2 -2
- package/dist/cjs/builder/index.js.map +1 -1
- package/dist/cjs/client/index.js +8 -8
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/components/builtin/Box/Box.js +1 -1
- package/dist/cjs/components/builtin/Box/Box.js.map +1 -1
- package/dist/cjs/components/builtin/Form/Form.js +1 -1
- package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
- package/dist/cjs/components/hooks/useTableFormFieldRefs.js +1 -1
- package/dist/cjs/components/hooks/useTableFormFieldRefs.js.map +1 -1
- package/dist/cjs/next/components/framework-provider/index.js +1 -1
- package/dist/cjs/next/components/framework-provider/index.js.map +1 -1
- package/dist/cjs/next/components/tests/controls/color-control/fixtures.js.map +1 -1
- package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +1 -2
- package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/cjs/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
- package/dist/cjs/next/components/tests/makeswift-component/fixtures.js +1 -2
- package/dist/cjs/next/components/tests/makeswift-component/fixtures.js.map +1 -1
- package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js +2 -3
- package/dist/cjs/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
- package/dist/cjs/next/testing/element-data.js +3 -3
- package/dist/cjs/next/testing/element-data.js.map +1 -1
- package/dist/cjs/next/testing/index.js +2 -0
- package/dist/cjs/next/testing/index.js.map +1 -1
- package/dist/cjs/next/testing/page-rendering.js +3 -3
- package/dist/cjs/next/testing/page-rendering.js.map +1 -1
- package/dist/cjs/next/testing/react-runtime.js +29 -0
- package/dist/cjs/next/testing/react-runtime.js.map +1 -0
- package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
- package/dist/cjs/prop-controllers/instances.js.map +1 -1
- package/dist/cjs/runtimes/react/components/Document.js +2 -2
- package/dist/cjs/runtimes/react/components/Document.js.map +1 -1
- package/dist/cjs/runtimes/react/components/DocumentRoot.js.map +1 -1
- package/dist/cjs/runtimes/react/components/Element.js +2 -2
- package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
- package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
- package/dist/cjs/runtimes/react/components/ElementReference.js.map +1 -1
- package/dist/cjs/runtimes/react/components/ElementRegistration.js +2 -2
- package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/cjs/runtimes/react/components/MakeswiftComponent.js +2 -2
- package/dist/cjs/runtimes/react/components/MakeswiftComponent.js.map +1 -1
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js +6 -5
- package/dist/cjs/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/cjs/runtimes/react/components/framework-context.js +3 -13
- package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/cjs/runtimes/react/components/page/Page.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -3
- package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
- package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls.js +2 -2
- package/dist/cjs/runtimes/react/controls.js.map +1 -1
- package/dist/cjs/runtimes/react/element-imperative-handle.js +1 -1
- package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-breakpoints.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-breakpoints.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-cache-data.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-cache-data.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-component.js +3 -3
- package/dist/cjs/runtimes/react/hooks/use-component.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-dispatch.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-document.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-document.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-element-id.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-element-id.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/{use-is-preview.js → use-is-read-only.js} +9 -9
- package/dist/cjs/runtimes/react/hooks/use-is-read-only.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/use-register-document.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js +1 -1
- package/dist/cjs/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-store.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 +4 -3
- package/dist/cjs/runtimes/react/host-api-client.js.map +1 -1
- package/dist/cjs/runtimes/react/index.js +3 -3
- package/dist/cjs/runtimes/react/index.js.map +1 -1
- package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
- package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
- package/dist/cjs/runtimes/react/react-runtime-core.js +3 -3
- package/dist/cjs/runtimes/react/react-runtime-core.js.map +1 -1
- package/dist/cjs/runtimes/react/runtime-core.js +4 -2
- package/dist/cjs/runtimes/react/runtime-core.js.map +1 -1
- package/dist/cjs/runtimes/react/testing/react-runtime.js +32 -0
- package/dist/cjs/runtimes/react/testing/react-runtime.js.map +1 -0
- package/dist/cjs/runtimes/react/utils/can-accept-ref.js.map +1 -1
- package/dist/cjs/state/actions/internal/index.js +34 -0
- package/dist/cjs/state/actions/internal/index.js.map +1 -0
- package/dist/cjs/state/actions/{internal.js → internal/read-only-actions.js} +44 -62
- package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -0
- package/dist/cjs/state/actions/internal/read-write-actions.js +70 -0
- package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -0
- package/dist/cjs/state/builder-api/actions.js +11 -8
- package/dist/cjs/state/builder-api/actions.js.map +1 -1
- package/dist/cjs/state/host-api.js.map +1 -1
- package/dist/cjs/state/makeswift-api-client.js +34 -20
- package/dist/cjs/state/makeswift-api-client.js.map +1 -1
- package/dist/cjs/state/middleware/prop-controller-handles.js +114 -0
- package/dist/cjs/state/middleware/prop-controller-handles.js.map +1 -0
- package/dist/cjs/state/middleware/read-only-element-tree.js +52 -0
- package/dist/cjs/state/middleware/read-only-element-tree.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +40 -0
- package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/builder-api/index.js +76 -0
- package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +278 -0
- package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js +37 -0
- package/dist/cjs/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/measure-box-models.js +71 -0
- package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/update-element-tree.js +59 -0
- package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +1 -0
- package/dist/cjs/state/modules/api-resources.js +7 -4
- package/dist/cjs/state/modules/api-resources.js.map +1 -1
- package/dist/cjs/state/modules/breakpoints.js +2 -1
- package/dist/cjs/state/modules/breakpoints.js.map +1 -1
- package/dist/cjs/state/modules/builder-edit-mode.js +2 -1
- package/dist/cjs/state/modules/builder-edit-mode.js.map +1 -1
- package/dist/cjs/state/modules/components-meta.js +3 -2
- package/dist/cjs/state/modules/components-meta.js.map +1 -1
- package/dist/cjs/state/modules/element-trees.js +5 -3
- package/dist/cjs/state/modules/element-trees.js.map +1 -1
- package/dist/cjs/state/modules/is-in-builder.js +2 -1
- package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
- package/dist/cjs/state/modules/{is-preview.js → is-read-only.js} +12 -9
- package/dist/cjs/state/modules/is-read-only.js.map +1 -0
- package/dist/cjs/state/modules/locale.js +53 -0
- package/dist/cjs/state/modules/locale.js.map +1 -0
- package/dist/cjs/state/modules/localized-resources-map.js +4 -2
- package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
- package/dist/cjs/state/modules/prop-controllers.js +3 -2
- package/dist/cjs/state/modules/prop-controllers.js.map +1 -1
- package/dist/cjs/state/modules/react-components.js +3 -2
- package/dist/cjs/state/modules/react-components.js.map +1 -1
- package/dist/cjs/state/modules/read-only-documents.js +3 -2
- package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
- package/dist/cjs/state/modules/{box-models.js → read-write/box-models.js} +6 -4
- package/dist/cjs/state/modules/read-write/box-models.js.map +1 -0
- package/dist/cjs/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
- package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -0
- package/dist/cjs/state/modules/{pointer.js → read-write/pointer.js} +3 -2
- package/dist/cjs/state/modules/read-write/pointer.js.map +1 -0
- package/dist/cjs/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
- package/dist/cjs/state/modules/read-write/read-write-documents.js.map +1 -0
- package/dist/cjs/state/modules/site-version.js +50 -0
- package/dist/cjs/state/modules/site-version.js.map +1 -0
- package/dist/cjs/state/ops/copy-element-tree.js +67 -0
- package/dist/cjs/state/ops/copy-element-tree.js.map +1 -0
- package/dist/cjs/state/ops/merge-element.js +73 -0
- package/dist/cjs/state/ops/merge-element.js.map +1 -0
- package/dist/cjs/state/react-builder-preview.js +18 -508
- package/dist/cjs/state/react-builder-preview.js.map +1 -1
- package/dist/cjs/state/react-page.js +6 -250
- package/dist/cjs/state/react-page.js.map +1 -1
- package/dist/cjs/state/read-only-state.js +209 -0
- package/dist/cjs/state/read-only-state.js.map +1 -0
- package/dist/cjs/state/read-write-state.js +121 -0
- package/dist/cjs/state/read-write-state.js.map +1 -0
- package/dist/cjs/state/shared-api.js.map +1 -1
- package/dist/cjs/state/translations/get.js +2 -2
- package/dist/cjs/state/translations/get.js.map +1 -1
- package/dist/cjs/state/translations/merge.js +2 -2
- package/dist/cjs/state/translations/merge.js.map +1 -1
- package/dist/cjs/unstable-framework-support/index.js +2 -4
- package/dist/cjs/unstable-framework-support/index.js.map +1 -1
- package/dist/esm/api/{react.js → client.js} +11 -4
- package/dist/esm/api/client.js.map +1 -0
- package/dist/esm/api-handler/handlers/element-tree.js.map +1 -1
- package/dist/esm/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/api-handler/handlers/merge-translated-data.js.map +1 -1
- package/dist/esm/api-handler/handlers/translatable-data.js.map +1 -1
- package/dist/esm/builder/host-to-builder-actions.js +4 -4
- package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
- package/dist/esm/builder/index.js +1 -1
- package/dist/esm/builder/index.js.map +1 -1
- package/dist/esm/client/index.js +5 -5
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/components/builtin/Box/Box.js +1 -1
- package/dist/esm/components/builtin/Box/Box.js.map +1 -1
- package/dist/esm/components/builtin/Form/Form.js +1 -1
- package/dist/esm/components/builtin/Form/Form.js.map +1 -1
- package/dist/esm/components/hooks/useTableFormFieldRefs.js +1 -1
- package/dist/esm/components/hooks/useTableFormFieldRefs.js.map +1 -1
- package/dist/esm/next/components/framework-provider/index.js +2 -5
- package/dist/esm/next/components/framework-provider/index.js.map +1 -1
- package/dist/esm/next/components/tests/controls/color-control/fixtures.js.map +1 -1
- package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +1 -2
- package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/esm/next/components/tests/controls/rich-text-v2-control/fixtures.js.map +1 -1
- package/dist/esm/next/components/tests/makeswift-component/fixtures.js +1 -2
- package/dist/esm/next/components/tests/makeswift-component/fixtures.js.map +1 -1
- package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js +2 -3
- package/dist/esm/next/components/tests/prop-controllers/page-prop-controller.js.map +1 -1
- package/dist/esm/next/testing/element-data.js +1 -1
- package/dist/esm/next/testing/element-data.js.map +1 -1
- package/dist/esm/next/testing/index.js +1 -0
- package/dist/esm/next/testing/index.js.map +1 -1
- package/dist/esm/next/testing/page-rendering.js +3 -3
- package/dist/esm/next/testing/page-rendering.js.map +1 -1
- package/dist/esm/next/testing/react-runtime.js +5 -0
- package/dist/esm/next/testing/react-runtime.js.map +1 -0
- package/dist/esm/prop-controllers/descriptors.js.map +1 -1
- package/dist/esm/prop-controllers/instances.js.map +1 -1
- package/dist/esm/runtimes/react/components/Document.js +1 -1
- package/dist/esm/runtimes/react/components/Document.js.map +1 -1
- package/dist/esm/runtimes/react/components/DocumentRoot.js.map +1 -1
- package/dist/esm/runtimes/react/components/Element.js +3 -1
- package/dist/esm/runtimes/react/components/Element.js.map +1 -1
- package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
- package/dist/esm/runtimes/react/components/ElementReference.js.map +1 -1
- package/dist/esm/runtimes/react/components/ElementRegistration.js +1 -1
- package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/esm/runtimes/react/components/MakeswiftComponent.js +1 -1
- package/dist/esm/runtimes/react/components/MakeswiftComponent.js.map +1 -1
- package/dist/esm/runtimes/react/components/RuntimeProvider.js +5 -4
- package/dist/esm/runtimes/react/components/RuntimeProvider.js.map +1 -1
- package/dist/esm/runtimes/react/components/framework-context.js +2 -14
- package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/esm/runtimes/react/components/page/Page.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +2 -3
- package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
- package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/esm/runtimes/react/controls.js +2 -2
- package/dist/esm/runtimes/react/controls.js.map +1 -1
- package/dist/esm/runtimes/react/element-imperative-handle.js +1 -1
- package/dist/esm/runtimes/react/element-imperative-handle.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-breakpoints.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-breakpoints.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-builder-edit-mode.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-cache-data.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-cache-data.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-component.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-component.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-dispatch.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-document.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-document.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-element-id.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-element-id.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-is-in-builder.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-is-in-builder.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-is-read-only.js +9 -0
- package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/use-register-document.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-resolved-props.js +2 -2
- package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-resource-resolver.js +1 -1
- package/dist/esm/runtimes/react/hooks/use-resource-resolver.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-store.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 +3 -2
- package/dist/esm/runtimes/react/host-api-client.js.map +1 -1
- package/dist/esm/runtimes/react/index.js +2 -2
- package/dist/esm/runtimes/react/index.js.map +1 -1
- package/dist/esm/runtimes/react/poll-box-model.js +1 -1
- package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
- package/dist/esm/runtimes/react/react-runtime-core.js +4 -1
- package/dist/esm/runtimes/react/react-runtime-core.js.map +1 -1
- package/dist/esm/runtimes/react/runtime-core.js +3 -5
- package/dist/esm/runtimes/react/runtime-core.js.map +1 -1
- package/dist/esm/runtimes/react/testing/react-runtime.js +8 -0
- package/dist/esm/runtimes/react/testing/react-runtime.js.map +1 -0
- package/dist/esm/runtimes/react/utils/can-accept-ref.js.map +1 -1
- package/dist/esm/state/actions/internal/index.js +10 -0
- package/dist/esm/state/actions/internal/index.js.map +1 -0
- package/dist/esm/state/actions/{internal.js → internal/read-only-actions.js} +36 -52
- package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -0
- package/dist/esm/state/actions/internal/read-write-actions.js +41 -0
- package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -0
- package/dist/esm/state/builder-api/actions.js +8 -7
- package/dist/esm/state/builder-api/actions.js.map +1 -1
- package/dist/esm/state/host-api.js.map +1 -1
- package/dist/esm/state/makeswift-api-client.js +33 -19
- package/dist/esm/state/makeswift-api-client.js.map +1 -1
- package/dist/esm/state/middleware/prop-controller-handles.js +80 -0
- package/dist/esm/state/middleware/prop-controller-handles.js.map +1 -0
- package/dist/esm/state/middleware/read-only-element-tree.js +28 -0
- package/dist/esm/state/middleware/read-only-element-tree.js.map +1 -0
- package/dist/esm/state/middleware/read-write/builder-api/element-size.js +16 -0
- package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +1 -0
- package/dist/esm/state/middleware/read-write/builder-api/index.js +52 -0
- package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -0
- package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +251 -0
- package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -0
- package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js +13 -0
- package/dist/esm/state/middleware/read-write/makeswift-api-client-sync.js.map +1 -0
- package/dist/esm/state/middleware/read-write/measure-box-models.js +37 -0
- package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -0
- package/dist/esm/state/middleware/read-write/update-element-tree.js +35 -0
- package/dist/esm/state/middleware/read-write/update-element-tree.js.map +1 -0
- package/dist/esm/state/modules/api-resources.js +8 -5
- package/dist/esm/state/modules/api-resources.js.map +1 -1
- package/dist/esm/state/modules/breakpoints.js +3 -2
- package/dist/esm/state/modules/breakpoints.js.map +1 -1
- package/dist/esm/state/modules/builder-edit-mode.js +3 -2
- package/dist/esm/state/modules/builder-edit-mode.js.map +1 -1
- package/dist/esm/state/modules/components-meta.js +4 -3
- package/dist/esm/state/modules/components-meta.js.map +1 -1
- package/dist/esm/state/modules/element-trees.js +6 -4
- package/dist/esm/state/modules/element-trees.js.map +1 -1
- package/dist/esm/state/modules/is-in-builder.js +3 -2
- package/dist/esm/state/modules/is-in-builder.js.map +1 -1
- package/dist/esm/state/modules/is-read-only.js +24 -0
- package/dist/esm/state/modules/is-read-only.js.map +1 -0
- package/dist/esm/state/modules/locale.js +27 -0
- package/dist/esm/state/modules/locale.js.map +1 -0
- package/dist/esm/state/modules/localized-resources-map.js +5 -3
- package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
- package/dist/esm/state/modules/prop-controllers.js +4 -3
- package/dist/esm/state/modules/prop-controllers.js.map +1 -1
- package/dist/esm/state/modules/react-components.js +4 -3
- package/dist/esm/state/modules/react-components.js.map +1 -1
- package/dist/esm/state/modules/read-only-documents.js +4 -6
- package/dist/esm/state/modules/read-only-documents.js.map +1 -1
- package/dist/esm/state/modules/{box-models.js → read-write/box-models.js} +6 -4
- package/dist/esm/state/modules/read-write/box-models.js.map +1 -0
- package/dist/esm/state/modules/{element-imperative-handles.js → read-write/element-imperative-handles.js} +4 -3
- package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -0
- package/dist/esm/state/modules/{pointer.js → read-write/pointer.js} +3 -2
- package/dist/esm/state/modules/read-write/pointer.js.map +1 -0
- package/dist/esm/state/modules/{read-write-documents.js → read-write/read-write-documents.js} +3 -3
- package/dist/esm/state/modules/read-write/read-write-documents.js.map +1 -0
- package/dist/esm/state/modules/site-version.js +24 -0
- package/dist/esm/state/modules/site-version.js.map +1 -0
- package/dist/esm/state/ops/copy-element-tree.js +37 -0
- package/dist/esm/state/ops/copy-element-tree.js.map +1 -0
- package/dist/esm/state/ops/merge-element.js +39 -0
- package/dist/esm/state/ops/merge-element.js.map +1 -0
- package/dist/esm/state/react-builder-preview.js +15 -500
- package/dist/esm/state/react-builder-preview.js.map +1 -1
- package/dist/esm/state/react-page.js +7 -240
- package/dist/esm/state/react-page.js.map +1 -1
- package/dist/esm/state/read-only-state.js +157 -0
- package/dist/esm/state/read-only-state.js.map +1 -0
- package/dist/esm/state/read-write-state.js +76 -0
- package/dist/esm/state/read-write-state.js.map +1 -0
- package/dist/esm/state/shared-api.js.map +1 -1
- package/dist/esm/state/translations/get.js +1 -1
- package/dist/esm/state/translations/get.js.map +1 -1
- package/dist/esm/state/translations/merge.js +1 -1
- package/dist/esm/state/translations/merge.js.map +1 -1
- package/dist/esm/unstable-framework-support/index.js +2 -4
- package/dist/esm/unstable-framework-support/index.js.map +1 -1
- package/dist/types/api/{react.d.ts → client.d.ts} +4 -2
- package/dist/types/api/client.d.ts.map +1 -0
- package/dist/types/api-handler/handlers/element-tree.d.ts +1 -1
- package/dist/types/api-handler/handlers/element-tree.d.ts.map +1 -1
- package/dist/types/api-handler/handlers/merge-translated-data.d.ts +1 -1
- package/dist/types/api-handler/handlers/merge-translated-data.d.ts.map +1 -1
- package/dist/types/api-handler/handlers/translatable-data.d.ts +1 -1
- package/dist/types/api-handler/handlers/translatable-data.d.ts.map +1 -1
- package/dist/types/api-handler/handlers/webhook/types.d.ts +4 -4
- package/dist/types/builder/host-to-builder-actions.d.ts +2 -2
- package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
- package/dist/types/builder/index.d.ts +2 -2
- package/dist/types/builder/index.d.ts.map +1 -1
- package/dist/types/client/index.d.ts +2 -2
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/Box.d.ts +1 -1
- package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/next/components/framework-provider/index.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts +1 -1
- package/dist/types/next/components/tests/controls/color-control/fixtures.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +3 -3
- package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/rich-text-v2-control/fixtures.d.ts +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/makeswift-component/fixtures.d.ts +1 -1
- package/dist/types/next/components/tests/makeswift-component/fixtures.d.ts.map +1 -1
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +1 -1
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
- package/dist/types/next/testing/element-data.d.ts +1 -1
- package/dist/types/next/testing/element-data.d.ts.map +1 -1
- package/dist/types/next/testing/index.d.ts +1 -0
- package/dist/types/next/testing/index.d.ts.map +1 -1
- package/dist/types/next/testing/page-rendering.d.ts.map +1 -1
- package/dist/types/next/testing/react-runtime.d.ts +2 -0
- package/dist/types/next/testing/react-runtime.d.ts.map +1 -0
- package/dist/types/prop-controllers/descriptors.d.ts +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/instances.d.ts +1 -1
- package/dist/types/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/Document.d.ts +1 -1
- package/dist/types/runtimes/react/components/Document.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/DocumentRoot.d.ts +1 -1
- package/dist/types/runtimes/react/components/DocumentRoot.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/Element.d.ts +1 -1
- package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/ElementData.d.ts +1 -1
- package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/ElementReference.d.ts +1 -1
- package/dist/types/runtimes/react/components/ElementReference.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/RuntimeProvider.d.ts +1 -1
- package/dist/types/runtimes/react/components/RuntimeProvider.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/framework-context.d.ts +2 -4
- package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/page/Page.d.ts +1 -1
- package/dist/types/runtimes/react/components/page/Page.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts +2 -2
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/element-imperative-handle.d.ts +1 -1
- package/dist/types/runtimes/react/element-imperative-handle.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-cache-data.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-cache-data.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-component.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-component.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-dispatch.d.ts +3 -3
- package/dist/types/runtimes/react/hooks/use-dispatch.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-document.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-document.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +2 -0
- package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-register-document.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-register-document.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-selector.d.ts +3 -3
- package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-store.d.ts +4 -4
- package/dist/types/runtimes/react/hooks/use-store.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 +1 -1
- package/dist/types/runtimes/react/host-api-client.d.ts.map +1 -1
- package/dist/types/runtimes/react/index.d.ts +1 -1
- package/dist/types/runtimes/react/index.d.ts.map +1 -1
- package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
- package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
- package/dist/types/runtimes/react/react-runtime-core.d.ts +1 -1
- package/dist/types/runtimes/react/react-runtime-core.d.ts.map +1 -1
- package/dist/types/runtimes/react/runtime-core.d.ts +2 -1
- package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -1
- package/dist/types/runtimes/react/testing/react-runtime.d.ts +3 -0
- package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +1 -0
- package/dist/types/runtimes/react/utils/can-accept-ref.d.ts +1 -1
- package/dist/types/runtimes/react/utils/can-accept-ref.d.ts.map +1 -1
- package/dist/types/state/__tests__/merge-element.test.d.ts +2 -0
- package/dist/types/state/__tests__/merge-element.test.d.ts.map +1 -0
- package/dist/types/state/actions/index.d.ts +8 -5
- package/dist/types/state/actions/index.d.ts.map +1 -1
- package/dist/types/state/actions/internal/index.d.ts +27 -0
- package/dist/types/state/actions/internal/index.d.ts.map +1 -0
- package/dist/types/state/actions/{internal.d.ts → internal/read-only-actions.d.ts} +45 -67
- package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -0
- package/dist/types/state/actions/internal/read-write-actions.d.ts +48 -0
- package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -0
- package/dist/types/state/builder-api/actions.d.ts +14 -14
- package/dist/types/state/builder-api/actions.d.ts.map +1 -1
- package/dist/types/state/host-api.d.ts +1 -1
- package/dist/types/state/host-api.d.ts.map +1 -1
- package/dist/types/state/makeswift-api-client.d.ts +11 -2
- package/dist/types/state/makeswift-api-client.d.ts.map +1 -1
- package/dist/types/state/middleware/prop-controller-handles.d.ts +4 -0
- package/dist/types/state/middleware/prop-controller-handles.d.ts.map +1 -0
- package/dist/types/state/middleware/read-only-element-tree.d.ts +4 -0
- package/dist/types/state/middleware/read-only-element-tree.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +12 -0
- package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/index.d.ts +5 -0
- package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +6 -0
- package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts +5 -0
- package/dist/types/state/middleware/read-write/makeswift-api-client-sync.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/measure-box-models.d.ts +4 -0
- package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/update-element-tree.d.ts +4 -0
- package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +1 -0
- package/dist/types/state/modules/api-resources.d.ts.map +1 -1
- package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
- package/dist/types/state/modules/builder-edit-mode.d.ts.map +1 -1
- package/dist/types/state/modules/components-meta.d.ts.map +1 -1
- package/dist/types/state/modules/element-trees.d.ts.map +1 -1
- package/dist/types/state/modules/is-in-builder.d.ts.map +1 -1
- package/dist/types/state/modules/{is-preview.d.ts → is-read-only.d.ts} +3 -3
- package/dist/types/state/modules/is-read-only.d.ts.map +1 -0
- package/dist/types/state/modules/locale.d.ts +6 -0
- package/dist/types/state/modules/locale.d.ts.map +1 -0
- package/dist/types/state/modules/localized-resources-map.d.ts.map +1 -1
- package/dist/types/state/modules/prop-controllers.d.ts.map +1 -1
- package/dist/types/state/modules/react-components.d.ts.map +1 -1
- package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
- package/dist/types/state/modules/{box-models.d.ts → read-write/box-models.d.ts} +1 -1
- package/dist/types/state/modules/read-write/box-models.d.ts.map +1 -0
- package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +6 -0
- package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +1 -0
- package/dist/types/state/modules/{pointer.d.ts → read-write/pointer.d.ts} +2 -3
- package/dist/types/state/modules/read-write/pointer.d.ts.map +1 -0
- package/dist/types/state/modules/{read-write-documents.d.ts → read-write/read-write-documents.d.ts} +4 -4
- package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +1 -0
- package/dist/types/state/modules/site-version.d.ts +7 -0
- package/dist/types/state/modules/site-version.d.ts.map +1 -0
- package/dist/types/state/ops/copy-element-tree.d.ts +37 -0
- package/dist/types/state/ops/copy-element-tree.d.ts.map +1 -0
- package/dist/types/state/ops/merge-element.d.ts +4 -0
- package/dist/types/state/ops/merge-element.d.ts.map +1 -0
- package/dist/types/state/react-builder-preview.d.ts +26 -93
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts +20 -136
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/dist/types/state/read-only-state.d.ts +122 -0
- package/dist/types/state/read-only-state.d.ts.map +1 -0
- package/dist/types/state/read-write-state.d.ts +56 -0
- package/dist/types/state/read-write-state.d.ts.map +1 -0
- package/dist/types/state/shared-api.d.ts.map +1 -1
- package/dist/types/state/translations/get.d.ts +1 -1
- package/dist/types/state/translations/get.d.ts.map +1 -1
- package/dist/types/state/translations/merge.d.ts +1 -1
- package/dist/types/state/translations/merge.d.ts.map +1 -1
- package/dist/types/unstable-framework-support/index.d.ts +1 -1
- package/dist/types/unstable-framework-support/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/api/react.js.map +0 -1
- package/dist/cjs/runtimes/react/hooks/use-is-preview.js.map +0 -1
- package/dist/cjs/state/actions/internal.js.map +0 -1
- package/dist/cjs/state/modules/box-models.js.map +0 -1
- package/dist/cjs/state/modules/element-imperative-handles.js.map +0 -1
- package/dist/cjs/state/modules/is-preview.js.map +0 -1
- package/dist/cjs/state/modules/pointer.js.map +0 -1
- package/dist/cjs/state/modules/read-write-documents.js.map +0 -1
- package/dist/esm/api/react.js.map +0 -1
- package/dist/esm/runtimes/react/hooks/use-is-preview.js +0 -9
- package/dist/esm/runtimes/react/hooks/use-is-preview.js.map +0 -1
- package/dist/esm/state/actions/internal.js.map +0 -1
- package/dist/esm/state/modules/box-models.js.map +0 -1
- package/dist/esm/state/modules/element-imperative-handles.js.map +0 -1
- package/dist/esm/state/modules/is-preview.js +0 -21
- package/dist/esm/state/modules/is-preview.js.map +0 -1
- package/dist/esm/state/modules/pointer.js.map +0 -1
- package/dist/esm/state/modules/read-write-documents.js.map +0 -1
- package/dist/types/api/react.d.ts.map +0 -1
- package/dist/types/runtimes/react/hooks/use-is-preview.d.ts +0 -2
- package/dist/types/runtimes/react/hooks/use-is-preview.d.ts.map +0 -1
- package/dist/types/state/__tests__/react-page.test.d.ts +0 -2
- package/dist/types/state/__tests__/react-page.test.d.ts.map +0 -1
- package/dist/types/state/actions/internal.d.ts.map +0 -1
- package/dist/types/state/modules/box-models.d.ts.map +0 -1
- package/dist/types/state/modules/element-imperative-handles.d.ts +0 -7
- package/dist/types/state/modules/element-imperative-handles.d.ts.map +0 -1
- package/dist/types/state/modules/is-preview.d.ts.map +0 -1
- package/dist/types/state/modules/pointer.d.ts.map +0 -1
- package/dist/types/state/modules/read-write-documents.d.ts.map +0 -1
|
@@ -1,494 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
configureStore as configureReduxStore,
|
|
3
|
-
combineReducers
|
|
4
|
-
} from "@reduxjs/toolkit";
|
|
5
|
-
import deepEqual from "../utils/deepEqual";
|
|
6
|
-
import * as Documents from "./modules/read-write-documents";
|
|
7
|
-
import * as ElementTrees from "./modules/element-trees";
|
|
8
|
-
import * as ReactComponents from "./modules/react-components";
|
|
9
|
-
import * as BoxModels from "./modules/box-models";
|
|
10
|
-
import * as ComponentsMeta from "./modules/components-meta";
|
|
11
|
-
import * as PropControllers from "./modules/prop-controllers";
|
|
12
|
-
import * as PropControllerHandles from "./modules/prop-controller-handles";
|
|
13
|
-
import * as IsInBuilder from "./modules/is-in-builder";
|
|
14
|
-
import * as IsPreview from "./modules/is-preview";
|
|
15
|
-
import * as BuilderEditMode from "./modules/builder-edit-mode";
|
|
16
|
-
import * as Pointer from "./modules/pointer";
|
|
17
|
-
import * as ElementImperativeHandles from "./modules/element-imperative-handles";
|
|
18
|
-
import * as Breakpoints from "./modules/breakpoints";
|
|
1
|
+
import { configureStore as configureReduxStore } from "@reduxjs/toolkit";
|
|
19
2
|
import { withSetupTeardown } from "./mixins/setup-teardown";
|
|
20
|
-
import * as ReactPage from "./react-page";
|
|
21
|
-
import * as Shared from "./shared-api";
|
|
22
3
|
import { BuilderActionTypes } from "./builder-api/actions";
|
|
23
|
-
import
|
|
24
|
-
import { InternalActionTypes } from "./actions/internal";
|
|
25
|
-
import * as Internal from "./actions/internal";
|
|
26
|
-
import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
|
|
27
|
-
import { createPropController } from "../prop-controllers/instances";
|
|
28
|
-
import { serializeControls } from "../builder";
|
|
4
|
+
import { middlewareOptions, devToolsConfig } from "./toolkit";
|
|
29
5
|
import { HostActionTypes } from "./host-api";
|
|
30
|
-
import {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
propControllerHandles: PropControllerHandles.reducer,
|
|
39
|
-
isInBuilder: IsInBuilder.reducer,
|
|
40
|
-
isPreview: IsPreview.reducer,
|
|
41
|
-
builderEditMode: BuilderEditMode.reducer,
|
|
42
|
-
pointer: Pointer.reducer,
|
|
43
|
-
elementImperativeHandles: ElementImperativeHandles.reducer,
|
|
44
|
-
breakpoints: Breakpoints.reducer
|
|
45
|
-
});
|
|
46
|
-
function getDocumentsStateSlice(state) {
|
|
47
|
-
return state.documents;
|
|
48
|
-
}
|
|
49
|
-
function getBoxModelsStateSlice(state) {
|
|
50
|
-
return state.boxModels;
|
|
51
|
-
}
|
|
52
|
-
function getMeasurables(state) {
|
|
53
|
-
return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
|
|
54
|
-
}
|
|
55
|
-
function getBoxModels(state) {
|
|
56
|
-
return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
|
|
57
|
-
}
|
|
58
|
-
function getBoxModel(state, documentKey, elementKey) {
|
|
59
|
-
return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
|
|
60
|
-
}
|
|
61
|
-
function getComponentsMetaStateSlice(state) {
|
|
62
|
-
return state.componentsMeta;
|
|
63
|
-
}
|
|
64
|
-
function getComponentsMeta(state) {
|
|
65
|
-
return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
|
|
66
|
-
}
|
|
67
|
-
function getPropControllersStateSlice(state) {
|
|
68
|
-
return state.propControllers;
|
|
69
|
-
}
|
|
70
|
-
function getComponentPropControllerDescriptors(state, componentType) {
|
|
71
|
-
return PropControllers.getComponentPropControllerDescriptors(
|
|
72
|
-
getPropControllersStateSlice(state),
|
|
73
|
-
componentType
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
function getPropControllerHandlesStateSlice(state) {
|
|
77
|
-
return state.propControllerHandles;
|
|
78
|
-
}
|
|
79
|
-
function getPointer(state) {
|
|
80
|
-
return Pointer.getPointer(state.pointer);
|
|
81
|
-
}
|
|
82
|
-
function getElementImperativeHandles(state) {
|
|
83
|
-
return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
|
|
84
|
-
}
|
|
85
|
-
function getElementImperativeHandlesContainingElement(state, element) {
|
|
86
|
-
const elementImperativeHandles = getElementImperativeHandles(state);
|
|
87
|
-
const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
|
|
88
|
-
for (const [documentKey, byElementKey] of elementImperativeHandles) {
|
|
89
|
-
const filteredByElementKey = /* @__PURE__ */ new Map();
|
|
90
|
-
for (const [elementKey, elementImperativeHandle] of byElementKey) {
|
|
91
|
-
const handleElement = elementImperativeHandle.getDomNode();
|
|
92
|
-
if (handleElement?.contains(element)) {
|
|
93
|
-
filteredByElementKey.set(elementKey, elementImperativeHandle);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (filteredByElementKey.size > 0) {
|
|
97
|
-
filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return filteredElementImperativeHandles;
|
|
101
|
-
}
|
|
102
|
-
function measureElements() {
|
|
103
|
-
return (dispatch, getState) => {
|
|
104
|
-
const measurables = getMeasurables(getState());
|
|
105
|
-
const currentBoxModels = getBoxModels(getState());
|
|
106
|
-
const measuredBoxModels = /* @__PURE__ */ new Map();
|
|
107
|
-
measurables.forEach((documentMeasurables, documentKey) => {
|
|
108
|
-
const measuredDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
109
|
-
documentMeasurables.forEach((measurable, elementKey) => {
|
|
110
|
-
const boxModel = BoxModels.measure(measurable);
|
|
111
|
-
if (boxModel != null)
|
|
112
|
-
measuredDocumentBoxModels.set(elementKey, boxModel);
|
|
113
|
-
});
|
|
114
|
-
if (measuredDocumentBoxModels.size > 0) {
|
|
115
|
-
measuredBoxModels.set(documentKey, measuredDocumentBoxModels);
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
const changedBoxModels = /* @__PURE__ */ new Map();
|
|
119
|
-
currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {
|
|
120
|
-
const changedDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
121
|
-
currentDocumentBoxModels.forEach((_boxModel, elementKey) => {
|
|
122
|
-
if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {
|
|
123
|
-
changedDocumentBoxModels.set(elementKey, null);
|
|
124
|
-
}
|
|
125
|
-
if (changedDocumentBoxModels.size > 0) {
|
|
126
|
-
changedBoxModels.set(documentKey, changedDocumentBoxModels);
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {
|
|
131
|
-
const changedDocumentBoxModels = /* @__PURE__ */ new Map();
|
|
132
|
-
measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {
|
|
133
|
-
const currentBoxModel = getBoxModel(getState(), documentKey, elementKey);
|
|
134
|
-
if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {
|
|
135
|
-
changedDocumentBoxModels.set(elementKey, measuredBoxModel);
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
if (changedDocumentBoxModels.size > 0) {
|
|
139
|
-
changedBoxModels.set(documentKey, changedDocumentBoxModels);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
if (changedBoxModels.size > 0)
|
|
143
|
-
dispatch(Builder.changeElementBoxModels(changedBoxModels));
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
function startMeasuringElements() {
|
|
147
|
-
return (dispatch) => {
|
|
148
|
-
let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
|
|
149
|
-
return () => {
|
|
150
|
-
cancelAnimationFrame(animationFrameHandle);
|
|
151
|
-
};
|
|
152
|
-
function handleAnimationFrameRequest() {
|
|
153
|
-
dispatch(measureElements());
|
|
154
|
-
animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
}
|
|
158
|
-
function getElementSize(element) {
|
|
159
|
-
return {
|
|
160
|
-
offsetWidth: element.offsetWidth,
|
|
161
|
-
offsetHeight: element.offsetHeight,
|
|
162
|
-
clientWidth: element.clientWidth,
|
|
163
|
-
clientHeight: element.clientHeight,
|
|
164
|
-
scrollWidth: element.scrollWidth,
|
|
165
|
-
scrollHeight: element.scrollHeight,
|
|
166
|
-
scrollTop: element.scrollTop,
|
|
167
|
-
scrollLeft: element.scrollLeft
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
function lockDocumentScroll() {
|
|
171
|
-
return (dispatch) => {
|
|
172
|
-
const lastDocumentOverflow = window.document.documentElement.style.overflow;
|
|
173
|
-
window.document.documentElement.style.overflow = "hidden";
|
|
174
|
-
window.document.documentElement.addEventListener("wheel", handleWheelEvent);
|
|
175
|
-
return () => {
|
|
176
|
-
window.document.documentElement.style.overflow = lastDocumentOverflow;
|
|
177
|
-
window.document.documentElement.removeEventListener("wheel", handleWheelEvent);
|
|
178
|
-
};
|
|
179
|
-
function handleWheelEvent({ deltaX, deltaY }) {
|
|
180
|
-
dispatch(Builder.handleWheel({ deltaX, deltaY }));
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
function startHandlingPointerMoveEvent() {
|
|
185
|
-
return (dispatch) => {
|
|
186
|
-
window.document.documentElement.addEventListener("pointermove", handlePointerMoveEvent);
|
|
187
|
-
return () => {
|
|
188
|
-
window.document.documentElement.removeEventListener("pointermove", handlePointerMoveEvent);
|
|
189
|
-
};
|
|
190
|
-
function handlePointerMoveEvent({ clientX, clientY }) {
|
|
191
|
-
dispatch(Builder.handlePointerMove({ clientX, clientY }));
|
|
192
|
-
}
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
function startHandlingFocusEvents() {
|
|
196
|
-
return (_dispatch, getState) => {
|
|
197
|
-
window.addEventListener("focusin", handleFocusIn);
|
|
198
|
-
window.addEventListener("focusout", handleFocusOut);
|
|
199
|
-
return () => {
|
|
200
|
-
window.removeEventListener("focusin", handleFocusIn);
|
|
201
|
-
window.removeEventListener("focusout", handleFocusOut);
|
|
202
|
-
};
|
|
203
|
-
function handleFocusIn(event) {
|
|
204
|
-
if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {
|
|
208
|
-
window.parent.focus();
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
function handleFocusOut(event) {
|
|
212
|
-
if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
if (!(event.relatedTarget instanceof window.HTMLElement) || !event.relatedTarget.isContentEditable) {
|
|
216
|
-
window.parent.focus();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
function startMeasuringDocumentElement() {
|
|
222
|
-
return (dispatch) => {
|
|
223
|
-
let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
|
|
224
|
-
let lastSize;
|
|
225
|
-
return () => {
|
|
226
|
-
cancelAnimationFrame(animationFrameHandle);
|
|
227
|
-
};
|
|
228
|
-
function handleAnimationFrameRequest() {
|
|
229
|
-
const nextSize = getElementSize(window.document.documentElement);
|
|
230
|
-
if (!deepEqual(lastSize, nextSize)) {
|
|
231
|
-
lastSize = nextSize;
|
|
232
|
-
dispatch(Builder.changeDocumentElementSize(nextSize));
|
|
233
|
-
}
|
|
234
|
-
animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest);
|
|
235
|
-
}
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
function elementKeysFromElementFromPoint(elementFromPoint) {
|
|
239
|
-
return (_dispatch, getState) => {
|
|
240
|
-
if (elementFromPoint == null)
|
|
241
|
-
return null;
|
|
242
|
-
const elementImperativeHandles = getElementImperativeHandlesContainingElement(
|
|
243
|
-
getState(),
|
|
244
|
-
elementFromPoint
|
|
245
|
-
);
|
|
246
|
-
const ascendingDepthDocumentKeys = ReactPage.getDocumentKeysSortedByDepth(getState());
|
|
247
|
-
const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse();
|
|
248
|
-
let currentElement = elementFromPoint;
|
|
249
|
-
let keys = null;
|
|
250
|
-
while (currentElement != null) {
|
|
251
|
-
for (const documentKey of descendingDepthDocumentKeys) {
|
|
252
|
-
const byElementKey = elementImperativeHandles.get(documentKey);
|
|
253
|
-
if (byElementKey == null)
|
|
254
|
-
continue;
|
|
255
|
-
for (const [elementKey, elementImperativeHandle] of byElementKey) {
|
|
256
|
-
if (elementImperativeHandle.getDomNode() === currentElement) {
|
|
257
|
-
return { documentKey, elementKey };
|
|
258
|
-
}
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
currentElement = currentElement.parentElement;
|
|
262
|
-
}
|
|
263
|
-
return keys;
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
function startPollingElementFromPoint() {
|
|
267
|
-
return (dispatch, getState) => {
|
|
268
|
-
let lastElementFromPoint = null;
|
|
269
|
-
let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
|
|
270
|
-
return () => {
|
|
271
|
-
cancelAnimationFrame(animationFrameRequestId);
|
|
272
|
-
};
|
|
273
|
-
function handleAnimationFrameRequest() {
|
|
274
|
-
const pointer = getPointer(getState());
|
|
275
|
-
const elementFromPoint = pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y);
|
|
276
|
-
if (elementFromPoint !== lastElementFromPoint) {
|
|
277
|
-
lastElementFromPoint = elementFromPoint;
|
|
278
|
-
const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint));
|
|
279
|
-
dispatch(Builder.elementFromPointChange(keys));
|
|
280
|
-
}
|
|
281
|
-
animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest);
|
|
282
|
-
}
|
|
283
|
-
};
|
|
284
|
-
}
|
|
285
|
-
function registerBuilderComponents() {
|
|
286
|
-
return (dispatch, getState) => {
|
|
287
|
-
const state = getState();
|
|
288
|
-
const componentsMeta = getComponentsMeta(state);
|
|
289
|
-
componentsMeta.forEach((meta, type) => {
|
|
290
|
-
const descriptors = getComponentPropControllerDescriptors(state, type);
|
|
291
|
-
if (descriptors != null) {
|
|
292
|
-
const [serializedControls, transferables] = serializeControls(descriptors);
|
|
293
|
-
dispatch(
|
|
294
|
-
Builder.registerBuilderComponent({ type, meta, serializedControls }, transferables)
|
|
295
|
-
);
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
return () => {
|
|
299
|
-
componentsMeta.forEach((_, type) => {
|
|
300
|
-
dispatch(Builder.unregisterBuilderComponent({ type }));
|
|
301
|
-
});
|
|
302
|
-
};
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
function registerBuilderDocuments() {
|
|
306
|
-
return (dispatch, getState) => {
|
|
307
|
-
const documents = Documents.getDocuments(getDocumentsStateSlice(getState()));
|
|
308
|
-
documents.forEach((document2) => {
|
|
309
|
-
dispatch(Builder.registerBuilderDocument(document2));
|
|
310
|
-
});
|
|
311
|
-
return () => {
|
|
312
|
-
documents.forEach((_document, documentKey) => {
|
|
313
|
-
dispatch(Builder.unregisterBuilderDocument(documentKey));
|
|
314
|
-
});
|
|
315
|
-
};
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
function initialize(builderProxy) {
|
|
319
|
-
return (dispatch, getState) => {
|
|
320
|
-
const unregisterBuilderDocuments = dispatch(registerBuilderDocuments());
|
|
321
|
-
const stopMeasuringElements = dispatch(startMeasuringElements());
|
|
322
|
-
const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement());
|
|
323
|
-
const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents());
|
|
324
|
-
const unlockDocumentScroll = dispatch(lockDocumentScroll());
|
|
325
|
-
const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent());
|
|
326
|
-
const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint());
|
|
327
|
-
const unregisterBuilderComponents = dispatch(registerBuilderComponents());
|
|
328
|
-
const breakpoints = ReactPage.getBreakpoints(getState());
|
|
329
|
-
dispatch(Shared.setBreakpoints(breakpoints));
|
|
330
|
-
dispatch(Internal.setIsInBuilder(true));
|
|
331
|
-
builderProxy.dispatchBuffered();
|
|
332
|
-
return () => {
|
|
333
|
-
unregisterBuilderDocuments();
|
|
334
|
-
stopMeasuringElements();
|
|
335
|
-
stopMeasuringDocumentElement();
|
|
336
|
-
stopHandlingFocusEvent();
|
|
337
|
-
unlockDocumentScroll();
|
|
338
|
-
stopHandlingPointerMoveEvent();
|
|
339
|
-
stopPollingElementFromPoint();
|
|
340
|
-
unregisterBuilderComponents();
|
|
341
|
-
dispatch(Internal.setIsInBuilder(false));
|
|
342
|
-
};
|
|
343
|
-
};
|
|
344
|
-
}
|
|
345
|
-
function measureBoxModelsMiddleware() {
|
|
346
|
-
return actionMiddleware(({ dispatch }) => (next) => {
|
|
347
|
-
return (action) => {
|
|
348
|
-
switch (action.type) {
|
|
349
|
-
case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {
|
|
350
|
-
if (BoxModels.isMeasurable(action.payload.componentHandle)) {
|
|
351
|
-
dispatch(
|
|
352
|
-
Internal.registerMeasurable(
|
|
353
|
-
action.payload.documentKey,
|
|
354
|
-
action.payload.elementKey,
|
|
355
|
-
action.payload.componentHandle
|
|
356
|
-
)
|
|
357
|
-
);
|
|
358
|
-
}
|
|
359
|
-
break;
|
|
360
|
-
}
|
|
361
|
-
case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE:
|
|
362
|
-
dispatch(
|
|
363
|
-
Internal.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey)
|
|
364
|
-
);
|
|
365
|
-
break;
|
|
366
|
-
}
|
|
367
|
-
return next(action);
|
|
368
|
-
};
|
|
369
|
-
});
|
|
370
|
-
}
|
|
371
|
-
function builderAPIMiddleware(builderProxy) {
|
|
372
|
-
return actionMiddleware(({ dispatch }) => (next) => {
|
|
373
|
-
if (typeof window === "undefined")
|
|
374
|
-
return (action) => next(action);
|
|
375
|
-
let cleanUp = () => {
|
|
376
|
-
};
|
|
377
|
-
return (action) => {
|
|
378
|
-
switch (action.type) {
|
|
379
|
-
case BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:
|
|
380
|
-
case BuilderActionTypes.MOUNT_COMPONENT:
|
|
381
|
-
case BuilderActionTypes.UNMOUNT_COMPONENT:
|
|
382
|
-
case BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:
|
|
383
|
-
case BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:
|
|
384
|
-
case BuilderActionTypes.HANDLE_WHEEL:
|
|
385
|
-
case BuilderActionTypes.HANDLE_POINTER_MOVE:
|
|
386
|
-
case BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:
|
|
387
|
-
case BuilderActionTypes.SET_LOCALE:
|
|
388
|
-
case BuilderActionTypes.SET_BREAKPOINTS:
|
|
389
|
-
case BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:
|
|
390
|
-
case BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:
|
|
391
|
-
case BuilderActionTypes.REGISTER_BUILDER_COMPONENT:
|
|
392
|
-
case BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:
|
|
393
|
-
builderProxy.execute(action);
|
|
394
|
-
break;
|
|
395
|
-
case HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:
|
|
396
|
-
window.document.documentElement.scrollTop = action.payload.scrollTop;
|
|
397
|
-
break;
|
|
398
|
-
case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:
|
|
399
|
-
window.document.documentElement.scrollTop += action.payload.scrollTopDelta;
|
|
400
|
-
break;
|
|
401
|
-
case HostActionTypes.SET_BUILDER_EDIT_MODE:
|
|
402
|
-
window.getSelection()?.removeAllRanges();
|
|
403
|
-
break;
|
|
404
|
-
case HostActionTypes.INIT:
|
|
405
|
-
cleanUp = dispatch(initialize(builderProxy));
|
|
406
|
-
break;
|
|
407
|
-
case HostActionTypes.CLEAN_UP:
|
|
408
|
-
cleanUp();
|
|
409
|
-
break;
|
|
410
|
-
}
|
|
411
|
-
return next(action);
|
|
412
|
-
};
|
|
413
|
-
});
|
|
414
|
-
}
|
|
415
|
-
function createAndRegisterPropControllers(documentKey, elementKey) {
|
|
416
|
-
return (dispatch, getState) => {
|
|
417
|
-
const descriptors = ReactPage.getElementPropControllerDescriptors(
|
|
418
|
-
getState(),
|
|
419
|
-
documentKey,
|
|
420
|
-
elementKey
|
|
421
|
-
);
|
|
422
|
-
if (descriptors == null)
|
|
423
|
-
return null;
|
|
424
|
-
const propControllers = Object.entries(descriptors).reduce(
|
|
425
|
-
(acc, [propName, descriptor]) => {
|
|
426
|
-
const propController = createPropController(
|
|
427
|
-
descriptor,
|
|
428
|
-
(message) => dispatch(
|
|
429
|
-
Builder.messageBuilderPropController(documentKey, elementKey, propName, message)
|
|
430
|
-
)
|
|
431
|
-
);
|
|
432
|
-
return { ...acc, [propName]: propController };
|
|
433
|
-
},
|
|
434
|
-
{}
|
|
435
|
-
);
|
|
436
|
-
dispatch(Internal.registerPropControllers(documentKey, elementKey, propControllers));
|
|
437
|
-
return propControllers;
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
function propControllerHandlesMiddleware() {
|
|
441
|
-
return actionMiddleware(({ dispatch, getState }) => (next) => {
|
|
442
|
-
return (action) => {
|
|
443
|
-
switch (action.type) {
|
|
444
|
-
case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {
|
|
445
|
-
const { documentKey, elementKey, componentHandle } = action.payload;
|
|
446
|
-
const element = ReactPage.getElement(getState(), documentKey, elementKey);
|
|
447
|
-
const propControllers = dispatch(
|
|
448
|
-
createAndRegisterPropControllers(documentKey, elementKey)
|
|
449
|
-
);
|
|
450
|
-
if (element != null && !ReactPage.isElementReference(element) && PropControllerHandles.isPropControllersHandle(componentHandle)) {
|
|
451
|
-
dispatch(
|
|
452
|
-
Internal.registerPropControllersHandle(documentKey, elementKey, componentHandle)
|
|
453
|
-
);
|
|
454
|
-
componentHandle.setPropControllers(propControllers);
|
|
455
|
-
}
|
|
456
|
-
break;
|
|
457
|
-
}
|
|
458
|
-
case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE: {
|
|
459
|
-
const { documentKey, elementKey } = action.payload;
|
|
460
|
-
const handle = PropControllerHandles.getPropControllersHandle(
|
|
461
|
-
getPropControllerHandlesStateSlice(getState()),
|
|
462
|
-
documentKey,
|
|
463
|
-
elementKey
|
|
464
|
-
);
|
|
465
|
-
handle?.setPropControllers(null);
|
|
466
|
-
dispatch(Internal.unregisterPropControllers(documentKey, elementKey));
|
|
467
|
-
break;
|
|
468
|
-
}
|
|
469
|
-
case HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {
|
|
470
|
-
const propController = PropControllerHandles.getPropController(
|
|
471
|
-
getPropControllerHandlesStateSlice(getState()),
|
|
472
|
-
action.payload.documentKey,
|
|
473
|
-
action.payload.elementKey,
|
|
474
|
-
action.payload.propName
|
|
475
|
-
);
|
|
476
|
-
if (propController)
|
|
477
|
-
propController.recv(action.payload.message);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
return next(action);
|
|
481
|
-
};
|
|
482
|
-
});
|
|
483
|
-
}
|
|
484
|
-
function makeswiftApiClientSyncMiddleware(client) {
|
|
485
|
-
return actionMiddleware(() => (next) => {
|
|
486
|
-
return (action) => {
|
|
487
|
-
client.makeswiftApiClient.dispatch(action);
|
|
488
|
-
return next(action);
|
|
489
|
-
};
|
|
490
|
-
});
|
|
491
|
-
}
|
|
6
|
+
import { createRootReducer } from "./read-write-state";
|
|
7
|
+
import * as IsReadOnly from "./modules/is-read-only";
|
|
8
|
+
import { propControllerHandlesMiddleware } from "./middleware/prop-controller-handles";
|
|
9
|
+
import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
|
|
10
|
+
import { updateElementTreeMiddleware } from "./middleware/read-write/update-element-tree";
|
|
11
|
+
import { measureBoxModelsMiddleware } from "./middleware/read-write/measure-box-models";
|
|
12
|
+
import { builderAPIMiddleware } from "./middleware/read-write/builder-api";
|
|
13
|
+
import { makeswiftApiClientSyncMiddleware } from "./middleware/read-write/makeswift-api-client-sync";
|
|
492
14
|
function setupBuilderProxy(builderProxy) {
|
|
493
15
|
return (dispatch) => {
|
|
494
16
|
builderProxy.setup({ onHostAction: (action) => dispatch(action) });
|
|
@@ -501,13 +23,14 @@ function configureStore({
|
|
|
501
23
|
}) {
|
|
502
24
|
const initialState = {
|
|
503
25
|
...preloadedState,
|
|
504
|
-
|
|
26
|
+
isReadOnly: IsReadOnly.getInitialState(false)
|
|
505
27
|
};
|
|
506
28
|
const store = configureReduxStore({
|
|
507
|
-
reducer,
|
|
29
|
+
reducer: createRootReducer(),
|
|
508
30
|
preloadedState: initialState,
|
|
509
31
|
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(
|
|
510
|
-
|
|
32
|
+
readOnlyElementTreeMiddleware(),
|
|
33
|
+
updateElementTreeMiddleware(),
|
|
511
34
|
measureBoxModelsMiddleware(),
|
|
512
35
|
builderAPIMiddleware(builderProxy),
|
|
513
36
|
propControllerHandlesMiddleware(),
|
|
@@ -534,14 +57,6 @@ function configureStore({
|
|
|
534
57
|
return store;
|
|
535
58
|
}
|
|
536
59
|
export {
|
|
537
|
-
|
|
538
|
-
configureStore,
|
|
539
|
-
createBox,
|
|
540
|
-
getBox,
|
|
541
|
-
initialize,
|
|
542
|
-
parse,
|
|
543
|
-
propControllerHandlesMiddleware,
|
|
544
|
-
reducer,
|
|
545
|
-
startMeasuringElements
|
|
60
|
+
configureStore
|
|
546
61
|
};
|
|
547
62
|
//# sourceMappingURL=react-builder-preview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/state/react-builder-preview.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type Middleware,\n type ThunkAction,\n type ThunkDispatch,\n} from '@reduxjs/toolkit'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport deepEqual from '../utils/deepEqual'\n\nimport * as Documents from './modules/read-write-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\nimport * as BoxModels from './modules/box-models'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as PropControllerHandles from './modules/prop-controller-handles'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as IsPreview from './modules/is-preview'\nimport * as BuilderEditMode from './modules/builder-edit-mode'\nimport * as Pointer from './modules/pointer'\nimport * as ElementImperativeHandles from './modules/element-imperative-handles'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nimport * as ReactPage from './react-page'\nimport { type Action } from './actions'\n\nimport * as Shared from './shared-api'\n\nimport { BuilderActionTypes } from './builder-api/actions'\nimport * as Builder from './builder-api/actions'\n\nimport { InternalActionTypes } from './actions/internal'\nimport * as Internal from './actions/internal'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { createPropController } from '../prop-controllers/instances'\nimport { serializeControls } from '../builder'\nimport { MakeswiftHostApiClient } from '../api/react'\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\nimport { type BuilderAPIProxy } from './builder-api/proxy'\nimport { HostActionTypes } from './host-api'\n\nexport type { Operation } from './modules/read-write-documents'\nexport type { BoxModelHandle } from './modules/box-models'\nexport { createBox, getBox, parse } from './modules/box-models'\n\nexport const reducer = combineReducers({\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n boxModels: BoxModels.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n isPreview: IsPreview.reducer,\n builderEditMode: BuilderEditMode.reducer,\n pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n breakpoints: Breakpoints.reducer,\n})\n\nexport type State = ReturnType<typeof reducer>\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nfunction getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nfunction getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nfunction getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nfunction getComponentsMeta(state: State): Map<string, ComponentsMeta.ComponentMeta> {\n return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state))\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nfunction getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction getPropControllerHandlesStateSlice(state: State): PropControllerHandles.State {\n return state.propControllerHandles\n}\n\nfunction getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nfunction getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nfunction getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nfunction measureElements(): ThunkAction<void, State, unknown, Action> {\n return (dispatch, getState) => {\n const measurables = getMeasurables(getState())\n const currentBoxModels = getBoxModels(getState())\n const measuredBoxModels = new Map<string, Map<string, BoxModels.BoxModel>>()\n\n measurables.forEach((documentMeasurables, documentKey) => {\n const measuredDocumentBoxModels = new Map<string, BoxModels.BoxModel>()\n\n documentMeasurables.forEach((measurable, elementKey) => {\n const boxModel = BoxModels.measure(measurable)\n\n if (boxModel != null) measuredDocumentBoxModels.set(elementKey, boxModel)\n })\n\n if (measuredDocumentBoxModels.size > 0) {\n measuredBoxModels.set(documentKey, measuredDocumentBoxModels)\n }\n })\n\n const changedBoxModels = new Map<string, Map<string, BoxModels.BoxModel | null>>()\n\n currentBoxModels.forEach((currentDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxModel | null>()\n\n currentDocumentBoxModels.forEach((_boxModel, elementKey) => {\n if (!measuredBoxModels.get(documentKey)?.has(elementKey)) {\n changedDocumentBoxModels.set(elementKey, null)\n }\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n })\n\n measuredBoxModels.forEach((measuredDocumentBoxModels, documentKey) => {\n const changedDocumentBoxModels = new Map<string, BoxModels.BoxModel | null>()\n\n measuredDocumentBoxModels.forEach((measuredBoxModel, elementKey) => {\n const currentBoxModel = getBoxModel(getState(), documentKey, elementKey)\n\n if (currentBoxModel == null || !deepEqual(currentBoxModel, measuredBoxModel)) {\n changedDocumentBoxModels.set(elementKey, measuredBoxModel)\n }\n })\n\n if (changedDocumentBoxModels.size > 0) {\n changedBoxModels.set(documentKey, changedDocumentBoxModels)\n }\n })\n\n if (changedBoxModels.size > 0) dispatch(Builder.changeElementBoxModels(changedBoxModels))\n }\n}\n\nexport function startMeasuringElements(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n dispatch(measureElements())\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nexport type Size = {\n offsetWidth: number\n offsetHeight: number\n clientWidth: number\n clientHeight: number\n scrollWidth: number\n scrollHeight: number\n scrollTop: number\n scrollLeft: number\n}\n\nfunction getElementSize(element: HTMLElement): Size {\n return {\n offsetWidth: element.offsetWidth,\n offsetHeight: element.offsetHeight,\n clientWidth: element.clientWidth,\n clientHeight: element.clientHeight,\n scrollWidth: element.scrollWidth,\n scrollHeight: element.scrollHeight,\n scrollTop: element.scrollTop,\n scrollLeft: element.scrollLeft,\n }\n}\n\nfunction lockDocumentScroll(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n const lastDocumentOverflow = window.document.documentElement.style.overflow\n window.document.documentElement.style.overflow = 'hidden'\n\n window.document.documentElement.addEventListener('wheel', handleWheelEvent)\n\n return () => {\n window.document.documentElement.style.overflow = lastDocumentOverflow\n window.document.documentElement.removeEventListener('wheel', handleWheelEvent)\n }\n\n function handleWheelEvent({ deltaX, deltaY }: WheelEvent) {\n dispatch(Builder.handleWheel({ deltaX, deltaY }))\n }\n }\n}\n\nfunction startHandlingPointerMoveEvent(): ThunkAction<() => void, State, unknown, Action> {\n return dispatch => {\n window.document.documentElement.addEventListener('pointermove', handlePointerMoveEvent)\n\n return () => {\n window.document.documentElement.removeEventListener('pointermove', handlePointerMoveEvent)\n }\n\n function handlePointerMoveEvent({ clientX, clientY }: PointerEvent) {\n dispatch(Builder.handlePointerMove({ clientX, clientY }))\n }\n }\n}\n\nfunction startHandlingFocusEvents(): ThunkAction<() => void, State, unknown, Action> {\n return (_dispatch, getState) => {\n window.addEventListener('focusin', handleFocusIn)\n window.addEventListener('focusout', handleFocusOut)\n\n return () => {\n window.removeEventListener('focusin', handleFocusIn)\n window.removeEventListener('focusout', handleFocusOut)\n }\n\n function handleFocusIn(event: FocusEvent) {\n if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {\n return\n }\n\n if (!(event.target instanceof window.HTMLElement) || !event.target.isContentEditable) {\n window.parent.focus()\n }\n }\n\n function handleFocusOut(event: FocusEvent) {\n if (ReactPage.getBuilderEditMode(getState()) === BuilderEditMode.BuilderEditMode.INTERACT) {\n return\n }\n\n if (\n !(event.relatedTarget instanceof window.HTMLElement) ||\n !event.relatedTarget.isContentEditable\n ) {\n window.parent.focus()\n }\n }\n }\n}\n\nfunction startMeasuringDocumentElement(): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n let lastSize: Size\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n const nextSize = getElementSize(window.document.documentElement)\n\n if (!deepEqual(lastSize, nextSize)) {\n lastSize = nextSize\n\n dispatch(Builder.changeDocumentElementSize(nextSize))\n }\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction elementKeysFromElementFromPoint(\n elementFromPoint: Element | null,\n): ThunkAction<{ documentKey: string; elementKey: string } | null, State, unknown, Action> {\n return (_dispatch, getState) => {\n if (elementFromPoint == null) return null\n\n const elementImperativeHandles = getElementImperativeHandlesContainingElement(\n getState(),\n elementFromPoint,\n )\n const ascendingDepthDocumentKeys = ReactPage.getDocumentKeysSortedByDepth(getState())\n const descendingDepthDocumentKeys = ascendingDepthDocumentKeys.slice().reverse()\n\n let currentElement: Element | null = elementFromPoint\n let keys = null\n\n while (currentElement != null) {\n for (const documentKey of descendingDepthDocumentKeys) {\n const byElementKey = elementImperativeHandles.get(documentKey)\n\n if (byElementKey == null) continue\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n if (elementImperativeHandle.getDomNode() === currentElement) {\n return { documentKey, elementKey }\n }\n }\n }\n\n currentElement = currentElement.parentElement\n }\n\n return keys\n }\n}\n\nfunction startPollingElementFromPoint(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n let lastElementFromPoint: Element | null = null\n let animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameRequestId)\n }\n\n function handleAnimationFrameRequest() {\n const pointer = getPointer(getState())\n const elementFromPoint =\n pointer == null ? null : document.elementFromPoint(pointer.x, pointer.y)\n\n if (elementFromPoint !== lastElementFromPoint) {\n lastElementFromPoint = elementFromPoint\n\n const keys = dispatch(elementKeysFromElementFromPoint(elementFromPoint))\n\n dispatch(Builder.elementFromPointChange(keys))\n }\n\n animationFrameRequestId = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }\n}\n\nfunction registerBuilderComponents(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const state = getState()\n const componentsMeta = getComponentsMeta(state)\n\n componentsMeta.forEach((meta, type) => {\n const descriptors = getComponentPropControllerDescriptors(state, type)\n if (descriptors != null) {\n const [serializedControls, transferables] = serializeControls(descriptors)\n dispatch(\n Builder.registerBuilderComponent({ type, meta, serializedControls }, transferables),\n )\n }\n })\n\n return () => {\n componentsMeta.forEach((_, type) => {\n dispatch(Builder.unregisterBuilderComponent({ type }))\n })\n }\n }\n}\n\nfunction registerBuilderDocuments(): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const documents = Documents.getDocuments(getDocumentsStateSlice(getState()))\n\n documents.forEach(document => {\n dispatch(Builder.registerBuilderDocument(document))\n })\n\n return () => {\n documents.forEach((_document, documentKey) => {\n dispatch(Builder.unregisterBuilderDocument(documentKey))\n })\n }\n }\n}\n\nexport function initialize(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<() => void, State, unknown, Action> {\n return (dispatch, getState) => {\n const unregisterBuilderDocuments = dispatch(registerBuilderDocuments())\n const stopMeasuringElements = dispatch(startMeasuringElements())\n const stopMeasuringDocumentElement = dispatch(startMeasuringDocumentElement())\n const stopHandlingFocusEvent = dispatch(startHandlingFocusEvents())\n const unlockDocumentScroll = dispatch(lockDocumentScroll())\n const stopHandlingPointerMoveEvent = dispatch(startHandlingPointerMoveEvent())\n const stopPollingElementFromPoint = dispatch(startPollingElementFromPoint())\n const unregisterBuilderComponents = dispatch(registerBuilderComponents())\n\n const breakpoints = ReactPage.getBreakpoints(getState())\n dispatch(Shared.setBreakpoints(breakpoints))\n dispatch(Internal.setIsInBuilder(true))\n builderProxy.dispatchBuffered()\n\n return () => {\n unregisterBuilderDocuments()\n stopMeasuringElements()\n stopMeasuringDocumentElement()\n stopHandlingFocusEvent()\n unlockDocumentScroll()\n stopHandlingPointerMoveEvent()\n stopPollingElementFromPoint()\n unregisterBuilderComponents()\n dispatch(Internal.setIsInBuilder(false))\n }\n }\n}\n\nfunction measureBoxModelsMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {\n if (BoxModels.isMeasurable(action.payload.componentHandle)) {\n dispatch(\n Internal.registerMeasurable(\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.componentHandle,\n ),\n )\n }\n\n break\n }\n\n case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE:\n dispatch(\n Internal.unregisterMeasurable(action.payload.documentKey, action.payload.elementKey),\n )\n break\n }\n\n return next(action)\n }\n })\n}\n\nexport function builderAPIMiddleware(\n builderProxy: BuilderAPIProxy,\n): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch }) => next => {\n if (typeof window === 'undefined') return (action: Action) => next(action)\n\n let cleanUp = () => {}\n return (action: Action) => {\n switch (action.type) {\n case BuilderActionTypes.CHANGE_ELEMENT_BOX_MODELS:\n case BuilderActionTypes.MOUNT_COMPONENT:\n case BuilderActionTypes.UNMOUNT_COMPONENT:\n case BuilderActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE:\n case BuilderActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER:\n case BuilderActionTypes.HANDLE_WHEEL:\n case BuilderActionTypes.HANDLE_POINTER_MOVE:\n case BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE:\n case BuilderActionTypes.SET_LOCALE:\n case BuilderActionTypes.SET_BREAKPOINTS:\n case BuilderActionTypes.REGISTER_BUILDER_DOCUMENT:\n case BuilderActionTypes.UNREGISTER_BUILDER_DOCUMENT:\n case BuilderActionTypes.REGISTER_BUILDER_COMPONENT:\n case BuilderActionTypes.UNREGISTER_BUILDER_COMPONENT:\n builderProxy.execute(action)\n break\n\n case HostActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP:\n window.document.documentElement.scrollTop = action.payload.scrollTop\n break\n\n case HostActionTypes.SCROLL_DOCUMENT_ELEMENT:\n window.document.documentElement.scrollTop += action.payload.scrollTopDelta\n break\n\n case HostActionTypes.SET_BUILDER_EDIT_MODE:\n window.getSelection()?.removeAllRanges()\n break\n\n case HostActionTypes.INIT:\n // dispatched by the parent window after establishing the connection\n cleanUp = dispatch(initialize(builderProxy))\n break\n\n case HostActionTypes.CLEAN_UP:\n // dispatched by the parent window on disconnect\n cleanUp()\n break\n }\n\n return next(action)\n }\n })\n}\n\nfunction createAndRegisterPropControllers(\n documentKey: string,\n elementKey: string,\n): ThunkAction<Record<string, ControlInstance> | null, State, unknown, Action> {\n return (dispatch, getState) => {\n const descriptors = ReactPage.getElementPropControllerDescriptors(\n getState(),\n documentKey,\n elementKey,\n )\n\n if (descriptors == null) return null\n\n const propControllers = Object.entries(descriptors).reduce(\n (acc, [propName, descriptor]) => {\n const propController = createPropController(descriptor, message =>\n dispatch(\n Builder.messageBuilderPropController(documentKey, elementKey, propName, message),\n ),\n ) as ControlInstance\n\n return { ...acc, [propName]: propController }\n },\n {} as Record<string, ControlInstance>,\n )\n\n dispatch(Internal.registerPropControllers(documentKey, elementKey, propControllers))\n\n return propControllers\n }\n}\n\nexport function propControllerHandlesMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch, getState }) => next => {\n return (action: Action) => {\n switch (action.type) {\n case InternalActionTypes.REGISTER_COMPONENT_HANDLE: {\n const { documentKey, elementKey, componentHandle } = action.payload\n const element = ReactPage.getElement(getState(), documentKey, elementKey)\n const propControllers = dispatch(\n createAndRegisterPropControllers(documentKey, elementKey),\n )\n\n if (\n element != null &&\n !ReactPage.isElementReference(element) &&\n PropControllerHandles.isPropControllersHandle(componentHandle)\n ) {\n dispatch(\n Internal.registerPropControllersHandle(documentKey, elementKey, componentHandle),\n )\n componentHandle.setPropControllers(propControllers)\n }\n\n break\n }\n\n case InternalActionTypes.UNREGISTER_COMPONENT_HANDLE: {\n const { documentKey, elementKey } = action.payload\n const handle = PropControllerHandles.getPropControllersHandle(\n getPropControllerHandlesStateSlice(getState()),\n documentKey,\n elementKey,\n )\n\n handle?.setPropControllers(null)\n\n dispatch(Internal.unregisterPropControllers(documentKey, elementKey))\n\n break\n }\n\n case HostActionTypes.MESSAGE_HOST_PROP_CONTROLLER: {\n const propController = PropControllerHandles.getPropController(\n getPropControllerHandlesStateSlice(getState()),\n action.payload.documentKey,\n action.payload.elementKey,\n action.payload.propName,\n )\n\n if (propController) propController.recv(action.payload.message)\n }\n }\n\n return next(action)\n }\n })\n}\n\nfunction makeswiftApiClientSyncMiddleware(\n client: MakeswiftHostApiClient,\n): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(() => next => {\n return (action: Action) => {\n client.makeswiftApiClient.dispatch(action)\n\n return next(action)\n }\n })\n}\n\nfunction setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<void, State, unknown, Action> {\n return dispatch => {\n builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n\nexport function configureStore({\n preloadedState,\n client,\n builderProxy,\n}: {\n preloadedState: Partial<State>\n client: MakeswiftHostApiClient\n builderProxy: BuilderAPIProxy\n}) {\n const initialState: Partial<State> = {\n ...preloadedState,\n isPreview: IsPreview.getInitialState(true),\n }\n\n const store = configureReduxStore({\n reducer,\n preloadedState: initialState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(\n ReactPage.elementTreeMiddleware(),\n measureBoxModelsMiddleware(),\n builderAPIMiddleware(builderProxy),\n propControllerHandlesMiddleware(),\n makeswiftApiClientSyncMiddleware(client),\n ),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {\n const dispatch = store.dispatch as Dispatch\n dispatch(setupBuilderProxy(builderProxy))\n },\n () => builderProxy.teardown(),\n ),\n ),\n\n devTools: devToolsConfig({\n name: `Host store (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"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","names":["document"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/state/react-builder-preview.ts"],"sourcesContent":["import { configureStore as configureReduxStore, type ThunkAction } from '@reduxjs/toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nimport { type Action } from './actions'\n\nimport { BuilderActionTypes } from './builder-api/actions'\nimport { middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { MakeswiftHostApiClient } from '../api/client'\nimport { type BuilderAPIProxy } from './builder-api/proxy'\nimport { HostActionTypes } from './host-api'\n\nimport { type State, type Dispatch, createRootReducer } from './read-write-state'\nimport * as IsReadOnly from './modules/is-read-only'\n\nimport { propControllerHandlesMiddleware } from './middleware/prop-controller-handles'\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\n\nimport { updateElementTreeMiddleware } from './middleware/read-write/update-element-tree'\nimport { measureBoxModelsMiddleware } from './middleware/read-write/measure-box-models'\nimport { builderAPIMiddleware } from './middleware/read-write/builder-api'\nimport { makeswiftApiClientSyncMiddleware } from './middleware/read-write/makeswift-api-client-sync'\n\nfunction setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<void, State, unknown, Action> {\n return dispatch => {\n builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n\nexport function configureStore({\n preloadedState,\n client,\n builderProxy,\n}: {\n preloadedState: Partial<State>\n client: MakeswiftHostApiClient\n builderProxy: BuilderAPIProxy\n}) {\n const initialState: Partial<State> = {\n ...preloadedState,\n isReadOnly: IsReadOnly.getInitialState(false),\n }\n\n const store = configureReduxStore({\n reducer: createRootReducer(),\n preloadedState: initialState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(\n readOnlyElementTreeMiddleware(),\n updateElementTreeMiddleware(),\n measureBoxModelsMiddleware(),\n builderAPIMiddleware(builderProxy),\n propControllerHandlesMiddleware(),\n makeswiftApiClientSyncMiddleware(client),\n ),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {\n const dispatch = store.dispatch as Dispatch\n dispatch(setupBuilderProxy(builderProxy))\n },\n () => builderProxy.teardown(),\n ),\n ),\n\n devTools: devToolsConfig({\n name: `Host store (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"AAAA,SAAS,kBAAkB,2BAA6C;AAExE,SAAS,yBAAyB;AAIlC,SAAS,0BAA0B;AACnC,SAAS,mBAAmB,sBAAsB;AAIlD,SAAS,uBAAuB;AAEhC,SAAoC,yBAAyB;AAC7D,YAAY,gBAAgB;AAE5B,SAAS,uCAAuC;AAChD,SAAS,qCAAqC;AAE9C,SAAS,mCAAmC;AAC5C,SAAS,kCAAkC;AAC3C,SAAS,4BAA4B;AACrC,SAAS,wCAAwC;AAEjD,SAAS,kBACP,cAC2C;AAC3C,SAAO,cAAY;AACjB,iBAAa,MAAM,EAAE,cAAc,YAAU,SAAS,MAAM,EAAE,CAAC;AAAA,EACjE;AACF;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,QAAM,eAA+B;AAAA,IACnC,GAAG;AAAA,IACH,YAAY,WAAW,gBAAgB,KAAK;AAAA,EAC9C;AAEA,QAAM,QAAQ,oBAAoB;AAAA,IAChC,SAAS,kBAAkB;AAAA,IAC3B,gBAAgB;AAAA,IAEhB,YAAY,0BACV,qBAAqB,iBAAiB,EAAE;AAAA,MACtC,8BAA8B;AAAA,MAC9B,4BAA4B;AAAA,MAC5B,2BAA2B;AAAA,MAC3B,qBAAqB,YAAY;AAAA,MACjC,gCAAgC;AAAA,MAChC,iCAAiC,MAAM;AAAA,IACzC;AAAA,IAEF,WAAW,yBACT,oBAAoB,EAAE;AAAA,MACpB;AAAA,QACE,MAAM;AACJ,gBAAM,WAAW,MAAM;AACvB,mBAAS,kBAAkB,YAAY,CAAC;AAAA,QAC1C;AAAA,QACA,MAAM,aAAa,SAAS;AAAA,MAC9B;AAAA,IACF;AAAA,IAEF,UAAU,eAAe;AAAA,MACvB,MAAM,gBAAe,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,MAC7C,iBAAiB;AAAA,QACf,gBAAgB;AAAA,QAChB,mBAAmB;AAAA,QACnB,mBAAmB;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AACT;","names":[]}
|