@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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/runtimes/react/react-runtime.ts"],"sourcesContent":["import { registerBuiltinComponents } from '../../components/builtin/register'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/react/react-runtime.ts"],"sourcesContent":["import { registerBuiltinComponents } from '../../components/builtin/register'\n\nimport { type Descriptor, type DescriptorValueType } from '../../prop-controllers/descriptors'\n\nimport { registerComponentEffect, registerReactComponentEffect } from '../../state/actions'\nimport { BreakpointsInput } from '../../state/modules/breakpoints'\nimport { ComponentIcon } from '../../state/modules/components-meta'\nimport type { ComponentType } from '../../state/react-page'\n\nimport { RuntimeCore } from './runtime-core'\n\nexport class ReactRuntime extends RuntimeCore {\n // TODO: the static methods here are deprecated and only keep here for backward-compatibility purpose.\n // We will remove them when we release a new breaking change.\n // ------------------ Deprecated API ------------------ //\n static registerComponent<\n P extends Record<string, Descriptor>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Code,\n hidden = false,\n props,\n }: { type: string; label: string; icon?: ComponentIcon; hidden?: boolean; props?: P },\n ): () => void {\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(type, { label, icon, hidden }, props ?? {}),\n )\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n // ------------------ Deprecated API ends here ------------------ //\n\n registerComponent<\n P extends Record<string, Descriptor>,\n C extends ComponentType<{ [K in keyof P]: DescriptorValueType<P[K]> }>,\n >(\n component: C,\n {\n type,\n label,\n icon = ComponentIcon.Cube,\n hidden = false,\n props,\n }: { type: string; label: string; icon?: ComponentIcon; hidden?: boolean; props?: P },\n ): () => void {\n const unregisterComponent = this.store.dispatch(\n registerComponentEffect(type, { label, icon, hidden }, props ?? {}),\n )\n\n const unregisterReactComponent = this.store.dispatch(\n registerReactComponentEffect(type, component as unknown as ComponentType),\n )\n\n return () => {\n unregisterComponent()\n unregisterReactComponent()\n }\n }\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput } = {}) {\n super({ breakpoints })\n\n registerBuiltinComponents(this)\n }\n}\n\n// TODO: We should delete this once we remove the static methods in ReactRuntime.\nregisterBuiltinComponents(ReactRuntime)\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA0C;AAI1C,qBAAsE;AAEtE,6BAA8B;AAG9B,0BAA4B;AAErB,MAAM,qBAAqB,gCAAY;AAAA;AAAA;AAAA;AAAA,EAI5C,OAAO,kBAIL,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,qCAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,EACF,GACY;AACZ,UAAM,sBAAsB,KAAK,MAAM;AAAA,UACrC,wCAAwB,MAAM,EAAE,OAAO,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC;AAAA,IACpE;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,UAC1C,6CAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA;AAAA,EAIA,kBAIE,WACA;AAAA,IACE;AAAA,IACA;AAAA,IACA,OAAO,qCAAc;AAAA,IACrB,SAAS;AAAA,IACT;AAAA,EACF,GACY;AACZ,UAAM,sBAAsB,KAAK,MAAM;AAAA,UACrC,wCAAwB,MAAM,EAAE,OAAO,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC;AAAA,IACpE;AAEA,UAAM,2BAA2B,KAAK,MAAM;AAAA,UAC1C,6CAA6B,MAAM,SAAqC;AAAA,IAC1E;AAEA,WAAO,MAAM;AACX,0BAAoB;AACpB,+BAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EAEA,YAAY,EAAE,YAAY,IAAwC,CAAC,GAAG;AACpE,UAAM,EAAE,YAAY,CAAC;AAErB,mDAA0B,IAAI;AAAA,EAChC;AACF;AAAA,IAGA,2CAA0B,YAAY;","names":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var runtime_core_exports = {};
|
|
20
|
+
__export(runtime_core_exports, {
|
|
21
|
+
RuntimeCore: () => RuntimeCore
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(runtime_core_exports);
|
|
24
|
+
var import_breakpoints = require("../../state/modules/breakpoints");
|
|
25
|
+
var import_react_page = require("../../state/react-page");
|
|
26
|
+
class RuntimeCore {
|
|
27
|
+
// TODO: the static methods here are deprecated and only keep here for backward-compatibility purpose.
|
|
28
|
+
// We will remove them when we release a new breaking change.
|
|
29
|
+
// ------------------ Deprecated API ------------------ //
|
|
30
|
+
static store = (0, import_react_page.configureStore)();
|
|
31
|
+
static copyElementTree(elementTree, replacementContext) {
|
|
32
|
+
return (0, import_react_page.copyElementTree)(this.store.getState(), elementTree, replacementContext);
|
|
33
|
+
}
|
|
34
|
+
static getBreakpoints() {
|
|
35
|
+
return (0, import_react_page.getBreakpoints)(this.store.getState());
|
|
36
|
+
}
|
|
37
|
+
static getTranslatableData(elementTree) {
|
|
38
|
+
return (0, import_react_page.getElementTreeTranslatableData)(this.store.getState(), elementTree);
|
|
39
|
+
}
|
|
40
|
+
static mergeTranslatedData(elementTree, translatedData) {
|
|
41
|
+
return (0, import_react_page.mergeElementTreeTranslatedData)(this.store.getState(), elementTree, translatedData);
|
|
42
|
+
}
|
|
43
|
+
// ------------------ Deprecated API ends here ------------------ //
|
|
44
|
+
store;
|
|
45
|
+
constructor({ breakpoints }) {
|
|
46
|
+
this.store = (0, import_react_page.configureStore)({
|
|
47
|
+
breakpoints: breakpoints ? (0, import_breakpoints.parseBreakpointsInput)(breakpoints) : void 0
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
copyElementTree(elementTree, replacementContext) {
|
|
51
|
+
return (0, import_react_page.copyElementTree)(this.store.getState(), elementTree, replacementContext);
|
|
52
|
+
}
|
|
53
|
+
getBreakpoints() {
|
|
54
|
+
return (0, import_react_page.getBreakpoints)(this.store.getState());
|
|
55
|
+
}
|
|
56
|
+
getTranslatableData(elementTree) {
|
|
57
|
+
return (0, import_react_page.getElementTreeTranslatableData)(this.store.getState(), elementTree);
|
|
58
|
+
}
|
|
59
|
+
mergeTranslatedData(elementTree, translatedData) {
|
|
60
|
+
return (0, import_react_page.mergeElementTreeTranslatedData)(this.store.getState(), elementTree, translatedData);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
64
|
+
0 && (module.exports = {
|
|
65
|
+
RuntimeCore
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=runtime-core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/runtimes/react/runtime-core.ts"],"sourcesContent":["import { type SerializableReplacementContext } from '@makeswift/controls'\n\nimport {\n Breakpoints,\n BreakpointsInput,\n parseBreakpointsInput,\n} from '../../state/modules/breakpoints'\n\nimport {\n configureStore,\n copyElementTree,\n getBreakpoints,\n getElementTreeTranslatableData,\n mergeElementTreeTranslatedData,\n type Store,\n type Data,\n type Element,\n type ElementData,\n} from '../../state/react-page'\n\nexport class RuntimeCore {\n // TODO: the static methods here are deprecated and only keep here for backward-compatibility purpose.\n // We will remove them when we release a new breaking change.\n // ------------------ Deprecated API ------------------ //\n static store = configureStore()\n\n static copyElementTree(\n elementTree: ElementData,\n replacementContext: SerializableReplacementContext,\n ): Element {\n return copyElementTree(this.store.getState(), elementTree, replacementContext)\n }\n\n static getBreakpoints(): Breakpoints {\n return getBreakpoints(this.store.getState())\n }\n\n static getTranslatableData(elementTree: ElementData): Record<string, Data> {\n return getElementTreeTranslatableData(this.store.getState(), elementTree)\n }\n\n static mergeTranslatedData(\n elementTree: ElementData,\n translatedData: Record<string, Data>,\n ): Element {\n return mergeElementTreeTranslatedData(this.store.getState(), elementTree, translatedData)\n }\n\n // ------------------ Deprecated API ends here ------------------ //\n\n store: Store\n\n constructor({ breakpoints }: { breakpoints?: BreakpointsInput }) {\n this.store = configureStore({\n breakpoints: breakpoints ? parseBreakpointsInput(breakpoints) : undefined,\n })\n }\n\n copyElementTree(\n elementTree: ElementData,\n replacementContext: SerializableReplacementContext,\n ): Element {\n return copyElementTree(this.store.getState(), elementTree, replacementContext)\n }\n\n getBreakpoints(): Breakpoints {\n return getBreakpoints(this.store.getState())\n }\n\n getTranslatableData(elementTree: ElementData): Record<string, Data> {\n return getElementTreeTranslatableData(this.store.getState(), elementTree)\n }\n\n mergeTranslatedData(elementTree: ElementData, translatedData: Record<string, Data>): Element {\n return mergeElementTreeTranslatedData(this.store.getState(), elementTree, translatedData)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAIO;AAEP,wBAUO;AAEA,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA,EAIvB,OAAO,YAAQ,kCAAe;AAAA,EAE9B,OAAO,gBACL,aACA,oBACS;AACT,eAAO,mCAAgB,KAAK,MAAM,SAAS,GAAG,aAAa,kBAAkB;AAAA,EAC/E;AAAA,EAEA,OAAO,iBAA8B;AACnC,eAAO,kCAAe,KAAK,MAAM,SAAS,CAAC;AAAA,EAC7C;AAAA,EAEA,OAAO,oBAAoB,aAAgD;AACzE,eAAO,kDAA+B,KAAK,MAAM,SAAS,GAAG,WAAW;AAAA,EAC1E;AAAA,EAEA,OAAO,oBACL,aACA,gBACS;AACT,eAAO,kDAA+B,KAAK,MAAM,SAAS,GAAG,aAAa,cAAc;AAAA,EAC1F;AAAA;AAAA,EAIA;AAAA,EAEA,YAAY,EAAE,YAAY,GAAuC;AAC/D,SAAK,YAAQ,kCAAe;AAAA,MAC1B,aAAa,kBAAc,0CAAsB,WAAW,IAAI;AAAA,IAClE,CAAC;AAAA,EACH;AAAA,EAEA,gBACE,aACA,oBACS;AACT,eAAO,mCAAgB,KAAK,MAAM,SAAS,GAAG,aAAa,kBAAkB;AAAA,EAC/E;AAAA,EAEA,iBAA8B;AAC5B,eAAO,kCAAe,KAAK,MAAM,SAAS,CAAC;AAAA,EAC7C;AAAA,EAEA,oBAAoB,aAAgD;AAClE,eAAO,kDAA+B,KAAK,MAAM,SAAS,GAAG,WAAW;AAAA,EAC1E;AAAA,EAEA,oBAAoB,aAA0B,gBAA+C;AAC3F,eAAO,kDAA+B,KAAK,MAAM,SAAS,GAAG,aAAa,cAAc;AAAA,EAC1F;AACF;","names":[]}
|
|
@@ -22,12 +22,12 @@ __export(clearBlockKeyForDevice_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(clearBlockKeyForDevice_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
-
var
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
26
|
var import_selectors = require("../selectors");
|
|
27
27
|
function clearBlockKeyForDevice(editor, deviceId, key) {
|
|
28
28
|
const rootElements = (0, import_selectors.getBlocksInSelection)(editor);
|
|
29
29
|
for (const [node, path] of rootElements) {
|
|
30
|
-
if (
|
|
30
|
+
if (import_controls.Slate.isBlock(node)) {
|
|
31
31
|
const deviceOverrides = node[key] ?? [];
|
|
32
32
|
import_slate.Transforms.setNodes(
|
|
33
33
|
editor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/clearBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/clearBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditableBlockKey } from './types'\nimport { getBlocksInSelection } from '../selectors'\nimport { BreakpointId } from '../../state/modules/breakpoints'\n\nexport function clearBlockKeyForDevice(\n editor: Editor,\n deviceId: BreakpointId,\n key: EditableBlockKey,\n) {\n const rootElements = getBlocksInSelection(editor)\n\n for (const [node, path] of rootElements) {\n if (Slate.isBlock(node)) {\n const deviceOverrides = node[key] ?? []\n Transforms.setNodes(\n editor,\n {\n [key]: deviceOverrides.filter(v => v.deviceId !== deviceId),\n },\n { at: path },\n )\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,sBAAsB;AAGtB,uBAAqC;AAG9B,SAAS,uBACd,QACA,UACA,KACA;AACA,QAAM,mBAAe,uCAAqB,MAAM;AAEhD,aAAW,CAAC,MAAM,IAAI,KAAK,cAAc;AACvC,QAAI,sBAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,kBAAkB,KAAK,GAAG,KAAK,CAAC;AACtC,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,GAAG,GAAG,gBAAgB,OAAO,OAAK,EAAE,aAAa,QAAQ;AAAA,QAC5D;AAAA,QACA,EAAE,IAAI,KAAK;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -23,13 +23,14 @@ __export(indent_exports, {
|
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(indent_exports);
|
|
25
25
|
var import_slate = require("slate");
|
|
26
|
+
var import_controls = require("@makeswift/controls");
|
|
26
27
|
var import_element = require("../utils/element");
|
|
27
28
|
var import_constants = require("./constants");
|
|
28
29
|
var import_filterForSubtreeRoots = require("./utils/filterForSubtreeRoots");
|
|
29
30
|
var import_getSelectedListItems = require("./utils/getSelectedListItems");
|
|
30
31
|
function indentPath(editor, path) {
|
|
31
32
|
const parent = import_slate.Node.parent(editor, path);
|
|
32
|
-
if (!path || !import_slate.Path.hasPrevious(path) || !
|
|
33
|
+
if (!path || !import_slate.Path.hasPrevious(path) || !import_controls.Slate.isList(parent))
|
|
33
34
|
return;
|
|
34
35
|
const previosPath = import_slate.Path.previous(path);
|
|
35
36
|
const previousChildListPath = [...previosPath, import_constants.LIST_ITEM_LIST_POSITION];
|
|
@@ -41,7 +42,7 @@ function indentPath(editor, path) {
|
|
|
41
42
|
});
|
|
42
43
|
}
|
|
43
44
|
const previousChildList = import_slate.Node.get(editor, previousChildListPath);
|
|
44
|
-
if (
|
|
45
|
+
if (import_controls.Slate.isList(previousChildList)) {
|
|
45
46
|
const index = previousHasChildList ? previousChildList.children.length : 0;
|
|
46
47
|
import_slate.Transforms.moveNodes(editor, {
|
|
47
48
|
at: path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/indent.ts"],"sourcesContent":["import { Editor, Node, Path, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function indentPath(editor: Editor, path: Path) {\n const parent = Node.parent(editor, path)\n if (!path || !Path.hasPrevious(path) || !
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/indent.ts"],"sourcesContent":["import { Editor, Node, Path, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { ElementUtils } from '../utils/element'\nimport { LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { getSelectedListItems } from './utils/getSelectedListItems'\n\nexport function indentPath(editor: Editor, path: Path) {\n const parent = Node.parent(editor, path)\n if (!path || !Path.hasPrevious(path) || !Slate.isList(parent)) return\n\n const previosPath = Path.previous(path)\n\n const previousChildListPath = [...previosPath, LIST_ITEM_LIST_POSITION]\n const previousHasChildList = Node.has(editor, previousChildListPath)\n\n Editor.withoutNormalizing(editor, () => {\n if (!previousHasChildList) {\n Transforms.insertNodes(editor, ElementUtils.createList(parent.type), {\n at: previousChildListPath,\n })\n }\n\n const previousChildList = Node.get(editor, previousChildListPath)\n\n if (Slate.isList(previousChildList)) {\n const index = previousHasChildList ? previousChildList.children.length : 0\n Transforms.moveNodes(editor, {\n at: path,\n to: [...previousChildListPath, index],\n })\n }\n })\n}\n\nexport function indent(editor: Editor) {\n if (!editor.selection) return\n\n const listItems = getSelectedListItems(editor)\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n indentPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+C;AAC/C,sBAAsB;AAEtB,qBAA6B;AAC7B,uBAAwC;AACxC,mCAAsC;AACtC,kCAAqC;AAE9B,SAAS,WAAW,QAAgB,MAAY;AACrD,QAAM,SAAS,kBAAK,OAAO,QAAQ,IAAI;AACvC,MAAI,CAAC,QAAQ,CAAC,kBAAK,YAAY,IAAI,KAAK,CAAC,sBAAM,OAAO,MAAM;AAAG;AAE/D,QAAM,cAAc,kBAAK,SAAS,IAAI;AAEtC,QAAM,wBAAwB,CAAC,GAAG,aAAa,wCAAuB;AACtE,QAAM,uBAAuB,kBAAK,IAAI,QAAQ,qBAAqB;AAEnE,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,QAAI,CAAC,sBAAsB;AACzB,8BAAW,YAAY,QAAQ,4BAAa,WAAW,OAAO,IAAI,GAAG;AAAA,QACnE,IAAI;AAAA,MACN,CAAC;AAAA,IACH;AAEA,UAAM,oBAAoB,kBAAK,IAAI,QAAQ,qBAAqB;AAEhE,QAAI,sBAAM,OAAO,iBAAiB,GAAG;AACnC,YAAM,QAAQ,uBAAuB,kBAAkB,SAAS,SAAS;AACzE,8BAAW,UAAU,QAAQ;AAAA,QAC3B,IAAI;AAAA,QACJ,IAAI,CAAC,GAAG,uBAAuB,KAAK;AAAA,MACtC,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;AAEO,SAAS,OAAO,QAAgB;AACrC,MAAI,CAAC,OAAO;AAAW;AAEvB,QAAM,gBAAY,kDAAqB,MAAM;AAC7C,QAAM,eAAW,oDAAsB,SAAS;AAChD,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAErE,OAAK,QAAQ,SAAO;AAClB,QAAI,IAAI,SAAS;AACf,iBAAW,QAAQ,IAAI,OAAO;AAAA,IAChC;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
|
|
@@ -36,16 +36,16 @@ __export(BlockPlugin_exports, {
|
|
|
36
36
|
});
|
|
37
37
|
module.exports = __toCommonJS(BlockPlugin_exports);
|
|
38
38
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
39
|
+
var import_css = require("@emotion/css");
|
|
39
40
|
var import_slate = require("slate");
|
|
41
|
+
var import_controls = require("@makeswift/controls");
|
|
40
42
|
var import_setBlockKeyForDevice = require("./setBlockKeyForDevice");
|
|
41
43
|
var import_clearBlockKeyForDevice = require("./clearBlockKeyForDevice");
|
|
42
44
|
var import_wrapInline = require("./wrapInline");
|
|
43
45
|
var import_unwrapInline = require("./unwrapInline");
|
|
44
46
|
var import_selectors = require("../selectors");
|
|
45
47
|
var import_element = require("../utils/element");
|
|
46
|
-
var import_select = require("../../controls/select");
|
|
47
48
|
var import_selectors2 = require("../selectors");
|
|
48
|
-
var import_types = require("../types");
|
|
49
49
|
var import_unwrapList = require("./unwrapList");
|
|
50
50
|
var import_wrapList = require("./wrapList");
|
|
51
51
|
var import_indent = require("./indent");
|
|
@@ -55,8 +55,8 @@ var import_editor = require("../utils/editor");
|
|
|
55
55
|
var import_is_hotkey = __toESM(require("is-hotkey"));
|
|
56
56
|
var import_constants = require("./constants");
|
|
57
57
|
var import_use_style = require("../../runtimes/react/use-style");
|
|
58
|
-
var import_css = require("@emotion/css");
|
|
59
58
|
var import_plugin = require("../../controls/rich-text-v2/plugin");
|
|
59
|
+
var import_types = require("../../slate/types");
|
|
60
60
|
const BlockActions = {
|
|
61
61
|
setBlockKeyForDevice: import_setBlockKeyForDevice.setBlockKeyForDevice,
|
|
62
62
|
clearBlockKeyForDevice: import_clearBlockKeyForDevice.clearBlockKeyForDevice,
|
|
@@ -71,7 +71,7 @@ const ListActions = {
|
|
|
71
71
|
toggleList: import_toggleList.toggleList
|
|
72
72
|
};
|
|
73
73
|
function onKeyDown(e, editor) {
|
|
74
|
-
if (!editor.selection || Array.from(import_slate.Editor.nodes(editor, { match: (node) =>
|
|
74
|
+
if (!editor.selection || Array.from(import_slate.Editor.nodes(editor, { match: (node) => import_controls.Slate.isListItem(node) })).length === 0)
|
|
75
75
|
return;
|
|
76
76
|
if ((0, import_is_hotkey.default)("shift+tab", e)) {
|
|
77
77
|
e.preventDefault();
|
|
@@ -120,7 +120,7 @@ function onKeyDown(e, editor) {
|
|
|
120
120
|
import_slate.Transforms.splitNodes(editor, {
|
|
121
121
|
at: editor.selection,
|
|
122
122
|
always: true,
|
|
123
|
-
match: (node) =>
|
|
123
|
+
match: (node) => import_controls.Slate.isListItem(node)
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
126
|
if ((0, import_is_hotkey.default)("shift+enter", e)) {
|
|
@@ -131,26 +131,26 @@ function onKeyDown(e, editor) {
|
|
|
131
131
|
function withBlock(editor) {
|
|
132
132
|
const { normalizeNode } = editor;
|
|
133
133
|
editor.isInline = (entry) => {
|
|
134
|
-
return
|
|
134
|
+
return import_controls.Slate.isInline(entry);
|
|
135
135
|
};
|
|
136
136
|
editor.normalizeNode = (entry) => {
|
|
137
137
|
const [normalizationNode, normalizationPath] = entry;
|
|
138
|
-
if (
|
|
138
|
+
if (import_controls.Slate.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {
|
|
139
139
|
import_slate.Transforms.unsetNodes(editor, "textAlign", { at: normalizationPath });
|
|
140
140
|
return;
|
|
141
141
|
}
|
|
142
|
-
if (normalizationPath.length === 1 &&
|
|
142
|
+
if (normalizationPath.length === 1 && import_controls.Slate.isRootBlock(normalizationNode) && !import_controls.Slate.isList(normalizationNode)) {
|
|
143
143
|
const children = Array.from(import_slate.Node.children(editor, normalizationPath));
|
|
144
|
-
if (children.findIndex(([child]) =>
|
|
144
|
+
if (children.findIndex(([child]) => import_controls.Slate.isRootBlock(child)) !== -1) {
|
|
145
145
|
import_slate.Transforms.unwrapNodes(editor, { at: normalizationPath });
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
if (
|
|
149
|
+
if (import_controls.Slate.isListItem(normalizationNode)) {
|
|
150
150
|
const pathToListItemText = [...normalizationPath, import_constants.LIST_ITEM_CHILD_POSITION];
|
|
151
151
|
if (import_slate.Node.has(editor, pathToListItemText)) {
|
|
152
152
|
const nodeInListItemTextPosition = import_slate.Node.get(editor, pathToListItemText);
|
|
153
|
-
if (
|
|
153
|
+
if (import_controls.Slate.isRootBlock(nodeInListItemTextPosition)) {
|
|
154
154
|
import_slate.Transforms.setNodes(
|
|
155
155
|
editor,
|
|
156
156
|
{ type: import_types.BlockType.ListItemChild },
|
|
@@ -170,7 +170,7 @@ function withBlock(editor) {
|
|
|
170
170
|
if (!import_slate.Text.isText(normalizationNode)) {
|
|
171
171
|
const mergeableChildren = Array.from(import_slate.Node.children(editor, normalizationPath)).map((child, index, children) => {
|
|
172
172
|
const potentialNodeToBeMerged = children.at(index + 1);
|
|
173
|
-
if (!potentialNodeToBeMerged || !
|
|
173
|
+
if (!potentialNodeToBeMerged || !import_controls.Slate.isList(potentialNodeToBeMerged[0]) || !import_controls.Slate.isList(child[0]) || potentialNodeToBeMerged[0].type !== child[0].type) {
|
|
174
174
|
return null;
|
|
175
175
|
}
|
|
176
176
|
return [
|
|
@@ -205,7 +205,7 @@ function withBlock(editor) {
|
|
|
205
205
|
};
|
|
206
206
|
return editor;
|
|
207
207
|
}
|
|
208
|
-
const definition = (0,
|
|
208
|
+
const definition = (0, import_controls.Select)({
|
|
209
209
|
label: "Block",
|
|
210
210
|
labelOrientation: "horizontal",
|
|
211
211
|
options: [
|
|
@@ -253,7 +253,7 @@ const definition = (0, import_select.Select)({
|
|
|
253
253
|
defaultValue: import_types.BlockType.Paragraph
|
|
254
254
|
});
|
|
255
255
|
function BlockPlugin() {
|
|
256
|
-
return (0, import_plugin.
|
|
256
|
+
return (0, import_plugin.Plugin)({
|
|
257
257
|
withPlugin: withBlock,
|
|
258
258
|
onKeyDown,
|
|
259
259
|
control: {
|
|
@@ -288,7 +288,9 @@ function BlockPlugin() {
|
|
|
288
288
|
},
|
|
289
289
|
getValue: (editor) => {
|
|
290
290
|
const activeBlock = (0, import_selectors2.getActiveBlockType)(editor);
|
|
291
|
-
if (activeBlock
|
|
291
|
+
if (activeBlock == null)
|
|
292
|
+
return void 0;
|
|
293
|
+
if (activeBlock === import_controls.Slate.RootBlockType.Default)
|
|
292
294
|
return void 0;
|
|
293
295
|
return activeBlock;
|
|
294
296
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/index.tsx"],"sourcesContent":["import type { KeyboardEvent } from 'react'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { wrapInline } from './wrapInline'\nimport { unwrapInline } from './unwrapInline'\nimport { getSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { Select } from '../../controls/select'\nimport { getActiveBlockType } from '../selectors'\nimport { BlockType, RootBlockType } from '../types'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { indent } from './indent'\nimport { dedent } from './dedent'\nimport { toggleList } from './toggleList'\nimport { EditorUtils } from '../utils/editor'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { RenderElementProps } from 'slate-react'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\n\nexport const BlockActions = {\n setBlockKeyForDevice,\n clearBlockKeyForDevice,\n wrapInline,\n unwrapInline,\n}\n\n// TODO: This API is still litered with artifacts from the list plugin being seperated out.\n// This plugin needs to be rewritten to be assumptionless.\nexport const ListActions = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => ElementUtils.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n ListActions.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n ListActions.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else if (list) {\n ListActions.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else {\n ListActions.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => ElementUtils.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry)\n }\n\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (ElementUtils.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n // Normalization for preventing non-list root blocks from being nested.\n if (\n normalizationPath.length === 1 &&\n ElementUtils.isRootBlock(normalizationNode) &&\n !ElementUtils.isList(normalizationNode)\n ) {\n const children = Array.from(Node.children(editor, normalizationPath))\n if (children.findIndex(([child]) => ElementUtils.isRootBlock(child)) !== -1) {\n Transforms.unwrapNodes(editor, { at: normalizationPath })\n return\n }\n }\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (ElementUtils.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (ElementUtils.isRootBlock(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !ElementUtils.isList(potentialNodeToBeMerged[0]) ||\n !ElementUtils.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.reverse().forEach(([_, childPath]) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nconst definition = Select({\n label: 'Block',\n labelOrientation: 'horizontal',\n options: [\n {\n value: BlockType.Paragraph,\n label: 'Paragraph',\n },\n {\n value: BlockType.Heading1,\n label: 'Heading 1',\n },\n {\n value: BlockType.Heading2,\n label: 'Heading 2',\n },\n {\n value: BlockType.Heading3,\n label: 'Heading 3',\n },\n {\n value: BlockType.Heading4,\n label: 'Heading 4',\n },\n {\n value: BlockType.Heading5,\n label: 'Heading 5',\n },\n {\n value: BlockType.Heading6,\n label: 'Heading 6',\n },\n {\n value: BlockType.UnorderedList,\n label: 'Bulleted list',\n },\n {\n value: BlockType.OrderedList,\n label: 'Numbered list',\n },\n {\n value: BlockType.BlockQuote,\n label: 'Quote',\n },\n ],\n defaultValue: BlockType.Paragraph,\n})\n\nexport function BlockPlugin() {\n return createRichTextV2Plugin({\n withPlugin: withBlock,\n onKeyDown: onKeyDown,\n control: {\n definition,\n onChange: (editor, value) => {\n // TODO: This onChange being so complex is an artifact of how the List plugin used to be seperated out from the block plugin.\n // Would be great to refactor and simplify here.\n\n const activeBlockType = getActiveBlockType(editor)\n if (value === BlockType.UnorderedList || value === BlockType.OrderedList) {\n ListActions.toggleList(editor, {\n type: value,\n at: getSelection(editor),\n })\n } else if (activeBlockType === value) {\n Transforms.setNodes(\n editor,\n {\n type: BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n } else {\n ListActions.unwrapList(editor, {\n at: getSelection(editor),\n })\n Transforms.setNodes(\n editor,\n {\n type: value ?? BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n }\n },\n getValue: editor => {\n const activeBlock = getActiveBlockType(editor)\n\n if (activeBlock === RootBlockType.Default) return undefined\n\n return activeBlock\n },\n },\n renderElement: renderElement => props =>\n <BlockPluginComponent {...props} renderElement={renderElement} />,\n })\n}\n\nfunction BlockPluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n const blockStyles = [useStyle({ margin: 0 }), props.element.className]\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const unorderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n ul: {\n listStyleType: 'circle',\n },\n 'ul ul': {\n listStyleType: 'square',\n },\n })\n\n const orderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'decimal',\n })\n\n switch (props.element.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...props.attributes} className={cx(...blockStyles, quoteStyles)}>\n {renderElement(props)}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...props.attributes} className={cx(...blockStyles, orderedListStyles)}>\n {renderElement(props)}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...props.attributes} className={cx(...blockStyles, unorderedListStyles)}>\n {renderElement(props)}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </span>\n )\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":"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","names":["import_selectors","isHotkey"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/index.tsx"],"sourcesContent":["import type { KeyboardEvent } from 'react'\nimport { cx } from '@emotion/css'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { Select, Slate, type DataType } from '@makeswift/controls'\n\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { wrapInline } from './wrapInline'\nimport { unwrapInline } from './unwrapInline'\nimport { getSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { getActiveBlockType } from '../selectors'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { indent } from './indent'\nimport { dedent } from './dedent'\nimport { toggleList } from './toggleList'\nimport { EditorUtils } from '../utils/editor'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\nimport { BlockType } from '../../slate/types'\n\nexport const BlockActions = {\n setBlockKeyForDevice,\n clearBlockKeyForDevice,\n wrapInline,\n unwrapInline,\n}\n\n// TODO: This API is still litered with artifacts from the list plugin being seperated out.\n// This plugin needs to be rewritten to be assumptionless.\nexport const ListActions = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => Slate.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n ListActions.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n ListActions.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else if (list) {\n ListActions.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else {\n ListActions.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => Slate.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry)\n }\n\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (Slate.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n // Normalization for preventing non-list root blocks from being nested.\n if (\n normalizationPath.length === 1 &&\n Slate.isRootBlock(normalizationNode) &&\n !Slate.isList(normalizationNode)\n ) {\n const children = Array.from(Node.children(editor, normalizationPath))\n if (children.findIndex(([child]) => Slate.isRootBlock(child)) !== -1) {\n Transforms.unwrapNodes(editor, { at: normalizationPath })\n return\n }\n }\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (Slate.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (Slate.isRootBlock(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !Slate.isList(potentialNodeToBeMerged[0]) ||\n !Slate.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.reverse().forEach(([_, childPath]) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nconst definition = Select({\n label: 'Block',\n labelOrientation: 'horizontal',\n options: [\n {\n value: BlockType.Paragraph,\n label: 'Paragraph',\n },\n {\n value: BlockType.Heading1,\n label: 'Heading 1',\n },\n {\n value: BlockType.Heading2,\n label: 'Heading 2',\n },\n {\n value: BlockType.Heading3,\n label: 'Heading 3',\n },\n {\n value: BlockType.Heading4,\n label: 'Heading 4',\n },\n {\n value: BlockType.Heading5,\n label: 'Heading 5',\n },\n {\n value: BlockType.Heading6,\n label: 'Heading 6',\n },\n {\n value: BlockType.UnorderedList,\n label: 'Bulleted list',\n },\n {\n value: BlockType.OrderedList,\n label: 'Numbered list',\n },\n {\n value: BlockType.BlockQuote,\n label: 'Quote',\n },\n ],\n defaultValue: BlockType.Paragraph,\n})\n\nexport function BlockPlugin() {\n return Plugin({\n withPlugin: withBlock,\n onKeyDown: onKeyDown,\n control: {\n definition,\n onChange: (editor, value: DataType<typeof definition>) => {\n // TODO: This onChange being so complex is an artifact of how the List plugin used to be seperated out from the block plugin.\n // Would be great to refactor and simplify here.\n\n const activeBlockType = getActiveBlockType(editor)\n if (value === BlockType.UnorderedList || value === BlockType.OrderedList) {\n ListActions.toggleList(editor, {\n type: value,\n at: getSelection(editor),\n })\n } else if (activeBlockType === value) {\n Transforms.setNodes(\n editor,\n {\n type: BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n } else {\n ListActions.unwrapList(editor, {\n at: getSelection(editor),\n })\n Transforms.setNodes(\n editor,\n {\n type: value ?? BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n }\n },\n getValue: editor => {\n const activeBlock = getActiveBlockType(editor)\n\n if (activeBlock == null) return undefined\n if (activeBlock === Slate.RootBlockType.Default) return undefined\n\n return activeBlock\n },\n },\n renderElement: renderElement => props => (\n <BlockPluginComponent {...props} renderElement={renderElement} />\n ),\n })\n}\n\nfunction BlockPluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n const blockStyles = [useStyle({ margin: 0 }), props.element.className]\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const unorderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n ul: {\n listStyleType: 'circle',\n },\n 'ul ul': {\n listStyleType: 'square',\n },\n })\n\n const orderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'decimal',\n })\n\n switch (props.element.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...props.attributes} className={cx(...blockStyles, quoteStyles)}>\n {renderElement(props)}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...props.attributes} className={cx(...blockStyles, orderedListStyles)}>\n {renderElement(props)}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...props.attributes} className={cx(...blockStyles, unorderedListStyles)}>\n {renderElement(props)}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </span>\n )\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":"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","names":["import_selectors","isHotkey"]}
|
|
@@ -22,8 +22,8 @@ __export(setBlockKeyForDevice_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(setBlockKeyForDevice_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
25
26
|
var import_selectors = require("../selectors");
|
|
26
|
-
var import_element = require("../utils/element");
|
|
27
27
|
var import_breakpoints = require("../../state/modules/breakpoints");
|
|
28
28
|
function setBlockKeyForDevice(editor, breakpoints, deviceId, key, value, options) {
|
|
29
29
|
const at = options?.at ?? editor.selection;
|
|
@@ -31,7 +31,7 @@ function setBlockKeyForDevice(editor, breakpoints, deviceId, key, value, options
|
|
|
31
31
|
return;
|
|
32
32
|
const rootElements = (0, import_selectors.getBlocksInSelection)(editor);
|
|
33
33
|
for (const [node, path] of rootElements) {
|
|
34
|
-
if (
|
|
34
|
+
if (import_controls.Slate.isBlock(node)) {
|
|
35
35
|
const deviceValues = node[key] ?? [];
|
|
36
36
|
const currentDeviceValue = (0, import_breakpoints.findBreakpointOverride)(breakpoints, deviceValues, deviceId, (v) => v);
|
|
37
37
|
const nextDeviceValue = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/setBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms, Location } from 'slate'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/setBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms, Location } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getBlocksInSelection } from '../selectors'\nimport { EditableBlockKey, EditableBlockValue } from './types'\nimport { Breakpoints, BreakpointId, findBreakpointOverride } from '../../state/modules/breakpoints'\n\ntype SetBlockKeyForDeviceOptions = {\n at?: Location\n}\n\nexport function setBlockKeyForDevice(\n editor: Editor,\n breakpoints: Breakpoints,\n deviceId: BreakpointId,\n key: EditableBlockKey,\n value: EditableBlockValue[number]['value'],\n options?: SetBlockKeyForDeviceOptions,\n) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const rootElements = getBlocksInSelection(editor)\n\n for (const [node, path] of rootElements) {\n if (Slate.isBlock(node)) {\n const deviceValues = node[key] ?? []\n const currentDeviceValue = findBreakpointOverride(breakpoints, deviceValues, deviceId, v => v)\n const nextDeviceValue = {\n ...currentDeviceValue,\n deviceId,\n value,\n }\n Transforms.setNodes(\n editor,\n {\n [key]: [...deviceValues.filter(v => v.deviceId !== deviceId), nextDeviceValue],\n },\n { at: path },\n )\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAC7C,sBAAsB;AAEtB,uBAAqC;AAErC,yBAAkE;AAM3D,SAAS,qBACd,QACA,aACA,UACA,KACA,OACA,SACA;AACA,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,mBAAe,uCAAqB,MAAM;AAEhD,aAAW,CAAC,MAAM,IAAI,KAAK,cAAc;AACvC,QAAI,sBAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,eAAe,KAAK,GAAG,KAAK,CAAC;AACnC,YAAM,yBAAqB,2CAAuB,aAAa,cAAc,UAAU,OAAK,CAAC;AAC7F,YAAM,kBAAkB;AAAA,QACtB,GAAG;AAAA,QACH;AAAA,QACA;AAAA,MACF;AACA,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,GAAG,GAAG,CAAC,GAAG,aAAa,OAAO,OAAK,EAAE,aAAa,QAAQ,GAAG,eAAe;AAAA,QAC/E;AAAA,QACA,EAAE,IAAI,KAAK;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -22,7 +22,7 @@ __export(toggleList_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(toggleList_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
-
var
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
26
|
var import_unwrapList = require("./unwrapList");
|
|
27
27
|
var import_location = require("./utils/location");
|
|
28
28
|
var import_wrapList = require("./wrapList");
|
|
@@ -36,7 +36,7 @@ function toggleList(editor, options = { type: import_types.BlockType.UnorderedLi
|
|
|
36
36
|
if (!ancestorPath || !import_slate.Node.has(editor, ancestorPath))
|
|
37
37
|
return;
|
|
38
38
|
const ancestor = import_slate.Node.get(editor, ancestorPath);
|
|
39
|
-
if (!
|
|
39
|
+
if (!import_controls.Slate.isList(ancestor)) {
|
|
40
40
|
return (0, import_wrapList.wrapList)(editor, { type: options.type, at });
|
|
41
41
|
}
|
|
42
42
|
if (ancestor.type === options.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/toggleList.ts"],"sourcesContent":["import { Editor, Location, Node, Path, Transforms } from 'slate'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/toggleList.ts"],"sourcesContent":["import { Editor, Location, Node, Path, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { unwrapList } from './unwrapList'\nimport { LocationUtils } from './utils/location'\nimport { wrapList } from './wrapList'\nimport { BlockType } from '../types'\n\ntype ToggleListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n at?: Location\n}\n\nexport function toggleList(\n editor: Editor,\n options: ToggleListOptions = { type: BlockType.UnorderedList },\n) {\n const at = options.at ?? editor.selection\n if (at == null) return\n const start = LocationUtils.getStartPath(at)\n const ancestorPath = Path.ancestors(start).at(1)\n if (!ancestorPath || !Node.has(editor, ancestorPath)) return\n const ancestor = Node.get(editor, ancestorPath)\n\n if (!Slate.isList(ancestor)) {\n return wrapList(editor, { type: options.type, at })\n }\n\n if (ancestor.type === options.type) {\n unwrapList(editor, { at })\n } else {\n Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyD;AACzD,sBAAsB;AAEtB,wBAA2B;AAC3B,sBAA8B;AAC9B,sBAAyB;AACzB,mBAA0B;AAOnB,SAAS,WACd,QACA,UAA6B,EAAE,MAAM,uBAAU,cAAc,GAC7D;AACA,QAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,MAAI,MAAM;AAAM;AAChB,QAAM,QAAQ,8BAAc,aAAa,EAAE;AAC3C,QAAM,eAAe,kBAAK,UAAU,KAAK,EAAE,GAAG,CAAC;AAC/C,MAAI,CAAC,gBAAgB,CAAC,kBAAK,IAAI,QAAQ,YAAY;AAAG;AACtD,QAAM,WAAW,kBAAK,IAAI,QAAQ,YAAY;AAE9C,MAAI,CAAC,sBAAM,OAAO,QAAQ,GAAG;AAC3B,eAAO,0BAAS,QAAQ,EAAE,MAAM,QAAQ,MAAM,GAAG,CAAC;AAAA,EACpD;AAEA,MAAI,SAAS,SAAS,QAAQ,MAAM;AAClC,sCAAW,QAAQ,EAAE,GAAG,CAAC;AAAA,EAC3B,OAAO;AACL,4BAAW,SAAS,QAAQ,EAAE,MAAM,QAAQ,KAAK,GAAG,EAAE,IAAI,aAAa,CAAC;AAAA,EAC1E;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/types.ts"],"sourcesContent":["import { Slate } from '@makeswift/controls'\n\nexport type EditableBlockKey = 'textAlign'\nexport type EditableBlockValue = Slate.ResponsiveBlockTextAlignment\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
|
|
@@ -22,11 +22,11 @@ __export(unwrapInline_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(unwrapInline_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
-
var
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
26
26
|
var import_selectors = require("../selectors");
|
|
27
27
|
function unwrapInline(editor, type) {
|
|
28
28
|
import_slate.Transforms.unwrapNodes(editor, {
|
|
29
|
-
match: (node) =>
|
|
29
|
+
match: (node) => import_controls.Slate.isInline(node) && node.type === type,
|
|
30
30
|
at: (0, import_selectors.getSelection)(editor)
|
|
31
31
|
});
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function unwrapInline(editor: Editor, type: Slate.InlineType) {\n Transforms.unwrapNodes(editor, {\n match: node => Slate.isInline(node) && node.type === type,\n at: getSelection(editor),\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,sBAAsB;AAEtB,uBAA6B;AAEtB,SAAS,aAAa,QAAgB,MAAwB;AACnE,0BAAW,YAAY,QAAQ;AAAA,IAC7B,OAAO,UAAQ,sBAAM,SAAS,IAAI,KAAK,KAAK,SAAS;AAAA,IACrD,QAAI,+BAAa,MAAM;AAAA,EACzB,CAAC;AACH;","names":[]}
|
|
@@ -23,11 +23,10 @@ __export(unwrapList_exports, {
|
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(unwrapList_exports);
|
|
25
25
|
var import_slate = require("slate");
|
|
26
|
+
var import_controls = require("@makeswift/controls");
|
|
26
27
|
var import_editor = require("../utils/editor");
|
|
27
28
|
var import_constants = require("./constants");
|
|
28
29
|
var import_filterForSubtreeRoots = require("./utils/filterForSubtreeRoots");
|
|
29
|
-
var import_element = require("../utils/element");
|
|
30
|
-
var import_types = require("../types");
|
|
31
30
|
function unwrapPath(editor, listItemPath) {
|
|
32
31
|
const parentList = import_editor.EditorUtils.getFirstAncestorList(editor, listItemPath);
|
|
33
32
|
const listItemContainingParentList = import_editor.EditorUtils.getFirstAncestorListItem(editor, listItemPath);
|
|
@@ -44,7 +43,7 @@ function unwrapPath(editor, listItemPath) {
|
|
|
44
43
|
if (import_slate.Node.has(editor, listItemTextPath)) {
|
|
45
44
|
import_slate.Transforms.setNodes(
|
|
46
45
|
editor,
|
|
47
|
-
{ type:
|
|
46
|
+
{ type: import_controls.Slate.BlockType.Paragraph },
|
|
48
47
|
{
|
|
49
48
|
at: listItemTextPath
|
|
50
49
|
}
|
|
@@ -62,7 +61,7 @@ function unwrapList(editor, options) {
|
|
|
62
61
|
import_slate.Editor.nodes(editor, {
|
|
63
62
|
at,
|
|
64
63
|
match: (node) => {
|
|
65
|
-
return import_slate.Element.isElement(node) &&
|
|
64
|
+
return import_slate.Element.isElement(node) && import_controls.Slate.isListItem(node);
|
|
66
65
|
}
|
|
67
66
|
})
|
|
68
67
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapList.ts"],"sourcesContent":["import { Editor, Element, Transforms, Path, Node, Location, Span } from 'slate'\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapList.ts"],"sourcesContent":["import { Editor, Element, Transforms, Path, Node, Location, Span } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\n\nexport function unwrapPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n //if this is a nested item we don't want to unwrap it\n if (!parentList || listItemContainingParentList) return\n\n Editor.withoutNormalizing(editor, () => {\n const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION]\n const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION]\n\n if (Node.has(editor, listItemNestedListPath)) {\n Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: Path.next(listItemPath) })\n }\n\n if (Node.has(editor, listItemTextPath)) {\n Transforms.setNodes(\n editor,\n { type: Slate.BlockType.Paragraph },\n {\n at: listItemTextPath,\n },\n )\n Transforms.liftNodes(editor, { at: listItemTextPath })\n Transforms.liftNodes(editor, { at: listItemPath })\n }\n })\n}\n\ntype UnwrapListOptions = {\n at?: Location | Span\n}\n\nexport function unwrapList(editor: Editor, options?: UnwrapListOptions) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const listItems = Array.from(\n Editor.nodes(editor, {\n at,\n match: node => {\n return Element.isElement(node) && Slate.isListItem(node)\n },\n }),\n )\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n unwrapPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwE;AACxE,sBAAsB;AAEtB,oBAA4B;AAC5B,uBAAkE;AAClE,mCAAsC;AAE/B,SAAS,WAAW,QAAgB,cAAoB;AAC7D,QAAM,aAAa,0BAAY,qBAAqB,QAAQ,YAAY;AACxE,QAAM,+BAA+B,0BAAY,yBAAyB,QAAQ,YAAY;AAE9F,MAAI,CAAC,cAAc;AAA8B;AAEjD,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,mBAAmB,CAAC,GAAG,cAAc,yCAAwB;AACnE,UAAM,yBAAyB,CAAC,GAAG,cAAc,wCAAuB;AAExE,QAAI,kBAAK,IAAI,QAAQ,sBAAsB,GAAG;AAC5C,8BAAW,SAAS,QAAQ,EAAE,MAAM,WAAW,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,uBAAuB,CAAC;AACxF,8BAAW,UAAU,QAAQ,EAAE,IAAI,uBAAuB,CAAC;AAC3D,8BAAW,UAAU,QAAQ,EAAE,IAAI,kBAAK,KAAK,YAAY,EAAE,CAAC;AAAA,IAC9D;AAEA,QAAI,kBAAK,IAAI,QAAQ,gBAAgB,GAAG;AACtC,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,MAAM,sBAAM,UAAU,UAAU;AAAA,QAClC;AAAA,UACE,IAAI;AAAA,QACN;AAAA,MACF;AACA,8BAAW,UAAU,QAAQ,EAAE,IAAI,iBAAiB,CAAC;AACrD,8BAAW,UAAU,QAAQ,EAAE,IAAI,aAAa,CAAC;AAAA,IACnD;AAAA,EACF,CAAC;AACH;AAMO,SAAS,WAAW,QAAgB,SAA6B;AACtE,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,YAAY,MAAM;AAAA,IACtB,oBAAO,MAAM,QAAQ;AAAA,MACnB;AAAA,MACA,OAAO,UAAQ;AACb,eAAO,qBAAQ,UAAU,IAAI,KAAK,sBAAM,WAAW,IAAI;AAAA,MACzD;AAAA,IACF,CAAC;AAAA,EACH;AACA,QAAM,eAAW,oDAAsB,SAAS;AAChD,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAErE,OAAK,QAAQ,SAAO;AAClB,QAAI,IAAI,SAAS;AACf,iBAAW,QAAQ,IAAI,OAAO;AAAA,IAChC;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
|
|
@@ -22,8 +22,8 @@ __export(getSelectedListItems_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(getSelectedListItems_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
25
26
|
var import_editor = require("../../utils/editor");
|
|
26
|
-
var import_element = require("../../utils/element");
|
|
27
27
|
var import_location = require("./location");
|
|
28
28
|
function getSelectedListItems(editor) {
|
|
29
29
|
if (!editor.selection)
|
|
@@ -31,7 +31,7 @@ function getSelectedListItems(editor) {
|
|
|
31
31
|
const start = import_location.LocationUtils.getStartPath(editor.selection);
|
|
32
32
|
const listItems = import_slate.Editor.nodes(editor, {
|
|
33
33
|
at: editor.selection,
|
|
34
|
-
match:
|
|
34
|
+
match: import_controls.Slate.isListItem
|
|
35
35
|
});
|
|
36
36
|
const firstAncestorPath = import_editor.EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? [];
|
|
37
37
|
return Array.from(listItems).filter(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/slate/BlockPlugin/utils/getSelectedListItems.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../../../../../src/slate/BlockPlugin/utils/getSelectedListItems.ts"],"sourcesContent":["import type { NodeEntry } from 'slate'\nimport { Editor, Path } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditorUtils } from '../../utils/editor'\nimport { LocationUtils } from './location'\n\nexport function getSelectedListItems(editor: Editor): NodeEntry<Slate.Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const listItems = Editor.nodes(editor, {\n at: editor.selection,\n match: Slate.isListItem,\n })\n\n const firstAncestorPath = EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? []\n\n return Array.from(listItems).filter(node =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA6B;AAC7B,sBAAsB;AAEtB,oBAA4B;AAC5B,sBAA8B;AAEvB,SAAS,qBAAqB,QAA4C;AAC/E,MAAI,CAAC,OAAO;AAAW,WAAO,CAAC;AAE/B,QAAM,QAAQ,8BAAc,aAAa,OAAO,SAAS;AACzD,QAAM,YAAY,oBAAO,MAAM,QAAQ;AAAA,IACrC,IAAI,OAAO;AAAA,IACX,OAAO,sBAAM;AAAA,EACf,CAAC;AAED,QAAM,oBAAoB,0BAAY,yBAAyB,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC;AAEvF,SAAO,MAAM,KAAK,SAAS,EAAE;AAAA,IAAO,UAClC,kBAAK,aAAa,OAAO,KAAK,CAAC,CAAC,IAC5B,kBAAK,OAAO,KAAK,CAAC,GAAG,iBAAiB,IACtC,CAAC,kBAAK,QAAQ,OAAO,KAAK,CAAC,CAAC;AAAA,EAClC;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function wrapInline(editor: Editor, inline: Slate.Inline) {\n Transforms.wrapNodes(editor, inline, {\n at: getSelection(editor),\n split: true,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAGnC,uBAA6B;AAEtB,SAAS,WAAW,QAAgB,QAAsB;AAC/D,0BAAW,UAAU,QAAQ,QAAQ;AAAA,IACnC,QAAI,+BAAa,MAAM;AAAA,IACvB,OAAO;AAAA,EACT,CAAC;AACH;","names":[]}
|
|
@@ -22,8 +22,9 @@ __export(wrapList_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(wrapList_exports);
|
|
24
24
|
var import_slate = require("slate");
|
|
25
|
+
var import_controls = require("@makeswift/controls");
|
|
25
26
|
var import_element = require("../utils/element");
|
|
26
|
-
var import_types = require("
|
|
27
|
+
var import_types = require("../../slate/types");
|
|
27
28
|
function wrapList(editor, options = { type: import_types.BlockType.UnorderedList }) {
|
|
28
29
|
const at = options.at ?? editor.selection;
|
|
29
30
|
if (!at)
|
|
@@ -32,7 +33,7 @@ function wrapList(editor, options = { type: import_types.BlockType.UnorderedList
|
|
|
32
33
|
import_slate.Editor.nodes(editor, {
|
|
33
34
|
at,
|
|
34
35
|
match: (node) => {
|
|
35
|
-
return import_slate.Element.isElement(node) &&
|
|
36
|
+
return import_slate.Element.isElement(node) && import_controls.Slate.isConvertibleToListTextNode(node);
|
|
36
37
|
}
|
|
37
38
|
})
|
|
38
39
|
);
|
|
@@ -49,7 +50,7 @@ function wrapList(editor, options = { type: import_types.BlockType.UnorderedList
|
|
|
49
50
|
}
|
|
50
51
|
);
|
|
51
52
|
import_slate.Transforms.wrapNodes(editor, import_element.ElementUtils.createListItem(), {
|
|
52
|
-
match: (node) =>
|
|
53
|
+
match: (node) => import_controls.Slate.isListItemChild(node),
|
|
53
54
|
at: path
|
|
54
55
|
});
|
|
55
56
|
import_slate.Transforms.wrapNodes(editor, import_element.ElementUtils.createList(options.type), {
|