@makeswift/runtime 0.23.12 → 0.23.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/api/graphql/fragments.js +40 -0
- package/dist/cjs/api/graphql/fragments.js.map +1 -0
- package/dist/cjs/api/graphql/types.js +40 -0
- package/dist/cjs/api/graphql/types.js.map +1 -0
- package/dist/cjs/api/resource-types.js +24 -0
- package/dist/cjs/api/resource-types.js.map +1 -0
- package/dist/cjs/builder/serialization/controls/combobox.js +45 -0
- package/dist/cjs/builder/serialization/controls/combobox.js.map +1 -0
- package/dist/cjs/builder/serialization/controls/list.js +50 -0
- package/dist/cjs/builder/serialization/controls/list.js.map +1 -0
- package/dist/cjs/builder/serialization/controls/rich-text-v2.js +106 -0
- package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +1 -0
- package/dist/cjs/builder/serialization/controls/shape.js +54 -0
- package/dist/cjs/builder/serialization/controls/shape.js.map +1 -0
- package/dist/cjs/builder/serialization/controls/style-v2.js +62 -0
- package/dist/cjs/builder/serialization/controls/style-v2.js.map +1 -0
- package/dist/cjs/builder/unstructured-introspection/__fixtures__/element-containing-resources.js +899 -0
- package/dist/cjs/builder/unstructured-introspection/__fixtures__/element-containing-resources.js.map +1 -0
- package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js +23 -0
- package/dist/cjs/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
- package/dist/cjs/builder/unstructured-introspection/index.js +29 -0
- package/dist/cjs/builder/unstructured-introspection/index.js.map +1 -0
- package/dist/cjs/builder/unstructured-introspection/unstructured-introspection.js +85 -0
- package/dist/cjs/builder/unstructured-introspection/unstructured-introspection.js.map +1 -0
- package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -0
- package/dist/cjs/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
- package/dist/cjs/controls/checkbox.js +41 -0
- package/dist/cjs/controls/checkbox.js.map +1 -0
- package/dist/cjs/controls/color.js +55 -0
- package/dist/cjs/controls/color.js.map +1 -0
- package/dist/cjs/controls/combobox.js +34 -0
- package/dist/cjs/controls/combobox.js.map +1 -0
- package/dist/cjs/controls/control-data-type-key.js +29 -0
- package/dist/cjs/controls/control-data-type-key.js.map +1 -0
- package/dist/cjs/controls/icon-radio-group.js +45 -0
- package/dist/cjs/controls/icon-radio-group.js.map +1 -0
- package/dist/cjs/controls/image.js +34 -0
- package/dist/cjs/controls/image.js.map +1 -0
- package/dist/cjs/controls/list.js +156 -0
- package/dist/cjs/controls/list.js.map +1 -0
- package/dist/cjs/controls/number.js +41 -0
- package/dist/cjs/controls/number.js.map +1 -0
- package/dist/cjs/controls/rich-text/copy.js +121 -0
- package/dist/cjs/controls/rich-text/copy.js.map +1 -0
- package/dist/cjs/controls/rich-text/dto-types.js +43 -0
- package/dist/cjs/controls/rich-text/dto-types.js.map +1 -0
- package/dist/cjs/controls/rich-text/dto.js +228 -0
- package/dist/cjs/controls/rich-text/dto.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/blockquote.js +77 -0
- package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +176 -0
- package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/index.js +27 -0
- package/dist/cjs/controls/rich-text/fixtures/index.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/list.js +137 -0
- package/dist/cjs/controls/rich-text/fixtures/list.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/typography.js +926 -0
- package/dist/cjs/controls/rich-text/fixtures/typography.js.map +1 -0
- package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +114 -0
- package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +1 -0
- package/dist/cjs/controls/rich-text/introspection.js +104 -0
- package/dist/cjs/controls/rich-text/introspection.js.map +1 -0
- package/dist/cjs/controls/rich-text-v2/copy.js +115 -0
- package/dist/cjs/controls/rich-text-v2/copy.js.map +1 -0
- package/dist/cjs/controls/rich-text-v2/dto.js +44 -0
- package/dist/cjs/controls/rich-text-v2/dto.js.map +1 -0
- package/dist/cjs/controls/rich-text-v2/introspection.js +69 -0
- package/dist/cjs/controls/rich-text-v2/introspection.js.map +1 -0
- package/dist/cjs/controls/select.js +34 -0
- package/dist/cjs/controls/select.js.map +1 -0
- package/dist/cjs/controls/shape.js +149 -0
- package/dist/cjs/controls/shape.js.map +1 -0
- package/dist/cjs/controls/style-v2.js +74 -0
- package/dist/cjs/controls/style-v2.js.map +1 -0
- package/dist/cjs/controls/style.js +125 -0
- package/dist/cjs/controls/style.js.map +1 -0
- package/dist/cjs/controls/text-area.js +41 -0
- package/dist/cjs/controls/text-area.js.map +1 -0
- package/dist/cjs/controls/text-input.js +41 -0
- package/dist/cjs/controls/text-input.js.map +1 -0
- package/dist/cjs/controls/types.js +17 -0
- package/dist/cjs/controls/types.js.map +1 -0
- package/dist/cjs/controls/typography.js +47 -0
- package/dist/cjs/controls/typography.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/clear-draft.js +64 -0
- package/dist/cjs/next/api-handler/handlers/clear-draft.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/next/api-handler/handlers/redirect-draft.js +77 -0
- package/dist/cjs/next/api-handler/handlers/redirect-draft.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/redirect-preview.js +68 -0
- package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/utils/draft.js +53 -0
- package/dist/cjs/next/api-handler/handlers/utils/draft.js.map +1 -0
- package/dist/cjs/next/api-handler/handlers/webhook/site-published.js +2 -4
- package/dist/cjs/next/api-handler/handlers/webhook/site-published.js.map +1 -1
- package/dist/cjs/next/cache.js +29 -0
- package/dist/cjs/next/cache.js.map +1 -0
- package/dist/cjs/next/client.js +2 -2
- package/dist/cjs/next/client.js.map +1 -1
- package/dist/cjs/next/context/makeswift-host-api-client.js +46 -0
- package/dist/cjs/next/context/makeswift-host-api-client.js.map +1 -0
- package/dist/cjs/next/context/react-runtime.js +44 -0
- package/dist/cjs/next/context/react-runtime.js.map +1 -0
- package/dist/cjs/next/hooks/use-sync-cache-data.js +41 -0
- package/dist/cjs/next/hooks/use-sync-cache-data.js.map +1 -0
- package/dist/cjs/prop-controllers/base.js +34 -0
- package/dist/cjs/prop-controllers/base.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/backgrounds.js +86 -0
- package/dist/cjs/prop-controllers/copy/backgrounds.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/element-id.js +36 -0
- package/dist/cjs/prop-controllers/copy/element-id.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/grid.js +36 -0
- package/dist/cjs/prop-controllers/copy/grid.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/image.js +35 -0
- package/dist/cjs/prop-controllers/copy/image.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/images.js +49 -0
- package/dist/cjs/prop-controllers/copy/images.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/navigation-links.js +58 -0
- package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/rich-text.js +121 -0
- package/dist/cjs/prop-controllers/copy/rich-text.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/table-form-fields.js +39 -0
- package/dist/cjs/prop-controllers/copy/table-form-fields.js.map +1 -0
- package/dist/cjs/prop-controllers/copy/table.js +33 -0
- package/dist/cjs/prop-controllers/copy/table.js.map +1 -0
- package/dist/cjs/runtimes/react/components/DocumentReference.js +42 -0
- package/dist/cjs/runtimes/react/components/DocumentReference.js.map +1 -0
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js +72 -0
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js +79 -0
- package/dist/cjs/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
- package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js +67 -0
- package/dist/cjs/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
- package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js +45 -0
- package/dist/cjs/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/checkbox.js +34 -0
- package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/color.js +58 -0
- package/dist/cjs/runtimes/react/controls/color.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/combobox.js +31 -0
- package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/icon-radio-group.js +31 -0
- package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/image.js +53 -0
- package/dist/cjs/runtimes/react/controls/image.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/link.js +110 -0
- package/dist/cjs/runtimes/react/controls/link.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/list.js +58 -0
- package/dist/cjs/runtimes/react/controls/list.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/number.js +34 -0
- package/dist/cjs/runtimes/react/controls/number.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/select.js +31 -0
- package/dist/cjs/runtimes/react/controls/select.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/shape.js +44 -0
- package/dist/cjs/runtimes/react/controls/shape.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/style-v2.js +92 -0
- package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/text-area.js +34 -0
- package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -0
- package/dist/cjs/runtimes/react/controls/text-input.js +34 -0
- package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/use-document-key.js +36 -0
- package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +1 -0
- package/dist/cjs/runtimes/react/hooks/use-head-marker.js +40 -0
- package/dist/cjs/runtimes/react/hooks/use-head-marker.js.map +1 -0
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +48 -0
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
- package/dist/cjs/state/makeswift-api-client.js +2 -2
- package/dist/cjs/state/makeswift-api-client.js.map +1 -1
- package/dist/cjs/utils/coalesce.js +33 -0
- package/dist/cjs/utils/coalesce.js.map +1 -0
- package/dist/cjs/utils/index-signature-hack.js +17 -0
- package/dist/cjs/utils/index-signature-hack.js.map +1 -0
- package/dist/cjs/utils/shallowMerge.js +44 -0
- package/dist/cjs/utils/shallowMerge.js.map +1 -0
- package/dist/cjs/utils/tests/breakpoint-test-util.js +35 -0
- package/dist/cjs/utils/tests/breakpoint-test-util.js.map +1 -0
- package/dist/cjs/utils/tests/element-data-test-test.js +75 -0
- package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -0
- package/dist/esm/api/graphql/fragments.js +6 -0
- package/dist/esm/api/graphql/fragments.js.map +1 -0
- package/dist/esm/api/graphql/types.js +16 -0
- package/dist/esm/api/graphql/types.js.map +1 -0
- package/dist/esm/api/resource-types.js +8 -0
- package/dist/esm/api/resource-types.js.map +1 -0
- package/dist/esm/builder/serialization/controls/combobox.js +20 -0
- package/dist/esm/builder/serialization/controls/combobox.js.map +1 -0
- package/dist/esm/builder/serialization/controls/list.js +25 -0
- package/dist/esm/builder/serialization/controls/list.js.map +1 -0
- package/dist/esm/builder/serialization/controls/rich-text-v2.js +81 -0
- package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +1 -0
- package/dist/esm/builder/serialization/controls/shape.js +32 -0
- package/dist/esm/builder/serialization/controls/shape.js.map +1 -0
- package/dist/esm/builder/serialization/controls/style-v2.js +37 -0
- package/dist/esm/builder/serialization/controls/style-v2.js.map +1 -0
- package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js +875 -0
- package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js.map +1 -0
- package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js +2 -0
- package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
- package/dist/esm/builder/unstructured-introspection/index.js +5 -0
- package/dist/esm/builder/unstructured-introspection/index.js.map +1 -0
- package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js +61 -0
- package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js.map +1 -0
- package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -0
- package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
- package/dist/esm/controls/checkbox.js +14 -0
- package/dist/esm/controls/checkbox.js.map +1 -0
- package/dist/esm/controls/color.js +27 -0
- package/dist/esm/controls/color.js.map +1 -0
- package/dist/esm/controls/combobox.js +9 -0
- package/dist/esm/controls/combobox.js.map +1 -0
- package/dist/esm/controls/control-data-type-key.js +5 -0
- package/dist/esm/controls/control-data-type-key.js.map +1 -0
- package/dist/esm/controls/icon-radio-group.js +19 -0
- package/dist/esm/controls/icon-radio-group.js.map +1 -0
- package/dist/esm/controls/image.js +10 -0
- package/dist/esm/controls/image.js.map +1 -0
- package/dist/esm/controls/list.js +132 -0
- package/dist/esm/controls/list.js.map +1 -0
- package/dist/esm/controls/number.js +14 -0
- package/dist/esm/controls/number.js.map +1 -0
- package/dist/esm/controls/rich-text/copy.js +97 -0
- package/dist/esm/controls/rich-text/copy.js.map +1 -0
- package/dist/esm/controls/rich-text/dto-types.js +19 -0
- package/dist/esm/controls/rich-text/dto-types.js.map +1 -0
- package/dist/esm/controls/rich-text/dto.js +203 -0
- package/dist/esm/controls/rich-text/dto.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/blockquote.js +53 -0
- package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +151 -0
- package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/index.js +4 -0
- package/dist/esm/controls/rich-text/fixtures/index.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/list.js +113 -0
- package/dist/esm/controls/rich-text/fixtures/list.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/typography.js +902 -0
- package/dist/esm/controls/rich-text/fixtures/typography.js.map +1 -0
- package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +90 -0
- package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +1 -0
- package/dist/esm/controls/rich-text/introspection.js +78 -0
- package/dist/esm/controls/rich-text/introspection.js.map +1 -0
- package/dist/esm/controls/rich-text-v2/copy.js +91 -0
- package/dist/esm/controls/rich-text-v2/copy.js.map +1 -0
- package/dist/esm/controls/rich-text-v2/dto.js +19 -0
- package/dist/esm/controls/rich-text-v2/dto.js.map +1 -0
- package/dist/esm/controls/rich-text-v2/introspection.js +43 -0
- package/dist/esm/controls/rich-text-v2/introspection.js.map +1 -0
- package/dist/esm/controls/select.js +9 -0
- package/dist/esm/controls/select.js.map +1 -0
- package/dist/esm/controls/shape.js +125 -0
- package/dist/esm/controls/shape.js.map +1 -0
- package/dist/esm/controls/style-v2.js +48 -0
- package/dist/esm/controls/style-v2.js.map +1 -0
- package/dist/esm/controls/style.js +95 -0
- package/dist/esm/controls/style.js.map +1 -0
- package/dist/esm/controls/text-area.js +14 -0
- package/dist/esm/controls/text-area.js.map +1 -0
- package/dist/esm/controls/text-input.js +14 -0
- package/dist/esm/controls/text-input.js.map +1 -0
- package/dist/esm/controls/types.js +1 -0
- package/dist/esm/controls/types.js.map +1 -0
- package/dist/esm/controls/typography.js +20 -0
- package/dist/esm/controls/typography.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/clear-draft.js +50 -0
- package/dist/esm/next/api-handler/handlers/clear-draft.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/next/api-handler/handlers/redirect-draft.js +63 -0
- package/dist/esm/next/api-handler/handlers/redirect-draft.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/redirect-preview.js +54 -0
- package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/utils/draft.js +24 -0
- package/dist/esm/next/api-handler/handlers/utils/draft.js.map +1 -0
- package/dist/esm/next/api-handler/handlers/webhook/site-published.js +1 -2
- package/dist/esm/next/api-handler/handlers/webhook/site-published.js.map +1 -1
- package/dist/esm/next/cache.js +5 -0
- package/dist/esm/next/cache.js.map +1 -0
- package/dist/esm/next/client.js +1 -1
- package/dist/esm/next/client.js.map +1 -1
- package/dist/esm/next/context/makeswift-host-api-client.js +21 -0
- package/dist/esm/next/context/makeswift-host-api-client.js.map +1 -0
- package/dist/esm/next/context/react-runtime.js +19 -0
- package/dist/esm/next/context/react-runtime.js.map +1 -0
- package/dist/esm/next/hooks/use-sync-cache-data.js +17 -0
- package/dist/esm/next/hooks/use-sync-cache-data.js.map +1 -0
- package/dist/esm/prop-controllers/base.js +10 -0
- package/dist/esm/prop-controllers/base.js.map +1 -0
- package/dist/esm/prop-controllers/copy/backgrounds.js +62 -0
- package/dist/esm/prop-controllers/copy/backgrounds.js.map +1 -0
- package/dist/esm/prop-controllers/copy/element-id.js +12 -0
- package/dist/esm/prop-controllers/copy/element-id.js.map +1 -0
- package/dist/esm/prop-controllers/copy/grid.js +12 -0
- package/dist/esm/prop-controllers/copy/grid.js.map +1 -0
- package/dist/esm/prop-controllers/copy/image.js +11 -0
- package/dist/esm/prop-controllers/copy/image.js.map +1 -0
- package/dist/esm/prop-controllers/copy/images.js +25 -0
- package/dist/esm/prop-controllers/copy/images.js.map +1 -0
- package/dist/esm/prop-controllers/copy/navigation-links.js +34 -0
- package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -0
- package/dist/esm/prop-controllers/copy/rich-text.js +97 -0
- package/dist/esm/prop-controllers/copy/rich-text.js.map +1 -0
- package/dist/esm/prop-controllers/copy/table-form-fields.js +15 -0
- package/dist/esm/prop-controllers/copy/table-form-fields.js.map +1 -0
- package/dist/esm/prop-controllers/copy/table.js +9 -0
- package/dist/esm/prop-controllers/copy/table.js.map +1 -0
- package/dist/esm/runtimes/react/components/DocumentReference.js +18 -0
- package/dist/esm/runtimes/react/components/DocumentReference.js.map +1 -0
- package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js +48 -0
- package/dist/esm/runtimes/react/components/draft-switcher/draft-switcher.js.map +1 -0
- package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js +55 -0
- package/dist/esm/runtimes/react/components/draft-switcher/draft-toolbar.js.map +1 -0
- package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js +43 -0
- package/dist/esm/runtimes/react/components/hooks/use-builder-connection-ping.js.map +1 -0
- package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js +21 -0
- package/dist/esm/runtimes/react/components/hooks/use-builder-handshake.js.map +1 -0
- package/dist/esm/runtimes/react/controls/checkbox.js +13 -0
- package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -0
- package/dist/esm/runtimes/react/controls/color.js +24 -0
- package/dist/esm/runtimes/react/controls/color.js.map +1 -0
- package/dist/esm/runtimes/react/controls/combobox.js +7 -0
- package/dist/esm/runtimes/react/controls/combobox.js.map +1 -0
- package/dist/esm/runtimes/react/controls/icon-radio-group.js +7 -0
- package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -0
- package/dist/esm/runtimes/react/controls/image.js +29 -0
- package/dist/esm/runtimes/react/controls/image.js.map +1 -0
- package/dist/esm/runtimes/react/controls/link.js +76 -0
- package/dist/esm/runtimes/react/controls/link.js.map +1 -0
- package/dist/esm/runtimes/react/controls/list.js +34 -0
- package/dist/esm/runtimes/react/controls/list.js.map +1 -0
- package/dist/esm/runtimes/react/controls/number.js +13 -0
- package/dist/esm/runtimes/react/controls/number.js.map +1 -0
- package/dist/esm/runtimes/react/controls/select.js +7 -0
- package/dist/esm/runtimes/react/controls/select.js.map +1 -0
- package/dist/esm/runtimes/react/controls/shape.js +20 -0
- package/dist/esm/runtimes/react/controls/shape.js.map +1 -0
- package/dist/esm/runtimes/react/controls/style-v2.js +72 -0
- package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -0
- package/dist/esm/runtimes/react/controls/text-area.js +13 -0
- package/dist/esm/runtimes/react/controls/text-area.js.map +1 -0
- package/dist/esm/runtimes/react/controls/text-input.js +13 -0
- package/dist/esm/runtimes/react/controls/text-input.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/use-document-key.js +11 -0
- package/dist/esm/runtimes/react/hooks/use-document-key.js.map +1 -0
- package/dist/esm/runtimes/react/hooks/use-head-marker.js +16 -0
- package/dist/esm/runtimes/react/hooks/use-head-marker.js.map +1 -0
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +24 -0
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
- package/dist/esm/state/makeswift-api-client.js +1 -1
- package/dist/esm/state/makeswift-api-client.js.map +1 -1
- package/dist/esm/utils/coalesce.js +13 -0
- package/dist/esm/utils/coalesce.js.map +1 -0
- package/dist/esm/utils/index-signature-hack.js +1 -0
- package/dist/esm/utils/index-signature-hack.js.map +1 -0
- package/dist/esm/utils/shallowMerge.js +14 -0
- package/dist/esm/utils/shallowMerge.js.map +1 -0
- package/dist/esm/utils/tests/breakpoint-test-util.js +9 -0
- package/dist/esm/utils/tests/breakpoint-test-util.js.map +1 -0
- package/dist/esm/utils/tests/element-data-test-test.js +50 -0
- package/dist/esm/utils/tests/element-data-test-test.js.map +1 -0
- package/dist/types/api/graphql/fragments.d.ts +4 -0
- package/dist/types/api/graphql/fragments.d.ts.map +1 -0
- package/dist/types/api/graphql/types.d.ts +8 -0
- package/dist/types/api/graphql/types.d.ts.map +1 -0
- package/dist/types/api/resource-types.d.ts +20 -0
- package/dist/types/api/resource-types.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/combobox.d.ts +5 -0
- package/dist/types/builder/serialization/controls/combobox.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/list.d.ts +5 -0
- package/dist/types/builder/serialization/controls/list.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +5 -0
- package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/shape.d.ts +5 -0
- package/dist/types/builder/serialization/controls/shape.d.ts.map +1 -0
- package/dist/types/builder/serialization/controls/style-v2.d.ts +5 -0
- package/dist/types/builder/serialization/controls/style-v2.d.ts.map +1 -0
- package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts +3 -0
- package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts.map +1 -0
- package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts +2 -0
- package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts.map +1 -0
- package/dist/types/builder/unstructured-introspection/index.d.ts +2 -0
- package/dist/types/builder/unstructured-introspection/index.d.ts.map +1 -0
- package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts +10 -0
- package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts.map +1 -0
- package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts +2 -0
- package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts.map +1 -0
- package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
- package/dist/types/controls/checkbox.d.ts +21 -0
- package/dist/types/controls/checkbox.d.ts.map +1 -0
- package/dist/types/controls/color.d.ts +25 -0
- package/dist/types/controls/color.d.ts.map +1 -0
- package/dist/types/controls/combobox.d.ts +22 -0
- package/dist/types/controls/combobox.d.ts.map +1 -0
- package/dist/types/controls/control-data-type-key.d.ts +2 -0
- package/dist/types/controls/control-data-type-key.d.ts.map +1 -0
- package/dist/types/controls/icon-radio-group.d.ts +32 -0
- package/dist/types/controls/icon-radio-group.d.ts.map +1 -0
- package/dist/types/controls/image.d.ts +4 -0
- package/dist/types/controls/image.d.ts.map +1 -0
- package/dist/types/controls/image.test.d.ts +2 -0
- package/dist/types/controls/image.test.d.ts.map +1 -0
- package/dist/types/controls/link.test.d.ts +2 -0
- package/dist/types/controls/link.test.d.ts.map +1 -0
- package/dist/types/controls/list.d.ts +78 -0
- package/dist/types/controls/list.d.ts.map +1 -0
- package/dist/types/controls/number.d.ts +26 -0
- package/dist/types/controls/number.d.ts.map +1 -0
- package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +2 -0
- package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +1 -0
- package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +2 -0
- package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +1 -0
- package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +2 -0
- package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +1 -0
- package/dist/types/controls/rich-text/copy.d.ts +4 -0
- package/dist/types/controls/rich-text/copy.d.ts.map +1 -0
- package/dist/types/controls/rich-text/dto-types.d.ts +132 -0
- package/dist/types/controls/rich-text/dto-types.d.ts.map +1 -0
- package/dist/types/controls/rich-text/dto.d.ts +8 -0
- package/dist/types/controls/rich-text/dto.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +3 -0
- package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +4 -0
- package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/index.d.ts +4 -0
- package/dist/types/controls/rich-text/fixtures/index.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/list.d.ts +3 -0
- package/dist/types/controls/rich-text/fixtures/list.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/typography.d.ts +3 -0
- package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +1 -0
- package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +3 -0
- package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +1 -0
- package/dist/types/controls/rich-text/introspection.d.ts +5 -0
- package/dist/types/controls/rich-text/introspection.d.ts.map +1 -0
- package/dist/types/controls/rich-text-v2/copy.d.ts +4 -0
- package/dist/types/controls/rich-text-v2/copy.d.ts.map +1 -0
- package/dist/types/controls/rich-text-v2/dto.d.ts +5 -0
- package/dist/types/controls/rich-text-v2/dto.d.ts.map +1 -0
- package/dist/types/controls/rich-text-v2/introspection.d.ts +5 -0
- package/dist/types/controls/rich-text-v2/introspection.d.ts.map +1 -0
- package/dist/types/controls/select.d.ts +22 -0
- package/dist/types/controls/select.d.ts.map +1 -0
- package/dist/types/controls/shape.d.ts +50 -0
- package/dist/types/controls/shape.d.ts.map +1 -0
- package/dist/types/controls/style-v2.d.ts +64 -0
- package/dist/types/controls/style-v2.d.ts.map +1 -0
- package/dist/types/controls/style.d.ts +179 -0
- package/dist/types/controls/style.d.ts.map +1 -0
- package/dist/types/controls/text-area.d.ts +22 -0
- package/dist/types/controls/text-area.d.ts.map +1 -0
- package/dist/types/controls/text-input.d.ts +22 -0
- package/dist/types/controls/text-input.d.ts.map +1 -0
- package/dist/types/controls/types.d.ts +14 -0
- package/dist/types/controls/types.d.ts.map +1 -0
- package/dist/types/controls/typography.d.ts +33 -0
- package/dist/types/controls/typography.d.ts.map +1 -0
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/next/api-handler/handlers/clear-draft.d.ts +20 -0
- package/dist/types/next/api-handler/handlers/clear-draft.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts +18 -0
- package/dist/types/next/api-handler/handlers/redirect-draft.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts +18 -0
- package/dist/types/next/api-handler/handlers/redirect-preview.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/utils/draft.d.ts +16 -0
- package/dist/types/next/api-handler/handlers/utils/draft.d.ts.map +1 -0
- package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts +1 -2
- package/dist/types/next/api-handler/handlers/webhook/site-published.d.ts.map +1 -1
- package/dist/types/next/api-handler/handlers/webhook/types.d.ts +12 -12
- package/dist/types/next/cache.d.ts +2 -0
- package/dist/types/next/cache.d.ts.map +1 -0
- package/dist/types/next/client.d.ts +8 -8
- package/dist/types/next/components/tests/controls/color-control.test.d.ts +3 -0
- package/dist/types/next/components/tests/controls/color-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
- package/dist/types/next/context/makeswift-host-api-client.d.ts +8 -0
- package/dist/types/next/context/makeswift-host-api-client.d.ts.map +1 -0
- package/dist/types/next/context/react-runtime.d.ts +8 -0
- package/dist/types/next/context/react-runtime.d.ts.map +1 -0
- package/dist/types/next/hooks/use-sync-cache-data.d.ts +3 -0
- package/dist/types/next/hooks/use-sync-cache-data.d.ts.map +1 -0
- package/dist/types/prop-controllers/base.d.ts +7 -0
- package/dist/types/prop-controllers/base.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/backgrounds.d.ts +4 -0
- package/dist/types/prop-controllers/copy/backgrounds.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/element-id.d.ts +3 -0
- package/dist/types/prop-controllers/copy/element-id.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/grid.d.ts +4 -0
- package/dist/types/prop-controllers/copy/grid.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/image.d.ts +4 -0
- package/dist/types/prop-controllers/copy/image.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/image.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/image.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/images.d.ts +4 -0
- package/dist/types/prop-controllers/copy/images.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/images.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/images.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/navigation-links.d.ts +4 -0
- package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/navigation-links.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/navigation-links.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/rich-text.d.ts +4 -0
- package/dist/types/prop-controllers/copy/rich-text.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/rich-text.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/rich-text.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/table-form-fields.d.ts +4 -0
- package/dist/types/prop-controllers/copy/table-form-fields.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/table.d.ts +4 -0
- package/dist/types/prop-controllers/copy/table.d.ts.map +1 -0
- package/dist/types/prop-controllers/copy/table.test.d.ts +2 -0
- package/dist/types/prop-controllers/copy/table.test.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/DocumentReference.d.ts +9 -0
- package/dist/types/runtimes/react/components/DocumentReference.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts +4 -0
- package/dist/types/runtimes/react/components/draft-switcher/draft-switcher.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts +6 -0
- package/dist/types/runtimes/react/components/draft-switcher/draft-toolbar.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts +4 -0
- package/dist/types/runtimes/react/components/hooks/use-builder-connection-ping.d.ts.map +1 -0
- package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts +4 -0
- package/dist/types/runtimes/react/components/hooks/use-builder-handshake.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/checkbox.d.ts +4 -0
- package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/color.d.ts +4 -0
- package/dist/types/runtimes/react/controls/color.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/combobox.d.ts +4 -0
- package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +4 -0
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/image.d.ts +4 -0
- package/dist/types/runtimes/react/controls/image.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/link.d.ts +4 -0
- package/dist/types/runtimes/react/controls/link.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/list.d.ts +12 -0
- package/dist/types/runtimes/react/controls/list.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/number.d.ts +4 -0
- package/dist/types/runtimes/react/controls/number.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/select.d.ts +4 -0
- package/dist/types/runtimes/react/controls/select.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/shape.d.ts +12 -0
- package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/style-v2.d.ts +13 -0
- package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/text-area.d.ts +4 -0
- package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -0
- package/dist/types/runtimes/react/controls/text-input.d.ts +4 -0
- package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-document-key.d.ts +4 -0
- package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +1 -0
- package/dist/types/runtimes/react/hooks/use-head-marker.d.ts +3 -0
- package/dist/types/runtimes/react/hooks/use-head-marker.d.ts.map +1 -0
- package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +16 -0
- package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +1 -0
- package/dist/types/state/react-builder-preview.test.d.ts +2 -0
- package/dist/types/state/react-builder-preview.test.d.ts.map +1 -0
- package/dist/types/state/react-page.test.d.ts +2 -0
- package/dist/types/state/react-page.test.d.ts.map +1 -0
- package/dist/types/utils/coalesce.d.ts +3 -0
- package/dist/types/utils/coalesce.d.ts.map +1 -0
- package/dist/types/utils/index-signature-hack.d.ts +4 -0
- package/dist/types/utils/index-signature-hack.d.ts.map +1 -0
- package/dist/types/utils/shallowMerge.d.ts +2 -0
- package/dist/types/utils/shallowMerge.d.ts.map +1 -0
- package/dist/types/utils/tests/breakpoint-test-util.d.ts +4 -0
- package/dist/types/utils/tests/breakpoint-test-util.d.ts.map +1 -0
- package/dist/types/utils/tests/element-data-test-test.d.ts +51 -0
- package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function copy(value, context) {
|
|
2
|
+
if (value == null)
|
|
3
|
+
return value;
|
|
4
|
+
return { ...value, fields: value.fields.map(copyFormFieldsPanelItem) };
|
|
5
|
+
function copyFormFieldsPanelItem(item) {
|
|
6
|
+
return {
|
|
7
|
+
...item,
|
|
8
|
+
tableColumnId: context.replacementContext.tableColumnIds.get(item.tableColumnId) ?? item.tableColumnId
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export {
|
|
13
|
+
copy
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=table-form-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/table-form-fields.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { TableFormFieldsValue } from '../descriptors'\n\nexport function copy(\n value: TableFormFieldsValue | undefined,\n context: CopyContext,\n): TableFormFieldsValue | undefined {\n if (value == null) return value\n\n return { ...value, fields: value.fields.map(copyFormFieldsPanelItem) }\n\n function copyFormFieldsPanelItem(item: any): any {\n return {\n ...item,\n tableColumnId:\n context.replacementContext.tableColumnIds.get(item.tableColumnId) ?? item.tableColumnId,\n }\n }\n}\n"],"mappings":"AAGO,SAAS,KACd,OACA,SACkC;AAClC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,EAAE,GAAG,OAAO,QAAQ,MAAM,OAAO,IAAI,uBAAuB,EAAE;AAErE,WAAS,wBAAwB,MAAgB;AAC/C,WAAO;AAAA,MACL,GAAG;AAAA,MACH,eACE,QAAQ,mBAAmB,eAAe,IAAI,KAAK,aAAa,KAAK,KAAK;AAAA,IAC9E;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/table.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { TableValue } from '../descriptors'\n\nexport function copy(value: TableValue | undefined, context: CopyContext): TableValue | undefined {\n if (value == null) return value\n\n return context.replacementContext.tableIds.get(value) ?? value\n}\n"],"mappings":"AAGO,SAAS,KAAK,OAA+B,SAA8C;AAChG,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,QAAQ,mBAAmB,SAAS,IAAI,KAAK,KAAK;AAC3D;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, memo } from "react";
|
|
3
|
+
import { useDocument } from "../hooks/use-document";
|
|
4
|
+
import { FallbackComponent } from "../../../components/shared/FallbackComponent";
|
|
5
|
+
import { Document } from "./Document";
|
|
6
|
+
const DocumentReference = memo(
|
|
7
|
+
forwardRef(function DocumentReference2({ documentReference }, ref) {
|
|
8
|
+
const document = useDocument(documentReference.key);
|
|
9
|
+
if (document == null) {
|
|
10
|
+
return /* @__PURE__ */ jsx(FallbackComponent, { ref, text: "Document not found" });
|
|
11
|
+
}
|
|
12
|
+
return /* @__PURE__ */ jsx(Document, { ref, document });
|
|
13
|
+
})
|
|
14
|
+
);
|
|
15
|
+
export {
|
|
16
|
+
DocumentReference
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=DocumentReference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/components/DocumentReference.tsx"],"sourcesContent":["import { Ref, forwardRef, memo } from 'react'\nimport { DocumentReference as ReactPageDocumentReference } from '../../../state/react-page'\nimport { ElementImperativeHandle } from '../element-imperative-handle'\nimport { useDocument } from '../hooks/use-document'\nimport { FallbackComponent } from '../../../components/shared/FallbackComponent'\nimport { Document } from './Document'\n\ntype DocumentReferenceProps = {\n documentReference: ReactPageDocumentReference\n}\n\nexport const DocumentReference = memo(\n forwardRef(function DocumentReference(\n { documentReference }: DocumentReferenceProps,\n ref: Ref<ElementImperativeHandle>,\n ): JSX.Element {\n const document = useDocument(documentReference.key)\n\n if (document == null) {\n return <FallbackComponent ref={ref as Ref<HTMLDivElement>} text=\"Document not found\" />\n }\n\n return <Document ref={ref} document={document} />\n }),\n)\n"],"mappings":"AAmBa;AAnBb,SAAc,YAAY,YAAY;AAGtC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AAMlB,MAAM,oBAAoB;AAAA,EAC/B,WAAW,SAASA,mBAClB,EAAE,kBAAkB,GACpB,KACa;AACb,UAAM,WAAW,YAAY,kBAAkB,GAAG;AAElD,QAAI,YAAY,MAAM;AACpB,aAAO,oBAAC,qBAAkB,KAAiC,MAAK,sBAAqB;AAAA,IACvF;AAEA,WAAO,oBAAC,YAAS,KAAU,UAAoB;AAAA,EACjD,CAAC;AACH;","names":["DocumentReference"]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef, useState } from "react";
|
|
3
|
+
import { createPortal } from "react-dom";
|
|
4
|
+
import { useIsInBuilder } from "../../hooks/use-is-in-builder";
|
|
5
|
+
import { DraftToolbar } from "./draft-toolbar";
|
|
6
|
+
const ClearDraftModeRequestPath = "/api/makeswift/clear-draft";
|
|
7
|
+
async function exitDraftMode() {
|
|
8
|
+
try {
|
|
9
|
+
await fetch(ClearDraftModeRequestPath);
|
|
10
|
+
window.location.reload();
|
|
11
|
+
} catch (err) {
|
|
12
|
+
console.error("Could not clear Makeswift cookies. Please report this error to your developer.");
|
|
13
|
+
console.error(err);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function DraftSwitcher({ isDraft }) {
|
|
17
|
+
const shadowContainerRef = useRef(null);
|
|
18
|
+
const [shadowRoot, setShadowRoot] = useState(null);
|
|
19
|
+
const isInBuilder = useIsInBuilder();
|
|
20
|
+
const showToolbar = !isInBuilder && isDraft;
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
if (!showToolbar)
|
|
23
|
+
return;
|
|
24
|
+
if (shadowContainerRef.current && shadowContainerRef.current.shadowRoot == null && shadowRoot == null) {
|
|
25
|
+
const root = shadowContainerRef.current.attachShadow({ mode: "open" });
|
|
26
|
+
setShadowRoot(root);
|
|
27
|
+
}
|
|
28
|
+
}, [showToolbar, shadowRoot, setShadowRoot]);
|
|
29
|
+
if (!showToolbar)
|
|
30
|
+
return null;
|
|
31
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
32
|
+
showToolbar && /* @__PURE__ */ jsx("span", { id: "makeswift-draft-switcher", ref: shadowContainerRef, children: shadowRoot ? createPortal(/* @__PURE__ */ jsx(DraftToolbar, { onExitDraft: exitDraftMode }), shadowRoot) : null }),
|
|
33
|
+
/* @__PURE__ */ jsx(
|
|
34
|
+
"script",
|
|
35
|
+
{
|
|
36
|
+
type: "application/json",
|
|
37
|
+
id: "makeswift-draft-info",
|
|
38
|
+
dangerouslySetInnerHTML: {
|
|
39
|
+
__html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder })
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] });
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
DraftSwitcher
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=draft-switcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-switcher.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { useIsInBuilder } from '../../hooks/use-is-in-builder'\nimport { DraftToolbar } from './draft-toolbar'\n\nconst ClearDraftModeRequestPath = '/api/makeswift/clear-draft'\n\nasync function exitDraftMode() {\n try {\n await fetch(ClearDraftModeRequestPath)\n window.location.reload()\n } catch (err) {\n console.error('Could not clear Makeswift cookies. Please report this error to your developer.')\n console.error(err)\n }\n}\n\nexport function DraftSwitcher({ isDraft }: { isDraft: boolean }) {\n const shadowContainerRef = useRef<HTMLSpanElement | null>(null)\n const [shadowRoot, setShadowRoot] = useState<ShadowRoot | null>(null)\n const isInBuilder = useIsInBuilder()\n\n const showToolbar = !isInBuilder && isDraft\n\n useEffect(() => {\n if (!showToolbar) return\n if (\n shadowContainerRef.current &&\n shadowContainerRef.current.shadowRoot == null &&\n shadowRoot == null\n ) {\n const root = shadowContainerRef.current.attachShadow({ mode: 'open' })\n setShadowRoot(root)\n }\n }, [showToolbar, shadowRoot, setShadowRoot])\n\n if (!showToolbar) return null\n\n return (\n <>\n {showToolbar && (\n <span id=\"makeswift-draft-switcher\" ref={shadowContainerRef}>\n {shadowRoot\n ? createPortal(<DraftToolbar onExitDraft={exitDraftMode} />, shadowRoot)\n : null}\n </span>\n )}\n <script\n type=\"application/json\"\n id=\"makeswift-draft-info\"\n dangerouslySetInnerHTML={{\n __html: JSON.stringify({ draft: isDraft, inBuilder: isInBuilder }),\n }}\n />\n </>\n )\n}\n"],"mappings":"AAwCI,mBAIuB,KAJvB;AAxCJ,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,oBAAoB;AAE7B,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAE7B,MAAM,4BAA4B;AAElC,eAAe,gBAAgB;AAC7B,MAAI;AACF,UAAM,MAAM,yBAAyB;AACrC,WAAO,SAAS,OAAO;AAAA,EACzB,SAAS,KAAK;AACZ,YAAQ,MAAM,gFAAgF;AAC9F,YAAQ,MAAM,GAAG;AAAA,EACnB;AACF;AAEO,SAAS,cAAc,EAAE,QAAQ,GAAyB;AAC/D,QAAM,qBAAqB,OAA+B,IAAI;AAC9D,QAAM,CAAC,YAAY,aAAa,IAAI,SAA4B,IAAI;AACpE,QAAM,cAAc,eAAe;AAEnC,QAAM,cAAc,CAAC,eAAe;AAEpC,YAAU,MAAM;AACd,QAAI,CAAC;AAAa;AAClB,QACE,mBAAmB,WACnB,mBAAmB,QAAQ,cAAc,QACzC,cAAc,MACd;AACA,YAAM,OAAO,mBAAmB,QAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AACrE,oBAAc,IAAI;AAAA,IACpB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,aAAa,CAAC;AAE3C,MAAI,CAAC;AAAa,WAAO;AAEzB,SACE,iCACG;AAAA,mBACC,oBAAC,UAAK,IAAG,4BAA2B,KAAK,oBACtC,uBACG,aAAa,oBAAC,gBAAa,aAAa,eAAe,GAAI,UAAU,IACrE,MACN;AAAA,IAEF;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ,KAAK,UAAU,EAAE,OAAO,SAAS,WAAW,YAAY,CAAC;AAAA,QACnE;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
const makeswiftIcon = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC";
|
|
3
|
+
const styles = `
|
|
4
|
+
.exit-preview-container {
|
|
5
|
+
position: fixed;
|
|
6
|
+
bottom: 16px;
|
|
7
|
+
right: 16px;
|
|
8
|
+
z-index: 2147483647;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.exit-preview-button {
|
|
12
|
+
background: #2e2e2e;
|
|
13
|
+
padding: 10px 18px 10px 14px;
|
|
14
|
+
border: 0px;
|
|
15
|
+
border-radius: 32px;
|
|
16
|
+
color: #efefef;
|
|
17
|
+
box-shadow:
|
|
18
|
+
0 11px 40px 0 rgba(0, 0, 0, 0.25),
|
|
19
|
+
0 2px 10px 0 rgba(0, 0, 0, 0.12);
|
|
20
|
+
transition: 150ms;
|
|
21
|
+
|
|
22
|
+
font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',
|
|
23
|
+
'Segoe UI Emoji';
|
|
24
|
+
font-size: 14px;
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
gap: 6px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.exit-preview-button > .label {
|
|
33
|
+
transform: translateY(-1px);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.exit-preview-container:hover > .exit-preview-button {
|
|
37
|
+
transform: translateY(-2px);
|
|
38
|
+
box-shadow:
|
|
39
|
+
0 15px 40px 0 rgba(0, 0, 0, 0.3),
|
|
40
|
+
0 6px 10px 0 rgba(0, 0, 0, 0.15);
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
function DraftToolbar({ onExitDraft }) {
|
|
44
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
45
|
+
/* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: styles } }),
|
|
46
|
+
/* @__PURE__ */ jsx("div", { className: "exit-preview-container", children: /* @__PURE__ */ jsxs("button", { className: "exit-preview-button", onClick: onExitDraft, children: [
|
|
47
|
+
/* @__PURE__ */ jsx("img", { src: makeswiftIcon, alt: "Makeswift Logo", width: 18, height: 18 }),
|
|
48
|
+
/* @__PURE__ */ jsx("span", { className: "label", children: "Exit Preview" })
|
|
49
|
+
] }) })
|
|
50
|
+
] });
|
|
51
|
+
}
|
|
52
|
+
export {
|
|
53
|
+
DraftToolbar
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=draft-toolbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/draft-switcher/draft-toolbar.tsx"],"sourcesContent":["const makeswiftIcon =\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAAACXBIWXMAABcRAAAXEQHKJvM/AAABjElEQVRYhc2XzU3EMBCFB8TddAAXn6EE6GCpgNABZ1/IXnymBOgAOmA7YM8+ABVsXEHQQFaKQryeN3Yk3ilKJtEnv/nLUd/3pFG0riGi88yrnQn+UfJ5FUi0riWiB2H4nQn+KRd0DFP8agXEfkqCYJBoHdtxIQxfm+DfFgEhoith3NYE30o/qgGR2BJB+xY7kdYEL8oNFUi0jiFMJuxVWrJqEMFxsyUNCsE6AeNztvBp7aJ143vXksoRnwhYtmNdSoIQa6RlO9YXEWW7KgoCleOgxgTf1QZBT+RZ2lXFING6UxCCq+ceeUE8fYdknY599v9sJvzGBP+yCEgC7GPmETc0OJ+0awAlkhe2pAbIXAeFZ8xe2g2Nk3c3ub0xwWt6zY9qbmiqGVMbZK21ZC/YmhlbeBMTzZNDQqcvDb1kM1x32iqZSt1HaqukfKvq34BAOTLsrH+ETNmUkKHHA+428RgeclPVWozeSyAI2EdWB34jtqXNTAySOY3i/KgFIlqOa4GkFmBegorzg4joG07he/M7zl6jAAAAAElFTkSuQmCC'\n\nconst styles = `\n.exit-preview-container {\n position: fixed;\n bottom: 16px;\n right: 16px;\n z-index: 2147483647;\n}\n\n.exit-preview-button {\n background: #2e2e2e;\n padding: 10px 18px 10px 14px;\n border: 0px;\n border-radius: 32px;\n color: #efefef;\n box-shadow:\n 0 11px 40px 0 rgba(0, 0, 0, 0.25),\n 0 2px 10px 0 rgba(0, 0, 0, 0.12);\n transition: 150ms;\n\n font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji';\n font-size: 14px;\n cursor: pointer;\n\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.exit-preview-button > .label {\n transform: translateY(-1px);\n}\n\n.exit-preview-container:hover > .exit-preview-button {\n transform: translateY(-2px);\n box-shadow:\n 0 15px 40px 0 rgba(0, 0, 0, 0.3),\n 0 6px 10px 0 rgba(0, 0, 0, 0.15);\n}\n`\n\ntype Props = {\n onExitDraft: () => void\n}\n\nexport function DraftToolbar({ onExitDraft }: Props) {\n return (\n <>\n <style dangerouslySetInnerHTML={{ __html: styles }} />\n <div className=\"exit-preview-container\">\n <button className=\"exit-preview-button\" onClick={onExitDraft}>\n <img src={makeswiftIcon} alt=\"Makeswift Logo\" width={18} height={18} />\n <span className=\"label\">Exit Preview</span>\n </button>\n </div>\n </>\n )\n}\n"],"mappings":"AAkDI,mBACE,KAEE,YAHJ;AAlDJ,MAAM,gBACJ;AAEF,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6CR,SAAS,aAAa,EAAE,YAAY,GAAU;AACnD,SACE,iCACE;AAAA,wBAAC,WAAM,yBAAyB,EAAE,QAAQ,OAAO,GAAG;AAAA,IACpD,oBAAC,SAAI,WAAU,0BACb,+BAAC,YAAO,WAAU,uBAAsB,SAAS,aAC/C;AAAA,0BAAC,SAAI,KAAK,eAAe,KAAI,kBAAiB,OAAO,IAAI,QAAQ,IAAI;AAAA,MACrE,oBAAC,UAAK,WAAU,SAAQ,0BAAY;AAAA,OACtC,GACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { ActionTypes } from "../../../../react";
|
|
3
|
+
const CONNECTION_PING_INTERVAL_MS = 20;
|
|
4
|
+
function useBuilderConnectionPing({ appOrigin }) {
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
let connectionInterval;
|
|
7
|
+
if (window.parent !== window) {
|
|
8
|
+
window.addEventListener("message", messageHandler);
|
|
9
|
+
window.parent.postMessage(
|
|
10
|
+
{ type: ActionTypes.MAKESWIFT_CONNECTION_INIT },
|
|
11
|
+
{ targetOrigin: appOrigin }
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
return () => {
|
|
15
|
+
window.removeEventListener("message", messageHandler);
|
|
16
|
+
if (connectionInterval != null) {
|
|
17
|
+
window.clearInterval(connectionInterval);
|
|
18
|
+
connectionInterval = null;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
function messageHandler(event) {
|
|
22
|
+
if (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {
|
|
23
|
+
if (connectionInterval != null) {
|
|
24
|
+
window.clearInterval(connectionInterval);
|
|
25
|
+
connectionInterval = null;
|
|
26
|
+
}
|
|
27
|
+
connectionInterval = window.setInterval(() => {
|
|
28
|
+
window.parent.postMessage(
|
|
29
|
+
{
|
|
30
|
+
type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,
|
|
31
|
+
payload: { currentUrl: window.location.href }
|
|
32
|
+
},
|
|
33
|
+
{ targetOrigin: appOrigin }
|
|
34
|
+
);
|
|
35
|
+
}, CONNECTION_PING_INTERVAL_MS);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}, [appOrigin]);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
useBuilderConnectionPing
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=use-builder-connection-ping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-connection-ping.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { ActionTypes } from '../../../../react'\n\nconst CONNECTION_PING_INTERVAL_MS = 20\n\nexport function useBuilderConnectionPing({ appOrigin }: { appOrigin: string }) {\n useEffect(() => {\n let connectionInterval: number | null\n\n if (window.parent !== window) {\n window.addEventListener('message', messageHandler)\n window.parent.postMessage(\n { type: ActionTypes.MAKESWIFT_CONNECTION_INIT },\n { targetOrigin: appOrigin },\n )\n }\n\n return () => {\n window.removeEventListener('message', messageHandler)\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n }\n\n function messageHandler(event: MessageEvent): void {\n if (event.origin === appOrigin && event.data.type === ActionTypes.MAKESWIFT_CONNECTION_INIT) {\n if (connectionInterval != null) {\n window.clearInterval(connectionInterval)\n connectionInterval = null\n }\n\n connectionInterval = window.setInterval(() => {\n window.parent.postMessage(\n {\n type: ActionTypes.MAKESWIFT_CONNECTION_CHECK,\n payload: { currentUrl: window.location.href },\n },\n { targetOrigin: appOrigin },\n )\n }, CONNECTION_PING_INTERVAL_MS)\n }\n }\n }, [appOrigin])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAE5B,MAAM,8BAA8B;AAE7B,SAAS,yBAAyB,EAAE,UAAU,GAA0B;AAC7E,YAAU,MAAM;AACd,QAAI;AAEJ,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,iBAAiB,WAAW,cAAc;AACjD,aAAO,OAAO;AAAA,QACZ,EAAE,MAAM,YAAY,0BAA0B;AAAA,QAC9C,EAAE,cAAc,UAAU;AAAA,MAC5B;AAAA,IACF;AAEA,WAAO,MAAM;AACX,aAAO,oBAAoB,WAAW,cAAc;AACpD,UAAI,sBAAsB,MAAM;AAC9B,eAAO,cAAc,kBAAkB;AACvC,6BAAqB;AAAA,MACvB;AAAA,IACF;AAEA,aAAS,eAAe,OAA2B;AACjD,UAAI,MAAM,WAAW,aAAa,MAAM,KAAK,SAAS,YAAY,2BAA2B;AAC3F,YAAI,sBAAsB,MAAM;AAC9B,iBAAO,cAAc,kBAAkB;AACvC,+BAAqB;AAAA,QACvB;AAEA,6BAAqB,OAAO,YAAY,MAAM;AAC5C,iBAAO,OAAO;AAAA,YACZ;AAAA,cACE,MAAM,YAAY;AAAA,cAClB,SAAS,EAAE,YAAY,OAAO,SAAS,KAAK;AAAA,YAC9C;AAAA,YACA,EAAE,cAAc,UAAU;AAAA,UAC5B;AAAA,QACF,GAAG,2BAA2B;AAAA,MAChC;AAAA,IACF;AAAA,EACF,GAAG,CAAC,SAAS,CAAC;AAChB;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useEffect, useMemo } from "react";
|
|
2
|
+
import { useIsPagesRouter } from "../../../../next/hooks/use-is-pages-router";
|
|
3
|
+
const PAGES_ROUTER_HANDSHAKE_MESSAGE = "makeswift_preview_mode";
|
|
4
|
+
const APP_ROUTER_HANDSHAKE_MESSAGE = "makeswift_draft_mode";
|
|
5
|
+
function useBuilderHandshake({ appOrigin }) {
|
|
6
|
+
const isPagesRouter = useIsPagesRouter();
|
|
7
|
+
const handshakeInitiationMessage = useMemo(() => {
|
|
8
|
+
if (isPagesRouter)
|
|
9
|
+
return PAGES_ROUTER_HANDSHAKE_MESSAGE;
|
|
10
|
+
return APP_ROUTER_HANDSHAKE_MESSAGE;
|
|
11
|
+
}, [isPagesRouter]);
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (window.parent !== window) {
|
|
14
|
+
window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin });
|
|
15
|
+
}
|
|
16
|
+
}, [appOrigin, handshakeInitiationMessage]);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
useBuilderHandshake
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=use-builder-handshake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../../src/runtimes/react/components/hooks/use-builder-handshake.ts"],"sourcesContent":["import { useEffect, useMemo } from 'react'\nimport { useIsPagesRouter } from '../../../../next/hooks/use-is-pages-router'\n\nconst PAGES_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_preview_mode'\nconst APP_ROUTER_HANDSHAKE_MESSAGE = 'makeswift_draft_mode'\n\nexport function useBuilderHandshake({ appOrigin }: { appOrigin: string }) {\n const isPagesRouter = useIsPagesRouter()\n\n const handshakeInitiationMessage = useMemo(() => {\n if (isPagesRouter) return PAGES_ROUTER_HANDSHAKE_MESSAGE\n return APP_ROUTER_HANDSHAKE_MESSAGE\n }, [isPagesRouter])\n\n useEffect(() => {\n if (window.parent !== window) {\n window.parent.postMessage({ type: handshakeInitiationMessage }, { targetOrigin: appOrigin })\n }\n }, [appOrigin, handshakeInitiationMessage])\n}\n"],"mappings":"AAAA,SAAS,WAAW,eAAe;AACnC,SAAS,wBAAwB;AAEjC,MAAM,iCAAiC;AACvC,MAAM,+BAA+B;AAE9B,SAAS,oBAAoB,EAAE,UAAU,GAA0B;AACxE,QAAM,gBAAgB,iBAAiB;AAEvC,QAAM,6BAA6B,QAAQ,MAAM;AAC/C,QAAI;AAAe,aAAO;AAC1B,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,CAAC;AAElB,YAAU,MAAM;AACd,QAAI,OAAO,WAAW,QAAQ;AAC5B,aAAO,OAAO,YAAY,EAAE,MAAM,2BAA2B,GAAG,EAAE,cAAc,UAAU,CAAC;AAAA,IAC7F;AAAA,EACF,GAAG,CAAC,WAAW,0BAA0B,CAAC;AAC5C;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { match } from "ts-pattern";
|
|
2
|
+
import {
|
|
3
|
+
CheckboxControlDataTypeKey,
|
|
4
|
+
CheckboxControlDataTypeValueV1
|
|
5
|
+
} from "@makeswift/controls";
|
|
6
|
+
function useCheckboxControlValue(data, definition) {
|
|
7
|
+
const value = match(data).with({ [CheckboxControlDataTypeKey]: CheckboxControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useCheckboxControlValue
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/checkbox.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n CheckboxControlData,\n CheckboxControlDataTypeKey,\n CheckboxControlDataTypeValueV1,\n CheckboxControlDefinition,\n} from '@makeswift/controls'\n\nexport type CheckboxControlValue<T extends CheckboxControlDefinition> =\n undefined extends T['config']['defaultValue'] ? boolean | undefined : boolean\n\nexport function useCheckboxControlValue<T extends CheckboxControlDefinition>(\n data: CheckboxControlData | undefined,\n definition: T,\n): CheckboxControlValue<T> {\n const value: boolean | undefined =\n match(data)\n .with({ [CheckboxControlDataTypeKey]: CheckboxControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as CheckboxControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,wBACd,MACA,YACyB;AACzB,QAAM,QACJ,MAAM,IAAI,EACP,KAAK,EAAE,CAAC,0BAA0B,GAAG,+BAA+B,GAAG,SAAO,IAAI,KAAK,EACvF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import Color from "color";
|
|
2
|
+
import { useSwatch } from "../hooks/makeswift-api";
|
|
3
|
+
function useColorValue(data, definition) {
|
|
4
|
+
const swatchId = data?.swatchId ?? null;
|
|
5
|
+
const swatch = useSwatch(swatchId);
|
|
6
|
+
const alpha = data?.alpha ?? 1;
|
|
7
|
+
if (swatch == null) {
|
|
8
|
+
const { defaultValue } = definition.config;
|
|
9
|
+
if (defaultValue === void 0)
|
|
10
|
+
return void 0;
|
|
11
|
+
let defaultColor;
|
|
12
|
+
try {
|
|
13
|
+
defaultColor = Color(definition.config.defaultValue);
|
|
14
|
+
} catch {
|
|
15
|
+
defaultColor = Color();
|
|
16
|
+
}
|
|
17
|
+
return defaultColor.rgb().string();
|
|
18
|
+
}
|
|
19
|
+
return Color({ h: swatch.hue, s: swatch.saturation, l: swatch.lightness }).alpha(alpha).rgb().string();
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
useColorValue
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/color.ts"],"sourcesContent":["import Color from 'color'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ColorDefinition } from '../../../controls'\n\nimport { useSwatch } from '../hooks/makeswift-api'\n\nexport function useColorValue(\n data: DataType<ColorDefinition> | undefined,\n definition: ColorDefinition,\n): ResolvedValueType<ColorDefinition> {\n const swatchId = data?.swatchId ?? null\n const swatch = useSwatch(swatchId)\n const alpha = data?.alpha ?? 1\n\n if (swatch == null) {\n const { defaultValue } = definition.config\n\n if (defaultValue === undefined) return undefined\n\n let defaultColor\n try {\n defaultColor = Color(definition.config.defaultValue)\n } catch {\n defaultColor = Color()\n }\n\n return defaultColor.rgb().string()\n }\n\n return Color({ h: swatch.hue, s: swatch.saturation, l: swatch.lightness })\n .alpha(alpha)\n .rgb()\n .string()\n}\n"],"mappings":"AAAA,OAAO,WAAW;AAMlB,SAAS,iBAAiB;AAEnB,SAAS,cACd,MACA,YACoC;AACpC,QAAM,WAAW,MAAM,YAAY;AACnC,QAAM,SAAS,UAAU,QAAQ;AACjC,QAAM,QAAQ,MAAM,SAAS;AAE7B,MAAI,UAAU,MAAM;AAClB,UAAM,EAAE,aAAa,IAAI,WAAW;AAEpC,QAAI,iBAAiB;AAAW,aAAO;AAEvC,QAAI;AACJ,QAAI;AACF,qBAAe,MAAM,WAAW,OAAO,YAAY;AAAA,IACrD,QAAQ;AACN,qBAAe,MAAM;AAAA,IACvB;AAEA,WAAO,aAAa,IAAI,EAAE,OAAO;AAAA,EACnC;AAEA,SAAO,MAAM,EAAE,GAAG,OAAO,KAAK,GAAG,OAAO,YAAY,GAAG,OAAO,UAAU,CAAC,EACtE,MAAM,KAAK,EACX,IAAI,EACJ,OAAO;AACZ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/combobox.ts"],"sourcesContent":["import {\n ComboboxControlData,\n ComboboxControlDefinition,\n ComboboxControlDefinitionOption,\n} from '../../../controls'\n\nexport type ComboboxControlValue<T extends ComboboxControlDefinition> =\n | ComboboxControlDefinitionOption<T>\n | undefined\n\nexport function useComboboxControlValue<T extends ComboboxControlDefinition>(\n data: ComboboxControlData<T> | undefined,\n): ComboboxControlValue<T> {\n return data?.value\n}\n"],"mappings":"AAUO,SAAS,wBACd,MACyB;AACzB,SAAO,MAAM;AACf;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/icon-radio-group.ts"],"sourcesContent":["import { IconRadioGroupControlData, IconRadioGroupControlDefinition } from '@makeswift/controls'\n\nexport type IconRadioGroupControlValue<T extends IconRadioGroupControlDefinition> =\n undefined extends T['config']['defaultValue']\n ? IconRadioGroupControlData | undefined\n : IconRadioGroupControlData\n\nexport function useIconRadioGroupValue<T extends IconRadioGroupControlDefinition>(\n iconRadioGroupControlData: IconRadioGroupControlData | undefined,\n controlDefinition: T,\n): IconRadioGroupControlValue<T> {\n return (iconRadioGroupControlData ??\n controlDefinition.config.defaultValue) as IconRadioGroupControlValue<T>\n}\n"],"mappings":"AAOO,SAAS,uBACd,2BACA,mBAC+B;AAC/B,SAAQ,6BACN,kBAAkB,OAAO;AAC7B;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { P, match } from "ts-pattern";
|
|
2
|
+
import { Image } from "../../../controls";
|
|
3
|
+
import { useFile } from "../hooks/makeswift-api";
|
|
4
|
+
function useImageControlValue(data, definition) {
|
|
5
|
+
const format = definition.config.format ?? Image.Format.URL;
|
|
6
|
+
const fileId = match(data).with(P.string, (id) => id).with({ type: "makeswift-file" }, ({ id }) => id).otherwise(() => null);
|
|
7
|
+
const file = useFile(fileId);
|
|
8
|
+
return match([file, data, format]).with([{ __typename: "File" }, P.any, Image.Format.URL], ([file2]) => file2.publicUrl).with(
|
|
9
|
+
[{ __typename: "File", dimensions: P.not(P.nullish) }, P.any, Image.Format.WithDimensions],
|
|
10
|
+
([file2]) => ({
|
|
11
|
+
url: file2.publicUrl,
|
|
12
|
+
dimensions: file2.dimensions
|
|
13
|
+
})
|
|
14
|
+
).with([P.any, { type: "external-file" }, Image.Format.URL], ([, d]) => d.url).with(
|
|
15
|
+
[
|
|
16
|
+
P.any,
|
|
17
|
+
{ type: "external-file", width: P.number, height: P.number },
|
|
18
|
+
Image.Format.WithDimensions
|
|
19
|
+
],
|
|
20
|
+
([, d]) => ({
|
|
21
|
+
url: d.url,
|
|
22
|
+
dimensions: { width: d.width, height: d.height }
|
|
23
|
+
})
|
|
24
|
+
).otherwise(() => void 0);
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
useImageControlValue
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/image.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { Image, ImageDefinition } from '../../../controls'\n\nimport { useFile } from '../hooks/makeswift-api'\n\nexport function useImageControlValue(\n data: DataType<ImageDefinition> | undefined,\n definition: ImageDefinition,\n): ResolvedValueType<ImageDefinition> {\n const format = definition.config.format ?? Image.Format.URL\n\n const fileId = match(data)\n .with(P.string, id => id)\n .with({ type: 'makeswift-file' }, ({ id }) => id)\n .otherwise(() => null)\n\n const file = useFile(fileId)\n\n return match([file, data, format])\n .with([{ __typename: 'File' }, P.any, Image.Format.URL], ([file]) => file.publicUrl)\n .with(\n [{ __typename: 'File', dimensions: P.not(P.nullish) }, P.any, Image.Format.WithDimensions],\n ([file]) => ({\n url: file.publicUrl,\n dimensions: file.dimensions,\n }),\n )\n .with([P.any, { type: 'external-file' }, Image.Format.URL], ([, d]) => d.url)\n .with(\n [\n P.any,\n { type: 'external-file', width: P.number, height: P.number },\n Image.Format.WithDimensions,\n ],\n ([, d]) => ({\n url: d.url,\n dimensions: { width: d.width, height: d.height },\n }),\n )\n .otherwise(() => undefined)\n}\n"],"mappings":"AAAA,SAAS,GAAG,aAAa;AAIzB,SAAS,aAA8B;AAEvC,SAAS,eAAe;AAEjB,SAAS,qBACd,MACA,YACoC;AACpC,QAAM,SAAS,WAAW,OAAO,UAAU,MAAM,OAAO;AAExD,QAAM,SAAS,MAAM,IAAI,EACtB,KAAK,EAAE,QAAQ,QAAM,EAAE,EACvB,KAAK,EAAE,MAAM,iBAAiB,GAAG,CAAC,EAAE,GAAG,MAAM,EAAE,EAC/C,UAAU,MAAM,IAAI;AAEvB,QAAM,OAAO,QAAQ,MAAM;AAE3B,SAAO,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,EAC9B,KAAK,CAAC,EAAE,YAAY,OAAO,GAAG,EAAE,KAAK,MAAM,OAAO,GAAG,GAAG,CAAC,CAACA,KAAI,MAAMA,MAAK,SAAS,EAClF;AAAA,IACC,CAAC,EAAE,YAAY,QAAQ,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,OAAO,cAAc;AAAA,IACzF,CAAC,CAACA,KAAI,OAAO;AAAA,MACX,KAAKA,MAAK;AAAA,MACV,YAAYA,MAAK;AAAA,IACnB;AAAA,EACF,EACC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,gBAAgB,GAAG,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAC3E;AAAA,IACC;AAAA,MACE,EAAE;AAAA,MACF,EAAE,MAAM,iBAAiB,OAAO,EAAE,QAAQ,QAAQ,EAAE,OAAO;AAAA,MAC3D,MAAM,OAAO;AAAA,IACf;AAAA,IACA,CAAC,CAAC,EAAE,CAAC,OAAO;AAAA,MACV,KAAK,EAAE;AAAA,MACP,YAAY,EAAE,OAAO,EAAE,OAAO,QAAQ,EAAE,OAAO;AAAA,IACjD;AAAA,EACF,EACC,UAAU,MAAM,MAAS;AAC9B;","names":["file"]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { useCallback, useMemo } from "react";
|
|
2
|
+
import scrollIntoView from "scroll-into-view-if-needed";
|
|
3
|
+
import { useElementId } from "../";
|
|
4
|
+
import { usePagePathnameSlice } from "../hooks/makeswift-api";
|
|
5
|
+
function useLinkControlValue(link, _definition) {
|
|
6
|
+
const pageId = link && link.type === "OPEN_PAGE" ? link.payload.pageId : null;
|
|
7
|
+
const page = usePagePathnameSlice(pageId ?? null);
|
|
8
|
+
const elementKey = link?.type === "SCROLL_TO_ELEMENT" ? link.payload.elementIdConfig?.elementKey : null;
|
|
9
|
+
const elementId = useElementId(elementKey);
|
|
10
|
+
let href = "#";
|
|
11
|
+
let target;
|
|
12
|
+
let block;
|
|
13
|
+
if (link) {
|
|
14
|
+
switch (link.type) {
|
|
15
|
+
case "OPEN_PAGE": {
|
|
16
|
+
if (page)
|
|
17
|
+
href = `/${page.localizedPathname ?? page.pathname}`;
|
|
18
|
+
target = link.payload.openInNewTab ? "_blank" : "_self";
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
case "OPEN_URL": {
|
|
22
|
+
href = link.payload.url;
|
|
23
|
+
target = link.payload.openInNewTab ? "_blank" : "_self";
|
|
24
|
+
break;
|
|
25
|
+
}
|
|
26
|
+
case "SEND_EMAIL": {
|
|
27
|
+
const { to, subject = "", body = "" } = link.payload;
|
|
28
|
+
if (to != null)
|
|
29
|
+
href = `mailto:${to}?subject=${subject}&body=${body}`;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
case "CALL_PHONE": {
|
|
33
|
+
href = `tel:${link.payload.phoneNumber}`;
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
case "SCROLL_TO_ELEMENT": {
|
|
37
|
+
href = `#${elementId ?? ""}`;
|
|
38
|
+
block = link.payload.block;
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
41
|
+
default:
|
|
42
|
+
throw new RangeError(`Invalid link type "${link.type}."`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const handleClick = useCallback(
|
|
46
|
+
(event) => {
|
|
47
|
+
if (event.defaultPrevented)
|
|
48
|
+
return;
|
|
49
|
+
if (link && link.type === "SCROLL_TO_ELEMENT") {
|
|
50
|
+
let hash;
|
|
51
|
+
try {
|
|
52
|
+
hash = new URL(`http://www.example.com/${href}`).hash;
|
|
53
|
+
} catch (error) {
|
|
54
|
+
console.error(`Link received invalid href: ${href}`, error);
|
|
55
|
+
}
|
|
56
|
+
if (href != null && href === hash) {
|
|
57
|
+
event.preventDefault();
|
|
58
|
+
const view = event.view;
|
|
59
|
+
scrollIntoView(view.document.querySelector(hash), {
|
|
60
|
+
behavior: "smooth",
|
|
61
|
+
block
|
|
62
|
+
});
|
|
63
|
+
if (view.location.hash !== hash)
|
|
64
|
+
view.history.pushState({}, "", hash);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
[link, href, block]
|
|
69
|
+
);
|
|
70
|
+
const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick]);
|
|
71
|
+
return res;
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
useLinkControlValue
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/link.ts"],"sourcesContent":["import { MouseEvent, useCallback, useMemo } from 'react'\n\nimport { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { LinkDefinition } from '../../../controls'\n\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport { useElementId } from '../'\nimport { usePagePathnameSlice } from '../hooks/makeswift-api'\n\nexport function useLinkControlValue(\n link: DataType<LinkDefinition> | undefined,\n _definition: LinkDefinition,\n): ResolvedValueType<LinkDefinition> {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n let href = '#'\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) href = `/${page.localizedPathname ?? page.pathname}`\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n href = `#${elementId ?? ''}`\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n const handleClick = useCallback(\n (event: MouseEvent<Element>) => {\n if (event.defaultPrevented) return\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n },\n [link, href, block],\n )\n\n const res = useMemo(() => ({ href, target, onClick: handleClick }), [href, target, handleClick])\n\n return res\n}\n"],"mappings":"AAAA,SAAqB,aAAa,eAAe;AAMjD,OAAO,oBAAoB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AAE9B,SAAS,oBACd,MACA,aACmC;AACnC,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,OAAO,qBAAqB,UAAU,IAAI;AAEhD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,YAAY,aAAa,UAAU;AAEzC,MAAI,OAAO;AACX,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI;AAAM,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAE5D,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,eAAO,IAAI,aAAa,EAAE;AAC1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,QAAM,cAAc;AAAA,IAClB,CAAC,UAA+B;AAC9B,UAAI,MAAM;AAAkB;AAE5B,UAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,YAAI;AAEJ,YAAI;AACF,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,QACnD,SAAS,OAAO;AACd,kBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,QAC5D;AAEA,YAAI,QAAQ,QAAQ,SAAS,MAAM;AACjC,gBAAM,eAAe;AACrB,gBAAM,OAAO,MAAM;AAEnB,yBAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,YACjD,UAAU;AAAA,YACV;AAAA,UACF,CAAC;AAED,cAAI,KAAK,SAAS,SAAS;AAAM,iBAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC,MAAM,MAAM,KAAK;AAAA,EACpB;AAEA,QAAM,MAAM,QAAQ,OAAO,EAAE,MAAM,QAAQ,SAAS,YAAY,IAAI,CAAC,MAAM,QAAQ,WAAW,CAAC;AAE/F,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { ControlValue } from "./control";
|
|
4
|
+
function ListControlValue({
|
|
5
|
+
definition,
|
|
6
|
+
data,
|
|
7
|
+
children,
|
|
8
|
+
control
|
|
9
|
+
}) {
|
|
10
|
+
const [controls, setControls] = useState(/* @__PURE__ */ new Map());
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (control == null || data == null)
|
|
13
|
+
return;
|
|
14
|
+
const childControls = control.childControls(data.map((item) => item.id));
|
|
15
|
+
control.setChildControls(childControls);
|
|
16
|
+
setControls(childControls);
|
|
17
|
+
}, [data, control]);
|
|
18
|
+
return (data ?? []).reduce(
|
|
19
|
+
(renderFn, item) => (listControlValue) => /* @__PURE__ */ jsx(
|
|
20
|
+
ControlValue,
|
|
21
|
+
{
|
|
22
|
+
definition: definition.config.type,
|
|
23
|
+
data: item.value,
|
|
24
|
+
control: controls?.get(item.id),
|
|
25
|
+
children: (value) => renderFn([value, ...listControlValue])
|
|
26
|
+
}
|
|
27
|
+
),
|
|
28
|
+
children
|
|
29
|
+
)([]);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
ListControlValue
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/list.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n\nimport { ControlInstance, type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ListDefinition, ListControl } from '../../../controls'\n\nimport { ControlValue } from './control'\n\ntype ListControlValueProps = {\n definition: ListDefinition\n data: DataType<ListDefinition> | undefined\n children(value: ResolvedValueType<ListDefinition>): JSX.Element\n control: ListControl\n}\n\nexport function ListControlValue({\n definition,\n data,\n children,\n control,\n}: ListControlValueProps): JSX.Element {\n const [controls, setControls] = useState<Map<string, ControlInstance> | undefined>(new Map())\n\n useEffect(() => {\n if (control == null || data == null) return\n\n // This is not ideal because we're setting the itemsControl from the ListControlValue.\n // This is because right now we don't have a subscribeToValue function inside the control.\n // We can improve this by adding the subscribeToValue to createPropController and by\n // moving the setItemsControl to the control itself.\n const childControls = control.childControls(data.map(item => item.id))\n control.setChildControls(childControls)\n setControls(childControls)\n }, [data, control])\n\n return (data ?? []).reduce(\n (renderFn, item) => listControlValue => (\n <ControlValue\n definition={definition.config.type}\n data={item.value}\n control={controls?.get(item.id)}\n >\n {value => renderFn([value, ...listControlValue])}\n </ControlValue>\n ),\n children,\n )([])\n}\n"],"mappings":"AAqCM;AArCN,SAAS,WAAW,gBAAgB;AAMpC,SAAS,oBAAoB;AAStB,SAAS,iBAAiB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuC;AACrC,QAAM,CAAC,UAAU,WAAW,IAAI,SAAmD,oBAAI,IAAI,CAAC;AAE5F,YAAU,MAAM;AACd,QAAI,WAAW,QAAQ,QAAQ;AAAM;AAMrC,UAAM,gBAAgB,QAAQ,cAAc,KAAK,IAAI,UAAQ,KAAK,EAAE,CAAC;AACrE,YAAQ,iBAAiB,aAAa;AACtC,gBAAY,aAAa;AAAA,EAC3B,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,UAAQ,QAAQ,CAAC,GAAG;AAAA,IAClB,CAAC,UAAU,SAAS,sBAClB;AAAA,MAAC;AAAA;AAAA,QACC,YAAY,WAAW,OAAO;AAAA,QAC9B,MAAM,KAAK;AAAA,QACX,SAAS,UAAU,IAAI,KAAK,EAAE;AAAA,QAE7B,qBAAS,SAAS,CAAC,OAAO,GAAG,gBAAgB,CAAC;AAAA;AAAA,IACjD;AAAA,IAEF;AAAA,EACF,EAAE,CAAC,CAAC;AACN;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { match } from "ts-pattern";
|
|
2
|
+
import {
|
|
3
|
+
NumberControlDataTypeKey,
|
|
4
|
+
NumberControlDataTypeValueV1
|
|
5
|
+
} from "@makeswift/controls";
|
|
6
|
+
function useNumber(data, definition) {
|
|
7
|
+
const value = match(data).with({ [NumberControlDataTypeKey]: NumberControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
useNumber
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/number.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n NumberControlData,\n NumberControlDataTypeKey,\n NumberControlDataTypeValueV1,\n NumberControlDefinition,\n} from '@makeswift/controls'\n\nexport type NumberControlValue<T extends NumberControlDefinition> =\n undefined extends T['config']['defaultValue'] ? number | undefined : number\n\nexport function useNumber<T extends NumberControlDefinition>(\n data: NumberControlData | undefined,\n definition: T,\n): NumberControlValue<T> {\n const value: number | undefined =\n match(data)\n .with({ [NumberControlDataTypeKey]: NumberControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as NumberControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,UACd,MACA,YACuB;AACvB,QAAM,QACJ,MAAM,IAAI,EACP,KAAK,EAAE,CAAC,wBAAwB,GAAG,6BAA6B,GAAG,SAAO,IAAI,KAAK,EACnF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/select.ts"],"sourcesContent":["import {\n SelectControlData,\n SelectControlDefinition,\n SelectControlDefinitionOption,\n} from '../../../controls'\n\nexport type SelectControlValue<T extends SelectControlDefinition> =\n undefined extends T['config']['defaultValue']\n ? SelectControlDefinitionOption<T> | undefined\n : SelectControlDefinitionOption<T>\n\nexport function useSelectControlValue<T extends SelectControlDefinition>(\n data: SelectControlData<T> | undefined,\n definition: T,\n): SelectControlValue<T> {\n return (data ?? definition?.config.defaultValue) as SelectControlValue<T>\n}\n"],"mappings":"AAWO,SAAS,sBACd,MACA,YACuB;AACvB,SAAQ,QAAQ,YAAY,OAAO;AACrC;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { ControlValue } from "./control";
|
|
3
|
+
function ShapeControlValue({ definition, data, children, control }) {
|
|
4
|
+
return Object.entries(definition.config.type).reduceRight(
|
|
5
|
+
(renderFn, [key, controlDefinition]) => (shapeControlValue) => /* @__PURE__ */ jsx(
|
|
6
|
+
ControlValue,
|
|
7
|
+
{
|
|
8
|
+
definition: controlDefinition,
|
|
9
|
+
data: data?.[key],
|
|
10
|
+
control: control?.child(key),
|
|
11
|
+
children: (value) => renderFn({ ...shapeControlValue, [key]: value })
|
|
12
|
+
}
|
|
13
|
+
),
|
|
14
|
+
children
|
|
15
|
+
)({});
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
ShapeControlValue
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/runtimes/react/controls/shape.tsx"],"sourcesContent":["import { type DataType, type ResolvedValueType } from '@makeswift/controls'\n\nimport { ShapeControl, ShapeDefinition } from '../../../controls'\n\nimport { ControlValue } from './control'\n\ntype ShapeControlValueProps = {\n definition: ShapeDefinition\n data: DataType<ShapeDefinition> | undefined\n children(value: ResolvedValueType<ShapeDefinition>): JSX.Element\n control: ShapeControl\n}\n\nexport function ShapeControlValue({ definition, data, children, control }: ShapeControlValueProps) {\n return Object.entries(definition.config.type).reduceRight(\n (renderFn, [key, controlDefinition]) =>\n shapeControlValue => (\n <ControlValue\n definition={controlDefinition}\n data={data?.[key]}\n control={control?.child(key)}\n >\n {value => renderFn({ ...shapeControlValue, [key]: value })}\n </ControlValue>\n ),\n children,\n )({} as ResolvedValueType<ShapeDefinition>)\n}\n"],"mappings":"AAiBQ;AAbR,SAAS,oBAAoB;AAStB,SAAS,kBAAkB,EAAE,YAAY,MAAM,UAAU,QAAQ,GAA2B;AACjG,SAAO,OAAO,QAAQ,WAAW,OAAO,IAAI,EAAE;AAAA,IAC5C,CAAC,UAAU,CAAC,KAAK,iBAAiB,MAChC,uBACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAY;AAAA,QACZ,MAAM,OAAO,GAAG;AAAA,QAChB,SAAS,SAAS,MAAM,GAAG;AAAA,QAE1B,qBAAS,SAAS,EAAE,GAAG,mBAAmB,CAAC,GAAG,GAAG,MAAM,CAAC;AAAA;AAAA,IAC3D;AAAA,IAEJ;AAAA,EACF,EAAE,CAAC,CAAuC;AAC5C;","names":[]}
|