@websolutespa/bom-core 1.8.7 → 1.8.9
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/CHANGELOG.md +12 -0
- package/dist/index.d.ts +17 -15
- package/dist/index.js +35 -33
- package/dist/index.mjs +30 -33
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -94,13 +94,15 @@ type User = Record<string, unknown> & {
|
|
|
94
94
|
id: string;
|
|
95
95
|
email: string;
|
|
96
96
|
};
|
|
97
|
-
type UserRole = 'admin' | 'editor' | '
|
|
97
|
+
type UserRole = ('admin' | 'editor' | 'guest' | 'user') & string;
|
|
98
98
|
type UserWithRoles = User & {
|
|
99
99
|
roles: UserRole[];
|
|
100
100
|
};
|
|
101
101
|
type IEndUser = UserWithRoles & {
|
|
102
102
|
email: string;
|
|
103
103
|
consentPreferences: IConsentPreference[];
|
|
104
|
+
createdAt: string;
|
|
105
|
+
updatedAt: string;
|
|
104
106
|
};
|
|
105
107
|
|
|
106
108
|
type IAction = Record<string, unknown> & {
|
|
@@ -110,7 +112,6 @@ type IAction = Record<string, unknown> & {
|
|
|
110
112
|
consentsRevoked?: boolean;
|
|
111
113
|
consentsRevokedDate?: string | Date;
|
|
112
114
|
endUser: IEndUser;
|
|
113
|
-
loggedEndUser?: IEndUser;
|
|
114
115
|
email?: string;
|
|
115
116
|
password?: string;
|
|
116
117
|
createdAt?: string;
|
|
@@ -477,6 +478,11 @@ type IMenuCustom = Record<string, unknown> & {
|
|
|
477
478
|
type IMenuItem = IMenuCategory | IMenuGroup | IMenuLink | IMenuPage | IMenuRoute;
|
|
478
479
|
type IMenuHref = IMenuCategory | IMenuLink | IMenuPage | IMenuRoute;
|
|
479
480
|
declare function isMenuHref(item: IMenuItem): item is IMenuHref;
|
|
481
|
+
declare function isMenuCategory(item: IMenuItem): item is IMenuCategory;
|
|
482
|
+
declare function isMenuGroup(item: IMenuItem): item is IMenuGroup;
|
|
483
|
+
declare function isMenuLink(item: IMenuItem): item is IMenuLink;
|
|
484
|
+
declare function isMenuPage(item: IMenuItem): item is IMenuPage;
|
|
485
|
+
declare function isMenuRoute(item: IMenuItem): item is IMenuRoute;
|
|
480
486
|
type IMenu = {
|
|
481
487
|
id: string;
|
|
482
488
|
items: IMenuItem[];
|
|
@@ -542,12 +548,8 @@ type ILayout = {
|
|
|
542
548
|
tree?: IRouteLink;
|
|
543
549
|
};
|
|
544
550
|
|
|
545
|
-
type IUndecoratedNav
|
|
546
|
-
|
|
547
|
-
};
|
|
548
|
-
type IDecoratedNav<T> = T & {
|
|
549
|
-
nav?: IMenuPage;
|
|
550
|
-
};
|
|
551
|
+
type IUndecoratedNav = IUndecoratedMenuPage;
|
|
552
|
+
type IDecoratedNav = IMenuPage;
|
|
551
553
|
|
|
552
554
|
type Pagination = {
|
|
553
555
|
hasNextPage: boolean;
|
|
@@ -1265,12 +1267,6 @@ declare function isRelation(item: unknown): item is IPageRelation;
|
|
|
1265
1267
|
* @returns True if the item is an undecorated menu item, false otherwise.
|
|
1266
1268
|
*/
|
|
1267
1269
|
declare function isUndecoratedMenuItem(item: unknown): item is IUndecoratedMenuItem;
|
|
1268
|
-
/**
|
|
1269
|
-
* Checks if the given item is an undecorated navigation.
|
|
1270
|
-
* @param item The item to check.
|
|
1271
|
-
* @returns True if the item is an undecorated navigation, false otherwise.
|
|
1272
|
-
*/
|
|
1273
|
-
declare function isUndecoratedNav<T>(item: unknown): item is IUndecoratedNav<T>;
|
|
1274
1270
|
/**
|
|
1275
1271
|
* Checks if the given item is an undecorated menu category.
|
|
1276
1272
|
* @param item The item to check.
|
|
@@ -1283,6 +1279,12 @@ declare function isUndecoratedMenuCategory(item: unknown): item is IUndecoratedM
|
|
|
1283
1279
|
* @returns True if the item is an undecorated menu page, false otherwise.
|
|
1284
1280
|
*/
|
|
1285
1281
|
declare function isUndecoratedMenuPage(item: unknown): item is IUndecoratedMenuPage;
|
|
1282
|
+
/**
|
|
1283
|
+
* Checks if the given item is an undecorated navigation.
|
|
1284
|
+
* @param item The item to check.
|
|
1285
|
+
* @returns True if the item is an undecorated navigation, false otherwise.
|
|
1286
|
+
*/
|
|
1287
|
+
declare function isUndecoratedNav(item: unknown): item is IUndecoratedNav;
|
|
1286
1288
|
|
|
1287
1289
|
/**
|
|
1288
1290
|
* Generates a random UUID (Universally Unique Identifier) in version 4 format.
|
|
@@ -1303,4 +1305,4 @@ declare function asServerProps(props: any): any;
|
|
|
1303
1305
|
declare function awaitAll(array: any, callback: (item: any, index: number) => Promise<any>): Promise<any[]>;
|
|
1304
1306
|
declare function merge(target: any, source: any): any;
|
|
1305
1307
|
|
|
1306
|
-
export { DeepPartial, Dynamic, FetchError, FetchRequestOptions, FetchService, FindParams, FindWhereParams, IAction, IActionEmailData, IAnchor, ICategorized, ICategory, ICategoryItem, IClassName, IClassNameCollection, IClassNameValue, ICollectionDescription, IComponent, IConfig, IConsentPreference, IContextBaseParams, IContextParams, IDecoratedNav, IEmailConfig, IEndUser, IEntity, IEquatable, IFeature, IFeatureType, IImageResize, ILabel, ILayout, ILegalNotice, ILetter, ILocale, ILocaleId, ILocalizable, ILocalized, ILocalizedString, IMarket, IMedia, IMediaImage, IMediaInfo, IMediaJson, IMediaPdf, IMediaType, IMediaVideo, IMemoryStore, IMenu, IMenuBase, IMenuCategory, IMenuCustom, IMenuGroup, IMenuHref, IMenuItem, IMenuLink, IMenuPage, IMenuRoute, INamedEntity, IOption, IOverride, IOverrideReturnValue, IOverrideValue, IPackages, IPage, IPageItem, IPageRelation, IPageRelationResult, IPageUnresolvedRelation, IPagedResult, IPaginationResult, IPartial, IPreference, IPrettify, IQuerable, IRedirect, IRoute, IRouteCanonical, IRouteLink, IRouteParams, ISchema, ISerializedCollection, ISerializedStore, IServerSideContext, IServerSideSplatContext, IStaticContext, IStore, ITemplate, ITitledEntity, IUndecoratedMenu, IUndecoratedMenuBase, IUndecoratedMenuCategory, IUndecoratedMenuCustom, IUndecoratedMenuGroup, IUndecoratedMenuItem, IUndecoratedMenuLink, IUndecoratedMenuPage, IUndecoratedNav, ImageStrategy, Json, JsonService, LiteralUnion, Logger, LoggerLevel, MenuCategoryStrategy, NextApiRequestCookies, Operator, PageProps, Pagination, PreviewData, Primitive, QueryParams, RedirectReason, RequireAtLeastOne, RouteStrategy, SchemaType, ServerSidePropsContext, StaticPropsContext, User, UserRole, UserWithRoles, ValueOf, Where, WhereAndOr, WhereBase, WhereField, arrayShuffle, asCategoryId, asEntityId, asEquatable, asEquatableNumber, asEquatableString, asServerProps, asSortedOptions, awaitAll, base64ToString, camelToSnakeCase, cloneItem, collectFeatureTypes, collectFeatureTypes__, collectOptions, collectRoutes, consoleWarn, decryptImageResize, deepMerge, defaultLocale, defaultMarket, eachCategorized, eachMarketLocale, encryptImageToken, enumToList, findCategoryInCategories, findChildCategories, findRouteOfCategory, findRoutesOfCategory, getCategorySegments, getCategorySegmentsByCategory, getClassNames, getCollectionDescription, getEnv, getHost, getIsDevelopment, getIsProduction, getOrigin, getParentCategoriesById, getParentCategory, getProto, getRootCategory, getRouteHref, httpDelete, httpFetch, httpGet, httpPatch, httpPost, httpPut, isArray, isBrowser, isDevelopment, isEntity, isEquatable, isHeaders, isIncomingHttpHeaders, isLocalizedString, isMediaImage, isMediaJson, isMediaPdf, isMediaVideo, isMenuHref, isNotNullString, isNumber, isObject, isProduction, isPromise, isRelation, isReservedCollectionDescription, isStage, isString, isUndecoratedMenuCategory, isUndecoratedMenuItem, isUndecoratedMenuPage, isUndecoratedNav, isUnresolvedRelation, isValidCollectionDescription, isValidString, localize, localizeItem, localizeValue, localizedToString, merge, pascalCaseToCamelCase, pascalCaseToCharCase, pascalCaseToKebabCase, pascalCaseToSnakeCase, qsDeserialize, qsDeserializeRaw, qsSerialize, qsSerializeRaw, resolveMediaType, stringToBase64, toCamelCase, toCharCase, toDisplayName, toFindParams, toKebabCase, toPascalCase, toPluralName, toSnakeCase, toTitleCase, toValidCollectionName, unknownCaseToPascalCase, uuidv4, withSchema };
|
|
1308
|
+
export { DeepPartial, Dynamic, FetchError, FetchRequestOptions, FetchService, FindParams, FindWhereParams, IAction, IActionEmailData, IAnchor, ICategorized, ICategory, ICategoryItem, IClassName, IClassNameCollection, IClassNameValue, ICollectionDescription, IComponent, IConfig, IConsentPreference, IContextBaseParams, IContextParams, IDecoratedNav, IEmailConfig, IEndUser, IEntity, IEquatable, IFeature, IFeatureType, IImageResize, ILabel, ILayout, ILegalNotice, ILetter, ILocale, ILocaleId, ILocalizable, ILocalized, ILocalizedString, IMarket, IMedia, IMediaImage, IMediaInfo, IMediaJson, IMediaPdf, IMediaType, IMediaVideo, IMemoryStore, IMenu, IMenuBase, IMenuCategory, IMenuCustom, IMenuGroup, IMenuHref, IMenuItem, IMenuLink, IMenuPage, IMenuRoute, INamedEntity, IOption, IOverride, IOverrideReturnValue, IOverrideValue, IPackages, IPage, IPageItem, IPageRelation, IPageRelationResult, IPageUnresolvedRelation, IPagedResult, IPaginationResult, IPartial, IPreference, IPrettify, IQuerable, IRedirect, IRoute, IRouteCanonical, IRouteLink, IRouteParams, ISchema, ISerializedCollection, ISerializedStore, IServerSideContext, IServerSideSplatContext, IStaticContext, IStore, ITemplate, ITitledEntity, IUndecoratedMenu, IUndecoratedMenuBase, IUndecoratedMenuCategory, IUndecoratedMenuCustom, IUndecoratedMenuGroup, IUndecoratedMenuItem, IUndecoratedMenuLink, IUndecoratedMenuPage, IUndecoratedNav, ImageStrategy, Json, JsonService, LiteralUnion, Logger, LoggerLevel, MenuCategoryStrategy, NextApiRequestCookies, Operator, PageProps, Pagination, PreviewData, Primitive, QueryParams, RedirectReason, RequireAtLeastOne, RouteStrategy, SchemaType, ServerSidePropsContext, StaticPropsContext, User, UserRole, UserWithRoles, ValueOf, Where, WhereAndOr, WhereBase, WhereField, arrayShuffle, asCategoryId, asEntityId, asEquatable, asEquatableNumber, asEquatableString, asServerProps, asSortedOptions, awaitAll, base64ToString, camelToSnakeCase, cloneItem, collectFeatureTypes, collectFeatureTypes__, collectOptions, collectRoutes, consoleWarn, decryptImageResize, deepMerge, defaultLocale, defaultMarket, eachCategorized, eachMarketLocale, encryptImageToken, enumToList, findCategoryInCategories, findChildCategories, findRouteOfCategory, findRoutesOfCategory, getCategorySegments, getCategorySegmentsByCategory, getClassNames, getCollectionDescription, getEnv, getHost, getIsDevelopment, getIsProduction, getOrigin, getParentCategoriesById, getParentCategory, getProto, getRootCategory, getRouteHref, httpDelete, httpFetch, httpGet, httpPatch, httpPost, httpPut, isArray, isBrowser, isDevelopment, isEntity, isEquatable, isHeaders, isIncomingHttpHeaders, isLocalizedString, isMediaImage, isMediaJson, isMediaPdf, isMediaVideo, isMenuCategory, isMenuGroup, isMenuHref, isMenuLink, isMenuPage, isMenuRoute, isNotNullString, isNumber, isObject, isProduction, isPromise, isRelation, isReservedCollectionDescription, isStage, isString, isUndecoratedMenuCategory, isUndecoratedMenuItem, isUndecoratedMenuPage, isUndecoratedNav, isUnresolvedRelation, isValidCollectionDescription, isValidString, localize, localizeItem, localizeValue, localizedToString, merge, pascalCaseToCamelCase, pascalCaseToCharCase, pascalCaseToKebabCase, pascalCaseToSnakeCase, qsDeserialize, qsDeserializeRaw, qsSerialize, qsSerializeRaw, resolveMediaType, stringToBase64, toCamelCase, toCharCase, toDisplayName, toFindParams, toKebabCase, toPascalCase, toPluralName, toSnakeCase, toTitleCase, toValidCollectionName, unknownCaseToPascalCase, uuidv4, withSchema };
|
package/dist/index.js
CHANGED
|
@@ -98,7 +98,12 @@ __export(src_exports, {
|
|
|
98
98
|
isMediaJson: () => isMediaJson,
|
|
99
99
|
isMediaPdf: () => isMediaPdf,
|
|
100
100
|
isMediaVideo: () => isMediaVideo,
|
|
101
|
+
isMenuCategory: () => isMenuCategory,
|
|
102
|
+
isMenuGroup: () => isMenuGroup,
|
|
101
103
|
isMenuHref: () => isMenuHref,
|
|
104
|
+
isMenuLink: () => isMenuLink,
|
|
105
|
+
isMenuPage: () => isMenuPage,
|
|
106
|
+
isMenuRoute: () => isMenuRoute,
|
|
102
107
|
isNotNullString: () => isNotNullString,
|
|
103
108
|
isNumber: () => isNumber,
|
|
104
109
|
isObject: () => isObject,
|
|
@@ -188,15 +193,15 @@ function isRelation(item) {
|
|
|
188
193
|
function isUndecoratedMenuItem(item) {
|
|
189
194
|
return isObject(item) && (item.type === "category" && isEquatable(item.category) || item.type === "page" && isEquatable(item.page.value));
|
|
190
195
|
}
|
|
191
|
-
function isUndecoratedNav(item) {
|
|
192
|
-
return isObject(item) && isUndecoratedMenuPage(item.nav);
|
|
193
|
-
}
|
|
194
196
|
function isUndecoratedMenuCategory(item) {
|
|
195
197
|
return isObject(item) && item.type === "category" && isNotNullString(item.category) && item.id === void 0 && item.href === void 0;
|
|
196
198
|
}
|
|
197
199
|
function isUndecoratedMenuPage(item) {
|
|
198
200
|
return isObject(item) && item.type === "page" && isObject(item.page) && isNotNullString(item.page.relationTo) && isEquatable(item.page.value);
|
|
199
201
|
}
|
|
202
|
+
function isUndecoratedNav(item) {
|
|
203
|
+
return isUndecoratedMenuPage(item);
|
|
204
|
+
}
|
|
200
205
|
|
|
201
206
|
// src/utils/asEquatable.ts
|
|
202
207
|
function asEquatable(value) {
|
|
@@ -725,7 +730,7 @@ async function httpDelete(url, options = {}) {
|
|
|
725
730
|
|
|
726
731
|
// src/image/image.ts
|
|
727
732
|
function getSecret() {
|
|
728
|
-
return process.env.IMAGE_SECRET || "
|
|
733
|
+
return process.env.IMAGE_SECRET || "IMAGE_SECRET";
|
|
729
734
|
}
|
|
730
735
|
function textToArrayBuffer_(text) {
|
|
731
736
|
const encoder = new TextEncoder();
|
|
@@ -1399,43 +1404,20 @@ function collectRoutes(store, categories, markets, locales, medias) {
|
|
|
1399
1404
|
if (Boolean(item.isDefault) === false) {
|
|
1400
1405
|
slugs.push({ slug: item.slug });
|
|
1401
1406
|
}
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
const title = localize(item.title, defaultMarketLocale);
|
|
1407
|
-
const pickedProps = getPickedProps(item);
|
|
1408
|
-
const route = {
|
|
1409
|
-
...pickedProps,
|
|
1410
|
-
resolvedCategory: rootCategory.id,
|
|
1411
|
-
id: "/",
|
|
1412
|
-
market: defaultMarket2.id,
|
|
1413
|
-
locale: defaultMarketLocale,
|
|
1414
|
-
page: item.id,
|
|
1415
|
-
schema: key,
|
|
1416
|
-
title
|
|
1417
|
-
};
|
|
1418
|
-
const mediaId = typeof item.media === "string" ? item.media : void 0;
|
|
1419
|
-
if (Array.isArray(medias) && mediaId) {
|
|
1420
|
-
const media = item.media && medias.find((x) => x.id === mediaId);
|
|
1421
|
-
if (media) {
|
|
1422
|
-
route.media = media;
|
|
1423
|
-
}
|
|
1424
|
-
}
|
|
1425
|
-
routes.push(route);
|
|
1426
|
-
}
|
|
1407
|
+
const defaultLocale2 = locales.find((x) => x.isDefault) || locales[0];
|
|
1408
|
+
const defaultMarket2 = markets.find((x) => x.isDefault) || markets[0];
|
|
1409
|
+
const defaultMarketLocale = defaultMarket2 && defaultMarket2.defaultLanguage ? asEntityId(defaultMarket2.defaultLanguage) : defaultLocale2.id;
|
|
1410
|
+
const isRootCategory = rootCategory && item.category === rootCategory.id && item.isDefault;
|
|
1427
1411
|
eachMarketLocale(markets, locales, (market, locale, markets2, locales2) => {
|
|
1428
1412
|
if (!item.markets || item.markets.includes(market.id)) {
|
|
1429
1413
|
const title = localize(item.title, locale.id);
|
|
1430
1414
|
const id = getRouteHref(slugs, market, locale, markets2, locales2);
|
|
1431
|
-
|
|
1432
|
-
return;
|
|
1433
|
-
}
|
|
1415
|
+
const isDefaultRootCategory = isRootCategory && market.id === defaultMarket2.id && locale.id === defaultMarketLocale;
|
|
1434
1416
|
const pickedProps = getPickedProps(item);
|
|
1435
1417
|
const route = {
|
|
1436
1418
|
...pickedProps,
|
|
1437
1419
|
resolvedCategory: visibleCategory.id,
|
|
1438
|
-
id,
|
|
1420
|
+
id: isDefaultRootCategory ? "/" : id,
|
|
1439
1421
|
locale: locale.id,
|
|
1440
1422
|
market: market.id,
|
|
1441
1423
|
page: item.id,
|
|
@@ -1583,6 +1565,21 @@ function isMediaPdf(media) {
|
|
|
1583
1565
|
function isMenuHref(item) {
|
|
1584
1566
|
return ["category", "link", "page", "route"].includes(item.type);
|
|
1585
1567
|
}
|
|
1568
|
+
function isMenuCategory(item) {
|
|
1569
|
+
return item.type === "category";
|
|
1570
|
+
}
|
|
1571
|
+
function isMenuGroup(item) {
|
|
1572
|
+
return item.type === "group";
|
|
1573
|
+
}
|
|
1574
|
+
function isMenuLink(item) {
|
|
1575
|
+
return item.type === "link";
|
|
1576
|
+
}
|
|
1577
|
+
function isMenuPage(item) {
|
|
1578
|
+
return item.type === "page";
|
|
1579
|
+
}
|
|
1580
|
+
function isMenuRoute(item) {
|
|
1581
|
+
return item.type === "route";
|
|
1582
|
+
}
|
|
1586
1583
|
var MenuCategoryStrategy = /* @__PURE__ */ ((MenuCategoryStrategy2) => {
|
|
1587
1584
|
MenuCategoryStrategy2["Default"] = "default";
|
|
1588
1585
|
MenuCategoryStrategy2["ExcludeHidden"] = "exclude-hidden";
|
|
@@ -1677,7 +1674,12 @@ var RedirectReason = /* @__PURE__ */ ((RedirectReason2) => {
|
|
|
1677
1674
|
isMediaJson,
|
|
1678
1675
|
isMediaPdf,
|
|
1679
1676
|
isMediaVideo,
|
|
1677
|
+
isMenuCategory,
|
|
1678
|
+
isMenuGroup,
|
|
1680
1679
|
isMenuHref,
|
|
1680
|
+
isMenuLink,
|
|
1681
|
+
isMenuPage,
|
|
1682
|
+
isMenuRoute,
|
|
1681
1683
|
isNotNullString,
|
|
1682
1684
|
isNumber,
|
|
1683
1685
|
isObject,
|
package/dist/index.mjs
CHANGED
|
@@ -40,15 +40,15 @@ function isRelation(item) {
|
|
|
40
40
|
function isUndecoratedMenuItem(item) {
|
|
41
41
|
return isObject(item) && (item.type === "category" && isEquatable(item.category) || item.type === "page" && isEquatable(item.page.value));
|
|
42
42
|
}
|
|
43
|
-
function isUndecoratedNav(item) {
|
|
44
|
-
return isObject(item) && isUndecoratedMenuPage(item.nav);
|
|
45
|
-
}
|
|
46
43
|
function isUndecoratedMenuCategory(item) {
|
|
47
44
|
return isObject(item) && item.type === "category" && isNotNullString(item.category) && item.id === void 0 && item.href === void 0;
|
|
48
45
|
}
|
|
49
46
|
function isUndecoratedMenuPage(item) {
|
|
50
47
|
return isObject(item) && item.type === "page" && isObject(item.page) && isNotNullString(item.page.relationTo) && isEquatable(item.page.value);
|
|
51
48
|
}
|
|
49
|
+
function isUndecoratedNav(item) {
|
|
50
|
+
return isUndecoratedMenuPage(item);
|
|
51
|
+
}
|
|
52
52
|
|
|
53
53
|
// src/utils/asEquatable.ts
|
|
54
54
|
function asEquatable(value) {
|
|
@@ -577,7 +577,7 @@ async function httpDelete(url, options = {}) {
|
|
|
577
577
|
|
|
578
578
|
// src/image/image.ts
|
|
579
579
|
function getSecret() {
|
|
580
|
-
return process.env.IMAGE_SECRET || "
|
|
580
|
+
return process.env.IMAGE_SECRET || "IMAGE_SECRET";
|
|
581
581
|
}
|
|
582
582
|
function textToArrayBuffer_(text) {
|
|
583
583
|
const encoder = new TextEncoder();
|
|
@@ -1251,43 +1251,20 @@ function collectRoutes(store, categories, markets, locales, medias) {
|
|
|
1251
1251
|
if (Boolean(item.isDefault) === false) {
|
|
1252
1252
|
slugs.push({ slug: item.slug });
|
|
1253
1253
|
}
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
const title = localize(item.title, defaultMarketLocale);
|
|
1259
|
-
const pickedProps = getPickedProps(item);
|
|
1260
|
-
const route = {
|
|
1261
|
-
...pickedProps,
|
|
1262
|
-
resolvedCategory: rootCategory.id,
|
|
1263
|
-
id: "/",
|
|
1264
|
-
market: defaultMarket2.id,
|
|
1265
|
-
locale: defaultMarketLocale,
|
|
1266
|
-
page: item.id,
|
|
1267
|
-
schema: key,
|
|
1268
|
-
title
|
|
1269
|
-
};
|
|
1270
|
-
const mediaId = typeof item.media === "string" ? item.media : void 0;
|
|
1271
|
-
if (Array.isArray(medias) && mediaId) {
|
|
1272
|
-
const media = item.media && medias.find((x) => x.id === mediaId);
|
|
1273
|
-
if (media) {
|
|
1274
|
-
route.media = media;
|
|
1275
|
-
}
|
|
1276
|
-
}
|
|
1277
|
-
routes.push(route);
|
|
1278
|
-
}
|
|
1254
|
+
const defaultLocale2 = locales.find((x) => x.isDefault) || locales[0];
|
|
1255
|
+
const defaultMarket2 = markets.find((x) => x.isDefault) || markets[0];
|
|
1256
|
+
const defaultMarketLocale = defaultMarket2 && defaultMarket2.defaultLanguage ? asEntityId(defaultMarket2.defaultLanguage) : defaultLocale2.id;
|
|
1257
|
+
const isRootCategory = rootCategory && item.category === rootCategory.id && item.isDefault;
|
|
1279
1258
|
eachMarketLocale(markets, locales, (market, locale, markets2, locales2) => {
|
|
1280
1259
|
if (!item.markets || item.markets.includes(market.id)) {
|
|
1281
1260
|
const title = localize(item.title, locale.id);
|
|
1282
1261
|
const id = getRouteHref(slugs, market, locale, markets2, locales2);
|
|
1283
|
-
|
|
1284
|
-
return;
|
|
1285
|
-
}
|
|
1262
|
+
const isDefaultRootCategory = isRootCategory && market.id === defaultMarket2.id && locale.id === defaultMarketLocale;
|
|
1286
1263
|
const pickedProps = getPickedProps(item);
|
|
1287
1264
|
const route = {
|
|
1288
1265
|
...pickedProps,
|
|
1289
1266
|
resolvedCategory: visibleCategory.id,
|
|
1290
|
-
id,
|
|
1267
|
+
id: isDefaultRootCategory ? "/" : id,
|
|
1291
1268
|
locale: locale.id,
|
|
1292
1269
|
market: market.id,
|
|
1293
1270
|
page: item.id,
|
|
@@ -1435,6 +1412,21 @@ function isMediaPdf(media) {
|
|
|
1435
1412
|
function isMenuHref(item) {
|
|
1436
1413
|
return ["category", "link", "page", "route"].includes(item.type);
|
|
1437
1414
|
}
|
|
1415
|
+
function isMenuCategory(item) {
|
|
1416
|
+
return item.type === "category";
|
|
1417
|
+
}
|
|
1418
|
+
function isMenuGroup(item) {
|
|
1419
|
+
return item.type === "group";
|
|
1420
|
+
}
|
|
1421
|
+
function isMenuLink(item) {
|
|
1422
|
+
return item.type === "link";
|
|
1423
|
+
}
|
|
1424
|
+
function isMenuPage(item) {
|
|
1425
|
+
return item.type === "page";
|
|
1426
|
+
}
|
|
1427
|
+
function isMenuRoute(item) {
|
|
1428
|
+
return item.type === "route";
|
|
1429
|
+
}
|
|
1438
1430
|
var MenuCategoryStrategy = /* @__PURE__ */ ((MenuCategoryStrategy2) => {
|
|
1439
1431
|
MenuCategoryStrategy2["Default"] = "default";
|
|
1440
1432
|
MenuCategoryStrategy2["ExcludeHidden"] = "exclude-hidden";
|
|
@@ -1528,7 +1520,12 @@ export {
|
|
|
1528
1520
|
isMediaJson,
|
|
1529
1521
|
isMediaPdf,
|
|
1530
1522
|
isMediaVideo,
|
|
1523
|
+
isMenuCategory,
|
|
1524
|
+
isMenuGroup,
|
|
1531
1525
|
isMenuHref,
|
|
1526
|
+
isMenuLink,
|
|
1527
|
+
isMenuPage,
|
|
1528
|
+
isMenuRoute,
|
|
1532
1529
|
isNotNullString,
|
|
1533
1530
|
isNumber,
|
|
1534
1531
|
isObject,
|