@gxpl/sdk 0.0.7 → 0.0.9

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.
Files changed (286) hide show
  1. package/{dist → lib}/index.d.ts +4 -8
  2. package/lib/index.js +1 -4
  3. package/{dist → lib}/sdk/Client/Client.d.ts +0 -2
  4. package/{dist → lib}/sdk/Client/Client.js +0 -11
  5. package/lib/sdk/FontFaceGenerator/FontFaceGenerator.js +28 -0
  6. package/lib/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.js +221 -0
  7. package/lib/sdk/VideoDecoder/VideoDecoder.js +184 -0
  8. package/{dist → lib}/sdk/schemas/article/Article.schema.d.ts +52 -57
  9. package/{dist → lib}/sdk/schemas/article/Article.schema.js +1 -1
  10. package/{dist → lib}/sdk/schemas/article/Item.schema.js +64 -84
  11. package/{dist → lib}/sdk/schemas/article/ItemBase.schema.d.ts +25 -28
  12. package/{dist → lib}/sdk/schemas/article/ItemBase.schema.js +3 -4
  13. package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.d.ts +102 -110
  14. package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.js +9 -11
  15. package/{dist → lib}/sdk/schemas/article/Section.schema.d.ts +23 -26
  16. package/{dist → lib}/sdk/schemas/article/Section.schema.js +4 -5
  17. package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.d.ts +0 -90
  18. package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.js +0 -1
  19. package/{dist → lib}/sdk/schemas/project/Project.schema.d.ts +3 -28
  20. package/{dist → lib}/sdk/schemas/project/Project.schema.js +1 -2
  21. package/{dist → lib}/sdk/types/article/Article.d.ts +1 -1
  22. package/{dist → lib}/sdk/types/article/Item.d.ts +75 -114
  23. package/{dist → lib}/sdk/types/article/Section.d.ts +4 -5
  24. package/{dist → lib}/sdk/types/keyframe/Keyframe.d.ts +1 -2
  25. package/{dist → lib}/sdk/types/project/Project.d.ts +1 -2
  26. package/lib/sdk/types/project/Project.js +2 -0
  27. package/lib/sdk-nextjs/common/useExemplary.js +9 -0
  28. package/lib/sdk-nextjs/common/useItemFXData.js +36 -0
  29. package/{dist → lib}/sdk-nextjs/common/useKeyframeValue.d.ts +1 -1
  30. package/lib/sdk-nextjs/common/useKeyframeValue.js +72 -0
  31. package/lib/sdk-nextjs/common/useLayoutDeviation.d.ts +5 -0
  32. package/lib/sdk-nextjs/common/useLayoutDeviation.js +20 -0
  33. package/lib/sdk-nextjs/common/useRegisterResize.js +22 -0
  34. package/lib/sdk-nextjs/components/Article.js +41 -0
  35. package/lib/sdk-nextjs/components/ArticleWrapper.js +11 -0
  36. package/lib/sdk-nextjs/components/Head.js +32 -0
  37. package/lib/sdk-nextjs/components/Page.js +20 -0
  38. package/{dist → lib}/sdk-nextjs/components/ScrollPlaybackVideo.d.ts +1 -1
  39. package/lib/sdk-nextjs/components/ScrollPlaybackVideo.js +46 -0
  40. package/lib/sdk-nextjs/components/Section/Section.js +66 -0
  41. package/lib/sdk-nextjs/components/Section/SectionImage.js +24 -0
  42. package/lib/sdk-nextjs/components/Section/SectionVideo.js +91 -0
  43. package/lib/sdk-nextjs/components/Section/useSectionHeightMap.d.ts +1 -0
  44. package/lib/sdk-nextjs/components/Section/useSectionHeightMap.js +12 -0
  45. package/lib/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.js +101 -0
  46. package/lib/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.d.ts +5 -0
  47. package/lib/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.js +10 -0
  48. package/lib/sdk-nextjs/components/items/ComponentItem/ComponentItem.js +41 -0
  49. package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/useComponentItem.d.ts +2 -2
  50. package/lib/sdk-nextjs/components/items/ComponentItem/useComponentItem.js +13 -0
  51. package/lib/sdk-nextjs/components/items/CompoundItem/CompoundChild.js +96 -0
  52. package/lib/sdk-nextjs/components/items/CompoundItem/CompoundItem.js +47 -0
  53. package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/useCompoundItem.d.ts +1 -1
  54. package/lib/sdk-nextjs/components/items/CompoundItem/useCompoundItem.js +9 -0
  55. package/lib/sdk-nextjs/components/items/CustomItem/CustomItem.js +35 -0
  56. package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.d.ts +2 -2
  57. package/lib/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.js +161 -0
  58. package/lib/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.js +154 -0
  59. package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.d.ts +3 -3
  60. package/lib/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.js +12 -0
  61. package/lib/sdk-nextjs/components/items/FileItem/ImageItem.js +134 -0
  62. package/lib/sdk-nextjs/components/items/FileItem/VideoItem.js +216 -0
  63. package/lib/sdk-nextjs/components/items/FileItem/useFileItem.d.ts +8 -0
  64. package/lib/sdk-nextjs/components/items/FileItem/useFileItem.js +21 -0
  65. package/lib/sdk-nextjs/components/items/GroupItem/GroupItem.js +45 -0
  66. package/{dist → lib}/sdk-nextjs/components/items/GroupItem/useGroupItem.d.ts +2 -2
  67. package/lib/sdk-nextjs/components/items/GroupItem/useGroupItem.js +10 -0
  68. package/lib/sdk-nextjs/components/items/Item.js +150 -0
  69. package/{dist → lib}/sdk-nextjs/components/items/LinkWrapper.d.ts +1 -1
  70. package/lib/sdk-nextjs/components/items/LinkWrapper.js +27 -0
  71. package/lib/sdk-nextjs/components/items/RectangleItem/RectangleItem.js +120 -0
  72. package/lib/sdk-nextjs/components/items/RectangleItem/useRectangleItem.d.ts +9 -0
  73. package/lib/sdk-nextjs/components/items/RectangleItem/useRectangleItem.js +22 -0
  74. package/lib/sdk-nextjs/components/items/RichTextItem/RichTextItem.js +75 -0
  75. package/lib/sdk-nextjs/components/items/RichTextItem/useRichTextItem.js +12 -0
  76. package/lib/sdk-nextjs/components/items/RichTextWrapper.js +10 -0
  77. package/lib/sdk-nextjs/components/items/itemsMap.js +28 -0
  78. package/lib/sdk-nextjs/components/items/useDraggable.js +177 -0
  79. package/{dist → lib}/sdk-nextjs/components/items/useItemAngle.d.ts +1 -1
  80. package/lib/sdk-nextjs/components/items/useItemAngle.js +10 -0
  81. package/{dist → lib}/sdk-nextjs/components/items/useItemArea.d.ts +4 -4
  82. package/lib/sdk-nextjs/components/items/useItemArea.js +15 -0
  83. package/lib/sdk-nextjs/components/items/useItemPointerEvents.js +23 -0
  84. package/{dist → lib}/sdk-nextjs/components/items/useItemScale.d.ts +1 -1
  85. package/lib/sdk-nextjs/components/items/useItemScale.js +10 -0
  86. package/lib/sdk-nextjs/components/items/useItemTriggers.js +16 -0
  87. package/lib/sdk-nextjs/components/items/useRichTextItemValues.d.ts +9 -0
  88. package/lib/sdk-nextjs/components/items/useRichTextItemValues.js +16 -0
  89. package/lib/sdk-nextjs/components/items/useSizing.js +20 -0
  90. package/lib/sdk-nextjs/components/items/useStickyItemTop.js +11 -0
  91. package/{dist → lib}/sdk-nextjs/interactions/CSSPropertyNameMap.d.ts +2 -2
  92. package/lib/sdk-nextjs/interactions/CSSPropertyNameMap.js +38 -0
  93. package/{dist → lib}/sdk-nextjs/interactions/InteractionsRegistry.d.ts +1 -1
  94. package/lib/sdk-nextjs/interactions/InteractionsRegistry.js +355 -0
  95. package/lib/sdk-nextjs/interactions/ItemInteractionCtrl.js +72 -0
  96. package/lib/sdk-nextjs/interactions/getTransition.js +20 -0
  97. package/{dist → lib}/sdk-nextjs/interactions/types.d.ts +3 -3
  98. package/lib/sdk-nextjs/interactions/useItemInteractionCtrl.js +16 -0
  99. package/{dist → lib}/sdk-nextjs/provider/ArticleRectContext.d.ts +1 -1
  100. package/lib/sdk-nextjs/provider/ArticleRectContext.js +5 -0
  101. package/{dist → lib}/sdk-nextjs/provider/CntrlContext.d.ts +1 -1
  102. package/lib/sdk-nextjs/provider/CntrlContext.js +6 -0
  103. package/lib/sdk-nextjs/provider/CntrlProvider.js +10 -0
  104. package/{dist → lib}/sdk-nextjs/provider/CntrlSdkContext.d.ts +5 -6
  105. package/lib/sdk-nextjs/provider/CntrlSdkContext.js +76 -0
  106. package/lib/sdk-nextjs/provider/CustomItemRegistry.js +16 -0
  107. package/{dist → lib}/sdk-nextjs/provider/CustomSectionRegistry.d.ts +1 -1
  108. package/lib/sdk-nextjs/provider/CustomSectionRegistry.js +21 -0
  109. package/{dist → lib}/sdk-nextjs/provider/InteractionsContext.d.ts +1 -1
  110. package/lib/sdk-nextjs/provider/InteractionsContext.js +48 -0
  111. package/{dist → lib}/sdk-nextjs/provider/Keyframes.d.ts +1 -1
  112. package/lib/sdk-nextjs/provider/Keyframes.js +12 -0
  113. package/lib/sdk-nextjs/provider/KeyframesContext.d.ts +2 -0
  114. package/lib/sdk-nextjs/provider/KeyframesContext.js +6 -0
  115. package/{dist → lib}/sdk-nextjs/provider/WebGLContextManagerContext.d.ts +1 -1
  116. package/lib/sdk-nextjs/provider/WebGLContextManagerContext.js +6 -0
  117. package/lib/sdk-nextjs/provider/defaultContext.js +9 -0
  118. package/lib/sdk-nextjs/provider/useCntrlContext.js +9 -0
  119. package/lib/sdk-nextjs/utils/Animator/Animator.js +443 -0
  120. package/lib/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.js +88 -0
  121. package/lib/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.js +18 -0
  122. package/lib/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.js +14 -0
  123. package/lib/sdk-nextjs/utils/EventEmitter.js +37 -0
  124. package/{dist → lib}/sdk-nextjs/utils/RichTextConverter/RichTextConverter.d.ts +1 -2
  125. package/lib/sdk-nextjs/utils/RichTextConverter/RichTextConverter.js +263 -0
  126. package/lib/sdk-nextjs/utils/ScaleAnchorMap.js +15 -0
  127. package/lib/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.js +64 -0
  128. package/lib/sdk-nextjs/utils/Youtube/YoutubeIframeApi.js +12 -0
  129. package/lib/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.js +13 -0
  130. package/lib/sdk-nextjs/utils/areFillsVisible/areFillsVisible.js +22 -0
  131. package/lib/sdk-nextjs/utils/binSearchInsertAt.js +35 -0
  132. package/lib/sdk-nextjs/utils/checkOverflowClipSupport.js +18 -0
  133. package/lib/sdk-nextjs/utils/effects/useImageFx.js +114 -0
  134. package/lib/sdk-nextjs/utils/effects/useVideoFx.js +117 -0
  135. package/lib/sdk-nextjs/utils/getAnchoredItemTop.js +14 -0
  136. package/lib/sdk-nextjs/utils/getCompoundBoundaryStyles.js +60 -0
  137. package/lib/sdk-nextjs/utils/getFill.js +42 -0
  138. package/lib/sdk-nextjs/utils/getFontFamilyValue.js +6 -0
  139. package/lib/sdk-nextjs/utils/getItemTopStyle.js +17 -0
  140. package/lib/sdk-nextjs/utils/getStyleFromItemStateAndParams.d.ts +1 -0
  141. package/lib/sdk-nextjs/utils/getStyleFromItemStateAndParams.js +8 -0
  142. package/lib/sdk-nextjs/utils/getValidYoutubeUrl.js +33 -0
  143. package/lib/sdk-nextjs/utils/isItemType.js +6 -0
  144. package/lib/sdk-nextjs/utils/rangeMap.js +11 -0
  145. package/lib/sdk-nextjs/utils/useElementRect.js +24 -0
  146. package/package.json +3 -3
  147. package/dist/cli.d.ts +0 -10
  148. package/dist/cli.js +0 -64
  149. package/dist/index.js +0 -7765
  150. package/dist/index.mjs +0 -7748
  151. package/dist/sdk/Client/Client.test.d.ts +0 -1
  152. package/dist/sdk/Client/__mock__/articleMock.d.ts +0 -2
  153. package/dist/sdk/Client/__mock__/keyframesMock.d.ts +0 -2
  154. package/dist/sdk/Client/__mock__/projectMock.d.ts +0 -2
  155. package/dist/sdk/Components/ControlSlider/ControlSlider.d.ts +0 -90
  156. package/dist/sdk/Components/ControlSlider/ControlSliderComponent.d.ts +0 -519
  157. package/dist/sdk/Components/ImageRevealSlider/ControlImageRevealSliderComponent.d.ts +0 -209
  158. package/dist/sdk/Components/ImageRevealSlider/ImageRevealSlider.d.ts +0 -38
  159. package/dist/sdk/Components/components.d.ts +0 -2
  160. package/dist/sdk/Components/helpers/RichTextRenderer/RichTextRenderer.d.ts +0 -6
  161. package/dist/sdk/Components/helpers/SvgImage/SvgImage.d.ts +0 -9
  162. package/dist/sdk/Components/utils/scalingValue.d.ts +0 -1
  163. package/dist/sdk/FontFaceGenerator/FontFaceGenerator.test.d.ts +0 -1
  164. package/dist/sdk/schemas/project/Layout.schema.d.ts +0 -17
  165. package/dist/sdk/schemas/project/Layout.schema.js +0 -10
  166. package/dist/sdk/schemas/shared/FillLayer.schema.d.ts +0 -186
  167. package/dist/sdk/types/component/Component.d.ts +0 -15
  168. package/dist/sdk/types/project/Layout.d.ts +0 -6
  169. package/dist/sdk-nextjs/common/useCurrentLayout.d.ts +0 -6
  170. package/dist/sdk-nextjs/components/LayoutStyle.d.ts +0 -9
  171. package/dist/sdk-nextjs/components/Section/useSectionColor.d.ts +0 -4
  172. package/dist/sdk-nextjs/components/Section/useSectionHeightMap.d.ts +0 -3
  173. package/dist/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.d.ts +0 -7
  174. package/dist/sdk-nextjs/components/items/FileItem/useFileItem.d.ts +0 -8
  175. package/dist/sdk-nextjs/components/items/RectangleItem/useRectangleItem.d.ts +0 -9
  176. package/dist/sdk-nextjs/components/items/useRichTextItemValues.d.ts +0 -9
  177. package/dist/sdk-nextjs/components/useLayoutContext.d.ts +0 -1
  178. package/dist/sdk-nextjs/provider/KeyframesContext.d.ts +0 -2
  179. package/dist/sdk-nextjs/provider/LayoutContext.d.ts +0 -1
  180. package/dist/sdk-nextjs/utils/StickyManager/StickyManager.d.ts +0 -10
  181. package/dist/sdk-nextjs/utils/areFillsVisible/areFillsVisible.test.d.ts +0 -1
  182. package/dist/sdk-nextjs/utils/castObject.d.ts +0 -5
  183. package/dist/sdk-nextjs/utils/getInvertedRanges.d.ts +0 -10
  184. package/dist/sdk-nextjs/utils/getStyleFromItemStateAndParams.d.ts +0 -1
  185. package/dist/sdk.css +0 -1
  186. package/dist/utils.d.ts +0 -3
  187. package/lib/cli.js +0 -64
  188. package/{dist → lib}/sdk/FontFaceGenerator/FontFaceGenerator.d.ts +0 -0
  189. package/{dist → lib}/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.d.ts +0 -0
  190. package/{dist → lib}/sdk/VideoDecoder/VideoDecoder.d.ts +0 -0
  191. package/{dist → lib}/sdk/schemas/article/FillLayer.schema.d.ts +0 -0
  192. package/{dist → lib}/sdk/schemas/article/FillLayer.schema.js +0 -0
  193. package/{dist → lib}/sdk/schemas/article/Interaction.schema.d.ts +0 -0
  194. package/{dist → lib}/sdk/schemas/article/Interaction.schema.js +0 -0
  195. package/{dist → lib}/sdk/schemas/article/Item.schema.d.ts +0 -0
  196. package/{dist → lib}/sdk/schemas/article/ItemArea.schema.d.ts +0 -0
  197. package/{dist → lib}/sdk/schemas/article/ItemArea.schema.js +0 -0
  198. package/{dist → lib}/sdk/schemas/article/ItemState.schema.d.ts +76 -76
  199. /package/{dist → lib}/sdk/schemas/article/ItemState.schema.js +0 -0
  200. /package/{dist/sdk/types/article/FX.js → lib/sdk/types/article/Article.js} +0 -0
  201. /package/{dist → lib}/sdk/types/article/ArticleItemType.d.ts +0 -0
  202. /package/{dist → lib}/sdk/types/article/ArticleItemType.js +0 -0
  203. /package/{dist → lib}/sdk/types/article/CompoundSettings.d.ts +0 -0
  204. /package/{dist/sdk/types/article/Interaction.js → lib/sdk/types/article/CompoundSettings.js} +0 -0
  205. /package/{dist → lib}/sdk/types/article/FX.d.ts +0 -0
  206. /package/{dist/sdk/types/project/Layout.js → lib/sdk/types/article/FX.js} +0 -0
  207. /package/{dist → lib}/sdk/types/article/Interaction.d.ts +0 -0
  208. /package/{dist/sdk/types/project/Meta.js → lib/sdk/types/article/Interaction.js} +0 -0
  209. /package/{dist → lib}/sdk/types/article/Item.js +0 -0
  210. /package/{dist → lib}/sdk/types/article/ItemArea.d.ts +0 -0
  211. /package/{dist → lib}/sdk/types/article/ItemArea.js +0 -0
  212. /package/{dist → lib}/sdk/types/article/ItemState.d.ts +0 -0
  213. /package/{dist → lib}/sdk/types/article/ItemState.js +0 -0
  214. /package/{dist → lib}/sdk/types/article/RichText.d.ts +0 -0
  215. /package/{dist → lib}/sdk/types/article/RichText.js +0 -0
  216. /package/{dist → lib}/sdk/types/article/Section.js +0 -0
  217. /package/{dist → lib}/sdk/types/keyframe/Keyframe.js +0 -0
  218. /package/{dist → lib}/sdk/types/project/Fonts.d.ts +0 -0
  219. /package/{dist → lib}/sdk/types/project/Fonts.js +0 -0
  220. /package/{dist → lib}/sdk/types/project/Meta.d.ts +0 -0
  221. /package/{dist/sdk/types/project/Page.js → lib/sdk/types/project/Meta.js} +0 -0
  222. /package/{dist → lib}/sdk/types/project/Page.d.ts +0 -0
  223. /package/{dist/sdk/types/project/Project.js → lib/sdk/types/project/Page.js} +0 -0
  224. /package/{dist → lib}/sdk-nextjs/common/useExemplary.d.ts +0 -0
  225. /package/{dist → lib}/sdk-nextjs/common/useItemFXData.d.ts +0 -0
  226. /package/{dist → lib}/sdk-nextjs/common/useRegisterResize.d.ts +0 -0
  227. /package/{dist → lib}/sdk-nextjs/components/Article.d.ts +0 -0
  228. /package/{dist → lib}/sdk-nextjs/components/ArticleWrapper.d.ts +0 -0
  229. /package/{dist → lib}/sdk-nextjs/components/Head.d.ts +0 -0
  230. /package/{dist → lib}/sdk-nextjs/components/Page.d.ts +0 -0
  231. /package/{dist → lib}/sdk-nextjs/components/Section/Section.d.ts +0 -0
  232. /package/{dist → lib}/sdk-nextjs/components/Section/SectionImage.d.ts +0 -0
  233. /package/{dist → lib}/sdk-nextjs/components/Section/SectionVideo.d.ts +0 -0
  234. /package/{dist → lib}/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.d.ts +0 -0
  235. /package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/ComponentItem.d.ts +0 -0
  236. /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundChild.d.ts +0 -0
  237. /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundItem.d.ts +0 -0
  238. /package/{dist → lib}/sdk-nextjs/components/items/CustomItem/CustomItem.d.ts +0 -0
  239. /package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.d.ts +0 -0
  240. /package/{dist → lib}/sdk-nextjs/components/items/FileItem/ImageItem.d.ts +0 -0
  241. /package/{dist → lib}/sdk-nextjs/components/items/FileItem/VideoItem.d.ts +0 -0
  242. /package/{dist → lib}/sdk-nextjs/components/items/GroupItem/GroupItem.d.ts +0 -0
  243. /package/{dist → lib}/sdk-nextjs/components/items/Item.d.ts +0 -0
  244. /package/{dist → lib}/sdk-nextjs/components/items/RectangleItem/RectangleItem.d.ts +0 -0
  245. /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/RichTextItem.d.ts +0 -0
  246. /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/useRichTextItem.d.ts +0 -0
  247. /package/{dist → lib}/sdk-nextjs/components/items/RichTextWrapper.d.ts +0 -0
  248. /package/{dist → lib}/sdk-nextjs/components/items/itemsMap.d.ts +0 -0
  249. /package/{dist → lib}/sdk-nextjs/components/items/useDraggable.d.ts +0 -0
  250. /package/{dist → lib}/sdk-nextjs/components/items/useItemPointerEvents.d.ts +0 -0
  251. /package/{dist → lib}/sdk-nextjs/components/items/useItemTriggers.d.ts +0 -0
  252. /package/{dist → lib}/sdk-nextjs/components/items/useSizing.d.ts +0 -0
  253. /package/{dist → lib}/sdk-nextjs/components/items/useStickyItemTop.d.ts +0 -0
  254. /package/{dist → lib}/sdk-nextjs/interactions/ItemInteractionCtrl.d.ts +0 -0
  255. /package/{dist → lib}/sdk-nextjs/interactions/getTransition.d.ts +0 -0
  256. /package/{dist/sdk/types/article/Article.js → lib/sdk-nextjs/interactions/types.js} +0 -0
  257. /package/{dist → lib}/sdk-nextjs/interactions/useItemInteractionCtrl.d.ts +0 -0
  258. /package/{dist → lib}/sdk-nextjs/provider/CntrlProvider.d.ts +0 -0
  259. /package/{dist → lib}/sdk-nextjs/provider/CustomItemRegistry.d.ts +0 -0
  260. /package/{dist → lib}/sdk-nextjs/provider/CustomItemTypes.d.ts +0 -0
  261. /package/{dist/sdk/types/article/CompoundSettings.js → lib/sdk-nextjs/provider/CustomItemTypes.js} +0 -0
  262. /package/{dist → lib}/sdk-nextjs/provider/defaultContext.d.ts +0 -0
  263. /package/{dist → lib}/sdk-nextjs/provider/useCntrlContext.d.ts +0 -0
  264. /package/{dist → lib}/sdk-nextjs/utils/Animator/Animator.d.ts +0 -0
  265. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.d.ts +0 -0
  266. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.d.ts +0 -0
  267. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.d.ts +0 -0
  268. /package/{dist → lib}/sdk-nextjs/utils/EventEmitter.d.ts +0 -0
  269. /package/{dist → lib}/sdk-nextjs/utils/ScaleAnchorMap.d.ts +0 -0
  270. /package/{dist → lib}/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.d.ts +0 -0
  271. /package/{dist → lib}/sdk-nextjs/utils/Youtube/YoutubeIframeApi.d.ts +0 -0
  272. /package/{dist → lib}/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.d.ts +0 -0
  273. /package/{dist → lib}/sdk-nextjs/utils/areFillsVisible/areFillsVisible.d.ts +0 -0
  274. /package/{dist → lib}/sdk-nextjs/utils/binSearchInsertAt.d.ts +0 -0
  275. /package/{dist → lib}/sdk-nextjs/utils/checkOverflowClipSupport.d.ts +0 -0
  276. /package/{dist → lib}/sdk-nextjs/utils/effects/useImageFx.d.ts +0 -0
  277. /package/{dist → lib}/sdk-nextjs/utils/effects/useVideoFx.d.ts +0 -0
  278. /package/{dist → lib}/sdk-nextjs/utils/getAnchoredItemTop.d.ts +0 -0
  279. /package/{dist → lib}/sdk-nextjs/utils/getCompoundBoundaryStyles.d.ts +0 -0
  280. /package/{dist → lib}/sdk-nextjs/utils/getFill.d.ts +0 -0
  281. /package/{dist → lib}/sdk-nextjs/utils/getFontFamilyValue.d.ts +0 -0
  282. /package/{dist → lib}/sdk-nextjs/utils/getItemTopStyle.d.ts +0 -0
  283. /package/{dist → lib}/sdk-nextjs/utils/getValidYoutubeUrl.d.ts +0 -0
  284. /package/{dist → lib}/sdk-nextjs/utils/isItemType.d.ts +0 -0
  285. /package/{dist → lib}/sdk-nextjs/utils/rangeMap.d.ts +0 -0
  286. /package/{dist → lib}/sdk-nextjs/utils/useElementRect.d.ts +0 -0
