@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.
Files changed (283) hide show
  1. package/{dist → lib}/index.d.ts +3 -4
  2. package/lib/sdk/FontFaceGenerator/FontFaceGenerator.js +28 -0
  3. package/lib/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.js +221 -0
  4. package/lib/sdk/VideoDecoder/VideoDecoder.js +184 -0
  5. package/{dist → lib}/sdk/schemas/article/Article.schema.d.ts +12 -12
  6. package/{dist → lib}/sdk/schemas/article/ItemBase.schema.d.ts +10 -10
  7. package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.d.ts +30 -30
  8. package/{dist → lib}/sdk/schemas/article/Section.schema.d.ts +3 -3
  9. package/{dist → lib}/sdk/types/component/Component.d.ts +1 -1
  10. package/{dist → lib}/sdk/types/keyframe/Keyframe.d.ts +1 -1
  11. package/lib/sdk/types/project/Meta.js +2 -0
  12. package/lib/sdk/types/project/Page.js +2 -0
  13. package/lib/sdk/types/project/Project.js +2 -0
  14. package/lib/sdk-nextjs/common/useCurrentLayout.js +42 -0
  15. package/lib/sdk-nextjs/common/useExemplary.js +13 -0
  16. package/lib/sdk-nextjs/common/useItemFXData.js +36 -0
  17. package/lib/sdk-nextjs/common/useKeyframeValue.js +75 -0
  18. package/lib/sdk-nextjs/common/useRegisterResize.js +22 -0
  19. package/lib/sdk-nextjs/components/Article.js +41 -0
  20. package/lib/sdk-nextjs/components/ArticleWrapper.js +12 -0
  21. package/lib/sdk-nextjs/components/Head.js +32 -0
  22. package/lib/sdk-nextjs/components/Page.js +20 -0
  23. package/{dist → lib}/sdk-nextjs/components/ScrollPlaybackVideo.d.ts +1 -1
  24. package/lib/sdk-nextjs/components/ScrollPlaybackVideo.js +46 -0
  25. package/lib/sdk-nextjs/components/Section/Section.js +85 -0
  26. package/lib/sdk-nextjs/components/Section/SectionImage.js +24 -0
  27. package/lib/sdk-nextjs/components/Section/SectionVideo.js +91 -0
  28. package/lib/sdk-nextjs/components/Section/useSectionHeightMap.js +20 -0
  29. package/lib/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.js +120 -0
  30. package/lib/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.js +24 -0
  31. package/lib/sdk-nextjs/components/items/ComponentItem/ComponentItem.js +51 -0
  32. package/lib/sdk-nextjs/components/items/ComponentItem/useComponentItem.js +25 -0
  33. package/lib/sdk-nextjs/components/items/CompoundItem/CompoundChild.js +102 -0
  34. package/lib/sdk-nextjs/components/items/CompoundItem/CompoundItem.js +53 -0
  35. package/lib/sdk-nextjs/components/items/CompoundItem/useCompoundItem.js +16 -0
  36. package/lib/sdk-nextjs/components/items/CustomItem/CustomItem.js +40 -0
  37. package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.d.ts +2 -2
  38. package/lib/sdk-nextjs/components/items/EmbedVideoItem/VimeoEmbed.js +170 -0
  39. package/lib/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.js +166 -0
  40. package/lib/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.js +29 -0
  41. package/lib/sdk-nextjs/components/items/FileItem/ImageItem.js +140 -0
  42. package/lib/sdk-nextjs/components/items/FileItem/VideoItem.js +227 -0
  43. package/{dist → lib}/sdk-nextjs/components/items/FileItem/useFileItem.d.ts +1 -1
  44. package/lib/sdk-nextjs/components/items/FileItem/useFileItem.js +48 -0
  45. package/lib/sdk-nextjs/components/items/GroupItem/GroupItem.js +55 -0
  46. package/lib/sdk-nextjs/components/items/GroupItem/useGroupItem.js +22 -0
  47. package/lib/sdk-nextjs/components/items/Item.js +175 -0
  48. package/{dist → lib}/sdk-nextjs/components/items/LinkWrapper.d.ts +1 -1
  49. package/lib/sdk-nextjs/components/items/LinkWrapper.js +27 -0
  50. package/lib/sdk-nextjs/components/items/RectangleItem/RectangleItem.js +130 -0
  51. package/lib/sdk-nextjs/components/items/RectangleItem/useRectangleItem.js +54 -0
  52. package/lib/sdk-nextjs/components/items/RichTextItem/RichTextItem.js +83 -0
  53. package/lib/sdk-nextjs/components/items/RichTextItem/useRichTextItem.js +12 -0
  54. package/lib/sdk-nextjs/components/items/RichTextWrapper.js +10 -0
  55. package/lib/sdk-nextjs/components/items/itemsMap.js +28 -0
  56. package/lib/sdk-nextjs/components/items/useDraggable.js +177 -0
  57. package/lib/sdk-nextjs/components/items/useItemAngle.js +10 -0
  58. package/lib/sdk-nextjs/components/items/useItemArea.js +21 -0
  59. package/lib/sdk-nextjs/components/items/useItemPointerEvents.js +23 -0
  60. package/lib/sdk-nextjs/components/items/useItemScale.js +12 -0
  61. package/lib/sdk-nextjs/components/items/useItemTriggers.js +16 -0
  62. package/lib/sdk-nextjs/components/items/useRichTextItemValues.js +38 -0
  63. package/lib/sdk-nextjs/components/items/useSizing.js +22 -0
  64. package/lib/sdk-nextjs/components/items/useStickyItemTop.js +17 -0
  65. package/lib/sdk-nextjs/components/useLayoutContext.js +9 -0
  66. package/{dist → lib}/sdk-nextjs/interactions/CSSPropertyNameMap.d.ts +2 -2
  67. package/lib/sdk-nextjs/interactions/CSSPropertyNameMap.js +38 -0
  68. package/lib/sdk-nextjs/interactions/InteractionsRegistry.js +355 -0
  69. package/lib/sdk-nextjs/interactions/ItemInteractionCtrl.js +72 -0
  70. package/lib/sdk-nextjs/interactions/getTransition.js +20 -0
  71. package/{dist → lib}/sdk-nextjs/interactions/types.d.ts +3 -3
  72. package/lib/sdk-nextjs/interactions/useItemInteractionCtrl.js +16 -0
  73. package/{dist → lib}/sdk-nextjs/provider/ArticleRectContext.d.ts +1 -1
  74. package/lib/sdk-nextjs/provider/ArticleRectContext.js +5 -0
  75. package/{dist → lib}/sdk-nextjs/provider/CntrlContext.d.ts +1 -1
  76. package/lib/sdk-nextjs/provider/CntrlContext.js +6 -0
  77. package/lib/sdk-nextjs/provider/CntrlProvider.js +10 -0
  78. package/lib/sdk-nextjs/provider/CntrlSdkContext.js +76 -0
  79. package/lib/sdk-nextjs/provider/CustomItemRegistry.js +16 -0
  80. package/{dist → lib}/sdk-nextjs/provider/CustomSectionRegistry.d.ts +1 -1
  81. package/lib/sdk-nextjs/provider/CustomSectionRegistry.js +21 -0
  82. package/{dist → lib}/sdk-nextjs/provider/InteractionsContext.d.ts +1 -1
  83. package/lib/sdk-nextjs/provider/InteractionsContext.js +52 -0
  84. package/{dist → lib}/sdk-nextjs/provider/Keyframes.d.ts +1 -1
  85. package/lib/sdk-nextjs/provider/Keyframes.js +12 -0
  86. package/lib/sdk-nextjs/provider/KeyframesContext.d.ts +2 -0
  87. package/lib/sdk-nextjs/provider/KeyframesContext.js +6 -0
  88. package/lib/sdk-nextjs/provider/LayoutContext.d.ts +1 -0
  89. package/lib/sdk-nextjs/provider/LayoutContext.js +5 -0
  90. package/{dist → lib}/sdk-nextjs/provider/WebGLContextManagerContext.d.ts +1 -1
  91. package/lib/sdk-nextjs/provider/WebGLContextManagerContext.js +6 -0
  92. package/lib/sdk-nextjs/provider/defaultContext.js +9 -0
  93. package/lib/sdk-nextjs/provider/useCntrlContext.js +9 -0
  94. package/lib/sdk-nextjs/utils/Animator/Animator.js +443 -0
  95. package/lib/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.js +88 -0
  96. package/lib/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.js +18 -0
  97. package/lib/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.js +14 -0
  98. package/lib/sdk-nextjs/utils/EventEmitter.js +37 -0
  99. package/lib/sdk-nextjs/utils/RichTextConverter/RichTextConverter.js +288 -0
  100. package/lib/sdk-nextjs/utils/ScaleAnchorMap.js +15 -0
  101. package/lib/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.js +64 -0
  102. package/lib/sdk-nextjs/utils/Youtube/YoutubeIframeApi.js +12 -0
  103. package/lib/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.js +13 -0
  104. package/lib/sdk-nextjs/utils/areFillsVisible/areFillsVisible.js +22 -0
  105. package/lib/sdk-nextjs/utils/binSearchInsertAt.js +35 -0
  106. package/lib/sdk-nextjs/utils/checkOverflowClipSupport.js +18 -0
  107. package/lib/sdk-nextjs/utils/effects/useImageFx.js +114 -0
  108. package/lib/sdk-nextjs/utils/effects/useVideoFx.js +117 -0
  109. package/lib/sdk-nextjs/utils/getAnchoredItemTop.js +14 -0
  110. package/lib/sdk-nextjs/utils/getCompoundBoundaryStyles.js +60 -0
  111. package/lib/sdk-nextjs/utils/getFill.js +42 -0
  112. package/lib/sdk-nextjs/utils/getFontFamilyValue.js +6 -0
  113. package/lib/sdk-nextjs/utils/getItemTopStyle.js +17 -0
  114. package/lib/sdk-nextjs/utils/getStyleFromItemStateAndParams.js +8 -0
  115. package/lib/sdk-nextjs/utils/getValidYoutubeUrl.js +33 -0
  116. package/lib/sdk-nextjs/utils/isItemType.js +6 -0
  117. package/lib/sdk-nextjs/utils/rangeMap.js +11 -0
  118. package/lib/sdk-nextjs/utils/useElementRect.js +24 -0
  119. package/lib/utils.js +30 -0
  120. package/package.json +3 -3
  121. package/dist/cli.js +0 -64
  122. package/dist/index.js +0 -7765
  123. package/dist/index.mjs +0 -7748
  124. package/dist/sdk/Client/Client.test.d.ts +0 -1
  125. package/dist/sdk/Client/__mock__/articleMock.d.ts +0 -2
  126. package/dist/sdk/Client/__mock__/keyframesMock.d.ts +0 -2
  127. package/dist/sdk/Client/__mock__/projectMock.d.ts +0 -2
  128. package/dist/sdk/Components/ControlSlider/ControlSlider.d.ts +0 -90
  129. package/dist/sdk/Components/ControlSlider/ControlSliderComponent.d.ts +0 -519
  130. package/dist/sdk/Components/ImageRevealSlider/ControlImageRevealSliderComponent.d.ts +0 -209
  131. package/dist/sdk/Components/ImageRevealSlider/ImageRevealSlider.d.ts +0 -38
  132. package/dist/sdk/Components/components.d.ts +0 -2
  133. package/dist/sdk/Components/helpers/RichTextRenderer/RichTextRenderer.d.ts +0 -6
  134. package/dist/sdk/Components/helpers/SvgImage/SvgImage.d.ts +0 -9
  135. package/dist/sdk/Components/utils/scalingValue.d.ts +0 -1
  136. package/dist/sdk/FontFaceGenerator/FontFaceGenerator.test.d.ts +0 -1
  137. package/dist/sdk/schemas/shared/FillLayer.schema.d.ts +0 -186
  138. package/dist/sdk-nextjs/components/LayoutStyle.d.ts +0 -9
  139. package/dist/sdk-nextjs/components/Section/useSectionColor.d.ts +0 -4
  140. package/dist/sdk-nextjs/provider/KeyframesContext.d.ts +0 -2
  141. package/dist/sdk-nextjs/provider/LayoutContext.d.ts +0 -1
  142. package/dist/sdk-nextjs/utils/StickyManager/StickyManager.d.ts +0 -10
  143. package/dist/sdk-nextjs/utils/areFillsVisible/areFillsVisible.test.d.ts +0 -1
  144. package/dist/sdk-nextjs/utils/castObject.d.ts +0 -5
  145. package/dist/sdk-nextjs/utils/getInvertedRanges.d.ts +0 -10
  146. package/dist/sdk.css +0 -1
  147. /package/{dist → lib}/cli.d.ts +0 -0
  148. /package/{dist → lib}/sdk/Client/Client.d.ts +0 -0
  149. /package/{dist → lib}/sdk/Client/Client.js +0 -0
  150. /package/{dist → lib}/sdk/FontFaceGenerator/FontFaceGenerator.d.ts +0 -0
  151. /package/{dist → lib}/sdk/ScrollPlaybackVideoManager/ScrollPlaybackVideoManager.d.ts +0 -0
  152. /package/{dist → lib}/sdk/VideoDecoder/VideoDecoder.d.ts +0 -0
  153. /package/{dist → lib}/sdk/schemas/article/Article.schema.js +0 -0
  154. /package/{dist → lib}/sdk/schemas/article/FillLayer.schema.d.ts +0 -0
  155. /package/{dist → lib}/sdk/schemas/article/FillLayer.schema.js +0 -0
  156. /package/{dist → lib}/sdk/schemas/article/Interaction.schema.d.ts +0 -0
  157. /package/{dist → lib}/sdk/schemas/article/Interaction.schema.js +0 -0
  158. /package/{dist → lib}/sdk/schemas/article/Item.schema.d.ts +0 -0
  159. /package/{dist → lib}/sdk/schemas/article/Item.schema.js +0 -0
  160. /package/{dist → lib}/sdk/schemas/article/ItemArea.schema.d.ts +0 -0
  161. /package/{dist → lib}/sdk/schemas/article/ItemArea.schema.js +0 -0
  162. /package/{dist → lib}/sdk/schemas/article/ItemBase.schema.js +0 -0
  163. /package/{dist → lib}/sdk/schemas/article/ItemState.schema.d.ts +0 -0
  164. /package/{dist → lib}/sdk/schemas/article/ItemState.schema.js +0 -0
  165. /package/{dist → lib}/sdk/schemas/article/RichTextItem.schema.js +0 -0
  166. /package/{dist → lib}/sdk/schemas/article/Section.schema.js +0 -0
  167. /package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.d.ts +0 -0
  168. /package/{dist → lib}/sdk/schemas/keyframe/Keyframes.schema.js +0 -0
  169. /package/{dist → lib}/sdk/schemas/project/Layout.schema.d.ts +0 -0
  170. /package/{dist → lib}/sdk/schemas/project/Layout.schema.js +0 -0
  171. /package/{dist → lib}/sdk/schemas/project/Project.schema.d.ts +0 -0
  172. /package/{dist → lib}/sdk/schemas/project/Project.schema.js +0 -0
  173. /package/{dist → lib}/sdk/types/article/Article.d.ts +0 -0
  174. /package/{dist/sdk/types/article/FX.js → lib/sdk/types/article/Article.js} +0 -0
  175. /package/{dist → lib}/sdk/types/article/ArticleItemType.d.ts +0 -0
  176. /package/{dist → lib}/sdk/types/article/ArticleItemType.js +0 -0
  177. /package/{dist → lib}/sdk/types/article/CompoundSettings.d.ts +0 -0
  178. /package/{dist/sdk/types/article/Interaction.js → lib/sdk/types/article/CompoundSettings.js} +0 -0
  179. /package/{dist → lib}/sdk/types/article/FX.d.ts +0 -0
  180. /package/{dist/sdk/types/project/Layout.js → lib/sdk/types/article/FX.js} +0 -0
  181. /package/{dist → lib}/sdk/types/article/Interaction.d.ts +0 -0
  182. /package/{dist/sdk/types/project/Meta.js → lib/sdk/types/article/Interaction.js} +0 -0
  183. /package/{dist → lib}/sdk/types/article/Item.d.ts +0 -0
  184. /package/{dist → lib}/sdk/types/article/Item.js +0 -0
  185. /package/{dist → lib}/sdk/types/article/ItemArea.d.ts +0 -0
  186. /package/{dist → lib}/sdk/types/article/ItemArea.js +0 -0
  187. /package/{dist → lib}/sdk/types/article/ItemState.d.ts +0 -0
  188. /package/{dist → lib}/sdk/types/article/ItemState.js +0 -0
  189. /package/{dist → lib}/sdk/types/article/RichText.d.ts +0 -0
  190. /package/{dist → lib}/sdk/types/article/RichText.js +0 -0
  191. /package/{dist → lib}/sdk/types/article/Section.d.ts +0 -0
  192. /package/{dist → lib}/sdk/types/article/Section.js +0 -0
  193. /package/{dist/sdk/types/project/Page.js → lib/sdk/types/component/Component.js} +0 -0
  194. /package/{dist → lib}/sdk/types/keyframe/Keyframe.js +0 -0
  195. /package/{dist → lib}/sdk/types/project/Fonts.d.ts +0 -0
  196. /package/{dist → lib}/sdk/types/project/Fonts.js +0 -0
  197. /package/{dist → lib}/sdk/types/project/Layout.d.ts +0 -0
  198. /package/{dist/sdk/types/project/Project.js → lib/sdk/types/project/Layout.js} +0 -0
  199. /package/{dist → lib}/sdk/types/project/Meta.d.ts +0 -0
  200. /package/{dist → lib}/sdk/types/project/Page.d.ts +0 -0
  201. /package/{dist → lib}/sdk/types/project/Project.d.ts +0 -0
  202. /package/{dist → lib}/sdk-nextjs/common/useCurrentLayout.d.ts +0 -0
  203. /package/{dist → lib}/sdk-nextjs/common/useExemplary.d.ts +0 -0
  204. /package/{dist → lib}/sdk-nextjs/common/useItemFXData.d.ts +0 -0
  205. /package/{dist → lib}/sdk-nextjs/common/useKeyframeValue.d.ts +0 -0
  206. /package/{dist → lib}/sdk-nextjs/common/useRegisterResize.d.ts +0 -0
  207. /package/{dist → lib}/sdk-nextjs/components/Article.d.ts +0 -0
  208. /package/{dist → lib}/sdk-nextjs/components/ArticleWrapper.d.ts +0 -0
  209. /package/{dist → lib}/sdk-nextjs/components/Head.d.ts +0 -0
  210. /package/{dist → lib}/sdk-nextjs/components/Page.d.ts +0 -0
  211. /package/{dist → lib}/sdk-nextjs/components/Section/Section.d.ts +0 -0
  212. /package/{dist → lib}/sdk-nextjs/components/Section/SectionImage.d.ts +0 -0
  213. /package/{dist → lib}/sdk-nextjs/components/Section/SectionVideo.d.ts +0 -0
  214. /package/{dist → lib}/sdk-nextjs/components/Section/useSectionHeightMap.d.ts +0 -0
  215. /package/{dist → lib}/sdk-nextjs/components/items/CodeEmbedItem/CodeEmbedItem.d.ts +0 -0
  216. /package/{dist → lib}/sdk-nextjs/components/items/CodeEmbedItem/useCodeEmbedItem.d.ts +0 -0
  217. /package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/ComponentItem.d.ts +0 -0
  218. /package/{dist → lib}/sdk-nextjs/components/items/ComponentItem/useComponentItem.d.ts +0 -0
  219. /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundChild.d.ts +0 -0
  220. /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/CompoundItem.d.ts +0 -0
  221. /package/{dist → lib}/sdk-nextjs/components/items/CompoundItem/useCompoundItem.d.ts +0 -0
  222. /package/{dist → lib}/sdk-nextjs/components/items/CustomItem/CustomItem.d.ts +0 -0
  223. /package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/YoutubeEmbed.d.ts +0 -0
  224. /package/{dist → lib}/sdk-nextjs/components/items/EmbedVideoItem/useEmbedVideoItem.d.ts +0 -0
  225. /package/{dist → lib}/sdk-nextjs/components/items/FileItem/ImageItem.d.ts +0 -0
  226. /package/{dist → lib}/sdk-nextjs/components/items/FileItem/VideoItem.d.ts +0 -0
  227. /package/{dist → lib}/sdk-nextjs/components/items/GroupItem/GroupItem.d.ts +0 -0
  228. /package/{dist → lib}/sdk-nextjs/components/items/GroupItem/useGroupItem.d.ts +0 -0
  229. /package/{dist → lib}/sdk-nextjs/components/items/Item.d.ts +0 -0
  230. /package/{dist → lib}/sdk-nextjs/components/items/RectangleItem/RectangleItem.d.ts +0 -0
  231. /package/{dist → lib}/sdk-nextjs/components/items/RectangleItem/useRectangleItem.d.ts +0 -0
  232. /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/RichTextItem.d.ts +0 -0
  233. /package/{dist → lib}/sdk-nextjs/components/items/RichTextItem/useRichTextItem.d.ts +0 -0
  234. /package/{dist → lib}/sdk-nextjs/components/items/RichTextWrapper.d.ts +0 -0
  235. /package/{dist → lib}/sdk-nextjs/components/items/itemsMap.d.ts +0 -0
  236. /package/{dist → lib}/sdk-nextjs/components/items/useDraggable.d.ts +0 -0
  237. /package/{dist → lib}/sdk-nextjs/components/items/useItemAngle.d.ts +0 -0
  238. /package/{dist → lib}/sdk-nextjs/components/items/useItemArea.d.ts +0 -0
  239. /package/{dist → lib}/sdk-nextjs/components/items/useItemPointerEvents.d.ts +0 -0
  240. /package/{dist → lib}/sdk-nextjs/components/items/useItemScale.d.ts +0 -0
  241. /package/{dist → lib}/sdk-nextjs/components/items/useItemTriggers.d.ts +0 -0
  242. /package/{dist → lib}/sdk-nextjs/components/items/useRichTextItemValues.d.ts +0 -0
  243. /package/{dist → lib}/sdk-nextjs/components/items/useSizing.d.ts +0 -0
  244. /package/{dist → lib}/sdk-nextjs/components/items/useStickyItemTop.d.ts +0 -0
  245. /package/{dist → lib}/sdk-nextjs/components/useLayoutContext.d.ts +0 -0
  246. /package/{dist → lib}/sdk-nextjs/interactions/InteractionsRegistry.d.ts +0 -0
  247. /package/{dist → lib}/sdk-nextjs/interactions/ItemInteractionCtrl.d.ts +0 -0
  248. /package/{dist → lib}/sdk-nextjs/interactions/getTransition.d.ts +0 -0
  249. /package/{dist/sdk/types/article/Article.js → lib/sdk-nextjs/interactions/types.js} +0 -0
  250. /package/{dist → lib}/sdk-nextjs/interactions/useItemInteractionCtrl.d.ts +0 -0
  251. /package/{dist → lib}/sdk-nextjs/provider/CntrlProvider.d.ts +0 -0
  252. /package/{dist → lib}/sdk-nextjs/provider/CntrlSdkContext.d.ts +0 -0
  253. /package/{dist → lib}/sdk-nextjs/provider/CustomItemRegistry.d.ts +0 -0
  254. /package/{dist → lib}/sdk-nextjs/provider/CustomItemTypes.d.ts +0 -0
  255. /package/{dist/sdk/types/article/CompoundSettings.js → lib/sdk-nextjs/provider/CustomItemTypes.js} +0 -0
  256. /package/{dist → lib}/sdk-nextjs/provider/defaultContext.d.ts +0 -0
  257. /package/{dist → lib}/sdk-nextjs/provider/useCntrlContext.d.ts +0 -0
  258. /package/{dist → lib}/sdk-nextjs/utils/Animator/Animator.d.ts +0 -0
  259. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/ArticleRectObserver.d.ts +0 -0
  260. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useArticleRectObserver.d.ts +0 -0
  261. /package/{dist → lib}/sdk-nextjs/utils/ArticleRectManager/useSectionRegistry.d.ts +0 -0
  262. /package/{dist → lib}/sdk-nextjs/utils/EventEmitter.d.ts +0 -0
  263. /package/{dist → lib}/sdk-nextjs/utils/RichTextConverter/RichTextConverter.d.ts +0 -0
  264. /package/{dist → lib}/sdk-nextjs/utils/ScaleAnchorMap.d.ts +0 -0
  265. /package/{dist → lib}/sdk-nextjs/utils/Youtube/YouTubeIframeApiLoader.d.ts +0 -0
  266. /package/{dist → lib}/sdk-nextjs/utils/Youtube/YoutubeIframeApi.d.ts +0 -0
  267. /package/{dist → lib}/sdk-nextjs/utils/Youtube/useYouTubeIframeApi.d.ts +0 -0
  268. /package/{dist → lib}/sdk-nextjs/utils/areFillsVisible/areFillsVisible.d.ts +0 -0
  269. /package/{dist → lib}/sdk-nextjs/utils/binSearchInsertAt.d.ts +0 -0
  270. /package/{dist → lib}/sdk-nextjs/utils/checkOverflowClipSupport.d.ts +0 -0
  271. /package/{dist → lib}/sdk-nextjs/utils/effects/useImageFx.d.ts +0 -0
  272. /package/{dist → lib}/sdk-nextjs/utils/effects/useVideoFx.d.ts +0 -0
  273. /package/{dist → lib}/sdk-nextjs/utils/getAnchoredItemTop.d.ts +0 -0
  274. /package/{dist → lib}/sdk-nextjs/utils/getCompoundBoundaryStyles.d.ts +0 -0
  275. /package/{dist → lib}/sdk-nextjs/utils/getFill.d.ts +0 -0
  276. /package/{dist → lib}/sdk-nextjs/utils/getFontFamilyValue.d.ts +0 -0
  277. /package/{dist → lib}/sdk-nextjs/utils/getItemTopStyle.d.ts +0 -0
  278. /package/{dist → lib}/sdk-nextjs/utils/getStyleFromItemStateAndParams.d.ts +0 -0
  279. /package/{dist → lib}/sdk-nextjs/utils/getValidYoutubeUrl.d.ts +0 -0
  280. /package/{dist → lib}/sdk-nextjs/utils/isItemType.d.ts +0 -0
  281. /package/{dist → lib}/sdk-nextjs/utils/rangeMap.d.ts +0 -0
  282. /package/{dist → lib}/sdk-nextjs/utils/useElementRect.d.ts +0 -0
  283. /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;