@gem-sdk/core 1.45.2 → 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 (46) hide show
  1. package/dist/cjs/components/ComponentToolbarPreview.js +4 -3
  2. package/dist/cjs/components/constant.js +4 -1
  3. package/dist/cjs/components/theme-section/ThemeSectionStatus.js +14 -5
  4. package/dist/cjs/contexts/BuilderPreviewContext.js +5 -1
  5. package/dist/cjs/contexts/ModalContext.js +2 -2
  6. package/dist/cjs/contexts/SectionContext.js +1 -0
  7. package/dist/cjs/helpers/colors.js +1 -1
  8. package/dist/cjs/helpers/loop-component.js +16 -0
  9. package/dist/cjs/helpers/pascal-to-kebab-case.js +7 -0
  10. package/dist/cjs/helpers/remove-matching-key.js +12 -0
  11. package/dist/cjs/helpers/size.js +4 -0
  12. package/dist/cjs/helpers/third-party/addAppBlockId.js +20 -0
  13. package/dist/cjs/helpers/third-party/appConfig.js +45 -0
  14. package/dist/cjs/helpers/third-party/appSetting.js +77 -0
  15. package/dist/cjs/helpers/third-party/composeAppBlockId.js +11 -0
  16. package/dist/cjs/helpers/third-party/constant.js +16 -0
  17. package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +21 -0
  18. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +23 -0
  19. package/dist/cjs/helpers/third-party/getAppBlockType.js +12 -0
  20. package/dist/cjs/helpers/third-party/getAppBlocks.js +41 -0
  21. package/dist/cjs/hooks/articles/useArticlesQuery.js +1 -0
  22. package/dist/cjs/index.js +5 -0
  23. package/dist/esm/components/ComponentToolbarPreview.js +5 -4
  24. package/dist/esm/components/constant.js +4 -1
  25. package/dist/esm/components/theme-section/ThemeSectionStatus.js +14 -5
  26. package/dist/esm/contexts/BuilderPreviewContext.js +5 -1
  27. package/dist/esm/contexts/ModalContext.js +2 -2
  28. package/dist/esm/contexts/SectionContext.js +1 -0
  29. package/dist/esm/helpers/colors.js +1 -1
  30. package/dist/esm/helpers/loop-component.js +14 -0
  31. package/dist/esm/helpers/pascal-to-kebab-case.js +5 -0
  32. package/dist/esm/helpers/remove-matching-key.js +10 -0
  33. package/dist/esm/helpers/size.js +4 -1
  34. package/dist/esm/helpers/third-party/addAppBlockId.js +18 -0
  35. package/dist/esm/helpers/third-party/appConfig.js +38 -0
  36. package/dist/esm/helpers/third-party/appSetting.js +75 -0
  37. package/dist/esm/helpers/third-party/composeAppBlockId.js +9 -0
  38. package/dist/esm/helpers/third-party/constant.js +13 -0
  39. package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +19 -0
  40. package/dist/esm/helpers/third-party/getAppBlockConfig.js +21 -0
  41. package/dist/esm/helpers/third-party/getAppBlockType.js +10 -0
  42. package/dist/esm/helpers/third-party/getAppBlocks.js +39 -0
  43. package/dist/esm/hooks/articles/useArticlesQuery.js +1 -0
  44. package/dist/esm/index.js +3 -1
  45. package/dist/types/index.d.ts +28 -2
  46. 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;
@@ -567,7 +568,7 @@ const ComponentToolbarPreview = (props)=>{
567
568
  })
568
569
  ]
569
570
  }, props.uid),