@@ -0,0 +1,9 @@
1
+ import { FillLayer, RectangleItem } from '../../../../sdk/types/article/Item';
2
+ export declare function useRectangleItem(item: RectangleItem, sectionId: string): {
3
+ fill: FillLayer[];
4
+ strokeWidth: number;
5
+ radius: number;
6
+ strokeFill: FillLayer[];
7
+ blur: number;
8
+ backdropBlur: number;
9
+ };
@@ -0,0 +1,22 @@
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 defaultFill = [
7
+ {
8
+ id: 'default',
9
+ type: 'solid',
10
+ value: 'rgba(0, 0, 0, 1)',
11
+ blendMode: 'normal'
12
+ }
13
+ ];
14
+ function useRectangleItem(item, sectionId) {
15
+ const radius = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderRadius, (item) => 'radius' in item.params ? item.params.radius : 0, (animator, scroll, value) => animator.getRadius({ radius: value }, scroll).radius, sectionId);
16
+ const strokeWidth = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderWidth, (item) => 'strokeWidth' in item.params ? item.params.strokeWidth : 0, (animator, scroll, value) => animator.getBorderWidth({ borderWidth: value }, scroll).borderWidth, sectionId);
17
+ const fill = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Fill, (item) => 'fill' in item.params ? item.params.fill : defaultFill, (animator, scroll, value) => animator.getFill(value, scroll), sectionId);
18
+ const strokeFill = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BorderFill, (item) => 'strokeFill' in item.params ? item.params.strokeFill : defaultFill, (animator, scroll, value) => animator.getBorderFill(value, scroll), sectionId);
19
+ const blur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Blur, (item) => 'blur' in item.params ? item.params.blur : 0, (animator, scroll, value) => animator.getBlur({ blur: value }, scroll).blur, sectionId);
20
+ const backdropBlur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.BackdropBlur, (item) => 'backdropBlur' in item.params ? item.params.backdropBlur : 0, (animator, scroll, value) => animator.getBackdropBlur({ backdropBlur: value }, scroll).backdropBlur, sectionId);
21
+ return { fill, strokeWidth, radius, strokeFill, blur, backdropBlur };
22
+ }
@@ -0,0 +1,75 @@
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 useRichTextItemValues_1 = require("../useRichTextItemValues");
13
+ const useRegisterResize_1 = require("../../../common/useRegisterResize");
14
+ const getFontFamilyValue_1 = require("../../../utils/getFontFamilyValue");
15
+ const useExemplary_1 = require("../../../common/useExemplary");
16
+ const useItemAngle_1 = require("../useItemAngle");
17
+ const getStyleFromItemStateAndParams_1 = require("../../../utils/getStyleFromItemStateAndParams");
18
+ const RichTextItem = ({ item, sectionId, onResize, interactionCtrl, onVisibilityChange }) => {
19
+ var _a, _b, _c;
20
+ const id = (0, react_1.useId)();
21
+ const [ref, setRef] = (0, react_1.useState)(null);
22
+ const itemAngle = (0, useItemAngle_1.useItemAngle)(item, sectionId);
23
+ const { blur: itemBlur, wordSpacing: itemWordSpacing, letterSpacing: itemLetterSpacing, color: itemColor, fontSize, lineHeight } = (0, useRichTextItemValues_1.useRichTextItemValues)(item, sectionId);
24
+ const exemplary = (0, useExemplary_1.useExemplary)();
25
+ (0, useRegisterResize_1.useRegisterResize)(ref, onResize);
26
+ const stateParams = interactionCtrl === null || interactionCtrl === void 0 ? void 0 : interactionCtrl.getState(['angle', 'blur', 'letterSpacing', 'wordSpacing', 'color']);
27
+ const stateStyles = (_a = stateParams === null || stateParams === void 0 ? void 0 : stateParams.styles) !== null && _a !== void 0 ? _a : {};
28
+ const transition = (_b = stateParams === null || stateParams === void 0 ? void 0 : stateParams.transition) !== null && _b !== void 0 ? _b : 'none';
29
+ const textColor = (0, react_1.useMemo)(() => {
30
+ var _a;
31
+ 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);
32
+ return color ? color_1.CntrlColor.parse(color) : undefined;
33
+ }, [itemColor, stateStyles.color]);
34
+ const angle = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.angle, itemAngle);
35
+ const blur = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.blur, itemBlur);
36
+ const letterSpacing = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.letterSpacing, itemLetterSpacing);
37
+ const wordSpacing = (0, getStyleFromItemStateAndParams_1.getStyleFromItemStateAndParams)(stateStyles.wordSpacing, itemWordSpacing);
38
+ const colorAlpha = textColor === null || textColor === void 0 ? void 0 : textColor.getAlpha();
39
+ const rangeStyles = (_c = item.params.rangeStyles) !== null && _c !== void 0 ? _c : [];
40
+ const rangeColors = rangeStyles.filter((style) => style.style === 'COLOR');
41
+ const hasVisibleRangeColors = rangeColors.some((color) => {
42
+ const alpha = color_1.CntrlColor.parse(color.value).getAlpha();
43
+ return alpha > 0;
44
+ });
45
+ const isInteractive = colorAlpha !== 0 || hasVisibleRangeColors;
46
+ const [content, styles] = (0, useRichTextItem_1.useRichTextItem)(item);
47
+ (0, react_1.useEffect)(() => {
48
+ onVisibilityChange === null || onVisibilityChange === void 0 ? void 0 : onVisibilityChange(isInteractive);
49
+ }, [isInteractive, onVisibilityChange]);
50
+ const color = color_1.CntrlColor.parse(item.params.color);
51
+ 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({ filter: `blur(${blur * 100}vw)` }, (textColor ? { color: `${textColor.fmt('rgba')}` } : {})), { transform: `rotate(${angle}deg)`, letterSpacing: `${letterSpacing * exemplary}px`, wordSpacing: `${wordSpacing * exemplary}px`, fontSize: `${Math.round(fontSize * exemplary)}px`, 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, `
52
+ .rich-text-wrapper-${item.id} {
53
+ font-size: ${item.params.fontSize * 100}vw;
54
+ line-height: ${item.params.lineHeight * 100}vw;
55
+ letter-spacing: ${item.params.letterSpacing * 100}vw;
56
+ word-spacing: ${item.params.wordSpacing * 100}vw;
57
+ font-family: ${(0, getFontFamilyValue_1.getFontFamilyValue)(item.params.typeFace)};
58
+ font-weight: ${item.params.fontWeight};
59
+ font-style: ${item.params.fontStyle ? item.params.fontStyle : 'normal'};
60
+ vertical-align: ${item.params.verticalAlign};
61
+ font-variant: ${item.params.fontVariant};
62
+ color: ${color.fmt('rgba')};
63
+ transform: rotate(${item.area.angle}deg);
64
+ filter: ${item.params.blur !== 0 ? `blur(${item.params.blur * 100}vw)` : 'unset'};
65
+ text-transform: ${item.params.textTransform};
66
+ ${item.params.blur !== 0 ? 'will-change: transform;' : ''}
67
+ }
68
+ @supports not (color: oklch(42% 0.3 90 / 1)) {
69
+ .rich-text-wrapper-${item.id} {
70
+ color: ${color.fmt('rgba')};
71
+ }
72
+ }
73
+ `] })] }));
74
+ };
75
+ 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 { exemplary } = (0, useCntrlContext_1.useCntrlContext)();
9
+ const [content, styles] = richTextConverter.toHtml(item, exemplary);
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
+ }
@@ -1,2 +1,2 @@
1
1
  import { ItemAny } from '../../../sdk/types/article/Item';
