@gem-sdk/core 1.46.0-staging.1 → 1.46.0-staging.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/cjs/components/ComponentToolbarPreview.js +8 -2
  2. package/dist/cjs/components/ai-generator/AIContentGenerator.js +1 -1
  3. package/dist/cjs/helpers/loop-component.js +16 -0
  4. package/dist/cjs/helpers/pascal-to-kebab-case.js +7 -0
  5. package/dist/cjs/helpers/remove-matching-key.js +12 -0
  6. package/dist/cjs/helpers/third-party/addAppBlockId.js +20 -0
  7. package/dist/cjs/helpers/third-party/appConfig.js +45 -0
  8. package/dist/cjs/helpers/third-party/appSetting.js +77 -0
  9. package/dist/cjs/helpers/third-party/composeAppBlockId.js +11 -0
  10. package/dist/cjs/helpers/third-party/constant.js +16 -0
  11. package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +21 -0
  12. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +23 -0
  13. package/dist/cjs/helpers/third-party/getAppBlockType.js +12 -0
  14. package/dist/cjs/helpers/third-party/getAppBlocks.js +41 -0
  15. package/dist/cjs/index.js +4 -0
  16. package/dist/esm/components/ComponentToolbarPreview.js +8 -2
  17. package/dist/esm/components/ai-generator/AIContentGenerator.js +1 -1
  18. package/dist/esm/helpers/loop-component.js +14 -0
  19. package/dist/esm/helpers/pascal-to-kebab-case.js +5 -0
  20. package/dist/esm/helpers/remove-matching-key.js +10 -0
  21. package/dist/esm/helpers/third-party/addAppBlockId.js +18 -0
  22. package/dist/esm/helpers/third-party/appConfig.js +38 -0
  23. package/dist/esm/helpers/third-party/appSetting.js +75 -0
  24. package/dist/esm/helpers/third-party/composeAppBlockId.js +9 -0
  25. package/dist/esm/helpers/third-party/constant.js +13 -0
  26. package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +19 -0
  27. package/dist/esm/helpers/third-party/getAppBlockConfig.js +21 -0
  28. package/dist/esm/helpers/third-party/getAppBlockType.js +10 -0
  29. package/dist/esm/helpers/third-party/getAppBlocks.js +39 -0
  30. package/dist/esm/index.js +2 -0
  31. package/dist/types/index.d.ts +10 -1
  32. package/package.json +2 -2
