@gxpl/sdk 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist → lib}/index.d.ts +3 -4
- package/lib/sdk/FontFaceGenerator/FontFaceGenerator.js +28 -0
- package/lib/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.js +221 -0
- package/lib/sdk/VideoDecoder/VideoDecoder.js +184 -0
- package/{dist → lib}/sdk/schemas/article/Article.schema.d.ts +12 -12
- package/{dist → lib}/sdk/schemas/article/ItemBase.schema.d.ts +10 -10
- package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.d.ts +30 -30
- package/{dist → lib}/sdk/schemas/article/Section.schema.d.ts +3 -3
- package/{dist → lib}/sdk/types/component/Component.d.ts +1 -1
- package/{dist → lib}/sdk/types/keyframe/Keyframe.d.ts +1 -1
- package/lib/sdk/types/project/Meta.js +2 -0
- package/lib/sdk/types/project/Page.js +2 -0
- package/lib/sdk/types/project/Project.js +2 -0
- package/lib/sdk-nextjs/common/useCurrentLayout.js +42 -0
- package/lib/sdk-nextjs/common/useExemplary.js +13 -0
- package/lib/sdk-nextjs/common/useItemFXData.js +36 -0
- package/lib/sdk-nextjs/common/useKeyframeValue.js +75 -0
- package/lib/sdk-nextjs/common/useRegisterResize.js +22 -0
- package/lib/sdk-nextjs/components/Article.js +41 -0
- package/lib/sdk-nextjs/components/ArticleWrapper.js +12 -0
- package/lib/sdk-nextjs/components/Head.js +32 -0
- package/lib/sdk-nextjs/components/Page.js +20 -0
- package/{dist → lib}/sdk-nextjs/components/ScrollPlaybackVideo.d.ts +1 -1
- package/lib/sdk-nextjs/components/ScrollPlaybackVideo.js +46 -0
- package/lib/sdk-nextjs/components/Section/Section.js +85 -0
- package/lib/sdk-nextjs/components/Section/SectionImage.js +24 -0
- package/lib/sdk-nextjs/components/Section/SectionVideo.js +91 -0
- package/lib/sdk-nextjs/components/Section/useSectionHeightMap.js +20 -0
- package/lib/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.js +120 -0
- package/lib/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.js +24 -0
- package/lib/sdk-nextjs/components/items/ComponentItem/ComponentItem.js +51 -0
- package/lib/sdk-nextjs/components/items/ComponentItem/useComponentItem.js +25 -0
- package/lib/sdk-nextjs/components/items/CompoundItem/CompoundChild.js +102 -0
- package/lib/sdk-nextjs/components/items/CompoundItem/CompoundItem.js +53 -0
- package/lib/sdk-nextjs/components/items/CompoundItem/useCompoundItem.js +16 -0
- package/lib/sdk-nextjs/components/items/CustomItem/CustomItem.js +40 -0
- package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.d.ts +2 -2
- package/lib/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.js +170 -0
- package/lib/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.js +166 -0
- package/lib/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.js +29 -0
- package/lib/sdk-nextjs/components/items/FileItem/ImageItem.js +140 -0
- package/lib/sdk-nextjs/components/items/FileItem/VideoItem.js +227 -0
- package/{dist → lib}/sdk-nextjs/components/items/FileItem/useFileItem.d.ts +1 -1
- package/lib/sdk-nextjs/components/items/FileItem/useFileItem.js +48 -0
- package/lib/sdk-nextjs/components/items/GroupItem/GroupItem.js +55 -0
- package/lib/sdk-nextjs/components/items/GroupItem/useGroupItem.js +22 -0
- package/lib/sdk-nextjs/components/items/Item.js +175 -0
- package/{dist → lib}/sdk-nextjs/components/items/LinkWrapper.d.ts +1 -1
- package/lib/sdk-nextjs/components/items/LinkWrapper.js +27 -0
- package/lib/sdk-nextjs/components/items/RectangleItem/RectangleItem.js +130 -0
- package/lib/sdk-nextjs/components/items/RectangleItem/useRectangleItem.js +54 -0
- package/lib/sdk-nextjs/components/items/RichTextItem/RichTextItem.js +83 -0
- package/lib/sdk-nextjs/components/items/RichTextItem/useRichTextItem.js +12 -0
- package/lib/sdk-nextjs/components/items/RichTextWrapper.js +10 -0
- package/lib/sdk-nextjs/components/items/itemsMap.js +28 -0
- package/lib/sdk-nextjs/components/items/useDraggable.js +177 -0
- package/lib/sdk-nextjs/components/items/useItemAngle.js +10 -0
- package/lib/sdk-nextjs/components/items/useItemArea.js +21 -0
- package/lib/sdk-nextjs/components/items/useItemPointerEvents.js +23 -0
- package/lib/sdk-nextjs/components/items/useItemScale.js +12 -0
- package/lib/sdk-nextjs/components/items/useItemTriggers.js +16 -0
- package/lib/sdk-nextjs/components/items/useRichTextItemValues.js +38 -0
- package/lib/sdk-nextjs/components/items/useSizing.js +22 -0
- package/lib/sdk-nextjs/components/items/useStickyItemTop.js +17 -0
- package/lib/sdk-nextjs/components/useLayoutContext.js +9 -0
- package/{dist → lib}/sdk-nextjs/interactions/CSSPropertyNameMap.d.ts +2 -2
- package/lib/sdk-nextjs/interactions/CSSPropertyNameMap.js +38 -0
- package/lib/sdk-nextjs/interactions/InteractionsRegistry.js +355 -0
- package/lib/sdk-nextjs/interactions/ItemInteractionCtrl.js +72 -0
- package/lib/sdk-nextjs/interactions/getTransition.js +20 -0
- package/{dist → lib}/sdk-nextjs/interactions/types.d.ts +3 -3
- package/lib/sdk-nextjs/interactions/useItemInteractionCtrl.js +16 -0
- package/{dist → lib}/sdk-nextjs/provider/ArticleRectContext.d.ts +1 -1
- package/lib/sdk-nextjs/provider/ArticleRectContext.js +5 -0
- package/{dist → lib}/sdk-nextjs/provider/CntrlContext.d.ts +1 -1
- package/lib/sdk-nextjs/provider/CntrlContext.js +6 -0
- package/lib/sdk-nextjs/provider/CntrlProvider.js +10 -0
- package/lib/sdk-nextjs/provider/CntrlSdkContext.js +76 -0
- package/lib/sdk-nextjs/provider/CustomItemRegistry.js +16 -0
- package/{dist → lib}/sdk-nextjs/provider/CustomSectionRegistry.d.ts +1 -1
- package/lib/sdk-nextjs/provider/CustomSectionRegistry.js +21 -0
- package/{dist → lib}/sdk-nextjs/provider/InteractionsContext.d.ts +1 -1
- package/lib/sdk-nextjs/provider/InteractionsContext.js +52 -0
- package/{dist → lib}/sdk-nextjs/provider/Keyframes.d.ts +1 -1
- package/lib/sdk-nextjs/provider/Keyframes.js +12 -0
- package/lib/sdk-nextjs/provider/KeyframesContext.d.ts +2 -0
- package/lib/sdk-nextjs/provider/KeyframesContext.js +6 -0
- package/lib/sdk-nextjs/provider/LayoutContext.d.ts +1 -0
- package/lib/sdk-nextjs/provider/LayoutContext.js +5 -0
- package/{dist → lib}/sdk-nextjs/provider/WebGLContextManagerContext.d.ts +1 -1
- package/lib/sdk-nextjs/provider/WebGLContextManagerContext.js +6 -0
- package/lib/sdk-nextjs/provider/defaultContext.js +9 -0
- package/lib/sdk-nextjs/provider/useCntrlContext.js +9 -0
- package/lib/sdk-nextjs/utils/Animator/Animator.js +443 -0
- package/lib/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.js +88 -0
- package/lib/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.js +18 -0
- package/lib/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.js +14 -0
- package/lib/sdk-nextjs/utils/EventEmitter.js +37 -0
- package/lib/sdk-nextjs/utils/RichTextConverter/RichTextConverter.js +288 -0
- package/lib/sdk-nextjs/utils/ScaleAnchorMap.js +15 -0
- package/lib/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.js +64 -0
- package/lib/sdk-nextjs/utils/Youtube/YoutubeIframeApi.js +12 -0
- package/lib/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.js +13 -0
- package/lib/sdk-nextjs/utils/areFillsVisible/areFillsVisible.js +22 -0
- package/lib/sdk-nextjs/utils/binSearchInsertAt.js +35 -0
- package/lib/sdk-nextjs/utils/checkOverflowClipSupport.js +18 -0
- package/lib/sdk-nextjs/utils/effects/useImageFx.js +114 -0
- package/lib/sdk-nextjs/utils/effects/useVideoFx.js +117 -0
- package/lib/sdk-nextjs/utils/getAnchoredItemTop.js +14 -0
- package/lib/sdk-nextjs/utils/getCompoundBoundaryStyles.js +60 -0
- package/lib/sdk-nextjs/utils/getFill.js +42 -0
- package/lib/sdk-nextjs/utils/getFontFamilyValue.js +6 -0
- package/lib/sdk-nextjs/utils/getItemTopStyle.js +17 -0
- package/lib/sdk-nextjs/utils/getStyleFromItemStateAndParams.js +8 -0
- package/lib/sdk-nextjs/utils/getValidYoutubeUrl.js +33 -0
- package/lib/sdk-nextjs/utils/isItemType.js +6 -0
- package/lib/sdk-nextjs/utils/rangeMap.js +11 -0
- package/lib/sdk-nextjs/utils/useElementRect.js +24 -0
- package/lib/utils.js +30 -0
- package/package.json +3 -3
- package/dist/cli.js +0 -64
- package/dist/index.js +0 -7765
- package/dist/index.mjs +0 -7748
- package/dist/sdk/Client/Client.test.d.ts +0 -1
- package/dist/sdk/Client/__mock__/articleMock.d.ts +0 -2
- package/dist/sdk/Client/__mock__/keyframesMock.d.ts +0 -2
- package/dist/sdk/Client/__mock__/projectMock.d.ts +0 -2
- package/dist/sdk/Components/ControlSlider/ControlSlider.d.ts +0 -90
- package/dist/sdk/Components/ControlSlider/ControlSliderComponent.d.ts +0 -519
- package/dist/sdk/Components/ImageRevealSlider/ControlImageRevealSliderComponent.d.ts +0 -209
- package/dist/sdk/Components/ImageRevealSlider/ImageRevealSlider.d.ts +0 -38
- package/dist/sdk/Components/components.d.ts +0 -2
- package/dist/sdk/Components/helpers/RichTextRenderer/RichTextRenderer.d.ts +0 -6
- package/dist/sdk/Components/helpers/SvgImage/SvgImage.d.ts +0 -9
- package/dist/sdk/Components/utils/scalingValue.d.ts +0 -1
- package/dist/sdk/FontFaceGenerator/FontFaceGenerator.test.d.ts +0 -1
- package/dist/sdk/schemas/shared/FillLayer.schema.d.ts +0 -186
- package/dist/sdk-nextjs/components/LayoutStyle.d.ts +0 -9
- package/dist/sdk-nextjs/components/Section/useSectionColor.d.ts +0 -4
- package/dist/sdk-nextjs/provider/KeyframesContext.d.ts +0 -2
- package/dist/sdk-nextjs/provider/LayoutContext.d.ts +0 -1
- package/dist/sdk-nextjs/utils/StickyManager/StickyManager.d.ts +0 -10
- package/dist/sdk-nextjs/utils/areFillsVisible/areFillsVisible.test.d.ts +0 -1
- package/dist/sdk-nextjs/utils/castObject.d.ts +0 -5
- package/dist/sdk-nextjs/utils/getInvertedRanges.d.ts +0 -10
- package/dist/sdk.css +0 -1
- /package/{dist → lib}/cli.d.ts +0 -0
- /package/{dist → lib}/sdk/Client/Client.d.ts +0 -0
- /package/{dist → lib}/sdk/Client/Client.js +0 -0
- /package/{dist → lib}/sdk/FontFaceGenerator/FontFaceGenerator.d.ts +0 -0
- /package/{dist → lib}/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.d.ts +0 -0
- /package/{dist → lib}/sdk/VideoDecoder/VideoDecoder.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/Article.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/FillLayer.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/FillLayer.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/Interaction.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/Interaction.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/Item.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/Item.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/ItemArea.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/ItemArea.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/ItemBase.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/ItemState.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/article/ItemState.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/article/Section.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/project/Layout.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/project/Layout.schema.js +0 -0
- /package/{dist → lib}/sdk/schemas/project/Project.schema.d.ts +0 -0
- /package/{dist → lib}/sdk/schemas/project/Project.schema.js +0 -0
- /package/{dist → lib}/sdk/types/article/Article.d.ts +0 -0
- /package/{dist/sdk/types/article/FX.js → lib/sdk/types/article/Article.js} +0 -0
- /package/{dist → lib}/sdk/types/article/ArticleItemType.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/ArticleItemType.js +0 -0
- /package/{dist → lib}/sdk/types/article/CompoundSettings.d.ts +0 -0
- /package/{dist/sdk/types/article/Interaction.js → lib/sdk/types/article/CompoundSettings.js} +0 -0
- /package/{dist → lib}/sdk/types/article/FX.d.ts +0 -0
- /package/{dist/sdk/types/project/Layout.js → lib/sdk/types/article/FX.js} +0 -0
- /package/{dist → lib}/sdk/types/article/Interaction.d.ts +0 -0
- /package/{dist/sdk/types/project/Meta.js → lib/sdk/types/article/Interaction.js} +0 -0
- /package/{dist → lib}/sdk/types/article/Item.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/Item.js +0 -0
- /package/{dist → lib}/sdk/types/article/ItemArea.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/ItemArea.js +0 -0
- /package/{dist → lib}/sdk/types/article/ItemState.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/ItemState.js +0 -0
- /package/{dist → lib}/sdk/types/article/RichText.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/RichText.js +0 -0
- /package/{dist → lib}/sdk/types/article/Section.d.ts +0 -0
- /package/{dist → lib}/sdk/types/article/Section.js +0 -0
- /package/{dist/sdk/types/project/Page.js → lib/sdk/types/component/Component.js} +0 -0
- /package/{dist → lib}/sdk/types/keyframe/Keyframe.js +0 -0
- /package/{dist → lib}/sdk/types/project/Fonts.d.ts +0 -0
- /package/{dist → lib}/sdk/types/project/Fonts.js +0 -0
- /package/{dist → lib}/sdk/types/project/Layout.d.ts +0 -0
- /package/{dist/sdk/types/project/Project.js → lib/sdk/types/project/Layout.js} +0 -0
- /package/{dist → lib}/sdk/types/project/Meta.d.ts +0 -0
- /package/{dist → lib}/sdk/types/project/Page.d.ts +0 -0
- /package/{dist → lib}/sdk/types/project/Project.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/common/useCurrentLayout.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/common/useExemplary.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/common/useItemFXData.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/common/useKeyframeValue.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/common/useRegisterResize.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Article.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/ArticleWrapper.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Head.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Page.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Section/Section.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Section/SectionImage.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Section/SectionVideo.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/Section/useSectionHeightMap.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/ComponentItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/useComponentItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundChild.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/useCompoundItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/CustomItem/CustomItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/FileItem/ImageItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/FileItem/VideoItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/GroupItem/GroupItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/GroupItem/useGroupItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/Item.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/RectangleItem/RectangleItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/RectangleItem/useRectangleItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/RichTextItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/useRichTextItem.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/RichTextWrapper.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/itemsMap.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useDraggable.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useItemAngle.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useItemArea.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useItemPointerEvents.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useItemScale.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useItemTriggers.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useRichTextItemValues.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useSizing.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/items/useStickyItemTop.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/components/useLayoutContext.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/interactions/InteractionsRegistry.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/interactions/ItemInteractionCtrl.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/interactions/getTransition.d.ts +0 -0
- /package/{dist/sdk/types/article/Article.js → lib/sdk-nextjs/interactions/types.js} +0 -0
- /package/{dist → lib}/sdk-nextjs/interactions/useItemInteractionCtrl.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/CntrlProvider.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/CntrlSdkContext.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/CustomItemRegistry.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/CustomItemTypes.d.ts +0 -0
- /package/{dist/sdk/types/article/CompoundSettings.js → lib/sdk-nextjs/provider/CustomItemTypes.js} +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/defaultContext.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/provider/useCntrlContext.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/Animator/Animator.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/EventEmitter.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/RichTextConverter/RichTextConverter.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/ScaleAnchorMap.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/Youtube/YoutubeIframeApi.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/areFillsVisible/areFillsVisible.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/binSearchInsertAt.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/checkOverflowClipSupport.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/effects/useImageFx.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/effects/useVideoFx.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getAnchoredItemTop.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getCompoundBoundaryStyles.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getFill.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getFontFamilyValue.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getItemTopStyle.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getStyleFromItemStateAndParams.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/getValidYoutubeUrl.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/isItemType.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/rangeMap.d.ts +0 -0
- /package/{dist → lib}/sdk-nextjs/utils/useElementRect.d.ts +0 -0
- /package/{dist → lib}/utils.d.ts +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RectangleItem = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const style_1 = __importDefault(require("styled-jsx/style"));
|
|
10
|
+
const LinkWrapper_1 = require("../LinkWrapper");
|
|
11
|
+
const useRectangleItem_1 = require("./useRectangleItem");
|
|
12
|
+
const useItemAngle_1 = require("../useItemAngle");
|
|
13
|
+
const useCntrlContext_1 = require("../../../provider/useCntrlContext");
|
|
14
|
+
const useRegisterResize_1 = require("../../../common/useRegisterResize");
|
|
15
|
+
const getStyleFromItemStateAndParams_1 = require("../../../utils/getStyleFromItemStateAndParams");
|
|
16
|
+
const getFill_1 = require("../../../utils/getFill");
|
|
17
|
+
const areFillsVisible_1 = require("../../../utils/areFillsVisible/areFillsVisible");
|
|
18
|
+
const utils_1 = require("../../../../utils");
|
|
19
|
+
const RectangleItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilityChange }) => {
|
|
20
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
21
|
+
const id = (0, react_1.useId)();
|
|
22
|
+
const { layouts } = (0, useCntrlContext_1.useCntrlContext)();
|
|
23
|
+
const { fill: itemFill, radius: itemRadius, strokeWidth: itemStrokeWidth, strokeFill: itemStrokeFill, blur: itemBlur, backdropBlur: itemBackdropBlur } = (0, useRectangleItem_1.useRectangleItem)(item, sectionId);
|
|
24
|
+
const itemAngle = (0, useItemAngle_1.useItemAngle)(item, sectionId);
|
|
25
|
+
const stateParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['angle', 'strokeWidth', 'radius', 'blur', 'backdropBlur']);
|
|
26
|
+
const stateFillParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['fill']);
|
|
27
|
+
const stateFillLayers = (_a = stateFillParams === null || stateFillParams === void 0 ? void 0 : stateFillParams.styles) === null || _a === void 0 ? void 0 : _a.fill;
|
|
28
|
+
const solidTransition = (_b = stateFillParams === null || stateFillParams === void 0 ? void 0 : stateFillParams.transition) !== null && _b !== void 0 ? _b : 'none';
|
|
29
|
+
const stateStrokeFillParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['strokeFill']);
|
|
30
|
+
const stateStrokeFillLayers = (_c = stateStrokeFillParams === null || stateStrokeFillParams === void 0 ? void 0 : stateStrokeFillParams.styles) === null || _c === void 0 ? void 0 : _c.strokeFill;
|
|
31
|
+
const strokeSolidTransition = (_d = stateStrokeFillParams === null || stateStrokeFillParams === void 0 ? void 0 : stateStrokeFillParams.transition) !== null && _d !== void 0 ? _d : 'none';
|
|
32
|
+
const styles = (_e = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) !== null && _e !== void 0 ? _e : {};
|
|
33
|
+
const layoutValues = [item.area, item.layoutParams];
|
|
34
|
+
const [ref, setRef] = (0, react_1.useState)(null);
|
|
35
|
+
(0, useRegisterResize_1.useRegisterResize)(ref, onResize);
|
|
36
|
+
const backdropBlur = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(styles === null || styles === void 0 ? void 0 : styles.backdropBlur, itemBackdropBlur);
|
|
37
|
+
const radius = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(styles === null || styles === void 0 ? void 0 : styles.radius, itemRadius);
|
|
38
|
+
const strokeWidth = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(styles === null || styles === void 0 ? void 0 : styles.strokeWidth, itemStrokeWidth);
|
|
39
|
+
const angle = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(styles === null || styles === void 0 ? void 0 : styles.angle, itemAngle);
|
|
40
|
+
const blur = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(styles === null || styles === void 0 ? void 0 : styles.blur, itemBlur);
|
|
41
|
+
const backdropFilterValue = backdropBlur ? `blur(${backdropBlur * 100}vw)` : undefined;
|
|
42
|
+
const isInteractive = (0, areFillsVisible_1.areFillsVisible)((_f = stateFillLayers !== null && stateFillLayers !== void 0 ? stateFillLayers : itemFill) !== null && _f !== void 0 ? _f : []) || (strokeWidth !== 0 && (0, areFillsVisible_1.areFillsVisible)((_g = stateStrokeFillLayers !== null && stateStrokeFillLayers !== void 0 ? stateStrokeFillLayers : itemStrokeFill) !== null && _g !== void 0 ? _g : []));
|
|
43
|
+
(0, react_1.useEffect)(() => {
|
|
44
|
+
onVisibilityChange === null || onVisibilityChange === void 0 ? void 0 : onVisibilityChange(isInteractive);
|
|
45
|
+
}, [isInteractive, onVisibilityChange]);
|
|
46
|
+
const strokeValue = stateStrokeFillLayers
|
|
47
|
+
? (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStrokeFillLayers[0], itemStrokeFill === null || itemStrokeFill === void 0 ? void 0 : itemStrokeFill[0])
|
|
48
|
+
: itemStrokeFill === null || itemStrokeFill === void 0 ? void 0 : itemStrokeFill[0];
|
|
49
|
+
const stroke = strokeValue
|
|
50
|
+
? (_h = (0, getFill_1.getFill)(strokeValue)) !== null && _h !== void 0 ? _h : 'transparent'
|
|
51
|
+
: 'transparent';
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(LinkWrapper_1.LinkWrapper, { url: (_j = item.link) === null || _j === void 0 ? void 0 : _j.url, target: (_k = item.link) === null || _k === void 0 ? void 0 : _k.target, children: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: `rectangle-${item.id}`, ref: setRef, style: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (strokeValue ? Object.assign({ '--stroke-background': stroke }, (strokeValue.type === 'image' ? {
|
|
53
|
+
backgroundPosition: 'center',
|
|
54
|
+
backgroundSize: strokeValue.behavior === 'repeat' ? `${strokeValue.backgroundSize}%` : strokeValue.behavior,
|
|
55
|
+
backgroundRepeat: strokeValue.behavior === 'repeat' ? 'repeat' : 'no-repeat'
|
|
56
|
+
} : {})) : {})), (radius !== undefined ? { borderRadius: `${radius * 100}vw` } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset' }), (backdropFilterValue !== undefined
|
|
57
|
+
? { backdropFilter: backdropFilterValue, WebkitBackdropFilter: backdropFilterValue }
|
|
58
|
+
: {})), { transition: (_l = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _l !== void 0 ? _l : 'none' }), children: [(0, jsx_runtime_1.jsx)("div", { className: `rectangle-border-${item.id}`, style: Object.assign({ position: 'absolute', inset: 0, borderRadius: 'inherit', pointerEvents: 'none', zIndex: 2, WebkitMask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)', WebkitMaskComposite: 'xor', maskComposite: 'exclude' }, (strokeWidth !== 0 && strokeValue ? Object.assign(Object.assign(Object.assign({}, (strokeWidth ? { padding: `${strokeWidth * 100}vw` } : {})), (strokeValue.type === 'solid' ? { transition: strokeSolidTransition, background: stroke } : {})), (strokeValue.type === 'image' ? {
|
|
59
|
+
backgroundPosition: 'center',
|
|
60
|
+
backgroundSize: strokeValue.behavior === 'repeat' ? `${strokeValue.backgroundSize}%` : strokeValue.behavior,
|
|
61
|
+
backgroundRepeat: strokeValue.behavior === 'repeat' ? 'repeat' : 'no-repeat'
|
|
62
|
+
} : {
|
|
63
|
+
background: stroke,
|
|
64
|
+
})) : { background: stroke })) }), itemFill && itemFill.map((fill) => {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
const stateFillLayer = stateFillLayers === null || stateFillLayers === void 0 ? void 0 : stateFillLayers.find((layer) => layer.id === fill.id);
|
|
67
|
+
const value = stateFillLayer
|
|
68
|
+
? ((_a = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateFillLayer, fill)) !== null && _a !== void 0 ? _a : fill)
|
|
69
|
+
: fill;
|
|
70
|
+
const background = value
|
|
71
|
+
? (_b = (0, getFill_1.getFill)(value)) !== null && _b !== void 0 ? _b : 'transparent'
|
|
72
|
+
: 'transparent';
|
|
73
|
+
return ((0, jsx_runtime_1.jsx)(Fill, { fill: value, itemId: item.id, background: background, solidTransition: solidTransition }));
|
|
74
|
+
})] }), (0, jsx_runtime_1.jsx)(style_1.default, { id: id, children: `
|
|
75
|
+
.rectangle-${item.id} {
|
|
76
|
+
position: absolute;
|
|
77
|
+
width: 100%;
|
|
78
|
+
height: 100%;
|
|
79
|
+
box-sizing: border-box;
|
|
80
|
+
},
|
|
81
|
+
.image-fill-${item.id} {
|
|
82
|
+
position: absolute;
|
|
83
|
+
top: 0;
|
|
84
|
+
left: 0;
|
|
85
|
+
width: 100%;
|
|
86
|
+
height: 100%;
|
|
87
|
+
transform-origin: center center;
|
|
88
|
+
z-index: 1;
|
|
89
|
+
background-position: center;
|
|
90
|
+
},
|
|
91
|
+
${(0, utils_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams]) => {
|
|
92
|
+
return (`
|
|
93
|
+
.rectangle-${item.id} {
|
|
94
|
+
border-radius: ${layoutParams.radius * 100}vw
|
|
95
|
+
transform: rotate(${area.angle}deg);
|
|
96
|
+
filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
|
|
97
|
+
${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
|
|
98
|
+
backdrop-filter: ${layoutParams.backdropBlur !== 0 ? `blur(${layoutParams.backdropBlur * 100}vw)` : 'unset'};
|
|
99
|
+
-webkit-backdrop-filter: ${layoutParams.backdropBlur !== 0 ? `blur(${layoutParams.backdropBlur * 100}vw)` : 'unset'};
|
|
100
|
+
},
|
|
101
|
+
.rectangle-border-${item.id} {
|
|
102
|
+
position: absolute;
|
|
103
|
+
inset: 0;
|
|
104
|
+
border-radius: inherit;
|
|
105
|
+
pointer-events: none;
|
|
106
|
+
z-index: 2;
|
|
107
|
+
-webkit-mask:
|
|
108
|
+
linear-gradient(#fff 0 0) content-box,
|
|
109
|
+
linear-gradient(#fff 0 0);
|
|
110
|
+
-webkit-mask-composite: xor;
|
|
111
|
+
mask-composite: exclude;
|
|
112
|
+
}
|
|
113
|
+
`);
|
|
114
|
+
})}
|
|
115
|
+
` })] }) }));
|
|
116
|
+
};
|
|
117
|
+
exports.RectangleItem = RectangleItem;
|
|
118
|
+
function Fill({ fill, itemId, background, solidTransition }) {
|
|
119
|
+
const isRotatedImage = fill.type === 'image' && fill.rotation && fill.rotation !== 0;
|
|
120
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: fill.type === 'image' ? `image-fill-${itemId}` : `fill-${itemId}`, style: Object.assign(Object.assign(Object.assign(Object.assign({}, (fill.type === 'solid' ? { background, transition: solidTransition } : {})), (fill.type === 'image'
|
|
121
|
+
? {
|
|
122
|
+
transform: `rotate(${fill.rotation}deg)`,
|
|
123
|
+
backgroundImage: `url(${fill.src})`,
|
|
124
|
+
backgroundSize: fill.behavior === 'repeat' ? `${fill.backgroundSize}%` : fill.behavior,
|
|
125
|
+
backgroundRepeat: fill.behavior === 'repeat' ? 'repeat' : 'no-repeat',
|
|
126
|
+
opacity: fill.opacity
|
|
127
|
+
}
|
|
128
|
+
: { background })), { position: 'absolute', borderRadius: 'inherit', mixBlendMode: fill.blendMode, top: 0, left: 0, width: '100%', height: '100%', pointerEvents: 'none' }), (isRotatedImage ? { overflow: 'hidden' } : {})) }, fill.id));
|
|
129
|
+
}
|
|
130
|
+
;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRectangleItem = useRectangleItem;
|
|
4
|
+
const Keyframe_1 = require("../../../../sdk/types/keyframe/Keyframe");
|
|
5
|
+
const useKeyframeValue_1 = require("../../../common/useKeyframeValue");
|
|
6
|
+
const useLayoutContext_1 = require("../../useLayoutContext");
|
|
7
|
+
const defaultFill = [
|
|
8
|
+
{
|
|
9
|
+
id: 'default',
|
|
10
|
+
type: 'solid',
|
|
11
|
+
value: 'rgba(0, 0, 0, 1)',
|
|
12
|
+
blendMode: 'normal'
|
|
13
|
+
}
|
|
14
|
+
];
|
|
15
|
+
function useRectangleItem(item, sectionId) {
|
|
16
|
+
const layoutId = (0, useLayoutContext_1.useLayoutContext)();
|
|
17
|
+
const radius = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderRadius, (item, layoutId) => {
|
|
18
|
+
if (!layoutId)
|
|
19
|
+
return;
|
|
20
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
21
|
+
return 'radius' in layoutParams ? layoutParams.radius : 0;
|
|
22
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getRadius({ radius: value }, scroll).radius : undefined, sectionId, [layoutId]);
|
|
23
|
+
const strokeWidth = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderWidth, (item, layoutId) => {
|
|
24
|
+
if (!layoutId)
|
|
25
|
+
return;
|
|
26
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
27
|
+
return 'strokeWidth' in layoutParams ? layoutParams.strokeWidth : 0;
|
|
28
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getBorderWidth({ borderWidth: value }, scroll).borderWidth : undefined, sectionId, [layoutId]);
|
|
29
|
+
const fill = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Fill, (item, layoutId) => {
|
|
30
|
+
if (!layoutId)
|
|
31
|
+
return;
|
|
32
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
33
|
+
return 'fill' in layoutParams ? layoutParams.fill : defaultFill;
|
|
34
|
+
}, (animator, scroll, value) => value ? animator.getFill(value, scroll) : undefined, sectionId, [layoutId]);
|
|
35
|
+
const strokeFill = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderFill, (item, layoutId) => {
|
|
36
|
+
if (!layoutId)
|
|
37
|
+
return;
|
|
38
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
39
|
+
return 'strokeFill' in layoutParams ? layoutParams.strokeFill : defaultFill;
|
|
40
|
+
}, (animator, scroll, value) => value ? animator.getBorderFill(value, scroll) : undefined, sectionId, [layoutId]);
|
|
41
|
+
const blur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Blur, (item, layoutId) => {
|
|
42
|
+
if (!layoutId)
|
|
43
|
+
return;
|
|
44
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
45
|
+
return 'blur' in layoutParams ? layoutParams.blur : 0;
|
|
46
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getBlur({ blur: value }, scroll).blur : undefined, sectionId, [layoutId]);
|
|
47
|
+
const backdropBlur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BackdropBlur, (item, layoutId) => {
|
|
48
|
+
if (!layoutId)
|
|
49
|
+
return;
|
|
50
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
51
|
+
return 'backdropBlur' in layoutParams ? layoutParams.backdropBlur : 0;
|
|
52
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getBackdropBlur({ backdropBlur: value }, scroll).backdropBlur : undefined, sectionId, [layoutId]);
|
|
53
|
+
return { fill, strokeWidth, radius, strokeFill, blur, backdropBlur };
|
|
54
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RichTextItem = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = require("react");
|
|
9
|
+
const color_1 = require("@cntrl-site/color");
|
|
10
|
+
const style_1 = __importDefault(require("styled-jsx/style"));
|
|
11
|
+
const useRichTextItem_1 = require("./useRichTextItem");
|
|
12
|
+
const useCntrlContext_1 = require("../../../provider/useCntrlContext");
|
|
13
|
+
const useRichTextItemValues_1 = require("../useRichTextItemValues");
|
|
14
|
+
const useRegisterResize_1 = require("../../../common/useRegisterResize");
|
|
15
|
+
const getFontFamilyValue_1 = require("../../../utils/getFontFamilyValue");
|
|
16
|
+
const useExemplary_1 = require("../../../common/useExemplary");
|
|
17
|
+
const useItemAngle_1 = require("../useItemAngle");
|
|
18
|
+
const getStyleFromItemStateAndParams_1 = require("../../../utils/getStyleFromItemStateAndParams");
|
|
19
|
+
const useCurrentLayout_1 = require("../../../common/useCurrentLayout");
|
|
20
|
+
const utils_1 = require("../../../../utils");
|
|
21
|
+
const RichTextItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilityChange }) => {
|
|
22
|
+
var _a, _b, _c, _d;
|
|
23
|
+
const id = (0, react_1.useId)();
|
|
24
|
+
const [ref, setRef] = (0, react_1.useState)(null);
|
|
25
|
+
const { layouts } = (0, useCntrlContext_1.useCntrlContext)();
|
|
26
|
+
const itemAngle = (0, useItemAngle_1.useItemAngle)(item, sectionId);
|
|
27
|
+
const { blur: itemBlur, wordSpacing: itemWordSpacing, letterSpacing: itemLetterSpacing, color: itemColor, fontSize, lineHeight } = (0, useRichTextItemValues_1.useRichTextItemValues)(item, sectionId);
|
|
28
|
+
const layoutValues = [item.area, item.layoutParams];
|
|
29
|
+
const exemplary = (0, useExemplary_1.useExemplary)();
|
|
30
|
+
const { layoutId } = (0, useCurrentLayout_1.useCurrentLayout)();
|
|
31
|
+
(0, useRegisterResize_1.useRegisterResize)(ref, onResize);
|
|
32
|
+
const stateParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['angle', 'blur', 'letterSpacing', 'wordSpacing', 'color']);
|
|
33
|
+
const stateStyles = (_a = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) !== null && _a !== void 0 ? _a : {};
|
|
34
|
+
const transition = (_b = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _b !== void 0 ? _b : 'none';
|
|
35
|
+
const textColor = (0, react_1.useMemo)(() => {
|
|
36
|
+
var _a;
|
|
37
|
+
const color = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)((_a = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) === null || _a === void 0 ? void 0 : _a.color, itemColor);
|
|
38
|
+
return color ? color_1.CntrlColor.parse(color) : undefined;
|
|
39
|
+
}, [itemColor, stateStyles.color]);
|
|
40
|
+
const angle = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.angle, itemAngle);
|
|
41
|
+
const blur = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.blur, itemBlur);
|
|
42
|
+
const letterSpacing = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.letterSpacing, itemLetterSpacing);
|
|
43
|
+
const wordSpacing = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.wordSpacing, itemWordSpacing);
|
|
44
|
+
const colorAlpha = textColor === null || textColor === void 0 ? void 0 : textColor.getAlpha();
|
|
45
|
+
const rangeStyles = layoutId ? (_d = (_c = item.layoutParams[layoutId]) === null || _c === void 0 ? void 0 : _c.rangeStyles) !== null && _d !== void 0 ? _d : [] : [];
|
|
46
|
+
const rangeColors = rangeStyles.filter((style) => style.style === 'COLOR');
|
|
47
|
+
const hasVisibleRangeColors = rangeColors.some((color) => {
|
|
48
|
+
const alpha = color_1.CntrlColor.parse(color.value).getAlpha();
|
|
49
|
+
return alpha > 0;
|
|
50
|
+
});
|
|
51
|
+
const isInteractive = colorAlpha !== 0 || hasVisibleRangeColors;
|
|
52
|
+
const [content, styles] = (0, useRichTextItem_1.useRichTextItem)(item);
|
|
53
|
+
(0, react_1.useEffect)(() => {
|
|
54
|
+
onVisibilityChange === null || onVisibilityChange === void 0 ? void 0 : onVisibilityChange(isInteractive);
|
|
55
|
+
}, [isInteractive, onVisibilityChange]);
|
|
56
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { ref: setRef, className: `rich-text-wrapper-${item.id}`, style: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (blur !== undefined ? { filter: `blur(${blur * 100}vw)` } : {})), (textColor ? { color: `${textColor.fmt('rgba')}` } : {})), (angle !== undefined ? { transform: `rotate(${angle}deg)` } : {})), (letterSpacing !== undefined ? { letterSpacing: `${letterSpacing * exemplary}px` } : {})), (wordSpacing !== undefined ? { wordSpacing: `${wordSpacing * exemplary}px` } : {})), (fontSize !== undefined ? { fontSize: `${Math.round(fontSize * exemplary)}px` } : {})), (lineHeight !== undefined ? { lineHeight: `${lineHeight * exemplary}px` } : {})), { willChange: blur !== 0 && blur !== undefined ? 'transform' : 'unset', transition }), children: content }), (0, jsx_runtime_1.jsxs)(style_1.default, { id: id, children: [styles, `${(0, utils_1.getLayoutStyles)(layouts, layoutValues, ([area, layoutParams]) => {
|
|
57
|
+
const color = color_1.CntrlColor.parse(layoutParams.color);
|
|
58
|
+
return (`
|
|
59
|
+
.rich-text-wrapper-${item.id} {
|
|
60
|
+
font-size: ${layoutParams.fontSize * 100}vw;
|
|
61
|
+
line-height: ${layoutParams.lineHeight * 100}vw;
|
|
62
|
+
letter-spacing: ${layoutParams.letterSpacing * 100}vw;
|
|
63
|
+
word-spacing: ${layoutParams.wordSpacing * 100}vw;
|
|
64
|
+
font-family: ${(0, getFontFamilyValue_1.getFontFamilyValue)(layoutParams.typeFace)};
|
|
65
|
+
font-weight: ${layoutParams.fontWeight};
|
|
66
|
+
font-style: ${layoutParams.fontStyle ? layoutParams.fontStyle : 'normal'};
|
|
67
|
+
vertical-align: ${layoutParams.verticalAlign};
|
|
68
|
+
font-variant: ${layoutParams.fontVariant};
|
|
69
|
+
color: ${color.fmt('rgba')};
|
|
70
|
+
transform: rotate(${area.angle}deg);
|
|
71
|
+
filter: ${layoutParams.blur !== 0 ? `blur(${layoutParams.blur * 100}vw)` : 'unset'};
|
|
72
|
+
text-transform: ${layoutParams.textTransform};
|
|
73
|
+
${layoutParams.blur !== 0 ? 'will-change: transform;' : ''}
|
|
74
|
+
}
|
|
75
|
+
@supports not (color: oklch(42% 0.3 90 / 1)) {
|
|
76
|
+
.rich-text-wrapper-${item.id} {
|
|
77
|
+
color: ${color.fmt('rgba')};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
`);
|
|
81
|
+
})}`] })] }));
|
|
82
|
+
};
|
|
83
|
+
exports.RichTextItem = RichTextItem;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRichTextItem = void 0;
|
|
4
|
+
const RichTextConverter_1 = require("../../../utils/RichTextConverter/RichTextConverter");
|
|
5
|
+
const useCntrlContext_1 = require("../../../provider/useCntrlContext");
|
|
6
|
+
const richTextConverter = new RichTextConverter_1.RichTextConverter();
|
|
7
|
+
const useRichTextItem = (item) => {
|
|
8
|
+
const { layouts } = (0, useCntrlContext_1.useCntrlContext)();
|
|
9
|
+
const [content, styles] = richTextConverter.toHtml(item, layouts);
|
|
10
|
+
return [content, styles];
|
|
11
|
+
};
|
|
12
|
+
exports.useRichTextItem = useRichTextItem;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RichTextWrapper = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const RichTextWrapper = ({ isRichText, children, transformOrigin = 'top left' }) => {
|
|
6
|
+
if (!isRichText)
|
|
7
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { transformOrigin, transform: 'scale(var(--layout-deviation))' }, children: children }));
|
|
9
|
+
};
|
|
10
|
+
exports.RichTextWrapper = RichTextWrapper;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.itemsMap = void 0;
|
|
4
|
+
const RectangleItem_1 = require("./RectangleItem/RectangleItem");
|
|
5
|
+
const ImageItem_1 = require("./FileItem/ImageItem");
|
|
6
|
+
const VideoItem_1 = require("./FileItem/VideoItem");
|
|
7
|
+
const RichTextItem_1 = require("./RichTextItem/RichTextItem");
|
|
8
|
+
const YoutubeEmbed_1 = require("./EmbedVideoItem/YoutubeEmbed");
|
|
9
|
+
const VimeoEmbed_1 = require("./EmbedVideoItem/VimeoEmbed");
|
|
10
|
+
const CustomItem_1 = require("./CustomItem/CustomItem");
|
|
11
|
+
const GroupItem_1 = require("./GroupItem/GroupItem");
|
|
12
|
+
const CodeEmbedItem_1 = require("./CodeEmbedItem/CodeEmbedItem");
|
|
13
|
+
const CompoundItem_1 = require("./CompoundItem/CompoundItem");
|
|
14
|
+
const ComponentItem_1 = require("./ComponentItem/ComponentItem");
|
|
15
|
+
const ArticleItemType_1 = require("../../../sdk/types/article/ArticleItemType");
|
|
16
|
+
exports.itemsMap = {
|
|
17
|
+
[ArticleItemType_1.ArticleItemType.Rectangle]: RectangleItem_1.RectangleItem,
|
|
18
|
+
[ArticleItemType_1.ArticleItemType.Image]: ImageItem_1.ImageItem,
|
|
19
|
+
[ArticleItemType_1.ArticleItemType.Video]: VideoItem_1.VideoItem,
|
|
20
|
+
[ArticleItemType_1.ArticleItemType.RichText]: RichTextItem_1.RichTextItem,
|
|
21
|
+
[ArticleItemType_1.ArticleItemType.YoutubeEmbed]: YoutubeEmbed_1.YoutubeEmbedItem,
|
|
22
|
+
[ArticleItemType_1.ArticleItemType.VimeoEmbed]: VimeoEmbed_1.VimeoEmbedItem,
|
|
23
|
+
[ArticleItemType_1.ArticleItemType.Custom]: CustomItem_1.CustomItem,
|
|
24
|
+
[ArticleItemType_1.ArticleItemType.Group]: GroupItem_1.GroupItem,
|
|
25
|
+
[ArticleItemType_1.ArticleItemType.Compound]: CompoundItem_1.CompoundItem,
|
|
26
|
+
[ArticleItemType_1.ArticleItemType.CodeEmbed]: CodeEmbedItem_1.CodeEmbedItem,
|
|
27
|
+
[ArticleItemType_1.ArticleItemType.Component]: ComponentItem_1.ComponentItem
|
|
28
|
+
};
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useDraggable = useDraggable;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const INITIAL_STATE = {
|
|
6
|
+
drag: false,
|
|
7
|
+
startX: 0,
|
|
8
|
+
startY: 0,
|
|
9
|
+
currentX: 0,
|
|
10
|
+
currentY: 0,
|
|
11
|
+
pivotX: 0,
|
|
12
|
+
pivotY: 0,
|
|
13
|
+
lastX: 0,
|
|
14
|
+
lastY: 0
|
|
15
|
+
};
|
|
16
|
+
function useDraggable(data, dragHandler, preventDragOnChildren = false) {
|
|
17
|
+
const dragStateRef = (0, react_1.useRef)(INITIAL_STATE);
|
|
18
|
+
const prevDragStateRef = (0, react_1.useRef)();
|
|
19
|
+
const dragHandlerRef = (0, react_1.useRef)();
|
|
20
|
+
const untrackMouseMoveRef = (0, react_1.useRef)();
|
|
21
|
+
const animationFrameRef = (0, react_1.useRef)();
|
|
22
|
+
dragHandlerRef.current = dragHandler;
|
|
23
|
+
const setDragState = (0, react_1.useCallback)(action => {
|
|
24
|
+
const state = isStateGetter(action)
|
|
25
|
+
? action(dragStateRef.current)
|
|
26
|
+
: action;
|
|
27
|
+
if (!prevDragStateRef.current) {
|
|
28
|
+
prevDragStateRef.current = dragStateRef.current;
|
|
29
|
+
}
|
|
30
|
+
dragStateRef.current = state;
|
|
31
|
+
if (animationFrameRef.current !== undefined)
|
|
32
|
+
return;
|
|
33
|
+
animationFrameRef.current = window.requestAnimationFrame(() => {
|
|
34
|
+
var _a;
|
|
35
|
+
animationFrameRef.current = undefined;
|
|
36
|
+
(_a = dragHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(dragHandlerRef, dragStateRef.current, prevDragStateRef.current);
|
|
37
|
+
prevDragStateRef.current = dragStateRef.current;
|
|
38
|
+
});
|
|
39
|
+
}, []);
|
|
40
|
+
const handleMouseMove = (0, react_1.useCallback)(event => {
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
const el = event.target;
|
|
43
|
+
if (!(el instanceof HTMLElement))
|
|
44
|
+
return;
|
|
45
|
+
setDragState(state => {
|
|
46
|
+
if (!state.drag) {
|
|
47
|
+
const clientRect = el.getBoundingClientRect();
|
|
48
|
+
return {
|
|
49
|
+
drag: true,
|
|
50
|
+
startX: event.clientX,
|
|
51
|
+
startY: event.clientY,
|
|
52
|
+
currentX: event.clientX,
|
|
53
|
+
currentY: event.clientY,
|
|
54
|
+
pivotX: event.clientX - clientRect.x,
|
|
55
|
+
pivotY: event.clientY - clientRect.y,
|
|
56
|
+
lastX: state.lastX,
|
|
57
|
+
lastY: state.lastY
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return Object.assign(Object.assign({}, state), { currentX: state.currentX + event.movementX, currentY: state.currentY + event.movementY });
|
|
61
|
+
});
|
|
62
|
+
}, [setDragState, data.draggableRef, preventDragOnChildren]);
|
|
63
|
+
const handleMouseUp = (0, react_1.useCallback)(event => {
|
|
64
|
+
var _a;
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
setDragState(state => (Object.assign(Object.assign({}, state), { drag: false, lastX: state.currentX - state.startX + state.lastX, lastY: state.currentY - state.startY + state.lastY })));
|
|
67
|
+
(_a = untrackMouseMoveRef.current) === null || _a === void 0 ? void 0 : _a.call(untrackMouseMoveRef);
|
|
68
|
+
}, [setDragState]);
|
|
69
|
+
const handleScroll = (0, react_1.useCallback)(() => {
|
|
70
|
+
setDragState(state => state);
|
|
71
|
+
}, [setDragState]);
|
|
72
|
+
const trackMouseMove = (0, react_1.useCallback)(() => {
|
|
73
|
+
window.addEventListener('mousemove', handleMouseMove, { capture: true });
|
|
74
|
+
window.addEventListener('mouseup', handleMouseUp, { capture: true });
|
|
75
|
+
window.addEventListener('scroll', handleScroll, { capture: true, passive: true });
|
|
76
|
+
return () => {
|
|
77
|
+
window.removeEventListener('mousemove', handleMouseMove, { capture: true });
|
|
78
|
+
window.removeEventListener('mouseup', handleMouseUp, { capture: true });
|
|
79
|
+
window.removeEventListener('scroll', handleScroll, { capture: true });
|
|
80
|
+
};
|
|
81
|
+
}, [handleMouseMove, handleMouseUp, handleScroll]);
|
|
82
|
+
const handleMouseDown = (0, react_1.useCallback)(event => {
|
|
83
|
+
var _a;
|
|
84
|
+
event.stopPropagation();
|
|
85
|
+
if (preventDragOnChildren && event.target instanceof Node && data.draggableRef instanceof Node) {
|
|
86
|
+
if (event.target !== data.draggableRef && data.draggableRef.contains(event.target))
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
if (event.button !== 0)
|
|
90
|
+
return;
|
|
91
|
+
(_a = untrackMouseMoveRef.current) === null || _a === void 0 ? void 0 : _a.call(untrackMouseMoveRef);
|
|
92
|
+
untrackMouseMoveRef.current = trackMouseMove();
|
|
93
|
+
}, [trackMouseMove]);
|
|
94
|
+
const handleTouchMove = (0, react_1.useCallback)(event => {
|
|
95
|
+
event.stopPropagation();
|
|
96
|
+
event.preventDefault();
|
|
97
|
+
const touch = event.touches[0];
|
|
98
|
+
const el = event.target;
|
|
99
|
+
if (!(el instanceof HTMLElement))
|
|
100
|
+
return;
|
|
101
|
+
setDragState(state => {
|
|
102
|
+
if (!state.drag) {
|
|
103
|
+
const clientRect = el.getBoundingClientRect();
|
|
104
|
+
return {
|
|
105
|
+
drag: true,
|
|
106
|
+
startX: touch.clientX,
|
|
107
|
+
startY: touch.clientY,
|
|
108
|
+
currentX: touch.clientX,
|
|
109
|
+
currentY: touch.clientY,
|
|
110
|
+
pivotX: touch.clientX - clientRect.x,
|
|
111
|
+
pivotY: touch.clientY - clientRect.y,
|
|
112
|
+
lastX: state.lastX,
|
|
113
|
+
lastY: state.lastY
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
const movementX = touch.clientX - state.currentX;
|
|
117
|
+
const movementY = touch.clientY - state.currentY;
|
|
118
|
+
return Object.assign(Object.assign({}, state), { currentX: state.currentX + movementX, currentY: state.currentY + movementY });
|
|
119
|
+
});
|
|
120
|
+
}, [setDragState]);
|
|
121
|
+
const handleTouchEnd = (0, react_1.useCallback)(event => {
|
|
122
|
+
var _a;
|
|
123
|
+
event.stopPropagation();
|
|
124
|
+
document.body.style.overflow = '';
|
|
125
|
+
document.documentElement.style.overflow = '';
|
|
126
|
+
setDragState(state => (Object.assign(Object.assign({}, state), { drag: false, lastX: state.currentX - state.startX + state.lastX, lastY: state.currentY - state.startY + state.lastY })));
|
|
127
|
+
(_a = untrackMouseMoveRef.current) === null || _a === void 0 ? void 0 : _a.call(untrackMouseMoveRef);
|
|
128
|
+
}, [setDragState]);
|
|
129
|
+
const trackTouchMove = (0, react_1.useCallback)(() => {
|
|
130
|
+
window.addEventListener('touchmove', handleTouchMove, { capture: true, passive: false });
|
|
131
|
+
window.addEventListener('touchend', handleTouchEnd, { capture: true });
|
|
132
|
+
window.addEventListener('touchcancel', handleTouchEnd, { capture: true });
|
|
133
|
+
return () => {
|
|
134
|
+
window.removeEventListener('touchmove', handleTouchMove, { capture: true });
|
|
135
|
+
window.removeEventListener('touchend', handleTouchEnd, { capture: true });
|
|
136
|
+
window.removeEventListener('touchcancel', handleTouchEnd, { capture: true });
|
|
137
|
+
};
|
|
138
|
+
}, [handleTouchMove, handleTouchEnd]);
|
|
139
|
+
const handleTouchStart = (0, react_1.useCallback)(event => {
|
|
140
|
+
var _a;
|
|
141
|
+
event.stopPropagation();
|
|
142
|
+
if (preventDragOnChildren && event.target instanceof Node && data.draggableRef instanceof Node) {
|
|
143
|
+
if (event.target !== data.draggableRef && data.draggableRef.contains(event.target))
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
document.body.style.overflow = 'hidden';
|
|
147
|
+
document.documentElement.style.overflow = 'hidden';
|
|
148
|
+
const selection = document.getSelection();
|
|
149
|
+
if (selection) {
|
|
150
|
+
selection.removeAllRanges();
|
|
151
|
+
}
|
|
152
|
+
(_a = untrackMouseMoveRef.current) === null || _a === void 0 ? void 0 : _a.call(untrackMouseMoveRef);
|
|
153
|
+
untrackMouseMoveRef.current = trackTouchMove();
|
|
154
|
+
}, [trackTouchMove]);
|
|
155
|
+
(0, react_1.useEffect)(() => {
|
|
156
|
+
if (!data.draggableRef || !data.isEnabled)
|
|
157
|
+
return;
|
|
158
|
+
const mouseHandler = handleMouseDown;
|
|
159
|
+
const touchHandler = handleTouchStart;
|
|
160
|
+
data.draggableRef.addEventListener('mousedown', mouseHandler);
|
|
161
|
+
data.draggableRef.addEventListener('touchstart', touchHandler);
|
|
162
|
+
return () => {
|
|
163
|
+
var _a, _b, _c;
|
|
164
|
+
(_a = data.draggableRef) === null || _a === void 0 ? void 0 : _a.removeEventListener('mousedown', mouseHandler);
|
|
165
|
+
(_b = data.draggableRef) === null || _b === void 0 ? void 0 : _b.removeEventListener('touchstart', touchHandler);
|
|
166
|
+
(_c = untrackMouseMoveRef.current) === null || _c === void 0 ? void 0 : _c.call(untrackMouseMoveRef);
|
|
167
|
+
if (animationFrameRef.current !== undefined) {
|
|
168
|
+
window.cancelAnimationFrame(animationFrameRef.current);
|
|
169
|
+
}
|
|
170
|
+
document.body.style.overflow = '';
|
|
171
|
+
document.documentElement.style.overflow = '';
|
|
172
|
+
};
|
|
173
|
+
}, [data.draggableRef, data.isEnabled, handleMouseDown, handleTouchStart]);
|
|
174
|
+
}
|
|
175
|
+
function isStateGetter(action) {
|
|
176
|
+
return typeof action === 'function';
|
|
177
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useItemAngle = void 0;
|
|
4
|
+
const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
|
|
5
|
+
const useKeyframeValue_1 = require("../../common/useKeyframeValue");
|
|
6
|
+
const useItemAngle = (item, sectionId) => {
|
|
7
|
+
const angle = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Rotation, (item, layoutId) => layoutId ? item.area[layoutId].angle : undefined, (animator, scroll, value) => value !== undefined ? animator.getRotation({ angle: value }, scroll).angle : undefined, sectionId);
|
|
8
|
+
return angle;
|
|
9
|
+
};
|
|
10
|
+
exports.useItemAngle = useItemAngle;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useItemArea = useItemArea;
|
|
4
|
+
const useLayoutContext_1 = require("../useLayoutContext");
|
|
5
|
+
const useKeyframeValue_1 = require("../../common/useKeyframeValue");
|
|
6
|
+
const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
|
|
7
|
+
function useItemArea(item, sectionId, stateValues) {
|
|
8
|
+
var _a, _b, _c, _d;
|
|
9
|
+
const layoutId = (0, useLayoutContext_1.useLayoutContext)();
|
|
10
|
+
const position = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Position, (item, layoutId) => {
|
|
11
|
+
if (!layoutId)
|
|
12
|
+
return;
|
|
13
|
+
return item.area[layoutId];
|
|
14
|
+
}, (animator, scroll, value) => value ? animator.getPositions(value, scroll) : undefined, sectionId, [layoutId]);
|
|
15
|
+
const dimensions = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Dimensions, (item, layoutId) => layoutId ? item.area[layoutId] : undefined, (animator, scroll, value) => value ? animator.getDimensions(value, scroll) : undefined, sectionId, [layoutId]);
|
|
16
|
+
const width = ((_a = stateValues.width) !== null && _a !== void 0 ? _a : dimensions === null || dimensions === void 0 ? void 0 : dimensions.width);
|
|
17
|
+
const height = ((_b = stateValues.height) !== null && _b !== void 0 ? _b : dimensions === null || dimensions === void 0 ? void 0 : dimensions.height);
|
|
18
|
+
const top = ((_c = stateValues.top) !== null && _c !== void 0 ? _c : position === null || position === void 0 ? void 0 : position.top);
|
|
19
|
+
const left = ((_d = stateValues.left) !== null && _d !== void 0 ? _d : position === null || position === void 0 ? void 0 : position.left);
|
|
20
|
+
return { width, height, top, left };
|
|
21
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useItemPointerEvents = useItemPointerEvents;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
function useItemPointerEvents(pointerEvents, isParentVisible) {
|
|
6
|
+
const getAllowPointerEvents = () => {
|
|
7
|
+
switch (pointerEvents) {
|
|
8
|
+
case 'never':
|
|
9
|
+
return false;
|
|
10
|
+
case 'when_visible':
|
|
11
|
+
return isParentVisible;
|
|
12
|
+
case 'always':
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const [allowPointerEvents, setAllowPointerEvents] = (0, react_1.useState)(getAllowPointerEvents());
|
|
17
|
+
const handleVisibilityChange = (0, react_1.useCallback)((isVisible) => {
|
|
18
|
+
if (!isParentVisible || pointerEvents !== 'when_visible')
|
|
19
|
+
return;
|
|
20
|
+
setAllowPointerEvents(isVisible);
|
|
21
|
+
}, [isParentVisible, pointerEvents]);
|
|
22
|
+
return { allowPointerEvents, handleVisibilityChange };
|
|
23
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useItemScale = void 0;
|
|
4
|
+
const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
|
|
5
|
+
const useKeyframeValue_1 = require("../../common/useKeyframeValue");
|
|
6
|
+
const useLayoutContext_1 = require("../useLayoutContext");
|
|
7
|
+
const useItemScale = (item, sectionId) => {
|
|
8
|
+
const layoutId = (0, useLayoutContext_1.useLayoutContext)();
|
|
9
|
+
const scale = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Scale, (item, layoutId) => (layoutId ? item.area[layoutId].scale : undefined), (animator, scroll, value) => value !== undefined ? animator.getScale({ scale: value }, scroll).scale : undefined, sectionId, [layoutId]);
|
|
10
|
+
return scale;
|
|
11
|
+
};
|
|
12
|
+
exports.useItemScale = useItemScale;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useItemTriggers = useItemTriggers;
|
|
4
|
+
function useItemTriggers(interactionCtrl) {
|
|
5
|
+
return {
|
|
6
|
+
onClick: () => {
|
|
7
|
+
interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.sendTrigger('click');
|
|
8
|
+
},
|
|
9
|
+
onMouseEnter: () => {
|
|
10
|
+
interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.sendTrigger('hover-in');
|
|
11
|
+
},
|
|
12
|
+
onMouseLeave: () => {
|
|
13
|
+
interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.sendTrigger('hover-out');
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRichTextItemValues = void 0;
|
|
4
|
+
const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
|
|
5
|
+
const useKeyframeValue_1 = require("../../common/useKeyframeValue");
|
|
6
|
+
const useLayoutContext_1 = require("../useLayoutContext");
|
|
7
|
+
const DEFAULT_COLOR = 'rgba(0, 0, 0, 1)';
|
|
8
|
+
const useRichTextItemValues = (item, sectionId) => {
|
|
9
|
+
const layoutId = (0, useLayoutContext_1.useLayoutContext)();
|
|
10
|
+
const blur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Blur, (item, layoutId) => {
|
|
11
|
+
if (!layoutId)
|
|
12
|
+
return;
|
|
13
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
14
|
+
return 'blur' in layoutParams ? layoutParams.blur : 0;
|
|
15
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getBlur({ blur: value }, scroll).blur : undefined, sectionId, [layoutId]);
|
|
16
|
+
const letterSpacing = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.LetterSpacing, (item, layoutId) => {
|
|
17
|
+
if (!layoutId)
|
|
18
|
+
return;
|
|
19
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
20
|
+
return 'letterSpacing' in layoutParams ? layoutParams.letterSpacing : 0;
|
|
21
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getLetterSpacing({ letterSpacing: value }, scroll).letterSpacing : undefined, sectionId, [layoutId]);
|
|
22
|
+
const wordSpacing = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.WordSpacing, (item, layoutId) => {
|
|
23
|
+
if (!layoutId)
|
|
24
|
+
return;
|
|
25
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
26
|
+
return 'wordSpacing' in layoutParams ? layoutParams.wordSpacing : 0;
|
|
27
|
+
}, (animator, scroll, value) => value !== undefined ? animator.getWordSpacing({ wordSpacing: value }, scroll).wordSpacing : undefined, sectionId, [layoutId]);
|
|
28
|
+
const color = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.TextColor, (item, layoutId) => {
|
|
29
|
+
if (!layoutId)
|
|
30
|
+
return;
|
|
31
|
+
const layoutParams = item.layoutParams[layoutId];
|
|
32
|
+
return 'color' in layoutParams ? layoutParams.color : DEFAULT_COLOR;
|
|
33
|
+
}, (animator, scroll, value) => value ? animator.getTextColor({ color: value }, scroll).color : undefined, sectionId, [layoutId]);
|
|
34
|
+
const fontSize = layoutId ? item.layoutParams[layoutId].fontSize : undefined;
|
|
35
|
+
const lineHeight = layoutId ? item.layoutParams[layoutId].lineHeight : undefined;
|
|
36
|
+
return { blur, letterSpacing, wordSpacing, color, fontSize, lineHeight };
|
|
37
|
+
};
|
|
38
|
+
exports.useRichTextItemValues = useRichTextItemValues;
|