@gem-sdk/components 2.4.10 → 2.4.12

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.
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var core = require('@gem-sdk/core');
6
6
  var helpers = require('../../helpers.js');
7
7
 
8
- const Button = ({ className, builderProps, customAttrs, pageContext, setting = {}, styles = {}, style, wrapClassName = '', advanced, nodePrice, dataId })=>{
8
+ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {}, styles = {}, style, wrapClassName = '', advanced, nodePrice, dataId, isUseTranslatedValue = false })=>{
9
9
  const { align, size, backgroundColor, textColor, roundedBtn, iconSpacing, globalSize } = styles;
10
10
  const { label, iconSvg, btnLink, htmlType, disabled, loading, iconAlign, iconVisible, translate, disabledLoading = true } = setting;
11
11
  const [wrapStyle, restStyle] = core.splitStyle([
@@ -70,7 +70,7 @@ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {
70
70
  color: ${core.getSingleColorVariable(styles?.textColor?.hover)};
71
71
  }
72
72
  `;
73
- const labelValDisplay = helpers.getDynamicSourceLocales({
73
+ const labelValDisplay = !isUseTranslatedValue ? label : helpers.getDynamicSourceLocales({
74
74
  val: label,
75
75
  uid: builderProps?.uidTranslate ?? builderProps?.uid,
76
76
  settingId: translate ?? 'label',
@@ -161,7 +161,7 @@ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {
161
161
  >${iconSvg}</span>`)}
162
162
  <span
163
163
  data-gp-text
164
- class="${`group-hover/button:!gp-text-inherit gp-button-text-only gp-break-words group-data-[state=loading]/button:gp-invisible [&_p]:gp-whitespace-pre-line gp-z-1 gp-h-full gp-flex gp-items-center gp-overflow-hidden ${nodePrice ? appendTypoClass : ''}
164
+ class="${`gp-content-product-button group-hover/button:!gp-text-inherit gp-button-text-only gp-break-words group-data-[state=loading]/button:gp-invisible [&_p]:gp-whitespace-pre-line gp-z-1 gp-h-full gp-flex gp-items-center gp-overflow-hidden ${nodePrice ? appendTypoClass : ''}
165
165
  ${styles?.typo?.attrs?.italic ? '[&:not(:has(p))]:gp-pr-[0.2em] [&_p]:[&:has(p)]:gp-pr-[0.2em]' : ''}`}"
166
166
  style="${{
167
167
  ...nodePrice && appendTypoStyle,
@@ -30,6 +30,7 @@ const PostPurchaseProductVariants = ({ builderProps, style, styles, setting })=>
30
30
  const { selectedOptions, setSelectedOption, forceSelectedOption } = core.useSelectedOption();
31
31
  const variantsWidth = core.makeStyleResponsive('w', core.makeWidth(width, fullWidth));
32
32
  const [variantId, setVariantId] = React.useState('');
33
+ const mode = core.useEditorMode();
33
34
  React.useEffect(()=>{
34
35
  const url = new URL(window.location.href);
35
36
  const variantParam = url.searchParams.get(VARIANT_PARAM_PATH);
@@ -231,10 +232,10 @@ const PostPurchaseProductVariants = ({ builderProps, style, styles, setting })=>
231
232
  })
232
233
  ]
233
234
  }) : /*#__PURE__*/ jsxRuntime.jsx("div", {
234
- children: /*#__PURE__*/ jsxRuntime.jsx("p", {
235
+ children: mode === 'edit' ? /*#__PURE__*/ jsxRuntime.jsx("p", {
235
236
  className: "gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",
236
237
  children: "This product has only default variant"
237
- })
238
+ }) : null
238
239
  })
239
240
  });
240
241
  };
@@ -218,7 +218,7 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
218
218
  ]);
219
219
  const isInStock = core.useCurrentVariantInStock();
220
220
  const isDisable = !isInStock || createCartLoading || addToCartLoading;
221
- const label = !isInStock ? setting?.outOfStockLabel : setting?.label;
221
+ const label = !isInStock ? !currentVariant ? 'Unavailable' : setting?.outOfStockLabel : setting?.label;
222
222
  if (!isInStock && isCustomOutOfStock) {
223
223
  buttonStyles.backgroundColor = {
224
224
  normal: oosBackground
@@ -188,6 +188,22 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
188
188
  pageContext,
189
189
  translate: setting?.translate
190
190
  });
191
+ const labelUnavailableTranslate = helpers.getDynamicSourceLocales({
192
+ val: 'Unavailable',
193
+ uid: builderProps?.uid,
194
+ settingId: 'unavailableLabel',
195
+ isLiquid: true,
196
+ pageContext,
197
+ translate: setting?.translate ? 'unavailableLabel' : undefined
198
+ });
199
+ const labelOutOfStockTranslate = helpers.getDynamicSourceLocales({
200
+ val: setting?.outOfStockLabel,
201
+ uid: builderProps?.uid,
202
+ settingId: 'outOfStockLabel',
203
+ isLiquid: true,
204
+ pageContext,
205
+ translate: setting?.translate ? 'outOfStockLabel' : undefined
206
+ });
191
207
  return core.template /* liquid */ `
192
208
  {%- liquid
193
209
  assign inventory_quantity = variant.inventory_quantity | default: 0
@@ -195,6 +211,8 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
195
211
  <gp-product-button
196
212
  class="gp-product-button"
197
213
  gp-data-wrapper="true"
214
+ gp-label-out-of-stock="${pageContext?.isPreviewing ? labelOutOfStockTranslate : `{{${labelOutOfStockTranslate}}}`}"
215
+ gp-label-unavailable="${pageContext?.isPreviewing ? labelUnavailableTranslate : `{{${labelUnavailableTranslate}}}`}"
198
216
  gp-data='${JSON.stringify({
199
217
  setting: {
200
218
  actionEffect: setting?.actionEffect,
@@ -272,8 +290,7 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
272
290
  'gp-data-hidden': `{% if variant.available %}true{% endif %}`
273
291
  },
274
292
  setting: {
275
- label: setting?.outOfStockLabel,
276
- translate: setting?.translate ? 'outOfStockLabel' : undefined,
293
+ label: `${pageContext?.isPreviewing ? labelOutOfStockTranslate : `{{${labelOutOfStockTranslate}}}`}`,
277
294
  htmlType: 'button',
278
295
  iconAlign: iconAlign,
279
296
  iconSvg: iconSvg,
@@ -292,7 +309,8 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
292
309
  }
293
310
  },
294
311
  pageContext,
295
- nodePrice: composeNodePrice()
312
+ nodePrice: composeNodePrice(),
313
+ isUseTranslatedValue: true
296
314
  })}
