@gem-sdk/core 1.63.17 → 2.0.0-dev.157

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 (214) hide show
  1. package/dist/cjs/components/AddOn.js +1 -0
  2. package/dist/cjs/components/ComponentAnimation.js +1 -0
  3. package/dist/cjs/components/ComponentToolbarPreview.js +8 -7
  4. package/dist/cjs/components/ComponentWrapper.js +1 -0
  5. package/dist/cjs/components/ComponentWrapperPreview.js +3 -2
  6. package/dist/cjs/components/Empty.js +1 -0
  7. package/dist/cjs/components/InteractionSuffix.js +7 -6
  8. package/dist/cjs/components/Render.js +1 -0
  9. package/dist/cjs/components/Render.liquid.js +4 -1
  10. package/dist/cjs/components/RenderBlock.js +1 -0
  11. package/dist/cjs/components/RenderCustomCode.js +8 -7
  12. package/dist/cjs/components/RenderPreview.js +1 -0
  13. package/dist/cjs/components/RenderSection.js +1 -0
  14. package/dist/cjs/components/ai-generator/AIContentGenerator.js +5 -4
  15. package/dist/cjs/components/ai-generator/AIGenContentLoading.js +1 -0
  16. package/dist/cjs/components/ai-generator/components/PickProduct.js +5 -4
  17. package/dist/cjs/components/ai-generator/components/ToneAndVoice.js +1 -0
  18. package/dist/cjs/components/ai-generator/icons/AIIcon.js +1 -0
  19. package/dist/cjs/components/ai-generator/icons/CloseIcon.js +1 -0
  20. package/dist/cjs/components/ai-generator/icons/DropdownIcon.js +1 -0
  21. package/dist/cjs/components/ai-generator/icons/SearchIcon.js +1 -0
  22. package/dist/cjs/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  23. package/dist/cjs/components/ai-generator/icons/UpgradeIcon.js +1 -0
  24. package/dist/cjs/components/ai-generator/icons/WarningIcon.js +1 -0
  25. package/dist/cjs/components/resize/Resize.js +1 -0
  26. package/dist/cjs/components/resize/Spacing.js +8 -7
  27. package/dist/cjs/components/theme-section/CreateThemeSection.js +5 -4
  28. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +1 -0
  29. package/dist/cjs/components/theme-section/ThemeSectionTooltip.js +1 -0
  30. package/dist/cjs/components/toolbar/Tooltip.js +1 -0
  31. package/dist/cjs/contexts/AddonContext.js +1 -0
  32. package/dist/cjs/contexts/ArticleContext.js +1 -0
  33. package/dist/cjs/contexts/ArticleListContext.js +1 -0
  34. package/dist/cjs/contexts/BuilderComponent.js +1 -0
  35. package/dist/cjs/contexts/BuilderContext.js +1 -0
  36. package/dist/cjs/contexts/BuilderPreviewContext.js +1 -0
  37. package/dist/cjs/contexts/CartLineContext.js +1 -0
  38. package/dist/cjs/contexts/CollectionContext.js +1 -0
  39. package/dist/cjs/contexts/ModalContext.js +1 -0
  40. package/dist/cjs/contexts/PageContext.js +1 -0
  41. package/dist/cjs/contexts/ProductContext.js +12 -12
  42. package/dist/cjs/contexts/ProductListContext.js +1 -0
  43. package/dist/cjs/contexts/SectionContext.js +1 -0
  44. package/dist/cjs/contexts/ShopContext.js +1 -0
  45. package/dist/cjs/graphql/fragments/preview-theme-page.generated.js +0 -4
  46. package/dist/cjs/graphql/fragments/published-theme-page.generated.js +4 -0
  47. package/dist/cjs/graphql/queries/articles.generated.js +1 -0
  48. package/dist/cjs/graphql/queries/blogs.generated.js +1 -0
  49. package/dist/cjs/graphql/queries/shop-shopify.generated.js +11 -0
  50. package/dist/cjs/helpers/align.js +18 -0
  51. package/dist/cjs/helpers/background.js +6 -2
  52. package/dist/cjs/helpers/backgroundImage.js +184 -0
  53. package/dist/cjs/helpers/borders.js +17 -0
  54. package/dist/cjs/helpers/compose-advance-style.js +71 -1
  55. package/dist/cjs/helpers/filter-toolbar-preview.js +1 -0
  56. package/dist/cjs/helpers/interaction/index.js +7 -6
  57. package/dist/cjs/helpers/is-empty-children.js +1 -0
  58. package/dist/cjs/helpers/layout.js +17 -0
  59. package/dist/cjs/helpers/radius.js +13 -1
  60. package/dist/cjs/helpers/shadow.js +28 -2
  61. package/dist/cjs/helpers/size.js +22 -0
  62. package/dist/cjs/helpers/third-party/appConfig.js +63 -0
  63. package/dist/cjs/helpers/third-party/appSetting.js +382 -6
  64. package/dist/cjs/helpers/third-party/constant.js +10 -1
  65. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +5 -1
  66. package/dist/cjs/helpers/typography.js +10 -1
  67. package/dist/cjs/hooks/animation/useAnimationActions.js +1 -0
  68. package/dist/cjs/hooks/animation/useAnimationConfig.js +1 -0
  69. package/dist/cjs/hooks/animation/useAnimationPreview.js +1 -0
  70. package/dist/cjs/hooks/animation/useAnimationTarget.js +1 -0
  71. package/dist/cjs/hooks/animation/useApplyAnimation.js +1 -0
  72. package/dist/cjs/hooks/articles/useArticlesQuery.js +1 -0
  73. package/dist/cjs/hooks/cart/use-add-to-cart.js +1 -0
  74. package/dist/cjs/hooks/cart/use-cart-data.js +1 -0
  75. package/dist/cjs/hooks/cart/use-cart-discount-codes-update.js +1 -0
  76. package/dist/cjs/hooks/cart/use-cart-note-update.js +1 -0
  77. package/dist/cjs/hooks/cart/use-create-cart.js +1 -0
  78. package/dist/cjs/hooks/cart/use-remove-cart-item.js +1 -0
  79. package/dist/cjs/hooks/cart/use-update-cart-item.js +1 -0
  80. package/dist/cjs/hooks/shop/use-collection-query.js +1 -0
  81. package/dist/cjs/hooks/shop/use-collections-query.js +1 -0
  82. package/dist/cjs/hooks/shop/use-product-query.js +1 -0
  83. package/dist/cjs/hooks/shop/use-products-query.js +1 -0
  84. package/dist/cjs/hooks/shop/useShopifyLink.js +47 -0
  85. package/dist/cjs/hooks/shop.js +10 -0
  86. package/dist/cjs/hooks/use-current-device.js +2 -1
  87. package/dist/cjs/hooks/use-lazy-video.js +1 -0
  88. package/dist/cjs/hooks/useAnimations.js +1 -0
  89. package/dist/cjs/hooks/useCartId.js +1 -0
  90. package/dist/cjs/hooks/useCartLine.js +1 -0
  91. package/dist/cjs/hooks/useCartUI.js +1 -0
  92. package/dist/cjs/hooks/useCollection.js +1 -0
  93. package/dist/cjs/hooks/useFetchHandle.js +1 -0
  94. package/dist/cjs/hooks/useFormatMoney.js +1 -0
  95. package/dist/cjs/hooks/useInitialSwatchesOptions.js +1 -0
  96. package/dist/cjs/hooks/useInteraction.js +1 -0
  97. package/dist/cjs/hooks/useIsomorphicLayoutEffect.js +1 -0
  98. package/dist/cjs/hooks/useLoadScript.js +1 -0
  99. package/dist/cjs/hooks/useMoney.js +1 -0
  100. package/dist/cjs/hooks/usePrevious.js +1 -0
  101. package/dist/cjs/hooks/useProduct.js +18 -0
  102. package/dist/cjs/hooks/useProductList.js +1 -0
  103. package/dist/cjs/hooks/useSuspenseFetch.js +1 -0
  104. package/dist/cjs/hooks/useSwatchesOptions.js +1 -0
  105. package/dist/cjs/hooks/useToolbarPostPurchase.js +1 -0
  106. package/dist/cjs/index.js +18 -0
  107. package/dist/esm/components/AddOn.js +1 -0
  108. package/dist/esm/components/ComponentAnimation.js +1 -0
  109. package/dist/esm/components/ComponentToolbarPreview.js +8 -7
  110. package/dist/esm/components/ComponentWrapper.js +1 -0
  111. package/dist/esm/components/ComponentWrapperPreview.js +3 -2
  112. package/dist/esm/components/Empty.js +1 -0
  113. package/dist/esm/components/InteractionSuffix.js +7 -6
  114. package/dist/esm/components/Render.js +1 -0
  115. package/dist/esm/components/Render.liquid.js +4 -1
  116. package/dist/esm/components/RenderBlock.js +1 -0
  117. package/dist/esm/components/RenderCustomCode.js +8 -7
  118. package/dist/esm/components/RenderPreview.js +1 -0
  119. package/dist/esm/components/RenderSection.js +1 -0
  120. package/dist/esm/components/ai-generator/AIContentGenerator.js +5 -4
  121. package/dist/esm/components/ai-generator/AIGenContentLoading.js +1 -0
  122. package/dist/esm/components/ai-generator/components/PickProduct.js +5 -4
  123. package/dist/esm/components/ai-generator/components/ToneAndVoice.js +1 -0
  124. package/dist/esm/components/ai-generator/icons/AIIcon.js +1 -0
  125. package/dist/esm/components/ai-generator/icons/CloseIcon.js +1 -0
  126. package/dist/esm/components/ai-generator/icons/DropdownIcon.js +1 -0
  127. package/dist/esm/components/ai-generator/icons/SearchIcon.js +1 -0
  128. package/dist/esm/components/ai-generator/icons/ShowMoreIcon.js +1 -0
  129. package/dist/esm/components/ai-generator/icons/UpgradeIcon.js +1 -0
  130. package/dist/esm/components/ai-generator/icons/WarningIcon.js +1 -0
  131. package/dist/esm/components/resize/Resize.js +1 -0
  132. package/dist/esm/components/resize/Spacing.js +8 -7
  133. package/dist/esm/components/theme-section/CreateThemeSection.js +5 -4
  134. package/dist/esm/components/theme-section/ThemeSectionStatus.js +1 -0
  135. package/dist/esm/components/theme-section/ThemeSectionTooltip.js +1 -0
  136. package/dist/esm/components/toolbar/Tooltip.js +1 -0
  137. package/dist/esm/contexts/AddonContext.js +1 -0
  138. package/dist/esm/contexts/ArticleContext.js +1 -0
  139. package/dist/esm/contexts/ArticleListContext.js +1 -0
  140. package/dist/esm/contexts/BuilderComponent.js +1 -0
  141. package/dist/esm/contexts/BuilderContext.js +1 -0
  142. package/dist/esm/contexts/BuilderPreviewContext.js +1 -0
  143. package/dist/esm/contexts/CartLineContext.js +1 -0
  144. package/dist/esm/contexts/CollectionContext.js +1 -0
  145. package/dist/esm/contexts/ModalContext.js +1 -0
  146. package/dist/esm/contexts/PageContext.js +1 -0
  147. package/dist/esm/contexts/ProductContext.js +12 -12
  148. package/dist/esm/contexts/ProductListContext.js +1 -0
  149. package/dist/esm/contexts/SectionContext.js +1 -0
  150. package/dist/esm/contexts/ShopContext.js +1 -0
  151. package/dist/esm/graphql/fragments/preview-theme-page.generated.js +0 -4
  152. package/dist/esm/graphql/fragments/published-theme-page.generated.js +4 -0
  153. package/dist/esm/graphql/queries/articles.generated.js +1 -0
  154. package/dist/esm/graphql/queries/blogs.generated.js +1 -0
  155. package/dist/esm/graphql/queries/shop-shopify.generated.js +9 -0
  156. package/dist/esm/helpers/align.js +18 -1
  157. package/dist/esm/helpers/background.js +6 -2
  158. package/dist/esm/helpers/backgroundImage.js +179 -0
  159. package/dist/esm/helpers/borders.js +17 -1
  160. package/dist/esm/helpers/compose-advance-style.js +71 -1
  161. package/dist/esm/helpers/filter-toolbar-preview.js +1 -0
  162. package/dist/esm/helpers/interaction/index.js +7 -6
  163. package/dist/esm/helpers/is-empty-children.js +1 -0
  164. package/dist/esm/helpers/layout.js +17 -1
  165. package/dist/esm/helpers/radius.js +13 -1
  166. package/dist/esm/helpers/shadow.js +28 -3
  167. package/dist/esm/helpers/size.js +21 -1
  168. package/dist/esm/helpers/third-party/appConfig.js +55 -1
  169. package/dist/esm/helpers/third-party/appSetting.js +382 -6
  170. package/dist/esm/helpers/third-party/constant.js +11 -2
  171. package/dist/esm/helpers/third-party/getAppBlockConfig.js +5 -1
  172. package/dist/esm/helpers/typography.js +10 -2
  173. package/dist/esm/hooks/animation/useAnimationActions.js +1 -0
  174. package/dist/esm/hooks/animation/useAnimationConfig.js +1 -0
  175. package/dist/esm/hooks/animation/useAnimationPreview.js +1 -0
  176. package/dist/esm/hooks/animation/useAnimationTarget.js +1 -0
  177. package/dist/esm/hooks/animation/useApplyAnimation.js +1 -0
  178. package/dist/esm/hooks/articles/useArticlesQuery.js +1 -0
  179. package/dist/esm/hooks/cart/use-add-to-cart.js +1 -0
  180. package/dist/esm/hooks/cart/use-cart-data.js +1 -0
  181. package/dist/esm/hooks/cart/use-cart-discount-codes-update.js +1 -0
  182. package/dist/esm/hooks/cart/use-cart-note-update.js +1 -0
  183. package/dist/esm/hooks/cart/use-create-cart.js +1 -0
  184. package/dist/esm/hooks/cart/use-remove-cart-item.js +1 -0
  185. package/dist/esm/hooks/cart/use-update-cart-item.js +1 -0
  186. package/dist/esm/hooks/shop/use-collection-query.js +1 -0
  187. package/dist/esm/hooks/shop/use-collections-query.js +1 -0
  188. package/dist/esm/hooks/shop/use-product-query.js +1 -0
  189. package/dist/esm/hooks/shop/use-products-query.js +1 -0
  190. package/dist/esm/hooks/shop/useShopifyLink.js +45 -0
  191. package/dist/esm/hooks/shop.js +10 -1
  192. package/dist/esm/hooks/use-current-device.js +2 -1
  193. package/dist/esm/hooks/use-lazy-video.js +1 -0
  194. package/dist/esm/hooks/useAnimations.js +1 -0
  195. package/dist/esm/hooks/useCartId.js +1 -0
  196. package/dist/esm/hooks/useCartLine.js +1 -0
  197. package/dist/esm/hooks/useCartUI.js +1 -0
  198. package/dist/esm/hooks/useCollection.js +1 -0
  199. package/dist/esm/hooks/useFetchHandle.js +1 -0
  200. package/dist/esm/hooks/useFormatMoney.js +1 -0
  201. package/dist/esm/hooks/useInitialSwatchesOptions.js +1 -0
  202. package/dist/esm/hooks/useInteraction.js +1 -0
  203. package/dist/esm/hooks/useIsomorphicLayoutEffect.js +1 -0
  204. package/dist/esm/hooks/useLoadScript.js +1 -0
  205. package/dist/esm/hooks/useMoney.js +1 -0
  206. package/dist/esm/hooks/usePrevious.js +1 -0
  207. package/dist/esm/hooks/useProduct.js +18 -1
  208. package/dist/esm/hooks/useProductList.js +1 -0
  209. package/dist/esm/hooks/useSuspenseFetch.js +1 -0
  210. package/dist/esm/hooks/useSwatchesOptions.js +1 -0
  211. package/dist/esm/hooks/useToolbarPostPurchase.js +1 -0
  212. package/dist/esm/index.js +11 -8
  213. package/dist/types/index.d.ts +729 -253
  214. package/package.json +4 -4
