@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/components/shared/Link/index.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport NextLink from 'next/link'\n\nimport { LinkData } from '@makeswift/prop-controllers'\nimport { useElementId } from '../../../runtimes/react'\nimport { usePagePathnameSlice } from '../../../runtimes/react/hooks/makeswift-api'\n\ntype BaseProps = {\n link?: LinkData\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'a'>, keyof BaseProps>\n\n// workaround for https://github.com/vercel/next.js/issues/66650\nconst isValidHref = (href: string) => {\n try {\n const bases = ['http://n', 'https://n']\n // - if `href` is a relative path, it will be resolved relative to the base URL\n // - if `href` is a full URL, the base URL will be ignored, even if there is a mismatch of protocols\n // - if `href` is an incomplete, protocol-only URL with a protocol that\n // conflicts with one of the base URL, this will throw\n bases.forEach(base => new URL(href, base))\n } catch (_) {\n return false\n }\n return true\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, Props>(function Link(\n { link, onClick = () => {}, ...restOfProps }: Props,\n ref,\n) {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n const hasLocalizedPathname = page?.localizedPathname != null\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n // We don't want to use `next/link` with relative paths because Next.js will attempt to normalize\n // it and mess up the path.\n let useNextLink: boolean | undefined\n let href: string | undefined\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) {\n useNextLink = true\n\n href = `/${page.localizedPathname ?? page.pathname}`\n }\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n useNextLink = isValidHref(link.payload.url)\n\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n useNextLink = false\n\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n useNextLink = false\n\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n useNextLink = false\n\n href = `#${elementId ?? ''}`\n\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n onClick(event)\n\n if (event.defaultPrevented) return\n\n /**\n * When we introduced `next/link` instead of just `a` element slate no longer prevented link from navigating within\n * content mode. This is a hack to compensate for what would be expected as slate's default behavior.\n * On upgrade of slate this can be reevaluated.\n */\n if (event.currentTarget.isContentEditable) return event.preventDefault()\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n if (href != null) hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && hash != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n }\n\n if (useNextLink && href != null) {\n return (\n <NextLink\n {...restOfProps}\n ref={ref}\n target={target}\n onClick={handleClick}\n href={href}\n {...(hasLocalizedPathname && {\n locale: false,\n })}\n // Next.js v12 has legacyBehavior set to true by default\n legacyBehavior={false}\n />\n )\n }\n\n // eslint-disable-next-line\n return <a {...restOfProps} ref={ref} href={href} target={target} onClick={handleClick} />\n})\n"],"mappings":"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","names":["Link"]}
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/shared/Link/index.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from 'react'\nimport scrollIntoView from 'scroll-into-view-if-needed'\nimport NextLink from 'next/link'\n\nimport { LinkData } from '@makeswift/prop-controllers'\nimport { useElementId } from '../../../runtimes/react/hooks/use-element-id'\nimport { usePagePathnameSlice } from '../../../runtimes/react/hooks/makeswift-api'\n\ntype BaseProps = {\n link?: LinkData\n onClick?: (event: MouseEvent<HTMLAnchorElement>) => unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'a'>, keyof BaseProps>\n\n// workaround for https://github.com/vercel/next.js/issues/66650\nconst isValidHref = (href: string) => {\n try {\n const bases = ['http://n', 'https://n']\n // - if `href` is a relative path, it will be resolved relative to the base URL\n // - if `href` is a full URL, the base URL will be ignored, even if there is a mismatch of protocols\n // - if `href` is an incomplete, protocol-only URL with a protocol that\n // conflicts with one of the base URL, this will throw\n bases.forEach(base => new URL(href, base))\n } catch (_) {\n return false\n }\n return true\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, Props>(function Link(\n { link, onClick = () => {}, ...restOfProps }: Props,\n ref,\n) {\n const pageId = link && link.type === 'OPEN_PAGE' ? link.payload.pageId : null\n const page = usePagePathnameSlice(pageId ?? null)\n const hasLocalizedPathname = page?.localizedPathname != null\n\n const elementKey =\n link?.type === 'SCROLL_TO_ELEMENT' ? link.payload.elementIdConfig?.elementKey : null\n const elementId = useElementId(elementKey)\n\n // We don't want to use `next/link` with relative paths because Next.js will attempt to normalize\n // it and mess up the path.\n let useNextLink: boolean | undefined\n let href: string | undefined\n let target: '_blank' | '_self' | undefined\n let block: 'start' | 'center' | 'end' | undefined\n\n if (link) {\n switch (link.type) {\n case 'OPEN_PAGE': {\n if (page) {\n useNextLink = true\n\n href = `/${page.localizedPathname ?? page.pathname}`\n }\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'OPEN_URL': {\n useNextLink = isValidHref(link.payload.url)\n\n href = link.payload.url\n\n target = link.payload.openInNewTab ? '_blank' : '_self'\n\n break\n }\n\n case 'SEND_EMAIL': {\n useNextLink = false\n\n const { to, subject = '', body = '' } = link.payload\n\n if (to != null) href = `mailto:${to}?subject=${subject}&body=${body}`\n\n break\n }\n\n case 'CALL_PHONE': {\n useNextLink = false\n\n href = `tel:${link.payload.phoneNumber}`\n\n break\n }\n\n case 'SCROLL_TO_ELEMENT': {\n useNextLink = false\n\n href = `#${elementId ?? ''}`\n\n block = link.payload.block\n\n break\n }\n\n default:\n throw new RangeError(`Invalid link type \"${(link as any).type}.\"`)\n }\n }\n\n function handleClick(event: MouseEvent<HTMLAnchorElement>) {\n onClick(event)\n\n if (event.defaultPrevented) return\n\n /**\n * When we introduced `next/link` instead of just `a` element slate no longer prevented link from navigating within\n * content mode. This is a hack to compensate for what would be expected as slate's default behavior.\n * On upgrade of slate this can be reevaluated.\n */\n if (event.currentTarget.isContentEditable) return event.preventDefault()\n\n if (link && link.type === 'SCROLL_TO_ELEMENT') {\n let hash: string | undefined\n\n try {\n if (href != null) hash = new URL(`http://www.example.com/${href}`).hash\n } catch (error) {\n console.error(`Link received invalid href: ${href}`, error)\n }\n\n if (href != null && hash != null && href === hash) {\n event.preventDefault()\n const view = event.view as unknown as Window\n\n scrollIntoView(view.document.querySelector(hash)!, {\n behavior: 'smooth',\n block,\n })\n\n if (view.location.hash !== hash) view.history.pushState({}, '', hash)\n }\n }\n }\n\n if (useNextLink && href != null) {\n return (\n <NextLink\n {...restOfProps}\n ref={ref}\n target={target}\n onClick={handleClick}\n href={href}\n {...(hasLocalizedPathname && {\n locale: false,\n })}\n // Next.js v12 has legacyBehavior set to true by default\n legacyBehavior={false}\n />\n )\n }\n\n // eslint-disable-next-line\n return <a {...restOfProps} ref={ref} href={href} target={target} onClick={handleClick} />\n})\n"],"mappings":"AA+IM;AA/IN,SAAmC,kBAA8B;AACjE,OAAO,oBAAoB;AAC3B,OAAO,cAAc;AAGrB,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AAUrC,MAAM,cAAc,CAAC,SAAiB;AACpC,MAAI;AACF,UAAM,QAAQ,CAAC,YAAY,WAAW;AAKtC,UAAM,QAAQ,UAAQ,IAAI,IAAI,MAAM,IAAI,CAAC;AAAA,EAC3C,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEO,MAAM,OAAO,WAAqC,SAASA,MAChE,EAAE,MAAM,UAAU,MAAM;AAAC,GAAG,GAAG,YAAY,GAC3C,KACA;AACA,QAAM,SAAS,QAAQ,KAAK,SAAS,cAAc,KAAK,QAAQ,SAAS;AACzE,QAAM,OAAO,qBAAqB,UAAU,IAAI;AAChD,QAAM,uBAAuB,MAAM,qBAAqB;AAExD,QAAM,aACJ,MAAM,SAAS,sBAAsB,KAAK,QAAQ,iBAAiB,aAAa;AAClF,QAAM,YAAY,aAAa,UAAU;AAIzC,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,MAAI,MAAM;AACR,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,YAAI,MAAM;AACR,wBAAc;AAEd,iBAAO,IAAI,KAAK,qBAAqB,KAAK,QAAQ;AAAA,QACpD;AAEA,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,YAAY;AACf,sBAAc,YAAY,KAAK,QAAQ,GAAG;AAE1C,eAAO,KAAK,QAAQ;AAEpB,iBAAS,KAAK,QAAQ,eAAe,WAAW;AAEhD;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,cAAM,EAAE,IAAI,UAAU,IAAI,OAAO,GAAG,IAAI,KAAK;AAE7C,YAAI,MAAM;AAAM,iBAAO,UAAU,EAAE,YAAY,OAAO,SAAS,IAAI;AAEnE;AAAA,MACF;AAAA,MAEA,KAAK,cAAc;AACjB,sBAAc;AAEd,eAAO,OAAO,KAAK,QAAQ,WAAW;AAEtC;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,sBAAc;AAEd,eAAO,IAAI,aAAa,EAAE;AAE1B,gBAAQ,KAAK,QAAQ;AAErB;AAAA,MACF;AAAA,MAEA;AACE,cAAM,IAAI,WAAW,sBAAuB,KAAa,IAAI,IAAI;AAAA,IACrE;AAAA,EACF;AAEA,WAAS,YAAY,OAAsC;AACzD,YAAQ,KAAK;AAEb,QAAI,MAAM;AAAkB;AAO5B,QAAI,MAAM,cAAc;AAAmB,aAAO,MAAM,eAAe;AAEvE,QAAI,QAAQ,KAAK,SAAS,qBAAqB;AAC7C,UAAI;AAEJ,UAAI;AACF,YAAI,QAAQ;AAAM,iBAAO,IAAI,IAAI,0BAA0B,IAAI,EAAE,EAAE;AAAA,MACrE,SAAS,OAAO;AACd,gBAAQ,MAAM,+BAA+B,IAAI,IAAI,KAAK;AAAA,MAC5D;AAEA,UAAI,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,MAAM;AACjD,cAAM,eAAe;AACrB,cAAM,OAAO,MAAM;AAEnB,uBAAe,KAAK,SAAS,cAAc,IAAI,GAAI;AAAA,UACjD,UAAU;AAAA,UACV;AAAA,QACF,CAAC;AAED,YAAI,KAAK,SAAS,SAAS;AAAM,eAAK,QAAQ,UAAU,CAAC,GAAG,IAAI,IAAI;AAAA,MACtE;AAAA,IACF;AAAA,EACF;AAEA,MAAI,eAAe,QAAQ,MAAM;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT;AAAA,QACC,GAAI,wBAAwB;AAAA,UAC3B,QAAQ;AAAA,QACV;AAAA,QAEA,gBAAgB;AAAA;AAAA,IAClB;AAAA,EAEJ;AAGA,SAAO,oBAAC,OAAG,GAAG,aAAa,KAAU,MAAY,QAAgB,SAAS,aAAa;AACzF,CAAC;","names":["Link"]}
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
getBreakpointMediaQuery,
|
|
4
4
|
join as joinResponsiveValues
|
|
5
5
|
} from "../../state/modules/breakpoints";
|
|
6
|
+
import { useBreakpoints } from "../../runtimes/react/hooks/use-breakpoints";
|
|
6
7
|
import { getIndexes } from "./columns";
|
|
7
8
|
import { paddingPropertyDataToStyle } from "../../css/padding";
|
|
8
9
|
import { marginPropertyDataToStyle } from "../../css/margin";
|
|
9
10
|
import { borderRadiusPropertyDataToStyle } from "../../css/border-radius";
|
|
10
11
|
import { borderPropertyDataToStyle } from "../../css/border";
|
|
11
12
|
import { colorToString } from "./colorToString";
|
|
12
|
-
import { useBreakpoints } from "../../runtimes/react";
|
|
13
13
|
function responsiveStyle(breakpoints, responsiveValues, join, strategy) {
|
|
14
14
|
return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(
|
|
15
15
|
(acc, { deviceId, value }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\nimport type {\n ResponsiveValueType as ExtractResponsiveValue,\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveMarginData,\n ResponsivePaddingData,\n ResponsiveValue,\n ResponsiveLengthData,\n ResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { useBreakpoints } from '../../runtimes/react'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: ResponsiveLengthData | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: ResponsivePaddingData | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: ResponsiveMarginData | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: ResponsiveTextStyleData | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/utils/responsive-style.ts"],"sourcesContent":["import { WidthProperty } from 'csstype'\nimport { CSSObject } from '@emotion/css'\n\nimport type { ResponsiveValueType as ExtractResponsiveValue } from '@makeswift/controls'\n\nimport type {\n LengthData,\n ResponsiveBorderRadiusData,\n ResponsiveMarginData,\n ResponsivePaddingData,\n ResponsiveValue,\n ResponsiveLengthData,\n ResponsiveTextStyleData,\n} from '@makeswift/prop-controllers'\n\nimport {\n FallbackStrategy,\n getBreakpoint,\n getBreakpointMediaQuery,\n join as joinResponsiveValues,\n Breakpoints,\n} from '../../state/modules/breakpoints'\n\nimport { useBreakpoints } from '../../runtimes/react/hooks/use-breakpoints'\n\nimport { getIndexes } from './columns'\nimport { PaddingPropertyData, paddingPropertyDataToStyle } from '../../css/padding'\nimport { MarginPropertyData, marginPropertyDataToStyle } from '../../css/margin'\nimport { BorderRadiusPropertyData, borderRadiusPropertyDataToStyle } from '../../css/border-radius'\nimport { BorderPropertyData, borderPropertyDataToStyle } from '../../css/border'\nimport { BorderPropControllerData } from '../hooks/useBorder'\nimport { colorToString } from './colorToString'\nimport { BoxShadow, ResponsiveBoxShadow } from '../hooks'\nimport { DropFirst } from './drop-first'\n\nexport function responsiveStyle<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return joinResponsiveValues(breakpoints, responsiveValues, join, strategy).reduce(\n (acc, { deviceId, value }) => {\n const breakpoint = getBreakpoint(breakpoints, deviceId)\n const mediaQuery = getBreakpointMediaQuery(breakpoint)\n\n return {\n ...acc,\n [mediaQuery]: {\n ...(acc[mediaQuery] as CSSObject),\n ...value,\n },\n }\n },\n {} as CSSObject,\n )\n}\n\nexport function useResponsiveStyle<\n V,\n A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>,\n>(\n responsiveValues: A,\n join: (values: { [K in keyof A]: ExtractResponsiveValue<A[K]> | undefined }) => CSSObject,\n strategy?: FallbackStrategy<V>,\n): CSSObject {\n return responsiveStyle(useBreakpoints(), responsiveValues, join, strategy)\n}\n\nexport function responsiveWidth(\n breakpoints: Breakpoints,\n widthData: ResponsiveLengthData | undefined,\n defaultValue: LengthData | WidthProperty<string | number> = '100%',\n): CSSObject {\n return {\n maxWidth: '100%',\n ...responsiveStyle(breakpoints, [widthData], ([width = defaultValue]) => ({\n width: typeof width === 'object' ? `${width.value}${width.unit}` : width,\n })),\n }\n}\n\nexport function useResponsiveWidth(\n ...args: DropFirst<Parameters<typeof responsiveWidth>>\n): CSSObject {\n return responsiveWidth(useBreakpoints(), ...args)\n}\n\nexport function responsivePadding(\n breakpoints: Breakpoints,\n paddingData: ResponsivePaddingData | undefined,\n defaultValue: PaddingPropertyData = {} as PaddingPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [paddingData], ([padding = {} as PaddingPropertyData]) =>\n paddingPropertyDataToStyle(\n padding,\n Object.assign(\n { paddingTop: 0, paddingRight: 0, paddingBottom: 0, paddingLeft: 0 },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsivePadding(\n ...args: DropFirst<Parameters<typeof responsivePadding>>\n): CSSObject {\n return responsivePadding(useBreakpoints(), ...args)\n}\n\nexport function responsiveMargin(\n breakpoints: Breakpoints,\n marginData: ResponsiveMarginData | undefined,\n defaultValue: MarginPropertyData = {} as MarginPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [marginData], ([margin = {} as MarginPropertyData]) =>\n marginPropertyDataToStyle(\n margin,\n Object.assign(\n { marginTop: 0, marginRight: 'auto', marginBottom: 0, marginLeft: 'auto' },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveMargin(\n ...args: DropFirst<Parameters<typeof responsiveMargin>>\n): CSSObject {\n return responsiveMargin(useBreakpoints(), ...args)\n}\n\nexport function responsiveBorderRadius(\n breakpoints: Breakpoints,\n borderRadiusData: ResponsiveBorderRadiusData | undefined,\n defaultValue: BorderRadiusPropertyData = {} as BorderRadiusPropertyData,\n): CSSObject {\n return responsiveStyle(breakpoints, [borderRadiusData], ([borderRadius = {}]) =>\n borderRadiusPropertyDataToStyle(\n borderRadius,\n Object.assign(\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0,\n },\n defaultValue,\n ),\n ),\n )\n}\n\nexport function useResponsiveBorderRadius(\n ...args: DropFirst<Parameters<typeof responsiveBorderRadius>>\n): CSSObject {\n return responsiveBorderRadius(useBreakpoints(), ...args)\n}\n\nexport function useResponsiveBorder(\n borderData: BorderPropControllerData | undefined,\n defaultValue: BorderPropertyData = {},\n): CSSObject {\n return useResponsiveStyle([borderData], ([border = {}]) =>\n borderPropertyDataToStyle(\n border,\n Object.assign(\n {\n borderTop: '0px solid black',\n borderRight: '0px solid black',\n borderBottom: '0px solid black',\n borderLeft: '0px solid black',\n },\n defaultValue,\n ),\n ),\n )\n}\n\nconst floor =\n (d: number) =>\n (v: number): number =>\n Math.floor(10 ** d * v) / 10 ** d\n\nexport function responsiveGridItem(\n breakpoints: Breakpoints,\n props: {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n columnGap?: ResponsiveValue<LengthData>\n rowGap?: ResponsiveValue<LengthData>\n },\n): CSSObject {\n return {\n display: 'flex',\n ...responsiveStyle(\n breakpoints,\n [props.grid, props.columnGap, props.rowGap] as const,\n ([\n { spans, count } = { spans: [[12]], count: 12 },\n columnGap = { value: 0, unit: 'px' },\n rowGap = { value: 0, unit: 'px' },\n ]) => {\n const [rowIndex, columnIndex] = getIndexes(spans, props.index)\n const firstCol = columnIndex === 0\n const lastCol = columnIndex === spans[rowIndex].length - 1\n const span = spans[rowIndex][columnIndex]\n const fraction = floor(5)(span / count)\n const width = `${fraction} * (100% + ${columnGap.value}${columnGap.unit})`\n const excessWidth = `${Number(firstCol) + Number(lastCol)} * ${columnGap.value}${\n columnGap.unit\n } / 2`\n const iePrecisionError = '0.01px'\n const flexBasis = `calc(${width} - ${excessWidth} - ${iePrecisionError})`\n const firstRow = rowIndex === 0\n const lastRow = rowIndex === spans.length - 1\n\n return span === 0\n ? { display: 'none' }\n : {\n flexBasis,\n minWidth: flexBasis,\n // NOTE: IE11 width breaks without max width\n // https://github.com/philipwalton/flexbugs/issues/3\n maxWidth: flexBasis,\n paddingLeft: firstCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingRight: lastCol ? 0 : `${columnGap.value / 2}${columnGap.unit}`,\n paddingTop: firstRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n paddingBottom: lastRow ? 0 : `${rowGap.value / 2}${rowGap.unit}`,\n }\n },\n ),\n }\n}\n\nexport function useResponsiveGridItem(\n ...args: DropFirst<Parameters<typeof responsiveGridItem>>\n): CSSObject {\n return responsiveGridItem(useBreakpoints(), ...args)\n}\n\nconst getBoxShadow = (shadows: BoxShadow) =>\n shadows\n .map(\n ({ payload: { inset, offsetX, offsetY, blurRadius, spreadRadius, color } }) =>\n `${inset ? 'inset ' : ''}${offsetX.toFixed(1)}px ${offsetY.toFixed(\n 1,\n )}px ${blurRadius}px ${spreadRadius}px ${\n color != null ? colorToString(color) : 'rgba(0,0,0,0.2)'\n }`,\n )\n .filter(Boolean)\n .join()\n\nexport function responsiveShadow(\n breakpoints: Breakpoints,\n value: ResponsiveBoxShadow | undefined,\n): CSSObject {\n return responsiveStyle(breakpoints, [value], ([shadow = []]) => ({\n boxShadow: getBoxShadow(shadow),\n }))\n}\n\nexport function useResponsiveShadow(\n ...args: DropFirst<Parameters<typeof responsiveShadow>>\n): CSSObject {\n return responsiveShadow(useBreakpoints(), ...args)\n}\n\nexport function responsiveTextStyle(\n breakpoints: Breakpoints,\n value: ResponsiveTextStyleData | undefined,\n): CSSObject {\n return responsiveStyle(\n breakpoints,\n [value],\n ([\n textStyle = {\n fontFamily: null,\n letterSpacing: null,\n fontSize: null,\n fontWeight: null,\n textTransform: [],\n fontStyle: [],\n },\n ]) => {\n const {\n fontSize,\n fontWeight,\n fontStyle = [],\n textTransform = [],\n letterSpacing,\n fontFamily,\n } = textStyle\n\n return {\n ...(fontFamily == null ? {} : { fontFamily: `\"${fontFamily}\"` }),\n ...(fontWeight == null ? {} : { fontWeight }),\n ...(letterSpacing == null ? {} : { letterSpacing }),\n ...(fontSize == null ? {} : { fontSize: `${fontSize.value}${fontSize.unit}` }),\n ...(textTransform.includes('uppercase') ? { textTransform: 'uppercase' } : {}),\n ...(fontStyle.includes('italic') ? { fontStyle: 'italic' } : {}),\n }\n },\n )\n}\n\nexport function useResponsiveTextStyle(\n ...args: DropFirst<Parameters<typeof responsiveTextStyle>>\n): CSSObject {\n return responsiveTextStyle(useBreakpoints(), ...args)\n}\n"],"mappings":"AAeA;AAAA,EAEE;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,OAEH;AAEP,SAAS,sBAAsB;AAE/B,SAAS,kBAAkB;AAC3B,SAA8B,kCAAkC;AAChE,SAA6B,iCAAiC;AAC9D,SAAmC,uCAAuC;AAC1E,SAA6B,iCAAiC;AAE9D,SAAS,qBAAqB;AAIvB,SAAS,gBACd,aACA,kBACA,MACA,UACW;AACX,SAAO,qBAAqB,aAAa,kBAAkB,MAAM,QAAQ,EAAE;AAAA,IACzE,CAAC,KAAK,EAAE,UAAU,MAAM,MAAM;AAC5B,YAAM,aAAa,cAAc,aAAa,QAAQ;AACtD,YAAM,aAAa,wBAAwB,UAAU;AAErD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,UAAU,GAAG;AAAA,UACZ,GAAI,IAAI,UAAU;AAAA,UAClB,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AACF;AAEO,SAAS,mBAId,kBACA,MACA,UACW;AACX,SAAO,gBAAgB,eAAe,GAAG,kBAAkB,MAAM,QAAQ;AAC3E;AAEO,SAAS,gBACd,aACA,WACA,eAA4D,QACjD;AACX,SAAO;AAAA,IACL,UAAU;AAAA,IACV,GAAG,gBAAgB,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,YAAY,OAAO;AAAA,MACxE,OAAO,OAAO,UAAU,WAAW,GAAG,MAAM,KAAK,GAAG,MAAM,IAAI,KAAK;AAAA,IACrE,EAAE;AAAA,EACJ;AACF;AAEO,SAAS,sBACX,MACQ;AACX,SAAO,gBAAgB,eAAe,GAAG,GAAG,IAAI;AAClD;AAEO,SAAS,kBACd,aACA,aACA,eAAoC,CAAC,GAC1B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,WAAW;AAAA,IAAG,CAAC,CAAC,UAAU,CAAC,CAAwB,MACtF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,YAAY,GAAG,cAAc,GAAG,eAAe,GAAG,aAAa,EAAE;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,wBACX,MACQ;AACX,SAAO,kBAAkB,eAAe,GAAG,GAAG,IAAI;AACpD;AAEO,SAAS,iBACd,aACA,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAuB,MACnF;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL,EAAE,WAAW,GAAG,aAAa,QAAQ,cAAc,GAAG,YAAY,OAAO;AAAA,QACzE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,uBACd,aACA,kBACA,eAAyC,CAAC,GAC/B;AACX,SAAO;AAAA,IAAgB;AAAA,IAAa,CAAC,gBAAgB;AAAA,IAAG,CAAC,CAAC,eAAe,CAAC,CAAC,MACzE;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,qBAAqB;AAAA,UACrB,sBAAsB;AAAA,UACtB,yBAAyB;AAAA,UACzB,wBAAwB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,6BACX,MACQ;AACX,SAAO,uBAAuB,eAAe,GAAG,GAAG,IAAI;AACzD;AAEO,SAAS,oBACd,YACA,eAAmC,CAAC,GACzB;AACX,SAAO;AAAA,IAAmB,CAAC,UAAU;AAAA,IAAG,CAAC,CAAC,SAAS,CAAC,CAAC,MACnD;AAAA,MACE;AAAA,MACA,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,UACX,aAAa;AAAA,UACb,cAAc;AAAA,UACd,YAAY;AAAA,QACd;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,QACJ,CAAC,MACD,CAAC,MACC,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,MAAM;AAE7B,SAAS,mBACd,aACA,OAMW;AACX,SAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAG;AAAA,MACD;AAAA,MACA,CAAC,MAAM,MAAM,MAAM,WAAW,MAAM,MAAM;AAAA,MAC1C,CAAC;AAAA,QACC,EAAE,OAAO,MAAM,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,GAAG;AAAA,QAC9C,YAAY,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,QACnC,SAAS,EAAE,OAAO,GAAG,MAAM,KAAK;AAAA,MAClC,MAAM;AACJ,cAAM,CAAC,UAAU,WAAW,IAAI,WAAW,OAAO,MAAM,KAAK;AAC7D,cAAM,WAAW,gBAAgB;AACjC,cAAM,UAAU,gBAAgB,MAAM,QAAQ,EAAE,SAAS;AACzD,cAAM,OAAO,MAAM,QAAQ,EAAE,WAAW;AACxC,cAAM,WAAW,MAAM,CAAC,EAAE,OAAO,KAAK;AACtC,cAAM,QAAQ,GAAG,QAAQ,cAAc,UAAU,KAAK,GAAG,UAAU,IAAI;AACvE,cAAM,cAAc,GAAG,OAAO,QAAQ,IAAI,OAAO,OAAO,CAAC,MAAM,UAAU,KAAK,GAC5E,UAAU,IACZ;AACA,cAAM,mBAAmB;AACzB,cAAM,YAAY,QAAQ,KAAK,MAAM,WAAW,MAAM,gBAAgB;AACtE,cAAM,WAAW,aAAa;AAC9B,cAAM,UAAU,aAAa,MAAM,SAAS;AAE5C,eAAO,SAAS,IACZ,EAAE,SAAS,OAAO,IAClB;AAAA,UACE;AAAA,UACA,UAAU;AAAA;AAAA;AAAA,UAGV,UAAU;AAAA,UACV,aAAa,WAAW,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,cAAc,UAAU,IAAI,GAAG,UAAU,QAAQ,CAAC,GAAG,UAAU,IAAI;AAAA,UACnE,YAAY,WAAW,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,UAC5D,eAAe,UAAU,IAAI,GAAG,OAAO,QAAQ,CAAC,GAAG,OAAO,IAAI;AAAA,QAChE;AAAA,MACN;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,yBACX,MACQ;AACX,SAAO,mBAAmB,eAAe,GAAG,GAAG,IAAI;AACrD;AAEA,MAAM,eAAe,CAAC,YACpB,QACG;AAAA,EACC,CAAC,EAAE,SAAS,EAAE,OAAO,SAAS,SAAS,YAAY,cAAc,MAAM,EAAE,MACvE,GAAG,QAAQ,WAAW,EAAE,GAAG,QAAQ,QAAQ,CAAC,CAAC,MAAM,QAAQ;AAAA,IACzD;AAAA,EACF,CAAC,MAAM,UAAU,MAAM,YAAY,MACjC,SAAS,OAAO,cAAc,KAAK,IAAI,iBACzC;AACJ,EACC,OAAO,OAAO,EACd,KAAK;AAEH,SAAS,iBACd,aACA,OACW;AACX,SAAO,gBAAgB,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO;AAAA,IAC/D,WAAW,aAAa,MAAM;AAAA,EAChC,EAAE;AACJ;AAEO,SAAS,uBACX,MACQ;AACX,SAAO,iBAAiB,eAAe,GAAG,GAAG,IAAI;AACnD;AAEO,SAAS,oBACd,aACA,OACW;AACX,SAAO;AAAA,IACL;AAAA,IACA,CAAC,KAAK;AAAA,IACN,CAAC;AAAA,MACC,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,eAAe,CAAC;AAAA,QAChB,WAAW,CAAC;AAAA,MACd;AAAA,IACF,MAAM;AACJ,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA,YAAY,CAAC;AAAA,QACb,gBAAgB,CAAC;AAAA,QACjB;AAAA,QACA;AAAA,MACF,IAAI;AAEJ,aAAO;AAAA,QACL,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,YAAY,IAAI,UAAU,IAAI;AAAA,QAC9D,GAAI,cAAc,OAAO,CAAC,IAAI,EAAE,WAAW;AAAA,QAC3C,GAAI,iBAAiB,OAAO,CAAC,IAAI,EAAE,cAAc;AAAA,QACjD,GAAI,YAAY,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,KAAK,GAAG,SAAS,IAAI,GAAG;AAAA,QAC5E,GAAI,cAAc,SAAS,WAAW,IAAI,EAAE,eAAe,YAAY,IAAI,CAAC;AAAA,QAC5E,GAAI,UAAU,SAAS,QAAQ,IAAI,EAAE,WAAW,SAAS,IAAI,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,0BACX,MACQ;AACX,SAAO,oBAAoB,eAAe,GAAG,GAAG,IAAI;AACtD;","names":[]}
|
|
@@ -1,54 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
TextInputControlType,
|
|
4
|
-
TextAreaControlType,
|
|
5
|
-
ImageControlType,
|
|
6
|
-
LinkControlType,
|
|
7
|
-
copyColorData,
|
|
8
|
-
copyLinkData
|
|
2
|
+
copyRichTextData
|
|
9
3
|
} from "@makeswift/controls";
|
|
10
|
-
import { copyImageData } from "./image";
|
|
11
|
-
import {
|
|
12
|
-
copyListData,
|
|
13
|
-
ListControlType,
|
|
14
|
-
getListTranslatableData,
|
|
15
|
-
mergeListTranslatedData
|
|
16
|
-
} from "./list";
|
|
17
|
-
import {
|
|
18
|
-
copyShapeData,
|
|
19
|
-
ShapeControlType,
|
|
20
|
-
getShapeTranslatableData,
|
|
21
|
-
mergeShapeTranslatedData
|
|
22
|
-
} from "./shape";
|
|
23
|
-
import { copyStyleData, StyleControlType } from "./style";
|
|
24
|
-
import {
|
|
25
|
-
copySlotData,
|
|
26
|
-
mergeSlotControlTranslatedData,
|
|
27
|
-
mergeSlotData,
|
|
28
|
-
SlotControlType
|
|
29
|
-
} from "./slot";
|
|
30
4
|
import {
|
|
31
5
|
Types as PropControllerTypes,
|
|
32
6
|
mergeGridPropControllerTranslatedData
|
|
33
7
|
} from "@makeswift/prop-controllers";
|
|
8
|
+
import { isLegacyDescriptor } from "../prop-controllers/descriptors";
|
|
34
9
|
import { copy as propControllerCopy } from "../prop-controllers/copy";
|
|
35
|
-
import {
|
|
36
|
-
RichTextControlType,
|
|
37
|
-
copyRichTextData,
|
|
38
|
-
richTextDTOtoDAO
|
|
39
|
-
} from "./rich-text";
|
|
40
10
|
import { DELETED_PROP_CONTROLLER_TYPES } from "../prop-controllers";
|
|
41
|
-
import { richTextV2DescendentsToData } from "./rich-text-v2/dto";
|
|
42
|
-
import { copyRichTextV2Data } from "./rich-text-v2/copy";
|
|
43
|
-
import {
|
|
44
|
-
RichTextV2ControlType,
|
|
45
|
-
isRichTextV1Data
|
|
46
|
-
} from "./rich-text-v2/rich-text-v2";
|
|
47
|
-
import {
|
|
48
|
-
getRichTextV2TranslatableData,
|
|
49
|
-
mergeRichTextV2TranslatedData
|
|
50
|
-
} from "./rich-text-v2/translation";
|
|
51
11
|
function copy(definition, value, context) {
|
|
12
|
+
if (!isLegacyDescriptor(definition)) {
|
|
13
|
+
return definition.copyData(value, context);
|
|
14
|
+
}
|
|
52
15
|
switch (definition.type) {
|
|
53
16
|
case PropControllerTypes.Backgrounds:
|
|
54
17
|
case PropControllerTypes.Grid:
|
|
@@ -64,59 +27,28 @@ function copy(definition, value, context) {
|
|
|
64
27
|
case PropControllerTypes.ElementID:
|
|
65
28
|
return propControllerCopy(definition, value, context);
|
|
66
29
|
case DELETED_PROP_CONTROLLER_TYPES.RichText:
|
|
67
|
-
case RichTextControlType:
|
|
68
30
|
return copyRichTextData(value, context);
|
|
69
|
-
case RichTextV2ControlType:
|
|
70
|
-
return copyRichTextV2Data(
|
|
71
|
-
isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,
|
|
72
|
-
context
|
|
73
|
-
);
|
|
74
|
-
case ColorControlType:
|
|
75
|
-
return copyColorData(value, context);
|
|
76
|
-
case ImageControlType:
|
|
77
|
-
return copyImageData(value, context);
|
|
78
|
-
case LinkControlType:
|
|
79
|
-
return copyLinkData(value, context);
|
|
80
|
-
case ShapeControlType:
|
|
81
|
-
return copyShapeData(definition, value, context);
|
|
82
|
-
case ListControlType:
|
|
83
|
-
return copyListData(definition, value, context);
|
|
84
|
-
case StyleControlType:
|
|
85
|
-
return copyStyleData(value, context);
|
|
86
|
-
case SlotControlType:
|
|
87
|
-
return copySlotData(value, context);
|
|
88
31
|
default:
|
|
89
32
|
return value;
|
|
90
33
|
}
|
|
91
34
|
}
|
|
92
35
|
function merge(definition, a, b = a, context) {
|
|
36
|
+
if (!isLegacyDescriptor(definition)) {
|
|
37
|
+
return definition.mergeData(a, b, context);
|
|
38
|
+
}
|
|
93
39
|
switch (definition.type) {
|
|
94
|
-
case SlotControlType:
|
|
95
|
-
return mergeSlotData(a, b, context);
|
|
96
40
|
default:
|
|
97
41
|
return b;
|
|
98
42
|
}
|
|
99
43
|
}
|
|
100
44
|
function getTranslatableData(definition, data) {
|
|
45
|
+
if (!isLegacyDescriptor(definition)) {
|
|
46
|
+
return definition.getTranslatableData(data);
|
|
47
|
+
}
|
|
101
48
|
switch (definition.type) {
|
|
102
49
|
case PropControllerTypes.TextInput:
|
|
103
50
|
case PropControllerTypes.TextArea:
|
|
104
|
-
case TextInputControlType:
|
|
105
|
-
case TextAreaControlType:
|
|
106
51
|
return data;
|
|
107
|
-
case RichTextV2ControlType:
|
|
108
|
-
const richTextData = data;
|
|
109
|
-
if (isRichTextV1Data(richTextData))
|
|
110
|
-
return null;
|
|
111
|
-
return getRichTextV2TranslatableData(definition, richTextData);
|
|
112
|
-
case ListControlType:
|
|
113
|
-
if (data == null)
|
|
114
|
-
return null;
|
|
115
|
-
return getListTranslatableData(definition, data);
|
|
116
|
-
case ShapeControlType:
|
|
117
|
-
if (data == null)
|
|
118
|
-
return null;
|
|
119
|
-
return getShapeTranslatableData(definition, data);
|
|
120
52
|
default:
|
|
121
53
|
return null;
|
|
122
54
|
}
|
|
@@ -124,44 +56,17 @@ function getTranslatableData(definition, data) {
|
|
|
124
56
|
function mergeTranslatedData(definition, data, translatedData, context) {
|
|
125
57
|
if (data == null)
|
|
126
58
|
return data;
|
|
59
|
+
if (!isLegacyDescriptor(definition)) {
|
|
60
|
+
return definition.mergeTranslatedData(data, translatedData, context);
|
|
61
|
+
}
|
|
127
62
|
switch (definition.type) {
|
|
128
63
|
case PropControllerTypes.TextInput:
|
|
129
64
|
case PropControllerTypes.TextArea:
|
|
130
|
-
case TextInputControlType:
|
|
131
|
-
case TextAreaControlType:
|
|
132
65
|
if (translatedData == null)
|
|
133
66
|
return data;
|
|
134
67
|
return translatedData;
|
|
135
68
|
case PropControllerTypes.Grid:
|
|
136
69
|
return mergeGridPropControllerTranslatedData(data, context);
|
|
137
|
-
case SlotControlType:
|
|
138
|
-
return mergeSlotControlTranslatedData(data, context);
|
|
139
|
-
case RichTextV2ControlType:
|
|
140
|
-
if (translatedData == null)
|
|
141
|
-
return data;
|
|
142
|
-
return mergeRichTextV2TranslatedData(
|
|
143
|
-
definition,
|
|
144
|
-
data,
|
|
145
|
-
translatedData
|
|
146
|
-
);
|
|
147
|
-
case ListControlType:
|
|
148
|
-
if (translatedData == null)
|
|
149
|
-
return data;
|
|
150
|
-
return mergeListTranslatedData(
|
|
151
|
-
definition,
|
|
152
|
-
data,
|
|
153
|
-
translatedData,
|
|
154
|
-
context
|
|
155
|
-
);
|
|
156
|
-
case ShapeControlType:
|
|
157
|
-
if (translatedData == null)
|
|
158
|
-
return data;
|
|
159
|
-
return mergeShapeTranslatedData(
|
|
160
|
-
definition,
|
|
161
|
-
data,
|
|
162
|
-
translatedData,
|
|
163
|
-
context
|
|
164
|
-
);
|
|
165
70
|
default:
|
|
166
71
|
return data;
|
|
167
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import {\n ColorControlData,\n ColorControlDefinition,\n ColorControlType,\n TextInputControlData,\n TextInputControlDefinition,\n TextInputControlType,\n TextAreaControlData,\n TextAreaControlDefinition,\n TextAreaControlType,\n CheckboxControlData,\n CheckboxControlDefinition,\n NumberControlData,\n NumberControlDefinition,\n ComboboxControlData,\n ComboboxControlDefinition,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n ImageControlType,\n ImageControlData,\n ImageControlDefinition,\n LinkControlData,\n LinkControlDefinition,\n LinkControlType,\n copyColorData,\n copyLinkData,\n} from '@makeswift/controls'\n\nimport { copyImageData } from './image'\nimport {\n ListControlData,\n ListControlDefinition,\n copyListData,\n ListControlType,\n getListTranslatableData,\n mergeListTranslatedData,\n ListControlTranslationDto,\n} from './list'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport {\n ShapeControlData,\n ShapeControlDefinition,\n copyShapeData,\n ShapeControlType,\n getShapeTranslatableData,\n mergeShapeTranslatedData,\n ShapeControlTranslationDto,\n} from './shape'\nimport { copyStyleData, StyleControlData, StyleControlDefinition, StyleControlType } from './style'\nimport {\n copySlotData,\n mergeSlotControlTranslatedData,\n mergeSlotData,\n SlotControlData,\n SlotControlDefinition,\n SlotControlType,\n} from './slot'\n\nimport { Descriptor } from '../prop-controllers/descriptors'\nimport {\n GridPropControllerData,\n Types as PropControllerTypes,\n mergeGridPropControllerTranslatedData,\n} from '@makeswift/prop-controllers'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { CopyContext, Data, MergeContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n RichTextControlData,\n RichTextControlDefinition,\n RichTextControlType,\n copyRichTextData,\n richTextDTOtoDAO,\n} from './rich-text'\nimport { DELETED_PROP_CONTROLLER_TYPES, PropControllerDescriptor } from '../prop-controllers'\n\nimport { richTextV2DescendentsToData } from './rich-text-v2/dto'\nimport { copyRichTextV2Data } from './rich-text-v2/copy'\nimport {\n RichTextV2ControlData,\n RichTextV2ControlDefinition,\n RichTextV2ControlType,\n isRichTextV1Data,\n} from './rich-text-v2/rich-text-v2'\n\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport {\n RichTextV2ControlTranslationDto,\n getRichTextV2TranslatableData,\n mergeRichTextV2TranslatedData,\n} from './rich-text-v2/translation'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type ControlDefinition =\n | CheckboxControlDefinition\n | NumberControlDefinition\n | TextInputControlDefinition\n | TextAreaControlDefinition\n | SelectControlDefinition\n | ColorControlDefinition\n | IconRadioGroupControlDefinition\n | ImageControlDefinition\n | ComboboxControlDefinition\n | ShapeControlDefinition\n | ListControlDefinition<any>\n | LinkControlDefinition\n | SlotControlDefinition\n | ShapeControlDefinition\n | RichTextControlDefinition\n | RichTextV2ControlDefinition\n | StyleControlDefinition\n | StyleV2ControlDefinition\n | TypographyControlDefinition\n\nexport type ControlDefinitionData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? CheckboxControlData\n : T extends NumberControlDefinition\n ? NumberControlData\n : T extends TextInputControlDefinition\n ? TextInputControlData\n : T extends TextAreaControlDefinition\n ? TextAreaControlData\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorControlData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? ShapeControlData<T>\n : T extends ListControlDefinition\n ? ListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport function copy(definition: Descriptor | ControlDefinition, value: any, context: CopyContext) {\n switch (definition.type) {\n case PropControllerTypes.Backgrounds:\n case PropControllerTypes.Grid:\n case PropControllerTypes.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case PropControllerTypes.Image:\n case PropControllerTypes.Images:\n case PropControllerTypes.ResponsiveColor:\n case PropControllerTypes.TableFormFields:\n case PropControllerTypes.Table:\n case PropControllerTypes.Border:\n case PropControllerTypes.ElementID:\n return propControllerCopy(definition, value, context)\n case DELETED_PROP_CONTROLLER_TYPES.RichText:\n case RichTextControlType:\n return copyRichTextData(value, context)\n case RichTextV2ControlType:\n return copyRichTextV2Data(\n isRichTextV1Data(value) ? richTextV2DescendentsToData(richTextDTOtoDAO(value)) : value,\n context,\n )\n case ColorControlType:\n return copyColorData(value, context)\n case ImageControlType:\n return copyImageData(value, context)\n case LinkControlType:\n return copyLinkData(value, context)\n case ShapeControlType:\n return copyShapeData(definition, value, context)\n case ListControlType:\n return copyListData(definition, value, context)\n case StyleControlType:\n return copyStyleData(value, context)\n case SlotControlType:\n return copySlotData(value, context)\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n switch (definition.type) {\n case SlotControlType:\n return mergeSlotData(a as SlotControlData, b as SlotControlData, context)\n\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor | ControlDefinition, data: Data): Data {\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n return data\n\n case RichTextV2ControlType:\n const richTextData = data as RichTextV2ControlData | RichTextControlData\n\n if (isRichTextV1Data(richTextData)) return null\n\n return getRichTextV2TranslatableData(definition, richTextData as RichTextV2ControlData)\n\n case ListControlType:\n if (data == null) return null\n\n return getListTranslatableData(definition, data as ListControlData)\n\n case ShapeControlType:\n if (data == null) return null\n\n return getShapeTranslatableData(definition, data as ShapeControlData)\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n case TextInputControlType:\n case TextAreaControlType:\n if (translatedData == null) return data\n\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n case SlotControlType:\n return mergeSlotControlTranslatedData(data as SlotControlData, context)\n\n case RichTextV2ControlType:\n if (translatedData == null) return data\n\n return mergeRichTextV2TranslatedData(\n definition,\n data as RichTextV2ControlData,\n translatedData as RichTextV2ControlTranslationDto,\n )\n\n case ListControlType:\n if (translatedData == null) return data\n\n return mergeListTranslatedData(\n definition,\n data as ListControlData,\n translatedData as ListControlTranslationDto,\n context,\n )\n\n case ShapeControlType:\n if (translatedData == null) return data\n\n return mergeShapeTranslatedData(\n definition,\n data as ShapeControlData,\n translatedData as ShapeControlTranslationDto,\n context,\n )\n\n default:\n return data\n }\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/control.ts"],"sourcesContent":["import {\n copyRichTextData,\n type CopyContext,\n type Data,\n type MergeContext,\n type MergeTranslatableDataContext,\n} from '@makeswift/controls'\n\nimport {\n GridPropControllerData,\n Types as PropControllerTypes,\n mergeGridPropControllerTranslatedData,\n} from '@makeswift/prop-controllers'\n\nimport { Descriptor, isLegacyDescriptor } from '../prop-controllers/descriptors'\nimport { copy as propControllerCopy } from '../prop-controllers/copy'\nimport { DELETED_PROP_CONTROLLER_TYPES, PropControllerDescriptor } from '../prop-controllers'\n\nexport function copy(definition: Descriptor, value: any, context: CopyContext) {\n if (!isLegacyDescriptor(definition)) {\n return definition.copyData(value, context)\n }\n\n switch (definition.type) {\n case PropControllerTypes.Backgrounds:\n case PropControllerTypes.Grid:\n case PropControllerTypes.NavigationLinks:\n case PropControllerTypes.Link:\n case PropControllerTypes.Shadows:\n case PropControllerTypes.Image:\n case PropControllerTypes.Images:\n case PropControllerTypes.ResponsiveColor:\n case PropControllerTypes.TableFormFields:\n case PropControllerTypes.Table:\n case PropControllerTypes.Border:\n case PropControllerTypes.ElementID:\n return propControllerCopy(definition, value, context)\n\n case DELETED_PROP_CONTROLLER_TYPES.RichText:\n return copyRichTextData(value, context)\n\n default:\n return value\n }\n}\n\nexport function merge(\n definition: PropControllerDescriptor,\n a: Data,\n b: Data = a,\n context: MergeContext,\n): Data {\n if (!isLegacyDescriptor(definition)) {\n return definition.mergeData(a, b, context)\n }\n\n switch (definition.type) {\n default:\n return b\n }\n}\n\nexport function getTranslatableData(definition: Descriptor, data: Data): Data {\n if (!isLegacyDescriptor(definition)) {\n return definition.getTranslatableData(data)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n return data\n\n default:\n return null\n }\n}\n\nexport function mergeTranslatedData(\n definition: PropControllerDescriptor,\n data: Data,\n translatedData: Data,\n context: MergeTranslatableDataContext,\n): Data {\n if (data == null) return data\n if (!isLegacyDescriptor(definition)) {\n return definition.mergeTranslatedData(data, translatedData, context)\n }\n\n switch (definition.type) {\n case PropControllerTypes.TextInput:\n case PropControllerTypes.TextArea:\n if (translatedData == null) return data\n return translatedData\n\n case PropControllerTypes.Grid:\n return mergeGridPropControllerTranslatedData(data as GridPropControllerData, context)\n\n default:\n return data\n }\n}\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAKK;AAEP;AAAA,EAEE,SAAS;AAAA,EACT;AAAA,OACK;AAEP,SAAqB,0BAA0B;AAC/C,SAAS,QAAQ,0BAA0B;AAC3C,SAAS,qCAA+D;AAEjE,SAAS,KAAK,YAAwB,OAAY,SAAsB;AAC7E,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,WAAO,WAAW,SAAS,OAAO,OAAO;AAAA,EAC3C;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,aAAO,mBAAmB,YAAY,OAAO,OAAO;AAAA,IAEtD,KAAK,8BAA8B;AACjC,aAAO,iBAAiB,OAAO,OAAO;AAAA,IAExC;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,MACd,YACA,GACA,IAAU,GACV,SACM;AACN,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,WAAO,WAAW,UAAU,GAAG,GAAG,OAAO;AAAA,EAC3C;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,oBAAoB,YAAwB,MAAkB;AAC5E,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,WAAO,WAAW,oBAAoB,IAAI;AAAA,EAC5C;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,oBACd,YACA,MACA,gBACA,SACM;AACN,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,CAAC,mBAAmB,UAAU,GAAG;AACnC,WAAO,WAAW,oBAAoB,MAAM,gBAAgB,OAAO;AAAA,EACrE;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,oBAAoB;AAAA,IACzB,KAAK,oBAAoB;AACvB,UAAI,kBAAkB;AAAM,eAAO;AACnC,aAAO;AAAA,IAET,KAAK,oBAAoB;AACvB,aAAO,sCAAsC,MAAgC,OAAO;AAAA,IAEtF;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
@@ -1,12 +1,84 @@
|
|
|
1
1
|
export * from "./control";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import {
|
|
3
|
+
ControlDefinition,
|
|
4
|
+
Checkbox,
|
|
5
|
+
CheckboxDefinition,
|
|
6
|
+
Color,
|
|
7
|
+
ColorDefinition,
|
|
8
|
+
Combobox,
|
|
9
|
+
ComboboxDefinition,
|
|
10
|
+
IconRadioGroupDefinition,
|
|
11
|
+
unstable_IconRadioGroup,
|
|
12
|
+
Image,
|
|
13
|
+
ImageDefinition,
|
|
14
|
+
List,
|
|
15
|
+
ListDefinition,
|
|
16
|
+
ListControl,
|
|
17
|
+
Shape,
|
|
18
|
+
ShapeDefinition,
|
|
19
|
+
ShapeControl,
|
|
20
|
+
Number,
|
|
21
|
+
NumberDefinition,
|
|
22
|
+
TextInput,
|
|
23
|
+
TextInputDefinition,
|
|
24
|
+
TextArea,
|
|
25
|
+
TextAreaDefinition,
|
|
26
|
+
Select,
|
|
27
|
+
SelectDefinition,
|
|
28
|
+
Style,
|
|
29
|
+
StyleDefinition,
|
|
30
|
+
StyleControl,
|
|
31
|
+
unstable_Typography,
|
|
32
|
+
unstable_TypographyDefinition
|
|
33
|
+
} from "@makeswift/controls";
|
|
34
|
+
import { Link, LinkDefinition } from "./link";
|
|
35
|
+
import { RichTextV1Definition, RichTextV1Control } from "./rich-text";
|
|
36
|
+
import { RichText, RichTextV2Definition, RichTextV2Control } from "./rich-text-v2";
|
|
37
|
+
import { Slot, SlotDefinition, SlotControl } from "./slot";
|
|
38
|
+
import { unstable_StyleV2, StyleV2Definition, StyleV2Control } from "./style-v2/style-v2";
|
|
39
|
+
export {
|
|
40
|
+
Checkbox,
|
|
41
|
+
CheckboxDefinition,
|
|
42
|
+
Color,
|
|
43
|
+
ColorDefinition,
|
|
44
|
+
Combobox,
|
|
45
|
+
ComboboxDefinition,
|
|
46
|
+
ControlDefinition,
|
|
47
|
+
IconRadioGroupDefinition,
|
|
48
|
+
Image,
|
|
49
|
+
ImageDefinition,
|
|
50
|
+
Link,
|
|
51
|
+
LinkDefinition,
|
|
52
|
+
List,
|
|
53
|
+
ListControl,
|
|
54
|
+
ListDefinition,
|
|
55
|
+
Number,
|
|
56
|
+
NumberDefinition,
|
|
57
|
+
RichText,
|
|
58
|
+
RichTextV1Control,
|
|
59
|
+
RichTextV1Definition,
|
|
60
|
+
RichTextV2Control,
|
|
61
|
+
RichTextV2Definition,
|
|
62
|
+
Select,
|
|
63
|
+
SelectDefinition,
|
|
64
|
+
Shape,
|
|
65
|
+
ShapeControl,
|
|
66
|
+
ShapeDefinition,
|
|
67
|
+
Slot,
|
|
68
|
+
SlotControl,
|
|
69
|
+
SlotDefinition,
|
|
70
|
+
Style,
|
|
71
|
+
StyleControl,
|
|
72
|
+
StyleDefinition,
|
|
73
|
+
StyleV2Control,
|
|
74
|
+
StyleV2Definition,
|
|
75
|
+
TextArea,
|
|
76
|
+
TextAreaDefinition,
|
|
77
|
+
TextInput,
|
|
78
|
+
TextInputDefinition,
|
|
79
|
+
unstable_IconRadioGroup,
|
|
80
|
+
unstable_StyleV2,
|
|
81
|
+
unstable_Typography,
|
|
82
|
+
unstable_TypographyDefinition
|
|
83
|
+
};
|
|
12
84
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\nexport
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/index.ts"],"sourcesContent":["export * from './control'\n\nexport {\n ControlDefinition,\n Checkbox,\n CheckboxDefinition,\n Color,\n ColorDefinition,\n Combobox,\n ComboboxDefinition,\n IconRadioGroupDefinition,\n type IconRadioGroupIcon,\n unstable_IconRadioGroup,\n Image,\n ImageDefinition,\n List,\n ListDefinition,\n ListControl,\n Shape,\n ShapeDefinition,\n ShapeControl,\n Number,\n NumberDefinition,\n TextInput,\n TextInputDefinition,\n TextArea,\n TextAreaDefinition,\n Select,\n SelectDefinition,\n Style,\n StyleDefinition,\n type StyleProperty,\n StyleControl,\n unstable_Typography,\n unstable_TypographyDefinition,\n} from '@makeswift/controls'\n\nexport { Link, LinkDefinition } from './link'\nexport { RichTextV1Definition, RichTextV1Control } from './rich-text'\nexport { RichText, RichTextV2Definition, RichTextV2Control } from './rich-text-v2'\nexport { Slot, SlotDefinition, SlotControl } from './slot'\nexport { unstable_StyleV2, StyleV2Definition, StyleV2Control } from './style-v2/style-v2'\n"],"mappings":"AAAA,cAAc;AAEd;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,MAAM,sBAAsB;AACrC,SAAS,sBAAsB,yBAAyB;AACxD,SAAS,UAAU,sBAAsB,yBAAyB;AAClE,SAAS,MAAM,gBAAgB,mBAAmB;AAClD,SAAS,kBAAkB,mBAAmB,sBAAsB;","names":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LinkDefinition as BaseLinkDefinition } from "@makeswift/controls";
|
|
2
|
+
class LinkDefinition extends BaseLinkDefinition {
|
|
3
|
+
static deserialize(data) {
|
|
4
|
+
if (data.type !== LinkDefinition.type) {
|
|
5
|
+
throw new Error(`Link: expected type ${LinkDefinition.type}, got ${data.type}`);
|
|
6
|
+
}
|
|
7
|
+
const { config } = LinkDefinition.schema.definition.parse(data);
|
|
8
|
+
return Link(config);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
function Link(config) {
|
|
12
|
+
return new LinkDefinition(config ?? {});
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
Link,
|
|
16
|
+
LinkDefinition
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=link.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/controls/link.ts"],"sourcesContent":["import { type MouseEvent } from 'react'\nimport { type DeserializedRecord, LinkDefinition as BaseLinkDefinition } from '@makeswift/controls'\n\nexport class LinkDefinition extends BaseLinkDefinition<MouseEvent<Element>> {\n static deserialize(data: DeserializedRecord): LinkDefinition {\n if (data.type !== LinkDefinition.type) {\n throw new Error(`Link: expected type ${LinkDefinition.type}, got ${data.type}`)\n }\n\n const { config } = LinkDefinition.schema.definition.parse(data)\n return Link(config)\n }\n}\n\nexport function Link(config?: { label?: string }): LinkDefinition {\n return new LinkDefinition(config ?? {})\n}\n"],"mappings":"AACA,SAAkC,kBAAkB,0BAA0B;AAEvE,MAAM,uBAAuB,mBAAwC;AAAA,EAC1E,OAAO,YAAY,MAA0C;AAC3D,QAAI,KAAK,SAAS,eAAe,MAAM;AACrC,YAAM,IAAI,MAAM,uBAAuB,eAAe,IAAI,SAAS,KAAK,IAAI,EAAE;AAAA,IAChF;AAEA,UAAM,EAAE,OAAO,IAAI,eAAe,OAAO,WAAW,MAAM,IAAI;AAC9D,WAAO,KAAK,MAAM;AAAA,EACpB;AACF;AAEO,SAAS,KAAK,QAA6C;AAChE,SAAO,IAAI,eAAe,UAAU,CAAC,CAAC;AACxC;","names":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { BuilderEditMode } from "../../state/modules/builder-edit-mode";
|
|
2
|
+
import {
|
|
3
|
+
ControlInstance,
|
|
4
|
+
richTextDAOToDTO
|
|
5
|
+
} from "@makeswift/controls";
|
|
6
|
+
class RichTextControl extends ControlInstance {
|
|
7
|
+
static CHANGE_BUILDER_EDIT_MODE = "CHANGE_BUILDER_EDIT_MODE";
|
|
8
|
+
static INITIALIZE_EDITOR = "INITIALIZE_EDITOR";
|
|
9
|
+
static CHANGE_EDITOR_VALUE = "CHANGE_EDITOR_VALUE";
|
|
10
|
+
static FOCUS = "FOCUS";
|
|
11
|
+
static BLUR = "BLUR";
|
|
12
|
+
static UNDO = "UNDO";
|
|
13
|
+
static REDO = "REDO";
|
|
14
|
+
static CHANGE_BOX_MODEL = "CHANGE_BOX_MODEL";
|
|
15
|
+
editor = null;
|
|
16
|
+
child(_key) {
|
|
17
|
+
return void 0;
|
|
18
|
+
}
|
|
19
|
+
recv = (message) => {
|
|
20
|
+
if (!this.editor)
|
|
21
|
+
return;
|
|
22
|
+
switch (message.type) {
|
|
23
|
+
case RichTextControl.CHANGE_BUILDER_EDIT_MODE: {
|
|
24
|
+
switch (message.payload.editMode) {
|
|
25
|
+
case BuilderEditMode.BUILD:
|
|
26
|
+
case BuilderEditMode.INTERACT:
|
|
27
|
+
this.editor.deselectAndBlur();
|
|
28
|
+
}
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
case RichTextControl.FOCUS: {
|
|
32
|
+
this.editor.focusAndSelectAll();
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
setSlateEditor(editor) {
|
|
38
|
+
this.editor = editor;
|
|
39
|
+
this.sendMessage({
|
|
40
|
+
type: RichTextControl.INITIALIZE_EDITOR,
|
|
41
|
+
value: richTextDAOToDTO(editor.children, editor.selection)
|
|
42
|
+
});
|
|
43
|
+
const _onChange = editor.onChange;
|
|
44
|
+
this.editor.onChange = (options) => {
|
|
45
|
+
_onChange(options);
|
|
46
|
+
if (options?.operation != null) {
|
|
47
|
+
this.sendMessage({
|
|
48
|
+
type: RichTextControl.CHANGE_EDITOR_VALUE,
|
|
49
|
+
value: richTextDAOToDTO(editor.children, editor.selection)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
focus() {
|
|
55
|
+
this.sendMessage({ type: RichTextControl.FOCUS });
|
|
56
|
+
}
|
|
57
|
+
blur() {
|
|
58
|
+
this.sendMessage({ type: RichTextControl.BLUR });
|
|
59
|
+
}
|
|
60
|
+
undo() {
|
|
61
|
+
this.sendMessage({ type: RichTextControl.UNDO });
|
|
62
|
+
}
|
|
63
|
+
redo() {
|
|
64
|
+
this.sendMessage({ type: RichTextControl.REDO });
|
|
65
|
+
}
|
|
66
|
+
changeBoxModel(boxModel) {
|
|
67
|
+
this.sendMessage({
|
|
68
|
+
type: RichTextControl.CHANGE_BOX_MODEL,
|
|
69
|
+
payload: { boxModel }
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export {
|
|
74
|
+
RichTextControl
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/control.ts"],"sourcesContent":["import { Editor } from 'slate'\n\nimport { BuilderEditMode } from '../../state/modules/builder-edit-mode'\n\nimport {\n ControlInstance,\n richTextDAOToDTO,\n type BoxModel,\n type RichTextValue,\n} from '@makeswift/controls'\n\ntype ChangeBuilderEditModeMessage = {\n type: typeof RichTextControl.CHANGE_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype InitializeEditorMessage = {\n type: typeof RichTextControl.INITIALIZE_EDITOR\n value: RichTextValue\n}\n\ntype ChangeEditorValueMessage = {\n type: typeof RichTextControl.CHANGE_EDITOR_VALUE\n value: RichTextValue\n}\n\ntype FocusMessage = {\n type: typeof RichTextControl.FOCUS\n}\n\ntype BlurMessage = {\n type: typeof RichTextControl.BLUR\n}\n\ntype UndoMessage = {\n type: typeof RichTextControl.UNDO\n}\n\ntype RedoMessage = {\n type: typeof RichTextControl.REDO\n}\n\ntype BoxModelChangeMessage = {\n type: typeof RichTextControl.CHANGE_BOX_MODEL\n payload: { boxModel: BoxModel | null }\n}\n\ntype Message =\n | ChangeBuilderEditModeMessage\n | InitializeEditorMessage\n | ChangeEditorValueMessage\n | FocusMessage\n | BlurMessage\n | UndoMessage\n | RedoMessage\n | BoxModelChangeMessage\n\nexport class RichTextControl extends ControlInstance<Message> {\n static readonly CHANGE_BUILDER_EDIT_MODE = 'CHANGE_BUILDER_EDIT_MODE'\n static readonly INITIALIZE_EDITOR = 'INITIALIZE_EDITOR'\n static readonly CHANGE_EDITOR_VALUE = 'CHANGE_EDITOR_VALUE'\n static readonly FOCUS = 'FOCUS'\n static readonly BLUR = 'BLUR'\n static readonly UNDO = 'UNDO'\n static readonly REDO = 'REDO'\n static readonly CHANGE_BOX_MODEL = 'CHANGE_BOX_MODEL'\n\n private editor: Editor | null = null\n\n child(_key: string): ControlInstance | undefined {\n return undefined\n }\n\n recv = (message: Message): void => {\n if (!this.editor) return\n\n switch (message.type) {\n case RichTextControl.CHANGE_BUILDER_EDIT_MODE: {\n switch (message.payload.editMode) {\n case BuilderEditMode.BUILD:\n case BuilderEditMode.INTERACT:\n this.editor.deselectAndBlur()\n }\n break\n }\n\n case RichTextControl.FOCUS: {\n this.editor.focusAndSelectAll()\n break\n }\n }\n }\n\n setSlateEditor(editor: Editor) {\n this.editor = editor\n\n this.sendMessage({\n type: RichTextControl.INITIALIZE_EDITOR,\n value: richTextDAOToDTO(editor.children, editor.selection),\n })\n\n const _onChange = editor.onChange\n this.editor.onChange = options => {\n _onChange(options)\n\n // if onChange is local then it will include an operation(s)\n // that is the only case in which we want to push updates\n // this prevent infinite loops that can occur when collaborating\n if (options?.operation != null) {\n this.sendMessage({\n type: RichTextControl.CHANGE_EDITOR_VALUE,\n value: richTextDAOToDTO(editor.children, editor.selection),\n })\n }\n }\n }\n\n focus() {\n this.sendMessage({ type: RichTextControl.FOCUS })\n }\n\n blur() {\n this.sendMessage({ type: RichTextControl.BLUR })\n }\n\n undo() {\n this.sendMessage({ type: RichTextControl.UNDO })\n }\n\n redo() {\n this.sendMessage({ type: RichTextControl.REDO })\n }\n\n changeBoxModel(boxModel: BoxModel | null): void {\n this.sendMessage({\n type: RichTextControl.CHANGE_BOX_MODEL,\n payload: { boxModel },\n })\n }\n}\n"],"mappings":"AAEA,SAAS,uBAAuB;AAEhC;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAgDA,MAAM,wBAAwB,gBAAyB;AAAA,EAC5D,OAAgB,2BAA2B;AAAA,EAC3C,OAAgB,oBAAoB;AAAA,EACpC,OAAgB,sBAAsB;AAAA,EACtC,OAAgB,QAAQ;AAAA,EACxB,OAAgB,OAAO;AAAA,EACvB,OAAgB,OAAO;AAAA,EACvB,OAAgB,OAAO;AAAA,EACvB,OAAgB,mBAAmB;AAAA,EAE3B,SAAwB;AAAA,EAEhC,MAAM,MAA2C;AAC/C,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,CAAC,YAA2B;AACjC,QAAI,CAAC,KAAK;AAAQ;AAElB,YAAQ,QAAQ,MAAM;AAAA,MACpB,KAAK,gBAAgB,0BAA0B;AAC7C,gBAAQ,QAAQ,QAAQ,UAAU;AAAA,UAChC,KAAK,gBAAgB;AAAA,UACrB,KAAK,gBAAgB;AACnB,iBAAK,OAAO,gBAAgB;AAAA,QAChC;AACA;AAAA,MACF;AAAA,MAEA,KAAK,gBAAgB,OAAO;AAC1B,aAAK,OAAO,kBAAkB;AAC9B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,eAAe,QAAgB;AAC7B,SAAK,SAAS;AAEd,SAAK,YAAY;AAAA,MACf,MAAM,gBAAgB;AAAA,MACtB,OAAO,iBAAiB,OAAO,UAAU,OAAO,SAAS;AAAA,IAC3D,CAAC;AAED,UAAM,YAAY,OAAO;AACzB,SAAK,OAAO,WAAW,aAAW;AAChC,gBAAU,OAAO;AAKjB,UAAI,SAAS,aAAa,MAAM;AAC9B,aAAK,YAAY;AAAA,UACf,MAAM,gBAAgB;AAAA,UACtB,OAAO,iBAAiB,OAAO,UAAU,OAAO,SAAS;AAAA,QAC3D,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EAEA,QAAQ;AACN,SAAK,YAAY,EAAE,MAAM,gBAAgB,MAAM,CAAC;AAAA,EAClD;AAAA,EAEA,OAAO;AACL,SAAK,YAAY,EAAE,MAAM,gBAAgB,KAAK,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO;AACL,SAAK,YAAY,EAAE,MAAM,gBAAgB,KAAK,CAAC;AAAA,EACjD;AAAA,EAEA,OAAO;AACL,SAAK,YAAY,EAAE,MAAM,gBAAgB,KAAK,CAAC;AAAA,EACjD;AAAA,EAEA,eAAe,UAAiC;AAC9C,SAAK,YAAY;AAAA,MACf,MAAM,gBAAgB;AAAA,MACtB,SAAS,EAAE,SAAS;AAAA,IACtB,CAAC;AAAA,EACH;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/controls/rich-text/index.ts"],"sourcesContent":["export * from './
|
|
1
|
+
{"version":3,"sources":["../../../../src/controls/rich-text/index.ts"],"sourcesContent":["export * from './rich-text'\n"],"mappings":"AAAA,cAAc;","names":[]}
|