297
315
  </gp-product-button>
298
316
  ${core.RenderIf(core.isLocalEnv, `<script ${helpers.getSettingPreloadData('class="gps-link" delay', 'src')}="{{ 'gp-product-button.js' | asset_url }}" defer="defer"></script>`, `<script ${helpers.getSettingPreloadData('class="gps-link" delay', 'src')}="${core.baseAssetURL}/assets-v2/gp-product-button.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
@@ -2,11 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var thirdParty = require('../helpers/thirdParty.js');
5
6
  var core = require('@gem-sdk/core');
6
7
 
7
8
  const Releasit = ({ setting, advanced })=>{
8
- const { align } = setting ?? {};
9
- return core.template`
9
+ const { align, version, appBlockId } = setting ?? {};
10
+ return version === 'v2' ? thirdParty.getLiquidForAppBlock(appBlockId, align, `${advanced?.cssClass ?? ''}!gp-block`) : core.template`
10
11
  <div
11
12
  class="${advanced?.cssClass}"
12
13
  style="${{
@@ -4,8 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var BoldProductOptionsConfig = {
6
6
  id: 'bold-product-options',
7
- label: 'Bold Product Options',
8
- logoUrl: 'https://ucarecdn.com/cae13b55-18b6-416a-a447-c18211d78cfe/-/format/auto/-/preview/3000x3000/-/quality/lighter/Bold%20Product%20Options.png',
7
+ label: 'SC Product Options',
8
+ logoUrl: 'https://cdn.shopify.com/app-store/listing_images/9a0bf1159f79c6ab0660ec422f350445/icon/CP2Uwo_GuYIDEAE=.png',
9
9
  tag: 'BoldProductOptions'
10
10
  };
11
11
 
@@ -11,6 +11,11 @@ const config = {
11
11
  editorConfigs: {
12
12
  component: {
13
13
  isThirdParty: true
14
+ },
15
+ placeholder: {
16
+ flowTag: [
17
+ 'Product'
18
+ ]
14
19
  }
15
20
  },
16
21
  presets: [
@@ -39,6 +44,16 @@ const config = {
39
44
  {
40
45
  id: 'setting',
41
46
  controls: [
47
+ {
48
+ id: 'appBlockId',
49
+ type: 'input',
50
+ default: ''
51
+ },
52
+ {
53
+ id: 'productHandle',
54
+ type: 'input',
55
+ default: ''
56
+ },
42
57
  {
43
58
  id: 'install',
44
59
  type: 'open-link',
@@ -55,6 +70,38 @@ const config = {
55
70
  href: 'https://admin.shopify.com/?redirect=/apps/releasit-cod-order-form',
56
71
  appName: Releasit.default.label
57
72
  },
73
+ {
74
+ id: 'version',
75
+ label: 'Choose version',
76
+ type: 'select',
77
+ default: 'v1',
78
+ options: [
79
+ {
80
+ label: 'V1',
81
+ value: 'v1'
82
+ },
83
+ {
84
+ label: 'V2',
85
+ value: 'v2'
86
+ }
87
+ ]
88
+ },
89
+ {
90
+ id: 'widgetTypeV2',
91
+ label: 'Choose widget',
92
+ type: 'select',
93
+ default: 'button-app-block',
94
+ options: [
95
+ {
96
+ label: 'Releasit button',
97
+ value: 'button-app-block'
98
+ },
99
+ {
100
+ label: 'Releasit embedded form',
101
+ value: 'form-app-block'
102
+ }
103
+ ]
104
+ },
58
105
  {
59
106
  id: 'align',
60
107
  label: 'Alignment',
@@ -95,12 +142,22 @@ const config = {
95
142
  {
96
143
  type: 'control',
97
144
  label: {
98
- en: 'Choose widget'
145
+ en: 'Choose version'
99
146
  },
100
147
  setting: {
101
- id: 'widgetType'
148
+ id: 'version'
102
149
  }
103
150
  },
151
+ {
152
+ type: 'control',
153
+ label: {
154
+ en: 'Choose widget'
155
+ },
156
+ setting: {
157
+ id: 'widgetTypeV2'
158
+ },
159
+ condition: 'version === "v2"'
160
+ },
104
161
  {
105
162
  type: 'control',
106
163
  setting: {
@@ -1,7 +1,7 @@
1
1
  import { splitStyle, makeStyleResponsive, makeGlobalSize, composeTypographyClassName, composeTypographyStyle, composeBorderCss, composeCornerCss, getSingleColorVariable, template, cls, getGlobalColorStateClass, getGlobalColorStateStyle, composeRadius, getStyleShadowState, composeSize, getGradientBgrStyleForButton, RenderIf } from '@gem-sdk/core';
2
2
  import { getInsertLinkData, getDynamicSourceLocales } from '../../helpers.js';
3
3
 
4
- const Button = ({ className, builderProps, customAttrs, pageContext, setting = {}, styles = {}, style, wrapClassName = '', advanced, nodePrice, dataId })=>{
4
+ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {}, styles = {}, style, wrapClassName = '', advanced, nodePrice, dataId, isUseTranslatedValue = false })=>{
5
5
  const { align, size, backgroundColor, textColor, roundedBtn, iconSpacing, globalSize } = styles;
6
6
  const { label, iconSvg, btnLink, htmlType, disabled, loading, iconAlign, iconVisible, translate, disabledLoading = true } = setting;
7
7
  const [wrapStyle, restStyle] = splitStyle([
@@ -66,7 +66,7 @@ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {
66
66
  color: ${getSingleColorVariable(styles?.textColor?.hover)};
67
67
  }
68
68
  `;
69
- const labelValDisplay = getDynamicSourceLocales({
69
+ const labelValDisplay = !isUseTranslatedValue ? label : getDynamicSourceLocales({
70
70
  val: label,
71
71
  uid: builderProps?.uidTranslate ?? builderProps?.uid,
72
72
  settingId: translate ?? 'label',
@@ -157,7 +157,7 @@ const Button = ({ className, builderProps, customAttrs, pageContext, setting = {
157
157
  >${iconSvg}</span>`)}
158
158
  <span
159
159
  data-gp-text
160
- class="${`group-hover/button:!gp-text-inherit gp-button-text-only gp-break-words group-data-[state=loading]/button:gp-invisible [&_p]:gp-whitespace-pre-line gp-z-1 gp-h-full gp-flex gp-items-center gp-overflow-hidden ${nodePrice ? appendTypoClass : ''}
160
+ class="${`gp-content-product-button group-hover/button:!gp-text-inherit gp-button-text-only gp-break-words group-data-[state=loading]/button:gp-invisible [&_p]:gp-whitespace-pre-line gp-z-1 gp-h-full gp-flex gp-items-center gp-overflow-hidden ${nodePrice ? appendTypoClass : ''}
161
161
  ${styles?.typo?.attrs?.italic ? '[&:not(:has(p))]:gp-pr-[0.2em] [&_p]:[&:has(p)]:gp-pr-[0.2em]' : ''}`}"
162
162
  style="${{
163
163
  ...nodePrice && appendTypoStyle,
@@ -1,5 +1,5 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import { useVariants, useProduct, useIsSyncProduct, useSelectedOption, makeStyleResponsive, makeWidth, useInitialSwatchesOptions, useSwatchesOptions, optionLayoutStyle, cls, OptionSpecialStyle, getSelectedVariant } from '@gem-sdk/core';
2
+ import { useVariants, useProduct, useIsSyncProduct, useSelectedOption, makeStyleResponsive, makeWidth, useEditorMode, useInitialSwatchesOptions, useSwatchesOptions, optionLayoutStyle, cls, OptionSpecialStyle, getSelectedVariant } from '@gem-sdk/core';
3
3
  import { useState, useEffect, useMemo, useCallback } from 'react';
4
4
  import { checkDefaultVariant } from '../../../product/helpers/product.js';
5
5
  import { useTransition } from '../../../product/components/ProductVariants/common.js';
@@ -26,6 +26,7 @@ const PostPurchaseProductVariants = ({ builderProps, style, styles, setting })=>
26
26
  const { selectedOptions, setSelectedOption, forceSelectedOption } = useSelectedOption();
27
27
  const variantsWidth = makeStyleResponsive('w', makeWidth(width, fullWidth));
28
28
  const [variantId, setVariantId] = useState('');
29
+ const mode = useEditorMode();
29
30
  useEffect(()=>{
30
31
  const url = new URL(window.location.href);
31
32
  const variantParam = url.searchParams.get(VARIANT_PARAM_PATH);
@@ -227,10 +228,10 @@ const PostPurchaseProductVariants = ({ builderProps, style, styles, setting })=>
227
228
  })
228
229
  ]
229
230
  }) : /*#__PURE__*/ jsx("div", {
230
- children: /*#__PURE__*/ jsx("p", {
231
+ children: mode === 'edit' ? /*#__PURE__*/ jsx("p", {
231
232
  className: "gp-p-2 gp-text-center gp-text-sm gp-font-semibold gp-text-gray-500",
232
233
  children: "This product has only default variant"
233
- })
234
+ }) : null
234
235
  })
235
236
  });
236
237
  };
@@ -214,7 +214,7 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
214
214
  ]);
215
215
  const isInStock = useCurrentVariantInStock();
216
216
  const isDisable = !isInStock || createCartLoading || addToCartLoading;
217
- const label = !isInStock ? setting?.outOfStockLabel : setting?.label;
217
+ const label = !isInStock ? !currentVariant ? 'Unavailable' : setting?.outOfStockLabel : setting?.label;
218
218
  if (!isInStock && isCustomOutOfStock) {
219
219
  buttonStyles.backgroundColor = {
220
220
  normal: oosBackground
@@ -184,6 +184,22 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
184
184
  pageContext,
185
185
  translate: setting?.translate
186
186
  });
187
+ const labelUnavailableTranslate = getDynamicSourceLocales({
188
+ val: 'Unavailable',
189
+ uid: builderProps?.uid,
190
+ settingId: 'unavailableLabel',
191
+ isLiquid: true,
192
+ pageContext,
193
+ translate: setting?.translate ? 'unavailableLabel' : undefined
194
+ });
195
+ const labelOutOfStockTranslate = getDynamicSourceLocales({
196
+ val: setting?.outOfStockLabel,
197
+ uid: builderProps?.uid,
198
+ settingId: 'outOfStockLabel',
199
+ isLiquid: true,
200
+ pageContext,
201
+ translate: setting?.translate ? 'outOfStockLabel' : undefined
202
+ });
187
203
  return template /* liquid */ `
188
204
  {%- liquid
189
205
  assign inventory_quantity = variant.inventory_quantity | default: 0
@@ -191,6 +207,8 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
191
207
  <gp-product-button
192
208
  class="gp-product-button"
193
209
  gp-data-wrapper="true"
210
+ gp-label-out-of-stock="${pageContext?.isPreviewing ? labelOutOfStockTranslate : `{{${labelOutOfStockTranslate}}}`}"
211
+ gp-label-unavailable="${pageContext?.isPreviewing ? labelUnavailableTranslate : `{{${labelUnavailableTranslate}}}`}"
194
212
  gp-data='${JSON.stringify({
195
213
  setting: {
196
214
  actionEffect: setting?.actionEffect,
@@ -268,8 +286,7 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
268
286
  'gp-data-hidden': `{% if variant.available %}true{% endif %}`
269
287
  },
270
288
  setting: {
271
- label: setting?.outOfStockLabel,
272
- translate: setting?.translate ? 'outOfStockLabel' : undefined,
289
+ label: `${pageContext?.isPreviewing ? labelOutOfStockTranslate : `{{${labelOutOfStockTranslate}}}`}`,
273
290
  htmlType: 'button',
274
291
  iconAlign: iconAlign,
275
292
  iconSvg: iconSvg,
@@ -288,7 +305,8 @@ const ProductButton = ({ setting, builderProps, builderAttrs, style, styles, adv
288
305
  }
289
306
  },
290
307
  pageContext,
291
- nodePrice: composeNodePrice()
308
+ nodePrice: composeNodePrice(),
309
+ isUseTranslatedValue: true
292
310
  })}
293
311
  </gp-product-button>
294
312
  ${RenderIf(isLocalEnv, `<script ${getSettingPreloadData('class="gps-link" delay', 'src')}="{{ 'gp-product-button.js' | asset_url }}" defer="defer"></script>`, `<script ${getSettingPreloadData('class="gps-link" delay', 'src')}="${baseAssetURL}/assets-v2/gp-product-button.js?v={{ shop.metafields.GEMPAGES.ASSETS_VERSION }}" defer="defer"></script>`)}
@@ -1,8 +1,9 @@
1
+ import { getLiquidForAppBlock } from '../helpers/thirdParty.js';
1
2
  import { template, makeStyleResponsive } from '@gem-sdk/core';
2
3
 
3
4
  const Releasit = ({ setting, advanced })=>{
4
- const { align } = setting ?? {};
5
- return template`
5
+ const { align, version, appBlockId } = setting ?? {};
6
+ return version === 'v2' ? getLiquidForAppBlock(appBlockId, align, `${advanced?.cssClass ?? ''}!gp-block`) : template`
6
7
  <div
7
8
  class="${advanced?.cssClass}"
8
9
  style="${{
@@ -1,7 +1,7 @@
1
1
  var BoldProductOptionsConfig = {
2
2
  id: 'bold-product-options',
3
- label: 'Bold Product Options',
4
- logoUrl: 'https://ucarecdn.com/cae13b55-18b6-416a-a447-c18211d78cfe/-/format/auto/-/preview/3000x3000/-/quality/lighter/Bold%20Product%20Options.png',
3
+ label: 'SC Product Options',
4
+ logoUrl: 'https://cdn.shopify.com/app-store/listing_images/9a0bf1159f79c6ab0660ec422f350445/icon/CP2Uwo_GuYIDEAE=.png',
5
5
  tag: 'BoldProductOptions'
6
6
  };
7
7
 
@@ -7,6 +7,11 @@ const config = {
7
7
  editorConfigs: {
8
8
  component: {
9
9
  isThirdParty: true
10
+ },
11
+ placeholder: {
12
+ flowTag: [
13
+ 'Product'
14
+ ]
10
15
  }
11
16
  },
12
17
  presets: [
@@ -35,6 +40,16 @@ const config = {
35
40
  {
36
41
  id: 'setting',
37
42
  controls: [
43
+ {
44
+ id: 'appBlockId',
45
+ type: 'input',
46
+ default: ''
47
+ },
48
+ {
49
+ id: 'productHandle',
50
+ type: 'input',
51
+ default: ''
52
+ },
38
53
  {
39
54
  id: 'install',
40
55
  type: 'open-link',
@@ -51,6 +66,38 @@ const config = {
51
66
  href: 'https://admin.shopify.com/?redirect=/apps/releasit-cod-order-form',
52
67
  appName: ReleasitConfig.label
53
68
  },
69
+ {
70
+ id: 'version',
71
+ label: 'Choose version',
72
+ type: 'select',
73
+ default: 'v1',
74
+ options: [
75
+ {
76
+ label: 'V1',
77
+ value: 'v1'
78
+ },
79
+ {
80
+ label: 'V2',
81
+ value: 'v2'
82
+ }
83
+ ]
84
+ },
85
+ {
86
+ id: 'widgetTypeV2',
87
+ label: 'Choose widget',
88
+ type: 'select',
89
+ default: 'button-app-block',
90
+ options: [
91
+ {
92
+ label: 'Releasit button',
93
+ value: 'button-app-block'
94
+ },
95
+ {
96
+ label: 'Releasit embedded form',
97
+ value: 'form-app-block'
98
+ }
99
+ ]
100
+ },
54
101
  {
55
102
  id: 'align',
56
103
  label: 'Alignment',
@@ -91,12 +138,22 @@ const config = {
91
138
  {
92
139
  type: 'control',
93
140
  label: {
94
- en: 'Choose widget'
141
+ en: 'Choose version'
95
142
  },
96
143
  setting: {
97
- id: 'widgetType'
144
+ id: 'version'
98
145
  }
99
146
  },
147
+ {
148
+ type: 'control',
149
+ label: {
150
+ en: 'Choose widget'
151
+ },
152
+ setting: {
153
+ id: 'widgetTypeV2'
154
+ },
155
+ condition: 'version === "v2"'
156
+ },
100
157
  {
101
158
  type: 'control',
102
159
  setting: {
@@ -1577,6 +1577,8 @@ type ProductButtonProps = BasePropsWrap<{
1577
1577
  translate?: string;
1578
1578
  outOfStockLabel?: string;
1579
1579
  unavailableLabel?: string;
1580
+ labelUnavailableTranslate?: string;
1581
+ labelOutOfStockTranslate?: string;
1580
1582
  actionEffect?: 'open-cart-drawer' | 'buy-now' | 'continue-shopping' | 'go-to-url';
1581
1583
  customURL?: {
1582
1584
  link?: string;
@@ -2875,6 +2877,10 @@ type ReleasitProps = BaseProps<{
2875
2877
  align?: ObjectDevices<AlignProp>;
2876
2878
  openApp?: any;
2877
2879
  install?: any;
2880
+ version?: 'v1' | 'v2';
2881
+ widgetTypeV2?: string;
2882
+ appBlockId?: string;
2883
+ productHandle?: string;
2878
2884
  }>;
2879
2885
  declare const Releasit$1: React.FC<ReleasitProps>;
2880
2886
 
@@ -5429,10 +5435,11 @@ type ButtonLiquidProps = MixedProps & ButtonProps & {
5429
5435
  advanced?: any;
5430
5436
  pageContext?: PageContext;
5431
5437
  nodePrice?: string | null;
5438
+ isUseTranslatedValue?: boolean;
5432
5439
  } & {
5433
5440
  dataId?: string;
5434
5441
  };
5435
- declare const Button: ({ className, builderProps, customAttrs, pageContext, setting, styles, style, wrapClassName, advanced, nodePrice, dataId, }: ButtonLiquidProps) => string;
5442
+ declare const Button: ({ className, builderProps, customAttrs, pageContext, setting, styles, style, wrapClassName, advanced, nodePrice, dataId, isUseTranslatedValue, }: ButtonLiquidProps) => string;
5436
5443
 
5437
5444
  declare const Coupon: ({ setting, builderProps, builderAttrs, style, styles, advanced, pageContext, }: _gem_sdk_core.BaseProps<{
5438
5445
  copyContent?: string | undefined;
@@ -5684,6 +5691,8 @@ declare const ProductButton: ({ setting, builderProps, builderAttrs, style, styl
5684
5691
  translate?: string | undefined;
5685
5692
  outOfStockLabel?: string | undefined;
5686
5693
  unavailableLabel?: string | undefined;
5694
+ labelUnavailableTranslate?: string | undefined;
5695
+ labelOutOfStockTranslate?: string | undefined;
5687
5696
  actionEffect?: "buy-now" | "open-cart-drawer" | "continue-shopping" | "go-to-url" | undefined;
5688
5697
  customURL?: {
5689
5698
  link?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/components",
3
- "version": "2.4.10",
3
+ "version": "2.4.12",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -21,7 +21,7 @@
21
21
  "format": "prettier --write \"./src/**/*.{ts,tsx}\""
22
22
  },
23
23
  "devDependencies": {
24
- "@gem-sdk/core": "2.4.7",
24
+ "@gem-sdk/core": "2.4.11",
25
25
  "@gem-sdk/styles": "2.4.8",
26
26
  "@types/react-transition-group": "^4.4.5"
27
27
  },