@makeswift/runtime 0.23.13 → 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/manifest.js +1 -1
- package/dist/cjs/next/api-handler/handlers/redirect-preview.js +4 -3
- package/dist/cjs/next/api-handler/handlers/redirect-preview.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/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/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/manifest.js +1 -1
- package/dist/esm/next/api-handler/handlers/redirect-preview.js +4 -3
- package/dist/esm/next/api-handler/handlers/redirect-preview.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/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/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/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/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
- package/dist/types/next/types.d.ts +0 -123
- package/dist/types/next/types.d.ts.map +0 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { PropController } from "../prop-controllers/base";
|
|
2
|
+
import {
|
|
3
|
+
createPropController
|
|
4
|
+
} from "../prop-controllers/instances";
|
|
5
|
+
import { useStyle } from "../runtimes/react/use-style";
|
|
6
|
+
const StyleV2ControlType = "makeswift::controls::style-v2";
|
|
7
|
+
const unstable_useStyleV2ClassName = useStyle;
|
|
8
|
+
function unstable_StyleV2(config) {
|
|
9
|
+
return { type: StyleV2ControlType, config };
|
|
10
|
+
}
|
|
11
|
+
const StyleV2ControlMessageType = {
|
|
12
|
+
CHANGE_BOX_MODEL: "makeswift::controls::style::message::change-box-model",
|
|
13
|
+
STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE: "makeswift::controls::style-v2::message::child-control-message"
|
|
14
|
+
};
|
|
15
|
+
class StyleV2Control extends PropController {
|
|
16
|
+
control;
|
|
17
|
+
constructor(send, descriptor) {
|
|
18
|
+
super(send);
|
|
19
|
+
this.control = createPropController(descriptor.config.type, (message) => {
|
|
20
|
+
this.send({
|
|
21
|
+
type: StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE,
|
|
22
|
+
payload: { message }
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
changeBoxModel(boxModel) {
|
|
27
|
+
this.send({ type: StyleV2ControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } });
|
|
28
|
+
}
|
|
29
|
+
recv(message) {
|
|
30
|
+
switch (message.type) {
|
|
31
|
+
case StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE: {
|
|
32
|
+
const control = this.control;
|
|
33
|
+
if (control == null)
|
|
34
|
+
return;
|
|
35
|
+
const recv = control.recv;
|
|
36
|
+
recv(message.payload.message);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
StyleV2Control,
|
|
43
|
+
StyleV2ControlMessageType,
|
|
44
|
+
StyleV2ControlType,
|
|
45
|
+
unstable_StyleV2,
|
|
46
|
+
unstable_useStyleV2ClassName
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=style-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style-v2.ts"],"sourcesContent":["import { ResponsiveValue } from '@makeswift/controls'\nimport { BoxModel } from 'css-box-model'\nimport { ControlDefinition } from './control'\nimport { PropController } from '../prop-controllers/base'\nimport {\n AnyPropController,\n PropControllerMessage,\n Send,\n createPropController,\n} from '../prop-controllers/instances'\nimport { CSSObject } from '@emotion/serialize'\nimport { useStyle } from '../runtimes/react/use-style'\nimport { ControlDefinitionValue } from '../runtimes/react/controls/control'\n\nexport const StyleV2ControlType = 'makeswift::controls::style-v2'\n\nexport type StyleV2CSSObject = CSSObject\nexport const unstable_useStyleV2ClassName = useStyle\n\ntype StyleV2ControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n getStyle(item: ControlDefinitionValue<T> | undefined): CSSObject\n}\n\nexport type StyleV2ControlDefinition = {\n type: typeof StyleV2ControlType\n config: StyleV2ControlConfig\n}\n\nexport function unstable_StyleV2<C extends StyleV2ControlConfig>(\n config: C,\n): StyleV2ControlDefinition {\n return { type: StyleV2ControlType, config }\n}\n\n/**\n * TODO: Rewrite `ControlDefinitionData` as a tail recursive type.\n *\n * Explanation: Making `StyleV2ControlData` generic causes us to hit a limitation of TS conditional types for the definition of `ControlDefinitionData`.\n * We get \"Type instantiation is excessively deep and possibly infinite.\"\n *\n * Helpful links:\n * * The PR changing the limit of conditional types: https://github.com/microsoft/TypeScript/pull/45711\n * * TS 4.5 docs releasing this limitation: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-5.html#tail-recursion-elimination-on-conditional-types\n * * A SO user implementing a tail recursive type: https://stackoverflow.com/questions/72370456/tail-recursion-elimination-on-conditional-types-doesnt-work\n *\n *\n * This is what the type should be:\n * ```\n * export type StyleV2ControlData<T extends StyleV2ControlDefinition = StyleV2ControlDefinition> =\n * ResponsiveValue<ControlDefinitionData<T['config']['type']>>\n * ```\n */\nexport type StyleV2ControlData = ResponsiveValue<any>\n\nexport const StyleV2ControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE:\n 'makeswift::controls::style-v2::message::child-control-message',\n} as const\n\ntype StyleV2ControlItemBoxModelChangeMessage = {\n type: typeof StyleV2ControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\ntype StyleV2ControlChildControlMessage = {\n type: typeof StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE\n payload: { message: PropControllerMessage }\n}\n\nexport type StyleV2ControlMessage =\n | StyleV2ControlItemBoxModelChangeMessage\n | StyleV2ControlChildControlMessage\n\nexport class StyleV2Control<\n T extends StyleV2ControlDefinition = StyleV2ControlDefinition,\n> extends PropController<StyleV2ControlMessage> {\n control?: AnyPropController\n constructor(send: Send<StyleV2ControlMessage>, descriptor: T) {\n super(send)\n this.control = createPropController(descriptor.config.type, message => {\n this.send({\n type: StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE,\n payload: { message },\n })\n })\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleV2ControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv(message: StyleV2ControlMessage) {\n switch (message.type) {\n case StyleV2ControlMessageType.STYLE_V2_CONTROL_CHILD_CONTROL_MESSAGE: {\n const control = this.control\n\n if (control == null) return\n\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n"],"mappings":"AAGA,SAAS,sBAAsB;AAC/B;AAAA,EAIE;AAAA,OACK;AAEP,SAAS,gBAAgB;AAGlB,MAAM,qBAAqB;AAG3B,MAAM,+BAA+B;AAYrC,SAAS,iBACd,QAC0B;AAC1B,SAAO,EAAE,MAAM,oBAAoB,OAAO;AAC5C;AAsBO,MAAM,4BAA4B;AAAA,EACvC,kBAAkB;AAAA,EAClB,wCACE;AACJ;AAeO,MAAM,uBAEH,eAAsC;AAAA,EAC9C;AAAA,EACA,YAAY,MAAmC,YAAe;AAC5D,UAAM,IAAI;AACV,SAAK,UAAU,qBAAqB,WAAW,OAAO,MAAM,aAAW;AACrE,WAAK,KAAK;AAAA,QACR,MAAM,0BAA0B;AAAA,QAChC,SAAS,EAAE,QAAQ;AAAA,MACrB,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,0BAA0B,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACvF;AAAA,EAEA,KAAK,SAAgC;AACnC,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,0BAA0B,wCAAwC;AACrE,cAAM,UAAU,KAAK;AAErB,YAAI,WAAW;AAAM;AAErB,cAAM,OAAO,QAAQ;AAErB,aAAK,QAAQ,QAAQ,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { copyColorData } from "@makeswift/controls";
|
|
2
|
+
import { getBorderPropControllerDataSwatchIds } from "@makeswift/prop-controllers";
|
|
3
|
+
import { PropController } from "../prop-controllers/base";
|
|
4
|
+
const StyleControlType = "makeswift::controls::style";
|
|
5
|
+
const StyleControlProperty = {
|
|
6
|
+
Width: "makeswift::controls::style::property::width",
|
|
7
|
+
Margin: "makeswift::controls::style::property::margin",
|
|
8
|
+
Padding: "makeswift::controls::style::property::padding",
|
|
9
|
+
Border: "makeswift::controls::style::property::border",
|
|
10
|
+
BorderRadius: "makeswift::controls::style::property::border-radius",
|
|
11
|
+
TextStyle: "makeswift::controls::style::property::text-style"
|
|
12
|
+
};
|
|
13
|
+
const StyleControlDefaultProperties = [
|
|
14
|
+
StyleControlProperty.Width,
|
|
15
|
+
StyleControlProperty.Margin
|
|
16
|
+
];
|
|
17
|
+
const AllStyleControlProperties = [
|
|
18
|
+
StyleControlProperty.Width,
|
|
19
|
+
StyleControlProperty.Margin,
|
|
20
|
+
StyleControlProperty.Padding,
|
|
21
|
+
StyleControlProperty.Border,
|
|
22
|
+
StyleControlProperty.BorderRadius,
|
|
23
|
+
StyleControlProperty.TextStyle
|
|
24
|
+
];
|
|
25
|
+
function Style(params) {
|
|
26
|
+
return {
|
|
27
|
+
type: StyleControlType,
|
|
28
|
+
config: { properties: params?.properties ?? StyleControlDefaultProperties }
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
Style.Default = StyleControlDefaultProperties;
|
|
32
|
+
Style.All = AllStyleControlProperties;
|
|
33
|
+
Style.Width = StyleControlProperty.Width;
|
|
34
|
+
Style.Margin = StyleControlProperty.Margin;
|
|
35
|
+
Style.Padding = StyleControlProperty.Padding;
|
|
36
|
+
Style.Border = StyleControlProperty.Border;
|
|
37
|
+
Style.BorderRadius = StyleControlProperty.BorderRadius;
|
|
38
|
+
Style.TextStyle = StyleControlProperty.TextStyle;
|
|
39
|
+
const StyleControlMessageType = {
|
|
40
|
+
CHANGE_BOX_MODEL: "makeswift::controls::style::message::change-box-model"
|
|
41
|
+
};
|
|
42
|
+
class StyleControl extends PropController {
|
|
43
|
+
constructor(send) {
|
|
44
|
+
super(send);
|
|
45
|
+
}
|
|
46
|
+
changeBoxModel(boxModel) {
|
|
47
|
+
this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } });
|
|
48
|
+
}
|
|
49
|
+
recv() {
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function getStyleSwatchIds(data) {
|
|
53
|
+
return getBorderPropControllerDataSwatchIds(data.border);
|
|
54
|
+
}
|
|
55
|
+
function copyStyleData(value, context) {
|
|
56
|
+
if (value == null)
|
|
57
|
+
return value;
|
|
58
|
+
function copyResponsiveBorder(responsiveBorder) {
|
|
59
|
+
if (responsiveBorder == null)
|
|
60
|
+
return void 0;
|
|
61
|
+
return responsiveBorder.map((deviceBorder) => ({
|
|
62
|
+
...deviceBorder,
|
|
63
|
+
value: copyBorder(deviceBorder.value)
|
|
64
|
+
}));
|
|
65
|
+
}
|
|
66
|
+
function copyBorder(border) {
|
|
67
|
+
function copyBorderSide(side) {
|
|
68
|
+
if (side == null)
|
|
69
|
+
return null;
|
|
70
|
+
if (side.color == null)
|
|
71
|
+
return side;
|
|
72
|
+
return {
|
|
73
|
+
...side,
|
|
74
|
+
color: copyColorData(side.color, context)
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
borderTop: copyBorderSide(border.borderTop),
|
|
79
|
+
borderBottom: copyBorderSide(border.borderBottom),
|
|
80
|
+
borderRight: copyBorderSide(border.borderRight),
|
|
81
|
+
borderLeft: copyBorderSide(border.borderLeft)
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return { ...value, border: copyResponsiveBorder(value.border) };
|
|
85
|
+
}
|
|
86
|
+
export {
|
|
87
|
+
Style,
|
|
88
|
+
StyleControl,
|
|
89
|
+
StyleControlMessageType,
|
|
90
|
+
StyleControlProperty,
|
|
91
|
+
StyleControlType,
|
|
92
|
+
copyStyleData,
|
|
93
|
+
getStyleSwatchIds
|
|
94
|
+
};
|
|
95
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/style.ts"],"sourcesContent":["import { ColorData, copyColorData, ResponsiveValue } from '@makeswift/controls'\nimport { getBorderPropControllerDataSwatchIds } from '@makeswift/prop-controllers'\n\nimport { BorderRadiusPropertyData } from '../css/border-radius'\nimport type { LengthPercentageData } from '../css/length-percentage'\nimport { MarginPropertyData } from '../css/margin'\nimport { PaddingPropertyData } from '../css/padding'\nimport { CopyContext } from '../state/react-page'\nimport { Send } from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { BoxModel } from '../state/modules/box-models'\n\n/** @see https://developer.mozilla.org/en-US/docs/Web/CSS/width */\nexport type WidthPropertyData = LengthPercentageData\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-style\n */\ntype BorderStyle = 'dotted' | 'dashed' | 'solid'\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border-top#constituent_properties\n *\n * @todos\n * - Change `width` to be a `Length`\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderSideShorthandPropertyData = {\n width: number | null | undefined\n style: BorderStyle\n color?: ColorData | null\n}\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/border\n *\n * @todos\n * - Remove `null` from possible values\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type BorderPropertyData = {\n borderTop: BorderSideShorthandPropertyData | null | undefined\n borderRight: BorderSideShorthandPropertyData | null | undefined\n borderBottom: BorderSideShorthandPropertyData | null | undefined\n borderLeft: BorderSideShorthandPropertyData | null | undefined\n}\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-family\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontFamilyPropertyData = string | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/letter-spacing\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type LetterSpacingPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-size\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontSizePropertyData =\n | {\n value: number\n unit: 'px'\n }\n | null\n | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-weight\n *\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type FontWeightPropertyData = number | null | undefined\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/text-transform\n *\n * @todos\n * - Match the type with specification\n */\nexport type TextTransformPropertyData = 'uppercase'[]\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/CSS/font-style\n *\n * @todos\n * - Match the type with specification\n */\nexport type FontStylePropertyData = 'italic'[]\n\n/**\n * @todos\n * - Remove `null` from possible values of longhand properties\n * - Remove `undefined` from possible values and make fields optional\n */\nexport type TextStylePropertyData = {\n fontFamily?: FontFamilyPropertyData | null | undefined\n letterSpacing: LetterSpacingPropertyData | null | undefined\n fontSize: FontSizePropertyData | null | undefined\n fontWeight: FontWeightPropertyData | null | undefined\n textTransform: TextTransformPropertyData\n fontStyle: FontStylePropertyData\n}\n\n/**\n * Primitives like `string` and `number` are excluded from the style data because the relevant\n * panels from the Makeswift builder were originally implemented only to support object values, and\n * not CSS strings. For example, 100 pixels would be `{ value: 100, unit: 'px' }` but never `100` or\n * `'100px'`.\n */\nexport type StyleControlData = {\n width?: ResponsiveValue<Exclude<WidthPropertyData, string | number>>\n margin?: ResponsiveValue<{\n [K in keyof MarginPropertyData]: Exclude<MarginPropertyData[K], string | number> | 'auto'\n }>\n padding?: ResponsiveValue<{\n [K in keyof PaddingPropertyData]: Exclude<PaddingPropertyData[K], string | number>\n }>\n border?: ResponsiveValue<BorderPropertyData>\n borderRadius?: ResponsiveValue<{\n [K in keyof BorderRadiusPropertyData]: Exclude<BorderRadiusPropertyData[K], string | number>\n }>\n textStyle?: ResponsiveValue<TextStylePropertyData>\n}\n\nexport const StyleControlType = 'makeswift::controls::style'\n\nexport const StyleControlProperty = {\n Width: 'makeswift::controls::style::property::width',\n Margin: 'makeswift::controls::style::property::margin',\n Padding: 'makeswift::controls::style::property::padding',\n Border: 'makeswift::controls::style::property::border',\n BorderRadius: 'makeswift::controls::style::property::border-radius',\n TextStyle: 'makeswift::controls::style::property::text-style',\n} as const\n\nexport type StyleControlProperty = typeof StyleControlProperty[keyof typeof StyleControlProperty]\n\ntype StyleControlParams = { properties?: StyleControlProperty[] }\n\nexport type StyleControlConfig = { properties: StyleControlProperty[] }\n\nconst StyleControlDefaultProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n]\n\nconst AllStyleControlProperties: StyleControlProperty[] = [\n StyleControlProperty.Width,\n StyleControlProperty.Margin,\n StyleControlProperty.Padding,\n StyleControlProperty.Border,\n StyleControlProperty.BorderRadius,\n StyleControlProperty.TextStyle,\n]\n\nexport type StyleControlDefinition = {\n type: typeof StyleControlType\n config: StyleControlConfig\n}\n\n/**\n * @todos\n * - Add support for custom panel labels.\n * - Add support for default values. Internally, default values must be represented with the same\n * format as the underlying data so that controls can show these values.\n */\nexport function Style(params?: StyleControlParams): StyleControlDefinition {\n return {\n type: StyleControlType,\n config: { properties: params?.properties ?? StyleControlDefaultProperties },\n }\n}\n\nStyle.Default = StyleControlDefaultProperties\nStyle.All = AllStyleControlProperties\n\nStyle.Width = StyleControlProperty.Width\nStyle.Margin = StyleControlProperty.Margin\nStyle.Padding = StyleControlProperty.Padding\nStyle.Border = StyleControlProperty.Border\nStyle.BorderRadius = StyleControlProperty.BorderRadius\nStyle.TextStyle = StyleControlProperty.TextStyle\n\nexport const StyleControlMessageType = {\n CHANGE_BOX_MODEL: 'makeswift::controls::style::message::change-box-model',\n} as const\n\ntype StyleControlItemBoxModelChangeMessage = {\n type: typeof StyleControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\nexport type StyleControlMessage = StyleControlItemBoxModelChangeMessage\n\nexport class StyleControl extends PropController<StyleControlMessage> {\n constructor(send: Send<StyleControlMessage>) {\n super(send)\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: StyleControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n\n recv() {}\n}\n\nexport function getStyleSwatchIds(data: StyleControlData): string[] {\n return getBorderPropControllerDataSwatchIds(data.border)\n}\n\nexport function copyStyleData(\n value: StyleControlData | undefined,\n context: CopyContext,\n): StyleControlData | undefined {\n if (value == null) return value\n\n function copyResponsiveBorder(\n responsiveBorder: ResponsiveValue<BorderPropertyData> | undefined,\n ): ResponsiveValue<BorderPropertyData> | undefined {\n if (responsiveBorder == null) return undefined\n return responsiveBorder.map(deviceBorder => ({\n ...deviceBorder,\n value: copyBorder(deviceBorder.value),\n }))\n }\n\n function copyBorder(border: BorderPropertyData): BorderPropertyData {\n function copyBorderSide(side: BorderSideShorthandPropertyData | null | undefined) {\n if (side == null) return null\n\n if (side.color == null) return side\n\n return {\n ...side,\n color: copyColorData(side.color, context),\n }\n }\n\n return {\n borderTop: copyBorderSide(border.borderTop),\n borderBottom: copyBorderSide(border.borderBottom),\n borderRight: copyBorderSide(border.borderRight),\n borderLeft: copyBorderSide(border.borderLeft),\n }\n }\n\n return { ...value, border: copyResponsiveBorder(value.border) }\n}\n"],"mappings":"AAAA,SAAoB,qBAAsC;AAC1D,SAAS,4CAA4C;AAQrD,SAAS,sBAAsB;AAoIxB,MAAM,mBAAmB;AAEzB,MAAM,uBAAuB;AAAA,EAClC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,WAAW;AACb;AAQA,MAAM,gCAAwD;AAAA,EAC5D,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAEA,MAAM,4BAAoD;AAAA,EACxD,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AACvB;AAaO,SAAS,MAAM,QAAqD;AACzE,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ,EAAE,YAAY,QAAQ,cAAc,8BAA8B;AAAA,EAC5E;AACF;AAEA,MAAM,UAAU;AAChB,MAAM,MAAM;AAEZ,MAAM,QAAQ,qBAAqB;AACnC,MAAM,SAAS,qBAAqB;AACpC,MAAM,UAAU,qBAAqB;AACrC,MAAM,SAAS,qBAAqB;AACpC,MAAM,eAAe,qBAAqB;AAC1C,MAAM,YAAY,qBAAqB;AAEhC,MAAM,0BAA0B;AAAA,EACrC,kBAAkB;AACpB;AASO,MAAM,qBAAqB,eAAoC;AAAA,EACpE,YAAY,MAAiC;AAC3C,UAAM,IAAI;AAAA,EACZ;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,KAAK,EAAE,MAAM,wBAAwB,kBAAkB,SAAS,EAAE,SAAS,EAAE,CAAC;AAAA,EACrF;AAAA,EAEA,OAAO;AAAA,EAAC;AACV;AAEO,SAAS,kBAAkB,MAAkC;AAClE,SAAO,qCAAqC,KAAK,MAAM;AACzD;AAEO,SAAS,cACd,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,WAAS,qBACP,kBACiD;AACjD,QAAI,oBAAoB;AAAM,aAAO;AACrC,WAAO,iBAAiB,IAAI,mBAAiB;AAAA,MAC3C,GAAG;AAAA,MACH,OAAO,WAAW,aAAa,KAAK;AAAA,IACtC,EAAE;AAAA,EACJ;AAEA,WAAS,WAAW,QAAgD;AAClE,aAAS,eAAe,MAA0D;AAChF,UAAI,QAAQ;AAAM,eAAO;AAEzB,UAAI,KAAK,SAAS;AAAM,eAAO;AAE/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,cAAc,KAAK,OAAO,OAAO;AAAA,MAC1C;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW,eAAe,OAAO,SAAS;AAAA,MAC1C,cAAc,eAAe,OAAO,YAAY;AAAA,MAChD,aAAa,eAAe,OAAO,WAAW;AAAA,MAC9C,YAAY,eAAe,OAAO,UAAU;AAAA,IAC9C;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,OAAO,QAAQ,qBAAqB,MAAM,MAAM,EAAE;AAChE;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ControlDataTypeKey } from "./control-data-type-key";
|
|
2
|
+
const TextAreaControlDataTypeKey = ControlDataTypeKey;
|
|
3
|
+
const TextAreaControlDataTypeValueV1 = "text-area::v1";
|
|
4
|
+
const TextAreaControlType = "makeswift::controls::text-area";
|
|
5
|
+
function TextArea(config = {}) {
|
|
6
|
+
return { type: TextAreaControlType, config, version: 1 };
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
TextArea,
|
|
10
|
+
TextAreaControlDataTypeKey,
|
|
11
|
+
TextAreaControlDataTypeValueV1,
|
|
12
|
+
TextAreaControlType
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=text-area.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/text-area.ts"],"sourcesContent":["import { ControlDataTypeKey } from \"./control-data-type-key\"\n\nexport const TextAreaControlDataTypeKey = ControlDataTypeKey\n\nexport const TextAreaControlDataTypeValueV1 = 'text-area::v1'\n\nexport type TextAreaControlDataV0 = string\n\nexport type TextAreaControlDataV1 = {\n [TextAreaControlDataTypeKey]: typeof TextAreaControlDataTypeValueV1\n value: string,\n}\n\nexport type TextAreaControlData = TextAreaControlDataV0 | TextAreaControlDataV1\n\nexport const TextAreaControlType = 'makeswift::controls::text-area'\n\ntype TextAreaControlConfig = {\n label?: string\n defaultValue?: string\n rows?: number\n}\n\nexport type TextAreaControlDefinition<C extends TextAreaControlConfig = TextAreaControlConfig> = {\n type: typeof TextAreaControlType\n config: C\n version?: 1\n}\n\nexport function TextArea<C extends TextAreaControlConfig>(\n config: C = {} as C,\n): TextAreaControlDefinition<C> {\n return { type: TextAreaControlType, config, version: 1 }\n}\n"],"mappings":"AAAA,SAAS,0BAA0B;AAE5B,MAAM,6BAA6B;AAEnC,MAAM,iCAAiC;AAWvC,MAAM,sBAAsB;AAc5B,SAAS,SACd,SAAY,CAAC,GACiB;AAC9B,SAAO,EAAE,MAAM,qBAAqB,QAAQ,SAAS,EAAE;AACzD;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ControlDataTypeKey } from "./control-data-type-key";
|
|
2
|
+
const TextInputControlDataTypeKey = ControlDataTypeKey;
|
|
3
|
+
const TextInputControlDataTypeValueV1 = "text-input::v1";
|
|
4
|
+
const TextInputControlType = "makeswift::controls::text-input";
|
|
5
|
+
function TextInput(config = {}) {
|
|
6
|
+
return { type: TextInputControlType, config, version: 1 };
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
TextInput,
|
|
10
|
+
TextInputControlDataTypeKey,
|
|
11
|
+
TextInputControlDataTypeValueV1,
|
|
12
|
+
TextInputControlType
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=text-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/text-input.ts"],"sourcesContent":["import { ControlDataTypeKey } from \"./control-data-type-key\"\n\nexport const TextInputControlDataTypeKey = ControlDataTypeKey\n\nexport const TextInputControlDataTypeValueV1 = 'text-input::v1'\n\nexport type TextInputControlDataV0 = string\n\nexport type TextInputControlDataV1 = {\n [ControlDataTypeKey]: typeof TextInputControlDataTypeValueV1\n value: string,\n}\n\nexport type TextInputControlData = TextInputControlDataV0 | TextInputControlDataV1\n\nexport const TextInputControlType = 'makeswift::controls::text-input'\n\ntype TextInputControlConfig = {\n label?: string\n defaultValue?: string\n}\n\nexport type TextInputControlDefinition<C extends TextInputControlConfig = TextInputControlConfig> =\n {\n type: typeof TextInputControlType\n config: C\n version?: 1\n }\n\nexport function TextInput<C extends TextInputControlConfig>(\n config: C = {} as C,\n): TextInputControlDefinition<C> {\n return { type: TextInputControlType, config, version: 1 }\n}\n"],"mappings":"AAAA,SAAS,0BAA0B;AAE5B,MAAM,8BAA8B;AAEpC,MAAM,kCAAkC;AAWxC,MAAM,uBAAuB;AAc7B,SAAS,UACd,SAAY,CAAC,GACkB;AAC/B,SAAO,EAAE,MAAM,sBAAsB,QAAQ,SAAS,EAAE;AAC1D;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { isNonNullable } from "../utils/isNonNullable";
|
|
2
|
+
const TypographyControlType = "makeswift::controls::typography";
|
|
3
|
+
function unstable_Typography() {
|
|
4
|
+
return {
|
|
5
|
+
type: TypographyControlType
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function getTypographySwatchIds(value) {
|
|
9
|
+
return value?.style.flatMap((style) => style.value.color?.swatchId ?? []).filter(isNonNullable) ?? [];
|
|
10
|
+
}
|
|
11
|
+
function getTypographyTypographyIds(value) {
|
|
12
|
+
return [value?.id].filter(isNonNullable);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
TypographyControlType,
|
|
16
|
+
getTypographySwatchIds,
|
|
17
|
+
getTypographyTypographyIds,
|
|
18
|
+
unstable_Typography
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/typography.ts"],"sourcesContent":["import { isNonNullable } from '../utils/isNonNullable'\n\nexport type TypographyControlData = (\n | {\n id?: string\n style: Array<{\n deviceId: string\n value: {\n fontFamily?: string | null\n lineHeight?: number | null\n letterSpacing?: number | null\n fontWeight?: number | null\n textAlign?: string | null\n uppercase?: boolean | null\n underline?: boolean | null\n strikethrough?: boolean | null\n italic?: boolean | null\n fontSize?: { value: number | null; unit: string | null } | null\n color?: { swatchId: string | null; alpha: number | null } | null\n }\n }>\n }\n | undefined\n)[]\n\nexport const TypographyControlType = 'makeswift::controls::typography'\n\nexport type TypographyControlDefinition = {\n type: typeof TypographyControlType\n}\n\nexport function unstable_Typography(): TypographyControlDefinition {\n return {\n type: TypographyControlType,\n }\n}\n\nexport function getTypographySwatchIds(value: TypographyControlData[number]) {\n return (\n value?.style.flatMap(style => style.value.color?.swatchId ?? []).filter(isNonNullable) ?? []\n )\n}\n\nexport function getTypographyTypographyIds(value: TypographyControlData[number]) {\n return [value?.id].filter(isNonNullable)\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAyBvB,MAAM,wBAAwB;AAM9B,SAAS,sBAAmD;AACjE,SAAO;AAAA,IACL,MAAM;AAAA,EACR;AACF;AAEO,SAAS,uBAAuB,OAAsC;AAC3E,SACE,OAAO,MAAM,QAAQ,WAAS,MAAM,MAAM,OAAO,YAAY,CAAC,CAAC,EAAE,OAAO,aAAa,KAAK,CAAC;AAE/F;AAEO,SAAS,2BAA2B,OAAsC;AAC/E,SAAO,CAAC,OAAO,EAAE,EAAE,OAAO,aAAa;AACzC;","names":[]}
|
|
@@ -14,7 +14,7 @@ async function handler(...args) {
|
|
|
14
14
|
const supportsDraftMode = match(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
|
|
15
15
|
const supportsWebhook = match(args).with(routeHandlerPattern, () => true).with(apiRoutePattern, () => false).exhaustive();
|
|
16
16
|
const body = {
|
|
17
|
-
version: "0.23.
|
|
17
|
+
version: "0.23.14",
|
|
18
18
|
previewMode: supportsPreviewMode,
|
|
19
19
|
draftMode: supportsDraftMode,
|
|
20
20
|
interactionMode: true,
|
|
@@ -22,14 +22,15 @@ async function redirectPreviewRouteHandler(_request, _context, {}) {
|
|
|
22
22
|
}
|
|
23
23
|
async function redirectPreviewApiRouteHandler(req, res, { apiKey }) {
|
|
24
24
|
const secret = req.query[SearchParams.PreviewMode];
|
|
25
|
+
const pathname = req.query.path;
|
|
25
26
|
if (secret == null) {
|
|
26
27
|
return res.status(401).send("Unauthorized to enable preview mode: no secret provided");
|
|
27
28
|
}
|
|
28
29
|
if (secret !== apiKey) {
|
|
29
30
|
return res.status(401).send("Unauthorized to enable preview mode: secret is incorrect");
|
|
30
31
|
}
|
|
31
|
-
if (
|
|
32
|
-
return res.status(400).send("Bad request: incoming request does not have
|
|
32
|
+
if (pathname == null) {
|
|
33
|
+
return res.status(400).send("Bad request: incoming request does not have an associated pathname");
|
|
33
34
|
}
|
|
34
35
|
const setCookie = res.setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working }).getHeader(SET_COOKIE_HEADER);
|
|
35
36
|
res.removeHeader(SET_COOKIE_HEADER);
|
|
@@ -43,7 +44,7 @@ async function redirectPreviewApiRouteHandler(req, res, { apiKey }) {
|
|
|
43
44
|
return serializeCookie(name, value, { ...cookieSettingOptions });
|
|
44
45
|
});
|
|
45
46
|
res.setHeader(SET_COOKIE_HEADER, patchedCookies);
|
|
46
|
-
const destinationUrl = new URL(
|
|
47
|
+
const destinationUrl = new URL(pathname, "http://test.com");
|
|
47
48
|
destinationUrl.searchParams.delete(SearchParams.PreviewMode);
|
|
48
49
|
res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`);
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport {\n cookieSettingOptions,\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n SearchParams,\n SET_COOKIE_HEADER,\n} from './utils/draft'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype RedirectPreviewError = string\n\ntype Response = unknown\n\nexport type RedirectPreviewResponse = RedirectPreviewError | Response\n\ntype RedirectPreviewHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<RedirectPreviewResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function redirectPreviewHandler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>>\nexport default async function redirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function redirectPreviewHandler(\n ...args: RedirectPreviewHandlerArgs\n): Promise<NextResponse<RedirectPreviewResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, args => redirectPreviewRouteHandler(...args))\n .with(apiRoutePattern, args => redirectPreviewApiRouteHandler(...args))\n .exhaustive()\n}\n\nasync function redirectPreviewRouteHandler(\n _request: NextRequest,\n _context: Context,\n {}: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>> {\n const message =\n 'Cannot request preview endpoint from an API handler registered in `app`. Move your Makeswift API handler to the `pages/api` directory'\n console.error(message)\n return NextResponse.json(message, { status: 500 })\n}\n\nasync function redirectPreviewApiRouteHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void> {\n const secret = req.query[SearchParams.PreviewMode]\n\n if (secret == null) {\n return res.status(401).send('Unauthorized to enable preview mode: no secret provided')\n }\n if (secret !== apiKey) {\n return res.status(401).send('Unauthorized to enable preview mode: secret is incorrect')\n }\n\n if (
|
|
1
|
+
{"version":3,"sources":["../../../../../src/next/api-handler/handlers/redirect-preview.ts"],"sourcesContent":["import { NextApiRequest, NextApiResponse } from 'next'\nimport { NextRequest, NextResponse } from 'next/server'\nimport { P, match } from 'ts-pattern'\n\nimport { parse as parseSetCookie } from 'set-cookie-parser'\nimport { serialize as serializeCookie } from 'cookie'\n\nimport { MakeswiftSiteVersion } from '../../../api/site-version'\nimport {\n cookieSettingOptions,\n PRERENDER_BYPASS_COOKIE,\n PREVIEW_DATA_COOKIE,\n SearchParams,\n SET_COOKIE_HEADER,\n} from './utils/draft'\n\ntype Context = { params: { [key: string]: string | string[] } }\n\ntype RedirectPreviewError = string\n\ntype Response = unknown\n\nexport type RedirectPreviewResponse = RedirectPreviewError | Response\n\ntype RedirectPreviewHandlerArgs =\n | [request: NextRequest, context: Context, params: { apiKey: string }]\n | [req: NextApiRequest, res: NextApiResponse<RedirectPreviewResponse>, params: { apiKey: string }]\n\nconst routeHandlerPattern = [P.instanceOf(Request), P.any, P.any] as const\nconst apiRoutePattern = [P.any, P.any, P.any] as const\n\nexport default async function redirectPreviewHandler(\n request: NextRequest,\n context: Context,\n { apiKey }: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>>\nexport default async function redirectPreviewHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void>\nexport default async function redirectPreviewHandler(\n ...args: RedirectPreviewHandlerArgs\n): Promise<NextResponse<RedirectPreviewResponse> | void> {\n return match(args)\n .with(routeHandlerPattern, args => redirectPreviewRouteHandler(...args))\n .with(apiRoutePattern, args => redirectPreviewApiRouteHandler(...args))\n .exhaustive()\n}\n\nasync function redirectPreviewRouteHandler(\n _request: NextRequest,\n _context: Context,\n { }: { apiKey: string },\n): Promise<NextResponse<RedirectPreviewResponse>> {\n const message =\n 'Cannot request preview endpoint from an API handler registered in `app`. Move your Makeswift API handler to the `pages/api` directory'\n console.error(message)\n return NextResponse.json(message, { status: 500 })\n}\n\n\nasync function redirectPreviewApiRouteHandler(\n req: NextApiRequest,\n res: NextApiResponse<RedirectPreviewResponse>,\n { apiKey }: { apiKey: string },\n): Promise<void> {\n const secret = req.query[SearchParams.PreviewMode]\n // Next.js automatically strips the locale prefix from rewritten request's URL, even when the\n // rewrite's `locale` option is set to `false`: https://github.com/vercel/next.js/discussions/21798.\n // At the same time, it also maps rewrite's URL segments (e.g. `:path`) to query parameters\n // on the rewritten request, so we use `query.path` to recover the original request path.\n const pathname = req.query.path as string | undefined\n\n if (secret == null) {\n return res.status(401).send('Unauthorized to enable preview mode: no secret provided')\n }\n\n if (secret !== apiKey) {\n return res.status(401).send('Unauthorized to enable preview mode: secret is incorrect')\n }\n\n if (pathname == null) {\n return res.status(400).send('Bad request: incoming request does not have an associated pathname')\n }\n\n const setCookie = res\n // Eventually, we can make the preview data value dynamic using the request\n .setPreviewData({ makeswift: true, siteVersion: MakeswiftSiteVersion.Working })\n .getHeader(SET_COOKIE_HEADER)\n\n res.removeHeader(SET_COOKIE_HEADER)\n\n const parsedCookies = parseSetCookie(Array.isArray(setCookie) ? setCookie : '')\n\n const prerenderBypassCookie = parsedCookies.find(c => c.name === PRERENDER_BYPASS_COOKIE)\n const previewDataCookie = parsedCookies.find(c => c.name === PREVIEW_DATA_COOKIE)\n\n if (prerenderBypassCookie?.value == null || previewDataCookie?.value == null) {\n return res.status(500).send('Could not retrieve preview mode cookies')\n }\n\n const patchedCookies = [prerenderBypassCookie, previewDataCookie].map(({ name, value }) => {\n return serializeCookie(name, value, { ...cookieSettingOptions })\n })\n\n res.setHeader(SET_COOKIE_HEADER, patchedCookies)\n\n const destinationUrl = new URL(pathname, 'http://test.com')\n destinationUrl.searchParams.delete(SearchParams.PreviewMode)\n\n res.redirect(`${destinationUrl.pathname}?${destinationUrl.searchParams.toString()}`)\n}\n"],"mappings":"AACA,SAAsB,oBAAoB;AAC1C,SAAS,GAAG,aAAa;AAEzB,SAAS,SAAS,sBAAsB;AACxC,SAAS,aAAa,uBAAuB;AAE7C,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAcP,MAAM,sBAAsB,CAAC,EAAE,WAAW,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG;AAChE,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG;AAY5C,eAAO,0BACF,MACoD;AACvD,SAAO,MAAM,IAAI,EACd,KAAK,qBAAqB,CAAAA,UAAQ,4BAA4B,GAAGA,KAAI,CAAC,EACtE,KAAK,iBAAiB,CAAAA,UAAQ,+BAA+B,GAAGA,KAAI,CAAC,EACrE,WAAW;AAChB;AAEA,eAAe,4BACb,UACA,UACA,CAAE,GAC8C;AAChD,QAAM,UACJ;AACF,UAAQ,MAAM,OAAO;AACrB,SAAO,aAAa,KAAK,SAAS,EAAE,QAAQ,IAAI,CAAC;AACnD;AAGA,eAAe,+BACb,KACA,KACA,EAAE,OAAO,GACM;AACf,QAAM,SAAS,IAAI,MAAM,aAAa,WAAW;AAKjD,QAAM,WAAW,IAAI,MAAM;AAE3B,MAAI,UAAU,MAAM;AAClB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yDAAyD;AAAA,EACvF;AAEA,MAAI,WAAW,QAAQ;AACrB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,0DAA0D;AAAA,EACxF;AAEA,MAAI,YAAY,MAAM;AACpB,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,oEAAoE;AAAA,EAClG;AAEA,QAAM,YAAY,IAEf,eAAe,EAAE,WAAW,MAAM,aAAa,qBAAqB,QAAQ,CAAC,EAC7E,UAAU,iBAAiB;AAE9B,MAAI,aAAa,iBAAiB;AAElC,QAAM,gBAAgB,eAAe,MAAM,QAAQ,SAAS,IAAI,YAAY,EAAE;AAE9E,QAAM,wBAAwB,cAAc,KAAK,OAAK,EAAE,SAAS,uBAAuB;AACxF,QAAM,oBAAoB,cAAc,KAAK,OAAK,EAAE,SAAS,mBAAmB;AAEhF,MAAI,uBAAuB,SAAS,QAAQ,mBAAmB,SAAS,MAAM;AAC5E,WAAO,IAAI,OAAO,GAAG,EAAE,KAAK,yCAAyC;AAAA,EACvE;AAEA,QAAM,iBAAiB,CAAC,uBAAuB,iBAAiB,EAAE,IAAI,CAAC,EAAE,MAAM,MAAM,MAAM;AACzF,WAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,qBAAqB,CAAC;AAAA,EACjE,CAAC;AAED,MAAI,UAAU,mBAAmB,cAAc;AAE/C,QAAM,iBAAiB,IAAI,IAAI,UAAU,iBAAiB;AAC1D,iBAAe,aAAa,OAAO,aAAa,WAAW;AAE3D,MAAI,SAAS,GAAG,eAAe,QAAQ,IAAI,eAAe,aAAa,SAAS,CAAC,EAAE;AACrF;","names":["args"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
import { MakeswiftHostApiClient } from "../../api/react";
|
|
5
|
+
const Context = createContext(
|
|
6
|
+
new MakeswiftHostApiClient({ uri: "https://api.makeswift.com/graphql" })
|
|
7
|
+
);
|
|
8
|
+
function useMakeswiftHostApiClient() {
|
|
9
|
+
return useContext(Context);
|
|
10
|
+
}
|
|
11
|
+
function MakeswiftHostApiClientProvider({
|
|
12
|
+
client,
|
|
13
|
+
children
|
|
14
|
+
}) {
|
|
15
|
+
return /* @__PURE__ */ jsx(Context.Provider, { value: client, children });
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
MakeswiftHostApiClientProvider,
|
|
19
|
+
useMakeswiftHostApiClient
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=makeswift-host-api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/context/makeswift-host-api-client.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, createContext, useContext } from 'react'\nimport { MakeswiftHostApiClient } from '../../api/react'\n\nconst Context = createContext(\n new MakeswiftHostApiClient({ uri: 'https://api.makeswift.com/graphql' }),\n)\n\nexport function useMakeswiftHostApiClient(): MakeswiftHostApiClient {\n return useContext(Context)\n}\n\nexport function MakeswiftHostApiClientProvider({\n client,\n children,\n}: {\n client: MakeswiftHostApiClient\n children: ReactNode\n}) {\n return <Context.Provider value={client}>{children}</Context.Provider>\n}\n"],"mappings":";AAoBS;AAlBT,SAAoB,eAAe,kBAAkB;AACrD,SAAS,8BAA8B;AAEvC,MAAM,UAAU;AAAA,EACd,IAAI,uBAAuB,EAAE,KAAK,oCAAoC,CAAC;AACzE;AAEO,SAAS,4BAAoD;AAClE,SAAO,WAAW,OAAO;AAC3B;AAEO,SAAS,+BAA+B;AAAA,EAC7C;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,QAAQ,UAAR,EAAiB,OAAO,QAAS,UAAS;AACpD;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
import { ReactRuntime } from "../../react";
|
|
5
|
+
const Context = createContext(ReactRuntime);
|
|
6
|
+
function useReactRuntime() {
|
|
7
|
+
return useContext(Context);
|
|
8
|
+
}
|
|
9
|
+
function ReactRuntimeProvider({
|
|
10
|
+
children,
|
|
11
|
+
runtime
|
|
12
|
+
}) {
|
|
13
|
+
return /* @__PURE__ */ jsx(Context.Provider, { value: runtime, children });
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
ReactRuntimeProvider,
|
|
17
|
+
useReactRuntime
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=react-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/context/react-runtime.tsx"],"sourcesContent":["'use client'\n\nimport { ReactNode, createContext, useContext } from 'react'\nimport { ReactRuntime } from '../../react'\n\nconst Context = createContext<ReactRuntime>(ReactRuntime)\n\nexport function useReactRuntime(): ReactRuntime {\n return useContext(Context)\n}\n\nexport function ReactRuntimeProvider({\n children,\n runtime,\n}: {\n children: ReactNode\n runtime: ReactRuntime\n}) {\n return <Context.Provider value={runtime}>{children}</Context.Provider>\n}\n"],"mappings":";AAkBS;AAhBT,SAAoB,eAAe,kBAAkB;AACrD,SAAS,oBAAoB;AAE7B,MAAM,UAAU,cAA4B,YAAY;AAEjD,SAAS,kBAAgC;AAC9C,SAAO,WAAW,OAAO;AAC3B;AAEO,SAAS,qBAAqB;AAAA,EACnC;AAAA,EACA;AACF,GAGG;AACD,SAAO,oBAAC,QAAQ,UAAR,EAAiB,OAAO,SAAU,UAAS;AACrD;","names":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useMakeswiftHostApiClient } from "../../runtimes/react/host-api-client";
|
|
3
|
+
import { updateAPIClientCache } from "../../state/actions";
|
|
4
|
+
const isServer = typeof window === "undefined";
|
|
5
|
+
function useSyncCacheData(cacheData) {
|
|
6
|
+
const client = useMakeswiftHostApiClient();
|
|
7
|
+
if (isServer) {
|
|
8
|
+
client.makeswiftApiClient.dispatch(updateAPIClientCache(cacheData));
|
|
9
|
+
}
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
client.makeswiftApiClient.dispatch(updateAPIClientCache(cacheData));
|
|
12
|
+
}, [cacheData, client]);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
useSyncCacheData
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=use-sync-cache-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/next/hooks/use-sync-cache-data.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { useMakeswiftHostApiClient } from '../../runtimes/react/host-api-client'\nimport { updateAPIClientCache } from '../../state/actions'\nimport { CacheData } from '../../api/react'\n\nconst isServer = typeof window === 'undefined'\n\nexport function useSyncCacheData(cacheData: CacheData) {\n const client = useMakeswiftHostApiClient()\n\n if (isServer) {\n client.makeswiftApiClient.dispatch(updateAPIClientCache(cacheData))\n }\n\n useEffect(() => {\n client.makeswiftApiClient.dispatch(updateAPIClientCache(cacheData))\n }, [cacheData, client])\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,iCAAiC;AAC1C,SAAS,4BAA4B;AAGrC,MAAM,WAAW,OAAO,WAAW;AAE5B,SAAS,iBAAiB,WAAsB;AACrD,QAAM,SAAS,0BAA0B;AAEzC,MAAI,UAAU;AACZ,WAAO,mBAAmB,SAAS,qBAAqB,SAAS,CAAC;AAAA,EACpE;AAEA,YAAU,MAAM;AACd,WAAO,mBAAmB,SAAS,qBAAqB,SAAS,CAAC;AAAA,EACpE,GAAG,CAAC,WAAW,MAAM,CAAC;AACxB;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/prop-controllers/base.ts"],"sourcesContent":["import type { PropControllerMessage, Send } from './instances'\n\nexport abstract class PropController<T = PropControllerMessage> {\n protected send: Send<T>\n\n constructor(send: Send<T>) {\n this.send = send\n }\n\n abstract recv(message: T): void\n}\n"],"mappings":"AAEO,MAAe,eAA0C;AAAA,EACpD;AAAA,EAEV,YAAY,MAAe;AACzB,SAAK,OAAO;AAAA,EACd;AAGF;","names":[]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { P, match } from "ts-pattern";
|
|
2
|
+
function copy(descriptor, value, context) {
|
|
3
|
+
if (value == null)
|
|
4
|
+
return value;
|
|
5
|
+
return value.map((override) => ({
|
|
6
|
+
...override,
|
|
7
|
+
value: override.value.map((backgroundItem) => {
|
|
8
|
+
return match([descriptor, backgroundItem]).with([P.any, { type: "color" }], ([, item]) => {
|
|
9
|
+
return {
|
|
10
|
+
...item,
|
|
11
|
+
payload: item.payload === null ? null : {
|
|
12
|
+
...item.payload,
|
|
13
|
+
swatchId: context.replacementContext.swatchIds.get(item.payload.swatchId) ?? item.payload.swatchId
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}).with([P.any, { type: "gradient" }], ([, item]) => {
|
|
17
|
+
return {
|
|
18
|
+
...item,
|
|
19
|
+
payload: {
|
|
20
|
+
...item.payload,
|
|
21
|
+
stops: item.payload.stops.map((stop) => ({
|
|
22
|
+
...stop,
|
|
23
|
+
color: stop.color == null ? null : {
|
|
24
|
+
...stop.color,
|
|
25
|
+
swatchId: context.replacementContext.swatchIds.get(stop.color.swatchId) ?? stop.color.swatchId
|
|
26
|
+
}
|
|
27
|
+
}))
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}).with(
|
|
31
|
+
[
|
|
32
|
+
{ version: 1 },
|
|
33
|
+
{ type: "image-v1", version: 1, payload: { image: { type: "makeswift-file" } } }
|
|
34
|
+
],
|
|
35
|
+
([, item]) => {
|
|
36
|
+
return {
|
|
37
|
+
...item,
|
|
38
|
+
payload: {
|
|
39
|
+
...item.payload,
|
|
40
|
+
image: {
|
|
41
|
+
...item.payload.image,
|
|
42
|
+
id: context.replacementContext.fileIds.get(item.payload.image.id) ?? item.payload.image.id
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
).with([P.any, { type: "image", payload: { imageId: P.string } }], ([, item]) => {
|
|
48
|
+
return {
|
|
49
|
+
...item,
|
|
50
|
+
payload: {
|
|
51
|
+
...item.payload,
|
|
52
|
+
imageId: context.replacementContext.fileIds.get(item.payload.imageId) ?? item.payload.imageId
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
}).otherwise(() => backgroundItem);
|
|
56
|
+
})
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
copy
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=backgrounds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/backgrounds.ts"],"sourcesContent":["import { P, match } from 'ts-pattern'\nimport { CopyContext } from '../../state/react-page'\nimport { BackgroundsDescriptor, BackgroundsValue } from '../descriptors'\n\nexport function copy(\n descriptor: BackgroundsDescriptor,\n value: BackgroundsValue | undefined,\n context: Pick<CopyContext, 'replacementContext'>,\n): BackgroundsValue | undefined {\n if (value == null) return value\n\n return value.map(override => ({\n ...override,\n value: override.value.map(backgroundItem => {\n return match([descriptor, backgroundItem])\n .with([P.any, { type: 'color' }], ([, item]) => {\n return {\n ...item,\n payload:\n item.payload === null\n ? null\n : {\n ...item.payload,\n swatchId:\n context.replacementContext.swatchIds.get(item.payload.swatchId) ??\n item.payload.swatchId,\n },\n }\n })\n .with([P.any, { type: 'gradient' }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n stops: item.payload.stops.map(stop => ({\n ...stop,\n color:\n stop.color == null\n ? null\n : {\n ...stop.color,\n swatchId:\n context.replacementContext.swatchIds.get(stop.color.swatchId) ??\n stop.color.swatchId,\n },\n })),\n },\n }\n })\n .with(\n [\n { version: 1 },\n { type: 'image-v1', version: 1, payload: { image: { type: 'makeswift-file' } } },\n ],\n ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n image: {\n ...item.payload.image,\n id:\n context.replacementContext.fileIds.get(item.payload.image.id) ??\n item.payload.image.id,\n },\n },\n }\n },\n )\n .with([P.any, { type: 'image', payload: { imageId: P.string } }], ([, item]) => {\n return {\n ...item,\n payload: {\n ...item.payload,\n imageId:\n context.replacementContext.fileIds.get(item.payload.imageId) ??\n item.payload.imageId,\n },\n }\n })\n .otherwise(() => backgroundItem)\n }),\n }))\n}\n"],"mappings":"AAAA,SAAS,GAAG,aAAa;AAIlB,SAAS,KACd,YACA,OACA,SAC8B;AAC9B,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,eAAa;AAAA,IAC5B,GAAG;AAAA,IACH,OAAO,SAAS,MAAM,IAAI,oBAAkB;AAC1C,aAAO,MAAM,CAAC,YAAY,cAAc,CAAC,EACtC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM;AAC9C,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SACE,KAAK,YAAY,OACb,OACA;AAAA,YACE,GAAG,KAAK;AAAA,YACR,UACE,QAAQ,mBAAmB,UAAU,IAAI,KAAK,QAAQ,QAAQ,KAC9D,KAAK,QAAQ;AAAA,UACjB;AAAA,QACR;AAAA,MACF,CAAC,EACA,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM;AACjD,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,OAAO,KAAK,QAAQ,MAAM,IAAI,WAAS;AAAA,cACrC,GAAG;AAAA,cACH,OACE,KAAK,SAAS,OACV,OACA;AAAA,gBACE,GAAG,KAAK;AAAA,gBACR,UACE,QAAQ,mBAAmB,UAAU,IAAI,KAAK,MAAM,QAAQ,KAC5D,KAAK,MAAM;AAAA,cACf;AAAA,YACR,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF,CAAC,EACA;AAAA,QACC;AAAA,UACE,EAAE,SAAS,EAAE;AAAA,UACb,EAAE,MAAM,YAAY,SAAS,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,EAAE,EAAE;AAAA,QACjF;AAAA,QACA,CAAC,CAAC,EAAE,IAAI,MAAM;AACZ,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,SAAS;AAAA,cACP,GAAG,KAAK;AAAA,cACR,OAAO;AAAA,gBACL,GAAG,KAAK,QAAQ;AAAA,gBAChB,IACE,QAAQ,mBAAmB,QAAQ,IAAI,KAAK,QAAQ,MAAM,EAAE,KAC5D,KAAK,QAAQ,MAAM;AAAA,cACvB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,EACC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,SAAS,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM;AAC9E,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,SACE,QAAQ,mBAAmB,QAAQ,IAAI,KAAK,QAAQ,OAAO,KAC3D,KAAK,QAAQ;AAAA,UACjB;AAAA,QACF;AAAA,MACF,CAAC,EACA,UAAU,MAAM,cAAc;AAAA,IACnC,CAAC;AAAA,EACH,EAAE;AACJ;","names":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function copy(value, context) {
|
|
2
|
+
if (value == null)
|
|
3
|
+
return value;
|
|
4
|
+
if (context.replacementContext.elementHtmlIds.has(value))
|
|
5
|
+
return void 0;
|
|
6
|
+
context.replacementContext.elementHtmlIds.add(value);
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
copy
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=element-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/element-id.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\n\nexport function copy(value: string | undefined, context: CopyContext): string | undefined {\n if (value == null) return value\n\n if (context.replacementContext.elementHtmlIds.has(value)) return undefined\n\n context.replacementContext.elementHtmlIds.add(value)\n\n return value\n}\n"],"mappings":"AAEO,SAAS,KAAK,OAA2B,SAA0C;AACxF,MAAI,SAAS;AAAM,WAAO;AAE1B,MAAI,QAAQ,mBAAmB,eAAe,IAAI,KAAK;AAAG,WAAO;AAEjE,UAAQ,mBAAmB,eAAe,IAAI,KAAK;AAEnD,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/grid.ts"],"sourcesContent":["import { CopyContext, Data } from '../../state/react-page'\nimport { GridValue } from '../descriptors'\n\nexport function copy(value: GridValue | undefined, context: CopyContext): Data | undefined {\n if (value == null) return undefined\n\n return {\n ...value,\n elements: value.elements.map(element => context.copyElement(element)),\n }\n}\n"],"mappings":"AAGO,SAAS,KAAK,OAA8B,SAAwC;AACzF,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,MAAM,SAAS,IAAI,aAAW,QAAQ,YAAY,OAAO,CAAC;AAAA,EACtE;AACF;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { match, P } from "ts-pattern";
|
|
2
|
+
function copy(descriptor, value, context) {
|
|
3
|
+
return match([descriptor, value]).with([P.any, P.string], ([, v]) => context.replacementContext.fileIds.get(v) ?? v).with(
|
|
4
|
+
[{ version: 1 }, { type: "makeswift-file", version: 1 }],
|
|
5
|
+
([, v]) => context.replacementContext.fileIds.get(v.id) ?? v.id
|
|
6
|
+
).otherwise(([, v]) => v);
|
|
7
|
+
}
|
|
8
|
+
export {
|
|
9
|
+
copy
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/image.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { ImageDescriptor, ImageValue } from '../descriptors'\nimport { match, P } from 'ts-pattern'\n\nexport function copy(\n descriptor: ImageDescriptor,\n value: ImageValue | undefined,\n context: Pick<CopyContext, 'replacementContext'>,\n): ImageValue | undefined {\n return match([descriptor, value])\n .with([P.any, P.string], ([, v]) => context.replacementContext.fileIds.get(v) ?? v)\n .with(\n [{ version: 1 }, { type: 'makeswift-file', version: 1 }],\n ([, v]) => context.replacementContext.fileIds.get(v.id) ?? v.id,\n )\n .otherwise(([, v]) => v)\n}\n"],"mappings":"AAEA,SAAS,OAAO,SAAS;AAElB,SAAS,KACd,YACA,OACA,SACwB;AACxB,SAAO,MAAM,CAAC,YAAY,KAAK,CAAC,EAC7B,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,CAAC,KAAK,CAAC,EACjF;AAAA,IACC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,kBAAkB,SAAS,EAAE,CAAC;AAAA,IACvD,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE;AAAA,EAC/D,EACC,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;AAC3B;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { match, P } from "ts-pattern";
|
|
2
|
+
function copy(descriptor, value, context) {
|
|
3
|
+
if (value == null)
|
|
4
|
+
return value;
|
|
5
|
+
return value.map(copyImagesPanelItem);
|
|
6
|
+
function copyImagesPanelItem(imagesPanelItem) {
|
|
7
|
+
const { file } = imagesPanelItem.props;
|
|
8
|
+
if (file == null)
|
|
9
|
+
return imagesPanelItem;
|
|
10
|
+
return {
|
|
11
|
+
...imagesPanelItem,
|
|
12
|
+
props: {
|
|
13
|
+
...imagesPanelItem.props,
|
|
14
|
+
file: match([descriptor, file]).with([P.any, P.string], ([, f]) => context.replacementContext.fileIds.get(f) ?? f).with(
|
|
15
|
+
[{ version: 1 }, { type: "makeswift-file", version: 1 }],
|
|
16
|
+
([, f]) => context.replacementContext.fileIds.get(f.id) ?? f.id
|
|
17
|
+
).otherwise(([, f]) => f)
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
copy
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/images.ts"],"sourcesContent":["import { match, P } from 'ts-pattern'\nimport { CopyContext } from '../../state/react-page'\nimport { ImagesDescriptor, ImagesValue, ImagesValueItem } from '../descriptors'\n\nexport function copy(\n descriptor: ImagesDescriptor,\n value: ImagesValue | undefined,\n context: Pick<CopyContext, 'replacementContext'>,\n): ImagesValue | undefined {\n if (value == null) return value\n\n return value.map(copyImagesPanelItem)\n\n function copyImagesPanelItem(imagesPanelItem: ImagesValueItem): any {\n const { file } = imagesPanelItem.props\n\n if (file == null) return imagesPanelItem\n\n return {\n ...imagesPanelItem,\n props: {\n ...imagesPanelItem.props,\n file: match([descriptor, file])\n .with([P.any, P.string], ([, f]) => context.replacementContext.fileIds.get(f) ?? f)\n .with(\n [{ version: 1 }, { type: 'makeswift-file', version: 1 }],\n ([, f]) => context.replacementContext.fileIds.get(f.id) ?? f.id,\n )\n .otherwise(([, f]) => f),\n },\n }\n }\n}\n"],"mappings":"AAAA,SAAS,OAAO,SAAS;AAIlB,SAAS,KACd,YACA,OACA,SACyB;AACzB,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,mBAAmB;AAEpC,WAAS,oBAAoB,iBAAuC;AAClE,UAAM,EAAE,KAAK,IAAI,gBAAgB;AAEjC,QAAI,QAAQ;AAAM,aAAO;AAEzB,WAAO;AAAA,MACL,GAAG;AAAA,MACH,OAAO;AAAA,QACL,GAAG,gBAAgB;AAAA,QACnB,MAAM,MAAM,CAAC,YAAY,IAAI,CAAC,EAC3B,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,CAAC,KAAK,CAAC,EACjF;AAAA,UACC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,kBAAkB,SAAS,EAAE,CAAC;AAAA,UACvD,CAAC,CAAC,EAAE,CAAC,MAAM,QAAQ,mBAAmB,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE;AAAA,QAC/D,EACC,UAAU,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { copyLinkPropControllerData } from "@makeswift/prop-controllers";
|
|
2
|
+
function copy(value, context) {
|
|
3
|
+
if (value == null)
|
|
4
|
+
return value;
|
|
5
|
+
return value.map(copyNavigationLinksPanelItem);
|
|
6
|
+
function copyNavigationLinksPanelItem(item) {
|
|
7
|
+
switch (item.type) {
|
|
8
|
+
case "button":
|
|
9
|
+
case "dropdown": {
|
|
10
|
+
const { color, link } = item.payload;
|
|
11
|
+
return {
|
|
12
|
+
...item,
|
|
13
|
+
payload: {
|
|
14
|
+
...item.payload,
|
|
15
|
+
link: link != null ? copyLinkPropControllerData(link, context) : void 0,
|
|
16
|
+
color: color != null ? color.map((override) => ({
|
|
17
|
+
...override,
|
|
18
|
+
value: {
|
|
19
|
+
...override.value,
|
|
20
|
+
swatchId: context.replacementContext.swatchIds.get(override.value.swatchId) ?? override.value.swatchId
|
|
21
|
+
}
|
|
22
|
+
})) : void 0
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
default:
|
|
27
|
+
return item;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
copy
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=navigation-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/prop-controllers/copy/navigation-links.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { NavigationLinksValue } from '../descriptors'\nimport { copyLinkPropControllerData } from '@makeswift/prop-controllers'\n\nexport function copy(\n value: NavigationLinksValue | undefined,\n context: CopyContext,\n): NavigationLinksValue | undefined {\n if (value == null) return value\n\n return value.map(copyNavigationLinksPanelItem)\n\n function copyNavigationLinksPanelItem(item: any): any {\n switch (item.type) {\n case 'button':\n case 'dropdown': {\n const { color, link } = item.payload\n\n return {\n ...item,\n payload: {\n ...item.payload,\n link: link != null ? copyLinkPropControllerData(link, context) : undefined,\n color:\n color != null\n ? color.map((override: { value: { swatchId: string } }) => ({\n ...override,\n value: {\n ...override.value,\n swatchId:\n context.replacementContext.swatchIds.get(override.value.swatchId) ??\n override.value.swatchId,\n },\n }))\n : undefined,\n },\n }\n }\n\n default:\n return item\n }\n }\n}\n"],"mappings":"AAEA,SAAS,kCAAkC;AAEpC,SAAS,KACd,OACA,SACkC;AAClC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,MAAM,IAAI,4BAA4B;AAE7C,WAAS,6BAA6B,MAAgB;AACpD,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK;AAAA,MACL,KAAK,YAAY;AACf,cAAM,EAAE,OAAO,KAAK,IAAI,KAAK;AAE7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,MAAM,QAAQ,OAAO,2BAA2B,MAAM,OAAO,IAAI;AAAA,YACjE,OACE,SAAS,OACL,MAAM,IAAI,CAAC,cAA+C;AAAA,cACxD,GAAG;AAAA,cACH,OAAO;AAAA,gBACL,GAAG,SAAS;AAAA,gBACZ,UACE,QAAQ,mBAAmB,UAAU,IAAI,SAAS,MAAM,QAAQ,KAChE,SAAS,MAAM;AAAA,cACnB;AAAA,YACF,EAAE,IACF;AAAA,UACR;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
|