@gem-sdk/core 1.50.0-staging.28 → 1.50.2

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.
@@ -45,7 +45,6 @@ const RenderPreview = ({ uid, ...passProps })=>{
45
45
  setting: item.settings,
46
46
  ...passProps,
47
47
  children: item.childrens.map((id)=>/*#__PURE__*/ jsxRuntime.jsx(RenderPreviewMemo, {
48
- bundleItem: passProps?.bundleItem,
49
48
  uid: id
50
49
  }, id))
51
50
  }) : /*#__PURE__*/ jsxRuntime.jsx(Component, {
@@ -51,8 +51,7 @@ const customRenderChildren = [
51
51
  ];
52
52
  const excludeApplyStyle = [
53
53
  'IconListV2',
54
- 'IconList',
55
- 'ProductBadge'
54
+ 'IconList'
56
55
  ];
57
56
  const postPurchaseRequiredElements = [
58
57
  'PostPurchaseProductOffer',
@@ -10,6 +10,7 @@ const SectionContext = /*#__PURE__*/ react.createContext(null);
10
10
  const createSectionProvider = (data)=>zustand.createStore((set, get)=>({
11
11
  data: data ?? {},
12
12
  getSection: (id)=>{
13
+ console.log('get().data', get().data);
13
14
  const section = get().data[id];
14
15
  return section ?? undefined;
15
16
  },
@@ -6,7 +6,6 @@
6
6
  title
7
7
  description
8
8
  descriptionHtml
9
- createdAt
10
9
  handle
11
10
  averageRating
12
11
  isStorefront
@@ -119,7 +119,7 @@ const getGlobalColorStateStyle = (type, data)=>{
119
119
  return Object.fromEntries(Object.entries(data).map(([state, value])=>{
120
120
  if (state === 'active') return [];
121
121
  return [
122
- `-${constant.stateMapping?.[state] || ''}-${type}`,
122
+ `-${constant.stateMapping?.[state]}-${type}`,
123
123
  getSingleColorVariable(value)
124
124
  ];
125
125
  }).filter(isDefined.isDefined));
@@ -58,6 +58,8 @@ const template = (strings, ...keys)=>{
58
58
  }
59
59
  }
60
60
  });
61
+ str = str.replaceAll(`style=""`, '');
62
+ str = str.replaceAll(`class=""`, '');
61
63
  return str;
62
64
  };
63
65
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -27,7 +27,7 @@ const getStyleShadow = (shadowStyle, isActiveState = false)=>{
27
27
  if (typeof value.distance == 'undefined') return {};
28
28
  const { value: distance, unit: unitDistance } = parseValueWithUnit(`${value?.distance}`);
29
29
  return {
30
- [`-${!isActiveState ? constant.stateMapping?.[state] || '' : ''}-${getShortname.getShortName(styleAppliedFor)}`]: 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 + ' ' : ''}${colors.getSingleColorVariable(value?.color)}` : 'none'
30
+ [`-${!isActiveState ? constant.stateMapping?.[state] : ''}-${getShortname.getShortName(styleAppliedFor)}`]: 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 + ' ' : ''}${colors.getSingleColorVariable(value?.color)}` : 'none'
31
31
  };
32
32
  };
33
33
  const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow)=>{
@@ -78,32 +78,11 @@ const SimpleBundlesKitsConfig = {
78
78
  appId: 'e553276b-36b2-446d-b80a-aa47fe5f96ac'
79
79
  }
80
80
  };
81
- const EasyBundleBuilderSkailamaConfig = {
82
- EasyBundleBuilderSkailama: {
83
- appName: 'easy-bundles',
84
- appId: '05b1325c-6303-4da5-8e2f-b13ab2a50e1a'
85
- }
86
- };
87
- const PreorderNowPreOrderPqConfig = {
88
- PreorderNowPreOrderPq: {
89
- appName: 'preorder-now-pre-order-pq',
90
- appId: '551fab2c-3af6-4a8f-ba21-736a71cb4540'
91
- }
92
- };
93
- const FlyBundlesUpsellsFbtConfig = {
94
- FlyBundlesUpsellsFbt: {
95
- appName: 'fly-bundles-upsell',
96
- appId: '26807bdc-c2ed-4a25-afb2-06e6b1ebf843'
97
- }
98
- };
99
81
 
100
82
  exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
101
- exports.EasyBundleBuilderSkailamaConfig = EasyBundleBuilderSkailamaConfig;
102
83
  exports.FastBundleBundlesDiscountsConfig = FastBundleBundlesDiscountsConfig;
103
- exports.FlyBundlesUpsellsFbtConfig = FlyBundlesUpsellsFbtConfig;
104
84
  exports.KiteFreeGiftDiscountConfig = KiteFreeGiftDiscountConfig;
105
85
  exports.LoopSubscriptionsConfig = LoopSubscriptionsConfig;
106
- exports.PreorderNowPreOrderPqConfig = PreorderNowPreOrderPqConfig;
107
86
  exports.PumperBundlesVolumeDiscountConfig = PumperBundlesVolumeDiscountConfig;
108
87
  exports.RechargeSubscriptionsConfig = RechargeSubscriptionsConfig;
109
88
  exports.ReviewxpoProductReviewsAppConfig = ReviewxpoProductReviewsAppConfig;
@@ -81,13 +81,6 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
81
81
  ...currentSetting,
82
82
  form_id: appSetting['formId']
83
83
  };
84
- case 'FlyBundlesUpsellsFbt':
85
- {
86
- return {
87
- ...currentSetting,
88
- bundle_id: appSetting?.['customBundleId']
89
- };
90
- }
91
84
  default:
92
85
  return currentSetting;
93
86
  }
@@ -136,33 +129,7 @@ const SimpleBundlesKits = {
136
129
  'infinite-options-selector': null
137
130
  }
138
131
  };
139
- const EasyBundleBuilderSkailama = {
140
- EasyBundleBuilderSkailama: {
141
- 'app-block-bundlePage': null
142
- }
143
- };
144
- const PreorderNowPreOrderPq = {
145
- PreorderNowPreOrderPq: {
146
- 'app-block-notifyapp-block-notify': null,
147
- 'app-block-partial': null,
148
- 'app-block-timer': null,
149
- 'app-block': null
150
- }
151
- };
152
- const FlyBundlesUpsellsFbt = {
153
- FlyBundlesUpsellsFbt: {
154
- 'app-block-volume': null,
155
- 'app-block-upsell-block': null,
156
- 'app-block-fbt': null,
157
- 'app-block-custom': {
158
- bundle_id: ''
159
- }
160
- }
161
- };
162
132
  const composeSettingsByWidgetType = {
163
- ...FlyBundlesUpsellsFbt,
164
- ...PreorderNowPreOrderPq,
165
- ...EasyBundleBuilderSkailama,
166
133
  ...FastBundleBundlesDiscounts,
167
134
  ...KiteFreeGiftDiscount,
168
135
  ...UnlimitedBundlesDiscounts,
@@ -15,10 +15,7 @@ const mapShopifyAppMeta = {
15
15
  ...appConfig.UnlimitedBundlesDiscountsConfig,
16
16
  ...appConfig.KiteFreeGiftDiscountConfig,
17
17
  ...appConfig.FastBundleBundlesDiscountsConfig,
18
- ...appConfig.SimpleBundlesKitsConfig,
19
- ...appConfig.EasyBundleBuilderSkailamaConfig,
20
- ...appConfig.PreorderNowPreOrderPqConfig,
21
- ...appConfig.FlyBundlesUpsellsFbtConfig
18
+ ...appConfig.SimpleBundlesKitsConfig
22
19
  };
23
20
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
24
21
 
@@ -118,7 +118,7 @@ const composeTypographyAttr = (attrs)=>{
118
118
  });
119
119
  };
120
120
  const composeTypographyClassName = (typo, typography)=>{
121
- return typo ? typo?.type && !isCustomTypo(typo.custom) ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
121
+ return typo ? typo?.type && !typo.custom ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
122
122
  };