570
- isEnableCreateThemeSection() && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsxRuntime.jsx(ThemeSectionStatus.ThemeSectionStatus, {
571
+ isEnableCreateThemeSection() && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsxRuntime.jsx(ThemeSectionStatus.ThemeSectionStatusWrapper, {
571
572
  ...props
572
573
  }),
573
574
  /*#__PURE__*/ jsxRuntime.jsx("div", {
@@ -630,6 +631,6 @@ const ComponentToolbarPreview = (props)=>{
630
631
  ]
631
632
  });
632
633
  };
633
- var ComponentToolbarPreview$1 = /*#__PURE__*/ react.memo(ComponentToolbarPreview);
634
+ var ComponentToolbarPreview$1 = /*#__PURE__*/ react.memo(ComponentToolbarPreview); /* gem-lint/disallow-import-from-package-path */
634
635
 
635
636
  exports.default = ComponentToolbarPreview$1;
@@ -37,7 +37,10 @@ const disableWrap = [
37
37
  'PostPurchaseProductImages',
38
38
  'Sticky',
39
39
  'Heading',
40
- 'EstimateDate'
40
+ 'EstimateDate',
41
+ 'ProductBadge',
42
+ 'Marquee',
43
+ 'MarqueeItem'
41
44
  ];
42
45
  const customRenderChildren = [
43
46
  'Accordion',
@@ -2,8 +2,17 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
 
5
- const ThemeSectionStatus = ({ ...props })=>{
6
- const isRenderThemeSectionStatus = props.tag === 'Section' && props?.isThemeSection && props?.needPublishing;
5
+ const getStatusMessage = (status)=>{
6
+ switch(status){
7
+ case 'DRAFT':
8
+ return 'This Theme Section is Draft. Publish page will also publish Theme Section.';
9
+ case 'NEED_PUBLISHING':
10
+ return 'Need to republish. Go to global edit and publish this section';
11
+ }
12
+ };
13
+ const ThemeSectionStatusWrapper = ({ tag, status, isThemeSection })=>{
14
+ const isRenderThemeSectionStatus = tag === 'Section' && isThemeSection && (status === 'DRAFT' || status === 'NEED_PUBLISHING');
15
+ const statusMessage = getStatusMessage(status);
7
16
  return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
8
17
  children: isRenderThemeSectionStatus && /*#__PURE__*/ jsxRuntime.jsxs("div", {
9
18
  "data-theme-section-status": true,
@@ -24,13 +33,13 @@ const ThemeSectionStatus = ({ ...props })=>{
24
33
  })
25
34
  })
26
35
  }),
27
- /*#__PURE__*/ jsxRuntime.jsx("span", {
36
+ statusMessage && /*#__PURE__*/ jsxRuntime.jsx("span", {
28
37
  "data-theme-section-status-text": true,
29
- children: "Need to republish. Go to global edit and publish this section"
38
+ children: statusMessage
30
39
  })
31
40
  ]
32
41
  })
33
42
  });
34
43
  };
35
44
 
36
- exports.ThemeSectionStatus = ThemeSectionStatus;
45
+ exports.ThemeSectionStatusWrapper = ThemeSectionStatusWrapper;
@@ -254,7 +254,11 @@ const createBuilderPreviewProvider = (args, pageName, isThemeSectionEditor)=>zus
254
254
  }
255
255
  },
256
256
  getItem: (id)=>{
257
- return get().state[id];
257
+ const item = get().state[id];
258
+ return {
259
+ ...item,
260
+ rawChildrens: item?.childrens?.map((v)=>get().state[v])
261
+ };
258
262
  },