2
- export declare const useItemAngle: (item: ItemAny, sectionId: string) => number | undefined;
2
+ export declare const useItemAngle: (item: ItemAny, sectionId: string) => number;
@@ -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) => item.area.angle, (animator, scroll, value) => animator.getRotation({ angle: value }, scroll).angle, sectionId);
8
+ return angle;
9
+ };
10
+ exports.useItemAngle = useItemAngle;
@@ -5,8 +5,8 @@ export declare function useItemArea(item: ItemAny, sectionId: string, stateValue
5
5
  width?: number;
6
6
  height?: number;
7
7
  }): {
8
- width: number | undefined;
9
- height: number | undefined;
10
- top: number | undefined;
11
- left: number | undefined;
8
+ width: number;
9
+ height: number;
10
+ top: number;
11
+ left: number;
12
12
  };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useItemArea = useItemArea;
4
+ const useKeyframeValue_1 = require("../../common/useKeyframeValue");
5
+ const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
6
+ function useItemArea(item, sectionId, stateValues) {
7
+ var _a, _b, _c, _d;
8
+ const position = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Position, (item) => item.area, (animator, scroll, value) => animator.getPositions(value, scroll), sectionId);
9
+ const dimensions = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Dimensions, (item) => item.area, (animator, scroll, value) => animator.getDimensions(value, scroll), sectionId);
10
+ const width = ((_a = stateValues.width) !== null && _a !== void 0 ? _a : dimensions === null || dimensions === void 0 ? void 0 : dimensions.width);
11
+ const height = ((_b = stateValues.height) !== null && _b !== void 0 ? _b : dimensions === null || dimensions === void 0 ? void 0 : dimensions.height);
12
+ const top = ((_c = stateValues.top) !== null && _c !== void 0 ? _c : position === null || position === void 0 ? void 0 : position.top);
13
+ const left = ((_d = stateValues.left) !== null && _d !== void 0 ? _d : position === null || position === void 0 ? void 0 : position.left);
14
+ return { width, height, top, left };
15
+ }
@@ -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
+ }
@@ -1,2 +1,2 @@
1
1
  import { ItemAny } from '../../../sdk/types/article/Item';