123
123
  const composeFallbackTypographyStyle = (tag)=>{
124
124
  if (tag.toLocaleLowerCase().includes('heading')) {
@@ -132,7 +132,7 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
132
132
  const customTypo = {
133
133
  ...typo.custom,
134
134
  fallbackFontFamily: fallbackFontFamily,
135
- isCustom: isCustomTypo(typo.custom)
135
+ isCustom: !!typo.custom
136
136
  };
137
137
  return {
138
138
  ...composeTypographyV2(customTypo, typo.attrs),
@@ -143,9 +143,6 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
143
143
  ...!typography?.type ? composeTypography(typography?.custom) : {}
144
144
  };
145
145
  };
146
- const isCustomTypo = (customTypo)=>{
147
- return customTypo && Object.keys(customTypo).length > 1 || customTypo && Object.keys(customTypo).length === 1 && !customTypo.fontSize;
148
- };
149
146
 
150
147
  exports.composeFallbackTypographyStyle = composeFallbackTypographyStyle;
151
148
  exports.composeFontFamilyTypographyV2 = composeFontFamilyTypographyV2;
@@ -5,71 +5,70 @@ var shop = require('./shop.js');
5
5
  const shopifyPriceRounding = (amount, precision)=>{
6
6
  return parseFloat(`${amount}`).toFixed(Number(precision) + 1).slice(0, -1);
7
7
  };
8
- const formatMoney = function(cents, format) {
9
- let value = '';
10
- const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
11
- const formatString = format || '${{amount}}';
12
- /**
13
- * check default
14
- * @param opt opt
15
- * @param def def
16
- * @returns any
17
- */ function defaultOption(opt, def) {
18
- return typeof opt == 'undefined' ? def : opt;
19
- }
20
- /**
21
- * formatWithDelimiters
22
- * @param number number
23
- * @param precision precision
24
- * @param thousands thousands
25
- * @param decimal decimal
26
- * @returns any
27
- */ // eslint-disable-next-line max-params
28
- function formatWithDelimiters(number, precision, thousands, decimal) {
29
- precision = defaultOption(precision, 2);
30
- thousands = defaultOption(thousands, ',');
31
- decimal = defaultOption(decimal, '.');
32
- if (isNaN(number) || number == null) {
33
- return 0;
34
- }
35
- // shopify làm tròn bằng cách cắt đi các số ở đằng sau chứ không sử dụng toFixed để làm tròn như toán học
36
- number = shopifyPriceRounding(number, Number(precision));
37
- const parts = number.split('.'), dollars = parts[0]?.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousands), cents = parts[1] ? decimal + parts[1] : '';
38
- return dollars + cents;
39
- }
40
- switch(formatString.match(placeholderRegex)[1]){
41
- case 'amount':
42
- value = formatWithDelimiters(cents, 2);
43
- break;
44
- case 'amount_no_decimals':
45
- value = formatWithDelimiters(cents, 0);
46
- break;
47
- case 'amount_with_comma_separator':
48
- value = formatWithDelimiters(cents, 2, '.', ',');
49
- break;
50
- case 'amount_no_decimals_with_comma_separator':
51
- value = formatWithDelimiters(cents, 0, '.', ',');
52
- break;
53
- case 'amount_with_apostrophe_separator':
54
- value = formatWithDelimiters(cents, 2, "'", '.');
55
- break;
56
- case 'amount_no_decimals_with_space_separator':
57
- value = formatWithDelimiters(cents, 0, ' ');
58
- break;
59
- case 'amount_with_space_separator':
60
- value = formatWithDelimiters(cents, 2, ' ', ',');
61
- break;
62
- case 'amount_with_period_and_space_separator':
63
- value = formatWithDelimiters(cents, 2, ' ', '.');
64
- break;
65
- }
66
- return formatString.replace(placeholderRegex, value);
67
- };
68
8
  const useFormatMoney = (amount, withCurrency)=>{
69
9
  const { moneyFormat, moneyWithCurrencyFormat } = shop.useMoneyFormat();
10
+ const formatMoney = function(cents, format) {
11
+ let value = '';
12
+ const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
13
+ const formatString = format || '${{amount}}';
14
+ /**
15
+ * check default
16
+ * @param opt opt
17
+ * @param def def
18
+ * @returns any
19
+ */ function defaultOption(opt, def) {
20
+ return typeof opt == 'undefined' ? def : opt;
21
+ }
22
+ /**
23
+ * formatWithDelimiters
24
+ * @param number number
25
+ * @param precision precision
26
+ * @param thousands thousands
27
+ * @param decimal decimal
28
+ * @returns any
29
+ */ // eslint-disable-next-line max-params
30
+ function formatWithDelimiters(number, precision, thousands, decimal) {
31
+ precision = defaultOption(precision, 2);
32
+ thousands = defaultOption(thousands, ',');
33
+ decimal = defaultOption(decimal, '.');
34
+ if (isNaN(number) || number == null) {
35
+ return 0;
36
+ }
37
+ // shopify làm tròn bằng cách cắt đi các số ở đằng sau chứ không sử dụng toFixed để làm tròn như toán học
38
+ number = shopifyPriceRounding(number, Number(precision));
39
+ const parts = number.split('.'), dollars = parts[0]?.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousands), cents = parts[1] ? decimal + parts[1] : '';
40
+ return dollars + cents;
41
+ }
42
+ switch(formatString.match(placeholderRegex)[1]){
43
+ case 'amount':
44
+ value = formatWithDelimiters(cents, 2);
45
+ break;
46
+ case 'amount_no_decimals':
47
+ value = formatWithDelimiters(cents, 0);
48
+ break;
49
+ case 'amount_with_comma_separator':
50
+ value = formatWithDelimiters(cents, 2, '.', ',');
51
+ break;
52
+ case 'amount_no_decimals_with_comma_separator':
53
+ value = formatWithDelimiters(cents, 0, '.', ',');
54
+ break;
55
+ case 'amount_with_apostrophe_separator':
56
+ value = formatWithDelimiters(cents, 2, "'", '.');
57
+ break;
58
+ case 'amount_no_decimals_with_space_separator':
59
+ value = formatWithDelimiters(cents, 0, ' ');
60
+ break;
61
+ case 'amount_with_space_separator':
62
+ value = formatWithDelimiters(cents, 2, ' ', ',');
63
+ break;
64
+ case 'amount_with_period_and_space_separator':
65
+ value = formatWithDelimiters(cents, 2, ' ', '.');
66
+ break;
67
+ }
68
+ return formatString.replace(placeholderRegex, value);
69
+ };
70
70
  return withCurrency ? formatMoney(`${amount}`, moneyWithCurrencyFormat || moneyFormat) : formatMoney(`${amount}`, moneyFormat);
71
71
  };
72
72
 
73
- exports.formatMoney = formatMoney;
74
73
  exports.shopifyPriceRounding = shopifyPriceRounding;
75
74
  exports.useFormatMoney = useFormatMoney;
package/dist/cjs/index.js CHANGED
@@ -60,7 +60,6 @@ var iconList = require('./helpers/icon-list.js');
60
60
  var isDefined = require('./helpers/is-defined.js');
61
61
  var layout = require('./helpers/layout.js');
62
62
  var makeStyle = require('./helpers/make-style.js');
63
- var align = require('./helpers/align.js');
64
63
  var product = require('./helpers/product.js');
65
64
  var query = require('./helpers/query.js');
66
65
  var radius = require('./helpers/radius.js');
@@ -244,7 +243,6 @@ exports.makeStyleResponsiveState = makeStyle.makeStyleResponsiveState;
244
243
  exports.makeStyleState = makeStyle.makeStyleState;
245
244
  exports.makeWidth = makeStyle.makeWidth;
246
245
  exports.removeNullUndefined = makeStyle.removeNullUndefined;
