@gem-sdk/core 1.46.0-staging.13 → 1.46.0-staging.8

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 (36) hide show
  1. package/dist/cjs/components/ComponentToolbarPreview.js +1 -2
  2. package/dist/cjs/components/Render.liquid.js +7 -17
  3. package/dist/cjs/graphql/queries/articles.generated.js +1 -3
  4. package/dist/cjs/graphql/queries/blogs.generated.js +1 -3
  5. package/dist/cjs/index.js +0 -4
  6. package/dist/esm/components/ComponentToolbarPreview.js +1 -2
  7. package/dist/esm/components/Render.liquid.js +7 -17
  8. package/dist/esm/graphql/queries/articles.generated.js +1 -3
  9. package/dist/esm/graphql/queries/blogs.generated.js +1 -3
  10. package/dist/esm/index.js +0 -2
  11. package/dist/types/index.d.ts +6 -35
  12. package/package.json +1 -2
  13. package/dist/cjs/helpers/loop-component.js +0 -16
  14. package/dist/cjs/helpers/pascal-to-kebab-case.js +0 -7
  15. package/dist/cjs/helpers/remove-matching-key.js +0 -12
  16. package/dist/cjs/helpers/third-party/addAppBlockId.js +0 -20
  17. package/dist/cjs/helpers/third-party/appConfig.js +0 -45
  18. package/dist/cjs/helpers/third-party/appSetting.js +0 -77
  19. package/dist/cjs/helpers/third-party/composeAppBlockId.js +0 -11
  20. package/dist/cjs/helpers/third-party/constant.js +0 -16
  21. package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +0 -21
  22. package/dist/cjs/helpers/third-party/getAppBlockConfig.js +0 -23
  23. package/dist/cjs/helpers/third-party/getAppBlockType.js +0 -12
  24. package/dist/cjs/helpers/third-party/getAppBlocks.js +0 -41
  25. package/dist/esm/helpers/loop-component.js +0 -14
  26. package/dist/esm/helpers/pascal-to-kebab-case.js +0 -5
  27. package/dist/esm/helpers/remove-matching-key.js +0 -10
  28. package/dist/esm/helpers/third-party/addAppBlockId.js +0 -18
  29. package/dist/esm/helpers/third-party/appConfig.js +0 -38
  30. package/dist/esm/helpers/third-party/appSetting.js +0 -75
  31. package/dist/esm/helpers/third-party/composeAppBlockId.js +0 -9
  32. package/dist/esm/helpers/third-party/constant.js +0 -13
  33. package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +0 -19
  34. package/dist/esm/helpers/third-party/getAppBlockConfig.js +0 -21
  35. package/dist/esm/helpers/third-party/getAppBlockType.js +0 -10
  36. package/dist/esm/helpers/third-party/getAppBlocks.js +0 -39
@@ -59,8 +59,7 @@ const ComponentToolbarPreview = (props)=>{
59
59
  const editProductElementList = [
60
60
  'Product Title',
61
61
  'Product Description',
62
- 'Product Price',
63
- 'Product Vendor'
62
+ 'Product Price'
64
63
  ];
65
64
  const isOverToolbarPosition = (el, parent)=>{
66
65
  const parentLength = parents.length;
@@ -20,7 +20,6 @@ require('dayjs');
20
20
  var composeAdvanceStyle = require('../helpers/compose-advance-style.js');
21
21
  var convert = require('../helpers/convert.js');
22
22
  var render = require('../helpers/render.js');
23
- var cssjson = require('cssjson');
24
23
 
25
24
  const componentsRenderWithParentId = [
26
25
  'CarouselItem'
@@ -182,28 +181,19 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
182
181
  };
183
182
  }
184
183
  };