2
- export declare const useItemScale: (item: ItemAny, sectionId: string) => number | undefined;
2
+ export declare const useItemScale: (item: ItemAny, sectionId: string) => number;
@@ -0,0 +1,10 @@
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 useItemScale = (item, sectionId) => {
7
+ const scale = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Scale, (item) => item.area.scale, (animator, scroll, value) => animator.getScale({ scale: value }, scroll).scale, sectionId);
8
+ return scale;
9
+ };
10
+ 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,9 @@
1
+ import { RichTextItem } from '../../../sdk/types/article/Item';
2
+ export declare const useRichTextItemValues: (item: RichTextItem, sectionId: string) => {
3
+ blur: number;
4
+ letterSpacing: number;
5
+ wordSpacing: number;
6
+ color: string;
7
+ fontSize: number;
8
+ lineHeight: number;
9
+ };
@@ -0,0 +1,16 @@
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 DEFAULT_COLOR = 'rgba(0, 0, 0, 1)';
7
+ const useRichTextItemValues = (item, sectionId) => {
8
+ const blur = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Blur, (item) => 'blur' in item.params ? item.params.blur : 0, (animator, scroll, value) => animator.getBlur({ blur: value }, scroll).blur, sectionId);
9
+ const letterSpacing = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.LetterSpacing, (item) => 'letterSpacing' in item.params ? item.params.letterSpacing : 0, (animator, scroll, value) => animator.getLetterSpacing({ letterSpacing: value }, scroll).letterSpacing, sectionId);
10
+ const wordSpacing = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.WordSpacing, (item) => 'wordSpacing' in item.params ? item.params.wordSpacing : 0, (animator, scroll, value) => animator.getWordSpacing({ wordSpacing: value }, scroll).wordSpacing, sectionId);
11
+ const color = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.TextColor, (item) => 'color' in item.params ? item.params.color : DEFAULT_COLOR, (animator, scroll, value) => animator.getTextColor({ color: value }, scroll).color, sectionId);
12
+ const fontSize = item.params.fontSize;
13
+ const lineHeight = item.params.lineHeight;
14
+ return { blur, letterSpacing, wordSpacing, color, fontSize, lineHeight };
15
+ };
16
+ exports.useRichTextItemValues = useRichTextItemValues;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSizing = useSizing;
4
+ exports.parseSizing = parseSizing;
5
+ const ArticleItemType_1 = require("../../../sdk/types/article/ArticleItemType");
6
+ const isItemType_1 = require("../../utils/isItemType");
7
+ function useSizing(item) {
8
+ const sizing = (0, isItemType_1.isItemType)(item, ArticleItemType_1.ArticleItemType.RichText)
9
+ ? item.params.sizing
10
+ : undefined;
11
+ const sizingAxis = parseSizing(sizing);
12
+ return sizingAxis;
13
+ }
14
+ function parseSizing(sizing = 'manual') {
15
+ const axisSizing = sizing.split(' ');
16
+ return {
17
+ y: axisSizing[0],
18
+ x: axisSizing[1] ? axisSizing[1] : axisSizing[0]
19
+ };
20
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useStickyItemTop = useStickyItemTop;
4
+ const Keyframe_1 = require("../../../sdk/types/keyframe/Keyframe");
5
+ const useKeyframeValue_1 = require("../../common/useKeyframeValue");
6
+ function useStickyItemTop(item, sectionId, stateTop) {
7
+ const data = (0, useKeyframeValue_1.useKeyframeValue)(item, Keyframe_1.KeyframeType.Position, (item) => item.area, (animator, scroll, value) => animator.getPositions(value, scroll), sectionId);
8
+ const top = data.top;
9
+ const sticky = item.sticky;
10
+ return sticky ? (stateTop !== null && stateTop !== void 0 ? stateTop : top) - sticky.from : 0;
11
+ }
@@ -1,4 +1,4 @@
1
- import { ArticleItemType } from '../../sdk/types/article/ArticleItemType';
2
- import { ItemState } from '../../sdk/types/article/ItemState';
1
+ import { ArticleItemType } from "../../sdk/types/article/ArticleItemType";
2
+ import { ItemState } from "../../sdk/types/article/ItemState";
3
3
  export declare const CSSPropertyNameMap: Record<keyof ItemState<ArticleItemType>, string>;
4
4
  export declare function getStyleKeysFromCSSProperty(cssProp: string): string[];
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CSSPropertyNameMap = void 0;
4
+ exports.getStyleKeysFromCSSProperty = getStyleKeysFromCSSProperty;
5
+ exports.CSSPropertyNameMap = {
6
+ width: 'width',
7
+ height: 'height',
8
+ top: 'top',
9
+ left: 'left',
10
+ scale: 'transform',
11
+ angle: 'transform',
12
+ opacity: 'opacity',
13
+ radius: 'border-radius',
14
+ strokeWidth: 'border-width',
15
+ strokeFill: 'border-color',
16
+ fill: 'background',
17
+ blur: 'filter',
18
+ backdropBlur: 'backdrop-filter',
19
+ letterSpacing: 'letter-spacing',
20
+ wordSpacing: 'word-spacing',
21
+ color: 'color'
22
+ };
23
+ const PropertyNameCSSMap = {
24
+ 'transform': ['angle', 'scale'],
25
+ 'border-radius': ['radius'],
26
+ 'border-width': ['strokeWidth'],
27
+ 'border-color': ['strokeFill'],
28
+ 'background': ['fill'],
29
+ 'filter': ['blur'],
30
+ 'backdrop-filter': ['backdrop-blur'],
31
+ 'letter-spacing': ['letterSpacing'],
32
+ 'word-spacing': ['wordSpacing'],
33
+ };
34
+ function getStyleKeysFromCSSProperty(cssProp) {
35
+ var _a;
36
+ const key = (_a = PropertyNameCSSMap[cssProp]) !== null && _a !== void 0 ? _a : [cssProp];
37
+ return key;
38
+ }
@@ -9,7 +9,7 @@ export declare class InteractionsRegistry implements InteractionsRegistryPort {
9
9
  private interactionStateMap;
10
10
  private itemsStages;
11
11
  private activeStateIdInteractionIdMap;
12
- constructor(article: Article, layoutId: string);
12
+ constructor(article: Article);
13
13
  register(itemId: ItemId, ctrl: ItemInteractionCtrl): void;
14
14
  getStatePropsForItem(itemId: string): StateProps;
15
15
  getItemAvailableTriggers(itemId: string): Set<InteractionItemTrigger['type']>;