@fluid-app/portal-sdk 0.1.454 → 0.1.455

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/index.mjs CHANGED
@@ -764,16 +764,23 @@ function getLastVisitedTab(appDefinitionId, topLevelSlug) {
764
764
  //#endregion
765
765
  //#region ../core/src/navigation/navigation-utils.ts
766
766
  /**
767
+ * True when `normalizedRoute` is the section's slug or a descendant of it, so a
768
+ * tab stays selected while drilling into its sub-routes (e.g. `shop` stays
769
+ * active on a product detail at `shop/123`). The trailing "/" keeps the match
770
+ * on a path boundary so `shop` does not match an unrelated `shopping` route.
771
+ */
772
+ function routeMatchesSection(normalizedRoute, slug) {
773
+ const normalizedSlug = normalizeSlug(slug);
774
+ if (!normalizedSlug) return false;
775
+ return normalizedRoute === normalizedSlug || normalizedRoute.startsWith(`${normalizedSlug}/`);
776
+ }
777
+ /**
767
778
  * Helper function to determine if the current route is within a top-level section
768
779
  */
769
780
  function isInSection(topLevelItem, currentRoute) {
770
781
  const normalizedCurrentRoute = normalizeSlug(currentRoute);
771
- if ((!topLevelItem.children || topLevelItem.children.length <= 0) && topLevelItem.slug) {
772
- if (normalizeSlug(topLevelItem.slug) === normalizedCurrentRoute) return true;
773
- } else return topLevelItem.children.some((child) => {
774
- return normalizeSlug(child.slug) === normalizedCurrentRoute;
775
- });
776
- return false;
782
+ if (topLevelItem.children && topLevelItem.children.length > 0) return topLevelItem.children.some((child) => routeMatchesSection(normalizedCurrentRoute, child.slug));
783
+ return routeMatchesSection(normalizedCurrentRoute, topLevelItem.slug);
777
784
  }
778
785
  /**
779
786
  * Get the target slug when clicking a top-level navigation item
@@ -1515,14 +1522,14 @@ function resolveMemberTypePage(registry, memberTypeSlug, currentSlug, baseSlug)
1515
1522
  }
1516
1523
  //#endregion
1517
1524
  //#region src/shell/system-screen-map.ts
1518
- const ProfileScreen$1 = lazy(() => import("./ProfileScreen-LtvHt0SJ.mjs").then((m) => ({ default: m.ProfileScreen })));
1519
- const OrdersScreen$1 = lazy(() => import("./OrdersScreen-Dl38EYap.mjs").then((m) => ({ default: m.OrdersScreen })));
1520
- const SubscriptionsScreen$1 = lazy(() => import("./SubscriptionsScreen-DXewLpHS.mjs").then((m) => ({ default: m.SubscriptionsScreen })));
1521
- const MessagingScreen$1 = lazy(() => import("./MessagingScreen-C7I7XHfu.mjs").then((m) => ({ default: m.MessagingScreen })));
1525
+ const ProfileScreen$1 = lazy(() => import("./ProfileScreen-CbYASEr9.mjs").then((m) => ({ default: m.ProfileScreen })));
1526
+ const OrdersScreen$1 = lazy(() => import("./OrdersScreen-DMlrdteQ.mjs").then((m) => ({ default: m.OrdersScreen })));
1527
+ const SubscriptionsScreen$1 = lazy(() => import("./SubscriptionsScreen-CBIjEFKA.mjs").then((m) => ({ default: m.SubscriptionsScreen })));
1528
+ const MessagingScreen$1 = lazy(() => import("./MessagingScreen-BG6clVDQ.mjs").then((m) => ({ default: m.MessagingScreen })));
1522
1529
  const ContactsScreen$1 = lazy(() => import("./ContactsScreen-DhMQm4w2.mjs").then((n) => n.n).then((m) => ({ default: m.ContactsScreen })));
1523
- const ShopScreen$1 = lazy(() => import("./ShopScreen-B335EpgE.mjs").then((m) => ({ default: m.ShopScreen })));
1530
+ const ShopScreen$1 = lazy(() => import("./ShopScreen-1vtAE4X7.mjs").then((m) => ({ default: m.ShopScreen })));
1524
1531
  const CustomersScreen$1 = lazy(() => import("./CustomersScreen-B_dmvOqk.mjs").then((n) => n.n).then((m) => ({ default: m.CustomersScreen })));
1525
- const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-CRTLiIps.mjs").then((m) => ({ default: m.ShareablesScreen })));
1532
+ const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-u6O-4LI4.mjs").then((m) => ({ default: m.ShareablesScreen })));
1526
1533
  const MySiteScreen$1 = lazy(() => import("./MySiteScreen-DVkGc2_9.mjs").then((n) => n.n).then((m) => ({ default: m.MySiteScreen })));
1527
1534
  const AppDownloadScreen = lazy(() => import("./AppDownloadScreen-OiFZo-I_.mjs").then((n) => n.t).then((m) => ({ default: m.AppDownloadScreen })));
1528
1535
  const SYSTEM_SLUG_SCREEN_MAP = {
@@ -3428,15 +3435,15 @@ const CORE_PAGE_IDS = {
3428
3435
  //#endregion
3429
3436
  //#region src/screens/index.ts
3430
3437
  const screenPropertySchemas = {
3431
- ProfileScreen: () => import("./ProfileScreen-LtvHt0SJ.mjs").then((m) => m.profileScreenPropertySchema),
3432
- MessagingScreen: () => import("./MessagingScreen-C7I7XHfu.mjs").then((m) => m.messagingScreenPropertySchema),
3438
+ ProfileScreen: () => import("./ProfileScreen-CbYASEr9.mjs").then((m) => m.profileScreenPropertySchema),
3439
+ MessagingScreen: () => import("./MessagingScreen-BG6clVDQ.mjs").then((m) => m.messagingScreenPropertySchema),
3433
3440
  ContactsScreen: () => import("./ContactsScreen-DhMQm4w2.mjs").then((n) => n.n).then((m) => m.contactsScreenPropertySchema),
3434
- OrdersScreen: () => import("./OrdersScreen-Dl38EYap.mjs").then((m) => m.ordersScreenPropertySchema),
3435
- SubscriptionsScreen: () => import("./SubscriptionsScreen-DXewLpHS.mjs").then((m) => m.subscriptionsScreenPropertySchema),
3441
+ OrdersScreen: () => import("./OrdersScreen-DMlrdteQ.mjs").then((m) => m.ordersScreenPropertySchema),
3442
+ SubscriptionsScreen: () => import("./SubscriptionsScreen-CBIjEFKA.mjs").then((m) => m.subscriptionsScreenPropertySchema),
3436
3443
  CustomersScreen: () => import("./CustomersScreen-B_dmvOqk.mjs").then((n) => n.n).then((m) => m.customersScreenPropertySchema),
3437
3444
  MySiteScreen: () => import("./MySiteScreen-DVkGc2_9.mjs").then((n) => n.n).then((m) => m.mySiteScreenPropertySchema),
3438
- ShareablesScreen: () => import("./ShareablesScreen-CRTLiIps.mjs").then((m) => m.shareablesScreenPropertySchema),
3439
- ShopScreen: () => import("./ShopScreen-B335EpgE.mjs").then((m) => m.shopScreenPropertySchema),
3445
+ ShareablesScreen: () => import("./ShareablesScreen-u6O-4LI4.mjs").then((m) => m.shareablesScreenPropertySchema),
3446
+ ShopScreen: () => import("./ShopScreen-1vtAE4X7.mjs").then((m) => m.shopScreenPropertySchema),
3440
3447
  AppDownloadScreen: () => import("./AppDownloadScreen-OiFZo-I_.mjs").then((n) => n.t).then((m) => m.appDownloadScreenPropertySchema)
3441
3448
  };
3442
3449
  /**