185
- const isEmptyCSS = (cssString)=>{
186
- if (!cssString) return true;
187
- const cssJSON = cssjson.toJSON(cssString);
188
- const isObjectEmpty = (obj)=>{
189
- if (typeof obj !== 'object' || obj === null) return true;
190
- return !Object.keys(obj).some((key)=>{
191
- return key === 'attributes' && Object.keys(obj[key]).length > 0 || typeof obj[key] === 'object' && !isObjectEmpty(obj[key]);
192
- });
193
- };
194
- return isObjectEmpty(cssJSON.children);
195
- };
196
184
  const RenderCustomCode = (item)=>{
197
185
  const { css, javascript, rootClassName } = item.advanced?.editorData || {};
198
186
  const replacedCSS = css?.replaceAll(rootClassName, item.uid);
199
187
  const replacedJS = javascript?.replaceAll(rootClassName, item.uid);
200
- const cssCode = render.RenderIf(!!css && !isEmptyCSS(replacedCSS), render.template`
201
- <style id="${`custom-css-${item?.uid}`}">
202
- ${replacedCSS}
203
- </style>
188
+ const cssCode = render.RenderIf(!!css, render.template`
189
+ <style
190
+ id="${`custom-css-${item?.uid}`}"
191
+ >${replacedCSS}</style>
204
192
  `);
205
193
  const jsCode = render.RenderIf(!!javascript, render.template`
206
- <script id="${`custom-js-${item?.uid}`}">
194
+ <script
195
+ id="${`custom-js-${item?.uid}`}"
196
+ >
207
197
  try {
208
198
  ${replacedJS}
209
199
  } catch(err){}
@@ -22,9 +22,7 @@ const ArticlesDocument = `
22
22
  descriptionMeta
23
23
  baseID
24
24
  platform
25
- tags {
26
- name
27
- }
25
+ tags
28
26
  isSample
29
27
  platformCreatedAt
30
28
  author
@@ -29,9 +29,7 @@ const BlogsDocument = `
29
29
  titleMeta
30
30
  descriptionMeta
31
31
  baseID
32
- tags {
33
- name
34
- }
32
+ tags
35
33
  isSample
36
34
  platformCreatedAt
37
35
  author
package/dist/cjs/index.js CHANGED
@@ -104,8 +104,6 @@ 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');
109
107
 
110
108
 
111
109
 
@@ -389,5 +387,3 @@ exports.fetchMedias = getProduct.fetchMedias;
389
387
  exports.fetchVariants = getProduct.fetchVariants;
390
388
  exports.getProduct = getProduct.getProduct;
391
389
  exports.getProductBySlug = getProductBySlug.getProductBySlug;
392
- exports.getAppBlocks = getAppBlocks.getAppBlocks;
393
- exports.addAppBlockId = addAppBlockId.addAppBlockId;
@@ -55,8 +55,7 @@ const ComponentToolbarPreview = (props)=>{
55
55
  const editProductElementList = [
56
56
  'Product Title',
57
57
  'Product Description',
58
- 'Product Price',
59
- 'Product Vendor'
58
+ 'Product Price'
60
59
  ];
61
60
  const isOverToolbarPosition = (el, parent)=>{
62
61
  const parentLength = parents.length;
@@ -16,7 +16,6 @@ import 'dayjs';
16
16
  import { composeAdvanceStyle } from '../helpers/compose-advance-style.js';
17
17
  import { baseAssetURL, isLocalEnv } from '../helpers/convert.js';
18
18
  import { RenderIf, template } from '../helpers/render.js';
19
- import { toJSON } from 'cssjson';
20
19
 
21
20
  const componentsRenderWithParentId = [
22
21
  'CarouselItem'
@@ -178,28 +177,19 @@ const Render = ({ uid, builder, components, parentId, extraFiles = {}, pageConte
178
177
  };
179
178
  }
180
179
  };
181
- const isEmptyCSS = (cssString)=>{
182
- if (!cssString) return true;
183
- const cssJSON = toJSON(cssString);
184
- const isObjectEmpty = (obj)=>{
185
- if (typeof obj !== 'object' || obj === null) return true;
186
- return !Object.keys(obj).some((key)=>{
187
- return key === 'attributes' && Object.keys(obj[key]).length > 0 || typeof obj[key] === 'object' && !isObjectEmpty(obj[key]);
188
- });
189
- };
190
- return isObjectEmpty(cssJSON.children);
191
- };
192
180
  const RenderCustomCode = (item)=>{
193
181
  const { css, javascript, rootClassName } = item.advanced?.editorData || {};
194
182
  const replacedCSS = css?.replaceAll(rootClassName, item.uid);
195
183
  const replacedJS = javascript?.replaceAll(rootClassName, item.uid);
196
- const cssCode = RenderIf(!!css && !isEmptyCSS(replacedCSS), template`
197
- <style id="${`custom-css-${item?.uid}`}">
198
- ${replacedCSS}
199
- </style>
184
+ const cssCode = RenderIf(!!css, template`
185
+ <style
186
+ id="${`custom-css-${item?.uid}`}"
187
+ >${replacedCSS}</style>
200
188
  `);
201
189
  const jsCode = RenderIf(!!javascript, template`
202
- <script id="${`custom-js-${item?.uid}`}">
190
+ <script
191
+ id="${`custom-js-${item?.uid}`}"
192
+ >
203
193
  try {
204
194
  ${replacedJS}
205
195
  } catch(err){}
@@ -20,9 +20,7 @@ const ArticlesDocument = `
20
20
  descriptionMeta
21
21
  baseID
22
22
  platform
23
- tags {
24
- name
25
- }
23
+ tags
26
24
  isSample
27
25
  platformCreatedAt
28
26
  author
@@ -27,9 +27,7 @@ const BlogsDocument = `
27
27
  titleMeta
28
28
  descriptionMeta
29
29
  baseID
30
- tags {
31
- name
32
- }
30
+ tags
33
31
  isSample
34
32
  platformCreatedAt
35
33
  author
package/dist/esm/index.js CHANGED
@@ -107,5 +107,3 @@ 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';
@@ -75,7 +75,7 @@ type Article$2 = {
75
75
  platform?: Maybe$1<ArticlePlatform$1>;
76
76
  platformCreatedAt?: Maybe$1<Scalars$2['Time']>;
77
77
  platformUpdatedAt?: Maybe$1<Scalars$2['Time']>;
78
- tags?: Maybe$1<Array<Maybe$1<Tag$1>>>;
78
+ tags: Array<Scalars$2['String']>;
79
79
  templateSuffix?: Maybe$1<Scalars$2['String']>;
80
80
  title?: Maybe$1<Scalars$2['String']>;
81
81
  titleMeta?: Maybe$1<Scalars$2['String']>;
@@ -2333,7 +2333,6 @@ type Entity = {
2333
2333
  findPublishedThemePageOnlineStoreDataByID: PublishedThemePageOnlineStoreData$1;
2334
2334
  findPublishedThemeSectionByID: PublishedThemeSection$1;
2335
2335
  findPublishedThemeStyleByID: PublishedThemeStyle$1;
2336
- findTagByID: Tag$1;
2337
2336
  };
2338
2337
  type EntityFindMetafieldByIdArgs = {
2339
2338
  id: Scalars$2['ID'];
@@ -2374,9 +2373,6 @@ type EntityFindPublishedThemeSectionByIdArgs = {
2374
2373
  type EntityFindPublishedThemeStyleByIdArgs = {
2375
2374
  id: Scalars$2['ID'];
2376
2375
  };
2377
- type EntityFindTagByIdArgs = {
2378
- id: Scalars$2['ID'];
2379
- };
2380
2376
  type Media$1 = {
2381
2377
  alt?: Maybe$1<Scalars$2['String']>;
2382
2378
  contentType?: Maybe$1<Scalars$2['String']>;
@@ -6338,12 +6334,6 @@ type StoreProperty$1 = {
6338
6334
  primaryDomain?: Maybe$1<Scalars$2['String']>;
6339
6335
  swatchesConfig: Scalars$2['String'];
6340
6336
  };
6341
- type Tag$1 = {
6342
- createdAt?: Maybe$1<Scalars$2['Time']>;
6343
- id: Scalars$2['ID'];
6344
- name?: Maybe$1<Scalars$2['String']>;
6345
- updatedAt?: Maybe$1<Scalars$2['Time']>;
6346
- };
6347
6337
  type TagType$1 = 'ARTICLE' | 'BLOG' | 'COLLECTION' | 'PRODUCT';
6348
6338
  /**
6349
6339
  * TagWhereInput is used for filtering Tag objects.
@@ -6462,7 +6452,7 @@ type VariantProductOptionWhereInput$1 = {
6462
6452
  variantIDNEQ?: InputMaybe$1<Scalars$2['ID']>;
6463
6453
  variantIDNotIn?: InputMaybe$1<Array<Scalars$2['ID']>>;
6464
6454
  };
6465
- type _Entity = Metafield$1 | Product$1 | PublishedCustomSection$1 | PublishedPageInteraction$1 | PublishedPageSection$1 | PublishedPageSectionMeta$1 | PublishedShopMeta$1 | PublishedThemePage$1 | PublishedThemePageCustomSection$1 | PublishedThemePageMeta$1 | PublishedThemePageOnlineStoreData$1 | PublishedThemeSection$1 | PublishedThemeStyle$1 | Tag$1;
6455
+ type _Entity = Metafield$1 | Product$1 | PublishedCustomSection$1 | PublishedPageInteraction$1 | PublishedPageSection$1 | PublishedPageSectionMeta$1 | PublishedShopMeta$1 | PublishedThemePage$1 | PublishedThemePageCustomSection$1 | PublishedThemePageMeta$1 | PublishedThemePageOnlineStoreData$1 | PublishedThemeSection$1 | PublishedThemeStyle$1;
6466
6456
  type _Service = {
6467
6457
  sdl?: Maybe$1<Scalars$2['String']>;
6468
6458
  };
@@ -6481,7 +6471,6 @@ type shop_EntityFindPublishedThemePageMetaByIdArgs = EntityFindPublishedThemePag
6481
6471
  type shop_EntityFindPublishedThemePageOnlineStoreDataByIdArgs = EntityFindPublishedThemePageOnlineStoreDataByIdArgs;
6482
6472
  type shop_EntityFindPublishedThemeSectionByIdArgs = EntityFindPublishedThemeSectionByIdArgs;
6483
6473
  type shop_EntityFindPublishedThemeStyleByIdArgs = EntityFindPublishedThemeStyleByIdArgs;
6484
- type shop_EntityFindTagByIdArgs = EntityFindTagByIdArgs;
6485
6474
  type shop_Query_EntitiesArgs = Query_EntitiesArgs;
6486
6475
  type shop__Entity = _Entity;
6487
6476
  type shop__Service = _Service;
@@ -6564,7 +6553,6 @@ declare namespace shop {
6564
6553
  shop_EntityFindPublishedThemePageOnlineStoreDataByIdArgs as EntityFindPublishedThemePageOnlineStoreDataByIdArgs,
6565
6554
  shop_EntityFindPublishedThemeSectionByIdArgs as EntityFindPublishedThemeSectionByIdArgs,
6566
6555
  shop_EntityFindPublishedThemeStyleByIdArgs as EntityFindPublishedThemeStyleByIdArgs,
6567
- shop_EntityFindTagByIdArgs as EntityFindTagByIdArgs,
6568
6556
  Exact$1 as Exact,
6569
6557
  InputMaybe$1 as InputMaybe,
6570
6558
  MakeMaybe$1 as MakeMaybe,
@@ -6705,7 +6693,6 @@ declare namespace shop {
6705
6693
  ShopShopify$1 as ShopShopify,
6706
6694
  ShopTokenWhereInput$1 as ShopTokenWhereInput,
6707
6695
  StoreProperty$1 as StoreProperty,
6708
- Tag$1 as Tag,
6709
6696
  TagType$1 as TagType,
6710
6697
  TagWhereInput$1 as TagWhereInput,
6711
6698
  VariantProductOptionWhereInput$1 as VariantProductOptionWhereInput,
@@ -37230,8 +37217,7 @@ type ArticlesQueryVariables = Exact$1<{
37230
37217
  type ArticlesQueryResponse = {
37231
37218
  articles?: Maybe$1<(Pick<ArticleConnection$1, 'totalCount'> & {
37232
37219
  edges: Array<(Pick<ArticleEdge$1, 'cursor'> & {
37233
- node?: Maybe$1<(Pick<Article$2, 'id' | 'title' | 'handle' | 'description' | 'templateSuffix' | 'titleMeta' | 'descriptionMeta' | 'baseID' | 'platform' | 'isSample' | 'platformCreatedAt' | 'author'> & {
37234
- tags: Array<never>;
37220
+ node?: Maybe$1<(Pick<Article$2, 'id' | 'title' | 'handle' | 'description' | 'templateSuffix' | 'titleMeta' | 'descriptionMeta' | 'baseID' | 'platform' | 'tags' | 'isSample' | 'platformCreatedAt' | 'author'> & {
37235
37221
  content?: Maybe$1<Pick<ArticleContent$1, 'excerptHtml'>>;
37236
37222
  blogs?: Maybe$1<{
37237
37223
  edges: Array<{
@@ -37260,15 +37246,9 @@ type BlogsQueryResponse = {
37260
37246
  node?: Maybe$1<(Pick<Blog$1, 'baseID' | 'description' | 'descriptionMeta' | 'handle' | 'id' | 'platform' | 'tags' | 'templateSuffix' | 'title' | 'titleMeta'> & {
37261
37247
  articles?: Maybe$1<(Pick<ArticleConnection$1, 'totalCount'> & {
37262
37248
  edges: Array<(Pick<ArticleEdge$1, 'cursor'> & {
37263
- node?: Maybe$1<(Pick<Article$2, 'id' | 'title' | 'handle' | 'description' | 'templateSuffix' | 'titleMeta' | 'descriptionMeta' | 'baseID' | 'platform' | 'isSample' | 'platformCreatedAt' | 'author'> & {
37264
- tags: Array<never>;
37249
+ node?: Maybe$1<(Pick<Article$2, 'id' | 'title' | 'handle' | 'description' | 'templateSuffix' | 'titleMeta' | 'descriptionMeta' | 'baseID' | 'tags' | 'isSample' | 'platformCreatedAt' | 'author'> & {
37265
37250
  content?: Maybe$1<Pick<ArticleContent$1, 'excerptHtml'>>;
37266
- blogs?: Maybe$1<{
37267
- edges: Array<{
37268
- node?: Maybe$1<Pick<Blog$1, 'title' | 'handle'>>;
37269
- }>;
37270
- }>;
37271
- media?: Maybe$1<Pick<Media$1, 'alt' | 'width' | 'src' | 'height'>>;
37251
+ media?: Maybe$1<Pick<Media$1, 'width' | 'src' | 'height'>>;
37272
37252
  })>;
37273
37253
  })>;
37274
37254
  })>;
@@ -37363,13 +37343,4 @@ type PublishedThemePageSelectFragment = Pick<PublishedThemePage$1, 'id' | 'name'
37363
37343
 
37364
37344
  declare const getProductBySlug: (fetcher: FetchFunc, slug?: string) => Promise<ProductSelectFragment>;
37365
37345
 
37366
- declare const getAppBlocks: (section: PublishedPageSection$1 & {
37367
- appBlocks: string;
37368
- }, currentBlock: {}, currentBlockOrder: string[]) => {
37369
- blocks: {};
37370
- block_order: string[];
37371
- };
37372
-
37373
- declare const addAppBlockId: (component: Component) => Component;
37374
-
37375
- 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 };
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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gem-sdk/core",
3
- "version": "1.46.0-staging.13",
3
+ "version": "1.46.0-staging.8",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "main": "dist/cjs/index.js",
@@ -33,7 +33,6 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "classnames": "^2.5.1",
36
- "cssjson": "2.1.3",
37
36
  "dayjs": "^1.11.11",
38
37
  "react-error-boundary": "4.0.10",
39
38
  "swr": "2.1.2",
@@ -1,16 +0,0 @@
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;
@@ -1,7 +0,0 @@
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;
@@ -1,12 +0,0 @@
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;
@@ -1,20 +0,0 @@
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;
@@ -1,45 +0,0 @@
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
- Selleasy: {
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;
@@ -1,77 +0,0 @@
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;
@@ -1,11 +0,0 @@
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;
@@ -1,16 +0,0 @@
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;
@@ -1,21 +0,0 @@
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;
@@ -1,23 +0,0 @@
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;
@@ -1,12 +0,0 @@
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;
@@ -1,41 +0,0 @@
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;
@@ -1,14 +0,0 @@
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 };
@@ -1,5 +0,0 @@
1
- const pascalToKebab = (pascalCaseString)=>{
2
- return pascalCaseString.replace(/[A-Z]/g, (match, offset)=>(offset ? '-' : '') + match.toLowerCase());
3
- };
4
-
5
- export { pascalToKebab };
@@ -1,10 +0,0 @@
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 };
@@ -1,18 +0,0 @@
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 };
@@ -1,38 +0,0 @@
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
- Selleasy: {
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 };
@@ -1,75 +0,0 @@
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 };
@@ -1,9 +0,0 @@
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 };
@@ -1,13 +0,0 @@
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 };
@@ -1,19 +0,0 @@
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 };
@@ -1,21 +0,0 @@
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 };
@@ -1,10 +0,0 @@
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 };
@@ -1,39 +0,0 @@
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 };