@makeswift/runtime 0.28.8-canary.9 → 0.28.8
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/api-resources-client.js +3 -0
- package/dist/cjs/api/api-resources-client.js.map +1 -1
- package/dist/cjs/api/graphql-api-client.js +1 -1
- package/dist/cjs/api/rest-api-client.js +85 -43
- package/dist/cjs/api/rest-api-client.js.map +1 -1
- package/dist/cjs/api/types.js.map +1 -1
- package/dist/cjs/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/builder/host-to-builder-actions.js +5 -5
- package/dist/cjs/builder/host-to-builder-actions.js.map +1 -1
- package/dist/cjs/client/index.js +40 -44
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
- package/dist/cjs/controls/rich-text/control.js +16 -3
- package/dist/cjs/controls/rich-text/control.js.map +1 -1
- package/dist/cjs/controls/rich-text/rich-text.js +2 -2
- package/dist/cjs/controls/rich-text/rich-text.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/control.js +15 -2
- package/dist/cjs/controls/rich-text-v2/control.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +2 -2
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/cjs/controls/slot.js.map +1 -1
- package/dist/cjs/next/testing/breakpoints.js +3 -15
- package/dist/cjs/next/testing/breakpoints.js.map +1 -1
- package/dist/cjs/next/testing/element-data.js +3 -82
- package/dist/cjs/next/testing/element-data.js.map +1 -1
- package/dist/cjs/next/testing/react-runtime.js.map +1 -1
- package/dist/cjs/prop-controllers/instances.js +20 -4
- package/dist/cjs/prop-controllers/instances.js.map +1 -1
- package/dist/cjs/runtimes/react/components/Element.js +53 -24
- package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
- package/dist/cjs/runtimes/react/components/ElementRegistration.js +32 -11
- package/dist/cjs/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/cjs/runtimes/react/components/control-instances-context.js +38 -0
- package/dist/cjs/runtimes/react/components/control-instances-context.js.map +1 -0
- package/dist/cjs/runtimes/react/components/framework-context.js +1 -0
- package/dist/cjs/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/cjs/runtimes/react/components/resolve-props.js +5 -1
- package/dist/cjs/runtimes/react/components/resolve-props.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/node-value/editable-node-value.js +42 -0
- package/dist/cjs/runtimes/react/controls/node-value/editable-node-value.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/node-value/index.js +51 -0
- package/dist/cjs/runtimes/react/controls/node-value/index.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js +2 -2
- package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/slot/index.js +29 -0
- package/dist/cjs/runtimes/react/controls/slot/index.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/slot/render-slot.js +37 -0
- package/dist/cjs/runtimes/react/controls/slot/render-slot.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/{slot.js → slot/slot-value.js} +31 -26
- package/dist/cjs/runtimes/react/controls/slot/slot-value.js.map +1 -0
- package/dist/cjs/runtimes/react/element-imperative-handle.js +2 -2
- package/dist/cjs/runtimes/react/element-imperative-handle.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-control-instance.js +88 -0
- package/dist/cjs/runtimes/react/hooks/use-control-instance.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/use-control-instances.js +2 -12
- package/dist/cjs/runtimes/react/hooks/use-control-instances.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-disable-register-element.js +3 -3
- package/dist/cjs/runtimes/react/hooks/use-disable-register-element.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-resolved-props.js +10 -9
- package/dist/cjs/runtimes/react/hooks/use-resolved-props.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-resolved-value-override.js +58 -0
- package/dist/cjs/runtimes/react/hooks/use-resolved-value-override.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/use-selector.js +8 -2
- package/dist/cjs/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/cjs/runtimes/react/testing/index.js +25 -0
- package/dist/cjs/runtimes/react/testing/index.js.map +1 -0
- package/dist/cjs/runtimes/react/testing/react-provider.js +38 -0
- package/dist/cjs/runtimes/react/testing/react-provider.js.map +1 -0
- package/dist/cjs/state/actions/index.js +4 -4
- package/dist/cjs/state/actions/index.js.map +1 -1
- package/dist/cjs/state/actions/internal/action-types.js +34 -0
- package/dist/cjs/state/actions/internal/action-types.js.map +1 -0
- package/dist/cjs/state/actions/internal/index.js +0 -17
- package/dist/cjs/state/actions/internal/index.js.map +1 -1
- package/dist/cjs/state/actions/internal/read-only-action-types.js +44 -0
- package/dist/cjs/state/actions/internal/read-only-action-types.js.map +1 -0
- package/dist/cjs/state/actions/internal/read-only-actions.js +13 -92
- package/dist/cjs/state/actions/internal/read-only-actions.js.map +1 -1
- package/dist/cjs/state/actions/internal/read-write-action-types.js +44 -0
- package/dist/cjs/state/actions/internal/read-write-action-types.js.map +1 -0
- package/dist/cjs/state/actions/internal/read-write-actions.js +135 -14
- package/dist/cjs/state/actions/internal/read-write-actions.js.map +1 -1
- package/dist/cjs/state/api-client/state.js +8 -0
- package/dist/cjs/state/api-client/state.js.map +1 -1
- package/dist/cjs/state/builder-api/action-types.js +49 -0
- package/dist/cjs/state/builder-api/action-types.js.map +1 -0
- package/dist/cjs/state/builder-api/actions.js +14 -36
- package/dist/cjs/state/builder-api/actions.js.map +1 -1
- package/dist/cjs/state/builder-api/proxy.js +2 -1
- package/dist/cjs/state/builder-api/proxy.js.map +1 -1
- package/dist/cjs/state/host-api/action-types.js +43 -0
- package/dist/cjs/state/host-api/action-types.js.map +1 -0
- package/dist/cjs/state/{host-api.js → host-api/actions.js} +17 -33
- package/dist/cjs/state/host-api/actions.js.map +1 -0
- package/dist/cjs/state/host-api/index.js +25 -0
- package/dist/cjs/state/host-api/index.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/builder-api/index.js +2 -58
- package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +1 -1
- package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +3 -0
- package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -1
- package/dist/cjs/state/middleware/read-write/builder-api/middleware.js +89 -0
- package/dist/cjs/state/middleware/read-write/builder-api/middleware.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/builder-api/mount-change-action-buffer.js +72 -0
- package/dist/cjs/state/middleware/read-write/builder-api/mount-change-action-buffer.js.map +1 -0
- package/dist/cjs/state/middleware/read-write/measure-box-models.js +3 -3
- package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +1 -1
- package/dist/cjs/state/middleware/read-write/prop-controller-handles.js +10 -47
- package/dist/cjs/state/middleware/read-write/prop-controller-handles.js.map +1 -1
- package/dist/cjs/state/modules/api-resources.js +5 -5
- package/dist/cjs/state/modules/api-resources.js.map +1 -1
- package/dist/cjs/state/modules/breakpoints.js +4 -4
- package/dist/cjs/state/modules/breakpoints.js.map +1 -1
- package/dist/cjs/state/modules/components-meta.js +3 -3
- package/dist/cjs/state/modules/components-meta.js.map +1 -1
- package/dist/cjs/state/modules/element-trees.js +5 -5
- package/dist/cjs/state/modules/element-trees.js.map +1 -1
- package/dist/cjs/state/modules/is-in-builder.js +2 -2
- package/dist/cjs/state/modules/is-in-builder.js.map +1 -1
- package/dist/cjs/state/modules/is-read-only.js +2 -2
- package/dist/cjs/state/modules/is-read-only.js.map +1 -1
- package/dist/cjs/state/modules/locale.js +2 -2
- package/dist/cjs/state/modules/locale.js.map +1 -1
- package/dist/cjs/state/modules/localized-resources-map.js +3 -3
- package/dist/cjs/state/modules/localized-resources-map.js.map +1 -1
- package/dist/cjs/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +7 -7
- package/dist/cjs/state/modules/prop-controller-descriptors.js.map +1 -0
- package/dist/cjs/state/modules/react-components.js +3 -3
- package/dist/cjs/state/modules/react-components.js.map +1 -1
- package/dist/cjs/state/modules/read-write/box-models.js +5 -5
- package/dist/cjs/state/modules/read-write/box-models.js.map +1 -1
- package/dist/cjs/state/modules/read-write/element-imperative-handles.js +3 -3
- package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +1 -1
- package/dist/cjs/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +5 -5
- package/dist/cjs/state/modules/read-write/prop-controllers.js.map +1 -0
- package/dist/cjs/state/modules/read-write/resolved-value-overrides.js +70 -0
- package/dist/cjs/state/modules/read-write/resolved-value-overrides.js.map +1 -0
- package/dist/cjs/state/read-only-state.js +9 -44
- package/dist/cjs/state/read-only-state.js.map +1 -1
- package/dist/cjs/state/read-write-state.js +61 -1
- package/dist/cjs/state/read-write-state.js.map +1 -1
- package/dist/cjs/state/shared-api/action-types.js +33 -0
- package/dist/cjs/state/shared-api/action-types.js.map +1 -0
- package/dist/cjs/state/{shared-api.js → shared-api/actions.js} +8 -14
- package/dist/cjs/state/shared-api/actions.js.map +1 -0
- package/dist/cjs/state/shared-api/index.js +25 -0
- package/dist/cjs/state/shared-api/index.js.map +1 -0
- package/dist/cjs/state/store.js +5 -3
- package/dist/cjs/state/store.js.map +1 -1
- package/dist/cjs/state/translations/get.js.map +1 -1
- package/dist/cjs/state/translations/merge.js.map +1 -1
- package/dist/cjs/state/unified-state.js +12 -0
- package/dist/cjs/state/unified-state.js.map +1 -1
- package/dist/cjs/testing/breakpoints.js +35 -0
- package/dist/cjs/testing/breakpoints.js.map +1 -0
- package/dist/cjs/testing/element-data.js +102 -0
- package/dist/cjs/testing/element-data.js.map +1 -0
- package/dist/cjs/testing/read-write-state.js +32 -0
- package/dist/cjs/testing/read-write-state.js.map +1 -0
- package/dist/cjs/translations/index.js.map +1 -1
- package/dist/esm/api/api-resources-client.js +3 -0
- package/dist/esm/api/api-resources-client.js.map +1 -1
- package/dist/esm/api/graphql-api-client.js +1 -1
- package/dist/esm/api/rest-api-client.js +84 -43
- package/dist/esm/api/rest-api-client.js.map +1 -1
- package/dist/esm/api/types.js.map +1 -1
- package/dist/esm/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/builder/host-to-builder-actions.js +2 -4
- package/dist/esm/builder/host-to-builder-actions.js.map +1 -1
- package/dist/esm/client/index.js +45 -45
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/components/builtin/Form/Form.js.map +1 -1
- package/dist/esm/controls/rich-text/control.js +16 -3
- package/dist/esm/controls/rich-text/control.js.map +1 -1
- package/dist/esm/controls/rich-text/rich-text.js +2 -2
- package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/control.js +15 -2
- package/dist/esm/controls/rich-text-v2/control.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js +2 -2
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/esm/controls/slot.js.map +1 -1
- package/dist/esm/next/testing/breakpoints.js +1 -8
- package/dist/esm/next/testing/breakpoints.js.map +1 -1
- package/dist/esm/next/testing/element-data.js +1 -75
- package/dist/esm/next/testing/element-data.js.map +1 -1
- package/dist/esm/next/testing/react-runtime.js.map +1 -1
- package/dist/esm/prop-controllers/instances.js +20 -4
- package/dist/esm/prop-controllers/instances.js.map +1 -1
- package/dist/esm/runtimes/react/components/Element.js +51 -25
- package/dist/esm/runtimes/react/components/Element.js.map +1 -1
- package/dist/esm/runtimes/react/components/ElementRegistration.js +37 -12
- package/dist/esm/runtimes/react/components/ElementRegistration.js.map +1 -1
- package/dist/esm/runtimes/react/components/control-instances-context.js +13 -0
- package/dist/esm/runtimes/react/components/control-instances-context.js.map +1 -0
- package/dist/esm/runtimes/react/components/framework-context.js +1 -0
- package/dist/esm/runtimes/react/components/framework-context.js.map +1 -1
- package/dist/esm/runtimes/react/components/resolve-props.js +5 -1
- package/dist/esm/runtimes/react/components/resolve-props.js.map +1 -1
- package/dist/esm/runtimes/react/controls/node-value/editable-node-value.js +21 -0
- package/dist/esm/runtimes/react/controls/node-value/editable-node-value.js.map +1 -0
- package/dist/esm/runtimes/react/controls/node-value/index.js +17 -0
- package/dist/esm/runtimes/react/controls/node-value/index.js.map +1 -0
- package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/rich-text.js +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/esm/runtimes/react/controls/slot/index.js +5 -0
- package/dist/esm/runtimes/react/controls/slot/index.js.map +1 -0
- package/dist/esm/runtimes/react/controls/slot/render-slot.js +13 -0
- package/dist/esm/runtimes/react/controls/slot/render-slot.js.map +1 -0
- package/dist/esm/runtimes/react/controls/{slot.js → slot/slot-value.js} +34 -23
- package/dist/esm/runtimes/react/controls/slot/slot-value.js.map +1 -0
- 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-control-instance.js +62 -0
- package/dist/esm/runtimes/react/hooks/use-control-instance.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/use-control-instances.js +1 -11
- package/dist/esm/runtimes/react/hooks/use-control-instances.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-disable-register-element.js +2 -2
- package/dist/esm/runtimes/react/hooks/use-disable-register-element.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-resolved-props.js +10 -9
- package/dist/esm/runtimes/react/hooks/use-resolved-props.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-resolved-value-override.js +35 -0
- package/dist/esm/runtimes/react/hooks/use-resolved-value-override.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/use-selector.js +8 -2
- package/dist/esm/runtimes/react/hooks/use-selector.js.map +1 -1
- package/dist/esm/runtimes/react/testing/index.js +3 -0
- package/dist/esm/runtimes/react/testing/index.js.map +1 -0
- package/dist/esm/runtimes/react/testing/react-provider.js +14 -0
- package/dist/esm/runtimes/react/testing/react-provider.js.map +1 -0
- package/dist/esm/state/actions/index.js +2 -2
- package/dist/esm/state/actions/index.js.map +1 -1
- package/dist/esm/state/actions/internal/action-types.js +10 -0
- package/dist/esm/state/actions/internal/action-types.js.map +1 -0
- package/dist/esm/state/actions/internal/index.js +0 -9
- package/dist/esm/state/actions/internal/index.js.map +1 -1
- package/dist/esm/state/actions/internal/read-only-action-types.js +20 -0
- package/dist/esm/state/actions/internal/read-only-action-types.js.map +1 -0
- package/dist/esm/state/actions/internal/read-only-actions.js +1 -73
- package/dist/esm/state/actions/internal/read-only-actions.js.map +1 -1
- package/dist/esm/state/actions/internal/read-write-action-types.js +20 -0
- package/dist/esm/state/actions/internal/read-write-action-types.js.map +1 -0
- package/dist/esm/state/actions/internal/read-write-actions.js +108 -8
- package/dist/esm/state/actions/internal/read-write-actions.js.map +1 -1
- package/dist/esm/state/api-client/state.js +7 -0
- package/dist/esm/state/api-client/state.js.map +1 -1
- package/dist/esm/state/builder-api/action-types.js +25 -0
- package/dist/esm/state/builder-api/action-types.js.map +1 -0
- package/dist/esm/state/builder-api/actions.js +1 -24
- package/dist/esm/state/builder-api/actions.js.map +1 -1
- package/dist/esm/state/builder-api/proxy.js +2 -1
- package/dist/esm/state/builder-api/proxy.js.map +1 -1
- package/dist/esm/state/host-api/action-types.js +19 -0
- package/dist/esm/state/host-api/action-types.js.map +1 -0
- package/dist/esm/state/{host-api.js → host-api/actions.js} +2 -17
- package/dist/esm/state/host-api/actions.js.map +1 -0
- package/dist/esm/state/host-api/index.js +3 -0
- package/dist/esm/state/host-api/index.js.map +1 -0
- package/dist/esm/state/middleware/read-write/builder-api/index.js +1 -57
- package/dist/esm/state/middleware/read-write/builder-api/index.js.map +1 -1
- package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +3 -0
- package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +1 -1
- package/dist/esm/state/middleware/read-write/builder-api/middleware.js +65 -0
- package/dist/esm/state/middleware/read-write/builder-api/middleware.js.map +1 -0
- package/dist/esm/state/middleware/read-write/builder-api/mount-change-action-buffer.js +48 -0
- package/dist/esm/state/middleware/read-write/builder-api/mount-change-action-buffer.js.map +1 -0
- package/dist/esm/state/middleware/read-write/measure-box-models.js +3 -3
- package/dist/esm/state/middleware/read-write/measure-box-models.js.map +1 -1
- package/dist/esm/state/middleware/read-write/prop-controller-handles.js +13 -47
- package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +1 -1
- package/dist/esm/state/modules/api-resources.js +2 -2
- package/dist/esm/state/modules/api-resources.js.map +1 -1
- package/dist/esm/state/modules/breakpoints.js +2 -2
- package/dist/esm/state/modules/breakpoints.js.map +1 -1
- package/dist/esm/state/modules/components-meta.js +1 -1
- package/dist/esm/state/modules/components-meta.js.map +1 -1
- package/dist/esm/state/modules/element-trees.js +2 -2
- package/dist/esm/state/modules/element-trees.js.map +1 -1
- package/dist/esm/state/modules/is-in-builder.js +1 -1
- package/dist/esm/state/modules/is-in-builder.js.map +1 -1
- package/dist/esm/state/modules/is-read-only.js +1 -1
- package/dist/esm/state/modules/is-read-only.js.map +1 -1
- package/dist/esm/state/modules/locale.js +1 -1
- package/dist/esm/state/modules/locale.js.map +1 -1
- package/dist/esm/state/modules/localized-resources-map.js +1 -1
- package/dist/esm/state/modules/localized-resources-map.js.map +1 -1
- package/dist/esm/state/modules/{prop-controllers.js → prop-controller-descriptors.js} +2 -2
- package/dist/esm/state/modules/prop-controller-descriptors.js.map +1 -0
- package/dist/esm/state/modules/react-components.js +1 -1
- package/dist/esm/state/modules/react-components.js.map +1 -1
- package/dist/esm/state/modules/read-write/box-models.js +2 -2
- package/dist/esm/state/modules/read-write/box-models.js.map +1 -1
- package/dist/esm/state/modules/read-write/element-imperative-handles.js +3 -3
- package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +1 -1
- package/dist/esm/state/modules/{prop-controller-handles.js → read-write/prop-controllers.js} +2 -2
- package/dist/esm/state/modules/read-write/prop-controllers.js.map +1 -0
- package/dist/esm/state/modules/read-write/resolved-value-overrides.js +43 -0
- package/dist/esm/state/modules/read-write/resolved-value-overrides.js.map +1 -0
- package/dist/esm/state/read-only-state.js +9 -41
- package/dist/esm/state/read-only-state.js.map +1 -1
- package/dist/esm/state/read-write-state.js +56 -1
- package/dist/esm/state/read-write-state.js.map +1 -1
- package/dist/esm/state/shared-api/action-types.js +9 -0
- package/dist/esm/state/shared-api/action-types.js.map +1 -0
- package/dist/esm/state/{shared-api.js → shared-api/actions.js} +2 -7
- package/dist/esm/state/shared-api/actions.js.map +1 -0
- package/dist/esm/state/shared-api/index.js +3 -0
- package/dist/esm/state/shared-api/index.js.map +1 -0
- package/dist/esm/state/store.js +3 -1
- package/dist/esm/state/store.js.map +1 -1
- package/dist/esm/state/translations/get.js.map +1 -1
- package/dist/esm/state/translations/merge.js +3 -1
- package/dist/esm/state/translations/merge.js.map +1 -1
- package/dist/esm/state/unified-state.js +4 -0
- package/dist/esm/state/unified-state.js.map +1 -1
- package/dist/esm/testing/breakpoints.js +9 -0
- package/dist/esm/testing/breakpoints.js.map +1 -0
- package/dist/esm/testing/element-data.js +76 -0
- package/dist/esm/testing/element-data.js.map +1 -0
- package/dist/esm/testing/read-write-state.js +8 -0
- package/dist/esm/testing/read-write-state.js.map +1 -0
- package/dist/esm/translations/index.js.map +1 -1
- package/dist/types/api/__tests__/rest-api-client.retries.test.d.ts +2 -0
- package/dist/types/api/__tests__/rest-api-client.retries.test.d.ts.map +1 -0
- package/dist/types/api/api-resources-client.d.ts +1 -0
- package/dist/types/api/api-resources-client.d.ts.map +1 -1
- package/dist/types/api/rest-api-client.d.ts +4 -0
- package/dist/types/api/rest-api-client.d.ts.map +1 -1
- package/dist/types/api/schema/page-pathname-slice.d.ts +2 -2
- package/dist/types/api/types.d.ts +1 -1
- package/dist/types/api/types.d.ts.map +1 -1
- package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +6 -6
- package/dist/types/api-handler/handlers/webhook/types.d.ts +20 -20
- package/dist/types/builder/host-to-builder-actions.d.ts.map +1 -1
- package/dist/types/client/index.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/components/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/dist/types/components/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
- package/dist/types/controls/__tests__/slot.test.d.ts +3 -0
- package/dist/types/controls/__tests__/slot.test.d.ts.map +1 -0
- package/dist/types/controls/rich-text/control.d.ts +5 -1
- package/dist/types/controls/rich-text/control.d.ts.map +1 -1
- package/dist/types/controls/rich-text/rich-text.d.ts +2 -2
- package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/control.d.ts +6 -2
- package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +2 -2
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/controls/slot.d.ts +1 -1
- package/dist/types/controls/slot.d.ts.map +1 -1
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/next/testing/breakpoints.d.ts +1 -3
- package/dist/types/next/testing/breakpoints.d.ts.map +1 -1
- package/dist/types/next/testing/element-data.d.ts +1 -54
- package/dist/types/next/testing/element-data.d.ts.map +1 -1
- package/dist/types/next/testing/react-runtime.d.ts.map +1 -1
- package/dist/types/prop-controllers/instances.d.ts +9 -3
- package/dist/types/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/Element.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/ElementRegistration.d.ts +4 -4
- package/dist/types/runtimes/react/components/ElementRegistration.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/__tests__/element-registration.test.d.ts +3 -0
- package/dist/types/runtimes/react/components/__tests__/element-registration.test.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/control-instances-context.d.ts +9 -0
- package/dist/types/runtimes/react/components/control-instances-context.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/framework-context.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/resolve-props.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/node-value/editable-node-value.d.ts +7 -0
- package/dist/types/runtimes/react/controls/node-value/editable-node-value.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/node-value/index.d.ts +6 -0
- package/dist/types/runtimes/react/controls/node-value/index.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/slot/index.d.ts +2 -0
- package/dist/types/runtimes/react/controls/slot/index.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/slot/render-slot.d.ts +9 -0
- package/dist/types/runtimes/react/controls/slot/render-slot.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/{slot.d.ts → slot/slot-value.d.ts} +7 -7
- package/dist/types/runtimes/react/controls/slot/slot-value.d.ts.map +1 -0
- 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/__tests__/use-control-instance.test.d.ts +3 -0
- package/dist/types/runtimes/react/hooks/__tests__/use-control-instance.test.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-control-instance.d.ts +7 -0
- package/dist/types/runtimes/react/hooks/use-control-instance.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-control-instances.d.ts +1 -2
- package/dist/types/runtimes/react/hooks/use-control-instances.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts +1 -1
- package/dist/types/runtimes/react/hooks/use-disable-register-element.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts +4 -3
- package/dist/types/runtimes/react/hooks/use-resolved-props.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-resolved-value-override.d.ts +5 -0
- package/dist/types/runtimes/react/hooks/use-resolved-value-override.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-selector.d.ts +2 -5
- package/dist/types/runtimes/react/hooks/use-selector.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-store.d.ts +2 -4
- package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
- package/dist/types/runtimes/react/testing/index.d.ts +3 -0
- package/dist/types/runtimes/react/testing/index.d.ts.map +1 -0
- package/dist/types/runtimes/react/testing/react-provider.d.ts +8 -0
- package/dist/types/runtimes/react/testing/react-provider.d.ts.map +1 -0
- package/dist/types/slate/InlineModePlugin/index.d.ts +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/state/__tests__/test-store.d.ts +2 -4
- package/dist/types/state/__tests__/test-store.d.ts.map +1 -1
- package/dist/types/state/actions/index.d.ts +9 -6
- package/dist/types/state/actions/index.d.ts.map +1 -1
- package/dist/types/state/actions/internal/action-types.d.ts +29 -0
- package/dist/types/state/actions/internal/action-types.d.ts.map +1 -0
- package/dist/types/state/actions/internal/index.d.ts +0 -25
- package/dist/types/state/actions/internal/index.d.ts.map +1 -1
- package/dist/types/state/actions/internal/read-only-action-types.d.ts +15 -0
- package/dist/types/state/actions/internal/read-only-action-types.d.ts.map +1 -0
- package/dist/types/state/actions/internal/read-only-actions.d.ts +3 -76
- package/dist/types/state/actions/internal/read-only-actions.d.ts.map +1 -1
- package/dist/types/state/actions/internal/read-write-action-types.d.ts +17 -0
- package/dist/types/state/actions/internal/read-write-action-types.d.ts.map +1 -0
- package/dist/types/state/actions/internal/read-write-actions.d.ts +89 -8
- package/dist/types/state/actions/internal/read-write-actions.d.ts.map +1 -1
- package/dist/types/state/api-client/state.d.ts +1 -0
- package/dist/types/state/api-client/state.d.ts.map +1 -1
- package/dist/types/state/builder-api/action-types.d.ts +22 -0
- package/dist/types/state/builder-api/action-types.d.ts.map +1 -0
- package/dist/types/state/builder-api/actions.d.ts +3 -23
- package/dist/types/state/builder-api/actions.d.ts.map +1 -1
- package/dist/types/state/builder-api/proxy.d.ts.map +1 -1
- package/dist/types/state/host-api/action-types.d.ts +17 -0
- package/dist/types/state/host-api/action-types.d.ts.map +1 -0
- package/dist/types/state/{host-api.d.ts → host-api/actions.d.ts} +7 -22
- package/dist/types/state/host-api/actions.d.ts.map +1 -0
- package/dist/types/state/host-api/index.d.ts +3 -0
- package/dist/types/state/host-api/index.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/__tests__/fixtures/operations.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/__tests__/fixtures/root-elements.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/__tests__/prop-controller-handles.test.d.ts +2 -0
- package/dist/types/state/middleware/read-write/__tests__/prop-controller-handles.test.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/__tests__/update-element-tree.test.d.ts +2 -0
- package/dist/types/state/middleware/read-write/__tests__/update-element-tree.test.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/__tests__/middleware.test.d.ts +2 -0
- package/dist/types/state/middleware/read-write/builder-api/__tests__/middleware.test.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/__tests__/mount-change-action-buffer.test.d.ts +2 -0
- package/dist/types/state/middleware/read-write/builder-api/__tests__/mount-change-action-buffer.test.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/index.d.ts +1 -4
- package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +1 -1
- package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +1 -1
- package/dist/types/state/middleware/read-write/builder-api/middleware.d.ts +5 -0
- package/dist/types/state/middleware/read-write/builder-api/middleware.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/builder-api/mount-change-action-buffer.d.ts +28 -0
- package/dist/types/state/middleware/read-write/builder-api/mount-change-action-buffer.d.ts.map +1 -0
- package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts.map +1 -1
- package/dist/types/state/modules/element-trees.d.ts +1 -1
- package/dist/types/state/modules/element-trees.d.ts.map +1 -1
- package/dist/types/state/modules/{prop-controllers.d.ts → prop-controller-descriptors.d.ts} +1 -1
- package/dist/types/state/modules/prop-controller-descriptors.d.ts.map +1 -0
- package/dist/types/state/modules/{prop-controller-handles.d.ts → read-write/prop-controllers.d.ts} +4 -4
- package/dist/types/state/modules/{prop-controller-handles.d.ts.map → read-write/prop-controllers.d.ts.map} +1 -1
- package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts +15 -0
- package/dist/types/state/modules/read-write/resolved-value-overrides.d.ts.map +1 -0
- package/dist/types/state/read-only-state.d.ts +6 -70
- package/dist/types/state/read-only-state.d.ts.map +1 -1
- package/dist/types/state/read-write-state.d.ts +74 -4
- package/dist/types/state/read-write-state.d.ts.map +1 -1
- package/dist/types/state/shared-api/action-types.d.ts +6 -0
- package/dist/types/state/shared-api/action-types.d.ts.map +1 -0
- package/dist/types/state/{shared-api.d.ts → shared-api/actions.d.ts} +3 -7
- package/dist/types/state/shared-api/actions.d.ts.map +1 -0
- package/dist/types/state/shared-api/index.d.ts +3 -0
- package/dist/types/state/shared-api/index.d.ts.map +1 -0
- package/dist/types/state/store.d.ts +4 -8
- package/dist/types/state/store.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/state/unified-state.d.ts +2 -0
- package/dist/types/state/unified-state.d.ts.map +1 -1
- package/dist/types/testing/breakpoints.d.ts +4 -0
- package/dist/types/testing/breakpoints.d.ts.map +1 -0
- package/dist/types/testing/element-data.d.ts +59 -0
- package/dist/types/testing/element-data.d.ts.map +1 -0
- package/dist/types/testing/read-write-state.d.ts +3 -0
- package/dist/types/testing/read-write-state.d.ts.map +1 -0
- package/dist/types/translations/index.d.ts +1 -1
- package/dist/types/translations/index.d.ts.map +1 -1
- package/package.json +7 -5
- package/dist/cjs/runtimes/react/controls/slot.js.map +0 -1
- package/dist/cjs/state/host-api.js.map +0 -1
- package/dist/cjs/state/modules/prop-controller-handles.js.map +0 -1
- package/dist/cjs/state/modules/prop-controllers.js.map +0 -1
- package/dist/cjs/state/shared-api.js.map +0 -1
- package/dist/esm/runtimes/react/controls/slot.js.map +0 -1
- package/dist/esm/state/host-api.js.map +0 -1
- package/dist/esm/state/modules/prop-controller-handles.js.map +0 -1
- package/dist/esm/state/modules/prop-controllers.js.map +0 -1
- package/dist/esm/state/shared-api.js.map +0 -1
- package/dist/types/runtimes/react/controls/slot.d.ts.map +0 -1
- package/dist/types/state/__tests__/fixtures/operations.d.ts.map +0 -1
- package/dist/types/state/__tests__/fixtures/root-elements.d.ts.map +0 -1
- package/dist/types/state/__tests__/react-builder-preview.test.d.ts +0 -2
- package/dist/types/state/__tests__/react-builder-preview.test.d.ts.map +0 -1
- package/dist/types/state/host-api.d.ts.map +0 -1
- package/dist/types/state/modules/prop-controllers.d.ts.map +0 -1
- package/dist/types/state/shared-api.d.ts.map +0 -1
- /package/dist/types/state/{__tests__ → middleware/read-write/__tests__}/fixtures/operations.d.ts +0 -0
- /package/dist/types/state/{__tests__ → middleware/read-write/__tests__}/fixtures/root-elements.d.ts +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SlotValue } from "./slot-value";
|
|
3
|
+
function renderSlot({
|
|
4
|
+
data,
|
|
5
|
+
control,
|
|
6
|
+
config
|
|
7
|
+
}) {
|
|
8
|
+
return /* @__PURE__ */ jsx(SlotValue, { data, instanceKey: control?.instanceKey, config });
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
renderSlot
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=render-slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/controls/slot/render-slot.tsx"],"sourcesContent":["import { type ReactNode } from 'react'\nimport { SlotDefinition, SlotControl, type DataType } from '@makeswift/controls'\n\nimport { type SlotConfig } from '../../../../controls/slot'\n\nimport { SlotValue } from './slot-value'\n\nexport function renderSlot({\n data,\n control,\n config,\n}: {\n data: DataType<SlotDefinition<ReactNode>> | undefined\n control: SlotControl | null\n config: SlotConfig\n}): ReactNode {\n // To make `SlotValue` interactive in the builder after it has been rendered as part of an\n // RSC component's server output and hydrated on the client, we need some way to connect\n // it to the corresponding control instance. Handling this purely client-side isn't an\n // option, as by itself the rendered slot has no identity we could use to look up its control\n // instance. Instantiating the instance on the server and simply passing it as a prop is\n // also not an option, as class instances like `SlotControl` can't cross the RSC server-client\n // serialization boundary. We can, however, pass the control's `instanceKey` instead, and use\n // it to look up the corresponding client-side control instance in `SlotValue` via\n // `useControlInstance`, and it works equally well for purely client-side rendering.\n return <SlotValue data={data} instanceKey={control?.instanceKey} config={config} />\n}\n"],"mappings":"AAyBS;AApBT,SAAS,iBAAiB;AAEnB,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,GAIc;AAUZ,SAAO,oBAAC,aAAU,MAAY,aAAa,SAAS,aAAa,QAAgB;AACnF;","names":[]}
|
|
@@ -1,28 +1,39 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
useEffect,
|
|
5
|
+
useState,
|
|
6
|
+
memo
|
|
7
|
+
} from "react";
|
|
4
8
|
import { cx } from "@emotion/css";
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
9
|
+
import {
|
|
10
|
+
SlotControl
|
|
11
|
+
} from "@makeswift/controls";
|
|
12
|
+
import { Element } from "../../components/Element";
|
|
13
|
+
import { getIndexes } from "../../../../components/utils/columns";
|
|
14
|
+
import { useResponsiveStyle } from "../../../../components/utils/responsive-style";
|
|
15
|
+
import { useIsInBuilder } from "../../hooks/use-is-in-builder";
|
|
16
|
+
import { useControlInstance } from "../../hooks/use-control-instance";
|
|
17
|
+
import { useStyle } from "../../use-style";
|
|
18
|
+
import { pollBoxModel } from "../../poll-box-model";
|
|
19
|
+
import { NodeValue } from "../node-value";
|
|
20
|
+
const SlotValue = memo(function SlotValue2({
|
|
21
|
+
instanceKey,
|
|
22
|
+
...props
|
|
23
|
+
}) {
|
|
24
|
+
return /* @__PURE__ */ jsx(NodeValue, { instanceKey, children: /* @__PURE__ */ jsx(SlotOrPlaceholder, { instanceKey, ...props }) });
|
|
25
|
+
});
|
|
26
|
+
const SlotOrPlaceholder = ({
|
|
27
|
+
data,
|
|
28
|
+
instanceKey,
|
|
29
|
+
config
|
|
30
|
+
}) => {
|
|
31
|
+
const control = useControlInstance(instanceKey, SlotControl);
|
|
32
|
+
if (data == null || data.elements.length === 0) {
|
|
33
|
+
return /* @__PURE__ */ jsx(Slot.Placeholder, { control, placeholder: config.unstable_placeholder });
|
|
24
34
|
}
|
|
25
|
-
);
|
|
35
|
+
return /* @__PURE__ */ jsx(Slot, { control, children: data.elements.map((element, i) => /* @__PURE__ */ jsx(Slot.Item, { control, grid: data.columns, index: i, children: /* @__PURE__ */ jsx(Element, { element }) }, element.key)) });
|
|
36
|
+
};
|
|
26
37
|
function Slot({
|
|
27
38
|
as,
|
|
28
39
|
control,
|
|
@@ -153,6 +164,6 @@ function SlotPlaceholder({ control, placeholder }) {
|
|
|
153
164
|
}
|
|
154
165
|
export {
|
|
155
166
|
Slot,
|
|
156
|
-
|
|
167
|
+
SlotValue
|
|
157
168
|
};
|
|
158
|
-
//# sourceMappingURL=slot.js.map
|
|
169
|
+
//# sourceMappingURL=slot-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/controls/slot/slot-value.tsx"],"sourcesContent":["'use client'\n\nimport {\n type ComponentPropsWithoutRef,\n type ElementType,\n type ReactNode,\n useEffect,\n useState,\n memo,\n} from 'react'\n\nimport { cx } from '@emotion/css'\n\nimport {\n SlotDefinition,\n SlotControl,\n type DataType,\n type ControlInstanceKey,\n} from '@makeswift/controls'\n\nimport { type SlotConfig, type SlotPlaceholderConfig } from '../../../../controls/slot'\n\nimport { Element } from '../../components/Element'\nimport { getIndexes } from '../../../../components/utils/columns'\nimport { useResponsiveStyle } from '../../../../components/utils/responsive-style'\n\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { useControlInstance } from '../../hooks/use-control-instance'\n\nimport { useStyle } from '../../use-style'\nimport { pollBoxModel } from '../../poll-box-model'\n\nimport { NodeValue } from '../node-value'\n\nexport const SlotValue = memo(function SlotValue({\n instanceKey,\n ...props\n}: {\n data: DataType<SlotDefinition<ReactNode>> | undefined\n instanceKey: ControlInstanceKey | undefined\n config: SlotConfig\n}): ReactNode {\n return (\n <NodeValue instanceKey={instanceKey}>\n <SlotOrPlaceholder instanceKey={instanceKey} {...props} />\n </NodeValue>\n )\n})\n\nconst SlotOrPlaceholder = ({\n data,\n instanceKey,\n config,\n}: {\n data: DataType<SlotDefinition<ReactNode>> | undefined\n instanceKey: ControlInstanceKey | undefined\n config: SlotConfig\n}): ReactNode => {\n const control = useControlInstance(instanceKey, SlotControl)\n\n // TODO(miguel): While the UI shouldn't allow the state, we should probably check that at least\n // one element is visible.\n if (data == null || data.elements.length === 0) {\n return <Slot.Placeholder control={control} placeholder={config.unstable_placeholder} />\n }\n\n return (\n <Slot control={control}>\n {data.elements.map((element, i) => (\n <Slot.Item key={element.key} control={control} grid={data.columns} index={i}>\n <Element element={element} />\n </Slot.Item>\n ))}\n </Slot>\n )\n}\n\ntype SlotProps<T extends ElementType> = {\n as?: T\n control: SlotControl | null\n children?: ReactNode\n className?: string\n}\n\nexport function Slot<T extends ElementType = 'div'>({\n as,\n control,\n children,\n className,\n ...restOfProps\n}: SlotProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof SlotProps<T>>) {\n const As = as ?? 'div'\n const [element, setElement] = useState<Element | null>(null)\n const baseClassName = useStyle({\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n })\n\n useEffect(() => {\n if (element == null || control == null) return\n\n return pollBoxModel({\n element,\n onBoxModelChange: boxModel => control.changeContainerBoxModel(boxModel),\n })\n }, [element, control])\n\n return (\n <As {...restOfProps} ref={setElement} className={cx(baseClassName, className)}>\n {children}\n </As>\n )\n}\n\nSlot.Placeholder = SlotPlaceholder\n\nSlot.Item = SlotItem\n\ntype SlotItemProps<T extends ElementType> = {\n as?: T\n control: SlotControl | null\n // @arvin: review for correctness\n grid: DataType<SlotDefinition<ReactNode>> extends undefined\n ? undefined\n : NonNullable<DataType<SlotDefinition<ReactNode>>>['columns']\n index: number\n children?: ReactNode\n className?: string\n}\n\nfunction SlotItem<T extends ElementType = 'div'>({\n as,\n control,\n grid,\n index,\n children,\n className,\n ...restOfProps\n}: SlotItemProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof SlotItemProps<T>>): ReactNode {\n const As = as ?? 'div'\n const [element, setElement] = useState<Element | null>(null)\n const baseClassName = useStyle({\n display: 'flex',\n ...useResponsiveStyle([grid], ([{ count = 12, spans = [[12]] } = {}]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, index)\n const span = spans[rowIndex][columnIndex]\n const flexBasis = `calc(100% * ${(span / count).toFixed(5)})`\n\n return span === 0 ? { display: 'none' } : { flexBasis, minWidth: flexBasis }\n }),\n })\n\n useEffect(() => {\n if (element == null || control == null) return\n\n return pollBoxModel({\n element,\n onBoxModelChange: boxModel => control.changeItemBoxModel(index, boxModel),\n })\n }, [element, control, index])\n\n return (\n <As {...restOfProps} ref={setElement} className={cx(baseClassName, className)}>\n {children}\n </As>\n )\n}\n\ntype SlotPlaceholderProps = {\n control: SlotControl | null\n placeholder?: SlotPlaceholderConfig\n}\n\nconst DEFAULT_SHOW_PLACEHOLDER_IN_BUILDER_ONLY = false\nconst DEFAULT_PLACEHOLDER_HEIGHT_PX = 80\n\nfunction SlotPlaceholder({ control, placeholder }: SlotPlaceholderProps): ReactNode {\n const isInBuilder = useIsInBuilder()\n const [element, setElement] = useState<Element | null>(null)\n\n // TODO: When ready, we can default to only showing the slot placeholder in\n // the builder\n const showInBuilderOnly = placeholder?.builderOnly ?? DEFAULT_SHOW_PLACEHOLDER_IN_BUILDER_ONLY\n const placeholderHeight = placeholder?.height ?? DEFAULT_PLACEHOLDER_HEIGHT_PX\n const text = placeholder?.text\n\n const hidePlaceholder = showInBuilderOnly && !isInBuilder\n\n useEffect(() => {\n if (element == null || control == null) return\n\n return pollBoxModel({\n element,\n onBoxModelChange: boxModel => control.changeContainerBoxModel(boxModel),\n })\n }, [element, control])\n\n return (\n <div\n ref={setElement}\n className={useStyle({\n width: '100%',\n background: 'rgba(161, 168, 194, 0.18)',\n })}\n style={{\n height: hidePlaceholder ? 0 : placeholderHeight,\n visibility: hidePlaceholder ? 'hidden' : undefined,\n }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"100%\"\n height=\"100%\"\n className={useStyle({ overflow: 'visible', padding: 8 })}\n >\n <rect\n x={0}\n y={0}\n width=\"100%\"\n height=\"100%\"\n strokeWidth={2}\n strokeDasharray=\"4 2\"\n fill=\"none\"\n stroke=\"rgba(161, 168, 194, 0.40)\"\n rx=\"4\"\n ry=\"4\"\n />\n {text != null && (\n <text\n x=\"50%\"\n y=\"50%\"\n dominantBaseline=\"central\"\n textAnchor=\"middle\"\n fill=\"rgba(161, 168, 194, 0.80)\"\n fontSize=\"14px\"\n fontFamily=\"sans-serif\"\n style={{ userSelect: 'none' }}\n >\n {text}\n </text>\n )}\n </svg>\n </div>\n )\n}\n"],"mappings":";AA4CM,cAsKA,YAtKA;AA1CN;AAAA,EAIE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,UAAU;AAEnB;AAAA,EAEE;AAAA,OAGK;AAIP,SAAS,eAAe;AACxB,SAAS,kBAAkB;AAC3B,SAAS,0BAA0B;AAEnC,SAAS,sBAAsB;AAC/B,SAAS,0BAA0B;AAEnC,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAE7B,SAAS,iBAAiB;AAEnB,MAAM,YAAY,KAAK,SAASA,WAAU;AAAA,EAC/C;AAAA,EACA,GAAG;AACL,GAIc;AACZ,SACE,oBAAC,aAAU,aACT,8BAAC,qBAAkB,aAA2B,GAAG,OAAO,GAC1D;AAEJ,CAAC;AAED,MAAM,oBAAoB,CAAC;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AACF,MAIiB;AACf,QAAM,UAAU,mBAAmB,aAAa,WAAW;AAI3D,MAAI,QAAQ,QAAQ,KAAK,SAAS,WAAW,GAAG;AAC9C,WAAO,oBAAC,KAAK,aAAL,EAAiB,SAAkB,aAAa,OAAO,sBAAsB;AAAA,EACvF;AAEA,SACE,oBAAC,QAAK,SACH,eAAK,SAAS,IAAI,CAAC,SAAS,MAC3B,oBAAC,KAAK,MAAL,EAA4B,SAAkB,MAAM,KAAK,SAAS,OAAO,GACxE,8BAAC,WAAQ,SAAkB,KADb,QAAQ,GAExB,CACD,GACH;AAEJ;AASO,SAAS,KAAoC;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAyE;AACvE,QAAM,KAAK,MAAM;AACjB,QAAM,CAAC,SAAS,UAAU,IAAI,SAAyB,IAAI;AAC3D,QAAM,gBAAgB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,UAAU;AAAA,IACV,OAAO;AAAA,EACT,CAAC;AAED,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,WAAW;AAAM;AAExC,WAAO,aAAa;AAAA,MAClB;AAAA,MACA,kBAAkB,cAAY,QAAQ,wBAAwB,QAAQ;AAAA,IACxE,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,OAAO,CAAC;AAErB,SACE,oBAAC,MAAI,GAAG,aAAa,KAAK,YAAY,WAAW,GAAG,eAAe,SAAS,GACzE,UACH;AAEJ;AAEA,KAAK,cAAc;AAEnB,KAAK,OAAO;AAcZ,SAAS,SAAwC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA4F;AAC1F,QAAM,KAAK,MAAM;AACjB,QAAM,CAAC,SAAS,UAAU,IAAI,SAAyB,IAAI;AAC3D,QAAM,gBAAgB,SAAS;AAAA,IAC7B,SAAS;AAAA,IACT,GAAG,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,QAAQ,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM;AACvE,YAAM,CAAC,UAAU,WAAW,IAAI,WAAW,OAAO,KAAK;AACvD,YAAM,OAAO,MAAM,QAAQ,EAAE,WAAW;AACxC,YAAM,YAAY,gBAAgB,OAAO,OAAO,QAAQ,CAAC,CAAC;AAE1D,aAAO,SAAS,IAAI,EAAE,SAAS,OAAO,IAAI,EAAE,WAAW,UAAU,UAAU;AAAA,IAC7E,CAAC;AAAA,EACH,CAAC;AAED,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,WAAW;AAAM;AAExC,WAAO,aAAa;AAAA,MAClB;AAAA,MACA,kBAAkB,cAAY,QAAQ,mBAAmB,OAAO,QAAQ;AAAA,IAC1E,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,SAAS,KAAK,CAAC;AAE5B,SACE,oBAAC,MAAI,GAAG,aAAa,KAAK,YAAY,WAAW,GAAG,eAAe,SAAS,GACzE,UACH;AAEJ;AAOA,MAAM,2CAA2C;AACjD,MAAM,gCAAgC;AAEtC,SAAS,gBAAgB,EAAE,SAAS,YAAY,GAAoC;AAClF,QAAM,cAAc,eAAe;AACnC,QAAM,CAAC,SAAS,UAAU,IAAI,SAAyB,IAAI;AAI3D,QAAM,oBAAoB,aAAa,eAAe;AACtD,QAAM,oBAAoB,aAAa,UAAU;AACjD,QAAM,OAAO,aAAa;AAE1B,QAAM,kBAAkB,qBAAqB,CAAC;AAE9C,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,WAAW;AAAM;AAExC,WAAO,aAAa;AAAA,MAClB;AAAA,MACA,kBAAkB,cAAY,QAAQ,wBAAwB,QAAQ;AAAA,IACxE,CAAC;AAAA,EACH,GAAG,CAAC,SAAS,OAAO,CAAC;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,WAAW,SAAS;AAAA,QAClB,OAAO;AAAA,QACP,YAAY;AAAA,MACd,CAAC;AAAA,MACD,OAAO;AAAA,QACL,QAAQ,kBAAkB,IAAI;AAAA,QAC9B,YAAY,kBAAkB,WAAW;AAAA,MAC3C;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,OAAM;AAAA,UACN,QAAO;AAAA,UACP,WAAW,SAAS,EAAE,UAAU,WAAW,SAAS,EAAE,CAAC;AAAA,UAEvD;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,GAAG;AAAA,gBACH,GAAG;AAAA,gBACH,OAAM;AAAA,gBACN,QAAO;AAAA,gBACP,aAAa;AAAA,gBACb,iBAAgB;AAAA,gBAChB,MAAK;AAAA,gBACL,QAAO;AAAA,gBACP,IAAG;AAAA,gBACH,IAAG;AAAA;AAAA,YACL;AAAA,YACC,QAAQ,QACP;AAAA,cAAC;AAAA;AAAA,gBACC,GAAE;AAAA,gBACF,GAAE;AAAA,gBACF,kBAAiB;AAAA,gBACjB,YAAW;AAAA,gBACX,MAAK;AAAA,gBACL,UAAS;AAAA,gBACT,YAAW;AAAA,gBACX,OAAO,EAAE,YAAY,OAAO;AAAA,gBAE3B;AAAA;AAAA,YACH;AAAA;AAAA;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;","names":["SlotValue"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isMeasurable, measure } from "../../state/modules/read-write/box-models";
|
|
2
2
|
import {
|
|
3
3
|
isPropControllersHandle
|
|
4
|
-
} from "../../state/modules/prop-
|
|
4
|
+
} from "../../state/modules/read-write/prop-controllers";
|
|
5
5
|
class ElementImperativeHandle {
|
|
6
6
|
getCurrent = () => null;
|
|
7
7
|
lastPropControllers = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/react/element-imperative-handle.ts"],"sourcesContent":["import { BoxModelHandle, type BoxDisplayModel } from '../../state/modules/read-write/box-models'\nimport { Descriptor } from '../../prop-controllers/descriptors'\nimport { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { isMeasurable, measure } from '../../state/modules/read-write/box-models'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../state/modules/prop-
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/react/element-imperative-handle.ts"],"sourcesContent":["import { BoxModelHandle, type BoxDisplayModel } from '../../state/modules/read-write/box-models'\nimport { Descriptor } from '../../prop-controllers/descriptors'\nimport { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { isMeasurable, measure } from '../../state/modules/read-write/box-models'\nimport {\n isPropControllersHandle,\n PropControllersHandle,\n} from '../../state/modules/read-write/prop-controllers'\n\nexport class ElementImperativeHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n >\n implements BoxModelHandle, PropControllersHandle<T>\n{\n private getCurrent: () => unknown = () => null\n private lastPropControllers: DescriptorsPropControllers<T> | null = null\n\n callback(getCurrent: () => unknown) {\n const current = this.getCurrent()\n\n if (current === null) this.setPropControllers(null)\n\n this.getCurrent = getCurrent\n\n if (this.lastPropControllers !== null) this.setPropControllers(this.lastPropControllers)\n }\n\n getBoxModel(): BoxDisplayModel | null {\n const current = this.getCurrent()\n\n return isMeasurable(current) ? measure(current) : null\n }\n\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void {\n const current = this.getCurrent()\n\n if (isPropControllersHandle(current)) current.setPropControllers(propControllers)\n\n this.lastPropControllers = propControllers\n }\n\n getDomNode(): Element | null {\n const current = this.getCurrent()\n\n if (isDomNodeHandle(current)) return current.getDomNode()\n\n return current instanceof Element ? current : null\n }\n}\n\ntype DomNodeHandle = {\n getDomNode(): Element | null\n}\n\nexport function isDomNodeHandle(value: unknown): value is DomNodeHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getDomNode' in value &&\n typeof (value as { getDomNode: unknown }).getDomNode === 'function'\n ) {\n return true\n }\n\n return false\n}\n"],"mappings":"AAGA,SAAS,cAAc,eAAe;AACtC;AAAA,EACE;AAAA,OAEK;AAEA,MAAM,wBAIb;AAAA,EACU,aAA4B,MAAM;AAAA,EAClC,sBAA4D;AAAA,EAEpE,SAAS,YAA2B;AAClC,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,YAAY;AAAM,WAAK,mBAAmB,IAAI;AAElD,SAAK,aAAa;AAElB,QAAI,KAAK,wBAAwB;AAAM,WAAK,mBAAmB,KAAK,mBAAmB;AAAA,EACzF;AAAA,EAEA,cAAsC;AACpC,UAAM,UAAU,KAAK,WAAW;AAEhC,WAAO,aAAa,OAAO,IAAI,QAAQ,OAAO,IAAI;AAAA,EACpD;AAAA,EAEA,mBAAmB,iBAA6D;AAC9E,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,wBAAwB,OAAO;AAAG,cAAQ,mBAAmB,eAAe;AAEhF,SAAK,sBAAsB;AAAA,EAC7B;AAAA,EAEA,aAA6B;AAC3B,UAAM,UAAU,KAAK,WAAW;AAEhC,QAAI,gBAAgB,OAAO;AAAG,aAAO,QAAQ,WAAW;AAExD,WAAO,mBAAmB,UAAU,UAAU;AAAA,EAChD;AACF;AAMO,SAAS,gBAAgB,OAAwC;AACtE,MACE,OAAO,UAAU,YACjB,UAAU,QACV,gBAAgB,SAChB,OAAQ,MAAkC,eAAe,YACzD;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useCallback, useSyncExternalStore } from "react";
|
|
2
|
+
import { isNotNil } from "@makeswift/controls";
|
|
3
|
+
import { useControlInstances } from "./use-control-instances";
|
|
4
|
+
function useControlInstance(instanceKey, instanceClass) {
|
|
5
|
+
const { elementKey, propPath } = instanceKey ?? {};
|
|
6
|
+
const instances = useControlInstances(elementKey);
|
|
7
|
+
const getInstance = useCallback(
|
|
8
|
+
() => instances != null && propPath != null ? getInstanceByPropPath(instances, propPath) : null,
|
|
9
|
+
[instances, propPath]
|
|
10
|
+
);
|
|
11
|
+
const subscribe = useCallback(
|
|
12
|
+
(onStateChange) => {
|
|
13
|
+
if (instances == null || propPath == null)
|
|
14
|
+
return () => {
|
|
15
|
+
};
|
|
16
|
+
let unsubscribes = [];
|
|
17
|
+
const handleStateChange = () => {
|
|
18
|
+
resubscribe();
|
|
19
|
+
onStateChange();
|
|
20
|
+
};
|
|
21
|
+
const resubscribe = () => {
|
|
22
|
+
unsubscribes.forEach((unsubscribe) => unsubscribe());
|
|
23
|
+
const chain = getInstanceChainByPropPath(instances, propPath).filter(isNotNil);
|
|
24
|
+
unsubscribes = chain.map((instance) => instance.subscribe(handleStateChange));
|
|
25
|
+
};
|
|
26
|
+
resubscribe();
|
|
27
|
+
return () => unsubscribes.forEach((unsubscribe) => unsubscribe());
|
|
28
|
+
},
|
|
29
|
+
[instances, propPath]
|
|
30
|
+
);
|
|
31
|
+
const result = useSyncExternalStore(subscribe, getInstance, getInstance);
|
|
32
|
+
if (result) {
|
|
33
|
+
const foundKey = result.instanceKey;
|
|
34
|
+
if (foundKey.elementKey !== elementKey || foundKey.propPath != propPath) {
|
|
35
|
+
console.error("Mismatching control instance key: expected", instanceKey, " got", foundKey);
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
if (!(result instanceof instanceClass)) {
|
|
39
|
+
console.error(
|
|
40
|
+
`Unexpected control instance class: requested '${instanceClass.name}', found '${result.constructor.name}'`,
|
|
41
|
+
{ instanceKey }
|
|
42
|
+
);
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
function getInstanceChainByPropPath(instances, propPath) {
|
|
49
|
+
const [parentProp, ...childPath] = propPath.split(".");
|
|
50
|
+
const parentInstance = instances[parentProp];
|
|
51
|
+
const getInstanceChain = (parent, childPath2) => parent == null || childPath2.length === 0 ? [parent ?? null] : [parent, ...getInstanceChain(parent.child(childPath2[0]), childPath2.slice(1))];
|
|
52
|
+
return getInstanceChain(parentInstance, childPath);
|
|
53
|
+
}
|
|
54
|
+
function getInstanceByPropPath(instances, propPath) {
|
|
55
|
+
return getInstanceChainByPropPath(instances, propPath).at(-1) ?? null;
|
|
56
|
+
}
|
|
57
|
+
export {
|
|
58
|
+
getInstanceByPropPath,
|
|
59
|
+
getInstanceChainByPropPath,
|
|
60
|
+
useControlInstance
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=use-control-instance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-control-instance.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react'\nimport { type AnyControlInstance, type ControlInstanceKey, isNotNil } from '@makeswift/controls'\n\nimport { useControlInstances } from './use-control-instances'\n\ntype InstanceConstructor<T extends AnyControlInstance> = abstract new (...args: never[]) => T\n\nexport function useControlInstance<T extends AnyControlInstance>(\n instanceKey: ControlInstanceKey | undefined,\n instanceClass: InstanceConstructor<T>,\n): T | null {\n const { elementKey, propPath } = instanceKey ?? {}\n\n const instances = useControlInstances(elementKey)\n const getInstance = useCallback(\n () =>\n instances != null && propPath != null ? getInstanceByPropPath(instances, propPath) : null,\n [instances, propPath],\n )\n\n const subscribe = useCallback(\n (onStateChange: () => void) => {\n if (instances == null || propPath == null) return () => {}\n\n let unsubscribes: (() => void)[] = []\n\n // recompute the instance chain and resubscribe to its updates on every notification,\n // since a control's own update (e.g. a `ListControl` replacing its children) can replace\n // the instances further down the chain\n const handleStateChange = () => {\n resubscribe()\n onStateChange()\n }\n\n const resubscribe = () => {\n unsubscribes.forEach(unsubscribe => unsubscribe())\n\n const chain = getInstanceChainByPropPath(instances, propPath).filter(isNotNil)\n unsubscribes = chain.map(instance => instance.subscribe(handleStateChange))\n }\n\n resubscribe()\n\n return () => unsubscribes.forEach(unsubscribe => unsubscribe())\n },\n [instances, propPath],\n )\n\n const result = useSyncExternalStore(subscribe, getInstance, getInstance)\n\n if (result) {\n const foundKey = result.instanceKey\n if (foundKey.elementKey !== elementKey || foundKey.propPath != propPath) {\n console.error('Mismatching control instance key: expected', instanceKey, ' got', foundKey)\n return null\n }\n\n if (!(result instanceof instanceClass)) {\n console.error(\n `Unexpected control instance class: requested '${instanceClass.name}', found '${result.constructor.name}'`,\n { instanceKey },\n )\n\n return null\n }\n }\n\n return result\n}\n\nexport function getInstanceChainByPropPath(\n instances: Record<string, AnyControlInstance>,\n propPath: string,\n): (AnyControlInstance | null)[] {\n const [parentProp, ...childPath] = propPath.split('.')\n const parentInstance = instances[parentProp]\n\n const getInstanceChain = (\n parent: AnyControlInstance | undefined,\n childPath: string[],\n ): (AnyControlInstance | null)[] =>\n parent == null || childPath.length === 0\n ? [parent ?? null]\n : [parent, ...getInstanceChain(parent.child(childPath[0]), childPath.slice(1))]\n\n return getInstanceChain(parentInstance, childPath)\n}\n\nexport function getInstanceByPropPath(\n instances: Record<string, AnyControlInstance>,\n propPath: string,\n): AnyControlInstance | null {\n return getInstanceChainByPropPath(instances, propPath).at(-1) ?? null\n}\n"],"mappings":"AAAA,SAAS,aAAa,4BAA4B;AAClD,SAA2D,gBAAgB;AAE3E,SAAS,2BAA2B;AAI7B,SAAS,mBACd,aACA,eACU;AACV,QAAM,EAAE,YAAY,SAAS,IAAI,eAAe,CAAC;AAEjD,QAAM,YAAY,oBAAoB,UAAU;AAChD,QAAM,cAAc;AAAA,IAClB,MACE,aAAa,QAAQ,YAAY,OAAO,sBAAsB,WAAW,QAAQ,IAAI;AAAA,IACvF,CAAC,WAAW,QAAQ;AAAA,EACtB;AAEA,QAAM,YAAY;AAAA,IAChB,CAAC,kBAA8B;AAC7B,UAAI,aAAa,QAAQ,YAAY;AAAM,eAAO,MAAM;AAAA,QAAC;AAEzD,UAAI,eAA+B,CAAC;AAKpC,YAAM,oBAAoB,MAAM;AAC9B,oBAAY;AACZ,sBAAc;AAAA,MAChB;AAEA,YAAM,cAAc,MAAM;AACxB,qBAAa,QAAQ,iBAAe,YAAY,CAAC;AAEjD,cAAM,QAAQ,2BAA2B,WAAW,QAAQ,EAAE,OAAO,QAAQ;AAC7E,uBAAe,MAAM,IAAI,cAAY,SAAS,UAAU,iBAAiB,CAAC;AAAA,MAC5E;AAEA,kBAAY;AAEZ,aAAO,MAAM,aAAa,QAAQ,iBAAe,YAAY,CAAC;AAAA,IAChE;AAAA,IACA,CAAC,WAAW,QAAQ;AAAA,EACtB;AAEA,QAAM,SAAS,qBAAqB,WAAW,aAAa,WAAW;AAEvE,MAAI,QAAQ;AACV,UAAM,WAAW,OAAO;AACxB,QAAI,SAAS,eAAe,cAAc,SAAS,YAAY,UAAU;AACvE,cAAQ,MAAM,8CAA8C,aAAa,QAAQ,QAAQ;AACzF,aAAO;AAAA,IACT;AAEA,QAAI,EAAE,kBAAkB,gBAAgB;AACtC,cAAQ;AAAA,QACN,iDAAiD,cAAc,IAAI,aAAa,OAAO,YAAY,IAAI;AAAA,QACvG,EAAE,YAAY;AAAA,MAChB;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,2BACd,WACA,UAC+B;AAC/B,QAAM,CAAC,YAAY,GAAG,SAAS,IAAI,SAAS,MAAM,GAAG;AACrD,QAAM,iBAAiB,UAAU,UAAU;AAE3C,QAAM,mBAAmB,CACvB,QACAA,eAEA,UAAU,QAAQA,WAAU,WAAW,IACnC,CAAC,UAAU,IAAI,IACf,CAAC,QAAQ,GAAG,iBAAiB,OAAO,MAAMA,WAAU,CAAC,CAAC,GAAGA,WAAU,MAAM,CAAC,CAAC,CAAC;AAElF,SAAO,iBAAiB,gBAAgB,SAAS;AACnD;AAEO,SAAS,sBACd,WACA,UAC2B;AAC3B,SAAO,2BAA2B,WAAW,QAAQ,EAAE,GAAG,EAAE,KAAK;AACnE;","names":["childPath"]}
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useDocumentKey } from "./use-document-context";
|
|
3
|
-
import { useSelector } from "./use-selector";
|
|
4
|
-
function useControlInstances(elementKey) {
|
|
5
|
-
const documentKey = useDocumentKey();
|
|
6
|
-
return useSelector((state) => {
|
|
7
|
-
if (documentKey == null)
|
|
8
|
-
return null;
|
|
9
|
-
return getPropControllers(state, { documentKey, elementKey });
|
|
10
|
-
});
|
|
11
|
-
}
|
|
1
|
+
import { useControlInstances } from "../components/control-instances-context";
|
|
12
2
|
export {
|
|
13
3
|
useControlInstances
|
|
14
4
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-control-instances.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-control-instances.ts"],"sourcesContent":["export { useControlInstances } from '../components/control-instances-context'\n"],"mappings":"AAAA,SAAS,2BAA2B;","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createContext, useContext } from "react";
|
|
2
2
|
const DisableRegisterElement = createContext(false);
|
|
3
|
-
function
|
|
3
|
+
function useIsRegisterElementDisabled() {
|
|
4
4
|
return useContext(DisableRegisterElement);
|
|
5
5
|
}
|
|
6
6
|
export {
|
|
7
7
|
DisableRegisterElement,
|
|
8
|
-
|
|
8
|
+
useIsRegisterElementDisabled
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=use-disable-register-element.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-disable-register-element.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport const DisableRegisterElement = createContext(false)\n\nexport function
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-disable-register-element.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\n\nexport const DisableRegisterElement = createContext(false)\n\nexport function useIsRegisterElementDisabled() {\n return useContext(DisableRegisterElement)\n}\n"],"mappings":"AAAA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,yBAAyB,cAAc,KAAK;AAElD,SAAS,+BAA+B;AAC7C,SAAO,WAAW,sBAAsB;AAC1C;","names":[]}
|
|
@@ -4,21 +4,20 @@ import {
|
|
|
4
4
|
} from "@makeswift/controls";
|
|
5
5
|
import { useResourceResolver } from "./use-resource-resolver";
|
|
6
6
|
import { propErrorHandlingProxy } from "../utils/prop-error-handling-proxy";
|
|
7
|
-
import { useControlInstances } from "./use-control-instances";
|
|
8
7
|
import { useResolvableRecord } from "./use-resolvable-record";
|
|
9
8
|
function useResolvedProps({
|
|
9
|
+
elementKey,
|
|
10
10
|
propDefs,
|
|
11
11
|
propData,
|
|
12
|
-
|
|
12
|
+
controlInstances,
|
|
13
13
|
stylesheetFactory
|
|
14
14
|
}) {
|
|
15
15
|
const resourceResolver = useResourceResolver();
|
|
16
|
-
const controls = useControlInstances(elementKey);
|
|
17
16
|
const cache = useRef({}).current;
|
|
18
17
|
const resolveProp = useCallback(
|
|
19
18
|
(def, propName) => {
|
|
20
19
|
const data = propData[propName];
|
|
21
|
-
const control =
|
|
20
|
+
const control = controlInstances?.[propName];
|
|
22
21
|
if (cache[propName] != null && data === cache[propName].data && control === cache[propName].control) {
|
|
23
22
|
return cache[propName].resolvedValue;
|
|
24
23
|
}
|
|
@@ -31,24 +30,26 @@ function useResolvedProps({
|
|
|
31
30
|
cache[propName] = { data, control, resolvedValue };
|
|
32
31
|
return resolvedValue;
|
|
33
32
|
},
|
|
34
|
-
[
|
|
33
|
+
[propData, cache, resourceResolver, controlInstances, stylesheetFactory]
|
|
35
34
|
);
|
|
36
35
|
const resolvables = useMemo(
|
|
37
36
|
() => mapValues(propDefs, (def, propName) => {
|
|
38
37
|
const defaultValue = def.config?.defaultValue;
|
|
39
38
|
return propErrorHandlingProxy(resolveProp(def, propName), defaultValue, (error) => {
|
|
40
39
|
console.warn(
|
|
41
|
-
`Error reading value for prop "${propName}", falling back to \`${defaultValue}\`.`,
|
|
40
|
+
`Error reading value for prop "${propName}" of element ${elementKey}, falling back to \`${defaultValue}\`.`,
|
|
42
41
|
{ control: def, error }
|
|
43
42
|
);
|
|
44
43
|
});
|
|
45
44
|
}),
|
|
46
|
-
[propDefs, resolveProp]
|
|
45
|
+
[propDefs, resolveProp, elementKey]
|
|
47
46
|
);
|
|
48
47
|
const props = useResolvableRecord(resolvables);
|
|
49
48
|
useEffect(() => {
|
|
50
|
-
props.triggerResolve()
|
|
51
|
-
|
|
49
|
+
props.triggerResolve().catch((err) => {
|
|
50
|
+
console.log(`Error while resolving props for element ${elementKey}`, err);
|
|
51
|
+
});
|
|
52
|
+
}, [props, elementKey]);
|
|
52
53
|
const resolvedProps = useSyncExternalStore(props.subscribe, props.readStable, props.readStable);
|
|
53
54
|
stylesheetFactory.useDefinedStyles();
|
|
54
55
|
return resolvedProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resolved-props.ts"],"sourcesContent":["import { useMemo, useEffect, useRef, useSyncExternalStore, useCallback } from 'react'\nimport {\n ControlDefinition,\n ControlInstance,\n mapValues,\n type Data,\n type Resolvable,\n} from '@makeswift/controls'\n\nimport { useResourceResolver } from './use-resource-resolver'\n\nimport { type StylesheetFactory } from '../stylesheet-factory'\nimport { propErrorHandlingProxy } from '../utils/prop-error-handling-proxy'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resolved-props.ts"],"sourcesContent":["import { useMemo, useEffect, useRef, useSyncExternalStore, useCallback } from 'react'\nimport {\n ControlDefinition,\n ControlInstance,\n mapValues,\n type Data,\n type Resolvable,\n} from '@makeswift/controls'\n\nimport { useResourceResolver } from './use-resource-resolver'\n\nimport { type StylesheetFactory } from '../stylesheet-factory'\nimport { propErrorHandlingProxy } from '../utils/prop-error-handling-proxy'\n\nimport { useResolvableRecord } from './use-resolvable-record'\n\ntype CacheItem = {\n data: Data\n control: ControlInstance | undefined\n resolvedValue: Resolvable<unknown>\n}\n\nexport function useResolvedProps({\n elementKey,\n propDefs,\n propData,\n controlInstances,\n stylesheetFactory,\n}: {\n elementKey: string\n propDefs: Record<string, ControlDefinition>\n propData: Record<string, Data>\n controlInstances: Record<string, ControlInstance> | null\n stylesheetFactory: StylesheetFactory\n}): Record<string, unknown> {\n const resourceResolver = useResourceResolver()\n\n const cache = useRef<Record<string, CacheItem>>({}).current\n const resolveProp = useCallback(\n (def: ControlDefinition, propName: string) => {\n const data = propData[propName]\n const control = controlInstances?.[propName]\n\n if (\n cache[propName] != null &&\n data === cache[propName].data &&\n control === cache[propName].control\n ) {\n return cache[propName].resolvedValue\n }\n\n const resolvedValue = def.resolveValue(\n data,\n resourceResolver,\n stylesheetFactory.get(propName),\n control,\n )\n\n cache[propName] = { data, control, resolvedValue }\n return resolvedValue\n },\n [propData, cache, resourceResolver, controlInstances, stylesheetFactory],\n )\n\n const resolvables = useMemo<Record<string, Resolvable<unknown>>>(\n () =>\n mapValues(propDefs, (def, propName) => {\n const defaultValue = (def.config as any)?.defaultValue\n return propErrorHandlingProxy(resolveProp(def, propName), defaultValue, error => {\n console.warn(\n `Error reading value for prop \"${propName}\" of element ${elementKey}, falling back to \\`${defaultValue}\\`.`,\n { control: def, error },\n )\n })\n }),\n [propDefs, resolveProp, elementKey],\n )\n\n const props = useResolvableRecord(resolvables)\n\n // no need to call `triggerResolve` on the server, all the resources should already be in\n // the host API client's cache (populated from the snapshot's cache)\n useEffect(() => {\n props.triggerResolve().catch(err => {\n console.log(`Error while resolving props for element ${elementKey}`, err)\n })\n }, [props, elementKey])\n\n // the order is important here, the styles are defined in the process of the props resolution,\n // calling `useDefinedStyles` before the props are resolved would effectively be a noop\n const resolvedProps = useSyncExternalStore(props.subscribe, props.readStable, props.readStable)\n\n stylesheetFactory.useDefinedStyles()\n\n return resolvedProps\n}\n"],"mappings":"AAAA,SAAS,SAAS,WAAW,QAAQ,sBAAsB,mBAAmB;AAC9E;AAAA,EAGE;AAAA,OAGK;AAEP,SAAS,2BAA2B;AAGpC,SAAS,8BAA8B;AAEvC,SAAS,2BAA2B;AAQ7B,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAM4B;AAC1B,QAAM,mBAAmB,oBAAoB;AAE7C,QAAM,QAAQ,OAAkC,CAAC,CAAC,EAAE;AACpD,QAAM,cAAc;AAAA,IAClB,CAAC,KAAwB,aAAqB;AAC5C,YAAM,OAAO,SAAS,QAAQ;AAC9B,YAAM,UAAU,mBAAmB,QAAQ;AAE3C,UACE,MAAM,QAAQ,KAAK,QACnB,SAAS,MAAM,QAAQ,EAAE,QACzB,YAAY,MAAM,QAAQ,EAAE,SAC5B;AACA,eAAO,MAAM,QAAQ,EAAE;AAAA,MACzB;AAEA,YAAM,gBAAgB,IAAI;AAAA,QACxB;AAAA,QACA;AAAA,QACA,kBAAkB,IAAI,QAAQ;AAAA,QAC9B;AAAA,MACF;AAEA,YAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,cAAc;AACjD,aAAO;AAAA,IACT;AAAA,IACA,CAAC,UAAU,OAAO,kBAAkB,kBAAkB,iBAAiB;AAAA,EACzE;AAEA,QAAM,cAAc;AAAA,IAClB,MACE,UAAU,UAAU,CAAC,KAAK,aAAa;AACrC,YAAM,eAAgB,IAAI,QAAgB;AAC1C,aAAO,uBAAuB,YAAY,KAAK,QAAQ,GAAG,cAAc,WAAS;AAC/E,gBAAQ;AAAA,UACN,iCAAiC,QAAQ,gBAAgB,UAAU,uBAAuB,YAAY;AAAA,UACtG,EAAE,SAAS,KAAK,MAAM;AAAA,QACxB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,IACH,CAAC,UAAU,aAAa,UAAU;AAAA,EACpC;AAEA,QAAM,QAAQ,oBAAoB,WAAW;AAI7C,YAAU,MAAM;AACd,UAAM,eAAe,EAAE,MAAM,SAAO;AAClC,cAAQ,IAAI,2CAA2C,UAAU,IAAI,GAAG;AAAA,IAC1E,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,UAAU,CAAC;AAItB,QAAM,gBAAgB,qBAAqB,MAAM,WAAW,MAAM,YAAY,MAAM,UAAU;AAE9F,oBAAkB,iBAAiB;AAEnC,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
import {
|
|
4
|
+
hasResolvedValueOverride,
|
|
5
|
+
getResolvedValueOverride
|
|
6
|
+
} from "../../../state/read-write-state";
|
|
7
|
+
import { isReadWriteState } from "../../../state/unified-state";
|
|
8
|
+
import { useSelector } from "./use-selector";
|
|
9
|
+
import { useDocumentKey } from "./use-document-context";
|
|
10
|
+
const DisableResolvedValueOverride = createContext(void 0);
|
|
11
|
+
function useIsResolvedValueOverrideDisabled(instanceKey) {
|
|
12
|
+
const disabledKey = useContext(DisableResolvedValueOverride);
|
|
13
|
+
return disabledKey?.elementKey === instanceKey?.elementKey && disabledKey?.propPath === instanceKey?.propPath;
|
|
14
|
+
}
|
|
15
|
+
const useResolvedValueOverride = (instanceKey) => {
|
|
16
|
+
const documentKey = useDocumentKey();
|
|
17
|
+
const isDisabled = useIsResolvedValueOverrideDisabled(instanceKey);
|
|
18
|
+
return useSelector(
|
|
19
|
+
(state) => {
|
|
20
|
+
if (documentKey == null || instanceKey == null || !isReadWriteState(state))
|
|
21
|
+
return [void 0, false];
|
|
22
|
+
return [
|
|
23
|
+
getResolvedValueOverride(state, documentKey, instanceKey),
|
|
24
|
+
!isDisabled && hasResolvedValueOverride(state, documentKey, instanceKey)
|
|
25
|
+
];
|
|
26
|
+
},
|
|
27
|
+
(a, b) => a[0] === b[0] && a[1] === b[1]
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
DisableResolvedValueOverride,
|
|
32
|
+
useIsResolvedValueOverrideDisabled,
|
|
33
|
+
useResolvedValueOverride
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=use-resolved-value-override.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-resolved-value-override.tsx"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\nimport {\n type ResolvedValueKey,\n type ResolvedValue,\n hasResolvedValueOverride,\n getResolvedValueOverride,\n} from '../../../state/read-write-state'\n\nimport { isReadWriteState } from '../../../state/unified-state'\nimport { useSelector } from './use-selector'\nimport { useDocumentKey } from './use-document-context'\n\nexport const DisableResolvedValueOverride = createContext<ResolvedValueKey | undefined>(undefined)\n\nexport function useIsResolvedValueOverrideDisabled(\n instanceKey: ResolvedValueKey | undefined,\n): boolean {\n const disabledKey = useContext(DisableResolvedValueOverride)\n return (\n disabledKey?.elementKey === instanceKey?.elementKey &&\n disabledKey?.propPath === instanceKey?.propPath\n )\n}\n\nexport const useResolvedValueOverride = (\n instanceKey: ResolvedValueKey | undefined,\n): [ResolvedValue, boolean] => {\n const documentKey = useDocumentKey()\n const isDisabled = useIsResolvedValueOverrideDisabled(instanceKey)\n\n return useSelector(\n state => {\n if (documentKey == null || instanceKey == null || !isReadWriteState(state))\n return [undefined, false]\n\n return [\n getResolvedValueOverride(state, documentKey, instanceKey),\n !isDisabled && hasResolvedValueOverride(state, documentKey, instanceKey),\n ]\n },\n (a, b) => a[0] === b[0] && a[1] === b[1],\n )\n}\n"],"mappings":";AAEA,SAAS,eAAe,kBAAkB;AAE1C;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAExB,MAAM,+BAA+B,cAA4C,MAAS;AAE1F,SAAS,mCACd,aACS;AACT,QAAM,cAAc,WAAW,4BAA4B;AAC3D,SACE,aAAa,eAAe,aAAa,cACzC,aAAa,aAAa,aAAa;AAE3C;AAEO,MAAM,2BAA2B,CACtC,gBAC6B;AAC7B,QAAM,cAAc,eAAe;AACnC,QAAM,aAAa,mCAAmC,WAAW;AAEjE,SAAO;AAAA,IACL,WAAS;AACP,UAAI,eAAe,QAAQ,eAAe,QAAQ,CAAC,iBAAiB,KAAK;AACvE,eAAO,CAAC,QAAW,KAAK;AAE1B,aAAO;AAAA,QACL,yBAAyB,OAAO,aAAa,WAAW;AAAA,QACxD,CAAC,cAAc,yBAAyB,OAAO,aAAa,WAAW;AAAA,MACzE;AAAA,IACF;AAAA,IACA,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;AAAA,EACzC;AACF;","names":[]}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { useSyncExternalStoreWithSelector } from "use-sync-external-store/with-selector";
|
|
2
2
|
import { useStore } from "./use-store";
|
|
3
|
-
function useSelector(selector) {
|
|
3
|
+
function useSelector(selector, isEqual) {
|
|
4
4
|
const store = useStore();
|
|
5
|
-
return useSyncExternalStoreWithSelector(
|
|
5
|
+
return useSyncExternalStoreWithSelector(
|
|
6
|
+
store.subscribe,
|
|
7
|
+
store.getState,
|
|
8
|
+
store.getState,
|
|
9
|
+
selector,
|
|
10
|
+
isEqual
|
|
11
|
+
);
|
|
6
12
|
}
|
|
7
13
|
export {
|
|
8
14
|
useSelector
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-selector.ts"],"sourcesContent":["import { useSyncExternalStoreWithSelector } from 'use-sync-external-store/with-selector'\n\nimport { type State } from '../../../state/unified-state'\n\nimport { useStore } from './use-store'\n\nexport function useSelector<R>(\n selector: (state: State) => R,\n isEqual?: (a: R, b: R) => boolean,\n): R {\n const store = useStore()\n\n return useSyncExternalStoreWithSelector(\n store.subscribe,\n store.getState,\n store.getState,\n selector,\n isEqual,\n )\n}\n"],"mappings":"AAAA,SAAS,wCAAwC;AAIjD,SAAS,gBAAgB;AAElB,SAAS,YACd,UACA,SACG;AACH,QAAM,QAAQ,SAAS;AAEvB,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/testing/index.ts"],"sourcesContent":["export * from './react-provider'\nexport * from './react-runtime'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { RuntimeProvider } from "../components/RuntimeProvider";
|
|
3
|
+
import { DefaultRootStyleRegistry } from "../root-style-registry";
|
|
4
|
+
function ReactProvider({
|
|
5
|
+
children,
|
|
6
|
+
runtime,
|
|
7
|
+
siteVersion = null
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(RuntimeProvider, { siteVersion, runtime, children: /* @__PURE__ */ jsx(DefaultRootStyleRegistry, { children }) });
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
ReactProvider
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=react-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/testing/react-provider.tsx"],"sourcesContent":["import { type ReactRuntimeCore } from '../react-runtime-core'\nimport { RuntimeProvider } from '../components/RuntimeProvider'\n\nimport { DefaultRootStyleRegistry } from '../root-style-registry'\nimport { SiteVersion } from '../../../api/site-version'\n\nexport function ReactProvider({\n children,\n runtime,\n siteVersion = null,\n}: {\n children: React.ReactNode\n runtime: ReactRuntimeCore\n siteVersion?: SiteVersion | null\n}) {\n return (\n <RuntimeProvider siteVersion={siteVersion} runtime={runtime}>\n <DefaultRootStyleRegistry>{children}</DefaultRootStyleRegistry>\n </RuntimeProvider>\n )\n}\n"],"mappings":"AAiBM;AAhBN,SAAS,uBAAuB;AAEhC,SAAS,gCAAgC;AAGlC,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,cAAc;AAChB,GAIG;AACD,SACE,oBAAC,mBAAgB,aAA0B,SACzC,8BAAC,4BAA0B,UAAS,GACtC;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isAction } from "@reduxjs/toolkit";
|
|
2
|
-
import { BuilderActionTypes } from "../builder-api/
|
|
2
|
+
import { BuilderActionTypes } from "../builder-api/action-types";
|
|
3
3
|
import { HostActionTypes } from "../host-api";
|
|
4
|
-
import { InternalActionTypes } from "./internal";
|
|
4
|
+
import { InternalActionTypes } from "./internal/action-types";
|
|
5
5
|
const ActionTypes = {
|
|
6
6
|
...HostActionTypes,
|
|
7
7
|
...BuilderActionTypes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/state/actions/index.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type BuilderAction
|
|
1
|
+
{"version":3,"sources":["../../../../src/state/actions/index.ts"],"sourcesContent":["import { isAction } from '@reduxjs/toolkit'\n\nimport { type BuilderAction } from '../builder-api/actions'\nimport { BuilderActionTypes } from '../builder-api/action-types'\nimport { type HostAction, HostActionTypes } from '../host-api'\n\nimport { type InternalAction } from './internal'\nimport { InternalActionTypes } from './internal/action-types'\n\nexport { type UnknownAction } from '@reduxjs/toolkit'\nexport { type DocumentPayload } from '../shared-api'\n\nexport const ActionTypes = {\n ...HostActionTypes,\n ...BuilderActionTypes,\n ...InternalActionTypes,\n} as const\n\nexport type Action = HostAction | BuilderAction | InternalAction\n\nexport function isKnownAction(action: unknown): action is Action {\n return isAction(action) && Object.hasOwn(ActionTypes, action.type)\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AAGzB,SAAS,0BAA0B;AACnC,SAA0B,uBAAuB;AAGjD,SAAS,2BAA2B;AAK7B,MAAM,cAAc;AAAA,EACzB,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAIO,SAAS,cAAc,QAAmC;AAC/D,SAAO,SAAS,MAAM,KAAK,OAAO,OAAO,aAAa,OAAO,IAAI;AACnE;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReadOnlyActionTypes } from "./read-only-action-types";
|
|
2
|
+
import { ReadWriteActionTypes } from "./read-write-action-types";
|
|
3
|
+
const InternalActionTypes = {
|
|
4
|
+
...ReadOnlyActionTypes,
|
|
5
|
+
...ReadWriteActionTypes
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
InternalActionTypes
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=action-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/state/actions/internal/action-types.ts"],"sourcesContent":["import { ReadOnlyActionTypes } from './read-only-action-types'\nimport { ReadWriteActionTypes } from './read-write-action-types'\n\nexport const InternalActionTypes = {\n ...ReadOnlyActionTypes,\n ...ReadWriteActionTypes,\n} as const\n"],"mappings":"AAAA,SAAS,2BAA2B;AACpC,SAAS,4BAA4B;AAE9B,MAAM,sBAAsB;AAAA,EACjC,GAAG;AAAA,EACH,GAAG;AACL;","names":[]}
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
import { ReadOnlyActionTypes } from "./read-only-actions";
|
|
2
|
-
import { ReadWriteActionTypes } from "./read-write-actions";
|
|
3
|
-
const InternalActionTypes = {
|
|
4
|
-
...ReadOnlyActionTypes,
|
|
5
|
-
...ReadWriteActionTypes
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
InternalActionTypes
|
|
9
|
-
};
|
|
10
1
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const ReadOnlyActionTypes = {
|
|
2
|
+
// TODO: this one should be a read-write action and we should refuse
|
|
3
|
+
// to fetch resources on the client in read-only mode
|
|
4
|
+
API_RESOURCE_FULFILLED: "API_RESOURCE_FULFILLED",
|
|
5
|
+
CREATE_ELEMENT_TREE: "CREATE_ELEMENT_TREE",
|
|
6
|
+
DELETE_ELEMENT_TREE: "DELETE_ELEMENT_TREE",
|
|
7
|
+
REGISTER_COMPONENT: "REGISTER_COMPONENT",
|
|
8
|
+
UNREGISTER_COMPONENT: "UNREGISTER_COMPONENT",
|
|
9
|
+
REGISTER_REACT_COMPONENT: "REGISTER_REACT_COMPONENT",
|
|
10
|
+
UNREGISTER_REACT_COMPONENT: "UNREGISTER_REACT_COMPONENT",
|
|
11
|
+
SET_BREAKPOINTS: "SET_BREAKPOINTS",
|
|
12
|
+
UPDATE_CLIENT_BREAKPOINT: "UPDATE_CLIENT_BREAKPOINT",
|
|
13
|
+
SET_LOCALE: "SET_LOCALE",
|
|
14
|
+
SET_IS_IN_BUILDER: "SET_IS_IN_BUILDER",
|
|
15
|
+
SET_IS_READ_ONLY: "SET_IS_READ_ONLY"
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
ReadOnlyActionTypes
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=read-only-action-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/state/actions/internal/read-only-action-types.ts"],"sourcesContent":["export const ReadOnlyActionTypes = {\n // TODO: this one should be a read-write action and we should refuse\n // to fetch resources on the client in read-only mode\n API_RESOURCE_FULFILLED: 'API_RESOURCE_FULFILLED',\n\n CREATE_ELEMENT_TREE: 'CREATE_ELEMENT_TREE',\n DELETE_ELEMENT_TREE: 'DELETE_ELEMENT_TREE',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n UPDATE_CLIENT_BREAKPOINT: 'UPDATE_CLIENT_BREAKPOINT',\n\n SET_LOCALE: 'SET_LOCALE',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n SET_IS_READ_ONLY: 'SET_IS_READ_ONLY',\n} as const\n"],"mappings":"AAAO,MAAM,sBAAsB;AAAA;AAAA;AAAA,EAGjC,wBAAwB;AAAA,EAExB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EAErB,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EAEtB,0BAA0B;AAAA,EAC1B,4BAA4B;AAAA,EAE5B,iBAAiB;AAAA,EACjB,0BAA0B;AAAA,EAE1B,YAAY;AAAA,EAEZ,mBAAmB;AAAA,EACnB,kBAAkB;AACpB;","names":[]}
|