@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.
- package/dist/cjs/components/ComponentToolbarPreview.js +1 -2
- package/dist/cjs/components/Render.liquid.js +7 -17
- package/dist/cjs/graphql/queries/articles.generated.js +1 -3
- package/dist/cjs/graphql/queries/blogs.generated.js +1 -3
- package/dist/cjs/index.js +0 -4
- package/dist/esm/components/ComponentToolbarPreview.js +1 -2
- package/dist/esm/components/Render.liquid.js +7 -17
- package/dist/esm/graphql/queries/articles.generated.js +1 -3
- package/dist/esm/graphql/queries/blogs.generated.js +1 -3
- package/dist/esm/index.js +0 -2
- package/dist/types/index.d.ts +6 -35
- package/package.json +1 -2
- package/dist/cjs/helpers/loop-component.js +0 -16
- package/dist/cjs/helpers/pascal-to-kebab-case.js +0 -7
- package/dist/cjs/helpers/remove-matching-key.js +0 -12
- package/dist/cjs/helpers/third-party/addAppBlockId.js +0 -20
- package/dist/cjs/helpers/third-party/appConfig.js +0 -45
- package/dist/cjs/helpers/third-party/appSetting.js +0 -77
- package/dist/cjs/helpers/third-party/composeAppBlockId.js +0 -11
- package/dist/cjs/helpers/third-party/constant.js +0 -16
- package/dist/cjs/helpers/third-party/generateAppBlockConfigs.js +0 -21
- package/dist/cjs/helpers/third-party/getAppBlockConfig.js +0 -23
- package/dist/cjs/helpers/third-party/getAppBlockType.js +0 -12
- package/dist/cjs/helpers/third-party/getAppBlocks.js +0 -41
- package/dist/esm/helpers/loop-component.js +0 -14
- package/dist/esm/helpers/pascal-to-kebab-case.js +0 -5
- package/dist/esm/helpers/remove-matching-key.js +0 -10
- package/dist/esm/helpers/third-party/addAppBlockId.js +0 -18
- package/dist/esm/helpers/third-party/appConfig.js +0 -38
- package/dist/esm/helpers/third-party/appSetting.js +0 -75
- package/dist/esm/helpers/third-party/composeAppBlockId.js +0 -9
- package/dist/esm/helpers/third-party/constant.js +0 -13
- package/dist/esm/helpers/third-party/generateAppBlockConfigs.js +0 -19
- package/dist/esm/helpers/third-party/getAppBlockConfig.js +0 -21
- package/dist/esm/helpers/third-party/getAppBlockType.js +0 -10
- 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
|
|
201
|
-
<style
|
|
202
|
-
${
|
|
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
|
|
194
|
+
<script
|
|
195
|
+
id="${`custom-js-${item?.uid}`}"
|
|
196
|
+
>
|
|
207
197
|
try {
|
|
208
198
|
${replacedJS}
|
|
209
199
|
} catch(err){}
|
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
|
|
197
|
-
<style
|
|
198
|
-
${
|
|
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
|
|
190
|
+
<script
|
|
191
|
+
id="${`custom-js-${item?.uid}`}"
|
|
192
|
+
>
|
|
203
193
|
try {
|
|
204
194
|
${replacedJS}
|
|
205
195
|
} catch(err){}
|
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';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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' | '
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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,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,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 };
|