259
263
  removeItem: (id)=>{
260
264
  if (id === 'ROOT') {
@@ -7,8 +7,8 @@ var zustand = require('zustand');
7
7
  const ModalContext = /*#__PURE__*/ react.createContext(null);
8
8
  const createModalProvider = (data)=>zustand.createStore((set)=>({
9
9
  activeId: data,
10
- setModalActive: (id)=>{
11
- window?.parent?.postMessage?.(JSON.stringify({
10
+ setModalActive: (id, postMessage)=>{
11
+ postMessage && window?.parent?.postMessage?.(JSON.stringify({
12
12
  type: 'active-element',
13
13
  uid: id
14
14
  }), '*');
@@ -10,6 +10,7 @@ const SectionContext = /*#__PURE__*/ react.createContext(null);
10
10
  const createSectionProvider = (data)=>zustand.createStore((set, get)=>({
11
11
  data: data ?? {},
12
12
  getSection: (id)=>{
13
+ console.log('get().data', get().data);
13
14
  const section = get().data[id];
14
15
  return section ?? undefined;
15
16
  },
@@ -156,7 +156,7 @@ const getSingleColorVariable = (color)=>{
156
156
  };
157
157
  function isColor(color) {
158
158
  if (!color || typeof color !== 'string') return false;
159
- return color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent');
159
+ return color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent') || color?.startsWith('linear-gradient');
160
160
  }
161
161
  const getGlobalColorStyle = (data)=>{
162
162
  if (!data) return {};
@@ -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;
@@ -181,6 +181,9 @@ function getCustomPaddingSizeCSSByDevice(globalSize, device) {
181
181
  const getPaddingGlobalSize = (globalSize)=>{
182
182
  return Object.assign({}, getCustomPaddingSizeCSSByDevice(globalSize, 'desktop'), getCustomPaddingSizeCSSByDevice(globalSize, 'tablet'), getCustomPaddingSizeCSSByDevice(globalSize, 'mobile'));
183
183
  };
184
+ const getValueByDevice = (value, device)=>{
185
+ return value?.[device] === undefined ? value?.desktop === undefined ? value?.tablet : value?.desktop : value?.[device];
186
+ };
184
187
 
185
188
  exports.composeSize = composeSize;
186
189
  exports.composeSizeCss = composeSizeCss;
@@ -189,6 +192,7 @@ exports.getAspectRatioGlobalSize = getAspectRatioGlobalSize;
189
192
  exports.getGlobalSizeGap = getGlobalSizeGap;
190
193
  exports.getHeightByShapeGlobalSize = getHeightByShapeGlobalSize;
191
194
  exports.getPaddingGlobalSize = getPaddingGlobalSize;
195
+ exports.getValueByDevice = getValueByDevice;
192
196
  exports.getWidthByShapeGlobalSize = getWidthByShapeGlobalSize;
193
197
  exports.getWidthHeightGlobalSize = getWidthHeightGlobalSize;
194
198
  exports.makeGlobalSize = makeGlobalSize;
@@ -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;
@@ -18,6 +18,7 @@ const useArticlesQuery = (variables, options)=>{
18
18
  };
19
19
  const useBlogsQuery = (variables, options)=>{
20
20
  const fetcher = useFetchHandle.useFetchHandle();
21
+ //@ts-ignore
21
22
  const fetchBlogs = ()=>fetcher([
22
23
  blogs_generated.BlogsDocument,
23
24
  variables ?? {}
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
 
@@ -272,6 +274,7 @@ exports.getAspectRatioGlobalSize = size.getAspectRatioGlobalSize;
272
274
  exports.getGlobalSizeGap = size.getGlobalSizeGap;
273
275
  exports.getHeightByShapeGlobalSize = size.getHeightByShapeGlobalSize;
274
276
  exports.getPaddingGlobalSize = size.getPaddingGlobalSize;
277
+ exports.getValueByDevice = size.getValueByDevice;
275
278
  exports.getWidthByShapeGlobalSize = size.getWidthByShapeGlobalSize;
276
279
  exports.getWidthHeightGlobalSize = size.getWidthHeightGlobalSize;
277
280
  exports.makeGlobalSize = size.makeGlobalSize;
@@ -386,3 +389,5 @@ exports.fetchMedias = getProduct.fetchMedias;
386
389
  exports.fetchVariants = getProduct.fetchVariants;
387
390
  exports.getProduct = getProduct.getProduct;
388
391
  exports.getProductBySlug = getProductBySlug.getProductBySlug;
392
+ exports.getAppBlocks = getAppBlocks.getAppBlocks;
393
+ exports.addAppBlockId = addAppBlockId.addAppBlockId;
@@ -11,7 +11,7 @@ import 'vanilla-lazyload';
11
11
  import '../hooks/useCartUI.js';
12
12
  import { CreateThemeSection } from './theme-section/CreateThemeSection.js';
13
13
  import Tooltip from './toolbar/Tooltip.js';
14
- import { ThemeSectionStatus } from './theme-section/ThemeSectionStatus.js';
14
+ import { ThemeSectionStatusWrapper } from './theme-section/ThemeSectionStatus.js';
15
15
  import Resize from './resize/Resize.js';
16
16
  import { usePostPurchase } from '../hooks/useToolbarPostPurchase.js';
17
17
  import { ableGenerateContentElements } from './constant.js';
@@ -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;
@@ -563,7 +564,7 @@ const ComponentToolbarPreview = (props)=>{
563
564
  })
564
565
  ]
565
566
  }, props.uid),
566
- isEnableCreateThemeSection() && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsx(ThemeSectionStatus, {
567
+ isEnableCreateThemeSection() && getIndexSection() < SECTION_LIMIT && /*#__PURE__*/ jsx(ThemeSectionStatusWrapper, {
567
568
  ...props
568
569
  }),
569
570
  /*#__PURE__*/ jsx("div", {
@@ -626,6 +627,6 @@ const ComponentToolbarPreview = (props)=>{
626
627
  ]
627
628
  });
628
629
  };
629
- var ComponentToolbarPreview$1 = /*#__PURE__*/ memo(ComponentToolbarPreview);
630
+ var ComponentToolbarPreview$1 = /*#__PURE__*/ memo(ComponentToolbarPreview); /* gem-lint/disallow-import-from-package-path */
630
631
 
631
632
  export { ComponentToolbarPreview$1 as default };
@@ -35,7 +35,10 @@ const disableWrap = [
35
35
  'PostPurchaseProductImages',
36
36
  'Sticky',
37
37
  'Heading',
38
- 'EstimateDate'
38
+ 'EstimateDate',
39
+ 'ProductBadge',
40
+ 'Marquee',
41
+ 'MarqueeItem'
39
42
  ];
40
43
  const customRenderChildren = [
41
44
  'Accordion',
@@ -1,7 +1,16 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
 
3
- const ThemeSectionStatus = ({ ...props })=>{
4
- const isRenderThemeSectionStatus = props.tag === 'Section' && props?.isThemeSection && props?.needPublishing;
3
+ const getStatusMessage = (status)=>{
4
+ switch(status){
5
+ case 'DRAFT':
6
+ return 'This Theme Section is Draft. Publish page will also publish Theme Section.';
7
+ case 'NEED_PUBLISHING':
8
+ return 'Need to republish. Go to global edit and publish this section';
9
+ }
10
+ };
11
+ const ThemeSectionStatusWrapper = ({ tag, status, isThemeSection })=>{
12
+ const isRenderThemeSectionStatus = tag === 'Section' && isThemeSection && (status === 'DRAFT' || status === 'NEED_PUBLISHING');
13
+ const statusMessage = getStatusMessage(status);
5
14
  return /*#__PURE__*/ jsx(Fragment, {
6
15
  children: isRenderThemeSectionStatus && /*#__PURE__*/ jsxs("div", {
7
16
  "data-theme-section-status": true,
@@ -22,13 +31,13 @@ const ThemeSectionStatus = ({ ...props })=>{
22
31
  })
23
32
  })
24
33
  }),
25
- /*#__PURE__*/ jsx("span", {
34
+ statusMessage && /*#__PURE__*/ jsx("span", {
26
35
  "data-theme-section-status-text": true,
27
- children: "Need to republish. Go to global edit and publish this section"
36
+ children: statusMessage
28
37
  })
29
38
  ]
30
39
  })
31
40
  });
32
41
  };
33
42
 
34
- export { ThemeSectionStatus };
43
+ export { ThemeSectionStatusWrapper };
@@ -252,7 +252,11 @@ const createBuilderPreviewProvider = (args, pageName, isThemeSectionEditor)=>cre
252
252
  }
253
253
  },
254
254
  getItem: (id)=>{
255
- return get().state[id];
255
+ const item = get().state[id];
256
+ return {
257
+ ...item,
258
+ rawChildrens: item?.childrens?.map((v)=>get().state[v])
259
+ };
256
260
  },
257
261
  removeItem: (id)=>{
258
262
  if (id === 'ROOT') {
@@ -5,8 +5,8 @@ import { useStore, createStore } from 'zustand';
5
5
  const ModalContext = /*#__PURE__*/ createContext(null);
6
6
  const createModalProvider = (data)=>createStore((set)=>({
7
7
  activeId: data,
8
- setModalActive: (id)=>{
9
- window?.parent?.postMessage?.(JSON.stringify({
8
+ setModalActive: (id, postMessage)=>{
9
+ postMessage && window?.parent?.postMessage?.(JSON.stringify({
10
10
  type: 'active-element',
11
11
  uid: id
12
12
  }), '*');
@@ -8,6 +8,7 @@ const SectionContext = /*#__PURE__*/ createContext(null);
8
8
  const createSectionProvider = (data)=>createStore((set, get)=>({
9
9
  data: data ?? {},
10
10
  getSection: (id)=>{
11
+ console.log('get().data', get().data);
11
12
  const section = get().data[id];
12
13
  return section ?? undefined;
13
14
  },
@@ -154,7 +154,7 @@ const getSingleColorVariable = (color)=>{
154
154
  };
155
155
  function isColor(color) {
156
156
  if (!color || typeof color !== 'string') return false;
157
- return color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent');
157
+ return color?.startsWith('#') || color?.startsWith('rgb') || color?.startsWith('hsl') || color?.startsWith('transparent') || color?.startsWith('linear-gradient');
158
158
  }
159
159
  const getGlobalColorStyle = (data)=>{
160
160
  if (!data) return {};
@@ -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 };
@@ -179,5 +179,8 @@ function getCustomPaddingSizeCSSByDevice(globalSize, device) {
179
179
  const getPaddingGlobalSize = (globalSize)=>{
180
180
  return Object.assign({}, getCustomPaddingSizeCSSByDevice(globalSize, 'desktop'), getCustomPaddingSizeCSSByDevice(globalSize, 'tablet'), getCustomPaddingSizeCSSByDevice(globalSize, 'mobile'));
181
181
  };
182
+ const getValueByDevice = (value, device)=>{
183
+ return value?.[device] === undefined ? value?.desktop === undefined ? value?.tablet : value?.desktop : value?.[device];
184
+ };
182
185
 
183
- export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault };
186
+ export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault };
@@ -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 };
@@ -16,6 +16,7 @@ const useArticlesQuery = (variables, options)=>{
16
16
  };
17
17
  const useBlogsQuery = (variables, options)=>{
18
18
  const fetcher = useFetchHandle();
19
+ //@ts-ignore
19
20
  const fetchBlogs = ()=>fetcher([
20
21
  BlogsDocument,
21
22
  variables ?? {}
package/dist/esm/index.js CHANGED
@@ -66,7 +66,7 @@ export { generateCollectionQueryKey, generateProductQueryKey, generateProductsQu
66
66
  export { composeCornerCss, composeRadius, composeRadiusResponsive, getCornerCSSFromGlobal, getCustomRadius, getRadiusCSSFromGlobal, getRadiusStyleActiveState } from './helpers/radius.js';
67
67
  export { RenderIf, composeMemo, dataStringify, props, removeUndefinedValuesFromObject, styles, template } from './helpers/render.js';
68
68
  export { composeShadowCss, getStyleShadow, getStyleShadowState, parseValueWithUnit } from './helpers/shadow.js';
69
- export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault } from './helpers/size.js';
69
+ export { composeSize, composeSizeCss, genSizeClass, getAspectRatioGlobalSize, getGlobalSizeGap, getHeightByShapeGlobalSize, getPaddingGlobalSize, getValueByDevice, getWidthByShapeGlobalSize, getWidthHeightGlobalSize, makeGlobalSize, makeGlobalSizeIcon, makeStyleWithDefault } from './helpers/size.js';
70
70
  export { composeFallbackTypographyStyle, composeFontFamilyTypographyV2, composeTypography, composeTypographyAttr, composeTypographyClassName, composeTypographyCss, composeTypographyStyle, composeTypographyV2, composeTypographyV2Css, genTypoClass } from './helpers/typography.js';
71
71
  export { useAddToCart } from './hooks/cart/use-add-to-cart.js';
72
72
  export { useCartData } from './hooks/cart/use-cart-data.js';
@@ -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';
@@ -6709,6 +6709,7 @@ type BlockEntity = {
6709
6709
  name?: string;
6710
6710
  dateModified?: string | number;
6711
6711
  childrens?: string[];
6712
+ rawChildrens?: BlockEntity[];
6712
6713
  settings?: Record<string, any>;
6713
6714
  advanced?: Record<string, any>;
6714
6715
  styles?: Record<string, any>;
@@ -6716,6 +6717,7 @@ type BlockEntity = {
6716
6717
  type?: 'component';
6717
6718
  isThemeSection?: boolean;
6718
6719
  needPublishing?: boolean;
6720
+ status?: ThemeSectionStatus$1;
6719
6721
  isShopifySection?: boolean;
6720
6722
  isShopifyVisibility?: boolean;
6721
6723
  };
@@ -6726,10 +6728,12 @@ type SectionEntity = {
6726
6728
  type: 'section';
6727
6729
  name?: string;
6728
6730
  isThemeSection?: boolean;
6731
+ status?: ThemeSectionStatus$1;
6729
6732
  needPublishing?: boolean;
6730
6733
  isShopifySection?: boolean;
6731
6734
  isShopifyVisibility?: boolean;
6732
6735
  };
6736
+ type ThemeSectionStatus$1 = 'DRAFT' | 'PUBLISHED' | 'NEED_PUBLISHING';
6733
6737
  type BuilderEntity = BlockEntity | SectionEntity;
6734
6738
  type BuilderEntityNested = Omit<BlockEntity, 'childrens'> & {
6735
6739
  childrens?: BuilderEntityNested[];
@@ -6782,6 +6786,12 @@ type SaleFunnelDiscountEdge$1 = {
6782
6786
  type ProductOffer = Maybe$1<Pick<SaleFunnelDiscountEdge$1, 'cursor'> & {
6783
6787
  node?: Maybe$1<Pick<SaleFunnelDiscount$1, 'id' | 'value' | 'type' | 'position' | 'objectBaseID' | 'objectType' | 'title' | 'valueType' | 'isEnabled'>>;
6784
6788
  }>;
6789
+ type RawChild = {
6790
+ uid: string;
6791
+ builder: Record<string, any>;
6792
+ components: Record<string, any>;
6793
+ [key: string]: any;
6794
+ };
6785
6795
 
6786
6796
  type InitComponentType<T = any> = {
6787
6797
  [K in keyof T]-?: {
@@ -7224,6 +7234,7 @@ type RangeControlType<T> = SharedControlType<T> & {
7224
7234
  disableOnChange?: boolean;
7225
7235
  useOnlyUnitInit?: boolean;
7226
7236
  hideUnit?: boolean;
7237
+ hideInput?: boolean;
7227
7238
  } & OnlyOne<{
7228
7239
  minRelated?: string;
7229
7240
  }, {
@@ -7302,11 +7313,13 @@ type Option$2<T> = {
7302
7313
  svgIcon?: string;
7303
7314
  tooltip?: string;
7304
7315
  type?: string;
7316
+ note?: string;
7305
7317
  };
7306
7318
  type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
7307
7319
  id: K;
7308
7320
  label?: string;
7309
7321
  info?: string;
7322
+ isFullWidth?: boolean;
7310
7323
  hyperlinkInfo?: HyperlinkInfo;
7311
7324
  hideOnMode?: {
7312
7325
  responsive?: boolean;
@@ -7343,6 +7356,7 @@ type Mapped$3<K, T> = NonNullable<T> extends ObjectDevices<infer U> ? {
7343
7356
  type: 'select';
7344
7357
  options: Option$2<T>[];
7345
7358
  default?: T;
7359
+ isFullWidth?: boolean;
7346
7360
  };
7347
7361
  type SelectControlType<T> = {
7348
7362
  [K in keyof T]-?: Mapped$3<K, T[K]>;
@@ -8096,6 +8110,7 @@ type ControlUI = {
8096
8110
  mobile?: boolean;
8097
8111
  };
8098
8112
  hideOnPages?: PageType[];
8113
+ itemSpacing?: 'small' | 'medium' | 'large';
8099
8114
  };
8100
8115
  isMoreSetting?: boolean;
8101
8116
  hiddenDivice?: boolean;
@@ -8124,6 +8139,7 @@ type ComponentPreset = {
8124
8139
  };
8125
8140
  components: InitComponentType[];
8126
8141
  hideTextContent?: boolean;
8142
+ flowTagComponents?: Record<string, InitComponentType[]>;
8127
8143
  };
8128
8144
 
8129
8145
  type PageContext = {
@@ -28850,7 +28866,7 @@ declare const useCollectionStore: <U>(selector: (state: ExtractState<StoreApi<Co
28850
28866
 
28851
28867
  type ModalContextProps = {
28852
28868
  activeId?: string;
28853
- setModalActive: (id?: string) => void;
28869
+ setModalActive: (id?: string, postMessage?: boolean) => void;
28854
28870
  clearModal: () => void;
28855
28871
  };
28856
28872
  type ModalProviderProps = Pick<ModalContextProps, 'activeId'> & {
@@ -35518,6 +35534,7 @@ declare const getHeightByShapeGlobalSize: (shapeByLayout?: ObjectDevices<SizeSet
35518
35534
  declare const getWidthByShapeGlobalSize: (shapeByLayout?: ObjectDevices<SizeSettingGlobal>, defaultAuto?: boolean) => Partial<Record<NameDevices$1, string>>;
35519
35535
  declare const getAspectRatioGlobalSize: (shape?: ObjectDevices<SizeSettingGlobal>) => ObjectDevices<string>;
35520
35536
  declare const getPaddingGlobalSize: (globalSize?: ObjectDevices<SizeSettingGlobal>) => React.CSSProperties;
35537
+ declare const getValueByDevice: <T>(value: any, device: NameDevices$1) => T;
35521
35538
 
35522
35539
  type TypographyClass = `gp-g-${TypographyType}`;
35523
35540
  declare const genTypoClass: (name: TypographyType) => TypographyClass;
@@ -37326,4 +37343,13 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage$1, 'id' | 'name'
37326
37343
 
37327
37344
  declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
37328
37345
 
37329
- 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, 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, 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, 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.45.2",
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.45.2",
31
+ "@gem-sdk/styles": "1.46.0-staging.8",
32
32
  "@types/classnames": "^2.3.1"
33
33
  },
34
34
  "dependencies": {