@@ -22,10 +22,11 @@ const getStyleShadow = (shadowStyle, isActiveState = false)=>{
22
22
  let { state } = shadowStyle || {};
23
23
  if (!state) state = 'normal';
24
24
  if (!styleAppliedFor || !value) return {};
25
- if (typeof value.distance == 'undefined') return {};
25
+ const isNoneValue = value.type === 'none';
26
+ if (typeof value.distance == 'undefined' && !isNoneValue) return {};
26
27
  const { value: distance, unit: unitDistance } = parseValueWithUnit(`${value?.distance}`);
27
28
  return {
28
- [`-${!isActiveState ? stateMapping?.[state] || '' : ''}-${getShortName(styleAppliedFor)}${shadowStyle.screen ? `-${shadowStyle.screen}` : ''}`]: isEnableShadow ? `${Math.cos(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${Math.sin(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${value?.blur} ${styleAppliedFor === 'box-shadow' ? value?.spread + ' ' : ''}${getSingleColorVariable(value?.color)}` : 'none'
29
+ [`-${!isActiveState ? stateMapping?.[state] || '' : ''}-${getShortName(styleAppliedFor)}${shadowStyle.screen ? `-${shadowStyle.screen}` : ''}`]: isEnableShadow && !isNoneValue ? `${Math.cos(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${Math.sin(parseFloat(`${value?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${value?.blur} ${styleAppliedFor === 'box-shadow' ? value?.spread + ' ' : ''}${getSingleColorVariable(value?.color)}` : 'none'
29
30
  };
30
31
  };
31
32
  const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow, screen)=>{
@@ -52,6 +53,30 @@ const getResponsiveStyleShadow = (value, styleAppliedFor, isEnableShadow)=>{
52
53
  };
53
54
  }
54
55
  };
56
+ const getResponsiveStyleShadowWithoutState = (value, styleAppliedFor, isEnableShadow)=>{
57
+ if (!value) return undefined;
58
+ if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
59
+ return {
60
+ ...getStyleShadow({
61
+ value: value.desktop,
62
+ styleAppliedFor,
63
+ isEnableShadow: isEnableShadow.desktop
64
+ }),
65
+ ...value.tablet && (isEnableShadow.tablet ?? isEnableShadow.desktop) ? getStyleShadow({
66
+ value: value.tablet,
67
+ styleAppliedFor,
68
+ isEnableShadow: isEnableShadow.tablet ?? isEnableShadow.desktop,
69
+ screen: 'tablet'
70
+ }) : undefined,
71
+ ...value.mobile && (isEnableShadow.mobile ?? isEnableShadow.tablet ?? isEnableShadow.desktop) ? getStyleShadow({
72
+ value: value.mobile,
73
+ styleAppliedFor,
74
+ isEnableShadow: isEnableShadow.mobile ?? isEnableShadow.tablet ?? isEnableShadow.desktop,
75
+ screen: 'mobile'
76
+ }) : undefined
77
+ };
78
+ }
79
+ };
55
80
  const composeShadowCss = ({ hasBoxShadow, boxShadowValue, important })=>{
56
81
  if (!hasBoxShadow) return undefined;
57
82
  if (!boxShadowValue) return undefined;
@@ -60,4 +85,4 @@ const composeShadowCss = ({ hasBoxShadow, boxShadowValue, important })=>{
60
85
  return `box-shadow: ${Math.cos(parseFloat(`${boxShadowValue?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${Math.sin(parseFloat(`${boxShadowValue?.angle}`) * Math.PI / 180) * parseFloat(`${distance}`)}${unitDistance} ${boxShadowValue?.blur} ${boxShadowValue?.spread + ' '}${getSingleColorVariable(boxShadowValue?.color)}${sub};`;
61
86
  };
62
87
 
63
- export { composeShadowCss, getResponsiveStyleShadow, getStyleShadow, getStyleShadowState, parseValueWithUnit };
88
+ export { composeShadowCss, getResponsiveStyleShadow, getResponsiveStyleShadowWithoutState, getStyleShadow, getStyleShadowState, parseValueWithUnit };
@@ -188,5 +188,25 @@ const getPaddingGlobalSize = (globalSize)=>{
188
188
  const getValueByDevice = (value, device)=>{
189
189
  return value?.[device] === undefined ? value?.desktop === undefined ? value?.tablet : value?.desktop : value?.[device];
190
190
  };
191
+ const getPaddingStyleByDevice = (value, device)=>{
192
+ if (!value) return {};
193
+ const suffix = devicesMapping[device || ''] ?? '';
194
+ return {
195
+ [`--pl${suffix}`]: value?.left,
196
+ [`--pr${suffix}`]: value?.right,
197
+ [`--pt${suffix}`]: value?.top,
198
+ [`--pb${suffix}`]: value?.bottom
199
+ };
200
+ };
201
+ const getResponsiveStylePadding = (value)=>{
202
+ if (!value) return undefined;
203
+ if ('desktop' in value || 'tablet' in value || 'mobile' in value) {
204
+ return {
205
+ ...getPaddingStyleByDevice(value?.desktop),
206
+ ...getPaddingStyleByDevice(value?.tablet, 'tablet'),
207
+ ...getPaddingStyleByDevice(value?.mobile, 'mobile')
208
+ };
209
+ }
210
+ };
191
211
 
192
- export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault };
212
+ export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getPaddingStyleByDevice, getResponsiveStylePadding, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault };
@@ -184,6 +184,24 @@ const KachingBundlesConfig = {
184
184
  appId: '6c637362-a106-4a32-94ac-94dcfd68cdb8'
185
185
  }
186
186
  };
187
+ const BestBuyFulfillmentConfig = {
188
+ BestBuyFulfillment: {
189
+ appName: 'best-buy-fulfillment',
190
+ appId: 'd9839db8-b94c-4590-ac73-3469abe7ed9b'
191
+ }
192
+ };
193
+ const AftershipEmailMarketingsmsConfig = {
194
+ AftershipEmailMarketingsms: {
195
+ appName: 'aftership-email-marketing-sms',
196
+ appId: '2db13273-f8db-4274-be89-c86a3352fb70'
197
+ }
198
+ };
199
+ const SegunoEmailMarketingConfig = {
200
+ SegunoEmailMarketing: {
201
+ appName: 'seguno-email',
202
+ appId: 'db65571f-fa4d-473d-baa2-283a96dc76bc'
203
+ }
204
+ };
187
205
  const TrustooConfig = {
188
206
  Trustoo: {
189
207
  appName: 'trustoo-io-reviews',
@@ -196,5 +214,41 @@ const LooxReviewsConfig = {
196
214
  appId: '5c3b337f-fd14-4df5-b1d6-80ec13e6e28e'
197
215
  }
198
216
  };
217
+ const SeoantTrustBadgesIconConfig = {
218
+ SeoantTrustBadgesIcon: {
219
+ appName: 'seoant-trust-badges',
220
+ appId: 'f42f2346-5d14-4b41-a8b9-4b6ee352262e'
221
+ }
222
+ };
223
+ const PowrContactFormBuilderConfig = {
224
+ PowrContactFormBuilder: {
225
+ appName: 'powr-form-builder',
226
+ appId: '1412fe37-d89c-4706-a797-6e2b53cb4a69'
227
+ }
228
+ };
229
+ const MyappgurusProductReviewsConfig = {
230
+ MyappgurusProductReviews: {
231
+ appName: 'mag-product-reviews',
232
+ appId: '0cf5caa0-e138-46b8-999b-520d16633e4c'
233
+ }
234
+ };
235
+ const TrustreviewsProductReviewsConfig = {
236
+ TrustreviewsProductReviews: {
237
+ appName: 'trustreviews',
238
+ appId: '56d0fe1b-e701-4cff-8f84-466a26e09adb'
239
+ }
240
+ };
241
+ const HulkProductOptionsConfig = {
242
+ HulkProductOptions: {
243
+ appName: 'hulk-product-options',
244
+ appId: '380168ef-9475-4244-a291-f66b189208b5'
245
+ }
246
+ };
247
+ const TrustshopProductReviewsConfig = {
248
+ TrustshopProductReviews: {
249
+ appName: 'trustshop-reviews',
250
+ appId: '18b0c4cc-5411-4b6e-922d-34fdc2f30ab9'
251
+ }
252
+ };
199
253
 
200
- export { AppointmentBookingCowlendarConfig, BoldSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, EasyBundleBuilderSkailamaConfig, FastBundleBundlesDiscountsConfig, FlyBundlesUpsellsFbtConfig, GloboProductOptionsVariantConfig, GrowaveConfig, InstasellShoppableInstagramConfig, JunipProductReviewsUgcConfig, KachingBundlesConfig, KiteFreeGiftDiscountConfig, LoloyalLoyaltyReferralsConfig, LoopSubscriptionsConfig, LooxReviewsConfig, PowerfulContactFormBuilderConfig, PreorderNowPreOrderPqConfig, PreorderNowWodPresaleConfig, ProductOptionsCustomizerConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SelleasyConfig, ShopifyFormsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SproutPlantTreesGrowSalesConfig, SubifySubscriptionsConfig, TrustooConfig, UnlimitedBundlesDiscountsConfig, WhatmoreShoppableVideosreelConfig, WishlistKingConfig, YotpoReviewsV3UgcConfig };
254
+ export { AftershipEmailMarketingsmsConfig, AppointmentBookingCowlendarConfig, BestBuyFulfillmentConfig, BoldSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, EasyBundleBuilderSkailamaConfig, FastBundleBundlesDiscountsConfig, FlyBundlesUpsellsFbtConfig, GloboProductOptionsVariantConfig, GrowaveConfig, HulkProductOptionsConfig, InstasellShoppableInstagramConfig, JunipProductReviewsUgcConfig, KachingBundlesConfig, KiteFreeGiftDiscountConfig, LoloyalLoyaltyReferralsConfig, LoopSubscriptionsConfig, LooxReviewsConfig, MyappgurusProductReviewsConfig, PowerfulContactFormBuilderConfig, PowrContactFormBuilderConfig, PreorderNowPreOrderPqConfig, PreorderNowWodPresaleConfig, ProductOptionsCustomizerConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SegunoEmailMarketingConfig, SelleasyConfig, SeoantTrustBadgesIconConfig, ShopifyFormsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SproutPlantTreesGrowSalesConfig, SubifySubscriptionsConfig, TrustooConfig, TrustreviewsProductReviewsConfig, TrustshopProductReviewsConfig, UnlimitedBundlesDiscountsConfig, WhatmoreShoppableVideosreelConfig, WishlistKingConfig, YotpoReviewsV3UgcConfig };
@@ -93,6 +93,13 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
93
93
  selected_product: appSetting?.['productHandle'] || '{{ product }}'
94
94
  };
95
95
  }
96
+ case 'TrustshopProductReviews':
97
+ {
98
+ return {
99
+ ...currentSetting,
100
+ selected_product: appSetting?.['productHandle'] || '{{ product }}'
101
+ };
102
+ }
96
103
  case 'WhatmoreShoppableVideosreel':
97
104
  {
98
105
  return {
@@ -107,25 +114,71 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
107
114
  'scroll-video-tile-size-portrait': parseFloat(appSetting?.scrollVideoTitleSizePortrait)
108
115
  };
109
116
  }
110
- case 'KachingBundles':
117
+ case 'PowerfulContactFormBuilder':
111
118
  {
112
119
  return {
113
120
  ...currentSetting,
114
- product: appSetting?.['productHandle'] || '{{ product }}'
121
+ shortcode: appSetting?.shortcode
115
122
  };
116
123
  }
117
- case 'PowerfulContactFormBuilder':
124
+ case 'AftershipEmailMarketingsms':
118
125
  {
119
126
  return {
120
127
  ...currentSetting,
121
- shortcode: appSetting?.shortcode
128
+ embedded_form_id: appSetting?.formId
122
129
  };
123
130
  }
124
- case 'YotpoReviews':
131
+ case 'SeoantTrustBadgesIcon':
125
132
  {
126
133
  return {
127
134
  ...currentSetting,
128
- product: appSetting?.['productHandle'] || '{{ product }}'
135
+ badge_id: appSetting?.BadgeId
136
+ };
137
+ }
138
+ case 'PowrContactFormBuilder':
139
+ {
140
+ return {
141
+ ...currentSetting,
142
+ app_id: appSetting?.appId
143
+ };
144
+ }
145
+ case 'Stamped':
146
+ {
147
+ return {
148
+ ...currentSetting,
149
+ feed_type: appSetting.visualGalleryType,
150
+ auto_play: appSetting.autoSlide,
151
+ color_star: appSetting.starColor,
152
+ color_hover: appSetting.hoverColor,
153
+ color_hover_opacity: appSetting.hoverOpacity,
154
+ review_ids: appSetting.reviewIds,
155
+ product_ids: appSetting.productIds,
156
+ category: appSetting.productType,
157
+ product_brand: appSetting.productVendor,
158
+ tags: appSetting.tags,
159
+ min_rating: appSetting.minimumRating,
160
+ fill_empty: appSetting.fillEmpty,
161
+ random: appSetting.random,
162
+ with_photos: appSetting.withPhotos,
163
+ color_link: appSetting.linkColor,
164
+ product_image: appSetting.showProductImage,
165
+ take: appSetting.limitResults,
166
+ color_verified: appSetting.verifiedColor,
167
+ color_text: appSetting.textColor,
168
+ title: appSetting.carouselTitle,
169
+ color_title: appSetting.titleColor,
170
+ api_key: appSetting.publicKey,
171
+ store_hash: appSetting.storeHash,
172
+ label1: appSetting.labelFront,
173
+ label2: appSetting.labelBack,
174
+ width: appSetting.imageWidth,
175
+ height: appSetting.imageHeight,
176
+ product_id: appSetting.productId,
177
+ animation: appSetting.mainWidgetAnimation,
178
+ tags_exclude: appSetting.excludeTags,
179
+ tags_include: appSetting.includeTags,
180
+ search: appSetting.search,
181
+ linkify: appSetting.linkify
129
182
  };
130
183
  }
131
184
  default:
@@ -462,6 +515,70 @@ const GloboProductOptionsVariant = {
462
515
  'app-block': null
463
516
  }
464
517
  };
518
+ const BestBuyFulfillment = {
519
+ BestBuyFulfillment: {
520
+ 'pickup-selector': null
521
+ }
522
+ };
523
+ const AftershipEmailMarketingsms = {
524
+ AftershipEmailMarketingsms: {
525
+ embeded_form: {
526
+ embedded_form_id: ''
527
+ }
528
+ }
529
+ };
530
+ const SegunoEmailMarketing = {
531
+ SegunoEmailMarketing: {
532
+ back_in_stock: {
533
+ heading: '<h3>Get notified when this is back in stock</h3>',
534
+ label_email: 'Email',
535
+ placeholder_email: '',
536
+ show_permission_checkbox: true,
537
+ label_permission: '<p>Also, sign up to receive newsletters</p>',
538
+ label_notify: 'Notify me',
539
+ label_success: '<p>Thanks! You will be notified once the product is back in stock.</p>',
540
+ product_exclusion_tag: 'back-in-stock-excluded',
541
+ default_variant: 'available',
542
+ padding: 0,
543
+ form_gap: 16,
544
+ button_alignment: 'stretch',
545
+ font_size: 16,
546
+ input_font_size: 16,
547
+ button_font_size: 16,
548
+ background_color: '#ffffff',
549
+ text_color: '#121212',
550
+ button_background_color: '#121212',
551
+ button_border_color: '#121212',
552
+ button_text_color: '#ffffff',
553
+ input_background_color: '#ffffff',
554
+ input_border_color: '#121212',
555
+ input_text_color: '#121212',
556
+ custom_css: ''
557
+ },
558
+ newsletter_form: {
559
+ heading: 'Subscribe to our newsletter',
560
+ subheading: '<p>Be the first to know about new collections and exclusive offers.</p>',
561
+ show_first_name: false,
562
+ show_last_name: false,
563
+ show_permission_checkbox: false,
564
+ tags: 'newsletter',
565
+ return_to: '',
566
+ label_first_name: 'First name',
567
+ placeholder_first_name: '',
568
+ label_last_name: 'Last name',
569
+ placeholder_last_name: '',
570
+ label_email: 'Email',
571
+ placeholder_email: '',
572
+ label_permission: '<p>I agree to receive marketing emails</p>',
573
+ label_subscribe: 'Subscribe',
574
+ success_message: 'Thanks for subscribing',
575
+ background_color: '#ffffff',
576
+ text_color: '#1a1b18',
577
+ button_background_color: '#445958',
578
+ button_text_color: '#ffffff'
579
+ }
580
+ }
581
+ };
465
582
  const Trustoo = {
466
583
  Trustoo: {
467
584
  'barrage-carousel': null,
@@ -619,7 +736,266 @@ const LooxReviews = {
619
736
  }
620
737
  }
621
738
  };
739
+ const SeoantTrustBadgesIcon = {
740
+ SeoantTrustBadgesIcon: {
741
+ star_rating: {
742
+ badge_id: null
743
+ }
744
+ }
745
+ };
746
+ const PowrContactFormBuilder = {
747
+ PowrContactFormBuilder: {
748
+ 'app-block': {
749
+ app_id: ''
750
+ }
751
+ }
752
+ };
753
+ const MyappgurusProductReviews = {
754
+ MyappgurusProductReviews: {
755
+ allReviews: {
756
+ Show_by_label: ''
757
+ },
758
+ allReviewsCounter: {
759
+ out_of_label: '',
760
+ stars_based_on_label: '',
761
+ reviews_label: ''
762
+ },
763
+ form: {
764
+ block_heading: '',
765
+ no_rating: '',
766
+ subtitle2: '',
767
+ review_btn: '',
768
+ see_all_reviews_label: '',
769
+ form_heading: '',
770
+ name_label: '',
771
+ email_label: '',
772
+ review_title_label: '',
773
+ review_description_label: '',
774
+ ratings_label: '',
775
+ delivery_ratings_label: '',
776
+ payment_ratings_label: '',
777
+ price_ratings_label: '',
778
+ review_image_label: '',
779
+ submit_btn_label: '',
780
+ cancel_btn_label: '',
781
+ sort_label: '',
782
+ sort1_label: '',
783
+ sort2_label: '',
784
+ sort3_label: '',
785
+ showing_label: '',
786
+ to_label: '',
787
+ of_label: '',
788
+ results_label: ''
789
+ },
790
+ star: null
791
+ }
792
+ };
793
+ const TrustreviewsProductReviews = {
794
+ TrustreviewsProductReviews: {
795
+ questions_widget: {
796
+ product: '{{ product }}'
797
+ },
798
+ 'review-carousel': null,
799
+ reviews_text_widget: null,
800
+ reviews_widget: {
801
+ product: '{{ product }}'
802
+ },
803
+ shop_reviews_widget: null,
804
+ star_rating: {
805
+ product: '{{product}}',
806
+ hide_on_no_reviews: false,
807
+ enable_jsonld: false,
808
+ starsize: 16,
809
+ addtional_text: ''
810
+ },
811
+ 'reviews-testimonials': null,
812
+ all_reviews_widget: null,
813
+ 'review-cards': null,
814
+ 'review-gallery': null,
815
+ medals: null
816
+ }
817
+ };
818
+ const HulkProductOptions = {
819
+ HulkProductOptions: {
820
+ option_block: null
821
+ }
822
+ };
823
+ const TrustshopProductReviews = {
824
+ TrustshopProductReviews: {
825
+ 'widget-product-rating': {
826
+ selected_product: '{{ product }}'
827
+ },
828
+ 'all-reviews': null,
829
+ 'widget-box': null,
830
+ 'review-testimonial': null
831
+ }
832
+ };
833
+ const Stamped = {
834
+ Stamped: {
835
+ 'main-widget': {
836
+ animation: true,
837
+ tags_exclude: '',
838
+ tags_include: '',
839
+ search: '',
840
+ linkify: true,
841
+ use_metafields: false,
842
+ sku_tagtype: 'sku'
843
+ },
844
+ 'product-rating-image': {
845
+ api_key: '',
846
+ store_hash: '',
847
+ product_id: '',
848
+ width: '',
849
+ height: ''
850
+ },
851
+ 'badge-double-image': {
852
+ api_key: '',
853
+ store_hash: '',
854
+ label1: '',
855
+ label2: '',
856
+ width: '',
857
+ height: ''
858
+ },
859
+ 'badge-single-image': {
860
+ api_key: '',
861
+ store_hash: '',
862
+ label1: '',
863
+ label2: '',
864
+ width: '',
865
+ height: ''
866
+ },
867
+ carousel: {
868
+ title: 'Real Reviews from Real Customers',
869
+ auto_play: false,
870
+ take: 30,
871
+ color_title: '',
872
+ color_star: '',
873
+ color_text: '',
874
+ color_link: '',
875
+ review_ids: '',
876
+ product_ids: '',
877
+ category: '',
878
+ product_brand: '',
879
+ tags: '',
880
+ min_rating: 'none',
881
+ fill_empty: false,
882
+ random: false,
883
+ with_photos: false
884
+ },
885
+ 'checkout-comments': {
886
+ product_ids: '',
887
+ style: 'box',
888
+ title: '',
889
+ timeago: false,
890
+ style_color_text: '',
891
+ style_color_link: ''
892
+ },
893
+ 'full-page': {
894
+ product_image: true,
895
+ take: 30,
896
+ label_substitute: '',
897
+ color_star: '',
898
+ color_verified: '',
899
+ color_text: '',
900
+ color_link: '',
901
+ review_ids: '',
902
+ product_ids: '',
903
+ category: '',
904
+ product_brand: '',
905
+ tags: '',
906
+ min_rating: 'none',
907
+ fill_empty: false,
908
+ random: false,
909
+ with_photos: false
910
+ },
911
+ 'instagram-feed': {
912
+ feed_type: 'carousel',
913
+ color_hover: '',
914
+ hover_text: '',
915
+ shop_button_text: '',
916
+ auto_play: false,
917
+ review_ids: '',
918
+ product_ids: '',
919
+ category: '',
920
+ product_brand: '',
921
+ tags: '',
922
+ min_rating: 'none',
923
+ fill_empty: false,
924
+ random: false,
925
+ with_photos: false
926
+ },
927
+ 'single-highlight': {
928
+ review_ids: '',
929
+ product_ids: '',
930
+ category: '',
931
+ product_brand: '',
932
+ tags: ''
933
+ },
934
+ 'site-badge': {
935
+ badge_type: 'badge',
936
+ color_outer: '',
937
+ color_inner: '',
938
+ color_ribbon: '',
939
+ color_text: '',
940
+ color_stars: '',
941
+ title_size: 12,
942
+ title: 'Verified Reviews'
943
+ },
944
+ 'star-rating-badge': {
945
+ use_metafields: false,
946
+ sku_tagtype: 'sku',
947
+ is_featured_product: false,
948
+ featured_product_handle: ''
949
+ },
950
+ 'top-rated': {
951
+ color_star: '',
952
+ color_link: ''
953
+ },
954
+ 'visual-gallery': {
955
+ feed_type: 'feed',
956
+ auto_play: false,
957
+ color_star: '',
958
+ color_hover: '',
959
+ color_hover_opacity: 50,
960
+ review_ids: '',
961
+ product_ids: '',
962
+ category: '',
963
+ product_brand: '',
964
+ tags: '',
965
+ min_rating: 'none',
966
+ fill_empty: false,
967
+ random: false,
968
+ with_photos: false
969
+ },
970
+ 'wall-photos': {
971
+ feed_type: 'feed',
972
+ auto_play: false,
973
+ color_star: '',
974
+ color_hover: '',
975
+ color_hover_opacity: 50,
976
+ review_ids: '',
977
+ product_ids: '',
978
+ category: '',
979
+ product_brand: '',
980
+ tags: '',
981
+ min_rating: 'none',
982
+ fill_empty: false,
983
+ random: false,
984
+ with_photos: false
985
+ }
986
+ }
987
+ };
622
988
  const composeSettingsByWidgetType = {
989
+ ...Stamped,
990
+ ...TrustshopProductReviews,
991
+ ...HulkProductOptions,
992
+ ...MyappgurusProductReviews,
993
+ ...TrustreviewsProductReviews,
994
+ ...PowrContactFormBuilder,
995
+ ...SeoantTrustBadgesIcon,
996
+ ...SegunoEmailMarketing,
997
+ ...AftershipEmailMarketingsms,
998
+ ...BestBuyFulfillment,
623
999
  ...GloboProductOptionsVariant,
624
1000
  ...WishlistKing,
625
1001
  ...LoloyalLoyaltyReferrals,
@@ -1,4 +1,4 @@
1
- import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, PreorderNowPreOrderPqConfig, FlyBundlesUpsellsFbtConfig, JunipProductReviewsUgcConfig, PreorderNowWodPresaleConfig, YotpoReviewsV3UgcConfig, WhatmoreShoppableVideosreelConfig, ProductOptionsCustomizerConfig, AppointmentBookingCowlendarConfig, BoldSubscriptionsConfig, SproutPlantTreesGrowSalesConfig, InstasellShoppableInstagramConfig, GrowaveConfig, LoloyalLoyaltyReferralsConfig, PowerfulContactFormBuilderConfig, WishlistKingConfig, GloboProductOptionsVariantConfig, KachingBundlesConfig, TrustooConfig, LooxReviewsConfig } from './appConfig.js';
1
+ import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, PreorderNowPreOrderPqConfig, FlyBundlesUpsellsFbtConfig, JunipProductReviewsUgcConfig, PreorderNowWodPresaleConfig, YotpoReviewsV3UgcConfig, WhatmoreShoppableVideosreelConfig, ProductOptionsCustomizerConfig, AppointmentBookingCowlendarConfig, BoldSubscriptionsConfig, SproutPlantTreesGrowSalesConfig, InstasellShoppableInstagramConfig, GrowaveConfig, LoloyalLoyaltyReferralsConfig, PowerfulContactFormBuilderConfig, WishlistKingConfig, GloboProductOptionsVariantConfig, KachingBundlesConfig, BestBuyFulfillmentConfig, AftershipEmailMarketingsmsConfig, SegunoEmailMarketingConfig, TrustooConfig, LooxReviewsConfig, SeoantTrustBadgesIconConfig, PowrContactFormBuilderConfig, MyappgurusProductReviewsConfig, TrustreviewsProductReviewsConfig, HulkProductOptionsConfig, TrustshopProductReviewsConfig } from './appConfig.js';
2
2
 
