@makeswift/runtime 0.19.4 → 0.20.0
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/builder/rich-text/package.json +5 -0
- package/core/package.json +5 -0
- package/dist/cjs/api/graphql/generated/types.js.map +1 -1
- package/dist/cjs/api/react.js.map +1 -1
- package/dist/cjs/{prop-controllers/base.js → builder/rich-text/index.js} +7 -12
- package/dist/cjs/builder/rich-text/index.js.map +1 -0
- package/dist/cjs/builder/serialization/control-serialization.js +51 -27
- package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
- package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
- package/dist/cjs/components/builtin/Carousel/Carousel.js +2 -2
- package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
- package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
- package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
- package/dist/cjs/components/builtin/Image/Image.js +2 -2
- package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
- package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
- package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
- package/dist/cjs/components/builtin/Text/register.js.map +1 -1
- package/dist/cjs/components/builtin/register.js.map +1 -1
- package/dist/cjs/components/hooks/useMediaQuery.js +2 -2
- package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
- package/dist/cjs/components/hooks/useResponsiveColor.js +1 -1
- package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
- package/dist/cjs/components/shared/Link/index.js +2 -2
- package/dist/cjs/components/shared/Link/index.js.map +1 -1
- package/dist/cjs/components/utils/responsive-style.js +9 -9
- package/dist/cjs/components/utils/responsive-style.js.map +1 -1
- package/dist/cjs/components/utils/types.js.map +1 -1
- package/dist/cjs/controls/control.js +14 -78
- package/dist/cjs/controls/control.js.map +1 -1
- package/dist/cjs/controls/index.js +99 -21
- package/dist/cjs/controls/index.js.map +1 -1
- package/dist/cjs/controls/{image.js → link.js} +20 -11
- package/dist/cjs/controls/link.js.map +1 -0
- package/dist/cjs/controls/rich-text/control.js +97 -0
- package/dist/cjs/controls/rich-text/control.js.map +1 -0
- package/dist/cjs/controls/rich-text/index.js +1 -7
- package/dist/cjs/controls/rich-text/index.js.map +1 -1
- package/dist/cjs/controls/rich-text/rich-text.js +16 -69
- package/dist/cjs/controls/rich-text/rich-text.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/control.js +138 -0
- package/dist/cjs/controls/rich-text-v2/control.js.map +1 -0
- package/dist/cjs/controls/rich-text-v2/index.js +1 -5
- package/dist/cjs/controls/rich-text-v2/index.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/plugin.js +3 -3
- package/dist/cjs/controls/rich-text-v2/plugin.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +105 -121
- package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/cjs/controls/rich-text-v2/translation.js +35 -48
- package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -1
- package/dist/cjs/controls/slot.js +13 -59
- package/dist/cjs/controls/slot.js.map +1 -1
- package/dist/cjs/controls/{rich-text/fixtures → style-v2}/index.js +4 -8
- package/dist/cjs/controls/style-v2/index.js.map +1 -0
- package/dist/cjs/controls/style-v2/style-v2.js +50 -0
- package/dist/cjs/controls/style-v2/style-v2.js.map +1 -0
- package/dist/cjs/{controls/select.js → core/index.js} +11 -12
- package/dist/cjs/core/index.js.map +1 -0
- package/dist/cjs/jest-setup.js +3 -0
- package/dist/cjs/jest-setup.js.map +1 -1
- package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
- package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +18 -5
- package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/cjs/prop-controllers/copy.js +20 -18
- package/dist/cjs/prop-controllers/copy.js.map +1 -1
- package/dist/cjs/prop-controllers/deleted.js.map +1 -1
- package/dist/cjs/prop-controllers/descriptors.js +6 -6
- package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
- package/dist/cjs/prop-controllers/index.js +0 -2
- package/dist/cjs/prop-controllers/index.js.map +1 -1
- package/dist/cjs/prop-controllers/instances.js +12 -90
- package/dist/cjs/prop-controllers/instances.js.map +1 -1
- package/dist/cjs/prop-controllers/introspection.js +26 -97
- package/dist/cjs/prop-controllers/introspection.js.map +1 -1
- package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/checkbox.js +1 -4
- package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/color.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/control.js +48 -39
- package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/image.js +6 -10
- package/dist/cjs/runtimes/react/controls/image.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/list.js +3 -1
- package/dist/cjs/runtimes/react/controls/list.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/number.js +1 -4
- package/dist/cjs/runtimes/react/controls/number.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js +4 -2
- package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
- package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js +14 -14
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +3 -16
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +8 -8
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
- package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +7 -13
- package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
- package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/select.js +1 -1
- package/dist/cjs/runtimes/react/controls/select.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/shape.js +2 -7
- package/dist/cjs/runtimes/react/controls/shape.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/slot.js +13 -5
- package/dist/cjs/runtimes/react/controls/slot.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/style-v2.js +6 -11
- package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/style.js +8 -8
- package/dist/cjs/runtimes/react/controls/style.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/text-area.js +1 -4
- package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/text-input.js +1 -4
- package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -1
- package/dist/cjs/runtimes/react/controls/typography.js.map +1 -1
- package/dist/cjs/runtimes/react/controls.js +79 -73
- package/dist/cjs/runtimes/react/controls.js.map +1 -1
- package/dist/cjs/runtimes/react/hooks/use-store.js +2 -2
- package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
- package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
- package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
- package/dist/cjs/runtimes/react/react-runtime.js +3 -32
- package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
- package/dist/cjs/runtimes/react/runtime-core.js +67 -0
- package/dist/cjs/runtimes/react/runtime-core.js.map +1 -0
- package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
- package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/indent.js +3 -2
- package/dist/cjs/slate/BlockPlugin/indent.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/index.js +17 -15
- package/dist/cjs/slate/BlockPlugin/index.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
- package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/toggleList.js +2 -2
- package/dist/cjs/slate/BlockPlugin/toggleList.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/types.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/unwrapInline.js +2 -2
- package/dist/cjs/slate/BlockPlugin/unwrapInline.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/unwrapList.js +3 -4
- package/dist/cjs/slate/BlockPlugin/unwrapList.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
- package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/wrapInline.js.map +1 -1
- package/dist/cjs/slate/BlockPlugin/wrapList.js +4 -3
- package/dist/cjs/slate/BlockPlugin/wrapList.js.map +1 -1
- package/dist/cjs/slate/BuilderPlugin/index.js +3 -3
- package/dist/cjs/slate/BuilderPlugin/index.js.map +1 -1
- package/dist/cjs/slate/InlineModePlugin/index.js +4 -5
- package/dist/cjs/slate/InlineModePlugin/index.js.map +1 -1
- package/dist/cjs/slate/InlinePlugin/getValue.js +4 -4
- package/dist/cjs/slate/InlinePlugin/getValue.js.map +1 -1
- package/dist/cjs/slate/InlinePlugin/index.js +10 -14
- package/dist/cjs/slate/InlinePlugin/index.js.map +1 -1
- package/dist/cjs/slate/InlinePlugin/onChange.js +3 -3
- package/dist/cjs/slate/InlinePlugin/onChange.js.map +1 -1
- package/dist/cjs/slate/InlinePlugin/types.js +9 -6
- package/dist/cjs/slate/InlinePlugin/types.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/getValue.js +4 -5
- package/dist/cjs/slate/LinkPlugin/getValue.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/index.js +8 -10
- package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/onChange.js +6 -6
- package/dist/cjs/slate/LinkPlugin/onChange.js.map +1 -1
- package/dist/cjs/slate/LinkPlugin/types.js +3 -8
- package/dist/cjs/slate/LinkPlugin/types.js.map +1 -1
- package/dist/cjs/slate/TextAlignPlugin/getValue.js +2 -2
- package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +1 -1
- package/dist/cjs/slate/TextAlignPlugin/index.js +12 -12
- package/dist/cjs/slate/TextAlignPlugin/index.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/getValue.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/index.js +4 -4
- package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
- package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
- package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
- package/dist/cjs/slate/index.js +8 -8
- package/dist/cjs/slate/index.js.map +1 -1
- package/dist/cjs/slate/selectors.js +15 -12
- package/dist/cjs/slate/selectors.js.map +1 -1
- package/dist/cjs/slate/types.js +5 -36
- package/dist/cjs/slate/types.js.map +1 -1
- package/dist/cjs/slate/utils/editor.js +3 -3
- package/dist/cjs/slate/utils/editor.js.map +1 -1
- package/dist/cjs/slate/utils/element.js +5 -27
- package/dist/cjs/slate/utils/element.js.map +1 -1
- package/dist/cjs/slate/utils/responsive.js.map +1 -1
- package/dist/cjs/slate/utils/toText.js +16 -52
- package/dist/cjs/slate/utils/toText.js.map +1 -1
- package/dist/cjs/state/actions.js.map +1 -1
- package/dist/cjs/state/modules/box-models.js.map +1 -1
- package/dist/cjs/state/modules/breakpoints.js +1 -1
- package/dist/cjs/state/modules/breakpoints.js.map +1 -1
- package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
- package/dist/cjs/state/modules/read-only-documents.js +2 -4
- package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
- package/dist/cjs/state/react-builder-preview.js +10 -7
- package/dist/cjs/state/react-builder-preview.js.map +1 -1
- package/dist/cjs/state/react-page.js +10 -41
- package/dist/cjs/state/react-page.js.map +1 -1
- package/dist/esm/api/graphql/generated/types.js.map +1 -1
- package/dist/esm/api/react.js.map +1 -1
- package/dist/esm/builder/rich-text/index.js +5 -0
- package/dist/esm/builder/rich-text/index.js.map +1 -0
- package/dist/esm/builder/serialization/control-serialization.js +66 -37
- package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
- package/dist/esm/components/builtin/Button/Button.js.map +1 -1
- package/dist/esm/components/builtin/Carousel/Carousel.js +1 -1
- package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
- package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
- package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
- package/dist/esm/components/builtin/Form/Form.js.map +1 -1
- package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
- package/dist/esm/components/builtin/Image/Image.js +1 -1
- package/dist/esm/components/builtin/Image/Image.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
- package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
- package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
- package/dist/esm/components/builtin/Text/register.js.map +1 -1
- package/dist/esm/components/builtin/register.js.map +1 -1
- package/dist/esm/components/hooks/useMediaQuery.js +1 -1
- package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
- package/dist/esm/components/hooks/useResponsiveColor.js +3 -1
- package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
- package/dist/esm/components/shared/Link/index.js +1 -1
- package/dist/esm/components/shared/Link/index.js.map +1 -1
- package/dist/esm/components/utils/responsive-style.js +1 -1
- package/dist/esm/components/utils/responsive-style.js.map +1 -1
- package/dist/esm/controls/control.js +14 -109
- package/dist/esm/controls/control.js.map +1 -1
- package/dist/esm/controls/index.js +82 -10
- package/dist/esm/controls/index.js.map +1 -1
- package/dist/esm/controls/link.js +18 -0
- package/dist/esm/controls/link.js.map +1 -0
- package/dist/esm/controls/rich-text/control.js +76 -0
- package/dist/esm/controls/rich-text/control.js.map +1 -0
- package/dist/esm/controls/rich-text/index.js +0 -3
- package/dist/esm/controls/rich-text/index.js.map +1 -1
- package/dist/esm/controls/rich-text/rich-text.js +14 -66
- package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/control.js +117 -0
- package/dist/esm/controls/rich-text-v2/control.js.map +1 -0
- package/dist/esm/controls/rich-text-v2/index.js +0 -2
- package/dist/esm/controls/rich-text-v2/index.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/plugin.js +2 -2
- package/dist/esm/controls/rich-text-v2/plugin.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js +111 -116
- package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/esm/controls/rich-text-v2/translation.js +33 -46
- package/dist/esm/controls/rich-text-v2/translation.js.map +1 -1
- package/dist/esm/controls/slot.js +13 -54
- package/dist/esm/controls/slot.js.map +1 -1
- package/dist/esm/controls/style-v2/index.js +2 -0
- package/dist/esm/controls/style-v2/index.js.map +1 -0
- package/dist/esm/controls/style-v2/style-v2.js +28 -0
- package/dist/esm/controls/style-v2/style-v2.js.map +1 -0
- package/dist/esm/core/index.js +11 -0
- package/dist/esm/core/index.js.map +1 -0
- package/dist/esm/jest-setup.js +3 -0
- package/dist/esm/jest-setup.js.map +1 -1
- package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
- package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +19 -6
- package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
- package/dist/esm/prop-controllers/copy.js +7 -5
- package/dist/esm/prop-controllers/copy.js.map +1 -1
- package/dist/esm/prop-controllers/deleted.js.map +1 -1
- package/dist/esm/prop-controllers/descriptors.js +7 -5
- package/dist/esm/prop-controllers/descriptors.js.map +1 -1
- package/dist/esm/prop-controllers/index.js +1 -2
- package/dist/esm/prop-controllers/index.js.map +1 -1
- package/dist/esm/prop-controllers/instances.js +15 -107
- package/dist/esm/prop-controllers/instances.js.map +1 -1
- package/dist/esm/prop-controllers/introspection.js +28 -131
- package/dist/esm/prop-controllers/introspection.js.map +1 -1
- package/dist/esm/runtimes/react/components/Element.js.map +1 -1
- package/dist/esm/runtimes/react/controls/checkbox.js +1 -7
- package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -1
- package/dist/esm/runtimes/react/controls/color.js.map +1 -1
- package/dist/esm/runtimes/react/controls/combobox.js.map +1 -1
- package/dist/esm/runtimes/react/controls/control.js +66 -58
- package/dist/esm/runtimes/react/controls/control.js.map +1 -1
- package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -1
- package/dist/esm/runtimes/react/controls/image.js +6 -12
- package/dist/esm/runtimes/react/controls/image.js.map +1 -1
- package/dist/esm/runtimes/react/controls/link.js.map +1 -1
- package/dist/esm/runtimes/react/controls/list.js +3 -1
- package/dist/esm/runtimes/react/controls/list.js.map +1 -1
- package/dist/esm/runtimes/react/controls/number.js +1 -7
- package/dist/esm/runtimes/react/controls/number.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js +7 -11
- package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
- package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +5 -27
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +7 -7
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
- package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +9 -25
- package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
- package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -4
- package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
- package/dist/esm/runtimes/react/controls/select.js +1 -1
- package/dist/esm/runtimes/react/controls/select.js.map +1 -1
- package/dist/esm/runtimes/react/controls/shape.js +2 -7
- package/dist/esm/runtimes/react/controls/shape.js.map +1 -1
- package/dist/esm/runtimes/react/controls/slot.js +14 -6
- package/dist/esm/runtimes/react/controls/slot.js.map +1 -1
- package/dist/esm/runtimes/react/controls/style-v2.js +6 -11
- package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -1
- package/dist/esm/runtimes/react/controls/style.js +10 -10
- package/dist/esm/runtimes/react/controls/style.js.map +1 -1
- package/dist/esm/runtimes/react/controls/text-area.js +1 -7
- package/dist/esm/runtimes/react/controls/text-area.js.map +1 -1
- package/dist/esm/runtimes/react/controls/text-input.js +1 -7
- package/dist/esm/runtimes/react/controls/text-input.js.map +1 -1
- package/dist/esm/runtimes/react/controls/typography.js.map +1 -1
- package/dist/esm/runtimes/react/controls.js +96 -91
- package/dist/esm/runtimes/react/controls.js.map +1 -1
- package/dist/esm/runtimes/react/hooks/use-store.js +2 -2
- package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
- package/dist/esm/runtimes/react/poll-box-model.js +1 -1
- package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
- package/dist/esm/runtimes/react/react-runtime.js +3 -40
- package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
- package/dist/esm/runtimes/react/runtime-core.js +51 -0
- package/dist/esm/runtimes/react/runtime-core.js.map +1 -0
- package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
- package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/indent.js +3 -2
- package/dist/esm/slate/BlockPlugin/indent.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/index.js +17 -15
- package/dist/esm/slate/BlockPlugin/index.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
- package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/toggleList.js +2 -2
- package/dist/esm/slate/BlockPlugin/toggleList.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/unwrapInline.js +2 -2
- package/dist/esm/slate/BlockPlugin/unwrapInline.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/unwrapList.js +3 -4
- package/dist/esm/slate/BlockPlugin/unwrapList.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
- package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/wrapInline.js.map +1 -1
- package/dist/esm/slate/BlockPlugin/wrapList.js +4 -3
- package/dist/esm/slate/BlockPlugin/wrapList.js.map +1 -1
- package/dist/esm/slate/BuilderPlugin/index.js +3 -3
- package/dist/esm/slate/BuilderPlugin/index.js.map +1 -1
- package/dist/esm/slate/InlineModePlugin/index.js +5 -6
- package/dist/esm/slate/InlineModePlugin/index.js.map +1 -1
- package/dist/esm/slate/InlinePlugin/getValue.js +4 -4
- package/dist/esm/slate/InlinePlugin/getValue.js.map +1 -1
- package/dist/esm/slate/InlinePlugin/index.js +9 -13
- package/dist/esm/slate/InlinePlugin/index.js.map +1 -1
- package/dist/esm/slate/InlinePlugin/onChange.js +3 -3
- package/dist/esm/slate/InlinePlugin/onChange.js.map +1 -1
- package/dist/esm/slate/InlinePlugin/types.js +9 -7
- package/dist/esm/slate/InlinePlugin/types.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/getValue.js +4 -5
- package/dist/esm/slate/LinkPlugin/getValue.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/index.js +8 -10
- package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/onChange.js +4 -4
- package/dist/esm/slate/LinkPlugin/onChange.js.map +1 -1
- package/dist/esm/slate/LinkPlugin/types.js +3 -7
- package/dist/esm/slate/LinkPlugin/types.js.map +1 -1
- package/dist/esm/slate/TextAlignPlugin/getValue.js +2 -2
- package/dist/esm/slate/TextAlignPlugin/getValue.js.map +1 -1
- package/dist/esm/slate/TextAlignPlugin/index.js +12 -16
- package/dist/esm/slate/TextAlignPlugin/index.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/getValue.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/index.js +5 -5
- package/dist/esm/slate/TypographyPlugin/index.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
- package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
- package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
- package/dist/esm/slate/index.js +4 -4
- package/dist/esm/slate/index.js.map +1 -1
- package/dist/esm/slate/selectors.js +15 -12
- package/dist/esm/slate/selectors.js.map +1 -1
- package/dist/esm/slate/types.js +4 -33
- package/dist/esm/slate/types.js.map +1 -1
- package/dist/esm/slate/utils/editor.js +3 -3
- package/dist/esm/slate/utils/editor.js.map +1 -1
- package/dist/esm/slate/utils/element.js +5 -30
- package/dist/esm/slate/utils/element.js.map +1 -1
- package/dist/esm/slate/utils/responsive.js.map +1 -1
- package/dist/esm/slate/utils/toText.js +16 -52
- package/dist/esm/slate/utils/toText.js.map +1 -1
- package/dist/esm/state/actions.js.map +1 -1
- package/dist/esm/state/modules/box-models.js.map +1 -1
- package/dist/esm/state/modules/breakpoints.js +1 -1
- package/dist/esm/state/modules/breakpoints.js.map +1 -1
- package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
- package/dist/esm/state/modules/read-only-documents.js +3 -3
- package/dist/esm/state/modules/read-only-documents.js.map +1 -1
- package/dist/esm/state/react-builder-preview.js +10 -7
- package/dist/esm/state/react-builder-preview.js.map +1 -1
- package/dist/esm/state/react-page.js +13 -41
- package/dist/esm/state/react-page.js.map +1 -1
- package/dist/types/api/graphql/generated/types.d.ts +1 -1
- package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
- package/dist/types/api/react.d.ts +1 -1
- package/dist/types/builder/rich-text/index.d.ts +3 -0
- package/dist/types/builder/rich-text/index.d.ts.map +1 -0
- package/dist/types/builder/serialization/control-serialization.d.ts +12 -7
- package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
- package/dist/types/components/builtin/Box/Box.d.ts +23 -1
- package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
- package/dist/types/components/builtin/Button/Button.d.ts +3 -3
- package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts +1 -1
- package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts +1 -1
- package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts +1 -1
- package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
- package/dist/types/components/builtin/Form/context/FormContext.d.ts +7 -8
- package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts +1 -1
- package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -2
- package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
- package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
- package/dist/types/components/builtin/Text/register.d.ts +1 -1
- package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
- package/dist/types/components/builtin/register.d.ts +1 -1
- package/dist/types/components/builtin/register.d.ts.map +1 -1
- package/dist/types/components/hooks/useResponsiveColor.d.ts +1 -2
- package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
- package/dist/types/components/utils/responsive-style.d.ts +2 -1
- package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
- package/dist/types/components/utils/types.d.ts +2 -0
- package/dist/types/components/utils/types.d.ts.map +1 -1
- package/dist/types/controls/__tests__/fixtures/shape.d.ts +19 -8
- package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
- package/dist/types/controls/control.d.ts +28 -17
- package/dist/types/controls/control.d.ts.map +1 -1
- package/dist/types/controls/index.d.ts +6 -10
- package/dist/types/controls/index.d.ts.map +1 -1
- package/dist/types/controls/link.d.ts +9 -0
- package/dist/types/controls/link.d.ts.map +1 -0
- package/dist/types/controls/rich-text/control.d.ts +57 -0
- package/dist/types/controls/rich-text/control.d.ts.map +1 -0
- package/dist/types/controls/rich-text/index.d.ts +0 -3
- package/dist/types/controls/rich-text/index.d.ts.map +1 -1
- package/dist/types/controls/rich-text/rich-text.d.ts +9 -61
- package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts +3 -2
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts +4 -3
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts +4 -3
- package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts +2 -0
- package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts.map +1 -0
- package/dist/types/controls/rich-text-v2/control.d.ts +102 -0
- package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -0
- package/dist/types/controls/rich-text-v2/index.d.ts +0 -2
- package/dist/types/controls/rich-text-v2/index.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/plugin.d.ts +9 -17
- package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +863 -103
- package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/controls/rich-text-v2/translation.d.ts +5 -4
- package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -1
- package/dist/types/controls/slot.d.ts +8 -54
- package/dist/types/controls/slot.d.ts.map +1 -1
- package/dist/types/controls/style-v2/index.d.ts +2 -0
- package/dist/types/controls/style-v2/index.d.ts.map +1 -0
- package/dist/types/controls/style-v2/style-v2.d.ts +10 -0
- package/dist/types/controls/style-v2/style-v2.d.ts.map +1 -0
- package/dist/types/controls/style-v2/style-v2.test.d.ts +2 -0
- package/dist/types/controls/style-v2/style-v2.test.d.ts.map +1 -0
- package/dist/types/core/index.d.ts +2 -0
- package/dist/types/core/index.d.ts.map +1 -0
- package/dist/types/locale.d.ts +1 -1
- package/dist/types/next/client.d.ts +16 -16
- package/dist/types/next/components/tests/controls/combobox-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/combobox-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/image-control.test.d.ts +3 -0
- package/dist/types/next/components/tests/controls/image-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/link-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/link-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/list-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/list-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/number-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/number-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +9 -5
- package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
- package/dist/types/next/components/tests/controls/select-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/select-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/shape-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/shape-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/slot-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/slot-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/components/tests/controls/text-area-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/text-area-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/controls/text-input-control.test.d.ts +2 -0
- package/dist/types/next/components/tests/controls/text-input-control.test.d.ts.map +1 -0
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +15 -2
- package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
- package/dist/types/prop-controllers/copy.d.ts +2 -2
- package/dist/types/prop-controllers/copy.d.ts.map +1 -1
- package/dist/types/prop-controllers/deleted.d.ts +1 -1
- package/dist/types/prop-controllers/deleted.d.ts.map +1 -1
- package/dist/types/prop-controllers/descriptors.d.ts +8 -27
- package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
- package/dist/types/prop-controllers/index.d.ts +3 -3
- package/dist/types/prop-controllers/index.d.ts.map +1 -1
- package/dist/types/prop-controllers/instances.d.ts +10 -72
- package/dist/types/prop-controllers/instances.d.ts.map +1 -1
- package/dist/types/prop-controllers/introspection.d.ts +2 -2
- package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
- package/dist/types/runtimes/react/components/Element.d.ts +2 -2
- package/dist/types/runtimes/react/controls/checkbox.d.ts +3 -3
- package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/color.d.ts +3 -3
- package/dist/types/runtimes/react/controls/color.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/combobox.d.ts +3 -3
- package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/control.d.ts +7 -28
- package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +3 -3
- package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/image.d.ts +3 -12
- package/dist/types/runtimes/react/controls/image.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/link.d.ts +3 -10
- package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/list.d.ts +7 -9
- package/dist/types/runtimes/react/controls/list.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/number.d.ts +3 -3
- package/dist/types/runtimes/react/controls/number.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +3 -4
- package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts +1 -1
- package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts +4 -3
- package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +4 -4
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts +2 -2
- package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +4 -3
- package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +4 -3
- package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/select.d.ts +3 -3
- package/dist/types/runtimes/react/controls/select.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/shape.d.ts +7 -10
- package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/slot.d.ts +3 -4
- package/dist/types/runtimes/react/controls/slot.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style-v2.d.ts +7 -7
- package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts +2 -2
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/text-area.d.ts +3 -3
- package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/text-input.d.ts +3 -3
- package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/typography.d.ts +6 -6
- package/dist/types/runtimes/react/controls/typography.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls.d.ts.map +1 -1
- package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
- package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
- package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
- package/dist/types/runtimes/react/react-runtime.d.ts +9 -18
- package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
- package/dist/types/runtimes/react/runtime-core.d.ts +19 -0
- package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -0
- package/dist/types/slate/BlockPlugin/clearBlockKeyForDevice.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/indent.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/index.d.ts +19 -41
- package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/toggleList.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/types.d.ts +2 -2
- package/dist/types/slate/BlockPlugin/types.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/unwrapInline.d.ts +2 -2
- package/dist/types/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts +3 -2
- package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/wrapInline.d.ts +2 -2
- package/dist/types/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
- package/dist/types/slate/BlockPlugin/wrapList.d.ts +1 -1
- package/dist/types/slate/BlockPlugin/wrapList.d.ts.map +1 -1
- package/dist/types/slate/BuilderPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/InlineModePlugin/index.d.ts +79 -7
- package/dist/types/slate/InlineModePlugin/index.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/index.d.ts +22 -11
- package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
- package/dist/types/slate/InlinePlugin/types.d.ts +18 -6
- package/dist/types/slate/InlinePlugin/types.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/getValue.d.ts +36 -3
- package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/index.d.ts +40 -9
- package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/onChange.d.ts +4 -3
- package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
- package/dist/types/slate/LinkPlugin/types.d.ts +3 -4
- package/dist/types/slate/LinkPlugin/types.d.ts.map +1 -1
- package/dist/types/slate/TextAlignPlugin/getValue.d.ts +2 -2
- package/dist/types/slate/TextAlignPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/TextAlignPlugin/index.d.ts +21 -6
- package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts +1 -1
- package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/getValue.d.ts +25 -2
- package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/index.d.ts +27 -3
- package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts +2 -1
- package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts +1 -1
- package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -1
- package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
- package/dist/types/slate/index.d.ts +4 -4
- package/dist/types/slate/index.d.ts.map +1 -1
- package/dist/types/slate/selectors.d.ts +7 -7
- package/dist/types/slate/selectors.d.ts.map +1 -1
- package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
- package/dist/types/slate/test-helpers/test-elements.d.ts +61 -5
- package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
- package/dist/types/slate/types.d.ts +1 -206
- package/dist/types/slate/types.d.ts.map +1 -1
- package/dist/types/slate/utils/editor.d.ts +4 -4
- package/dist/types/slate/utils/editor.d.ts.map +1 -1
- package/dist/types/slate/utils/element.d.ts +4 -12
- package/dist/types/slate/utils/element.d.ts.map +1 -1
- package/dist/types/slate/utils/responsive.d.ts +1 -1
- package/dist/types/slate/utils/responsive.d.ts.map +1 -1
- package/dist/types/slate/utils/toText.d.ts +3 -3
- package/dist/types/slate/utils/toText.d.ts.map +1 -1
- package/dist/types/state/actions.d.ts +3 -3
- package/dist/types/state/actions.d.ts.map +1 -1
- package/dist/types/state/modules/box-models.d.ts +2 -1
- package/dist/types/state/modules/box-models.d.ts.map +1 -1
- package/dist/types/state/modules/breakpoints.d.ts +2 -4
- package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
- package/dist/types/state/modules/prop-controller-handles.d.ts +4 -4
- package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
- package/dist/types/state/modules/read-only-documents.d.ts +2 -15
- package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
- package/dist/types/state/react-builder-preview.d.ts.map +1 -1
- package/dist/types/state/react-page.d.ts +55 -57
- package/dist/types/state/react-page.d.ts.map +1 -1
- package/dist/types/utils/tests/element-data-test-test.d.ts +29 -1
- package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -1
- package/package.json +16 -4
- package/dist/cjs/builder/serialization/controls/combobox.js +0 -45
- package/dist/cjs/builder/serialization/controls/combobox.js.map +0 -1
- package/dist/cjs/builder/serialization/controls/list.js +0 -50
- package/dist/cjs/builder/serialization/controls/list.js.map +0 -1
- package/dist/cjs/builder/serialization/controls/rich-text-v2.js +0 -106
- package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +0 -1
- package/dist/cjs/builder/serialization/controls/shape.js +0 -54
- package/dist/cjs/builder/serialization/controls/shape.js.map +0 -1
- package/dist/cjs/builder/serialization/controls/style-v2.js +0 -62
- package/dist/cjs/builder/serialization/controls/style-v2.js.map +0 -1
- package/dist/cjs/controls/image.js.map +0 -1
- package/dist/cjs/controls/list.js +0 -156
- package/dist/cjs/controls/list.js.map +0 -1
- package/dist/cjs/controls/rich-text/copy.js +0 -121
- package/dist/cjs/controls/rich-text/copy.js.map +0 -1
- package/dist/cjs/controls/rich-text/dto-types.js +0 -43
- package/dist/cjs/controls/rich-text/dto-types.js.map +0 -1
- package/dist/cjs/controls/rich-text/dto.js +0 -228
- package/dist/cjs/controls/rich-text/dto.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/blockquote.js +0 -77
- package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +0 -176
- package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/index.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/list.js +0 -137
- package/dist/cjs/controls/rich-text/fixtures/list.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/typography.js +0 -926
- package/dist/cjs/controls/rich-text/fixtures/typography.js.map +0 -1
- package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +0 -114
- package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
- package/dist/cjs/controls/rich-text/introspection.js +0 -104
- package/dist/cjs/controls/rich-text/introspection.js.map +0 -1
- package/dist/cjs/controls/rich-text-v2/copy.js +0 -115
- package/dist/cjs/controls/rich-text-v2/copy.js.map +0 -1
- package/dist/cjs/controls/rich-text-v2/dto.js +0 -44
- package/dist/cjs/controls/rich-text-v2/dto.js.map +0 -1
- package/dist/cjs/controls/rich-text-v2/introspection.js +0 -69
- package/dist/cjs/controls/rich-text-v2/introspection.js.map +0 -1
- package/dist/cjs/controls/select.js.map +0 -1
- package/dist/cjs/controls/shape.js +0 -149
- package/dist/cjs/controls/shape.js.map +0 -1
- package/dist/cjs/controls/style-v2.js +0 -74
- package/dist/cjs/controls/style-v2.js.map +0 -1
- package/dist/cjs/controls/style.js +0 -125
- package/dist/cjs/controls/style.js.map +0 -1
- package/dist/cjs/controls/typography.js +0 -47
- package/dist/cjs/controls/typography.js.map +0 -1
- package/dist/cjs/prop-controllers/base.js.map +0 -1
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -48
- package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
- package/dist/cjs/utils/index-signature-hack.js +0 -17
- package/dist/cjs/utils/index-signature-hack.js.map +0 -1
- package/dist/esm/builder/serialization/controls/combobox.js +0 -20
- package/dist/esm/builder/serialization/controls/combobox.js.map +0 -1
- package/dist/esm/builder/serialization/controls/list.js +0 -25
- package/dist/esm/builder/serialization/controls/list.js.map +0 -1
- package/dist/esm/builder/serialization/controls/rich-text-v2.js +0 -81
- package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +0 -1
- package/dist/esm/builder/serialization/controls/shape.js +0 -32
- package/dist/esm/builder/serialization/controls/shape.js.map +0 -1
- package/dist/esm/builder/serialization/controls/style-v2.js +0 -37
- package/dist/esm/builder/serialization/controls/style-v2.js.map +0 -1
- package/dist/esm/controls/image.js +0 -10
- package/dist/esm/controls/image.js.map +0 -1
- package/dist/esm/controls/list.js +0 -132
- package/dist/esm/controls/list.js.map +0 -1
- package/dist/esm/controls/rich-text/copy.js +0 -97
- package/dist/esm/controls/rich-text/copy.js.map +0 -1
- package/dist/esm/controls/rich-text/dto-types.js +0 -19
- package/dist/esm/controls/rich-text/dto-types.js.map +0 -1
- package/dist/esm/controls/rich-text/dto.js +0 -203
- package/dist/esm/controls/rich-text/dto.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/blockquote.js +0 -53
- package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +0 -151
- package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/index.js +0 -4
- package/dist/esm/controls/rich-text/fixtures/index.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/list.js +0 -113
- package/dist/esm/controls/rich-text/fixtures/list.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/typography.js +0 -902
- package/dist/esm/controls/rich-text/fixtures/typography.js.map +0 -1
- package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +0 -90
- package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
- package/dist/esm/controls/rich-text/introspection.js +0 -78
- package/dist/esm/controls/rich-text/introspection.js.map +0 -1
- package/dist/esm/controls/rich-text-v2/copy.js +0 -91
- package/dist/esm/controls/rich-text-v2/copy.js.map +0 -1
- package/dist/esm/controls/rich-text-v2/dto.js +0 -19
- package/dist/esm/controls/rich-text-v2/dto.js.map +0 -1
- package/dist/esm/controls/rich-text-v2/introspection.js +0 -43
- package/dist/esm/controls/rich-text-v2/introspection.js.map +0 -1
- package/dist/esm/controls/select.js +0 -9
- package/dist/esm/controls/select.js.map +0 -1
- package/dist/esm/controls/shape.js +0 -125
- package/dist/esm/controls/shape.js.map +0 -1
- package/dist/esm/controls/style-v2.js +0 -48
- package/dist/esm/controls/style-v2.js.map +0 -1
- package/dist/esm/controls/style.js +0 -95
- package/dist/esm/controls/style.js.map +0 -1
- package/dist/esm/controls/typography.js +0 -20
- package/dist/esm/controls/typography.js.map +0 -1
- package/dist/esm/prop-controllers/base.js +0 -10
- package/dist/esm/prop-controllers/base.js.map +0 -1
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -24
- package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
- package/dist/esm/utils/index-signature-hack.js +0 -1
- package/dist/esm/utils/index-signature-hack.js.map +0 -1
- package/dist/types/builder/serialization/controls/combobox.d.ts +0 -5
- package/dist/types/builder/serialization/controls/combobox.d.ts.map +0 -1
- package/dist/types/builder/serialization/controls/list.d.ts +0 -5
- package/dist/types/builder/serialization/controls/list.d.ts.map +0 -1
- package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +0 -5
- package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +0 -1
- package/dist/types/builder/serialization/controls/shape.d.ts +0 -5
- package/dist/types/builder/serialization/controls/shape.d.ts.map +0 -1
- package/dist/types/builder/serialization/controls/style-v2.d.ts +0 -5
- package/dist/types/builder/serialization/controls/style-v2.d.ts.map +0 -1
- package/dist/types/controls/image.d.ts +0 -4
- package/dist/types/controls/image.d.ts.map +0 -1
- package/dist/types/controls/image.test.d.ts +0 -2
- package/dist/types/controls/image.test.d.ts.map +0 -1
- package/dist/types/controls/link.test.d.ts +0 -2
- package/dist/types/controls/link.test.d.ts.map +0 -1
- package/dist/types/controls/list.d.ts +0 -78
- package/dist/types/controls/list.d.ts.map +0 -1
- package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +0 -2
- package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +0 -1
- package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +0 -2
- package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +0 -1
- package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +0 -2
- package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +0 -1
- package/dist/types/controls/rich-text/copy.d.ts +0 -4
- package/dist/types/controls/rich-text/copy.d.ts.map +0 -1
- package/dist/types/controls/rich-text/dto-types.d.ts +0 -132
- package/dist/types/controls/rich-text/dto-types.d.ts.map +0 -1
- package/dist/types/controls/rich-text/dto.d.ts +0 -8
- package/dist/types/controls/rich-text/dto.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +0 -3
- package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +0 -4
- package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/index.d.ts +0 -4
- package/dist/types/controls/rich-text/fixtures/index.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/list.d.ts +0 -3
- package/dist/types/controls/rich-text/fixtures/list.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/typography.d.ts +0 -3
- package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +0 -1
- package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +0 -3
- package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +0 -1
- package/dist/types/controls/rich-text/introspection.d.ts +0 -5
- package/dist/types/controls/rich-text/introspection.d.ts.map +0 -1
- package/dist/types/controls/rich-text-v2/copy.d.ts +0 -4
- package/dist/types/controls/rich-text-v2/copy.d.ts.map +0 -1
- package/dist/types/controls/rich-text-v2/dto.d.ts +0 -5
- package/dist/types/controls/rich-text-v2/dto.d.ts.map +0 -1
- package/dist/types/controls/rich-text-v2/introspection.d.ts +0 -5
- package/dist/types/controls/rich-text-v2/introspection.d.ts.map +0 -1
- package/dist/types/controls/select.d.ts +0 -22
- package/dist/types/controls/select.d.ts.map +0 -1
- package/dist/types/controls/shape.d.ts +0 -50
- package/dist/types/controls/shape.d.ts.map +0 -1
- package/dist/types/controls/style-v2.d.ts +0 -64
- package/dist/types/controls/style-v2.d.ts.map +0 -1
- package/dist/types/controls/style.d.ts +0 -179
- package/dist/types/controls/style.d.ts.map +0 -1
- package/dist/types/controls/typography.d.ts +0 -33
- package/dist/types/controls/typography.d.ts.map +0 -1
- package/dist/types/prop-controllers/base.d.ts +0 -7
- package/dist/types/prop-controllers/base.d.ts.map +0 -1
- package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +0 -16
- package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +0 -1
- package/dist/types/utils/index-signature-hack.d.ts +0 -4
- package/dist/types/utils/index-signature-hack.d.ts.map +0 -1
|
@@ -1,73 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
FOCUS: "FOCUS",
|
|
10
|
-
BLUR: "BLUR",
|
|
11
|
-
UNDO: "UNDO",
|
|
12
|
-
REDO: "REDO",
|
|
13
|
-
CHANGE_BOX_MODEL: "CHANGE_BOX_MODEL"
|
|
14
|
-
};
|
|
15
|
-
class RichTextControl extends PropController {
|
|
16
|
-
editor = null;
|
|
17
|
-
recv = (message) => {
|
|
18
|
-
if (!this.editor)
|
|
19
|
-
return;
|
|
20
|
-
switch (message.type) {
|
|
21
|
-
case RichTextControlMessageType.CHANGE_BUILDER_EDIT_MODE: {
|
|
22
|
-
switch (message.editMode) {
|
|
23
|
-
case BuilderEditMode.BUILD:
|
|
24
|
-
case BuilderEditMode.INTERACT:
|
|
25
|
-
this.editor.deselectAndBlur();
|
|
26
|
-
}
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
case RichTextControlMessageType.FOCUS: {
|
|
30
|
-
this.editor.focusAndSelectAll();
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
1
|
+
import { RichTextV1Definition } from "@makeswift/controls";
|
|
2
|
+
import { RichTextControl } from "./control";
|
|
3
|
+
class BaseDefinition extends RichTextV1Definition {
|
|
4
|
+
}
|
|
5
|
+
class Definition extends BaseDefinition {
|
|
6
|
+
static deserialize(data) {
|
|
7
|
+
if (data.type !== Definition.type) {
|
|
8
|
+
throw new Error(`RichTextV1: expected type ${Definition.type}, got ${data.type}`);
|
|
33
9
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.editor = editor;
|
|
37
|
-
this.send({
|
|
38
|
-
type: RichTextControlMessageType.INITIALIZE_EDITOR,
|
|
39
|
-
value: richTextDAOToDTO(editor.children, editor.selection)
|
|
40
|
-
});
|
|
41
|
-
const _onChange = editor.onChange;
|
|
42
|
-
this.editor.onChange = (options) => {
|
|
43
|
-
_onChange(options);
|
|
44
|
-
if (options?.operation != null) {
|
|
45
|
-
this.send({
|
|
46
|
-
type: RichTextControlMessageType.CHANGE_EDITOR_VALUE,
|
|
47
|
-
value: richTextDAOToDTO(editor.children, editor.selection)
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
focus() {
|
|
53
|
-
this.send({ type: RichTextControlMessageType.FOCUS });
|
|
54
|
-
}
|
|
55
|
-
blur() {
|
|
56
|
-
this.send({ type: RichTextControlMessageType.BLUR });
|
|
57
|
-
}
|
|
58
|
-
undo() {
|
|
59
|
-
this.send({ type: RichTextControlMessageType.UNDO });
|
|
60
|
-
}
|
|
61
|
-
redo() {
|
|
62
|
-
this.send({ type: RichTextControlMessageType.REDO });
|
|
10
|
+
return new class RichTextV1 extends Definition {
|
|
11
|
+
}();
|
|
63
12
|
}
|
|
64
|
-
|
|
65
|
-
|
|
13
|
+
createInstance(sendMessage) {
|
|
14
|
+
return new RichTextControl(sendMessage);
|
|
66
15
|
}
|
|
67
16
|
}
|
|
68
17
|
export {
|
|
69
|
-
RichTextControl,
|
|
70
|
-
|
|
71
|
-
RichTextControlType
|
|
18
|
+
RichTextControl as RichTextV1Control,
|
|
19
|
+
Definition as RichTextV1Definition
|
|
72
20
|
};
|
|
73
21
|
//# sourceMappingURL=rich-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text/rich-text.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/rich-text.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { RichTextV1Definition, type DeserializedRecord, SendMessage } from '@makeswift/controls'\n\nimport { RichTextControl } from './control'\n\nabstract class BaseDefinition extends RichTextV1Definition<ReactNode, RichTextControl> {}\n\nclass Definition extends BaseDefinition {\n static deserialize(data: DeserializedRecord): Definition {\n if (data.type !== Definition.type) {\n throw new Error(`RichTextV1: expected type ${Definition.type}, got ${data.type}`)\n }\n\n return new (class RichTextV1 extends Definition {})()\n }\n\n createInstance(sendMessage: SendMessage<any>) {\n return new RichTextControl(sendMessage)\n }\n}\n\nexport { Definition as RichTextV1Definition, RichTextControl as RichTextV1Control }\n"],"mappings":"AACA,SAAS,4BAAkE;AAE3E,SAAS,uBAAuB;AAEhC,MAAe,uBAAuB,qBAAiD;AAAC;AAExF,MAAM,mBAAmB,eAAe;AAAA,EACtC,OAAO,YAAY,MAAsC;AACvD,QAAI,KAAK,SAAS,WAAW,MAAM;AACjC,YAAM,IAAI,MAAM,6BAA6B,WAAW,IAAI,SAAS,KAAK,IAAI,EAAE;AAAA,IAClF;AAEA,WAAO,IAAK,MAAM,mBAAmB,WAAW;AAAA,IAAC,EAAG;AAAA,EACtD;AAAA,EAEA,eAAe,aAA+B;AAC5C,WAAO,IAAI,gBAAgB,WAAW;AAAA,EACxC;AACF;","names":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RichTextDefinition,
|
|
3
|
+
ControlInstance
|
|
4
|
+
} from "@makeswift/controls";
|
|
5
|
+
import { RichTextV2Definition } from "./rich-text-v2";
|
|
6
|
+
class RichTextV2Control extends ControlInstance {
|
|
7
|
+
constructor(send, descriptor) {
|
|
8
|
+
super(send);
|
|
9
|
+
this.descriptor = descriptor;
|
|
10
|
+
}
|
|
11
|
+
static messagePrefix = `${RichTextDefinition.type}::control-message`;
|
|
12
|
+
// COSMOS -> HOST
|
|
13
|
+
static RESET_VALUE = `${this.messagePrefix}::reset-value`;
|
|
14
|
+
static FOCUS = `${this.messagePrefix}::focus`;
|
|
15
|
+
static RUN_PLUGIN_CONTROL_ACTION = `${this.messagePrefix}::run-plugin-control-action`;
|
|
16
|
+
// HOST -> COSMOS
|
|
17
|
+
static SET_DEFAULT_VALUE = `${this.messagePrefix}::set-default-value`;
|
|
18
|
+
static SET_PLUGIN_CONTROL_VALUE = `${this.messagePrefix}::set-plugin-control-value`;
|
|
19
|
+
static ON_CHANGE = `${this.messagePrefix}::on-change`;
|
|
20
|
+
static SELECT = `${this.messagePrefix}::select`;
|
|
21
|
+
static SWITCH_TO_BUILD_MODE = `${this.messagePrefix}::switch-to-build-mode`;
|
|
22
|
+
static CHANGE_BOX_MODEL = `${this.messagePrefix}::change-box-model`;
|
|
23
|
+
static REDO = `${this.messagePrefix}::redo`;
|
|
24
|
+
static UNDO = `${this.messagePrefix}::undo`;
|
|
25
|
+
editor = null;
|
|
26
|
+
defaultValue = null;
|
|
27
|
+
recv = (message) => {
|
|
28
|
+
if (!this.editor)
|
|
29
|
+
return;
|
|
30
|
+
switch (message.type) {
|
|
31
|
+
case RichTextV2Control.FOCUS: {
|
|
32
|
+
this.editor.focusAndSelectAll();
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
case RichTextV2Control.RESET_VALUE: {
|
|
36
|
+
if (this.defaultValue) {
|
|
37
|
+
this.editor.resetValue(this.defaultValue);
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
this.onLocalUserChange();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
case RichTextV2Control.RUN_PLUGIN_CONTROL_ACTION: {
|
|
45
|
+
this.descriptor.pluginControlAt(message.pluginIndex)?.onChange?.(this.editor, message.value);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
child(_key) {
|
|
51
|
+
return void 0;
|
|
52
|
+
}
|
|
53
|
+
setEditor(editor) {
|
|
54
|
+
this.editor = editor;
|
|
55
|
+
this.sendMessage({
|
|
56
|
+
type: RichTextV2Control.SET_PLUGIN_CONTROL_VALUE,
|
|
57
|
+
value: this.getValue(editor)
|
|
58
|
+
});
|
|
59
|
+
const _onChange = editor.onChange;
|
|
60
|
+
this.editor.onChange = (options) => {
|
|
61
|
+
_onChange(options);
|
|
62
|
+
this.updatePluginValues();
|
|
63
|
+
if (this.editor == null || options?.operation == null)
|
|
64
|
+
return;
|
|
65
|
+
this.onLocalUserChange();
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
setDefaultValue(defaultValue) {
|
|
69
|
+
this.defaultValue = defaultValue;
|
|
70
|
+
this.sendMessage({
|
|
71
|
+
type: RichTextV2Control.SET_DEFAULT_VALUE,
|
|
72
|
+
value: defaultValue
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
onLocalUserChange() {
|
|
76
|
+
if (this.editor == null)
|
|
77
|
+
return;
|
|
78
|
+
this.sendMessage({
|
|
79
|
+
type: RichTextV2Control.ON_CHANGE,
|
|
80
|
+
value: RichTextV2Definition.nodesToDataV2(this.editor.children, this.editor.currentKey)
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
updatePluginValues() {
|
|
84
|
+
const editor = this.editor;
|
|
85
|
+
if (editor == null)
|
|
86
|
+
return;
|
|
87
|
+
this.sendMessage({
|
|
88
|
+
type: RichTextV2Control.SET_PLUGIN_CONTROL_VALUE,
|
|
89
|
+
value: this.getValue(editor)
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getValue(editor) {
|
|
93
|
+
return this.descriptor.pluginControls.map((control) => control.getValue?.(editor)) ?? [];
|
|
94
|
+
}
|
|
95
|
+
select() {
|
|
96
|
+
this.sendMessage({ type: RichTextV2Control.SELECT });
|
|
97
|
+
}
|
|
98
|
+
switchToBuildMode() {
|
|
99
|
+
this.sendMessage({ type: RichTextV2Control.SWITCH_TO_BUILD_MODE });
|
|
100
|
+
}
|
|
101
|
+
undo() {
|
|
102
|
+
this.sendMessage({ type: RichTextV2Control.UNDO });
|
|
103
|
+
}
|
|
104
|
+
redo() {
|
|
105
|
+
this.sendMessage({ type: RichTextV2Control.REDO });
|
|
106
|
+
}
|
|
107
|
+
changeBoxModel(boxModel) {
|
|
108
|
+
this.sendMessage({
|
|
109
|
+
type: RichTextV2Control.CHANGE_BOX_MODEL,
|
|
110
|
+
payload: { boxModel }
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
export {
|
|
115
|
+
RichTextV2Control
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text-v2/control.ts"],"sourcesContent":["import { Editor } from 'slate'\n// @ts-expect-error: there are no types for 'corporate-ipsum'\nimport ipsum from 'corporate-ipsum'\n\nimport {\n RichTextDefinition,\n ControlInstance,\n Slate,\n type DataType,\n type SendMessage,\n type Data,\n} from '@makeswift/controls'\n\nimport { BoxModel } from '../../box-model'\n\nimport { RichTextV2Definition } from './rich-text-v2'\n\n// COSMOS -> HOST\ntype ResetValueMessage = { type: typeof RichTextV2Control.RESET_VALUE }\ntype FocusMessage = { type: typeof RichTextV2Control.FOCUS }\ntype RunPluginControlActionMessage = {\n type: typeof RichTextV2Control.RUN_PLUGIN_CONTROL_ACTION\n pluginIndex: number\n value: Data\n}\n\n// HOST -> COSMOS\ntype SetDefaultValueMessage = {\n type: typeof RichTextV2Control.SET_DEFAULT_VALUE\n value: Slate.Descendant[]\n}\n\ntype SetPluginControlValueMessage = {\n type: typeof RichTextV2Control.SET_PLUGIN_CONTROL_VALUE\n value: Data[]\n}\n\ntype OnChangeMessage = {\n type: typeof RichTextV2Control.ON_CHANGE\n value: DataType<RichTextV2Definition>\n}\n\ntype SelectMessage = { type: typeof RichTextV2Control.SELECT }\n\ntype SwitchToBuildModeMessage = {\n type: typeof RichTextV2Control.SWITCH_TO_BUILD_MODE\n}\n\ntype ChangeBoxModelMessage = {\n type: typeof RichTextV2Control.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\ntype UndoMessage = { type: typeof RichTextV2Control.UNDO }\ntype RedoMessage = { type: typeof RichTextV2Control.REDO }\n\ntype Message =\n | ResetValueMessage\n | FocusMessage\n | RunPluginControlActionMessage\n | SetDefaultValueMessage\n | SetPluginControlValueMessage\n | OnChangeMessage\n | SelectMessage\n | SwitchToBuildModeMessage\n | ChangeBoxModelMessage\n | UndoMessage\n | RedoMessage\n\nexport class RichTextV2Control extends ControlInstance<Message> {\n private static readonly messagePrefix = `${RichTextDefinition.type}::control-message` as const\n\n // COSMOS -> HOST\n static readonly RESET_VALUE = `${this.messagePrefix}::reset-value` as const\n static readonly FOCUS = `${this.messagePrefix}::focus` as const\n static readonly RUN_PLUGIN_CONTROL_ACTION =\n `${this.messagePrefix}::run-plugin-control-action` as const\n\n // HOST -> COSMOS\n static readonly SET_DEFAULT_VALUE = `${this.messagePrefix}::set-default-value` as const\n static readonly SET_PLUGIN_CONTROL_VALUE =\n `${this.messagePrefix}::set-plugin-control-value` as const\n static readonly ON_CHANGE = `${this.messagePrefix}::on-change` as const\n static readonly SELECT = `${this.messagePrefix}::select` as const\n static readonly SWITCH_TO_BUILD_MODE = `${this.messagePrefix}::switch-to-build-mode` as const\n static readonly CHANGE_BOX_MODEL = `${this.messagePrefix}::change-box-model` as const\n\n static readonly REDO = `${this.messagePrefix}::redo` as const\n static readonly UNDO = `${this.messagePrefix}::undo` as const\n\n private editor: Editor | null = null\n private defaultValue: Slate.Descendant[] | null = null\n\n constructor(\n send: SendMessage<Message>,\n private readonly descriptor: RichTextV2Definition,\n ) {\n super(send)\n }\n\n recv = (message: Message): void => {\n if (!this.editor) return\n\n switch (message.type) {\n case RichTextV2Control.FOCUS: {\n this.editor.focusAndSelectAll()\n break\n }\n\n case RichTextV2Control.RESET_VALUE: {\n if (this.defaultValue) {\n this.editor.resetValue(this.defaultValue)\n setTimeout(() => {\n this.onLocalUserChange()\n })\n }\n break\n }\n\n case RichTextV2Control.RUN_PLUGIN_CONTROL_ACTION: {\n this.descriptor.pluginControlAt(message.pluginIndex)?.onChange?.(this.editor, message.value)\n break\n }\n }\n }\n\n child(_key: string): ControlInstance | undefined {\n return undefined\n }\n\n setEditor(editor: Editor) {\n this.editor = editor\n this.sendMessage({\n type: RichTextV2Control.SET_PLUGIN_CONTROL_VALUE,\n value: this.getValue(editor),\n })\n\n const _onChange = editor.onChange\n this.editor.onChange = options => {\n _onChange(options)\n this.updatePluginValues()\n if (this.editor == null || options?.operation == null) return\n this.onLocalUserChange()\n }\n }\n\n setDefaultValue(defaultValue: Slate.Descendant[]) {\n this.defaultValue = defaultValue\n this.sendMessage({\n type: RichTextV2Control.SET_DEFAULT_VALUE,\n value: defaultValue,\n })\n }\n\n onLocalUserChange() {\n if (this.editor == null) return\n\n this.sendMessage({\n type: RichTextV2Control.ON_CHANGE,\n value: RichTextV2Definition.nodesToDataV2(this.editor.children, this.editor.currentKey),\n })\n }\n\n updatePluginValues() {\n const editor = this.editor\n if (editor == null) return\n\n this.sendMessage({\n type: RichTextV2Control.SET_PLUGIN_CONTROL_VALUE,\n value: this.getValue(editor),\n })\n }\n\n getValue(editor: Editor) {\n return this.descriptor.pluginControls.map(control => control.getValue?.(editor)) ?? []\n }\n\n select() {\n this.sendMessage({ type: RichTextV2Control.SELECT })\n }\n\n switchToBuildMode() {\n this.sendMessage({ type: RichTextV2Control.SWITCH_TO_BUILD_MODE })\n }\n\n undo() {\n this.sendMessage({ type: RichTextV2Control.UNDO })\n }\n\n redo() {\n this.sendMessage({ type: RichTextV2Control.REDO })\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.sendMessage({\n type: RichTextV2Control.CHANGE_BOX_MODEL,\n payload: { boxModel },\n })\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text-v2/index.ts"],"sourcesContent":["export * from './rich-text-v2'\
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text-v2/index.ts"],"sourcesContent":["export * from './rich-text-v2'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function
|
|
1
|
+
function Plugin({
|
|
2
2
|
control,
|
|
3
3
|
withPlugin,
|
|
4
4
|
onKeyDown,
|
|
@@ -8,6 +8,6 @@ function createRichTextV2Plugin({
|
|
|
8
8
|
return { control, withPlugin, onKeyDown, renderElement, renderLeaf };
|
|
9
9
|
}
|
|
10
10
|
export {
|
|
11
|
-
|
|
11
|
+
Plugin
|
|
12
12
|
};
|
|
13
13
|
//# sourceMappingURL=plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text-v2/plugin.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text-v2/plugin.ts"],"sourcesContent":["import { type KeyboardEvent } from 'react'\nimport { type Editor } from 'slate'\nimport { type RenderElementProps, type RenderLeafProps } from 'slate-react'\nimport { ControlDefinition, type Data, type RichTextPluginControl } from '@makeswift/controls'\n\nexport type RenderElement = (props: RenderElementProps) => JSX.Element\nexport type RenderLeaf = (props: RenderLeafProps) => JSX.Element\n\nexport type RichTextV2Plugin<C extends RichTextPluginControl = RichTextPluginControl> = {\n control?: C\n withPlugin?(editor: Editor): Editor\n onKeyDown?(event: KeyboardEvent, editor: Editor): void\n renderElement?: (\n renderElement: RenderElement,\n value: any,\n ) => (props: RenderElementProps) => JSX.Element\n renderLeaf?: (renderLeaf: RenderLeaf, value: any) => (props: RenderLeafProps) => JSX.Element\n}\n\nexport function Plugin<Def extends ControlDefinition, ValueType extends Data>({\n control,\n withPlugin,\n onKeyDown,\n renderElement,\n renderLeaf,\n}: RichTextV2Plugin<RichTextPluginControl<Def, ValueType>>) {\n return { control, withPlugin, onKeyDown, renderElement, renderLeaf }\n}\n"],"mappings":"AAmBO,SAAS,OAA8D;AAAA,EAC5E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4D;AAC1D,SAAO,EAAE,SAAS,YAAY,WAAW,eAAe,WAAW;AACrE;","names":[]}
|
|
@@ -1,142 +1,137 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
1
2
|
import ipsum from "corporate-ipsum";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
RichTextDefinition as BaseRichTextDefinition,
|
|
5
|
+
isNotNil,
|
|
6
|
+
SerializationSchema,
|
|
7
|
+
serialize
|
|
8
|
+
} from "@makeswift/controls";
|
|
9
|
+
import { LinkPlugin } from "../../slate/LinkPlugin";
|
|
5
10
|
import { InlinePlugin } from "../../slate/InlinePlugin";
|
|
6
11
|
import { TextAlignPlugin } from "../../slate/TextAlignPlugin";
|
|
7
12
|
import { BlockPlugin } from "../../slate/BlockPlugin";
|
|
8
13
|
import { TypographyPlugin } from "../../slate/TypographyPlugin";
|
|
9
14
|
import { InlineModePlugin } from "../../slate/InlineModePlugin";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
RichText.Mode = RichTextV2Mode;
|
|
29
|
-
const RichTextV2ControlMessageType = {
|
|
30
|
-
// COSMOS -> HOST
|
|
31
|
-
RESET_VALUE: "makeswift::controls::rich-text-v2::control-message::reset-value",
|
|
32
|
-
FOCUS: "makeswift::controls::rich-text-v2::control-message::focus",
|
|
33
|
-
RUN_PLUGIN_CONTROL_ACTION: "makeswift::controls::rich-text-v2::control-message::run-plugin-control-action",
|
|
34
|
-
// HOST -> COSMOS
|
|
35
|
-
SET_DEFAULT_VALUE: "makeswift::controls::rich-text-v2::control-message::set-default-value",
|
|
36
|
-
SET_PLUGIN_CONTROL_VALUE: "makeswift::controls::rich-text-v2::control-message::set-plugin-control-value",
|
|
37
|
-
ON_CHANGE: "makeswift::controls::rich-text-v2::control-message::on-change",
|
|
38
|
-
SELECT: "makeswift::controls::rich-text-v2::control-message::select",
|
|
39
|
-
SWITCH_TO_BUILD_MODE: "makeswift::controls::rich-text-v2::control-message::switch-to-build-mode",
|
|
40
|
-
CHANGE_BOX_MODEL: "makeswift::controls::rich-text-v2::control-message::change-box-model",
|
|
41
|
-
REDO: "makeswift::controls::rich-text-v2::control-message::redo",
|
|
42
|
-
UNDO: "makeswift::controls::rich-text-v2::control-message::undo"
|
|
43
|
-
};
|
|
44
|
-
class RichTextV2Control extends PropController {
|
|
45
|
-
editor = null;
|
|
46
|
-
defaultValue = null;
|
|
47
|
-
descriptor;
|
|
48
|
-
constructor(send, descriptor) {
|
|
49
|
-
super(send);
|
|
50
|
-
this.descriptor = descriptor;
|
|
51
|
-
this.send = send;
|
|
15
|
+
import { toText } from "../../slate";
|
|
16
|
+
import { Plugin } from "./plugin";
|
|
17
|
+
import { RichTextV2Control } from "./control";
|
|
18
|
+
import {
|
|
19
|
+
getTranslatableData,
|
|
20
|
+
mergeTranslatedNodes
|
|
21
|
+
} from "./translation";
|
|
22
|
+
class Definition extends BaseRichTextDefinition {
|
|
23
|
+
constructor({ mode, defaultValue }, plugins) {
|
|
24
|
+
super({
|
|
25
|
+
mode,
|
|
26
|
+
defaultValue: defaultValue ?? (mode === Definition.Mode.Inline ? "Edit this text" : Definition.generateParagraph()),
|
|
27
|
+
plugins: plugins ?? (mode === Definition.Mode.Inline ? [InlineModePlugin()] : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()])
|
|
28
|
+
});
|
|
52
29
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
break;
|
|
60
|
-
}
|
|
61
|
-
case RichTextV2ControlMessageType.RESET_VALUE: {
|
|
62
|
-
if (this.defaultValue) {
|
|
63
|
-
this.editor.resetValue(this.defaultValue);
|
|
64
|
-
setTimeout(() => {
|
|
65
|
-
this.onLocalUserChange();
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
case RichTextV2ControlMessageType.RUN_PLUGIN_CONTROL_ACTION: {
|
|
71
|
-
this.descriptor.config.plugins?.at(message.pluginIndex)?.control?.onChange(this.editor, message.value);
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
30
|
+
static generateParagraph() {
|
|
31
|
+
return ipsum(3);
|
|
32
|
+
}
|
|
33
|
+
static deserialize(data, deserializeCallback) {
|
|
34
|
+
if (data.type !== Definition.type) {
|
|
35
|
+
throw new Error(`RichText: expected type ${Definition.type}, got ${data.type}`);
|
|
74
36
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
37
|
+
const { config } = Definition.fullSchema({
|
|
38
|
+
pluginDef: SerializationSchema.deserializedRecord
|
|
39
|
+
}).definition.parse(data);
|
|
40
|
+
const { plugins, ...userConfig } = config;
|
|
41
|
+
return new RichTextV2Definition(
|
|
42
|
+
userConfig,
|
|
43
|
+
plugins.map(
|
|
44
|
+
({ control }) => control ? { control: { definition: deserializeCallback(control?.definition) } } : {}
|
|
45
|
+
)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
static fullSchema({ pluginDef }) {
|
|
49
|
+
const baseSchema = super.schema;
|
|
50
|
+
const plugin = z.object({
|
|
51
|
+
control: z.object({
|
|
52
|
+
definition: pluginDef
|
|
53
|
+
}).optional()
|
|
54
|
+
});
|
|
55
|
+
const config = baseSchema.userConfig.extend({
|
|
56
|
+
defaultValue: z.string(),
|
|
57
|
+
plugins: z.array(plugin)
|
|
81
58
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
59
|
+
return {
|
|
60
|
+
...baseSchema,
|
|
61
|
+
config,
|
|
62
|
+
definition: z.object({
|
|
63
|
+
type: baseSchema.type,
|
|
64
|
+
config
|
|
65
|
+
})
|
|
89
66
|
};
|
|
90
67
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this.send({
|
|
94
|
-
type: RichTextV2ControlMessageType.SET_DEFAULT_VALUE,
|
|
95
|
-
value: defaultValue
|
|
96
|
-
});
|
|
68
|
+
get configSchema() {
|
|
69
|
+
return Definition.fullSchema({ pluginDef: z.any() }).config;
|
|
97
70
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return;
|
|
101
|
-
this.send({
|
|
102
|
-
type: RichTextV2ControlMessageType.ON_CHANGE,
|
|
103
|
-
value: richTextV2DescendentsToData(this.editor.children, this.editor.currentKey)
|
|
104
|
-
});
|
|
71
|
+
createInstance(sendMessage) {
|
|
72
|
+
return new RichTextV2Control(sendMessage, this);
|
|
105
73
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (editor == null)
|
|
109
|
-
return;
|
|
110
|
-
this.send({
|
|
111
|
-
type: RichTextV2ControlMessageType.SET_PLUGIN_CONTROL_VALUE,
|
|
112
|
-
value: this.descriptor.config?.plugins?.map((plugin) => plugin?.control?.getValue(editor)) ?? []
|
|
113
|
-
});
|
|
74
|
+
getTranslatableData(data) {
|
|
75
|
+
return getTranslatableData(Definition.dataToNodes(data), this.config.plugins);
|
|
114
76
|
}
|
|
115
|
-
|
|
116
|
-
|
|
77
|
+
mergeTranslatedData(data, translatedData, _context) {
|
|
78
|
+
if (translatedData == null)
|
|
79
|
+
return data;
|
|
80
|
+
const { descendants, ...rest } = Definition.normalizeData(data);
|
|
81
|
+
return {
|
|
82
|
+
...rest,
|
|
83
|
+
descendants: mergeTranslatedNodes(
|
|
84
|
+
descendants,
|
|
85
|
+
translatedData,
|
|
86
|
+
this.config.plugins
|
|
87
|
+
)
|
|
88
|
+
};
|
|
117
89
|
}
|
|
118
|
-
|
|
119
|
-
|
|
90
|
+
serialize() {
|
|
91
|
+
const { plugins, ...config } = this.config;
|
|
92
|
+
const pluginDefs = plugins.map(
|
|
93
|
+
({ control }) => control ? {
|
|
94
|
+
control: {
|
|
95
|
+
definition: control.definition,
|
|
96
|
+
// FIXME: remove getValue/onChange stubs once we released a version of the builder
|
|
97
|
+
// built against the runtime where these can be optional
|
|
98
|
+
getValue: () => void 0,
|
|
99
|
+
onChange: () => {
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
} : {}
|
|
103
|
+
);
|
|
104
|
+
return serialize(
|
|
105
|
+
{ ...config, plugins: pluginDefs },
|
|
106
|
+
{
|
|
107
|
+
type: Definition.type
|
|
108
|
+
}
|
|
109
|
+
);
|
|
120
110
|
}
|
|
121
|
-
|
|
122
|
-
this.
|
|
111
|
+
get pluginControls() {
|
|
112
|
+
return this.config.plugins.map((plugin) => plugin.control).filter(isNotNil);
|
|
123
113
|
}
|
|
124
|
-
|
|
125
|
-
this.
|
|
114
|
+
pluginControlAt(index) {
|
|
115
|
+
return this.pluginControls[index];
|
|
126
116
|
}
|
|
127
|
-
|
|
128
|
-
|
|
117
|
+
toText(data) {
|
|
118
|
+
if (data == null)
|
|
119
|
+
return "";
|
|
120
|
+
return toText(Definition.dataToNodes(data), this.config.mode ?? Definition.Mode.Block);
|
|
129
121
|
}
|
|
130
122
|
}
|
|
131
|
-
|
|
132
|
-
|
|
123
|
+
class RichTextV2Definition extends Definition {
|
|
124
|
+
}
|
|
125
|
+
function RichText(config) {
|
|
126
|
+
return new RichTextV2Definition(config ?? {});
|
|
133
127
|
}
|
|
128
|
+
RichText.Mode = Definition.Mode;
|
|
129
|
+
RichText.isV1Data = Definition.isV1Data;
|
|
130
|
+
RichText.dataToNodes = Definition.dataToNodes;
|
|
131
|
+
RichText.Plugin = Plugin;
|
|
134
132
|
export {
|
|
135
133
|
RichText,
|
|
136
134
|
RichTextV2Control,
|
|
137
|
-
|
|
138
|
-
RichTextV2ControlType,
|
|
139
|
-
RichTextV2Mode,
|
|
140
|
-
isRichTextV1Data
|
|
135
|
+
RichTextV2Definition
|
|
141
136
|
};
|
|
142
137
|
//# sourceMappingURL=rich-text-v2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text-v2/rich-text-v2.ts"],"sourcesContent":["// @ts-expect-error: there are no types for 'corporate-ipsum'\nimport ipsum from 'corporate-ipsum'\n\nimport { PropController } from '../../prop-controllers/base'\nimport { Descendant, Editor } from 'slate'\nimport { BoxModel } from '../../box-model'\nimport { Send } from '../../prop-controllers/instances'\nimport { ControlDefinition } from '../control'\nimport { RichTextControlData } from '../rich-text/rich-text'\nimport { richTextV2DescendentsToData } from './dto'\nimport { LinkPlugin } from '../../slate/LinkPlugin/linkPluginWithoutRenderElement'\nimport { InlinePlugin } from '../../slate/InlinePlugin'\nimport { TextAlignPlugin } from '../../slate/TextAlignPlugin'\nimport { BlockPlugin } from '../../slate/BlockPlugin'\nimport { TypographyPlugin } from '../../slate/TypographyPlugin'\nimport { InlineModePlugin } from '../../slate/InlineModePlugin'\nimport { RichTextV2Plugin, RichTextV2PluginControlValue } from './plugin'\n\nexport const RichTextV2ControlType = 'makeswift::controls::rich-text-v2'\n\nexport type RichTextV2ControlData = {\n version: 2\n type: typeof RichTextV2ControlType\n descendants: Descendant[]\n key: string\n}\n\nexport const RichTextV2Mode = {\n Inline: 'makeswift::controls::rich-text-v2::mode::inline',\n Block: 'makeswift::controls::rich-text-v2::mode::block',\n} as const\n\nexport type RichTextV2Mode = typeof RichTextV2Mode[keyof typeof RichTextV2Mode]\n\nexport type RichTextMode = RichTextV2Mode\n\nexport type RichTextV2Config = {\n mode?: RichTextV2Mode\n plugins?: RichTextV2Plugin[]\n defaultValue?: string\n}\n\ntype ExternalRichTextV2Config = Omit<RichTextV2Config, 'plugins'>\n\nexport type RichTextV2ControlDefinition<T extends RichTextV2Config = RichTextV2Config> = {\n type: typeof RichTextV2ControlType\n config: T\n}\n\nexport function RichText<T extends ExternalRichTextV2Config>(\n config: T = {} as T,\n): RichTextV2ControlDefinition {\n return {\n type: RichTextV2ControlType,\n config: {\n mode: config.mode,\n defaultValue:\n config.defaultValue ??\n (config?.mode === RichTextV2Mode.Inline ? 'Edit this text' : ipsum(3)),\n plugins:\n config?.mode === RichTextV2Mode.Inline\n ? [InlineModePlugin()]\n : // Note: this plugin references a `renderElement`-less LinkPlugin to prevent a circular dependency\n [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()],\n },\n }\n}\n\nRichText.Mode = RichTextV2Mode\n\nexport const RichTextV2ControlMessageType = {\n // COSMOS -> HOST\n RESET_VALUE: 'makeswift::controls::rich-text-v2::control-message::reset-value',\n FOCUS: 'makeswift::controls::rich-text-v2::control-message::focus',\n RUN_PLUGIN_CONTROL_ACTION:\n 'makeswift::controls::rich-text-v2::control-message::run-plugin-control-action',\n\n // HOST -> COSMOS\n SET_DEFAULT_VALUE: 'makeswift::controls::rich-text-v2::control-message::set-default-value',\n SET_PLUGIN_CONTROL_VALUE:\n 'makeswift::controls::rich-text-v2::control-message::set-plugin-control-value',\n ON_CHANGE: 'makeswift::controls::rich-text-v2::control-message::on-change',\n SELECT: 'makeswift::controls::rich-text-v2::control-message::select',\n SWITCH_TO_BUILD_MODE: 'makeswift::controls::rich-text-v2::control-message::switch-to-build-mode',\n CHANGE_BOX_MODEL: 'makeswift::controls::rich-text-v2::control-message::change-box-model',\n\n REDO: 'makeswift::controls::rich-text-v2::control-message::redo',\n UNDO: 'makeswift::controls::rich-text-v2::control-message::undo',\n} as const\n\ntype OnChangeRichTextControlMessage = {\n type: typeof RichTextV2ControlMessageType.ON_CHANGE\n value: RichTextV2ControlData\n}\n\ntype SetDefaultValueRichTextControlMessage = {\n type: typeof RichTextV2ControlMessageType.SET_DEFAULT_VALUE\n value: Descendant[]\n}\n\ntype SetPluginControlValueRichTextControlMessage = {\n type: typeof RichTextV2ControlMessageType.SET_PLUGIN_CONTROL_VALUE\n value: RichTextV2PluginControlValue<ControlDefinition>[]\n}\n\ntype ResetValueRichTextControlMessage = { type: typeof RichTextV2ControlMessageType.RESET_VALUE }\n\ntype SelectRichTextControlMessage = { type: typeof RichTextV2ControlMessageType.SELECT }\n\ntype RunPluginControlActionRichTextControlMessage = {\n type: typeof RichTextV2ControlMessageType.RUN_PLUGIN_CONTROL_ACTION\n pluginIndex: number\n value: RichTextV2PluginControlValue<ControlDefinition>\n}\n\ntype FocusRichTextControlMessage = { type: typeof RichTextV2ControlMessageType.FOCUS }\n\ntype SwitchToBuildModeRichTextControlMessage = {\n type: typeof RichTextV2ControlMessageType.SWITCH_TO_BUILD_MODE\n}\n\ntype BoxModelChangeRichControlMessage = {\n type: typeof RichTextV2ControlMessageType.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\ntype UndoRichTextControlMessage = { type: typeof RichTextV2ControlMessageType.UNDO }\n\ntype RedoRichTextControlMessage = { type: typeof RichTextV2ControlMessageType.REDO }\n\nexport type RichTextV2ControlMessage =\n | OnChangeRichTextControlMessage\n | SetDefaultValueRichTextControlMessage\n | SetPluginControlValueRichTextControlMessage\n | ResetValueRichTextControlMessage\n | FocusRichTextControlMessage\n | RunPluginControlActionRichTextControlMessage\n | SelectRichTextControlMessage\n | SwitchToBuildModeRichTextControlMessage\n | BoxModelChangeRichControlMessage\n | UndoRichTextControlMessage\n | RedoRichTextControlMessage\n\nexport class RichTextV2Control<\n T extends RichTextV2ControlDefinition = RichTextV2ControlDefinition,\n> extends PropController<RichTextV2ControlMessage> {\n private editor: Editor | null = null\n private defaultValue: Descendant[] | null = null\n descriptor: RichTextV2ControlDefinition\n\n constructor(send: Send<RichTextV2ControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n }\n\n recv = (message: RichTextV2ControlMessage): void => {\n if (!this.editor) return\n switch (message.type) {\n case RichTextV2ControlMessageType.FOCUS: {\n this.editor.focusAndSelectAll()\n break\n }\n case RichTextV2ControlMessageType.RESET_VALUE: {\n if (this.defaultValue) {\n this.editor.resetValue(this.defaultValue)\n setTimeout(() => {\n this.onLocalUserChange()\n })\n }\n break\n }\n case RichTextV2ControlMessageType.RUN_PLUGIN_CONTROL_ACTION: {\n this.descriptor.config.plugins\n ?.at(message.pluginIndex)\n ?.control?.onChange(this.editor, message.value)\n break\n }\n }\n }\n\n setEditor(editor: Editor) {\n this.editor = editor\n this.send({\n type: RichTextV2ControlMessageType.SET_PLUGIN_CONTROL_VALUE,\n value:\n this.descriptor.config?.plugins?.map(plugin => plugin?.control?.getValue(editor)) ?? [],\n })\n\n const _onChange = editor.onChange\n this.editor.onChange = options => {\n _onChange(options)\n this.updatePluginValues()\n if (this.editor == null || options?.operation == null) return\n this.onLocalUserChange()\n }\n }\n\n setDefaultValue(defaultValue: Descendant[]) {\n this.defaultValue = defaultValue\n this.send({\n type: RichTextV2ControlMessageType.SET_DEFAULT_VALUE,\n value: defaultValue,\n })\n }\n\n onLocalUserChange() {\n if (this.editor == null) return\n this.send({\n type: RichTextV2ControlMessageType.ON_CHANGE,\n value: richTextV2DescendentsToData(this.editor.children, this.editor.currentKey),\n })\n }\n\n updatePluginValues() {\n const editor = this.editor\n if (editor == null) return\n this.send({\n type: RichTextV2ControlMessageType.SET_PLUGIN_CONTROL_VALUE,\n value:\n this.descriptor.config?.plugins?.map(plugin => plugin?.control?.getValue(editor)) ?? [],\n })\n }\n\n select() {\n this.send({ type: RichTextV2ControlMessageType.SELECT })\n }\n\n switchToBuildMode() {\n this.send({ type: RichTextV2ControlMessageType.SWITCH_TO_BUILD_MODE })\n }\n\n undo() {\n this.send({ type: RichTextV2ControlMessageType.UNDO })\n }\n\n redo() {\n this.send({ type: RichTextV2ControlMessageType.REDO })\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.send({ type: RichTextV2ControlMessageType.CHANGE_BOX_MODEL, payload: { boxModel } })\n }\n}\n\nexport function isRichTextV1Data(\n value: RichTextControlData | RichTextV2ControlData | undefined,\n): value is RichTextControlData {\n return (\n value !== undefined && typeof value === 'object' && !Array.isArray(value) && 'document' in value\n )\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text-v2/rich-text-v2.ts"],"sourcesContent":["import { ReactNode } from 'react'\nimport { z } from 'zod'\n// @ts-expect-error: there are no types for 'corporate-ipsum'\nimport ipsum from 'corporate-ipsum'\n\nimport {\n RichTextDefinition as BaseRichTextDefinition,\n type Data,\n type SendMessage,\n type SerializedRecord,\n type DeserializedRecord,\n type SchemaType,\n type SchemaTypeAny,\n type MergeTranslatableDataContext,\n type RichTextPluginControl,\n type RichTextMode,\n isNotNil,\n ControlDefinition,\n SerializationSchema,\n serialize,\n} from '@makeswift/controls'\n\nimport { LinkPlugin } from '../../slate/LinkPlugin'\nimport { InlinePlugin } from '../../slate/InlinePlugin'\nimport { TextAlignPlugin } from '../../slate/TextAlignPlugin'\nimport { BlockPlugin } from '../../slate/BlockPlugin'\nimport { TypographyPlugin } from '../../slate/TypographyPlugin'\nimport { InlineModePlugin } from '../../slate/InlineModePlugin'\nimport { toText } from '../../slate'\n\nimport { RichTextV2Plugin, Plugin } from './plugin'\nimport { RichTextV2Control } from './control'\nimport {\n getTranslatableData,\n mergeTranslatedNodes,\n type RichTextTranslationDto,\n} from './translation'\n\ntype DataType = z.infer<typeof Definition.schema.data>\ntype DataV2Type = z.infer<typeof Definition.schema.dataV2>\ntype InstanceType = RichTextV2Control\ntype UserConfig = z.infer<typeof Definition.schema.userConfig>\ntype Config = UserConfig & {\n defaultValue: string\n plugins: RichTextV2Plugin[]\n}\n\nclass Definition extends BaseRichTextDefinition<ReactNode, Config, InstanceType> {\n constructor({ mode, defaultValue }: UserConfig, plugins?: RichTextV2Plugin[]) {\n super({\n mode,\n defaultValue:\n defaultValue ??\n (mode === Definition.Mode.Inline ? 'Edit this text' : Definition.generateParagraph()),\n plugins:\n plugins ??\n (mode === Definition.Mode.Inline\n ? [InlineModePlugin()]\n : [BlockPlugin(), TypographyPlugin(), TextAlignPlugin(), InlinePlugin(), LinkPlugin()]),\n })\n }\n\n static generateParagraph(): string {\n return ipsum(3)\n }\n\n static deserialize(\n data: DeserializedRecord,\n deserializeCallback: (r: DeserializedRecord) => ControlDefinition,\n ): RichTextV2Definition {\n if (data.type !== Definition.type) {\n throw new Error(`RichText: expected type ${Definition.type}, got ${data.type}`)\n }\n\n const { config } = Definition.fullSchema({\n pluginDef: SerializationSchema.deserializedRecord,\n }).definition.parse(data)\n\n const { plugins, ...userConfig } = config\n\n return new RichTextV2Definition(\n userConfig,\n plugins.map(({ control }) =>\n control ? { control: { definition: deserializeCallback(control?.definition) } } : {},\n ),\n )\n }\n\n static fullSchema<S extends SchemaTypeAny>({ pluginDef }: { pluginDef: S }) {\n const baseSchema = super.schema\n const plugin = z.object({\n control: z\n .object({\n definition: pluginDef,\n })\n .optional(),\n })\n\n const config = baseSchema.userConfig.extend({\n defaultValue: z.string(),\n plugins: z.array(plugin),\n })\n\n return {\n ...baseSchema,\n config,\n definition: z.object({\n type: baseSchema.type,\n config,\n }),\n }\n }\n\n get configSchema(): SchemaType<Config> {\n return Definition.fullSchema({ pluginDef: z.any() as SchemaType<ControlDefinition> }).config\n }\n\n createInstance(sendMessage: SendMessage): InstanceType {\n return new RichTextV2Control(sendMessage, this)\n }\n\n getTranslatableData(data: DataType): Data {\n return getTranslatableData(Definition.dataToNodes(data), this.config.plugins)\n }\n\n mergeTranslatedData(\n data: DataType,\n translatedData: Data,\n _context: MergeTranslatableDataContext,\n ): Data {\n if (translatedData == null) return data as Data\n\n const { descendants, ...rest } = Definition.normalizeData(data)\n return {\n ...rest,\n descendants: mergeTranslatedNodes(\n descendants,\n translatedData as RichTextTranslationDto,\n this.config.plugins,\n ),\n }\n }\n\n serialize(): [SerializedRecord, Transferable[]] {\n const { plugins, ...config } = this.config\n\n // serialize only the plugin control definition, if any\n const pluginDefs = plugins.map(({ control }) =>\n control\n ? {\n control: {\n definition: control.definition,\n // FIXME: remove getValue/onChange stubs once we released a version of the builder\n // built against the runtime where these can be optional\n getValue: () => undefined,\n onChange: () => {},\n },\n }\n : {},\n )\n\n return serialize(\n { ...config, plugins: pluginDefs },\n {\n type: Definition.type,\n },\n )\n }\n\n get pluginControls(): RichTextPluginControl[] {\n return this.config.plugins.map(plugin => plugin.control).filter(isNotNil)\n }\n\n pluginControlAt(index: number): RichTextPluginControl | undefined {\n return this.pluginControls[index]\n }\n\n toText(data: DataType | undefined): string {\n if (data == null) return ''\n return toText(Definition.dataToNodes(data), this.config.mode ?? Definition.Mode.Block)\n }\n}\n\nexport class RichTextV2Definition extends Definition {}\n\nexport function RichText(config?: UserConfig): RichTextV2Definition {\n return new RichTextV2Definition(config ?? {})\n}\n\nRichText.Mode = Definition.Mode\nRichText.isV1Data = Definition.isV1Data\nRichText.dataToNodes = Definition.dataToNodes\nRichText.Plugin = Plugin\n\nexport { RichTextMode as RichTextV2Mode, type DataV2Type as RichTextDataV2, RichTextV2Control }\n"],"mappings":"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","names":[]}
|