@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,231 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
configureStore as configureReduxStore,
|
|
3
|
-
combineReducers
|
|
4
|
-
} from "@reduxjs/toolkit";
|
|
5
|
-
import { createSelector } from "reselect";
|
|
6
|
-
import {
|
|
7
|
-
createReplacementContext,
|
|
8
|
-
replaceResourceIfNeeded,
|
|
9
|
-
ContextResource
|
|
10
|
-
} from "@makeswift/controls";
|
|
11
|
-
import { copy as copyFromControl, merge } from "../controls/control";
|
|
12
|
-
import * as Documents from "./modules/read-only-documents";
|
|
13
|
-
import * as ElementTrees from "./modules/element-trees";
|
|
14
|
-
import * as ReactComponents from "./modules/react-components";
|
|
15
|
-
import * as ComponentsMeta from "./modules/components-meta";
|
|
16
|
-
import * as PropControllers from "./modules/prop-controllers";
|
|
17
|
-
import * as PropControllerHandles from "./modules/prop-controller-handles";
|
|
18
|
-
import * as IsInBuilder from "./modules/is-in-builder";
|
|
19
|
-
import * as IsPreview from "./modules/is-preview";
|
|
20
|
-
import * as BuilderEditMode from "./modules/builder-edit-mode";
|
|
1
|
+
import { configureStore as configureReduxStore, combineReducers } from "@reduxjs/toolkit";
|
|
21
2
|
import * as Breakpoints from "./modules/breakpoints";
|
|
22
|
-
import {
|
|
23
|
-
import { changeElementTree, createElementTree, deleteElementTree } from "./actions/internal";
|
|
24
|
-
import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
|
|
3
|
+
import { middlewareOptions, devToolsConfig } from "./toolkit";
|
|
25
4
|
import { withSetupTeardown } from "./mixins/setup-teardown";
|
|
26
|
-
import {
|
|
27
|
-
|
|
28
|
-
createDocumentReference,
|
|
29
|
-
getRootElement,
|
|
30
|
-
isElementReference
|
|
31
|
-
} from "./modules/read-only-documents";
|
|
32
|
-
const reducer = combineReducers({
|
|
33
|
-
documents: Documents.reducer,
|
|
34
|
-
elementTrees: ElementTrees.reducer,
|
|
35
|
-
reactComponents: ReactComponents.reducer,
|
|
36
|
-
componentsMeta: ComponentsMeta.reducer,
|
|
37
|
-
propControllers: PropControllers.reducer,
|
|
38
|
-
propControllerHandles: PropControllerHandles.reducer,
|
|
39
|
-
isInBuilder: IsInBuilder.reducer,
|
|
40
|
-
isPreview: IsPreview.reducer,
|
|
41
|
-
builderEditMode: BuilderEditMode.reducer,
|
|
42
|
-
breakpoints: Breakpoints.reducer
|
|
43
|
-
});
|
|
44
|
-
function getDocumentsStateSlice(state) {
|
|
45
|
-
return state.documents;
|
|
46
|
-
}
|
|
47
|
-
function getDocument(state, documentKey) {
|
|
48
|
-
return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
|
|
49
|
-
}
|
|
50
|
-
function getElementTreesSlice(state) {
|
|
51
|
-
return state.elementTrees;
|
|
52
|
-
}
|
|
53
|
-
function getElements(state, documentKey) {
|
|
54
|
-
return ElementTrees.getElements(getElementTreesSlice(state), documentKey);
|
|
55
|
-
}
|
|
56
|
-
function getElementIds(state, documentKey) {
|
|
57
|
-
return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey);
|
|
58
|
-
}
|
|
59
|
-
function getReactComponentsStateSlice(state) {
|
|
60
|
-
return state.reactComponents;
|
|
61
|
-
}
|
|
62
|
-
function getReactComponent(state, type) {
|
|
63
|
-
return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type);
|
|
64
|
-
}
|
|
65
|
-
function getComponentsMetaStateSlice(state) {
|
|
66
|
-
return state.componentsMeta;
|
|
67
|
-
}
|
|
68
|
-
function getComponentMeta(state, type) {
|
|
69
|
-
return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type);
|
|
70
|
-
}
|
|
71
|
-
function getPropControllersStateSlice(state) {
|
|
72
|
-
return state.propControllers;
|
|
73
|
-
}
|
|
74
|
-
function getPropControllerDescriptors(state) {
|
|
75
|
-
return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state));
|
|
76
|
-
}
|
|
77
|
-
function getComponentPropControllerDescriptors(state, componentType) {
|
|
78
|
-
return PropControllers.getComponentPropControllerDescriptors(
|
|
79
|
-
getPropControllersStateSlice(state),
|
|
80
|
-
componentType
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
function getPropControllerHandlesStateSlice(state) {
|
|
84
|
-
return state.propControllerHandles;
|
|
85
|
-
}
|
|
86
|
-
function getPropControllers(state, documentKey, elementKey) {
|
|
87
|
-
return PropControllerHandles.getPropControllers(
|
|
88
|
-
getPropControllerHandlesStateSlice(state),
|
|
89
|
-
documentKey,
|
|
90
|
-
elementKey
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
const getDocumentKeysSortedByDepth = createSelector(
|
|
94
|
-
[getDocumentsStateSlice, getElementTreesSlice],
|
|
95
|
-
(documents, elementTrees) => {
|
|
96
|
-
return [...documents.keys()].sort((a, b) => elementTrees.get(a)?.elements.has(b) ? -1 : 1);
|
|
97
|
-
}
|
|
98
|
-
);
|
|
99
|
-
function getElement(state, documentKey, elementKey) {
|
|
100
|
-
return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey);
|
|
101
|
-
}
|
|
102
|
-
function getElementId(state, documentKey, elementKey) {
|
|
103
|
-
return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey);
|
|
104
|
-
}
|
|
105
|
-
function getElementPropControllerDescriptors(state, documentKey, elementKey) {
|
|
106
|
-
const element = getElement(state, documentKey, elementKey);
|
|
107
|
-
if (element == null || Documents.isElementReference(element))
|
|
108
|
-
return null;
|
|
109
|
-
return getComponentPropControllerDescriptors(state, element.type);
|
|
110
|
-
}
|
|
111
|
-
function copyElementTree(state, elementTree, replacementContext) {
|
|
112
|
-
function copyElementTreeNode(state2, replacementContext2) {
|
|
113
|
-
return function(node) {
|
|
114
|
-
const context = {
|
|
115
|
-
replacementContext: replacementContext2,
|
|
116
|
-
copyElement: copyElementTreeNode(state2, replacementContext2)
|
|
117
|
-
};
|
|
118
|
-
if (Documents.isElementReference(node)) {
|
|
119
|
-
return {
|
|
120
|
-
...node,
|
|
121
|
-
value: replaceResourceIfNeeded(ContextResource.GlobalElement, node.value, context)
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
const descriptors = getComponentPropControllerDescriptors(state2, node.type);
|
|
125
|
-
if (descriptors == null)
|
|
126
|
-
return node;
|
|
127
|
-
for (const [propKey, descriptor] of Object.entries(descriptors)) {
|
|
128
|
-
node.props[propKey] = copyFromControl(descriptor, node.props[propKey], context);
|
|
129
|
-
}
|
|
130
|
-
return node;
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
const copy = JSON.parse(JSON.stringify(elementTree));
|
|
134
|
-
return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy);
|
|
135
|
-
}
|
|
136
|
-
function mergeElement(state, baseElement, overrideElement) {
|
|
137
|
-
if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {
|
|
138
|
-
throw new Error(`Can't merge elements of different types or keys`);
|
|
139
|
-
}
|
|
140
|
-
if (Documents.isElementReference(overrideElement))
|
|
141
|
-
return overrideElement;
|
|
142
|
-
if (Documents.isElementReference(baseElement))
|
|
143
|
-
return baseElement;
|
|
144
|
-
const elementDescriptors = getPropControllerDescriptors(state);
|
|
145
|
-
const descriptors = elementDescriptors.get(baseElement.type);
|
|
146
|
-
if (descriptors == null) {
|
|
147
|
-
throw new Error(
|
|
148
|
-
`Can't merge element of type "${baseElement.type}" because it has no descriptors`
|
|
149
|
-
);
|
|
150
|
-
}
|
|
151
|
-
const mergedProps = {};
|
|
152
|
-
for (const propName of Object.keys(descriptors)) {
|
|
153
|
-
const descriptor = descriptors[propName];
|
|
154
|
-
const context = {
|
|
155
|
-
mergeElement(base, override) {
|
|
156
|
-
return mergeElement(state, base, override);
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
mergedProps[propName] = merge(
|
|
160
|
-
descriptor,
|
|
161
|
-
baseElement.props[propName],
|
|
162
|
-
overrideElement.props[propName],
|
|
163
|
-
context
|
|
164
|
-
);
|
|
165
|
-
}
|
|
166
|
-
return { ...baseElement, props: mergedProps };
|
|
167
|
-
}
|
|
168
|
-
function getIsInBuilder(state) {
|
|
169
|
-
return state.isInBuilder;
|
|
170
|
-
}
|
|
171
|
-
function getIsPreview(state) {
|
|
172
|
-
return IsPreview.getIsPreview(state.isPreview);
|
|
173
|
-
}
|
|
174
|
-
function getBuilderEditMode(state) {
|
|
175
|
-
return state.builderEditMode;
|
|
176
|
-
}
|
|
177
|
-
function getBreakpoints(state) {
|
|
178
|
-
return state.breakpoints;
|
|
179
|
-
}
|
|
180
|
-
function elementTreeMiddleware() {
|
|
181
|
-
return actionMiddleware(({ dispatch, getState }) => (next) => {
|
|
182
|
-
return (action) => {
|
|
183
|
-
switch (action.type) {
|
|
184
|
-
case ActionTypes.REGISTER_DOCUMENT:
|
|
185
|
-
dispatch(
|
|
186
|
-
createElementTree({
|
|
187
|
-
document: action.payload.document,
|
|
188
|
-
descriptors: getPropControllerDescriptors(getState())
|
|
189
|
-
})
|
|
190
|
-
);
|
|
191
|
-
break;
|
|
192
|
-
case ActionTypes.CHANGE_DOCUMENT: {
|
|
193
|
-
const { documentKey, operation } = action.payload;
|
|
194
|
-
const oldDocument = getDocument(getState(), documentKey);
|
|
195
|
-
const result = next(action);
|
|
196
|
-
const newDocument = getDocument(getState(), documentKey);
|
|
197
|
-
if (oldDocument != null && newDocument != null && newDocument !== oldDocument) {
|
|
198
|
-
dispatch(
|
|
199
|
-
changeElementTree({
|
|
200
|
-
oldDocument,
|
|
201
|
-
newDocument,
|
|
202
|
-
descriptors: getPropControllerDescriptors(getState()),
|
|
203
|
-
operation
|
|
204
|
-
})
|
|
205
|
-
);
|
|
206
|
-
}
|
|
207
|
-
return result;
|
|
208
|
-
}
|
|
209
|
-
case ActionTypes.UNREGISTER_DOCUMENT:
|
|
210
|
-
dispatch(deleteElementTree(action.payload));
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
|
-
return next(action);
|
|
214
|
-
};
|
|
215
|
-
});
|
|
216
|
-
}
|
|
5
|
+
import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
|
|
6
|
+
import { reducers } from "./read-only-state";
|
|
217
7
|
function configureStore({
|
|
218
8
|
name,
|
|
219
9
|
preloadedState,
|
|
220
10
|
breakpoints
|
|
221
11
|
}) {
|
|
222
12
|
return configureReduxStore({
|
|
223
|
-
reducer,
|
|
13
|
+
reducer: combineReducers(reducers),
|
|
224
14
|
preloadedState: {
|
|
225
15
|
...preloadedState,
|
|
226
16
|
breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints)
|
|
227
17
|
},
|
|
228
|
-
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(
|
|
18
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat(readOnlyElementTreeMiddleware()),
|
|
229
19
|
enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(
|
|
230
20
|
withSetupTeardown(
|
|
231
21
|
() => {
|
|
@@ -240,29 +30,6 @@ function configureStore({
|
|
|
240
30
|
});
|
|
241
31
|
}
|
|
242
32
|
export {
|
|
243
|
-
configureStore
|
|
244
|
-
copyElementTree,
|
|
245
|
-
createBaseDocument,
|
|
246
|
-
createDocumentReference,
|
|
247
|
-
elementTreeMiddleware,
|
|
248
|
-
getBreakpoints,
|
|
249
|
-
getBuilderEditMode,
|
|
250
|
-
getComponentMeta,
|
|
251
|
-
getComponentPropControllerDescriptors,
|
|
252
|
-
getDocument,
|
|
253
|
-
getDocumentKeysSortedByDepth,
|
|
254
|
-
getElement,
|
|
255
|
-
getElementId,
|
|
256
|
-
getElementIds,
|
|
257
|
-
getElementPropControllerDescriptors,
|
|
258
|
-
getElements,
|
|
259
|
-
getIsInBuilder,
|
|
260
|
-
getIsPreview,
|
|
261
|
-
getPropControllerDescriptors,
|
|
262
|
-
getPropControllers,
|
|
263
|
-
getReactComponent,
|
|
264
|
-
getRootElement,
|
|
265
|
-
isElementReference,
|
|
266
|
-
mergeElement
|
|
33
|
+
configureStore
|
|
267
34
|
};
|
|
268
35
|
//# sourceMappingURL=react-page.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/state/react-page.ts"],"sourcesContent":["import {\n configureStore as configureReduxStore,\n combineReducers,\n type ThunkDispatch,\n type Middleware,\n} from '@reduxjs/toolkit'\n\nimport { createSelector } from 'reselect'\n\nimport {\n createReplacementContext,\n type SerializableReplacementContext,\n type ReplacementContext,\n type MergeContext,\n CopyContext,\n replaceResourceIfNeeded,\n ContextResource,\n} from '@makeswift/controls'\n\nimport { copy as copyFromControl, merge } from '../controls/control'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\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 Breakpoints from './modules/breakpoints'\n\nimport { type Action, ActionTypes } from './actions'\nimport { changeElementTree, createElementTree, deleteElementTree } from './actions/internal'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\n\nexport {\n createBaseDocument,\n createDocumentReference,\n getRootElement,\n isElementReference,\n} from './modules/read-only-documents'\n\nexport type { ComponentType } from './modules/react-components'\nexport type { ComponentMeta } from './modules/components-meta'\n\nconst reducer = combineReducers({\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.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 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\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getElementTreesSlice(state: State): ElementTrees.State {\n return state.elementTrees\n}\n\nexport function getElements(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elements'] {\n return ElementTrees.getElements(getElementTreesSlice(state), documentKey)\n}\n\nexport function getElementIds(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elementIds'] {\n return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nexport function getComponentMeta(state: State, type: string): ComponentsMeta.ComponentMeta | null {\n return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(state: State): PropControllers.State {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): PropControllers.DescriptorsByProp | 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\nexport function getPropControllers(state: State, documentKey: string, elementKey: string) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\n/**\n * Returns all document keys sorted by depth, i.e., parent documents come before child documents.\n */\nexport const getDocumentKeysSortedByDepth: (state: State) => string[] = createSelector(\n [getDocumentsStateSlice, getElementTreesSlice],\n (documents, elementTrees) => {\n return [...documents.keys()].sort((a, b) => (elementTrees.get(a)?.elements.has(b) ? -1 : 1))\n },\n)\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function copyElementTree(\n state: State,\n elementTree: Documents.ElementData,\n replacementContext: SerializableReplacementContext,\n) {\n /*\n * This is structured a bit weird.\n *\n * This is done so that we can pass a callable function into some of the copy functions\n * themselves, to enable mutual recursion.\n *\n * Consider the slot control. It has to iterate through its elements, and for each of them,\n * call some version of the below function.\n *\n * That is how the recursing through the tree happens.\n */\n function copyElementTreeNode(state: State, replacementContext: ReplacementContext) {\n return function (node: Documents.Element) {\n const context: CopyContext = {\n replacementContext,\n copyElement: copyElementTreeNode(state, replacementContext),\n }\n\n if (Documents.isElementReference(node)) {\n return {\n ...node,\n value: replaceResourceIfNeeded(ContextResource.GlobalElement, node.value, context),\n }\n }\n\n const descriptors = getComponentPropControllerDescriptors(state, node.type)\n\n if (descriptors == null) return node\n\n for (const [propKey, descriptor] of Object.entries(descriptors)) {\n node.props[propKey] = copyFromControl(descriptor, node.props[propKey], context)\n }\n\n return node\n }\n }\n\n const copy = JSON.parse(JSON.stringify(elementTree)) as Documents.ElementData\n\n return copyElementTreeNode(state, createReplacementContext(replacementContext))(copy)\n}\n\nexport function mergeElement(\n state: State,\n baseElement: Documents.Element,\n overrideElement: Documents.Element,\n): Documents.Element {\n if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {\n throw new Error(`Can't merge elements of different types or keys`)\n }\n\n if (Documents.isElementReference(overrideElement)) return overrideElement\n\n if (Documents.isElementReference(baseElement)) return baseElement\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(baseElement.type)\n\n if (descriptors == null) {\n throw new Error(\n `Can't merge element of type \"${baseElement.type}\" because it has no descriptors`,\n )\n }\n\n const mergedProps = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n const context: MergeContext = {\n mergeElement(base, override) {\n return mergeElement(state, base, override)\n },\n }\n\n mergedProps[propName] = merge(\n descriptor,\n baseElement.props[propName],\n overrideElement.props[propName],\n context,\n )\n }\n\n return { ...baseElement, props: mergedProps }\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport function getIsPreview(state: State): boolean {\n return IsPreview.getIsPreview(state.isPreview)\n}\n\nexport function getBuilderEditMode(state: State): BuilderEditMode.State {\n return state.builderEditMode\n}\n\nexport function getBreakpoints(state: State): Breakpoints.State {\n return state.breakpoints\n}\n\nexport function elementTreeMiddleware(): Middleware<Dispatch, State, Dispatch> {\n return actionMiddleware(({ dispatch, getState }) => next => {\n return action => {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n dispatch(\n createElementTree({\n document: action.payload.document,\n descriptors: getPropControllerDescriptors(getState()),\n }),\n )\n break\n\n case ActionTypes.CHANGE_DOCUMENT: {\n const { documentKey, operation } = action.payload\n\n const oldDocument = getDocument(getState(), documentKey)\n const result = next(action)\n const newDocument = getDocument(getState(), documentKey)\n\n if (oldDocument != null && newDocument != null && newDocument !== oldDocument) {\n dispatch(\n changeElementTree({\n oldDocument,\n newDocument,\n descriptors: getPropControllerDescriptors(getState()),\n operation,\n }),\n )\n }\n\n return result\n }\n\n case ActionTypes.UNREGISTER_DOCUMENT:\n dispatch(deleteElementTree(action.payload))\n break\n }\n\n return next(action)\n }\n })\n}\n\nexport function configureStore({\n name,\n preloadedState,\n breakpoints,\n}: {\n name: string\n preloadedState: Partial<State> | null\n breakpoints?: Breakpoints.State\n}) {\n return configureReduxStore({\n reducer,\n preloadedState: {\n ...preloadedState,\n breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(elementTreeMiddleware()),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {},\n () => {},\n ),\n ),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"AAAA;AAAA,EACE,kBAAkB;AAAA,EAClB;AAAA,OAGK;AAEP,SAAS,sBAAsB;AAE/B;AAAA,EACE;AAAA,EAKA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,QAAQ,iBAAiB,aAAa;AAE/C,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,YAAY,qBAAqB;AACjC,YAAY,oBAAoB;AAChC,YAAY,qBAAqB;AACjC,YAAY,2BAA2B;AACvC,YAAY,iBAAiB;AAC7B,YAAY,eAAe;AAC3B,YAAY,qBAAqB;AACjC,YAAY,iBAAiB;AAE7B,SAAsB,mBAAmB;AACzC,SAAS,mBAAmB,mBAAmB,yBAAyB;AAExE,SAAS,kBAAkB,mBAAmB,sBAAsB;AAEpE,SAAS,yBAAyB;AAWlC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAKP,MAAM,UAAU,gBAAgB;AAAA,EAC9B,WAAW,UAAU;AAAA,EACrB,cAAc,aAAa;AAAA,EAC3B,iBAAiB,gBAAgB;AAAA,EACjC,gBAAgB,eAAe;AAAA,EAC/B,iBAAiB,gBAAgB;AAAA,EACjC,uBAAuB,sBAAsB;AAAA,EAC7C,aAAa,YAAY;AAAA,EACzB,WAAW,UAAU;AAAA,EACrB,iBAAiB,gBAAgB;AAAA,EACjC,aAAa,YAAY;AAC3B,CAAC;AAKD,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,qBAAqB,OAAkC;AAC9D,SAAO,MAAM;AACf;AAEO,SAAS,YACd,OACA,aACsC;AACtC,SAAO,aAAa,YAAY,qBAAqB,KAAK,GAAG,WAAW;AAC1E;AAEO,SAAS,cACd,OACA,aACwC;AACxC,SAAO,aAAa,cAAc,qBAAqB,KAAK,GAAG,WAAW;AAC5E;AAEA,SAAS,6BAA6B,OAAqC;AACzE,SAAO,MAAM;AACf;AAEO,SAAS,kBACd,OACA,MACsC;AACtC,SAAO,gBAAgB,kBAAkB,6BAA6B,KAAK,GAAG,IAAI;AACpF;AAEA,SAAS,4BAA4B,OAAoC;AACvE,SAAO,MAAM;AACf;AAEO,SAAS,iBAAiB,OAAc,MAAmD;AAChG,SAAO,eAAe,iBAAiB,4BAA4B,KAAK,GAAG,IAAI;AACjF;AAEA,SAAS,6BAA6B,OAAqC;AACzE,SAAO,MAAM;AACf;AAEO,SAAS,6BAA6B,OAAqC;AAChF,SAAO,gBAAgB,6BAA6B,6BAA6B,KAAK,CAAC;AACzF;AAEO,SAAS,sCACd,OACA,eAC0C;AAC1C,SAAO,gBAAgB;AAAA,IACrB,6BAA6B,KAAK;AAAA,IAClC;AAAA,EACF;AACF;AAEA,SAAS,mCAAmC,OAA2C;AACrF,SAAO,MAAM;AACf;AAEO,SAAS,mBAAmB,OAAc,aAAqB,YAAoB;AACxF,SAAO,sBAAsB;AAAA,IAC3B,mCAAmC,KAAK;AAAA,IACxC;AAAA,IACA;AAAA,EACF;AACF;AAKO,MAAM,+BAA2D;AAAA,EACtE,CAAC,wBAAwB,oBAAoB;AAAA,EAC7C,CAAC,WAAW,iBAAiB;AAC3B,WAAO,CAAC,GAAG,UAAU,KAAK,CAAC,EAAE,KAAK,CAAC,GAAG,MAAO,aAAa,IAAI,CAAC,GAAG,SAAS,IAAI,CAAC,IAAI,KAAK,CAAE;AAAA,EAC7F;AACF;AAEO,SAAS,WACd,OACA,aACA,YAC0B;AAC1B,SAAO,aAAa,WAAW,qBAAqB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,aAAa,OAAc,aAAqB,YAAmC;AACjG,SAAO,aAAa,aAAa,qBAAqB,KAAK,GAAG,aAAa,UAAU;AACvF;AAEO,SAAS,oCACd,OACA,aACA,YACiE;AACjE,QAAM,UAAU,WAAW,OAAO,aAAa,UAAU;AAEzD,MAAI,WAAW,QAAQ,UAAU,mBAAmB,OAAO;AAAG,WAAO;AAErE,SAAO,sCAAsC,OAAO,QAAQ,IAAI;AAClE;AAEO,SAAS,gBACd,OACA,aACA,oBACA;AAYA,WAAS,oBAAoBA,QAAcC,qBAAwC;AACjF,WAAO,SAAU,MAAyB;AACxC,YAAM,UAAuB;AAAA,QAC3B,oBAAAA;AAAA,QACA,aAAa,oBAAoBD,QAAOC,mBAAkB;AAAA,MAC5D;AAEA,UAAI,UAAU,mBAAmB,IAAI,GAAG;AACtC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO,wBAAwB,gBAAgB,eAAe,KAAK,OAAO,OAAO;AAAA,QACnF;AAAA,MACF;AAEA,YAAM,cAAc,sCAAsCD,QAAO,KAAK,IAAI;AAE1E,UAAI,eAAe;AAAM,eAAO;AAEhC,iBAAW,CAAC,SAAS,UAAU,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC/D,aAAK,MAAM,OAAO,IAAI,gBAAgB,YAAY,KAAK,MAAM,OAAO,GAAG,OAAO;AAAA,MAChF;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,QAAM,OAAO,KAAK,MAAM,KAAK,UAAU,WAAW,CAAC;AAEnD,SAAO,oBAAoB,OAAO,yBAAyB,kBAAkB,CAAC,EAAE,IAAI;AACtF;AAEO,SAAS,aACd,OACA,aACA,iBACmB;AACnB,MAAI,YAAY,SAAS,gBAAgB,QAAQ,YAAY,QAAQ,gBAAgB,KAAK;AACxF,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEA,MAAI,UAAU,mBAAmB,eAAe;AAAG,WAAO;AAE1D,MAAI,UAAU,mBAAmB,WAAW;AAAG,WAAO;AAEtD,QAAM,qBAAqB,6BAA6B,KAAK;AAC7D,QAAM,cAAc,mBAAmB,IAAI,YAAY,IAAI;AAE3D,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI;AAAA,MACR,gCAAgC,YAAY,IAAI;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,cAAc,CAAC;AAErB,aAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,UAAM,aAAa,YAAY,QAAQ;AACvC,UAAM,UAAwB;AAAA,MAC5B,aAAa,MAAM,UAAU;AAC3B,eAAO,aAAa,OAAO,MAAM,QAAQ;AAAA,MAC3C;AAAA,IACF;AAEA,gBAAY,QAAQ,IAAI;AAAA,MACtB;AAAA,MACA,YAAY,MAAM,QAAQ;AAAA,MAC1B,gBAAgB,MAAM,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,aAAa,OAAO,YAAY;AAC9C;AAEO,SAAS,eAAe,OAAuB;AACpD,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAAuB;AAClD,SAAO,UAAU,aAAa,MAAM,SAAS;AAC/C;AAEO,SAAS,mBAAmB,OAAqC;AACtE,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAAiC;AAC9D,SAAO,MAAM;AACf;AAEO,SAAS,wBAA+D;AAC7E,SAAO,iBAAiB,CAAC,EAAE,UAAU,SAAS,MAAM,UAAQ;AAC1D,WAAO,YAAU;AACf,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK,YAAY;AACf;AAAA,YACE,kBAAkB;AAAA,cAChB,UAAU,OAAO,QAAQ;AAAA,cACzB,aAAa,6BAA6B,SAAS,CAAC;AAAA,YACtD,CAAC;AAAA,UACH;AACA;AAAA,QAEF,KAAK,YAAY,iBAAiB;AAChC,gBAAM,EAAE,aAAa,UAAU,IAAI,OAAO;AAE1C,gBAAM,cAAc,YAAY,SAAS,GAAG,WAAW;AACvD,gBAAM,SAAS,KAAK,MAAM;AAC1B,gBAAM,cAAc,YAAY,SAAS,GAAG,WAAW;AAEvD,cAAI,eAAe,QAAQ,eAAe,QAAQ,gBAAgB,aAAa;AAC7E;AAAA,cACE,kBAAkB;AAAA,gBAChB;AAAA,gBACA;AAAA,gBACA,aAAa,6BAA6B,SAAS,CAAC;AAAA,gBACpD;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF;AAEA,iBAAO;AAAA,QACT;AAAA,QAEA,KAAK,YAAY;AACf,mBAAS,kBAAkB,OAAO,OAAO,CAAC;AAC1C;AAAA,MACJ;AAEA,aAAO,KAAK,MAAM;AAAA,IACpB;AAAA,EACF,CAAC;AACH;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,oBAAoB;AAAA,IACzB;AAAA,IACA,gBAAgB;AAAA,MACd,GAAG;AAAA,MACH,aAAa,YAAY,gBAAgB,eAAe,gBAAgB,WAAW;AAAA,IACrF;AAAA,IAEA,YAAY,0BACV,qBAAqB,iBAAiB,EAAE,OAAO,sBAAsB,CAAC;AAAA,IAExE,WAAW,yBACT,oBAAoB,EAAE;AAAA,MACpB;AAAA,QACE,MAAM;AAAA,QAAC;AAAA,QACP,MAAM;AAAA,QAAC;AAAA,MACT;AAAA,IACF;AAAA,IAEF,UAAU,eAAe;AAAA,MACvB,MAAM,GAAG,IAAI,MAAK,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,IAC5C,CAAC;AAAA,EACH,CAAC;AACH;","names":["state","replacementContext"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/state/react-page.ts"],"sourcesContent":["import { configureStore as configureReduxStore, combineReducers } from '@reduxjs/toolkit'\n\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { middlewareOptions, devToolsConfig } from './toolkit'\n\nimport { withSetupTeardown } from './mixins/setup-teardown'\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\n\nimport { type State, reducers } from './read-only-state'\n\nexport function configureStore({\n name,\n preloadedState,\n breakpoints,\n}: {\n name: string\n preloadedState: Partial<State> | null\n breakpoints?: Breakpoints.State\n}) {\n return configureReduxStore({\n reducer: combineReducers(reducers),\n preloadedState: {\n ...preloadedState,\n breakpoints: Breakpoints.getInitialState(breakpoints ?? preloadedState?.breakpoints),\n },\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat(readOnlyElementTreeMiddleware()),\n\n enhancers: getDefaultEnhancers =>\n getDefaultEnhancers().concat(\n withSetupTeardown(\n () => {},\n () => {},\n ),\n ),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n }),\n })\n}\n\nexport type Store = ReturnType<typeof configureStore>\n"],"mappings":"AAAA,SAAS,kBAAkB,qBAAqB,uBAAuB;AAEvE,YAAY,iBAAiB;AAE7B,SAAS,mBAAmB,sBAAsB;AAElD,SAAS,yBAAyB;AAClC,SAAS,qCAAqC;AAE9C,SAAqB,gBAAgB;AAE9B,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,oBAAoB;AAAA,IACzB,SAAS,gBAAgB,QAAQ;AAAA,IACjC,gBAAgB;AAAA,MACd,GAAG;AAAA,MACH,aAAa,YAAY,gBAAgB,eAAe,gBAAgB,WAAW;AAAA,IACrF;AAAA,IAEA,YAAY,0BACV,qBAAqB,iBAAiB,EAAE,OAAO,8BAA8B,CAAC;AAAA,IAEhF,WAAW,yBACT,oBAAoB,EAAE;AAAA,MACpB;AAAA,QACE,MAAM;AAAA,QAAC;AAAA,QACP,MAAM;AAAA,QAAC;AAAA,MACT;AAAA,IACF;AAAA,IAEF,UAAU,eAAe;AAAA,MACvB,MAAM,GAAG,IAAI,MAAK,oBAAI,KAAK,GAAE,YAAY,CAAC;AAAA,IAC5C,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { createSelector } from "reselect";
|
|
2
|
+
import * as Documents from "./modules/read-only-documents";
|
|
3
|
+
import * as ElementTrees from "./modules/element-trees";
|
|
4
|
+
import * as ReactComponents from "./modules/react-components";
|
|
5
|
+
import * as ComponentsMeta from "./modules/components-meta";
|
|
6
|
+
import * as PropControllers from "./modules/prop-controllers";
|
|
7
|
+
import * as PropControllerHandles from "./modules/prop-controller-handles";
|
|
8
|
+
import * as IsInBuilder from "./modules/is-in-builder";
|
|
9
|
+
import * as IsReadOnly from "./modules/is-read-only";
|
|
10
|
+
import * as BuilderEditMode from "./modules/builder-edit-mode";
|
|
11
|
+
import * as Breakpoints from "./modules/breakpoints";
|
|
12
|
+
import {
|
|
13
|
+
createBaseDocument,
|
|
14
|
+
createDocumentReference,
|
|
15
|
+
getRootElement,
|
|
16
|
+
isElementReference
|
|
17
|
+
} from "./modules/read-only-documents";
|
|
18
|
+
const reducers = {
|
|
19
|
+
isReadOnly: IsReadOnly.reducer,
|
|
20
|
+
documents: Documents.reducer,
|
|
21
|
+
elementTrees: ElementTrees.reducer,
|
|
22
|
+
reactComponents: ReactComponents.reducer,
|
|
23
|
+
componentsMeta: ComponentsMeta.reducer,
|
|
24
|
+
propControllers: PropControllers.reducer,
|
|
25
|
+
propControllerHandles: PropControllerHandles.reducer,
|
|
26
|
+
isInBuilder: IsInBuilder.reducer,
|
|
27
|
+
builderEditMode: BuilderEditMode.reducer,
|
|
28
|
+
breakpoints: Breakpoints.reducer
|
|
29
|
+
};
|
|
30
|
+
function getDocumentsStateSlice(state) {
|
|
31
|
+
return state.documents;
|
|
32
|
+
}
|
|
33
|
+
function getDocument(state, documentKey) {
|
|
34
|
+
return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
|
|
35
|
+
}
|
|
36
|
+
function getElementTreesSlice(state) {
|
|
37
|
+
return state.elementTrees;
|
|
38
|
+
}
|
|
39
|
+
function getElements(state, documentKey) {
|
|
40
|
+
return ElementTrees.getElements(getElementTreesSlice(state), documentKey);
|
|
41
|
+
}
|
|
42
|
+
function getElementIds(state, documentKey) {
|
|
43
|
+
return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey);
|
|
44
|
+
}
|
|
45
|
+
function getReactComponentsStateSlice(state) {
|
|
46
|
+
return state.reactComponents;
|
|
47
|
+
}
|
|
48
|
+
function getReactComponent(state, type) {
|
|
49
|
+
return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type);
|
|
50
|
+
}
|
|
51
|
+
function getComponentsMetaStateSlice(state) {
|
|
52
|
+
return state.componentsMeta;
|
|
53
|
+
}
|
|
54
|
+
function getComponentsMeta(state) {
|
|
55
|
+
return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
|
|
56
|
+
}
|
|
57
|
+
function getComponentMeta(state, type) {
|
|
58
|
+
return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type);
|
|
59
|
+
}
|
|
60
|
+
function getPropControllersStateSlice(state) {
|
|
61
|
+
return state.propControllers;
|
|
62
|
+
}
|
|
63
|
+
function getPropControllerDescriptors(state) {
|
|
64
|
+
return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state));
|
|
65
|
+
}
|
|
66
|
+
function getComponentPropControllerDescriptors(state, componentType) {
|
|
67
|
+
return PropControllers.getComponentPropControllerDescriptors(
|
|
68
|
+
getPropControllersStateSlice(state),
|
|
69
|
+
componentType
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
function getPropControllerHandlesStateSlice(state) {
|
|
73
|
+
return state.propControllerHandles;
|
|
74
|
+
}
|
|
75
|
+
function getPropControllers(state, { documentKey, elementKey }) {
|
|
76
|
+
return PropControllerHandles.getPropControllers(
|
|
77
|
+
getPropControllerHandlesStateSlice(state),
|
|
78
|
+
documentKey,
|
|
79
|
+
elementKey
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
function getPropControllersHandle(state, { documentKey, elementKey }) {
|
|
83
|
+
return PropControllerHandles.getPropControllersHandle(
|
|
84
|
+
getPropControllerHandlesStateSlice(state),
|
|
85
|
+
documentKey,
|
|
86
|
+
elementKey
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
function getPropController(state, {
|
|
90
|
+
documentKey,
|
|
91
|
+
elementKey,
|
|
92
|
+
propName
|
|
93
|
+
}) {
|
|
94
|
+
return PropControllerHandles.getPropController(
|
|
95
|
+
getPropControllerHandlesStateSlice(state),
|
|
96
|
+
documentKey,
|
|
97
|
+
elementKey,
|
|
98
|
+
propName
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
const getDocumentKeysSortedByDepth = createSelector(
|
|
102
|
+
[getDocumentsStateSlice, getElementTreesSlice],
|
|
103
|
+
(documents, elementTrees) => {
|
|
104
|
+
return [...documents.keys()].sort((a, b) => elementTrees.get(a)?.elements.has(b) ? -1 : 1);
|
|
105
|
+
}
|
|
106
|
+
);
|
|
107
|
+
function getElement(state, documentKey, elementKey) {
|
|
108
|
+
return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey);
|
|
109
|
+
}
|
|
110
|
+
function getElementId(state, documentKey, elementKey) {
|
|
111
|
+
return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey);
|
|
112
|
+
}
|
|
113
|
+
function getElementPropControllerDescriptors(state, documentKey, elementKey) {
|
|
114
|
+
const element = getElement(state, documentKey, elementKey);
|
|
115
|
+
if (element == null || Documents.isElementReference(element))
|
|
116
|
+
return null;
|
|
117
|
+
return getComponentPropControllerDescriptors(state, element.type);
|
|
118
|
+
}
|
|
119
|
+
function getIsInBuilder(state) {
|
|
120
|
+
return state.isInBuilder;
|
|
121
|
+
}
|
|
122
|
+
function getIsReadOnly(state) {
|
|
123
|
+
return state.isReadOnly;
|
|
124
|
+
}
|
|
125
|
+
function getBuilderEditMode(state) {
|
|
126
|
+
return state.builderEditMode;
|
|
127
|
+
}
|
|
128
|
+
function getBreakpoints(state) {
|
|
129
|
+
return state.breakpoints;
|
|
130
|
+
}
|
|
131
|
+
export {
|
|
132
|
+
createBaseDocument,
|
|
133
|
+
createDocumentReference,
|
|
134
|
+
getBreakpoints,
|
|
135
|
+
getBuilderEditMode,
|
|
136
|
+
getComponentMeta,
|
|
137
|
+
getComponentPropControllerDescriptors,
|
|
138
|
+
getComponentsMeta,
|
|
139
|
+
getDocument,
|
|
140
|
+
getDocumentKeysSortedByDepth,
|
|
141
|
+
getElement,
|
|
142
|
+
getElementId,
|
|
143
|
+
getElementIds,
|
|
144
|
+
getElementPropControllerDescriptors,
|
|
145
|
+
getElements,
|
|
146
|
+
getIsInBuilder,
|
|
147
|
+
getIsReadOnly,
|
|
148
|
+
getPropController,
|
|
149
|
+
getPropControllerDescriptors,
|
|
150
|
+
getPropControllers,
|
|
151
|
+
getPropControllersHandle,
|
|
152
|
+
getReactComponent,
|
|
153
|
+
getRootElement,
|
|
154
|
+
isElementReference,
|
|
155
|
+
reducers
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=read-only-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/state/read-only-state.ts"],"sourcesContent":["import { type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport { createSelector } from 'reselect'\n\nimport * as Documents from './modules/read-only-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\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 IsReadOnly from './modules/is-read-only'\nimport * as BuilderEditMode from './modules/builder-edit-mode'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { type Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\n\nexport {\n createBaseDocument,\n createDocumentReference,\n getRootElement,\n isElementReference,\n} from './modules/read-only-documents'\n\nexport type { ComponentType } from './modules/react-components'\nexport type { ComponentMeta } from './modules/components-meta'\n\nexport const reducers = {\n isReadOnly: IsReadOnly.reducer,\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n builderEditMode: BuilderEditMode.reducer,\n breakpoints: Breakpoints.reducer,\n}\n\nexport type State = {\n isReadOnly: IsReadOnly.State\n documents: Documents.State\n elementTrees: ElementTrees.State\n reactComponents: ReactComponents.State\n componentsMeta: ComponentsMeta.State\n propControllers: PropControllers.State\n propControllerHandles: PropControllerHandles.State\n isInBuilder: IsInBuilder.State\n builderEditMode: BuilderEditMode.State\n breakpoints: Breakpoints.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getElementTreesSlice(state: State): ElementTrees.State {\n return state.elementTrees\n}\n\nexport function getElements(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elements'] {\n return ElementTrees.getElements(getElementTreesSlice(state), documentKey)\n}\n\nexport function getElementIds(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elementIds'] {\n return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentsMeta.ComponentMeta> {\n return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state))\n}\n\nexport function getComponentMeta(state: State, type: string): ComponentsMeta.ComponentMeta | null {\n return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(state: State): PropControllers.State {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): PropControllers.DescriptorsByProp | 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\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllersHandle(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllerHandles.getPropController(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\n/**\n * Returns all document keys sorted by depth, i.e., parent documents come before child documents.\n */\nexport const getDocumentKeysSortedByDepth: (state: State) => string[] = createSelector(\n [getDocumentsStateSlice, getElementTreesSlice],\n (documents, elementTrees) => {\n return [...documents.keys()].sort((a, b) => (elementTrees.get(a)?.elements.has(b) ? -1 : 1))\n },\n)\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport function getIsReadOnly(state: State): boolean {\n return state.isReadOnly\n}\n\nexport function getBuilderEditMode(state: State): BuilderEditMode.State {\n return state.builderEditMode\n}\n\nexport function getBreakpoints(state: State): Breakpoints.State {\n return state.breakpoints\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { combineReducers } from "@reduxjs/toolkit";
|
|
2
|
+
import * as Documents from "./modules/read-write/read-write-documents";
|
|
3
|
+
import * as BoxModels from "./modules/read-write/box-models";
|
|
4
|
+
import * as Pointer from "./modules/read-write/pointer";
|
|
5
|
+
import * as ElementImperativeHandles from "./modules/read-write/element-imperative-handles";
|
|
6
|
+
import * as ReadOnlyState from "./read-only-state";
|
|
7
|
+
import { createBox, getBox, parse } from "./modules/read-write/box-models";
|
|
8
|
+
const reducers = {
|
|
9
|
+
...ReadOnlyState.reducers,
|
|
10
|
+
documents: Documents.reducer,
|
|
11
|
+
boxModels: BoxModels.reducer,
|
|
12
|
+
pointer: Pointer.reducer,
|
|
13
|
+
elementImperativeHandles: ElementImperativeHandles.reducer
|
|
14
|
+
};
|
|
15
|
+
function createRootReducer() {
|
|
16
|
+
return combineReducers(reducers);
|
|
17
|
+
}
|
|
18
|
+
function getDocumentsStateSlice(state) {
|
|
19
|
+
return state.documents;
|
|
20
|
+
}
|
|
21
|
+
function getDocuments(state) {
|
|
22
|
+
return Documents.getDocuments(getDocumentsStateSlice(state));
|
|
23
|
+
}
|
|
24
|
+
function getDocument(state, documentKey) {
|
|
25
|
+
return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
|
|
26
|
+
}
|
|
27
|
+
function getBoxModelsStateSlice(state) {
|
|
28
|
+
return state.boxModels;
|
|
29
|
+
}
|
|
30
|
+
function getMeasurables(state) {
|
|
31
|
+
return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
|
|
32
|
+
}
|
|
33
|
+
function getBoxModels(state) {
|
|
34
|
+
return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
|
|
35
|
+
}
|
|
36
|
+
function getBoxModel(state, documentKey, elementKey) {
|
|
37
|
+
return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
|
|
38
|
+
}
|
|
39
|
+
function getPointer(state) {
|
|
40
|
+
return Pointer.getPointer(state.pointer);
|
|
41
|
+
}
|
|
42
|
+
function getElementImperativeHandles(state) {
|
|
43
|
+
return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
|
|
44
|
+
}
|
|
45
|
+
function getElementImperativeHandlesContainingElement(state, element) {
|
|
46
|
+
const elementImperativeHandles = getElementImperativeHandles(state);
|
|
47
|
+
const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
|
|
48
|
+
for (const [documentKey, byElementKey] of elementImperativeHandles) {
|
|
49
|
+
const filteredByElementKey = /* @__PURE__ */ new Map();
|
|
50
|
+
for (const [elementKey, elementImperativeHandle] of byElementKey) {
|
|
51
|
+
const handleElement = elementImperativeHandle.getDomNode();
|
|
52
|
+
if (handleElement?.contains(element)) {
|
|
53
|
+
filteredByElementKey.set(elementKey, elementImperativeHandle);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (filteredByElementKey.size > 0) {
|
|
57
|
+
filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return filteredElementImperativeHandles;
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
createBox,
|
|
64
|
+
createRootReducer,
|
|
65
|
+
getBox,
|
|
66
|
+
getBoxModel,
|
|
67
|
+
getBoxModels,
|
|
68
|
+
getDocument,
|
|
69
|
+
getDocuments,
|
|
70
|
+
getElementImperativeHandles,
|
|
71
|
+
getElementImperativeHandlesContainingElement,
|
|
72
|
+
getMeasurables,
|
|
73
|
+
getPointer,
|
|
74
|
+
parse
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=read-write-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n elementImperativeHandles: ElementImperativeHandles.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function 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"],"mappings":"AAAA,SAAS,uBAA2C;AAEpD,YAAY,eAAe;AAC3B,YAAY,eAAe;AAC3B,YAAY,aAAa;AACzB,YAAY,8BAA8B;AAM1C,YAAY,mBAAmB;AAI/B,SAAS,WAAW,QAAQ,aAAa;AAEzC,MAAM,WAAW;AAAA,EACf,GAAG,cAAc;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU;AAAA,EACrB,SAAS,QAAQ;AAAA,EACjB,0BAA0B,yBAAyB;AACrD;AAEO,SAAS,oBAAoB;AAClC,SAAO,gBAAgB,QAAQ;AACjC;AAWA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAA+B;AAC1D,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAA8D;AAC3F,SAAO,UAAU,eAAe,uBAAuB,KAAK,CAAC;AAC/D;AAEO,SAAS,aAAa,OAA4D;AACvF,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YACd,OACA,aACA,YAC2B;AAC3B,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,WAAW,OAAoC;AAC7D,SAAO,QAAQ,WAAW,MAAM,OAAO;AACzC;AAEO,SAAS,4BACd,OACmD;AACnD,SAAO,yBAAyB,4BAA4B,MAAM,wBAAwB;AAC5F;AAEO,SAAS,6CACd,OACA,SACmD;AACnD,QAAM,2BAA2B,4BAA4B,KAAK;AAClE,QAAM,mCAAmC,oBAAI,IAAkD;AAE/F,aAAW,CAAC,aAAa,YAAY,KAAK,0BAA0B;AAClE,UAAM,uBAAuB,oBAAI,IAAqC;AAEtE,eAAW,CAAC,YAAY,uBAAuB,KAAK,cAAc;AAChE,YAAM,gBAAgB,wBAAwB,WAAW;AAEzD,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,6BAAqB,IAAI,YAAY,uBAAuB;AAAA,MAC9D;AAAA,IACF;AAEA,QAAI,qBAAqB,OAAO,GAAG;AACjC,uCAAiC,IAAI,aAAa,oBAAoB;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/state/shared-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type LocaleString, localeStringSchema } from '../locale'\n\nimport { type Breakpoints } from './modules/breakpoints'\nimport { type Element, type Document, EMBEDDED_DOCUMENT_TYPE } from './modules/read-only-documents'\n\ntype DocumentPayloadBaseDocument = {\n key: string\n rootElement: Element\n locale?: string | null // older versions of the runtime may not provide this field\n}\n\ntype DocumentPayloadEmbeddedDocument = {\n key: string\n locale: string | null\n id: string\n type: string\n name: string\n rootElement: Element\n meta: { allowLocaleFallback: boolean; requestedLocale: string | null; description?: string }\n __type: typeof EMBEDDED_DOCUMENT_TYPE\n}\n\nexport type DocumentPayload = DocumentPayloadBaseDocument | DocumentPayloadEmbeddedDocument\n\nexport const SharedActionTypes = {\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n SET_LOCALE: 'SET_LOCALE',\n} as const\n\ntype MakeswiftConnectionInitAction = { type: typeof SharedActionTypes.MAKESWIFT_CONNECTION_INIT }\n\ntype RegisterDocumentAction = {\n type: typeof SharedActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof SharedActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof SharedActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof SharedActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\nexport type SharedAction =\n | MakeswiftConnectionInitAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | SetBreakpointsAction\n | SetLocaleAction\n\nexport function makeswiftConnectionInit(): MakeswiftConnectionInitAction {\n return {\n type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT,\n }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return {\n type: SharedActionTypes.REGISTER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: SharedActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, SharedAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterDocument(document.key)))\n }\n }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: SharedActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: SharedActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n"],"mappings":"AAEA,SAA4B,0BAA0B;
|
|
1
|
+
{"version":3,"sources":["../../../src/state/shared-api.ts"],"sourcesContent":["import { type ThunkAction } from '@reduxjs/toolkit'\n\nimport { type LocaleString, localeStringSchema } from '../locale'\n\nimport { type Breakpoints } from './modules/breakpoints'\nimport { type Element, type Document, EMBEDDED_DOCUMENT_TYPE } from './modules/read-only-documents'\n\ntype DocumentPayloadBaseDocument = {\n key: string\n rootElement: Element\n locale?: string | null // older versions of the runtime may not provide this field\n}\n\ntype DocumentPayloadEmbeddedDocument = {\n key: string\n locale: string | null\n id: string\n type: string\n name: string\n rootElement: Element\n meta: { allowLocaleFallback: boolean; requestedLocale: string | null; description?: string }\n __type: typeof EMBEDDED_DOCUMENT_TYPE\n}\n\nexport type DocumentPayload = DocumentPayloadBaseDocument | DocumentPayloadEmbeddedDocument\n\n// bidirectional action types, both the host and the builder can dispatch these actions\nexport const SharedActionTypes = {\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n SET_LOCALE: 'SET_LOCALE',\n} as const\n\ntype MakeswiftConnectionInitAction = { type: typeof SharedActionTypes.MAKESWIFT_CONNECTION_INIT }\n\ntype RegisterDocumentAction = {\n type: typeof SharedActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: DocumentPayload }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof SharedActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof SharedActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof SharedActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\nexport type SharedAction =\n | MakeswiftConnectionInitAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | SetBreakpointsAction\n | SetLocaleAction\n\nexport function makeswiftConnectionInit(): MakeswiftConnectionInitAction {\n return {\n type: SharedActionTypes.MAKESWIFT_CONNECTION_INIT,\n }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return {\n type: SharedActionTypes.REGISTER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: SharedActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentsEffect(\n documents: Document[],\n): ThunkAction<() => void, unknown, unknown, SharedAction> {\n return dispatch => {\n documents.forEach(document => dispatch(registerDocument(document)))\n\n return () => {\n documents.forEach(document => dispatch(unregisterDocument(document.key)))\n }\n }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: SharedActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: SharedActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n"],"mappings":"AAEA,SAA4B,0BAA0B;AAyB/C,MAAM,oBAAoB;AAAA,EAC/B,2BAA2B;AAAA,EAE3B,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EAErB,iBAAiB;AAAA,EACjB,YAAY;AACd;AA+BO,SAAS,0BAAyD;AACvE,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,EAC1B;AACF;AAEO,SAAS,iBAAiB,UAA4C;AAC3E,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,aAAa,SAAS,KAAK,SAAS;AAAA,EACjD;AACF;AAEO,SAAS,mBAAmB,aAA+C;AAChF,SAAO,EAAE,MAAM,kBAAkB,qBAAqB,SAAS,EAAE,YAAY,EAAE;AACjF;AAEO,SAAS,wBACd,WACyD;AACzD,SAAO,cAAY;AACjB,cAAU,QAAQ,cAAY,SAAS,iBAAiB,QAAQ,CAAC,CAAC;AAElE,WAAO,MAAM;AACX,gBAAU,QAAQ,cAAY,SAAS,mBAAmB,SAAS,GAAG,CAAC,CAAC;AAAA,IAC1E;AAAA,EACF;AACF;AAEO,SAAS,eAAe,aAAgD;AAC7E,SAAO,EAAE,MAAM,kBAAkB,iBAAiB,SAAS,EAAE,YAAY,EAAE;AAC7E;AAEO,SAAS,UAAU,QAAqB,UAAoC;AACjF,SAAO;AAAA,IACL,MAAM,kBAAkB;AAAA,IACxB,SAAS,EAAE,QAAQ,mBAAmB,MAAM,OAAO,SAAS,CAAC,GAAG,SAAS;AAAA,EAC3E;AACF;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getPropControllerDescriptors } from "../
|
|
1
|
+
import { getPropControllerDescriptors } from "../read-only-state";
|
|
2
2
|
import * as Documents from "../modules/read-only-documents";
|
|
3
3
|
import * as ElementTrees from "../modules/element-trees";
|
|
4
4
|
import { getTranslatableData } from "../../controls/control";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import { getPropControllerDescriptors, type State } from '../
|
|
1
|
+
{"version":3,"sources":["../../../../src/state/translations/get.ts"],"sourcesContent":["import { getPropControllerDescriptors, type State } from '../read-only-state'\nimport * as Documents from '../modules/read-only-documents'\nimport * as ElementTrees from '../modules/element-trees'\nimport { getTranslatableData } from '../../controls/control'\n\nexport function getElementTreeTranslatableData(\n state: State,\n elementTree: Documents.ElementData,\n): Record<string, Documents.Data> {\n const translatableData: Record<string, Documents.Data> = {}\n const descriptors = getPropControllerDescriptors(state)\n\n for (const element of ElementTrees.traverseElementTree(elementTree, descriptors)) {\n if (Documents.isElementReference(element)) continue\n\n const elementPescriptors = descriptors.get(element.type)\n if (elementPescriptors == null) continue\n\n Object.entries(elementPescriptors).forEach(([propName, descriptor]) => {\n const translatablePropData = getTranslatableData(descriptor, element.props[propName])\n\n if (translatablePropData != null) {\n translatableData[`${element.key}:${propName}`] = translatablePropData\n }\n })\n }\n\n return translatableData\n}\n"],"mappings":"AAAA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B,YAAY,kBAAkB;AAC9B,SAAS,2BAA2B;AAE7B,SAAS,+BACd,OACA,aACgC;AAChC,QAAM,mBAAmD,CAAC;AAC1D,QAAM,cAAc,6BAA6B,KAAK;AAEtD,aAAW,WAAW,aAAa,oBAAoB,aAAa,WAAW,GAAG;AAChF,QAAI,UAAU,mBAAmB,OAAO;AAAG;AAE3C,UAAM,qBAAqB,YAAY,IAAI,QAAQ,IAAI;AACvD,QAAI,sBAAsB;AAAM;AAEhC,WAAO,QAAQ,kBAAkB,EAAE,QAAQ,CAAC,CAAC,UAAU,UAAU,MAAM;AACrE,YAAM,uBAAuB,oBAAoB,YAAY,QAAQ,MAAM,QAAQ,CAAC;AAEpF,UAAI,wBAAwB,MAAM;AAChC,yBAAiB,GAAG,QAAQ,GAAG,IAAI,QAAQ,EAAE,IAAI;AAAA,MACnD;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport { getPropControllerDescriptors, type State } from '../
|
|
1
|
+
{"version":3,"sources":["../../../../src/state/translations/merge.ts"],"sourcesContent":["import { MergeTranslatableDataContext, type TranslationDto, type Data } from '@makeswift/controls'\nimport { getPropControllerDescriptors, type State } from '../read-only-state'\nimport * as Documents from '../modules/read-only-documents'\nimport {\n GridPropControllerData,\n mergeGridPropControllerTranslatedData,\n Types as PropControllerTypes,\n} from '@makeswift/prop-controllers'\nimport { ReactMergeTranslationsVisitor } from '../../controls/visitors/merge-translations-visitor'\nimport { isLegacyDescriptor } from '../../prop-controllers/descriptors'\nimport { Descriptor as PropControllerDescriptor } from '../../prop-controllers/descriptors'\n\nexport function mergeElementTreeTranslatedData(\n state: State,\n elementTree: Documents.ElementData,\n translatedData: TranslationDto,\n): Documents.Element {\n function merge(state: State, translatedData: TranslationDto) {\n return function (node: Documents.Element): Documents.Element {\n if (Documents.isElementReference(node)) return node\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(node.type)\n\n if (descriptors == null) {\n throw new Error(`Can't merge element of type \"${node.type}\" because it has no descriptors`)\n }\n\n const context: MergeTranslatableDataContext = {\n translatedData,\n mergeTranslatedData: merge(state, translatedData),\n }\n const props = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n\n props[propName] = mergeTranslatedData(\n descriptor,\n node.props[propName],\n translatedData[`${node.key}:${propName}`],\n context,\n )\n }\n\n return { ...node, props }\n }\n }\n return merge(state, translatedData)(elementTree)\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n const mergeTranslationsVisitor = new ReactMergeTranslationsVisitor(context)\n return definition.accept(mergeTranslationsVisitor, data, translatedData)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AACA,SAAS,oCAAgD;AACzD,YAAY,eAAe;AAC3B;AAAA,EAEE;AAAA,EACA,SAAS;AAAA,OACJ;AACP,SAAS,qCAAqC;AAC9C,SAAS,0BAA0B;AAG5B,SAAS,+BACd,OACA,aACA,gBACmB;AACnB,WAAS,MAAMA,QAAcC,iBAAgC;AAC3D,WAAO,SAAU,MAA4C;AAC3D,UAAI,UAAU,mBAAmB,IAAI;AAAG,eAAO;AAE/C,YAAM,qBAAqB,6BAA6BD,MAAK;AAC7D,YAAM,cAAc,mBAAmB,IAAI,KAAK,IAAI;AAEpD,UAAI,eAAe,MAAM;AACvB,cAAM,IAAI,MAAM,gCAAgC,KAAK,IAAI,iCAAiC;AAAA,MAC5F;AAEA,YAAM,UAAwC;AAAA,QAC5C,gBAAAC;AAAA,QACA,qBAAqB,MAAMD,QAAOC,eAAc;AAAA,MAClD;AACA,YAAM,QAAQ,CAAC;AAEf,iBAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,cAAM,aAAa,YAAY,QAAQ;AAEvC,cAAM,QAAQ,IAAI;AAAA,UAChB;AAAA,UACA,KAAK,MAAM,QAAQ;AAAA,UACnBA,gBAAe,GAAG,KAAK,GAAG,IAAI,QAAQ,EAAE;AAAA,UACxC;AAAA,QACF;AAAA,MACF;AAEA,aAAO,EAAE,GAAG,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,MAAM,OAAO,cAAc,EAAE,WAAW;AACjD;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,UAAM,2BAA2B,IAAI,8BAA8B,OAAO;AAC1E,WAAO,WAAW,OAAO,0BAA0B,MAAM,cAAc;AAAA,EACzE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":["state","translatedData"]}
|