3
3
  const mapShopifyAppMeta = {
4
4
  ...RechargeSubscriptionsConfig,
@@ -32,8 +32,17 @@ const mapShopifyAppMeta = {
32
32
  ...WishlistKingConfig,
33
33
  ...GloboProductOptionsVariantConfig,
34
34
  ...KachingBundlesConfig,
35
+ ...BestBuyFulfillmentConfig,
36
+ ...AftershipEmailMarketingsmsConfig,
37
+ ...SegunoEmailMarketingConfig,
35
38
  ...TrustooConfig,
36
- ...LooxReviewsConfig
39
+ ...LooxReviewsConfig,
40
+ ...SeoantTrustBadgesIconConfig,
41
+ ...PowrContactFormBuilderConfig,
42
+ ...MyappgurusProductReviewsConfig,
43
+ ...TrustreviewsProductReviewsConfig,
44
+ ...HulkProductOptionsConfig,
45
+ ...TrustshopProductReviewsConfig
37
46
  };
38
47
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
39
48
 
@@ -4,7 +4,8 @@ import { getAppBlockType } from './getAppBlockType.js';
4
4
  const listAppUpdateNewVersion = [
5
5
  'Growave',
6
6
  'Trustoo',
7
- 'LooxReviews'
7
+ 'LooxReviews',
8
+ 'Stamped'
8
9
  ];
9
10
  const listThirdPartyRejectAppBlock = {
10
11
  YotpoReviews: {
@@ -15,6 +16,9 @@ const listThirdPartyRejectAppBlock = {
15
16
  },
16
17
  LooxReviews: {
17
18
  conditionToReject: 'settings?.version === "v1"'
19
+ },
20
+ Stamped: {
21
+ conditionToReject: 'settings?.version === "v1"'
18
22
  }
19
23
  };
20
24
  const getAppBlockConfig = (tag, appBlockId, settings)=>{
@@ -22,7 +22,7 @@ const composeTypographyV2Css = (typography, isImportant)=>{
22
22
  const typographyCustom = typography?.custom;
23
23
  const { fontFamily, fontSize, fontWeight, lineHeight, letterSpacing } = typographyCustom ?? {};
24
24
  const typographyAttrs = typography?.attrs;
25
- const { bold, italic, underline, transform } = typographyAttrs ?? {};
25
+ const { bold, italic, underline, transform, color } = typographyAttrs ?? {};
26
26
  const composeImportant = isImportant ? '!important' : '';
27
27
  return `
28
28
  ${fontFamily ? `font-family: ${composeFontFamilyTypographyV2({
@@ -30,6 +30,7 @@ const composeTypographyV2Css = (typography, isImportant)=>{
30
30
  type: typography?.type
31
31
  })} ${composeImportant}` : ''};
32
32
  ${fontSize?.desktop ? `font-size: ${fontSize?.desktop} ${composeImportant}` : ''};
33
+ ${color ? `color: ${color} ${composeImportant}` : ''};
33
34
  ${bold ? `font-weight: bold ${composeImportant}` : fontWeight ? `font-weight: ${fontWeight} ${composeImportant}` : ''};
34
35
  ${letterSpacing ? `letter-spacing: ${letterSpacing} ${composeImportant}` : ''};
35
36
  ${lineHeight?.desktop ? `line-height: ${lineHeight?.desktop} ${composeImportant}` : ''};
@@ -38,6 +39,13 @@ const composeTypographyV2Css = (typography, isImportant)=>{
38
39
  ${transform ? `text-transform: ${transform} ${composeImportant}` : ''};
39
40
  `;
40
41
  };
42
+ const composeTextHoverColorCss = (device, colorHoverConfig, isImportant)=>{
43
+ if (colorHoverConfig) {
44
+ const composeImportant = isImportant ? '!important' : '';
45
+ const color = colorHoverConfig[device]?.hover;
46
+ return `${color ? `color: ${color} ${composeImportant}` : ''}`;
47
+ }
48
+ };
41
49
  function getCustomCSSByDevice(typography, device) {
42
50
  if (!typography || !device) return {};
43
51
  const suffix = device === 'desktop' || !device ? '' : `-${device}`;
@@ -146,4 +154,4 @@ const isCustomTypo = (customTypo)=>{
146
154
  return customTypo && Object.keys(customTypo).length > 1 || customTypo && Object.keys(customTypo).length === 1 && !customTypo.fontSize;
147
155
  };
148
156
 
149
- export { composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, genTypoClass };
157
+ export { composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeTextHoverColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, genTypoClass };
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useRef, useCallback } from 'react';
2
3
 
3
4
  const useAnimationActions = ()=>{
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useMemo, useCallback } from 'react';
2
3
  import { useCurrentDevice } from '../use-current-device.js';
3
4
 
@@ -1,3 +1,4 @@
1
+ 'use client';
1
2
  import { useCallback } from 'react';
2
3
 
3
4
  const useAnimationPreview = ({ props, playAnimation, cancelAnimation, setAnimationOnFinish, setToolbarActive })=>{