@gem-sdk/core 1.46.0-staging.29 → 1.46.0-staging.30

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.
@@ -47,7 +47,6 @@ const ComponentToolbarPreview = (props)=>{
47
47
  const [deleteTooltipPosition, setDeleteTooltipPosition] = react.useState('top');
48
48
  const [isDisableDelete, setIsUnableDelete] = react.useState(false);
49
49
  const [parentProductUid, setParentProductUid] = react.useState('');
50
- const [articleUid, setArticleUid] = react.useState('');
51
50
  const [tooltipText, setTooltipText] = react.useState({
52
51
  width: '',
53
52
  text: ''
@@ -60,19 +59,8 @@ const ComponentToolbarPreview = (props)=>{
60
59
  const editProductElementList = [
61
60
  'Product Title',
62
61
  'Product Description',
63
- 'Product Price'
64
- ];
65
- const editArticleElementList = [
66
- 'Article Title',
67
- 'Article Content',
68
- 'Article Image',
69
- 'Article Author',
70
- 'Article Category',
71
- 'Article Date'
72
- ];
73
- const editAbleElementList = [
74
- ...editProductElementList,
75
- ...editArticleElementList
62
+ 'Product Price',
63
+ 'Product Vendor'
76
64
  ];
77
65
  const isOverToolbarPosition = (el, parent)=>{
78
66
  const parentLength = parents.length;
@@ -119,29 +107,15 @@ const ComponentToolbarPreview = (props)=>{
119
107
  }, [
120
108
  storefrontUrl
121
109
  ]);
122
- const linkShopDefault = react.useMemo(()=>{
123
- return `https://admin.shopify.com/store/${shopName}`;
110
+ const shopifyEditLink = react.useMemo(()=>{
111
+ return productId ? `https://admin.shopify.com/store/${shopName}/products/${productId}` : '';
124
112
  }, [
113
+ productId,
125
114
  shopName
126
115
  ]);
127
- const linkEditProduct = react.useMemo(()=>{
128
- return productId ? `${linkShopDefault}/products/${productId}` : '';
129
- }, [
130
- linkShopDefault,
131
- productId
132
- ]);
133
- const linkEditArticle = react.useMemo(()=>{
134
- return articleUid ? `${linkShopDefault}/articles/${articleUid}` : '';
135
- }, [
136
- articleUid,
137
- linkShopDefault
138
- ]);
139
116
  // Get parents
140
117
  const onActiveComponent = react.useCallback((e)=>{
141
118
  const detail = e.detail;
142
- if (detail?.articleId) {
143
- setArticleUid(detail.articleId);
144
- }
145
119
  if (detail?.componentUid == props.uid) {
146
120
  getDeleteTooltipPosition();
147
121
  if (isSaleFunnelPage) {
@@ -233,15 +207,7 @@ const ComponentToolbarPreview = (props)=>{
233
207
  window.dispatchEvent(event);
234
208
  };
235
209
  const goToShopifyEditLink = ()=>{
236
- if (editArticleElementList.includes(toolbarName() ?? '')) {
237
- window.open(linkEditArticle, '_blank');
238
- return;
239
- }
240
- if (editProductElementList.includes(toolbarName() ?? '')) {
241
- window.open(linkEditProduct, '_blank');
242
- return;
243
- }
244
- window.open(linkShopDefault, '_blank');
210
+ window.open(shopifyEditLink, '_blank');
245
211
  };
246
212
  const onDelete = (e)=>{
247
213
  e.preventDefault();
@@ -520,7 +486,7 @@ const ComponentToolbarPreview = (props)=>{
520
486
  })
521
487
  })
522
488
  }),
523
- editAbleElementList.includes(toolbarName() ?? '') && /*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
489
+ editProductElementList.includes(toolbarName() ?? '') && /*#__PURE__*/ jsxRuntime.jsx(Tooltip.default, {
524
490
  "data-toolbar-title": true,
525
491
  enable: true,
526
492
  "data-toolbar-disable": false,
@@ -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',
@@ -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));
@@ -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)=>{
@@ -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;
@@ -43,7 +43,6 @@ const ComponentToolbarPreview = (props)=>{
43
43
  const [deleteTooltipPosition, setDeleteTooltipPosition] = useState('top');
44
44
  const [isDisableDelete, setIsUnableDelete] = useState(false);
45
45
  const [parentProductUid, setParentProductUid] = useState('');
46
- const [articleUid, setArticleUid] = useState('');
47
46
  const [tooltipText, setTooltipText] = useState({
48
47
  width: '',
49
48
  text: ''
@@ -56,19 +55,8 @@ const ComponentToolbarPreview = (props)=>{
56
55
  const editProductElementList = [
57
56
  'Product Title',
58
57
  'Product Description',
59
- 'Product Price'
60
- ];
61
- const editArticleElementList = [
62
- 'Article Title',
63
- 'Article Content',
64
- 'Article Image',
65
- 'Article Author',
66
- 'Article Category',
67
- 'Article Date'
68
- ];
69
- const editAbleElementList = [
70
- ...editProductElementList,
71
- ...editArticleElementList
58
+ 'Product Price',
59
+ 'Product Vendor'
72
60
  ];
73
61
  const isOverToolbarPosition = (el, parent)=>{
74
62
  const parentLength = parents.length;
@@ -115,29 +103,15 @@ const ComponentToolbarPreview = (props)=>{
115
103
  }, [
116
104
  storefrontUrl
117
105
  ]);
118
- const linkShopDefault = useMemo(()=>{
119
- return `https://admin.shopify.com/store/${shopName}`;
106
+ const shopifyEditLink = useMemo(()=>{
107
+ return productId ? `https://admin.shopify.com/store/${shopName}/products/${productId}` : '';
120
108
  }, [
109
+ productId,
121
110
  shopName
122
111
  ]);
123
- const linkEditProduct = useMemo(()=>{
124
- return productId ? `${linkShopDefault}/products/${productId}` : '';
125
- }, [
126
- linkShopDefault,
127
- productId
128
- ]);
129
- const linkEditArticle = useMemo(()=>{
130
- return articleUid ? `${linkShopDefault}/articles/${articleUid}` : '';
131
- }, [
132
- articleUid,
133
- linkShopDefault
134
- ]);
135
112
  // Get parents
136
113
  const onActiveComponent = useCallback((e)=>{
137
114
  const detail = e.detail;
138
- if (detail?.articleId) {
139
- setArticleUid(detail.articleId);
140
- }
141
115
  if (detail?.componentUid == props.uid) {
142
116
  getDeleteTooltipPosition();
143
117
  if (isSaleFunnelPage) {
@@ -229,15 +203,7 @@ const ComponentToolbarPreview = (props)=>{
229
203
  window.dispatchEvent(event);
230
204
  };
231
205
  const goToShopifyEditLink = ()=>{
232
- if (editArticleElementList.includes(toolbarName() ?? '')) {
233
- window.open(linkEditArticle, '_blank');
234
- return;
235
- }
236
- if (editProductElementList.includes(toolbarName() ?? '')) {
237
- window.open(linkEditProduct, '_blank');
238
- return;
239
- }
240
- window.open(linkShopDefault, '_blank');
206
+ window.open(shopifyEditLink, '_blank');
241
207
  };
242
208
  const onDelete = (e)=>{
243
209
  e.preventDefault();
@@ -516,7 +482,7 @@ const ComponentToolbarPreview = (props)=>{
516
482
  })
517
483
  })
518
484
  }),
519
- editAbleElementList.includes(toolbarName() ?? '') && /*#__PURE__*/ jsx(Tooltip, {
485
+ editProductElementList.includes(toolbarName() ?? '') && /*#__PURE__*/ jsx(Tooltip, {
520
486
  "data-toolbar-title": true,
521
487
  enable: true,
522
488
  "data-toolbar-disable": false,
@@ -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',
@@ -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));
@@ -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)=>{
@@ -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?: {
@@ -7228,7 +7227,6 @@ type PositionControlType<T> = SharedControlType<T> & {
7228
7227
 
7229
7228
  type PositionSquareControlType<T> = SharedControlType<T> & {
7230
7229
  type: 'position:square';
7231
- ignoreValue?: string[];
7232
7230
  };
7233
7231
 
7234
7232
  type RadioGroupControlType = {
@@ -7248,6 +7246,7 @@ type RangeControlType<T> = SharedControlType<T> & {
7248
7246
  units?: string[];
7249
7247
  disableOnChange?: boolean;
7250
7248
  useOnlyUnitInit?: boolean;
7249
+ ignoreMax?: boolean;
7251
7250
  hideUnit?: boolean;
7252
7251
  hideInput?: boolean;
7253
7252
  } & OnlyOne<{
@@ -7384,8 +7383,6 @@ type TextareaControlType<T> = SharedControlType<T> & {
7384
7383
  minHeight?: number;
7385
7384
  maxWidth?: number;
7386
7385
  autoHeight?: boolean;
7387
- defaultRows?: number;
7388
- showPlusBtn?: boolean;
7389
7386
  suggestContents?: {
7390
7387
  message: string;
7391
7388
  eg?: string;
@@ -7437,7 +7434,6 @@ type BehaviorStateControlType<T> = {
7437
7434
  type BoxShadowControlType<T> = SharedControlType<T> & {
7438
7435
  id?: string;
7439
7436
  type: 'boxShadow';
7440
- hideOptions?: string[];
7441
7437
  popup?: boolean;
7442
7438
  };
7443
7439
 
@@ -7823,8 +7819,6 @@ type SizeSetting$1<T> = SharedControlType<T> & {
7823
7819
  hiddenShowMore?: boolean;
7824
7820
  sizePaddingInput?: 'normal' | 'small';
7825
7821
  lockShapeValue?: boolean;
7826
- isShowResponsive?: boolean;
7827
- disableShapeLinkedTooltip?: string;
7828
7822
  };
7829
7823
 
7830
7824
  type ChildIconType<T> = SharedControlType<T> & {
@@ -7865,7 +7859,6 @@ type ParallaxScrollingType<T> = SharedControlType<T> & {
7865
7859
 
7866
7860
  type BackgroundColorPickerType<T> = SharedControlType<T> & {
7867
7861
  type: 'background-color-picker';
7868
- mode?: 'both' | 'solid' | 'gradient';
7869
7862
  popup?: boolean;
7870
7863
  readonly?: boolean;
7871
7864
  };
@@ -8021,35 +8014,7 @@ type ButtonLayoutType<T> = SharedControlType<T> & {
8021
8014
  }[];
8022
8015
  };
8023
8016
 
8024
- type ShapeSelectorControlType<T> = SharedControlType<T> & {
8025
- type: 'shape-selector';
8026
- };
8027
-
8028
- type CustomPositionControlType<T> = SharedControlType<T> & {
8029
- type: 'custom-position';
8030
- ignoreValue?: string[];
8031
- topGap?: string;
8032
- leftGap?: string;
8033
- rightGap?: string;
8034
- bottomGap?: string;
8035
- };
8036
-
8037
- type DealControlType<T> = SharedControlType<T> & {
8038
- type: 'bundleItem';
8039
- readonly?: boolean;
8040
- };
8041
-
8042
- type ProductBundleChildControlType<T> = SharedControlType<T> & {
8043
- type: 'product-bundle-child-item';
8044
- [key: string]: any;
8045
- };
8046
- type SelectProductBundleControlType<T> = SharedControlType<T> & {
8047
- type: 'select-product-bundle';
8048
- label?: string;
8049
- hide?: boolean;
8050
- };
8051
-
8052
- 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> | CustomPositionControlType<T> | SneakPeakControlType<T> | PostPurchaseTextareaControlType<T> | DealControlType<T>;
8017
+ 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>;
8053
8018
  type ControlTriggerAction = {
8054
8019
  controlId: string;
8055
8020
  newValue?: any;
@@ -8105,7 +8070,6 @@ type ComponentSetting<P extends BaseProps> = {
8105
8070
  flowPage?: string;
8106
8071
  notAppendTags?: string[];
8107
8072
  notAppendLeftRight?: boolean;
8108
- allowAppendTags?: string[];
8109
8073
  };
8110
8074
  sideBar?: {
8111
8075
  hide?: boolean;
@@ -8142,7 +8106,7 @@ type ControlUI = {
8142
8106
  labelPosition?: 'start' | 'end';
8143
8107
  justifyContent?: 'start' | 'end' | 'between' | 'around';
8144
8108
  label?: 'medium' | 'large';
8145
- info?: 'near' | 'far' | 'bottom';
8109
+ info?: 'near' | 'far';
8146
8110
  labelSpacing?: 'small' | 'medium' | 'large';
8147
8111
  removeSpacing?: boolean;
8148
8112
  noGap?: boolean;
@@ -30164,15 +30128,6 @@ declare const filterAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
30164
30128
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
30165
30129
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
30166
30130
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
30167
- '--wm'?: csstype.Property.WritingMode | undefined;
30168
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
30169
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
30170
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
30171
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
30172
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
30173
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
30174
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
30175
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
30176
30131
  accentColor?: csstype.Property.AccentColor | undefined;
30177
30132
  alignContent?: csstype.Property.AlignContent | undefined;
30178
30133
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -31668,15 +31623,6 @@ declare const removeAttrInStyle: (style?: React.CSSProperties, filterKeys?: stri
31668
31623
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
31669
31624
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
31670
31625
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
31671
- '--wm'?: csstype.Property.WritingMode | undefined;
31672
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
31673
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
31674
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
31675
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
31676
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
31677
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
31678
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
31679
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
31680
31626
  accentColor?: csstype.Property.AccentColor | undefined;
31681
31627
  alignContent?: csstype.Property.AlignContent | undefined;
31682
31628
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -33172,15 +33118,6 @@ declare const filterCornerInStyle: (style?: React.CSSProperties) => {
33172
33118
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
33173
33119
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
33174
33120
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
33175
- '--wm'?: csstype.Property.WritingMode | undefined;
33176
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
33177
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
33178
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
33179
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
33180
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
33181
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
33182
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
33183
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
33184
33121
  accentColor?: csstype.Property.AccentColor | undefined;
33185
33122
  alignContent?: csstype.Property.AlignContent | undefined;
33186
33123
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -34676,15 +34613,6 @@ declare const removePaddingYInStyle: (style?: React.CSSProperties) => {
34676
34613
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
34677
34614
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
34678
34615
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
34679
- '--wm'?: csstype.Property.WritingMode | undefined;
34680
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
34681
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
34682
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
34683
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
34684
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
34685
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
34686
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
34687
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
34688
34616
  accentColor?: csstype.Property.AccentColor | undefined;
34689
34617
  alignContent?: csstype.Property.AlignContent | undefined;
34690
34618
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -35520,8 +35448,6 @@ declare const optionLayoutStyle: (column?: ObjectDevices<string | number>) => Re
35520
35448
  declare const composeGridLayout: (layout?: ObjectDevices<ObjectLayoutValue>) => React.CSSProperties;
35521
35449
  declare const convertOldLayout: (layout?: ObjectDevices<string>) => ObjectDevices<ObjectLayoutValue>;
35522
35450
 
35523
- declare const convertTextAlignToJustify: (align: Partial<Record<NameDevices$1, AlignProp>> | undefined) => Record<string, boolean>;
35524
-
35525
35451
  declare function getSelectedVariant(variants?: Maybe$1<VariantSelectFragment>[], choices?: Record<string, string>, variantId?: string | null): Maybe$1<VariantSelectFragment>;
35526
35452
  declare function parseSelectedOption(options: SelectedOption$1[]): SelectedOption$1 | undefined;
35527
35453
  declare function checkAvailableVariantInStock(variants: Maybe$1<VariantSelectFragment>[] | undefined, optionId: string, optionValue: string): boolean;
@@ -36320,15 +36246,6 @@ declare const composeTypographyStyle: (typo?: TypographySettingV2, typography?:
36320
36246
  '--z-mobile'?: csstype.Property.ZIndex | undefined;
36321
36247
  '--hvr-z-mobile'?: csstype.Property.ZIndex | undefined;
36322
36248
  '--focus-z-mobile'?: csstype.Property.ZIndex | undefined;
36323
- '--wm'?: csstype.Property.WritingMode | undefined;
36324
- '--hvr-wm'?: csstype.Property.WritingMode | undefined;
36325
- '--focus-wm'?: csstype.Property.WritingMode | undefined;
36326
- '--wm-tablet'?: csstype.Property.WritingMode | undefined;
36327
- '--hvr-wm-tablet'?: csstype.Property.WritingMode | undefined;
36328
- '--focus-wm-tablet'?: csstype.Property.WritingMode | undefined;
36329
- '--wm-mobile'?: csstype.Property.WritingMode | undefined;
36330
- '--hvr-wm-mobile'?: csstype.Property.WritingMode | undefined;
36331
- '--focus-wm-mobile'?: csstype.Property.WritingMode | undefined;
36332
36249
  accentColor?: csstype.Property.AccentColor | undefined;
36333
36250
  alignContent?: csstype.Property.AlignContent | undefined;
36334
36251
  alignItems?: csstype.Property.AlignItems | undefined;
@@ -37227,7 +37144,6 @@ declare const useProductsQueryAll: (variable?: VariableRelatedStyles | undefined
37227
37144
  declare const useCurrentDevice: () => NameDevices$1;
37228
37145
 
37229
37146
  declare const shopifyPriceRounding: (amount: number | string, precision?: number) => string;
37230
- declare const formatMoney: (cents: string, format: any) => string;
37231
37147
  declare const useFormatMoney: (amount: number, withCurrency: boolean) => string;
37232
37148
 
37233
37149
  declare const useLazyVideo: () => void;
@@ -37462,4 +37378,4 @@ declare const getAppBlocks: (section: PublishedPageSection$1 & {
37462
37378
 
37463
37379
  declare const addAppBlockId: (component: Component) => Component;
37464
37380
 
37465
- 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, 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 };
37381
+ 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, 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.46.0-staging.29",
3
+ "version": "1.46.0-staging.30",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -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 };