@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,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var list_exports = {};
|
|
20
|
+
__export(list_exports, {
|
|
21
|
+
List: () => List,
|
|
22
|
+
ListControl: () => ListControl,
|
|
23
|
+
ListControlMessageType: () => ListControlMessageType,
|
|
24
|
+
ListControlType: () => ListControlType,
|
|
25
|
+
copyListData: () => copyListData,
|
|
26
|
+
getListElementChildren: () => getListElementChildren,
|
|
27
|
+
getListFileIds: () => getListFileIds,
|
|
28
|
+
getListPageIds: () => getListPageIds,
|
|
29
|
+
getListSwatchIds: () => getListSwatchIds,
|
|
30
|
+
getListTranslatableData: () => getListTranslatableData,
|
|
31
|
+
getListTypographyIds: () => getListTypographyIds,
|
|
32
|
+
mergeListTranslatedData: () => mergeListTranslatedData
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(list_exports);
|
|
35
|
+
var import_instances = require("../prop-controllers/instances");
|
|
36
|
+
var import_base = require("../prop-controllers/base");
|
|
37
|
+
var import_control = require("./control");
|
|
38
|
+
var import_control2 = require("./control");
|
|
39
|
+
var import_introspection = require("../prop-controllers/introspection");
|
|
40
|
+
const ListControlType = "makeswift::controls::list";
|
|
41
|
+
function List(config) {
|
|
42
|
+
return { type: ListControlType, config };
|
|
43
|
+
}
|
|
44
|
+
const ListControlMessageType = {
|
|
45
|
+
LIST_CONTROL_ITEM_CONTROL_MESSAGE: "makeswift::controls::list::message::item-control-message"
|
|
46
|
+
};
|
|
47
|
+
class ListControl extends import_base.PropController {
|
|
48
|
+
controls;
|
|
49
|
+
descriptor;
|
|
50
|
+
send;
|
|
51
|
+
constructor(send, descriptor) {
|
|
52
|
+
super(send);
|
|
53
|
+
this.descriptor = descriptor;
|
|
54
|
+
this.send = send;
|
|
55
|
+
this.controls = /* @__PURE__ */ new Map();
|
|
56
|
+
}
|
|
57
|
+
setItemsControl = (value) => {
|
|
58
|
+
const controls = /* @__PURE__ */ new Map();
|
|
59
|
+
if (value == null)
|
|
60
|
+
return;
|
|
61
|
+
const shouldUpdate = () => {
|
|
62
|
+
if (value.length !== this.controls.size)
|
|
63
|
+
return true;
|
|
64
|
+
if (!value.every(({ id }) => this.controls.has(id)))
|
|
65
|
+
return true;
|
|
66
|
+
return false;
|
|
67
|
+
};
|
|
68
|
+
if (!shouldUpdate())
|
|
69
|
+
return this.controls;
|
|
70
|
+
value.forEach((item) => {
|
|
71
|
+
const control = (0, import_instances.createPropController)(
|
|
72
|
+
this.descriptor.config.type,
|
|
73
|
+
(message) => this.send({
|
|
74
|
+
type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,
|
|
75
|
+
payload: { message, itemId: item.id }
|
|
76
|
+
})
|
|
77
|
+
);
|
|
78
|
+
controls.set(item.id, control);
|
|
79
|
+
});
|
|
80
|
+
this.controls = controls;
|
|
81
|
+
return this.controls;
|
|
82
|
+
};
|
|
83
|
+
recv = (message) => {
|
|
84
|
+
switch (message.type) {
|
|
85
|
+
case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {
|
|
86
|
+
const control = this.controls.get(message.payload.itemId);
|
|
87
|
+
if (control == null)
|
|
88
|
+
return;
|
|
89
|
+
const recv = control.recv;
|
|
90
|
+
recv(message.payload.message);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
function copyListData(definition, value, context) {
|
|
96
|
+
if (value == null)
|
|
97
|
+
return value;
|
|
98
|
+
return value && value.map((item) => ({
|
|
99
|
+
...item,
|
|
100
|
+
value: (0, import_control2.copy)(definition.config.type, item.value, context)
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
function introspectListData(definition, value, func) {
|
|
104
|
+
if (value == null)
|
|
105
|
+
return [];
|
|
106
|
+
return value.flatMap((item) => func(definition.config.type, item.value));
|
|
107
|
+
}
|
|
108
|
+
function getListElementChildren(definition, value) {
|
|
109
|
+
return introspectListData(definition, value, import_introspection.getElementChildren);
|
|
110
|
+
}
|
|
111
|
+
function getListSwatchIds(definition, value) {
|
|
112
|
+
return introspectListData(definition, value, import_introspection.getSwatchIds);
|
|
113
|
+
}
|
|
114
|
+
function getListFileIds(definition, value) {
|
|
115
|
+
return introspectListData(definition, value, import_introspection.getFileIds);
|
|
116
|
+
}
|
|
117
|
+
function getListTypographyIds(definition, value) {
|
|
118
|
+
return introspectListData(definition, value, import_introspection.getTypographyIds);
|
|
119
|
+
}
|
|
120
|
+
function getListPageIds(definition, value) {
|
|
121
|
+
return introspectListData(definition, value, import_introspection.getPageIds);
|
|
122
|
+
}
|
|
123
|
+
function getListTranslatableData(definition, data) {
|
|
124
|
+
return Object.fromEntries(
|
|
125
|
+
data.map((item) => [item.id, (0, import_control.getTranslatableData)(definition.config.type, item.value)])
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
function mergeListTranslatedData(definition, data, translatedData, context) {
|
|
129
|
+
return data.map((item) => {
|
|
130
|
+
return {
|
|
131
|
+
...item,
|
|
132
|
+
value: (0, import_control.mergeTranslatedData)(
|
|
133
|
+
definition.config.type,
|
|
134
|
+
item.value,
|
|
135
|
+
translatedData[item.id],
|
|
136
|
+
context
|
|
137
|
+
)
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
+
0 && (module.exports = {
|
|
143
|
+
List,
|
|
144
|
+
ListControl,
|
|
145
|
+
ListControlMessageType,
|
|
146
|
+
ListControlType,
|
|
147
|
+
copyListData,
|
|
148
|
+
getListElementChildren,
|
|
149
|
+
getListFileIds,
|
|
150
|
+
getListPageIds,
|
|
151
|
+
getListSwatchIds,
|
|
152
|
+
getListTranslatableData,
|
|
153
|
+
getListTypographyIds,
|
|
154
|
+
mergeListTranslatedData
|
|
155
|
+
});
|
|
156
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/list.ts"],"sourcesContent":["import {\n CheckboxControlDefinition,\n NumberControlDefinition,\n TextInputControlDefinition,\n TextAreaControlDefinition,\n ColorData,\n Data,\n ColorControlDefinition,\n ComboboxControlData,\n ComboboxControlDefinition,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n ImageControlData,\n ImageControlDefinition,\n LinkControlData,\n LinkControlDefinition,\n} from '@makeswift/controls'\n\nimport {\n AnyPropController,\n createPropController,\n PropControllerMessage,\n Send,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\n\nimport { copy as controlCopy } from './control'\nimport {\n getElementChildren,\n getFileIds,\n getPageIds,\n getSwatchIds,\n getTypographyIds,\n} from '../prop-controllers/introspection'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport { ShapeControlDefinition } from './shape'\nimport { RichTextControlData, RichTextControlDefinition } from './rich-text'\nimport { RichTextV2ControlData, RichTextV2ControlDefinition } from './rich-text-v2'\nimport { StyleControlData, StyleControlDefinition } from './style'\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type GetItemLabelControlData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? boolean\n : T extends NumberControlDefinition\n ? number\n : T extends TextInputControlDefinition\n ? string\n : T extends TextAreaControlDefinition\n ? string\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? GetItemLabelShapeControlData<T>\n : T extends ListControlDefinition\n ? GetItemListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport type GetItemLabelListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: GetItemLabelControlData<T['config']['type']>\n}\n\nexport type GetItemLabelShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: GetItemLabelControlData<T['config']['type'][K]>\n}\n\nexport type GetItemListControlData<T extends ListControlDefinition = ListControlDefinition> =\n GetItemLabelListControlItemData<T>[]\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n getItemLabel?(item: GetItemLabelControlData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n\nexport const ListControlMessageType = {\n LIST_CONTROL_ITEM_CONTROL_MESSAGE: 'makeswift::controls::list::message::item-control-message',\n} as const\n\ntype ListControlItemControlMessage = {\n type: typeof ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE\n payload: { message: PropControllerMessage; itemId: string }\n}\n\nexport type ListControlMessage = ListControlItemControlMessage\n\nexport class ListControl<\n T extends ListControlDefinition = ListControlDefinition,\n> extends PropController<ListControlMessage> {\n controls: Map<string, AnyPropController>\n descriptor: ListControlDefinition\n send: Send<ListControlMessage>\n\n constructor(send: Send<ListControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n\n this.controls = new Map<string, AnyPropController>()\n }\n\n setItemsControl = (value: ListControlData<T> | undefined) => {\n const controls = new Map<string, AnyPropController>()\n\n if (value == null) return\n\n const shouldUpdate = () => {\n // If the length is different, should update\n if (value.length !== this.controls.size) return true\n // If this.controls does not have an itemId, should update\n if (!value.every(({ id }) => this.controls.has(id))) return true\n\n return false\n }\n\n if (!shouldUpdate()) return this.controls\n\n value.forEach(item => {\n const control = createPropController(this.descriptor.config.type, message =>\n this.send({\n type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,\n payload: { message, itemId: item.id },\n }),\n )\n\n controls.set(item.id, control)\n })\n\n this.controls = controls\n\n return this.controls\n }\n\n recv = (message: ListControlMessage) => {\n switch (message.type) {\n case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {\n const control = this.controls.get(message.payload.itemId)\n\n if (control == null) return\n\n // TODO: We're casting the type here as the arg0 type for control.recv is never\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n\nexport function copyListData(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n context: CopyContext,\n): ListControlData | undefined {\n if (value == null) return value\n\n return (\n value &&\n value.map(item => ({\n ...item,\n value: controlCopy(definition.config.type, item.value, context),\n }))\n )\n}\n\nfunction introspectListData<T>(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n if (value == null) return []\n\n return value.flatMap(item => func(definition.config.type, item.value))\n}\n\nexport function getListElementChildren(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getElementChildren)\n}\n\nexport function getListSwatchIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getSwatchIds)\n}\n\nexport function getListFileIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getFileIds)\n}\n\nexport function getListTypographyIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getTypographyIds)\n}\n\nexport function getListPageIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getPageIds)\n}\n\nexport function getListTranslatableData(definition: ListControlDefinition, data: ListControlData) {\n return Object.fromEntries(\n data.map(item => [item.id, getTranslatableData(definition.config.type, item.value)]),\n )\n}\n\nexport type ListControlTranslationDto = Record<string, ListControlData>\n\nexport function mergeListTranslatedData(\n definition: ListControlDefinition,\n data: ListControlData,\n translatedData: ListControlTranslationDto,\n context: MergeTranslatableDataContext,\n) {\n return data.map(item => {\n return {\n ...item,\n value: mergeTranslatedData(\n definition.config.type,\n item.value,\n translatedData[item.id],\n context,\n ),\n }\n })\n}\n"],"mappings":"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","names":["import_control","controlCopy"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var number_exports = {};
|
|
20
|
+
__export(number_exports, {
|
|
21
|
+
Number: () => Number,
|
|
22
|
+
NumberControlDataTypeKey: () => NumberControlDataTypeKey,
|
|
23
|
+
NumberControlDataTypeValueV1: () => NumberControlDataTypeValueV1,
|
|
24
|
+
NumberControlType: () => NumberControlType
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(number_exports);
|
|
27
|
+
var import_control_data_type_key = require("./control-data-type-key");
|
|
28
|
+
const NumberControlDataTypeKey = import_control_data_type_key.ControlDataTypeKey;
|
|
29
|
+
const NumberControlDataTypeValueV1 = "number::v1";
|
|
30
|
+
const NumberControlType = "makeswift::controls::number";
|
|
31
|
+
function Number(config = {}) {
|
|
32
|
+
return { type: NumberControlType, config, version: 1 };
|
|
33
|
+
}
|
|
34
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
35
|
+
0 && (module.exports = {
|
|
36
|
+
Number,
|
|
37
|
+
NumberControlDataTypeKey,
|
|
38
|
+
NumberControlDataTypeValueV1,
|
|
39
|
+
NumberControlType
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/number.ts"],"sourcesContent":["import { ControlDataTypeKey } from \"./control-data-type-key\"\n\nexport const NumberControlDataTypeKey = ControlDataTypeKey\n\nexport const NumberControlDataTypeValueV1 = 'number::v1'\n\nexport type NumberControlDataV0 = number\n\nexport type NumberControlDataV1 = {\n [NumberControlDataTypeKey]: typeof NumberControlDataTypeValueV1\n value: number,\n}\n\nexport type NumberControlData = NumberControlDataV0 | NumberControlDataV1\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n version?: 1\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config, version: 1 }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAAmC;AAE5B,MAAM,2BAA2B;AAEjC,MAAM,+BAA+B;AAWrC,MAAM,oBAAoB;AAkB1B,SAAS,OACd,SAAY,CAAC,GACe;AAC5B,SAAO,EAAE,MAAM,mBAAmB,QAAQ,SAAS,EAAE;AACvD;","names":[]}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var copy_exports = {};
|
|
20
|
+
__export(copy_exports, {
|
|
21
|
+
copyRichTextData: () => copyRichTextData
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(copy_exports);
|
|
24
|
+
function copyRichTextData(value, context) {
|
|
25
|
+
if (value == null)
|
|
26
|
+
return value;
|
|
27
|
+
return { ...value, document: value.document ? copyNode(value.document) : value.document };
|
|
28
|
+
function copyNode(node) {
|
|
29
|
+
switch (node.object) {
|
|
30
|
+
case "document":
|
|
31
|
+
case "block":
|
|
32
|
+
case "inline":
|
|
33
|
+
return copyInline(node);
|
|
34
|
+
case "text":
|
|
35
|
+
return { ...node, marks: node.marks?.map(copyMark) };
|
|
36
|
+
default:
|
|
37
|
+
return node;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function copyInline(inline) {
|
|
41
|
+
switch (inline.type) {
|
|
42
|
+
case "link":
|
|
43
|
+
return {
|
|
44
|
+
...inline,
|
|
45
|
+
nodes: inline.nodes?.map(copyNode),
|
|
46
|
+
data: inline.data ? copyLinkData(inline.data) : inline.data
|
|
47
|
+
};
|
|
48
|
+
default:
|
|
49
|
+
return { ...inline, nodes: inline.nodes?.map(copyNode) };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function copyLinkData(data) {
|
|
53
|
+
switch (data.type) {
|
|
54
|
+
case "OPEN_PAGE": {
|
|
55
|
+
const pageId = data.payload.pageId;
|
|
56
|
+
if (pageId == null)
|
|
57
|
+
return data;
|
|
58
|
+
return {
|
|
59
|
+
...data,
|
|
60
|
+
payload: {
|
|
61
|
+
...data.payload,
|
|
62
|
+
pageId: context.replacementContext.pageIds.get(pageId) ?? data.payload.pageId
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
case "SCROLL_TO_ELEMENT": {
|
|
67
|
+
const elementIdConfig = data.payload.elementIdConfig;
|
|
68
|
+
if (elementIdConfig == null)
|
|
69
|
+
return data;
|
|
70
|
+
return {
|
|
71
|
+
...data,
|
|
72
|
+
payload: {
|
|
73
|
+
...data.payload,
|
|
74
|
+
elementIdConfig: {
|
|
75
|
+
...elementIdConfig,
|
|
76
|
+
elementKey: context.replacementContext.elementKeys.get(elementIdConfig.elementKey) ?? elementIdConfig.elementKey
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
default:
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function copyMark(mark) {
|
|
86
|
+
switch (mark.type) {
|
|
87
|
+
case "typography": {
|
|
88
|
+
const typographyId = mark.data?.value.id;
|
|
89
|
+
return {
|
|
90
|
+
...mark,
|
|
91
|
+
data: {
|
|
92
|
+
...mark.data,
|
|
93
|
+
value: {
|
|
94
|
+
...mark.data?.value,
|
|
95
|
+
id: context.replacementContext.typographyIds.get(typographyId) ?? typographyId,
|
|
96
|
+
style: mark.data?.value.style.map((override) => ({
|
|
97
|
+
...override,
|
|
98
|
+
value: {
|
|
99
|
+
...override.value,
|
|
100
|
+
color: override.value.color == null ? override.value.color : {
|
|
101
|
+
...override.value.color,
|
|
102
|
+
swatchId: context.replacementContext.swatchIds.get(
|
|
103
|
+
override.value.color?.swatchId
|
|
104
|
+
) ?? override.value.color?.swatchId
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}))
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
default:
|
|
113
|
+
return mark;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
118
|
+
0 && (module.exports = {
|
|
119
|
+
copyRichTextData
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=copy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/copy.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { NodeJSON, InlineJSON, MarkJSON } from './dto-types'\nimport { RichTextControlData } from './rich-text'\n\nexport function copyRichTextData(\n value: RichTextControlData | undefined,\n context: CopyContext,\n): RichTextControlData | undefined {\n if (value == null) return value\n\n return { ...value, document: value.document ? copyNode(value.document) : value.document }\n\n function copyNode<T extends NodeJSON>(node: T): T {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n // @ts-expect-error: TypeScript can't refine the generic type T, even though it can\n // refine NodeJSON.\n return copyInline(node)\n\n case 'text':\n return { ...node, marks: node.marks?.map(copyMark) }\n\n default:\n return node\n }\n }\n\n function copyInline(inline: InlineJSON): InlineJSON {\n switch (inline.type) {\n case 'link':\n return {\n ...inline,\n nodes: inline.nodes?.map(copyNode),\n data: inline.data ? copyLinkData(inline.data as any) : inline.data,\n }\n\n default:\n return { ...inline, nodes: inline.nodes?.map(copyNode) }\n }\n }\n\n function copyLinkData(data: any): any {\n switch (data.type) {\n case 'OPEN_PAGE': {\n const pageId = data.payload.pageId\n\n if (pageId == null) return data\n\n return {\n ...data,\n payload: {\n ...data.payload,\n pageId: context.replacementContext.pageIds.get(pageId) ?? data.payload.pageId,\n },\n }\n }\n\n case 'SCROLL_TO_ELEMENT': {\n const elementIdConfig = data.payload.elementIdConfig\n\n if (elementIdConfig == null) return data\n\n return {\n ...data,\n payload: {\n ...data.payload,\n elementIdConfig: {\n ...elementIdConfig,\n elementKey:\n context.replacementContext.elementKeys.get(elementIdConfig.elementKey) ??\n elementIdConfig.elementKey,\n },\n },\n }\n }\n\n default:\n return data\n }\n }\n\n function copyMark(mark: MarkJSON): MarkJSON {\n switch (mark.type) {\n case 'typography': {\n const typographyId = mark.data?.value.id\n\n return {\n ...mark,\n data: {\n ...mark.data,\n value: {\n ...mark.data?.value,\n id: context.replacementContext.typographyIds.get(typographyId) ?? typographyId,\n style: mark.data?.value.style.map((override: any) => ({\n ...override,\n value: {\n ...override.value,\n color:\n override.value.color == null\n ? override.value.color\n : {\n ...override.value.color,\n swatchId:\n context.replacementContext.swatchIds.get(\n override.value.color?.swatchId,\n ) ?? override.value.color?.swatchId,\n },\n },\n })),\n },\n },\n }\n }\n\n default:\n return mark\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,iBACd,OACA,SACiC;AACjC,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,EAAE,GAAG,OAAO,UAAU,MAAM,WAAW,SAAS,MAAM,QAAQ,IAAI,MAAM,SAAS;AAExF,WAAS,SAA6B,MAAY;AAChD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAGH,eAAO,WAAW,IAAI;AAAA,MAExB,KAAK;AACH,eAAO,EAAE,GAAG,MAAM,OAAO,KAAK,OAAO,IAAI,QAAQ,EAAE;AAAA,MAErD;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,WAAS,WAAW,QAAgC;AAClD,YAAQ,OAAO,MAAM;AAAA,MACnB,KAAK;AACH,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO,OAAO,OAAO,IAAI,QAAQ;AAAA,UACjC,MAAM,OAAO,OAAO,aAAa,OAAO,IAAW,IAAI,OAAO;AAAA,QAChE;AAAA,MAEF;AACE,eAAO,EAAE,GAAG,QAAQ,OAAO,OAAO,OAAO,IAAI,QAAQ,EAAE;AAAA,IAC3D;AAAA,EACF;AAEA,WAAS,aAAa,MAAgB;AACpC,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,cAAM,SAAS,KAAK,QAAQ;AAE5B,YAAI,UAAU;AAAM,iBAAO;AAE3B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,QAAQ,QAAQ,mBAAmB,QAAQ,IAAI,MAAM,KAAK,KAAK,QAAQ;AAAA,UACzE;AAAA,QACF;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,cAAM,kBAAkB,KAAK,QAAQ;AAErC,YAAI,mBAAmB;AAAM,iBAAO;AAEpC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,iBAAiB;AAAA,cACf,GAAG;AAAA,cACH,YACE,QAAQ,mBAAmB,YAAY,IAAI,gBAAgB,UAAU,KACrE,gBAAgB;AAAA,YACpB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,WAAS,SAAS,MAA0B;AAC1C,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,cAAc;AACjB,cAAM,eAAe,KAAK,MAAM,MAAM;AAEtC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,MAAM;AAAA,YACJ,GAAG,KAAK;AAAA,YACR,OAAO;AAAA,cACL,GAAG,KAAK,MAAM;AAAA,cACd,IAAI,QAAQ,mBAAmB,cAAc,IAAI,YAAY,KAAK;AAAA,cAClE,OAAO,KAAK,MAAM,MAAM,MAAM,IAAI,CAAC,cAAmB;AAAA,gBACpD,GAAG;AAAA,gBACH,OAAO;AAAA,kBACL,GAAG,SAAS;AAAA,kBACZ,OACE,SAAS,MAAM,SAAS,OACpB,SAAS,MAAM,QACf;AAAA,oBACE,GAAG,SAAS,MAAM;AAAA,oBAClB,UACE,QAAQ,mBAAmB,UAAU;AAAA,sBACnC,SAAS,MAAM,OAAO;AAAA,oBACxB,KAAK,SAAS,MAAM,OAAO;AAAA,kBAC/B;AAAA,gBACR;AAAA,cACF,EAAE;AAAA,YACJ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var dto_types_exports = {};
|
|
20
|
+
__export(dto_types_exports, {
|
|
21
|
+
ObjectType: () => ObjectType
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(dto_types_exports);
|
|
24
|
+
const ObjectType = {
|
|
25
|
+
Value: "value",
|
|
26
|
+
Text: "text",
|
|
27
|
+
Inline: "inline",
|
|
28
|
+
Block: "block",
|
|
29
|
+
Document: "document",
|
|
30
|
+
Leaf: "leaf",
|
|
31
|
+
Selection: "selection",
|
|
32
|
+
Mark: "mark",
|
|
33
|
+
Range: "range",
|
|
34
|
+
Decoration: "decoration",
|
|
35
|
+
Annotation: "annotation",
|
|
36
|
+
Point: "point",
|
|
37
|
+
Operation: "operation"
|
|
38
|
+
};
|
|
39
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
+
0 && (module.exports = {
|
|
41
|
+
ObjectType
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=dto-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/dto-types.ts"],"sourcesContent":["import { BlockType, InlineType } from '../../slate'\nimport { IndexSignatureHack } from '../../utils/index-signature-hack'\n\nexport const ObjectType = {\n Value: 'value',\n Text: 'text',\n Inline: 'inline',\n Block: 'block',\n Document: 'document',\n Leaf: 'leaf',\n Selection: 'selection',\n Mark: 'mark',\n Range: 'range',\n Decoration: 'decoration',\n Annotation: 'annotation',\n Point: 'point',\n Operation: 'operation',\n} as const\n\nexport type ObjectType = typeof ObjectType[keyof typeof ObjectType]\n\nexport interface ValueJSON {\n object?: typeof ObjectType.Value | undefined\n document?: DocumentJSON | undefined\n selection?: SelectionJSON | undefined\n annotations?: { [key: string]: AnnotationJSON } | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport type RichTextDTO = ValueJSON\n\nexport type RichTextValue = IndexSignatureHack<RichTextDTO>\n\nexport interface DocumentJSON {\n object?: typeof ObjectType.Document | undefined\n nodes?: NodeJSON[] | undefined\n key?: string | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface BlockJSON {\n object?: typeof ObjectType.Block | undefined\n type: typeof BlockType[keyof typeof BlockType]\n key?: string | undefined\n nodes?: Array<BlockJSON | InlineJSON | TextJSON> | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface InlineJSON {\n object?: typeof ObjectType.Inline | undefined\n type: typeof InlineType[keyof typeof InlineType]\n key?: string | undefined\n nodes?: Array<InlineJSON | TextJSON> | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface TextJSON {\n object?: typeof ObjectType.Text | undefined\n key?: string | undefined\n text?: string | undefined\n marks?: MarkJSON[] | undefined\n}\n\nexport interface LeafJSON {\n object?: typeof ObjectType.Leaf | undefined\n marks?: MarkJSON[] | undefined\n text?: string | undefined\n}\nexport type NodeJSON = DocumentJSON | BlockJSON | InlineJSON | TextJSON\n\nexport interface SelectionJSON {\n object?: typeof ObjectType.Selection | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n isFocused?: boolean | undefined\n marks?: MarkJSON[] | undefined\n}\n\nexport interface MarkJSON {\n object?: typeof ObjectType.Mark | undefined\n type: string\n data?: { [key: string]: any } | undefined\n}\n\nexport interface RangeJSON {\n object?: typeof ObjectType.Range | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n}\n\nexport interface DecorationJSON {\n object?: typeof ObjectType.Decoration | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n type?: string | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface AnnotationJSON {\n object?: typeof ObjectType.Annotation | undefined\n key: string\n type: string\n data?: { [key: string]: any } | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n}\n\nexport interface PointJSON {\n object?: typeof ObjectType.Point | undefined\n key?: string | undefined\n offset?: number | undefined\n path?: number[] | undefined\n}\n\nexport interface OperationJSON {\n object?: typeof ObjectType.Operation | undefined\n type: string\n text?: string | undefined\n target?: number | undefined\n properties?: NodeJSON | ValueJSON | SelectionJSON | AnnotationJSON | undefined\n position?: number | undefined\n path?: number[] | undefined\n offset?: number | undefined\n node?: Node | undefined\n newProperties?: NodeJSON | ValueJSON | SelectionJSON | MarkJSON | AnnotationJSON | undefined\n newPath?: number[] | undefined\n mark?: MarkJSON | undefined\n data?: { [key: string]: any } | undefined\n annotation?: AnnotationJSON | undefined\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,aAAa;AAAA,EACxB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AACb;","names":[]}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var dto_exports = {};
|
|
20
|
+
__export(dto_exports, {
|
|
21
|
+
richTextDAOToDTO: () => richTextDAOToDTO,
|
|
22
|
+
richTextDTOtoDAO: () => richTextDTOtoDAO,
|
|
23
|
+
richTextDTOtoSelection: () => richTextDTOtoSelection,
|
|
24
|
+
toSelectionDTO: () => toSelectionDTO
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(dto_exports);
|
|
27
|
+
var import_dto_types = require("./dto-types");
|
|
28
|
+
var import_types = require("../../slate/types");
|
|
29
|
+
function isText(node) {
|
|
30
|
+
if (typeof node === "object" && "text" in node)
|
|
31
|
+
return true;
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
function toTextDAO(node) {
|
|
35
|
+
const typographyMark = node.marks?.find((mark) => mark.type === "typography");
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
38
|
+
text: node.text ?? "",
|
|
39
|
+
typography: typographyMark?.data?.value ?? void 0
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
function toInlineDAO(node) {
|
|
44
|
+
switch (node.type) {
|
|
45
|
+
case import_types.InlineType.Link:
|
|
46
|
+
return [
|
|
47
|
+
{
|
|
48
|
+
children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],
|
|
49
|
+
[node.type]: node.data,
|
|
50
|
+
type: node.type
|
|
51
|
+
}
|
|
52
|
+
];
|
|
53
|
+
case import_types.InlineType.Code:
|
|
54
|
+
case import_types.InlineType.SubScript:
|
|
55
|
+
case import_types.InlineType.SuperScript:
|
|
56
|
+
return [
|
|
57
|
+
{
|
|
58
|
+
children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],
|
|
59
|
+
type: node.type
|
|
60
|
+
}
|
|
61
|
+
];
|
|
62
|
+
default:
|
|
63
|
+
return [];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
function toInlineOrTextDAO(node) {
|
|
67
|
+
switch (node.object) {
|
|
68
|
+
case import_dto_types.ObjectType.Inline:
|
|
69
|
+
return toInlineDAO(node);
|
|
70
|
+
case import_dto_types.ObjectType.Text:
|
|
71
|
+
return toTextDAO(node);
|
|
72
|
+
default:
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function toNodeDAO(node) {
|
|
77
|
+
switch (node.object) {
|
|
78
|
+
case import_dto_types.ObjectType.Inline:
|
|
79
|
+
case import_dto_types.ObjectType.Text:
|
|
80
|
+
return toInlineOrTextDAO(node);
|
|
81
|
+
case import_dto_types.ObjectType.Block:
|
|
82
|
+
return [
|
|
83
|
+
{
|
|
84
|
+
type: node.type,
|
|
85
|
+
textAlign: node?.data && "textAlign" in node.data ? node?.data.textAlign : void 0,
|
|
86
|
+
children: node.nodes == null || node.nodes && node.nodes.length === 0 ? [{ text: "" }] : node.nodes.flatMap(toNodeDAO)
|
|
87
|
+
}
|
|
88
|
+
];
|
|
89
|
+
default:
|
|
90
|
+
return [];
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function richTextDTOtoSelection(data) {
|
|
94
|
+
if (data.selection?.anchor?.offset != null && data.selection.anchor.path != null && data.selection?.focus?.offset != null && data.selection.focus.path != null)
|
|
95
|
+
return {
|
|
96
|
+
anchor: {
|
|
97
|
+
offset: data.selection.anchor.offset,
|
|
98
|
+
path: data.selection.anchor.path
|
|
99
|
+
},
|
|
100
|
+
focus: {
|
|
101
|
+
offset: data.selection.focus.offset,
|
|
102
|
+
path: data.selection.focus.path
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
function richTextDTOtoDAO(data) {
|
|
108
|
+
return data.document?.nodes?.flatMap(toNodeDAO) ?? [
|
|
109
|
+
{ type: import_types.BlockType.Default, children: [{ text: "" }] }
|
|
110
|
+
];
|
|
111
|
+
}
|
|
112
|
+
function toInlineOrTextDTO(node) {
|
|
113
|
+
if (isText(node)) {
|
|
114
|
+
return [
|
|
115
|
+
{
|
|
116
|
+
text: node.text,
|
|
117
|
+
object: "text",
|
|
118
|
+
marks: node.typography ? [
|
|
119
|
+
{
|
|
120
|
+
data: {
|
|
121
|
+
value: node.typography
|
|
122
|
+
},
|
|
123
|
+
type: "typography",
|
|
124
|
+
object: "mark"
|
|
125
|
+
}
|
|
126
|
+
] : []
|
|
127
|
+
}
|
|
128
|
+
];
|
|
129
|
+
}
|
|
130
|
+
switch (node.type) {
|
|
131
|
+
case import_types.InlineType.Link:
|
|
132
|
+
return [
|
|
133
|
+
{
|
|
134
|
+
object: import_dto_types.ObjectType.Inline,
|
|
135
|
+
nodes: node.children.flatMap(toInlineOrTextDTO),
|
|
136
|
+
type: node.type,
|
|
137
|
+
data: node.link ?? void 0
|
|
138
|
+
}
|
|
139
|
+
];
|
|
140
|
+
case import_types.InlineType.Code:
|
|
141
|
+
case import_types.InlineType.SubScript:
|
|
142
|
+
case import_types.InlineType.SuperScript:
|
|
143
|
+
return [
|
|
144
|
+
{
|
|
145
|
+
object: "inline",
|
|
146
|
+
nodes: node.children.flatMap(toInlineOrTextDTO),
|
|
147
|
+
type: node.type,
|
|
148
|
+
data: {}
|
|
149
|
+
}
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
function toNodeDTO(node) {
|
|
154
|
+
if (isText(node))
|
|
155
|
+
return toInlineOrTextDTO(node);
|
|
156
|
+
switch (node.type) {
|
|
157
|
+
case import_types.InlineType.Link:
|
|
158
|
+
case import_types.InlineType.Code:
|
|
159
|
+
case import_types.InlineType.SubScript:
|
|
160
|
+
case import_types.InlineType.SuperScript:
|
|
161
|
+
return toInlineOrTextDTO(node);
|
|
162
|
+
case import_types.BlockType.Heading1:
|
|
163
|
+
case import_types.BlockType.Heading2:
|
|
164
|
+
case import_types.BlockType.Heading3:
|
|
165
|
+
case import_types.BlockType.Heading4:
|
|
166
|
+
case import_types.BlockType.Heading5:
|
|
167
|
+
case import_types.BlockType.Heading6:
|
|
168
|
+
case import_types.BlockType.Default:
|
|
169
|
+
case import_types.BlockType.BlockQuote:
|
|
170
|
+
case import_types.BlockType.Paragraph:
|
|
171
|
+
case import_types.BlockType.OrderedList:
|
|
172
|
+
case import_types.BlockType.UnorderedList:
|
|
173
|
+
case import_types.BlockType.ListItem:
|
|
174
|
+
case import_types.BlockType.ListItemChild:
|
|
175
|
+
return [
|
|
176
|
+
{
|
|
177
|
+
type: node.type,
|
|
178
|
+
data: node.textAlign ? {
|
|
179
|
+
textAlign: node.textAlign
|
|
180
|
+
} : {},
|
|
181
|
+
object: "block",
|
|
182
|
+
nodes: node.children?.flatMap(toNodeDTO) ?? []
|
|
183
|
+
}
|
|
184
|
+
];
|
|
185
|
+
default:
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function toSelectionDTO(selection) {
|
|
190
|
+
if (selection == null)
|
|
191
|
+
return void 0;
|
|
192
|
+
return {
|
|
193
|
+
isFocused: false,
|
|
194
|
+
marks: void 0,
|
|
195
|
+
object: "selection",
|
|
196
|
+
anchor: {
|
|
197
|
+
offset: selection.anchor.offset,
|
|
198
|
+
path: selection.anchor.path,
|
|
199
|
+
object: "point"
|
|
200
|
+
},
|
|
201
|
+
focus: {
|
|
202
|
+
offset: selection.focus.offset,
|
|
203
|
+
path: selection.focus.path,
|
|
204
|
+
object: "point"
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
function richTextDAOToDTO(children, selection) {
|
|
209
|
+
return {
|
|
210
|
+
document: {
|
|
211
|
+
data: void 0,
|
|
212
|
+
nodes: children.flatMap(toNodeDTO),
|
|
213
|
+
object: "document"
|
|
214
|
+
},
|
|
215
|
+
object: "value",
|
|
216
|
+
selection: toSelectionDTO(selection),
|
|
217
|
+
annotations: void 0,
|
|
218
|
+
data: void 0
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
222
|
+
0 && (module.exports = {
|
|
223
|
+
richTextDAOToDTO,
|
|
224
|
+
richTextDTOtoDAO,
|
|
225
|
+
richTextDTOtoSelection,
|
|
226
|
+
toSelectionDTO
|
|
227
|
+
});
|
|
228
|
+
//# sourceMappingURL=dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/dto.ts"],"sourcesContent":["import { Descendant, Text, Selection } from 'slate'\nimport { LinkControlData } from '@makeswift/controls'\nimport {\n BlockJSON,\n InlineJSON,\n NodeJSON,\n SelectionJSON,\n TextJSON,\n RichTextDTO,\n ObjectType,\n} from './dto-types'\nimport { Inline, InlineType, RichTextDAO, BlockType } from '../../slate/types'\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction toTextDAO(node: TextJSON): Text[] {\n const typographyMark = node.marks?.find(mark => mark.type === 'typography')\n\n return [\n {\n text: node.text ?? '',\n typography: typographyMark?.data?.value ?? undefined,\n },\n ]\n}\n\nfunction toInlineDAO(node: InlineJSON): Inline[] {\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n [node.type]: node.data as LinkControlData,\n type: node.type,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n type: node.type,\n },\n ]\n default:\n return []\n }\n}\n\nfunction toInlineOrTextDAO(node: InlineJSON | TextJSON): Array<Inline | Text> {\n switch (node.object) {\n case ObjectType.Inline:\n return toInlineDAO(node)\n case ObjectType.Text:\n return toTextDAO(node)\n default:\n return []\n }\n}\n\nfunction toNodeDAO(node: NodeJSON): Descendant[] {\n switch (node.object) {\n case ObjectType.Inline:\n case ObjectType.Text:\n return toInlineOrTextDAO(node)\n case ObjectType.Block:\n /**\n * Prior to 0.50.0 of slate `node.nodes` could be `undefined` or empty. In that situation nothing was rendered.\n * With 0.50.0 slate introduced an normalization that requires all blocks to contain a text node.\n */\n return [\n {\n type: node.type,\n textAlign: node?.data && 'textAlign' in node.data ? node?.data.textAlign : undefined,\n children:\n node.nodes == null || (node.nodes && node.nodes.length === 0)\n ? [{ text: '' }]\n : node.nodes.flatMap(toNodeDAO),\n },\n ]\n default:\n return []\n }\n}\n\nexport function richTextDTOtoSelection(data: RichTextDTO): Selection {\n if (\n data.selection?.anchor?.offset != null &&\n data.selection.anchor.path != null &&\n data.selection?.focus?.offset != null &&\n data.selection.focus.path != null\n )\n return {\n anchor: {\n offset: data.selection.anchor.offset,\n path: data.selection.anchor.path,\n },\n focus: {\n offset: data.selection.focus.offset,\n path: data.selection.focus.path,\n },\n }\n\n return null\n}\n\nexport function richTextDTOtoDAO(data: RichTextDTO): RichTextDAO {\n return (\n data.document?.nodes?.flatMap(toNodeDAO) ?? [\n { type: BlockType.Default, children: [{ text: '' }] },\n ]\n )\n}\n\nfunction toInlineOrTextDTO(node: Inline | Text): Array<InlineJSON | TextJSON> {\n if (isText(node)) {\n return [\n {\n text: node.text,\n object: 'text',\n marks: node.typography\n ? [\n {\n data: {\n value: node.typography,\n },\n type: 'typography',\n object: 'mark',\n },\n ]\n : [],\n },\n ]\n }\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n object: ObjectType.Inline,\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: node.link ?? undefined,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n object: 'inline',\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: {},\n },\n ]\n }\n}\n\nfunction toNodeDTO(node: Descendant): Array<BlockJSON | InlineJSON | TextJSON> {\n if (isText(node)) return toInlineOrTextDTO(node)\n\n switch (node.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return toInlineOrTextDTO(node)\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.Default:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return [\n {\n type: node.type,\n data: node.textAlign\n ? {\n textAlign: node.textAlign,\n }\n : {},\n object: 'block',\n nodes: node.children?.flatMap(toNodeDTO) ?? [],\n },\n ]\n default:\n return []\n }\n}\n\nexport function toSelectionDTO(selection: Selection | null): SelectionJSON | undefined {\n if (selection == null) return undefined\n\n return {\n isFocused: false,\n marks: undefined,\n object: 'selection',\n anchor: {\n offset: selection.anchor.offset,\n path: selection.anchor.path,\n object: 'point',\n },\n focus: {\n offset: selection.focus.offset,\n path: selection.focus.path,\n object: 'point',\n },\n }\n}\n\nexport function richTextDAOToDTO(children: Descendant[], selection: Selection): RichTextDTO {\n return {\n document: {\n data: undefined,\n nodes: children.flatMap(toNodeDTO),\n object: 'document',\n },\n object: 'value',\n selection: toSelectionDTO(selection),\n annotations: undefined,\n data: undefined,\n }\n}\n"],"mappings":"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","names":[]}
|