247
- exports.convertTextAlignToJustify = align.convertTextAlignToJustify;
248
246
  exports.checkAvailableVariantInStock = product.checkAvailableVariantInStock;
249
247
  exports.getSelectedVariant = product.getSelectedVariant;
250
248
  exports.parseSelectedOption = product.parseSelectedOption;
@@ -319,7 +317,6 @@ exports.useProductQuery = useProductQuery.useProductQuery;
319
317
  exports.useProductsQuery = useProductsQuery.useProductsQuery;
320
318
  exports.useProductsQueryAll = useProductsQuery.useProductsQueryAll;
321
319
  exports.useCurrentDevice = useCurrentDevice.useCurrentDevice;
322
- exports.formatMoney = useFormatMoney.formatMoney;
323
320
  exports.shopifyPriceRounding = useFormatMoney.shopifyPriceRounding;
324
321
  exports.useFormatMoney = useFormatMoney.useFormatMoney;
325
322
  exports.useLazyVideo = useLazyVideo.useLazyVideo;
@@ -41,7 +41,6 @@ const RenderPreview = ({ uid, ...passProps })=>{
41
41
  setting: item.settings,
42
42
  ...passProps,
43
43
  children: item.childrens.map((id)=>/*#__PURE__*/ jsx(RenderPreviewMemo, {
44
- bundleItem: passProps?.bundleItem,
45
44
  uid: id
46
45
  }, id))
47
46
  }) : /*#__PURE__*/ jsx(Component, {
@@ -49,8 +49,7 @@ const customRenderChildren = [
49
49
  ];
50
50
  const excludeApplyStyle = [
51
51
  'IconListV2',
52
- 'IconList',
53
- 'ProductBadge'
52
+ 'IconList'
54
53
  ];
55
54
  const postPurchaseRequiredElements = [
56
55
  'PostPurchaseProductOffer',
@@ -8,6 +8,7 @@ const SectionContext = /*#__PURE__*/ createContext(null);
8
8
  const createSectionProvider = (data)=>createStore((set, get)=>({
9
9
  data: data ?? {},
10
10
  getSection: (id)=>{
11
+ console.log('get().data', get().data);
11
12
  const section = get().data[id];
12
13
  return section ?? undefined;
13
14
  },
@@ -4,7 +4,6 @@
4
4
  title
5
5
  description
6
6
  descriptionHtml
7
- createdAt
8
7
  handle
9
8
  averageRating
10
9
  isStorefront
@@ -117,7 +117,7 @@ const getGlobalColorStateStyle = (type, data)=>{
117
117
  return Object.fromEntries(Object.entries(data).map(([state, value])=>{
118
118
  if (state === 'active') return [];
119
119
  return [
120
- `-${stateMapping?.[state] || ''}-${type}`,
120
+ `-${stateMapping?.[state]}-${type}`,
121
121
  getSingleColorVariable(value)
122
122
  ];
123
123
  }).filter(isDefined));
@@ -56,6 +56,8 @@ const template = (strings, ...keys)=>{
56
56
  }
57
57
  }
58
58
  });
59
+ str = str.replaceAll(`style=""`, '');
60
+ str = str.replaceAll(`class=""`, '');
59
61
  return str;
60
62
  };
61
63
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
@@ -25,7 +25,7 @@ const getStyleShadow = (shadowStyle, isActiveState = false)=>{
25
25
  if (typeof value.distance == 'undefined') return {};
26
26
  const { value: distance, unit: unitDistance } = parseValueWithUnit(`${value?.distance}`);
27
27
  return {
28
- [`-${!isActiveState ? stateMapping?.[state] || '' : ''}-${getShortName(styleAppliedFor)}`]: 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'
28
+ [`-${!isActiveState ? stateMapping?.[state] : ''}-${getShortName(styleAppliedFor)}`]: 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
29
  };
30
30
  };
31
31
  const getStyleShadowState = (shadow, styleAppliedFor, isEnableShadow)=>{
@@ -76,23 +76,5 @@ const SimpleBundlesKitsConfig = {
76
76
  appId: 'e553276b-36b2-446d-b80a-aa47fe5f96ac'
77
77
  }
78
78
  };
79
- const EasyBundleBuilderSkailamaConfig = {
80
- EasyBundleBuilderSkailama: {
81
- appName: 'easy-bundles',
82
- appId: '05b1325c-6303-4da5-8e2f-b13ab2a50e1a'
83
- }
84
- };
85
- const PreorderNowPreOrderPqConfig = {
86
- PreorderNowPreOrderPq: {
87
- appName: 'preorder-now-pre-order-pq',
88
- appId: '551fab2c-3af6-4a8f-ba21-736a71cb4540'
89
- }
90
- };
91
- const FlyBundlesUpsellsFbtConfig = {
92
- FlyBundlesUpsellsFbt: {
93
- appName: 'fly-bundles-upsell',
94
- appId: '26807bdc-c2ed-4a25-afb2-06e6b1ebf843'
95
- }
96
- };
97
79
 
98
- export { BonLoyaltyRewardsReferralsConfig, EasyBundleBuilderSkailamaConfig, FastBundleBundlesDiscountsConfig, FlyBundlesUpsellsFbtConfig, KiteFreeGiftDiscountConfig, LoopSubscriptionsConfig, PreorderNowPreOrderPqConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SelleasyConfig, ShopifyFormsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SubifySubscriptionsConfig, UnlimitedBundlesDiscountsConfig };
80
+ export { BonLoyaltyRewardsReferralsConfig, FastBundleBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, LoopSubscriptionsConfig, PumperBundlesVolumeDiscountConfig, RechargeSubscriptionsConfig, ReviewxpoProductReviewsAppConfig, SelleasyConfig, ShopifyFormsConfig, SimpleBundlesKitsConfig, SkioSubscriptionsYcS20Config, SubifySubscriptionsConfig, UnlimitedBundlesDiscountsConfig };
@@ -79,13 +79,6 @@ const overrideSettings = (tag, currentSetting, appSetting)=>{
79
79
  ...currentSetting,
80
80
  form_id: appSetting['formId']
81
81
  };
82
- case 'FlyBundlesUpsellsFbt':
83
- {
84
- return {
85
- ...currentSetting,
86
- bundle_id: appSetting?.['customBundleId']
87
- };
88
- }
89
82
  default:
90
83
  return currentSetting;
91
84
  }
@@ -134,33 +127,7 @@ const SimpleBundlesKits = {
134
127
  'infinite-options-selector': null
135
128
  }
136
129
  };
137
- const EasyBundleBuilderSkailama = {
138
- EasyBundleBuilderSkailama: {
139
- 'app-block-bundlePage': null
140
- }
141
- };
142
- const PreorderNowPreOrderPq = {
143
- PreorderNowPreOrderPq: {
144
- 'app-block-notifyapp-block-notify': null,
145
- 'app-block-partial': null,
146
- 'app-block-timer': null,
147
- 'app-block': null
148
- }
149
- };
150
- const FlyBundlesUpsellsFbt = {
151
- FlyBundlesUpsellsFbt: {
152
- 'app-block-volume': null,
153
- 'app-block-upsell-block': null,
154
- 'app-block-fbt': null,
155
- 'app-block-custom': {
156
- bundle_id: ''
157
- }
158
- }
159
- };
160
130
  const composeSettingsByWidgetType = {
161
- ...FlyBundlesUpsellsFbt,
162
- ...PreorderNowPreOrderPq,
163
- ...EasyBundleBuilderSkailama,
164
131
  ...FastBundleBundlesDiscounts,
165
132
  ...KiteFreeGiftDiscount,
166
133
  ...UnlimitedBundlesDiscounts,
@@ -1,4 +1,4 @@
1
- import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig, EasyBundleBuilderSkailamaConfig, PreorderNowPreOrderPqConfig, FlyBundlesUpsellsFbtConfig } from './appConfig.js';
1
+ import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config, ShopifyFormsConfig, ReviewxpoProductReviewsAppConfig, PumperBundlesVolumeDiscountConfig, UnlimitedBundlesDiscountsConfig, KiteFreeGiftDiscountConfig, FastBundleBundlesDiscountsConfig, SimpleBundlesKitsConfig } from './appConfig.js';
2
2
 
3
3
  const mapShopifyAppMeta = {
4
4
  ...RechargeSubscriptionsConfig,
@@ -13,10 +13,7 @@ const mapShopifyAppMeta = {
13
13
  ...UnlimitedBundlesDiscountsConfig,
14
14
  ...KiteFreeGiftDiscountConfig,
15
15
  ...FastBundleBundlesDiscountsConfig,
16
- ...SimpleBundlesKitsConfig,
17
- ...EasyBundleBuilderSkailamaConfig,
18
- ...PreorderNowPreOrderPqConfig,
19
- ...FlyBundlesUpsellsFbtConfig
16
+ ...SimpleBundlesKitsConfig
20
17
  };
21
18
  const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
22
19
 
@@ -116,7 +116,7 @@ const composeTypographyAttr = (attrs)=>{
116
116
  });
117
117
  };
118
118
  const composeTypographyClassName = (typo, typography)=>{
119
- return typo ? typo?.type && !isCustomTypo(typo.custom) ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
119
+ return typo ? typo?.type && !typo.custom ? genTypoClass(typo.type) : '' : typography?.type && genTypoClass(typography?.type);
120
120
  };
121
121
  const composeFallbackTypographyStyle = (tag)=>{
122
122
  if (tag.toLocaleLowerCase().includes('heading')) {
@@ -130,7 +130,7 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
130
130
  const customTypo = {
131
131
  ...typo.custom,
132
132
  fallbackFontFamily: fallbackFontFamily,
133
- isCustom: isCustomTypo(typo.custom)
133
+ isCustom: !!typo.custom
134
134
  };
135
135
  return {
136
136
  ...composeTypographyV2(customTypo, typo.attrs),
@@ -141,8 +141,5 @@ const composeTypographyStyle = (typo, typography, disableAttr)=>{
141
141
  ...!typography?.type ? composeTypography(typography?.custom) : {}
142
142
  };
143
143
  };
144
- const isCustomTypo = (customTypo)=>{
145
- return customTypo && Object.keys(customTypo).length > 1 || customTypo && Object.keys(customTypo).length === 1 && !customTypo.fontSize;
146
- };
147
144
 
148
145
  export { composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, genTypoClass };
@@ -3,69 +3,69 @@ import { useMoneyFormat } from './shop.js';
3
3
  const shopifyPriceRounding = (amount, precision)=>{
4
4
  return parseFloat(`${amount}`).toFixed(Number(precision) + 1).slice(0, -1);
5
5
  };
6
- const formatMoney = function(cents, format) {
7
- let value = '';
8
- const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
9
- const formatString = format || '${{amount}}';
10
- /**
11
- * check default
12
- * @param opt opt
13
- * @param def def
14
- * @returns any
15
- */ function defaultOption(opt, def) {
16
- return typeof opt == 'undefined' ? def : opt;
17
- }
18
- /**
19
- * formatWithDelimiters
20
- * @param number number
21
- * @param precision precision
22
- * @param thousands thousands
23
- * @param decimal decimal
24
- * @returns any
25
- */ // eslint-disable-next-line max-params
26
- function formatWithDelimiters(number, precision, thousands, decimal) {
27
- precision = defaultOption(precision, 2);
28
- thousands = defaultOption(thousands, ',');
29
- decimal = defaultOption(decimal, '.');
30
- if (isNaN(number) || number == null) {
31
- return 0;
32
- }
33
- // shopify làm tròn bằng cách cắt đi các số ở đằng sau chứ không sử dụng toFixed để làm tròn như toán học
34
- number = shopifyPriceRounding(number, Number(precision));
35
- const parts = number.split('.'), dollars = parts[0]?.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousands), cents = parts[1] ? decimal + parts[1] : '';
36
- return dollars + cents;
37
- }
38
- switch(formatString.match(placeholderRegex)[1]){
39
- case 'amount':
40
- value = formatWithDelimiters(cents, 2);
41
- break;
42
- case 'amount_no_decimals':
43
- value = formatWithDelimiters(cents, 0);
44
- break;
45
- case 'amount_with_comma_separator':
46
- value = formatWithDelimiters(cents, 2, '.', ',');
47
- break;
48
- case 'amount_no_decimals_with_comma_separator':
49
- value = formatWithDelimiters(cents, 0, '.', ',');
50
- break;
51
- case 'amount_with_apostrophe_separator':
52
- value = formatWithDelimiters(cents, 2, "'", '.');
53
- break;
54
- case 'amount_no_decimals_with_space_separator':
55
- value = formatWithDelimiters(cents, 0, ' ');
56
- break;
57
- case 'amount_with_space_separator':
58
- value = formatWithDelimiters(cents, 2, ' ', ',');
59
- break;
60
- case 'amount_with_period_and_space_separator':
61
- value = formatWithDelimiters(cents, 2, ' ', '.');
62
- break;
63
- }
64
- return formatString.replace(placeholderRegex, value);
65
- };
66
6
  const useFormatMoney = (amount, withCurrency)=>{
67
7
  const { moneyFormat, moneyWithCurrencyFormat } = useMoneyFormat();
8
+ const formatMoney = function(cents, format) {
9
+ let value = '';
10
+ const placeholderRegex = /\{\{\s*(\w+)\s*\}\}/;
11
+ const formatString = format || '${{amount}}';
12
+ /**
13
+ * check default
14
+ * @param opt opt
15
+ * @param def def
16
+ * @returns any
17
+ */ function defaultOption(opt, def) {
18
+ return typeof opt == 'undefined' ? def : opt;
19
+ }
20
+ /**
21
+ * formatWithDelimiters
22
+ * @param number number
23
+ * @param precision precision
24
+ * @param thousands thousands
25
+ * @param decimal decimal
26
+ * @returns any
27
+ */ // eslint-disable-next-line max-params
28
+ function formatWithDelimiters(number, precision, thousands, decimal) {
29
+ precision = defaultOption(precision, 2);
30
+ thousands = defaultOption(thousands, ',');
31
+ decimal = defaultOption(decimal, '.');
32
+ if (isNaN(number) || number == null) {
33
+ return 0;
34
+ }
35
+ // shopify làm tròn bằng cách cắt đi các số ở đằng sau chứ không sử dụng toFixed để làm tròn như toán học
36
+ number = shopifyPriceRounding(number, Number(precision));
37
+ const parts = number.split('.'), dollars = parts[0]?.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1' + thousands), cents = parts[1] ? decimal + parts[1] : '';
38
+ return dollars + cents;
39
+ }
40
+ switch(formatString.match(placeholderRegex)[1]){
41
+ case 'amount':
42
+ value = formatWithDelimiters(cents, 2);
43
+ break;
44
+ case 'amount_no_decimals':
45
+ value = formatWithDelimiters(cents, 0);
46
+ break;
47
+ case 'amount_with_comma_separator':
48
+ value = formatWithDelimiters(cents, 2, '.', ',');
49
+ break;
50
+ case 'amount_no_decimals_with_comma_separator':
51
+ value = formatWithDelimiters(cents, 0, '.', ',');
52
+ break;
53
+ case 'amount_with_apostrophe_separator':
54
+ value = formatWithDelimiters(cents, 2, "'", '.');
55
+ break;
56
+ case 'amount_no_decimals_with_space_separator':
57
+ value = formatWithDelimiters(cents, 0, ' ');
58
+ break;
59
+ case 'amount_with_space_separator':
60
+ value = formatWithDelimiters(cents, 2, ' ', ',');
61
+ break;
62
+ case 'amount_with_period_and_space_separator':
63
+ value = formatWithDelimiters(cents, 2, ' ', '.');
64
+ break;
65
+ }
66
+ return formatString.replace(placeholderRegex, value);
67
+ };
68
68
  return withCurrency ? formatMoney(`${amount}`, moneyWithCurrencyFormat || moneyFormat) : formatMoney(`${amount}`, moneyFormat);
69
69
  };
70
70
 
71
- export { formatMoney, shopifyPriceRounding, useFormatMoney };
71
+ export { shopifyPriceRounding, useFormatMoney };
package/dist/esm/index.js CHANGED
@@ -61,7 +61,6 @@ export { composePositionLineHeight, composePostionIconList } from './helpers/ico
61
61
  export { isDefined } from './helpers/is-defined.js';
62
62
  export { composeGridLayout, convertOldLayout, gridToArrayRegex, optionLayoutStyle } from './helpers/layout.js';
63
63
  export { makeAspectRatio, makeGlobalSizeHeightResponsive, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeWidth, removeNullUndefined } from './helpers/make-style.js';
64
- export { convertTextAlignToJustify } from './helpers/align.js';
65
64
  export { checkAvailableVariantInStock, getSelectedVariant, parseSelectedOption } from './helpers/product.js';
66
65
  export { generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey } from './helpers/query.js';
67
66
  export { composeCornerCss, composeRadius, composeRadiusResponsive, getCornerCSSFromGlobal, getCustomRadius, getRadiusCSSFromGlobal, getRadiusStyleActiveState } from './helpers/radius.js';
@@ -82,7 +81,7 @@ export { useCollectionsQuery } from './hooks/shop/use-collections-query.js';
82
81
  export { useProductQuery } from './hooks/shop/use-product-query.js';
83
82
  export { useProductsQuery, useProductsQueryAll } from './hooks/shop/use-products-query.js';
84
83
  export { useCurrentDevice } from './hooks/use-current-device.js';
85
- export { formatMoney, shopifyPriceRounding, useFormatMoney } from './hooks/useFormatMoney.js';
84
+ export { shopifyPriceRounding, useFormatMoney } from './hooks/useFormatMoney.js';
86
85
  export { useLazyVideo } from './hooks/use-lazy-video.js';
87
86
  export { default as useCartId } from './hooks/useCartId.js';
88
87
  export { default as useCartLine } from './hooks/useCartLine.js';
@@ -6832,7 +6832,6 @@ type ImageShape$1 = {
6832
6832
  type SizeSettingGlobal = {
6833
6833
  shape?: 'square' | 'vertical' | 'horizontal' | 'custom' | 'original';
6834
6834
  shapeLinked?: boolean;
6835
- disableShapeLinked?: boolean;
6836
6835
  shapeValue?: string;
6837
6836
  widthHeightLinked?: boolean;
6838
6837
  padding?: {
@@ -7233,7 +7232,6 @@ type PositionControlType<T> = SharedControlType<T> & {
7233
7232
 
7234
7233
  type PositionSquareControlType<T> = SharedControlType<T> & {
7235
7234
  type: 'position:square';
7236
- ignoreValue?: string[];
7237
7235
  };
7238
7236
 
7239
7237
  type RadioGroupControlType = {
@@ -7335,7 +7333,6 @@ type Option$2<T> = {
7335
7333
  tooltip?: string;
7336
7334
  type?: string;
7337
7335
  note?: string;
7338
- maxOption?: number;
7339
7336
  };
7340
7337
  type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
7341
7338
  id: K;
@@ -7390,10 +7387,7 @@ type TextareaControlType<T> = SharedControlType<T> & {
7390
7387
  readonly?: boolean;
7391
7388
  minHeight?: number;
7392
7389
  maxWidth?: number;
7393
- inputClass?: string;
7394
7390
  autoHeight?: boolean;
7395
- defaultRows?: number;
7396
- showPlusBtn?: boolean;
7397
7391
  suggestContents?: {
7398
7392
  message: string;
7399
7393
  eg?: string;
@@ -7445,7 +7439,6 @@ type BehaviorStateControlType<T> = {
7445
7439
  type BoxShadowControlType<T> = SharedControlType<T> & {
7446
7440
  id?: string;
7447
7441
  type: 'boxShadow';
7448
- hideOptions?: string[];
7449
7442
  popup?: boolean;
7450
7443
  };
7451
7444
 
@@ -7831,8 +7824,6 @@ type SizeSetting$1<T> = SharedControlType<T> & {
7831
7824
  hiddenShowMore?: boolean;
7832
7825
  sizePaddingInput?: 'normal' | 'small';
7833
7826
  lockShapeValue?: boolean;
7834
- isShowResponsive?: boolean;
7835
- disableShapeLinkedTooltip?: string;
7836
7827
  };
7837
7828
 
7838
7829
  type ChildIconType<T> = SharedControlType<T> & {
@@ -7873,7 +7864,6 @@ type ParallaxScrollingType<T> = SharedControlType<T> & {
7873
7864
 
7874
7865
  type BackgroundColorPickerType<T> = SharedControlType<T> & {
7875
7866
  type: 'background-color-picker';
7876
- mode?: 'both' | 'solid' | 'gradient';
7877
7867
  popup?: boolean;
7878
7868
  readonly?: boolean;
7879
7869
  };
@@ -8029,110 +8019,7 @@ type ButtonLayoutType<T> = SharedControlType<T> & {
8029
8019
  }[];
8030
8020
  };
8031
8021
 
8032
- type ShapeSelectorControlType<T> = SharedControlType<T> & {
8033
- type: 'shape-selector';
8034
- };
8035
-
8036
- declare enum CompareType {
8037
- EXACT = "exact",
8038
- ABOVE = "above",
8039
- BELOW = "below",
8040
- EXACT_OR_ABOVE = "exact_or_above",
8041
- EXACT_OR_BELOW = "exact_or_below",
8042
- BETWEEN = "between"
8043
- }
8044
- declare enum TriggerType {
8045
- INVENTORY_STATUS = "inventory_status",
8046
- DISCOUNT_PRICE = "discount_price",
8047
- PRICE_RANGE = "price_range",
8048
- PRODUCT_TAGS = "product_tags",
8049
- CREATION_DATE = "creation_date"
8050
- }
8051
- declare enum InventoryStatus {
8052
- IN_STOCK = "in_stock",
8053
- OUT_OF_STOCK = "out_of_stock"
8054
- }
8055
- declare enum CreationDateType {
8056
- DURATION = "duration",
8057
- EXACT_DATE = "exact_date",
8058
- BETWEEN_DATES = "between_dates"
8059
- }
8060
- declare enum DiscountType {
8061
- PERCENT = "percent",
8062
- FIXED = "fixed"
8063
- }
8064
- type InventoryStatusTrigger = {
8065
- triggerEvent: TriggerType.INVENTORY_STATUS;
8066
- type: InventoryStatus;
8067
- quantityType: CompareType;
8068
- from: string;
8069
- to?: string;
8070
- priority: number;
8071
- conditionType?: CompareType;
8072
- };
8073
- type DiscountPriceTrigger = {
8074
- triggerEvent: TriggerType.DISCOUNT_PRICE;
8075
- type: CompareType;
8076
- amount?: string;
8077
- from?: string;
8078
- to?: string;
8079
- priority: number;
8080
- conditionType?: CompareType;
8081
- discountType?: DiscountType;
8082
- };
8083
- type PriceRangeTrigger = {
8084
- triggerEvent: TriggerType.PRICE_RANGE;
8085
- from: string;
8086
- to: string;
8087
- priority: number;
8088
- conditionType?: CompareType;
8089
- };
8090
- type CreationDateTrigger = {
8091
- triggerEvent: TriggerType.CREATION_DATE;
8092
- type: CreationDateType;
8093
- days: string;
8094
- from: string;
8095
- to: string;
8096
- priority: number;
8097
- conditionType?: CompareType;
8098
- };
8099
- type ProductTagTrigger = {
8100
- triggerEvent: TriggerType.PRODUCT_TAGS;
8101
- searchTag: string[];
8102
- priority: number;
8103
- conditionType?: CompareType;
8104
- };
8105
- type TDisplayTrigger = InventoryStatusTrigger | DiscountPriceTrigger | PriceRangeTrigger | ProductTagTrigger | CreationDateTrigger;
8106
- type DisplayTriggerControlType<T> = SharedControlType<T> & {
8107
- type: 'display-trigger-badge';
8108
- default: TDisplayTrigger[];
8109
- };
8110
-
8111
- type CustomPositionControlType<T> = SharedControlType<T> & {
8112
- type: 'custom-position';
8113
- ignoreValue?: string[];
8114
- topGap?: string;
8115
- leftGap?: string;
8116
- rightGap?: string;
8117
- bottomGap?: string;
8118
- };
8119
-
8120
- type DealControlType<T> = SharedControlType<T> & {
8121
- type: 'bundleItem';
8122
- readonly?: boolean;
8123
- };
8124
-
8125
- type ProductBundleChildControlType<T> = SharedControlType<T> & {
8126
- type: 'product-bundle-child-item';
8127
- [key: string]: any;
8128
- };
8129
- type SelectProductBundleControlType<T> = SharedControlType<T> & {
8130
- type: 'select-product-bundle';
8131
- label?: string;
8132
- hide?: boolean;
8133
- };
8134
-
8135
- type ControlProp<T> = ProductBundleChildControlType<T> | SelectProductBundleControlType<T> | AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | OpenLinkControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | BackgroundColorPickerType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | SneakPeakControlType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | PostPurchaseTextareaControlType<T> | NotesControlType<T> | ButtonLayoutType<T> | ShapeSelectorControlType<T> | DisplayTriggerControlType<T> | CustomPositionControlType<T> | DealControlType<T>;
8022
+ type ControlProp<T> = AngleControlType<T> | CheckboxControlType<T> | ColorPickerControlType<T> | GroupControlType<T> | IconControlType<T> | InputFixContentControlType<T> | InputNumberControlType<T> | InputUnitControlType<T> | InputUnitSpacingControlType<T> | InputUnitWidthControlType<T> | InputControlType<T> | MarginControlType<T> | PaddingControlType<T> | PositionControlType<T> | RadioGroupControlType | RangeControlType<T> | SegmentControlType<T> | OpenLinkControlType<T> | SelectControlType<T> | TextareaControlType<T> | ToggleControlType<T> | ImageControlType<T> | ChildrensControlType | GridControlType<T> | FlexControlType<T> | TextEditorControlType<T> | ProductControlType<T> | TypographyControlType<T> | TypographyV2ControlType<T> | MenuControlType<T> | BehaviorStateControlType<T> | PickLinkControlType<T> | BoxShadowControlType<T> | TextShadowControlType<T> | BorderControlType<T> | BorderRadiusControlType<T> | RadiusPresetControlType<T> | SizeControlType<T> | ChildItemType<T> | PickMultiProductControlType<T> | CollectionControlType<T> | BackgroundControlType<T> | VisibilityControlType<T> | SelectVariantControlType | CountdownEvergreenType | Timezone<T> | CustomContentControlType<T> | DateTimePickerControlType | CountdownDailyType | KlaviyoCodes | YotpoLoyaltyCodes | InputWidthControlType<T> | LayoutSegmentControlType<T> | InputSpacing<T> | UniqueIdControlType<T> | PositionSquareControlType<T> | CustomCodeEditor | LayoutControlType<T> | LayoutBannerControlType<T> | SwatchesLinkControlType<T> | VariantSwatchesPresetControlType<T> | VariantSwatchesOnlyDefaultVariantControlType<T> | ProductListControlType<T> | ArticleListControlType<T> | CollectionBannerControlType<T> | Ratio<T> | StickyDisplayControlType<T> | SyncProductPropertiesControlType<T> | StepsGuide<T> | ImageShape<T> | GridArrange<T> | SizeSetting$1<T> | ChildIconType<T> | DropdownInput<T> | Dropdown<T> | AliPickSectionControlType<T> | ParallaxScrollingType<T> | BackgroundColorPickerType<T> | PlayPauseControlType<T> | LayoutCustomSegmentControlType<T> | SneakPeakRange<T> | SneakPeakTypeControlType<T> | SneakPeakControlType<T> | ProductInputCurrencyUnitControlType<T> | TypographyPostPurchaseControlType<T> | ProductOffersControlType<T> | DiscountAndShippingFee<T> | PostPurchaseTextareaControlType<T> | NotesControlType<T> | ButtonLayoutType<T>;
8136
8023
  type ControlTriggerAction = {
8137
8024
  controlId: string;
8138
8025
  newValue?: any;
@@ -8188,7 +8075,6 @@ type ComponentSetting<P extends BaseProps> = {
8188
8075
  flowPage?: string;
8189
8076
  notAppendTags?: string[];
8190
8077
  notAppendLeftRight?: boolean;
8191
- allowAppendTags?: string[];
8192
8078
  };
8193
8079
  sideBar?: {
8194
8080
  hide?: boolean;
@@ -28827,7 +28713,7 @@ type ProductListProviderProps = ProductListContextProps & {
28827
28713
  declare const ProductListProvider: React.FC<ProductListProviderProps>;
28828
28714
  declare const useProductListStore: <U>(selector: (state: ExtractState<StoreApi<ProductListContextProps>>) => U, equalityFn?: ((a: U, b: U) => boolean) | undefined) => U;
28829
28715
 
28830
- type ProductSelectFragment = Pick<Product$1, 'tags' | 'id' | 'title' | 'createdAt' | 'description' | 'descriptionHtml' | 'handle' | 'averageRating' | 'isStorefront' | 'isSample' | 'baseID' | 'sku' | 'vendor'> & {
28716
+ type ProductSelectFragment = Pick<Product$1, 'tags' | 'id' | 'title' | 'description' | 'descriptionHtml' | 'handle' | 'averageRating' | 'isStorefront' | 'isSample' | 'baseID' | 'sku' | 'vendor'> & {
28831
28717
  collections?: Maybe$1<{
28832
28718
  edges: Array<{
28833
28719
  node?: Maybe$1<Pick<Collection$1, 'id' | 'title'>>;
@@ -30259,15 +30145,6 @@ declare const filterAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
30259
30145
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
30260
30146
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
30261
30147
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
30262
- '--wm'?: csstype.Property.WritingMode | undefined;
30263
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
30264
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
30265
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
30266
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
30267
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
30268
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
30269
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
30270
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
30271
30148
  accentColor?: csstype.Property.AccentColor | undefined;
30272
30149
  alignContent?: csstype.Property.AlignContent | undefined;
30273
30150
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -31772,15 +31649,6 @@ declare const removeAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
31772
31649
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
31773
31650
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
31774
31651
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
31775
- '--wm'?: csstype.Property.WritingMode | undefined;
31776
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
31777
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
31778
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
31779
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
31780
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
31781
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
31782
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
31783
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
31784
31652
  accentColor?: csstype.Property.AccentColor | undefined;
31785
31653
  alignContent?: csstype.Property.AlignContent | undefined;
31786
31654
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -33285,15 +33153,6 @@ declare const filterCornerInStyle: (style?: React.CSSProperties) => {
33285
33153
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
33286
33154
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
33287
33155
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
33288
- '--wm'?: csstype.Property.WritingMode | undefined;
33289
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
33290
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
33291
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
33292
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
33293
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
33294
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
33295
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
33296
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
33297
33156
  accentColor?: csstype.Property.AccentColor | undefined;
33298
33157
  alignContent?: csstype.Property.AlignContent | undefined;
33299
33158
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -34798,15 +34657,6 @@ declare const removePaddingYInStyle: (style?: React.CSSProperties) => {
34798
34657
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
34799
34658
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
34800
34659
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
34801
- '--wm'?: csstype.Property.WritingMode | undefined;
34802
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
34803
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
34804
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
34805
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
34806
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
34807
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
34808
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
34809
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
34810
34660
  accentColor?: csstype.Property.AccentColor | undefined;
34811
34661
  alignContent?: csstype.Property.AlignContent | undefined;
34812
34662
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -35642,8 +35492,6 @@ declare const optionLayoutStyle: (column?: ObjectDevices<string | number>) => Re
35642
35492
  declare const composeGridLayout: (layout?: ObjectDevices<ObjectLayoutValue>) => React.CSSProperties;
35643
35493
  declare const convertOldLayout: (layout?: ObjectDevices<string>) => ObjectDevices<ObjectLayoutValue>;
35644
35494
 
35645
- declare const convertTextAlignToJustify: (align: Partial<Record<NameDevices$1, AlignProp>> | undefined) => Record<string, boolean>;
35646
-
35647
35495
  declare function getSelectedVariant(variants?: Maybe$1<VariantSelectFragment>[], choices?: Record<string, string>, variantId?: string | null): Maybe$1<VariantSelectFragment>;
35648
35496
  declare function parseSelectedOption(options: SelectedOption$1[]): SelectedOption$1 | undefined;
35649
35497
  declare function checkAvailableVariantInStock(variants: Maybe$1<VariantSelectFragment>[] | undefined, optionId: string, optionValue: string): boolean;
@@ -36451,15 +36299,6 @@ declare const composeTypographyStyle: (typo?: TypographySettingV2, typography?:
36451
36299
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
36452
36300
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
36453
36301
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
36454
- '--wm'?: csstype.Property.WritingMode | undefined;
36455
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
36456
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
36457
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
36458
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
36459
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
36460
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
36461
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
36462
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
36463
36302
  accentColor?: csstype.Property.AccentColor | undefined;
36464
36303
  alignContent?: csstype.Property.AlignContent | undefined;
36465
36304
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -37358,7 +37197,6 @@ declare const useProductsQueryAll: (variable?: VariableRelatedStyles | undefined
37358
37197
  declare const useCurrentDevice: () => NameDevices$1;
37359
37198
 
37360
37199
  declare const shopifyPriceRounding: (amount: number | string, precision?: number) => string;
37361
- declare const formatMoney: (cents: string, format: any) => string;
37362
37200
  declare const useFormatMoney: (amount: number, withCurrency: boolean) => string;
37363
37201
 
37364
37202
  declare const useLazyVideo: () => void;
@@ -37597,4 +37435,4 @@ declare const getAppBlocks: (section: PublishedPageSection$1 & {
37597
37435
 
37598
37436
  declare const addAppBlockId: (component: Component) => Component;
37599
37437
 
37600
- export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, ArticleListProvider, ArticleListProviderProps, ArticleProvider, ArticleProviderProps, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OnlyOne, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, ThemeSectionStatus$1 as ThemeSectionStatus, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, addAppBlockId, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, convertTextAlignToJustify, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, formatMoney, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAppBlocks, getAspectRatioGlobalSize, getBgImageByDevice, getBorderRadiusStyle, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleBgColor, getStyleShadow, getStyleShadowState, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useArticleListStore, useArticleStore, useArticlesQuery, useBlogsQuery, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useHasPreSelected, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageStore, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
37438
+ export { AddOn, AddonProvider, AddonProviderProps, AdvancedType, AliReviewsWidgetType, AlignItemProp, AlignProp, AnimationBaseSetting, AnimationConfig, AnimationDirectionType, AnimationEasingType, AnimationFadeSettingType, AnimationSetting, AnimationSettingType, AnimationShakeSettingType, AnimationSlideSettingType, AnimationTrigger, AnimationTriggerType, AnimationType, AnimationZoomDirectionType, AnimationZoomSettingType, appAPI as AppAPIType, ArticleListProvider, ArticleListProviderProps, ArticleProvider, ArticleProviderProps, Background, BaseProps, BasePropsWrap, BlockEntity, BogosWidgetType, BoldSubscriptionsWidgetType, Border, BorderStyle, BuilderComponentProvider, BuilderComponentProviderProps, BuilderEntity, BuilderEntityNested, BuilderPreviewProvider, BuilderPreviewProviderProps, BuilderProvider, BuilderProviderProps, BuilderState, Builtin, CartLineProvider, CartLineProviderProps, CollectionDetailFilterDocument, CollectionDetailFilterQueryResponse, CollectionDetailFilterQueryVariables, CollectionDocument, CollectionProvider, CollectionProviderProps, CollectionQueryResponse, CollectionQueryVariables, CollectionSelectFragment, CollectionsDocument, CollectionsQueryResponse, CollectionsQueryVariables, ColorKey, ColorType$1 as ColorType, ColorValueType, Component, ComponentPreset, ComponentSetting, ContainerProp, ControlProp, ControlTriggerAction, ControlUI, CornerRadius, CornerRadiusType, CustomComponentConfig, DeepPartial, DynamicCollection, DynamicProduct, ExtractState, FeraReviewsV3WidgetType, FeraReviewsWidgetType, FetchCollectionArgs, FetchFunc, FetchProductParams, FlexDirectionProp, FontName, GRADIENT_BGR_KEY, GlobalStyleConfig, GlobalStyleResponsiveConfig, GlobalSwatchesData, GraphQLConnection, GroupPropType, GrowaveWidgetType, HSLAColorType, HSLColorType, HexColorType, ImageShape$1 as ImageShape, InitComponentType, InstantJudgeMeReviewsWidgetType, InstantKlaviyoWidgetType, InstantLooxReviewsWidgetType, JudgeMeReviewsWidgetType, KlaviyoWidgetType, LaiProductReviewsAdvancedWidgetType, LaiProductReviewsWidgetType, LibrarySaleFunnelDocument, LibrarySaleFunnelQueryResponse, LibrarySaleFunnelQueryVariables, LibraryTemplateDocument, LibraryTemplateQueryResponse, LibraryTemplateQueryVariables, LooxReviewsWidgetType, ModalProvider, ModalProviderProps, NameDevices$1 as NameDevices, NestedKeys, ObjectDeviceGlobalType, ObjectDevices, ObjectLayoutValue, OmnisendWidgetType, OnlyOne, OpinewDesignWidgetType, OpinewWidgetType, OptionNormalStyle, OptionSpecialStyle, Options, PageContext, PageProvider, PageProviderProps, PageType, PageViewUpDocument, PageViewUpMutationResponse, PageViewUpMutationVariables, PickyStoryWidgetType, PostPurchaseTypo, PreviewPageDocument, PreviewPageQueryResponse, PreviewPageQueryVariables, Primitive, ProductInputAnalytic, ProductListProvider, ProductListProviderProps, ProductOffer, ProductProvider, ProductProviderProps, ProductReviewsWidgetType, ProductSelectFragment, ProductsDocument, ProductsQueryResponse, ProductsQueryVariables, PublicStoreFrontData, PublishedThemePageSelectFragment, PublishedThemePagesDocument, PublishedThemePagesQueryResponse, PublishedThemePagesQueryVariables, RGBAColorType, RGBColorType, Ratio$1 as Ratio, RawChild, RenderMemo as Render, RenderChildren, RenderIf, Render as RenderLiquid, RenderMode, RenderPreviewMemo as RenderPreview, RequiredCursorEdge, ResponsiveKey, ResponsiveStateProp, RivyoWidgetType, RoundedSize, RyviuWidgetType, SaleFunnelDiscount$1 as SaleFunnelDiscount, SaleFunnelDiscountEdge$1 as SaleFunnelDiscountEdge, SaleFunnelDiscountObjectType$1 as SaleFunnelDiscountObjectType, SaleFunnelDiscountType$1 as SaleFunnelDiscountType, SaleFunnelDiscountValueType$1 as SaleFunnelDiscountValueType, SaleFunnelDiscountsDocument, SaleFunnelDiscountsQueryResponse, SaleFunnelDiscountsQueryVariables, Scalars$1 as Scalars, ScaleByDirection, SectionData, SectionEntity, SectionProvider, SectionProviderProps, SettingByAnimationType, SettingByAnimationValues, ShadowProps, ShadowStyle, ShadowStyleApplied, ShadowType, ShopProvider, ShopProviderProps, shop as ShopType, SizeProps, SizeSetting, SizeSettingGlobal, SizeType, SpacingType, StampedWidgetType, StateProp, StateSelector, StateType, StoreConfig, StorePropertyDocument, StorePropertyQueryResponse, StorePropertyQueryVariables, SwatchesOptionType, SwatchesOptionValue, ThemePageDocument, ThemePageQueryResponse, ThemePageQueryVariables, ThemeSectionStatus$1 as ThemeSectionStatus, TransformProp, TriggerConfig, TrustooWidgetType, TypographyProps, TypographySetting, TypographySettingV2, TypographyType, TypographyV2Attrs, TypographyV2Props, UltimateSalesBoostWidgetType, VariantSelectFragment, VitalsWidgetType, WiserV2WidgetType, WiserWidgetType, WrapRenderChildren, YotpoReviewsWidgetType, addAppBlockId, animations, baseAssetURL, calculateFirstProduct, checkAvailableVariantInStock, cls, composeAdvanceStyle, composeAdvanceStyleForPostPurchase, composeBackgroundCss, composeBorderCss, composeCornerCss, composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeGridLayout, composeMemo, composePositionLineHeight, composePostionIconList, composeRadius, composeRadiusResponsive, composeShadowCss, composeSize, composeSizeCss, composeSpacing, composeTextColorCss, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, convertHTML, convertOldLayout, dataStringify, fetchMedias, fetchVariants, filterAttrInStyle, filterCornerInStyle, filterToolbarPreview, flattenConnection, fpixel, genSizeClass, genTypoClass, genVariable, generateCollectionQueryKey, generateProductQueryKey, generateProductsQueryKey, getAppBlocks, getAspectRatioGlobalSize, getBgImageByDevice, getBorderRadiusStyle, getBorderStyle, getCarouselContainerHeight, getCollection, getCornerCSSFromGlobal, getCustomRadius, getGlobalColorCSSProp, getGlobalColorClass, getGlobalColorResponsiveClass, getGlobalColorResponsiveStyle, getGlobalColorStateClass, getGlobalColorStateClassDynamicBtn, getGlobalColorStateResponsiveClass, getGlobalColorStateResponsiveClassDynamicBtn, getGlobalColorStateResponsiveStyle, getGlobalColorStateStyle, getGlobalColorStyle, getGlobalSizeGap, getGradientBgrStyleByDevice, getGradientBgrStyleForButton, getHeightByShapeGlobalSize, getPaddingGlobalSize, getProduct, getProductBySlug, getRadiusCSSFromGlobal, getRadiusStyleActiveState, getResponsiveStateValue, getResponsiveValue, getResponsiveValueByScreen, getSelectedVariant, getShortName, getSingleColorVariable, getSpacingVariable, getStyleBackgroundByDevice, getStyleBgColor, getStyleShadow, getStyleShadowState, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, globalEvent, gridToArrayRegex, gtag, handleConvertBorderColor, handleConvertBorderStyle, handleConvertBorderWidth, handleConvertClassColor, handleConvertClassColorDynamicBtn, isBrowser, isColor, isColumnDirectionExist, isDefined, isEmptyChildren, isLocalEnv, isSafari, loadScript, makeAspectRatio, makeContainerWidthOrHeight, makeDotGapToCarouselStyle, makeFixedBgAttachment, makeGlobalSize, makeGlobalSizeHeightResponsive, makeGlobalSizeIcon, makeGlobalSizeWidthResponsive, makeHeight, makeLineClamp, makeStyle, makeStyleKey, makeStyleResponsive, makeStyleResponsiveByScreen, makeStyleResponsiveState, makeStyleState, makeStyleWithDefault, makeWidth, normalizeBuilderData, optionLayoutStyle, parseSelectedOption, parseValueWithUnit, prefetchQueries, props, removeAttrInStyle, removeNullUndefined, removePaddingYInStyle, removeUndefinedValuesFromObject, shopifyPriceRounding, splitStyle, styles, template, tiktokpixel, useAddToCart, useAddon, useAddons, useArticleListStore, useArticleStore, useArticlesQuery, useBlogsQuery, useBuilderComponent, useBuilderPreviewStore, useBuilderStore, useCartData, useCartDiscountCodesUpdate, useCartId, useCartLine, useCartLineStore, useCartNoteUpdate, useCartUI, useCheckAvailableVariantInStock, useCheckoutUrl, useCollection, useCollectionQuery, useCollectionStore, useCollectionsQuery, useConnectedShopify, useCreateCart, useCurrency, useCurrentDevice, useCurrentVariant, useCurrentVariantInStock, useEditorMode, useFeaturedImageGlobal, useFormatMoney, useHasPreSelected, useInitialSwatchesOptions, useIsSampleProduct, useIsStorefrontProduct, useIsSyncProduct, useIsomorphicLayoutEffect, useLazyVideo, useLoadScript, useLocale, useMatchMutate, useMobileOnly, useModalStore, useMoney, useMoneyFormat, usePageStore, usePageType, usePluginEnable, usePrevious, useProduct, useProductList, useProductListProducts, useProductListSettings, useProductListStore, useProductListStyles, useProductOfferDiscount, useProductProperties, useProductQuery, useProductStore, useProductsQuery, useProductsQueryAll, useQuantity, useRemoveCartItem, useSection, useSectionStore, useSelectedOption, useShopStore, useStoreFront, useSuspenseFetch, useSwatches, useSwatchesOptions, useUniqProductID, useUpdateCartItem, useVariant, useVariantOutStock, useVariants, validateEmail };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.50.0-staging.28",
3
+ "version": "1.50.2",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -27,8 +27,8 @@
27
27
  "type-check": "yarn tsc --noEmit"
28
28
  },
29
29
  "devDependencies": {
30
- "@gem-sdk/adapter-shopify": "1.47.0",
31
- "@gem-sdk/styles": "1.50.0-staging.23",
30
+ "@gem-sdk/adapter-shopify": "1.50.0",
31
+ "@gem-sdk/styles": "1.50.0",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {
@@ -1,19 +0,0 @@
1
- 'use strict';
2
-
3
- const convertTextAlignToJustify = (align)=>{
4
- const devices = [
5
- 'desktop',
6
- 'tablet',
7
- 'mobile'
8
- ];
9
- const result = {};
10
- devices.forEach((device)=>{
11
- const deviceType = device === 'desktop' ? '' : `${device}:`;
12
- result[`${deviceType}gp-justify-start`] = align?.[device] === 'left';
13
- result[`${deviceType}gp-justify-center`] = align?.[device] === 'center';
14
- result[`${deviceType}gp-justify-end`] = align?.[device] === 'right';
15
- });
16
- return result;
17
- };
18
-
19
- exports.convertTextAlignToJustify = convertTextAlignToJustify;
@@ -1,17 +0,0 @@
1
- const convertTextAlignToJustify = (align)=>{
2
- const devices = [
3
- 'desktop',
4
- 'tablet',
5
- 'mobile'
6
- ];
7
- const result = {};
8
- devices.forEach((device)=>{
9
- const deviceType = device === 'desktop' ? '' : `${device}:`;
10
- result[`${deviceType}gp-justify-start`] = align?.[device] === 'left';
11
- result[`${deviceType}gp-justify-center`] = align?.[device] === 'center';
12
- result[`${deviceType}gp-justify-end`] = align?.[device] === 'right';
13
- });
14
- return result;
15
- };
16
-
17
- export { convertTextAlignToJustify };