@@ -59,7 +59,8 @@ const ComponentToolbarPreview = (props)=>{
59
59
  const editProductElementList = [
60
60
  'Product Title',
61
61
  'Product Description',
62
- 'Product Price'
62
+ 'Product Price',
63
+ 'Product Vendor'
63
64
  ];
64
65
  const isOverToolbarPosition = (el, parent)=>{
65
66
  const parentLength = parents.length;
@@ -294,6 +295,11 @@ const ComponentToolbarPreview = (props)=>{
294
295
  const isEnableCreateThemeSection = ()=>{
295
296
  return editingPageType !== 'STATIC' && editingPageType !== 'POST_PURCHASE';
296
297
  };
298
+ const isEnableAIContent = ()=>{
299
+ const { isShopifySection, tag } = props;
300
+ if (isShopifySection || isThemeSection && !isThemeSectionEditor) return false;
301
+ return constant.ableGenerateContentElements.includes(tag);
302
+ };
297
303
  // if (!isActive) return null;
298
304
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
299
305
  children: [
@@ -459,7 +465,7 @@ const ComponentToolbarPreview = (props)=>{
459
465
  props.tag === 'Section' && !props.isThemeSection && isEnableCreateThemeSection() && !props.isShopifySection && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsxRuntime.jsx(CreateThemeSection.CreateThemeSection, {
460
466
  ...props
461
467
  }),
462
- !props.isShopifySection && constant.ableGenerateContentElements.includes(props.tag) && /*#__PURE__*/ jsxRuntime.jsx(AIContentGenerator.AIContentGenerator, {
468
+ isEnableAIContent() && /*#__PURE__*/ jsxRuntime.jsx(AIContentGenerator.AIContentGenerator, {
463
469
  ...props
464
470
  }),
465
471
  props.tag == 'Sticky' && /*#__PURE__*/ jsxRuntime.jsx("div", {
@@ -108,7 +108,7 @@ const AIContentGenerator = ({ ...props })=>{
108
108
  ref: genTool,
109
109
  children: [
110
110
  /*#__PURE__*/ jsxRuntime.jsx("div", {
111
- className: "gp-gen-content-toolbar gp-border-r-[#6a6a6a] gp-border-r gp-pr-1 gp-mr-1",
111
+ className: "gp-gen-content-toolbar gp-border-r gp-pr-1 gp-mr-1",
112
112
  children: /*#__PURE__*/ jsxRuntime.jsxs("button", {
113
113
  className: classNames({
114
114
  'gp-toolbar-ai-active': isShowPopup
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ function loopComponent(component, callback) {
4
+ if (component) {
5
+ callback(component);
6
+ }
7
+ if (component?.childrens?.length) {
8
+ // eslint-disable-next-line
9
+ for(let i = 0; i < component.childrens.length; i++){
10
+ const children = component.childrens[i];
11
+ loopComponent(children, callback);
12
+ }
13
+ }
14
+ }
15
+
16
+ exports.loopComponent = loopComponent;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ const pascalToKebab = (pascalCaseString)=>{
4
+ return pascalCaseString.replace(/[A-Z]/g, (match, offset)=>(offset ? '-' : '') + match.toLowerCase());
5
+ };
6
+
7
+ exports.pascalToKebab = pascalToKebab;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ const removeMatchingKey = (obj, searchText)=>{
4
+ for(const key in obj){
5
+ if (key.includes(searchText)) {
6
+ delete obj[key];
7
+ }
8
+ }
9
+ return obj;
10
+ };
11
+
12
+ exports.removeMatchingKey = removeMatchingKey;
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var loopComponent = require('../loop-component.js');
4
+ var composeAppBlockId = require('./composeAppBlockId.js');
5
+
6
+ const addAppBlockId = (component)=>{
7
+ const strComponent = JSON.stringify(component) || '';
8
+ if (!strComponent.includes('appBlockId')) {
9
+ return component;
10
+ }
11
+ loopComponent.loopComponent(component, (component)=>handleSetBlockId(component));
12
+ return component;
13
+ };
14
+ const handleSetBlockId = (component)=>{
15
+ const { tag, uid } = component;
16
+ if (component.settings.appBlockId === undefined) return component;
17
+ component.settings.appBlockId = composeAppBlockId.composeAppBlockId(tag, uid);
18
+ };
19
+
20
+ exports.addAppBlockId = addAppBlockId;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ const RechargeSubscriptionsConfig = {
4
+ RechargeSubscriptions: {
5
+ appName: 'recharge-subscriptions',
6
+ appId: '371eed76-0b44-4869-9813-730372ea378e'
7
+ }
8
+ };
9
+ const BonLoyaltyRewardsReferralsConfig = {
10
+ BonLoyaltyRewardsReferrals: {
11
+ appName: 'bon-loyalty',
12
+ appId: '63496a04-c097-48d1-8c11-475aec24b12e'
13
+ }
14
+ };
15
+ const SubifySubscriptionsConfig = {
16
+ SubifySubscriptionsApp: {
17
+ appName: 'subify-subscriptions-app',
18
+ appId: 'bc0dba25-cd46-4841-bea4-6bdfe9ac815f'
19
+ }
20
+ };
21
+ const SelleasyConfig = {
22
+ SelleasyApp: {
23
+ appName: 'selleasy',
24
+ appId: '790c1a03-a71f-4bc1-9869-00dad526d3c2'
25
+ }
26
+ };
27
+ const LoopSubscriptionsConfig = {
28
+ LoopSubscriptions: {
29
+ appName: 'Loop Subscriptions',
30
+ appId: '267a7c64-5cb3-4552-b817-5485165f0a0b'
31
+ }
32
+ };
33
+ const SkioSubscriptionsYcS20Config = {
34
+ SkioSubscriptionsYcS20: {
35
+ appName: 'skio-subscriptions-yc-s20',
36
+ appId: 'de50f7a4-0bb0-4d4c-84e2-c03dce83436d'
37
+ }
38
+ };
39
+
40
+ exports.BonLoyaltyRewardsReferralsConfig = BonLoyaltyRewardsReferralsConfig;
41
+ exports.LoopSubscriptionsConfig = LoopSubscriptionsConfig;
42
+ exports.RechargeSubscriptionsConfig = RechargeSubscriptionsConfig;
43
+ exports.SelleasyConfig = SelleasyConfig;
44
+ exports.SkioSubscriptionsYcS20Config = SkioSubscriptionsYcS20Config;
45
+ exports.SubifySubscriptionsConfig = SubifySubscriptionsConfig;
@@ -0,0 +1,77 @@
1
+ 'use strict';
2
+
3
+ const RechargeSubscriptions = {
4
+ RechargeSubscriptions: {
5
+ 'subscription-widget': {
6
+ product: '{{ product }}'
7
+ }
8
+ }
9
+ };
10
+ const LoyaltyRewardsReferrals = {
11
+ BonLoyaltyRewardsReferrals: {
12
+ 'loyalty-page-block': null,
13
+ 'loyalty-page-earning-block': null,
14
+ 'loyalty-page-header-block': null,
15
+ 'loyalty-page-profile-block': null,
16
+ 'loyalty-page-redeem-block': null,
17
+ 'loyalty-page-referral-block': null,
18
+ 'loyalty-page-tier-block': null,
19
+ 'product-point-preview': null
20
+ }
21
+ };
22
+ const SubifySubscriptions = {
23
+ SubifySubscriptionsApp: {
24
+ 'app-block': {
25
+ product: '{{product}}',
26
+ use_app_block_wording: false,
27
+ widget_label: 'Purchase options',
28
+ one_time_purchase_text: 'One-Time Purchase',
29
+ subscription_text: 'Subscribe and save',
30
+ delivery_frequency_text: 'Delivery frequency',
31
+ prepaid_subscription_text: 'Subscription with prepaid',
32
+ skin1_priceSuffix: 'each',
33
+ skin1_save: 'Save(skin1)',
34
+ skin1_prepaid_payment_title: 'prepaid',
35
+ skin1_normal_payment_title: 'pay as you go',
36
+ skin2_discountSuffix: 'Save',
37
+ skin3_fullPrice: 'Full price',
38
+ skin3_priceSuffix: 'each',
39
+ skin3_discountSuffix: 'Off',
40
+ skin4_justOnce: 'Just once',
41
+ skin4_discountSuffix: 'Off',
42
+ skin4_priceSuffix: 'each',
43
+ skin4_fullPrice: '(Full price)',
44
+ skin4_sellingPlansTitle: 'Renews every:',
45
+ from: 'from',
46
+ max_discount_badge_title: 'UP To',
47
+ pay: 'Pay',
48
+ price_save_up_to: 'save up to'
49
+ }
50
+ }
51
+ };
52
+ const SelleasyWidget = {
53
+ Selleasy: {
54
+ 'lb-upsell-fbt-block': null,
55
+ 'lb-upsell-addon-block': null
56
+ }
57
+ };
58
+ const LoopSubscriptions = {
59
+ LoopSubscriptions: {
60
+ 'star_rating': null
61
+ }
62
+ };
63
+ const SkioSubscriptionsYcS20 = {
64
+ SkioSubscriptionsYcS20: {
65
+ 'app-block': null
66
+ }
67
+ };
68
+ const composeSettingsByWidgetType = {
69
+ ...SkioSubscriptionsYcS20,
70
+ ...LoopSubscriptions,
71
+ ...RechargeSubscriptions,
72
+ ...LoyaltyRewardsReferrals,
73
+ ...SubifySubscriptions,
74
+ ...SelleasyWidget
75
+ };
76
+
77
+ exports.composeSettingsByWidgetType = composeSettingsByWidgetType;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var pascalToKebabCase = require('../pascal-to-kebab-case.js');
4
+ var constant = require('./constant.js');
5
+
6
+ const composeAppBlockId = (tag, uid)=>{
7
+ const key = pascalToKebabCase.pascalToKebab(tag);
8
+ return `${constant.THIRD_PARTY_APP_BLOCK_ID_PREFIX}_${key}_${uid}`;
9
+ };
10
+
11
+ exports.composeAppBlockId = composeAppBlockId;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var appConfig = require('./appConfig.js');
4
+
5
+ const mapShopifyAppMeta = {
6
+ ...appConfig.RechargeSubscriptionsConfig,
7
+ ...appConfig.BonLoyaltyRewardsReferralsConfig,
8
+ ...appConfig.SubifySubscriptionsConfig,
9
+ ...appConfig.SelleasyConfig,
10
+ ...appConfig.LoopSubscriptionsConfig,
11
+ ...appConfig.SkioSubscriptionsYcS20Config
12
+ };
13
+ const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
14
+
15
+ exports.THIRD_PARTY_APP_BLOCK_ID_PREFIX = THIRD_PARTY_APP_BLOCK_ID_PREFIX;
16
+ exports.mapShopifyAppMeta = mapShopifyAppMeta;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var loopComponent = require('../loop-component.js');
4
+ var getAppBlockConfig = require('./getAppBlockConfig.js');
5
+
6
+ const generateAppBlockConfigs = (component)=>{
7
+ const strComponent = JSON.stringify(component) || '';
8
+ if (!strComponent.includes('appBlockId')) return null;
9
+ const configs = [];
10
+ loopComponent.loopComponent(component, (component)=>{
11
+ const settings = component.settings || {};
12
+ const appBlockId = settings?.appBlockId || '';
13
+ if (!appBlockId) return;
14
+ const config = getAppBlockConfig.getAppBlockConfig(component.tag, appBlockId, settings);
15
+ if (!config) return;
16
+ configs.push(config);
17
+ });
18
+ return configs;
19
+ };
20
+
21
+ exports.generateAppBlockConfigs = generateAppBlockConfigs;
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var appSetting = require('./appSetting.js');
4
+ var getAppBlockType = require('./getAppBlockType.js');
5
+
6
+ const getAppBlockConfig = (tag, appBlockId, settings)=>{
7
+ const appBlockType = getAppBlockType.getAppBlockType({
8
+ tag,
9
+ widgetType: settings?.widgetType
10
+ });
11
+ const settingByWidget = appSetting.composeSettingsByWidgetType[tag][settings?.widgetType];
12
+ return {
13
+ key: appBlockId,
14
+ value: {
15
+ type: appBlockType,
16
+ ...settingByWidget && {
17
+ settings: settingByWidget
18
+ }
19
+ }
20
+ };
21
+ };
22
+
23
+ exports.getAppBlockConfig = getAppBlockConfig;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var constant = require('./constant.js');
4
+
5
+ const getAppBlockType = ({ tag, widgetType })=>{
6
+ const shopifyAppMeta = constant.mapShopifyAppMeta[tag];
7
+ if (!shopifyAppMeta) return '';
8
+ const { appName, appId } = shopifyAppMeta;
9
+ return `shopify://apps/${appName}/blocks/${widgetType}/${appId}`;
10
+ };
11
+
12
+ exports.getAppBlockType = getAppBlockType;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+
3
+ var removeMatchingKey = require('../remove-matching-key.js');
4
+ var addAppBlockId = require('./addAppBlockId.js');
5
+ var generateAppBlockConfigs = require('./generateAppBlockConfigs.js');
6
+
7
+ const getAppBlocks = (section, currentBlock, currentBlockOrder)=>{
8
+ const component = JSON.parse(section?.component || '');
9
+ const componentWithAppBlockId = addAppBlockId.addAppBlockId(component);
10
+ const appBlockConfigs = generateAppBlockConfigs.generateAppBlockConfigs(componentWithAppBlockId);
11
+ if (!appBlockConfigs?.length) {
12
+ return {
13
+ blocks: currentBlock,
14
+ block_order: currentBlockOrder
15
+ };
16
+ }
17
+ let newBlocks = currentBlock;
18
+ let newBlockOrder = currentBlockOrder;
19
+ appBlockConfigs.forEach(({ key, value })=>{
20
+ const newBlock = {
21
+ [key]: value
22
+ };
23
+ const oldKeyRemovedBlock = removeMatchingKey.removeMatchingKey(newBlocks, key);
24
+ newBlocks = {
25
+ ...oldKeyRemovedBlock,
26
+ ...newBlock
27
+ };
28
+ newBlockOrder = newBlockOrder ? [
29
+ ...newBlockOrder,
30
+ key
31
+ ] : [
32
+ key
33
+ ];
34
+ });
35
+ return {
36
+ blocks: newBlocks,
37
+ block_order: newBlockOrder
38
+ };
39
+ };
40
+
41
+ exports.getAppBlocks = getAppBlocks;
package/dist/cjs/index.js CHANGED
@@ -104,6 +104,8 @@ var animations$1 = require('./types/animations.js');
104
104
  var getCollection = require('./helpers/queries/get-collection.js');
105
105
  var getProduct = require('./helpers/queries/get-product.js');
106
106
  var getProductBySlug = require('./helpers/queries/get-product-by-slug.js');
107
+ var getAppBlocks = require('./helpers/third-party/getAppBlocks.js');
108
+ var addAppBlockId = require('./helpers/third-party/addAppBlockId.js');
107
109
 
108
110
 
109
111
 
@@ -387,3 +389,5 @@ exports.fetchMedias = getProduct.fetchMedias;
387
389
  exports.fetchVariants = getProduct.fetchVariants;
388
390
  exports.getProduct = getProduct.getProduct;
389
391
  exports.getProductBySlug = getProductBySlug.getProductBySlug;
392
+ exports.getAppBlocks = getAppBlocks.getAppBlocks;
393
+ exports.addAppBlockId = addAppBlockId.addAppBlockId;
@@ -55,7 +55,8 @@ const ComponentToolbarPreview = (props)=>{
55
55
  const editProductElementList = [
56
56
  'Product Title',
57
57
  'Product Description',
58
- 'Product Price'
58
+ 'Product Price',
59
+ 'Product Vendor'
59
60
  ];
60
61
  const isOverToolbarPosition = (el, parent)=>{
61
62
  const parentLength = parents.length;
@@ -290,6 +291,11 @@ const ComponentToolbarPreview = (props)=>{
290
291
  const isEnableCreateThemeSection = ()=>{
291
292
  return editingPageType !== 'STATIC' && editingPageType !== 'POST_PURCHASE';
292
293
  };
294
+ const isEnableAIContent = ()=>{
295
+ const { isShopifySection, tag } = props;
296
+ if (isShopifySection || isThemeSection && !isThemeSectionEditor) return false;
297
+ return ableGenerateContentElements.includes(tag);
298
+ };
293
299
  // if (!isActive) return null;
294
300
  return /*#__PURE__*/ jsxs(Fragment, {
295
301
  children: [
@@ -455,7 +461,7 @@ const ComponentToolbarPreview = (props)=>{
455
461
  props.tag === 'Section' && !props.isThemeSection && isEnableCreateThemeSection() && !props.isShopifySection && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsx(CreateThemeSection, {
456
462
  ...props
457
463
  }),
458
- !props.isShopifySection && ableGenerateContentElements.includes(props.tag) && /*#__PURE__*/ jsx(AIContentGenerator, {
464
+ isEnableAIContent() && /*#__PURE__*/ jsx(AIContentGenerator, {
459
465
  ...props
460
466
  }),
461
467
  props.tag == 'Sticky' && /*#__PURE__*/ jsx("div", {
@@ -106,7 +106,7 @@ const AIContentGenerator = ({ ...props })=>{
106
106
  ref: genTool,
107
107
  children: [
108
108
  /*#__PURE__*/ jsx("div", {
109
- className: "gp-gen-content-toolbar gp-border-r-[#6a6a6a] gp-border-r gp-pr-1 gp-mr-1",
109
+ className: "gp-gen-content-toolbar gp-border-r gp-pr-1 gp-mr-1",
110
110
  children: /*#__PURE__*/ jsxs("button", {
111
111
  className: classNames({
112
112
  'gp-toolbar-ai-active': isShowPopup
@@ -0,0 +1,14 @@
1
+ function loopComponent(component, callback) {
2
+ if (component) {
3
+ callback(component);
4
+ }
5
+ if (component?.childrens?.length) {
6
+ // eslint-disable-next-line
7
+ for(let i = 0; i < component.childrens.length; i++){
8
+ const children = component.childrens[i];
9
+ loopComponent(children, callback);
10
+ }
11
+ }
12
+ }
13
+
14
+ export { loopComponent };
@@ -0,0 +1,5 @@
1
+ const pascalToKebab = (pascalCaseString)=>{
2
+ return pascalCaseString.replace(/[A-Z]/g, (match, offset)=>(offset ? '-' : '') + match.toLowerCase());
3
+ };
4
+
5
+ export { pascalToKebab };
@@ -0,0 +1,10 @@
1
+ const removeMatchingKey = (obj, searchText)=>{
2
+ for(const key in obj){
3
+ if (key.includes(searchText)) {
4
+ delete obj[key];
5
+ }
6
+ }
7
+ return obj;
8
+ };
9
+
10
+ export { removeMatchingKey };
@@ -0,0 +1,18 @@
1
+ import { loopComponent } from '../loop-component.js';
2
+ import { composeAppBlockId } from './composeAppBlockId.js';
3
+
4
+ const addAppBlockId = (component)=>{
5
+ const strComponent = JSON.stringify(component) || '';
6
+ if (!strComponent.includes('appBlockId')) {
7
+ return component;
8
+ }
9
+ loopComponent(component, (component)=>handleSetBlockId(component));
10
+ return component;
11
+ };
12
+ const handleSetBlockId = (component)=>{
13
+ const { tag, uid } = component;
14
+ if (component.settings.appBlockId === undefined) return component;
15
+ component.settings.appBlockId = composeAppBlockId(tag, uid);
16
+ };
17
+
18
+ export { addAppBlockId };
@@ -0,0 +1,38 @@
1
+ const RechargeSubscriptionsConfig = {
2
+ RechargeSubscriptions: {
3
+ appName: 'recharge-subscriptions',
4
+ appId: '371eed76-0b44-4869-9813-730372ea378e'
5
+ }
6
+ };
7
+ const BonLoyaltyRewardsReferralsConfig = {
8
+ BonLoyaltyRewardsReferrals: {
9
+ appName: 'bon-loyalty',
10
+ appId: '63496a04-c097-48d1-8c11-475aec24b12e'
11
+ }
12
+ };
13
+ const SubifySubscriptionsConfig = {
14
+ SubifySubscriptionsApp: {
15
+ appName: 'subify-subscriptions-app',
16
+ appId: 'bc0dba25-cd46-4841-bea4-6bdfe9ac815f'
17
+ }
18
+ };
19
+ const SelleasyConfig = {
20
+ SelleasyApp: {
21
+ appName: 'selleasy',
22
+ appId: '790c1a03-a71f-4bc1-9869-00dad526d3c2'
23
+ }
24
+ };
25
+ const LoopSubscriptionsConfig = {
26
+ LoopSubscriptions: {
27
+ appName: 'Loop Subscriptions',
28
+ appId: '267a7c64-5cb3-4552-b817-5485165f0a0b'
29
+ }
30
+ };
31
+ const SkioSubscriptionsYcS20Config = {
32
+ SkioSubscriptionsYcS20: {
33
+ appName: 'skio-subscriptions-yc-s20',
34
+ appId: 'de50f7a4-0bb0-4d4c-84e2-c03dce83436d'
35
+ }
36
+ };
37
+
38
+ export { BonLoyaltyRewardsReferralsConfig, LoopSubscriptionsConfig, RechargeSubscriptionsConfig, SelleasyConfig, SkioSubscriptionsYcS20Config, SubifySubscriptionsConfig };
@@ -0,0 +1,75 @@
1
+ const RechargeSubscriptions = {
2
+ RechargeSubscriptions: {
3
+ 'subscription-widget': {
4
+ product: '{{ product }}'
5
+ }
6
+ }
7
+ };
8
+ const LoyaltyRewardsReferrals = {
9
+ BonLoyaltyRewardsReferrals: {
10
+ 'loyalty-page-block': null,
11
+ 'loyalty-page-earning-block': null,
12
+ 'loyalty-page-header-block': null,
13
+ 'loyalty-page-profile-block': null,
14
+ 'loyalty-page-redeem-block': null,
15
+ 'loyalty-page-referral-block': null,
16
+ 'loyalty-page-tier-block': null,
17
+ 'product-point-preview': null
18
+ }
19
+ };
20
+ const SubifySubscriptions = {
21
+ SubifySubscriptionsApp: {
22
+ 'app-block': {
23
+ product: '{{product}}',
24
+ use_app_block_wording: false,
25
+ widget_label: 'Purchase options',
26
+ one_time_purchase_text: 'One-Time Purchase',
27
+ subscription_text: 'Subscribe and save',
28
+ delivery_frequency_text: 'Delivery frequency',
29
+ prepaid_subscription_text: 'Subscription with prepaid',
30
+ skin1_priceSuffix: 'each',
31
+ skin1_save: 'Save(skin1)',
32
+ skin1_prepaid_payment_title: 'prepaid',
33
+ skin1_normal_payment_title: 'pay as you go',
34
+ skin2_discountSuffix: 'Save',
35
+ skin3_fullPrice: 'Full price',
36
+ skin3_priceSuffix: 'each',
37
+ skin3_discountSuffix: 'Off',
38
+ skin4_justOnce: 'Just once',
39
+ skin4_discountSuffix: 'Off',
40
+ skin4_priceSuffix: 'each',
41
+ skin4_fullPrice: '(Full price)',
42
+ skin4_sellingPlansTitle: 'Renews every:',
43
+ from: 'from',
44
+ max_discount_badge_title: 'UP To',
45
+ pay: 'Pay',
46
+ price_save_up_to: 'save up to'
47
+ }
48
+ }
49
+ };
50
+ const SelleasyWidget = {
51
+ Selleasy: {
52
+ 'lb-upsell-fbt-block': null,
53
+ 'lb-upsell-addon-block': null
54
+ }
55
+ };
56
+ const LoopSubscriptions = {
57
+ LoopSubscriptions: {
58
+ 'star_rating': null
59
+ }
60
+ };
61
+ const SkioSubscriptionsYcS20 = {
62
+ SkioSubscriptionsYcS20: {
63
+ 'app-block': null
64
+ }
65
+ };
66
+ const composeSettingsByWidgetType = {
67
+ ...SkioSubscriptionsYcS20,
68
+ ...LoopSubscriptions,
69
+ ...RechargeSubscriptions,
70
+ ...LoyaltyRewardsReferrals,
71
+ ...SubifySubscriptions,
72
+ ...SelleasyWidget
73
+ };
74
+
75
+ export { composeSettingsByWidgetType };
@@ -0,0 +1,9 @@
1
+ import { pascalToKebab } from '../pascal-to-kebab-case.js';
2
+ import { THIRD_PARTY_APP_BLOCK_ID_PREFIX } from './constant.js';
3
+
4
+ const composeAppBlockId = (tag, uid)=>{
5
+ const key = pascalToKebab(tag);
6
+ return `${THIRD_PARTY_APP_BLOCK_ID_PREFIX}_${key}_${uid}`;
7
+ };
8
+
9
+ export { composeAppBlockId };
@@ -0,0 +1,13 @@
1
+ import { RechargeSubscriptionsConfig, BonLoyaltyRewardsReferralsConfig, SubifySubscriptionsConfig, SelleasyConfig, LoopSubscriptionsConfig, SkioSubscriptionsYcS20Config } from './appConfig.js';
2
+
3
+ const mapShopifyAppMeta = {
4
+ ...RechargeSubscriptionsConfig,
5
+ ...BonLoyaltyRewardsReferralsConfig,
6
+ ...SubifySubscriptionsConfig,
7
+ ...SelleasyConfig,
8
+ ...LoopSubscriptionsConfig,
9
+ ...SkioSubscriptionsYcS20Config
10
+ };
11
+ const THIRD_PARTY_APP_BLOCK_ID_PREFIX = 'gp_app';
12
+
13
+ export { THIRD_PARTY_APP_BLOCK_ID_PREFIX, mapShopifyAppMeta };
@@ -0,0 +1,19 @@
1
+ import { loopComponent } from '../loop-component.js';
2
+ import { getAppBlockConfig } from './getAppBlockConfig.js';
3
+
4
+ const generateAppBlockConfigs = (component)=>{
5
+ const strComponent = JSON.stringify(component) || '';
6
+ if (!strComponent.includes('appBlockId')) return null;
7
+ const configs = [];
8
+ loopComponent(component, (component)=>{
9
+ const settings = component.settings || {};
10
+ const appBlockId = settings?.appBlockId || '';
11
+ if (!appBlockId) return;
12
+ const config = getAppBlockConfig(component.tag, appBlockId, settings);
13
+ if (!config) return;
14
+ configs.push(config);
15
+ });
16
+ return configs;
17
+ };
18
+
19
+ export { generateAppBlockConfigs };
@@ -0,0 +1,21 @@
1
+ import { composeSettingsByWidgetType } from './appSetting.js';
2
+ import { getAppBlockType } from './getAppBlockType.js';
3
+
4
+ const getAppBlockConfig = (tag, appBlockId, settings)=>{
5
+ const appBlockType = getAppBlockType({
6
+ tag,
7
+ widgetType: settings?.widgetType
8
+ });
9
+ const settingByWidget = composeSettingsByWidgetType[tag][settings?.widgetType];
10
+ return {
11
+ key: appBlockId,
12
+ value: {
13
+ type: appBlockType,
14
+ ...settingByWidget && {
15
+ settings: settingByWidget
16
+ }
17
+ }
18
+ };
19
+ };
20
+
21
+ export { getAppBlockConfig };
@@ -0,0 +1,10 @@
1
+ import { mapShopifyAppMeta } from './constant.js';
2
+
3
+ const getAppBlockType = ({ tag, widgetType })=>{
4
+ const shopifyAppMeta = mapShopifyAppMeta[tag];
5
+ if (!shopifyAppMeta) return '';
6
+ const { appName, appId } = shopifyAppMeta;
7
+ return `shopify://apps/${appName}/blocks/${widgetType}/${appId}`;
8
+ };
9
+
10
+ export { getAppBlockType };
@@ -0,0 +1,39 @@
1
+ import { removeMatchingKey } from '../remove-matching-key.js';
2
+ import { addAppBlockId } from './addAppBlockId.js';
3
+ import { generateAppBlockConfigs } from './generateAppBlockConfigs.js';
4
+
5
+ const getAppBlocks = (section, currentBlock, currentBlockOrder)=>{
6
+ const component = JSON.parse(section?.component || '');
7
+ const componentWithAppBlockId = addAppBlockId(component);
8
+ const appBlockConfigs = generateAppBlockConfigs(componentWithAppBlockId);
9
+ if (!appBlockConfigs?.length) {
10
+ return {
11
+ blocks: currentBlock,
12
+ block_order: currentBlockOrder
13
+ };
14
+ }
15
+ let newBlocks = currentBlock;
16
+ let newBlockOrder = currentBlockOrder;
17
+ appBlockConfigs.forEach(({ key, value })=>{
18
+ const newBlock = {
19
+ [key]: value
20
+ };
21
+ const oldKeyRemovedBlock = removeMatchingKey(newBlocks, key);
22
+ newBlocks = {
23
+ ...oldKeyRemovedBlock,
24
+ ...newBlock
25
+ };
26
+ newBlockOrder = newBlockOrder ? [
27
+ ...newBlockOrder,
28
+ key
29
+ ] : [
30
+ key
31
+ ];
32
+ });
33
+ return {
34
+ blocks: newBlocks,
35
+ block_order: newBlockOrder
36
+ };
37
+ };
38
+
39
+ export { getAppBlocks };
package/dist/esm/index.js CHANGED
@@ -107,3 +107,5 @@ export { AnimationDirectionType, AnimationEasingType, AnimationSetting, Animatio
107
107
  export { calculateFirstProduct, getCollection } from './helpers/queries/get-collection.js';
108
108
  export { fetchMedias, fetchVariants, getProduct } from './helpers/queries/get-product.js';
109
109
  export { getProductBySlug } from './helpers/queries/get-product-by-slug.js';
110
+ export { getAppBlocks } from './helpers/third-party/getAppBlocks.js';
111
+ export { addAppBlockId } from './helpers/third-party/addAppBlockId.js';
@@ -37343,4 +37343,13 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage$1, 'id' | 'name'
37343
37343
 
37344
37344
  declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
37345
37345
 
37346
- 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, 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, 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 };
37346
+ declare const getAppBlocks: (section: PublishedPageSection$1 & {
37347
+ appBlocks: string;
37348
+ }, currentBlock: {}, currentBlockOrder: string[]) => {
37349
+ blocks: {};
37350
+ block_order: string[];
37351
+ };
37352
+
37353
+ declare const addAppBlockId: (component: Component) => Component;
37354
+
37355
+ 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.1",
3
+ "version": "1.46.0-staging.10",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -28,7 +28,7 @@
28
28
  },
29
29
  "devDependencies": {
30
30
  "@gem-sdk/adapter-shopify": "1.45.0",
31
- "@gem-sdk/styles": "1.46.0-staging.1",
31
+ "@gem-sdk/styles": "1.46.0-staging.8",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {