@fluid-app/portal-sdk 0.1.178 → 0.1.180

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 (32) hide show
  1. package/dist/{FluidProvider-TKGU3gSm.mjs → FluidProvider-Bjlw3uIJ.mjs} +54 -84
  2. package/dist/FluidProvider-Bjlw3uIJ.mjs.map +1 -0
  3. package/dist/{FluidProvider-CIuinUdw.cjs → FluidProvider-XHTzXe-E.cjs} +53 -89
  4. package/dist/FluidProvider-XHTzXe-E.cjs.map +1 -0
  5. package/dist/{MessagingScreen-CwMR1WJG.cjs → MessagingScreen-BcpCwuYL.cjs} +2 -2
  6. package/dist/{MessagingScreen-CwMR1WJG.cjs.map → MessagingScreen-BcpCwuYL.cjs.map} +1 -1
  7. package/dist/{MessagingScreen-BUC8Fwaz.mjs → MessagingScreen-CxWUaN04.mjs} +2 -2
  8. package/dist/{MessagingScreen-BUC8Fwaz.mjs.map → MessagingScreen-CxWUaN04.mjs.map} +1 -1
  9. package/dist/{MessagingScreen-XzPsvsXP.cjs → MessagingScreen-D35g9qBs.cjs} +2 -2
  10. package/dist/{ProductsScreen-C0KlCDt_.mjs → ProductsScreen-08MJy-SJ.mjs} +2 -0
  11. package/dist/{ProfileScreen-De6Xdkr4.cjs → ProfileScreen-C-8qFmXB.cjs} +2 -2
  12. package/dist/{ProfileScreen-De6Xdkr4.cjs.map → ProfileScreen-C-8qFmXB.cjs.map} +1 -1
  13. package/dist/{ProfileScreen-BuDwsZ3f.mjs → ProfileScreen-CQJyNrls.mjs} +2 -2
  14. package/dist/{ProfileScreen-BuDwsZ3f.mjs.map → ProfileScreen-CQJyNrls.mjs.map} +1 -1
  15. package/dist/{ProfileScreen-CD0p8061.cjs → ProfileScreen-CZDMIHZ9.cjs} +2 -2
  16. package/dist/{ShareablesScreen-_S-OESoe.mjs → ShareablesScreen-jHqnOgXM.mjs} +2 -0
  17. package/dist/{ShopScreen-DqUle1Zv.cjs → ShopScreen-BeuMn_38.cjs} +2 -2
  18. package/dist/{ShopScreen-Bg5pr5RL.mjs → ShopScreen-ChzQkJ1u.mjs} +2 -2
  19. package/dist/{ShopScreen-Bg5pr5RL.mjs.map → ShopScreen-ChzQkJ1u.mjs.map} +1 -1
  20. package/dist/{ShopScreen-z1kE-juB.cjs → ShopScreen-GBG7PGT3.cjs} +2 -2
  21. package/dist/{ShopScreen-z1kE-juB.cjs.map → ShopScreen-GBG7PGT3.cjs.map} +1 -1
  22. package/dist/index.cjs +61 -62
  23. package/dist/index.cjs.map +1 -1
  24. package/dist/index.d.cts +110 -20
  25. package/dist/index.d.cts.map +1 -1
  26. package/dist/index.d.mts +110 -20
  27. package/dist/index.d.mts.map +1 -1
  28. package/dist/index.mjs +65 -66
  29. package/dist/index.mjs.map +1 -1
  30. package/package.json +12 -12
  31. package/dist/FluidProvider-CIuinUdw.cjs.map +0 -1
  32. package/dist/FluidProvider-TKGU3gSm.mjs.map +0 -1
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import "./es-I9usCQT-.mjs";
2
- import { A as mergeDarkOverrides, C as DEFAULT_THEME_ID, D as deriveDarkVariant, E as generateThemeCSS, F as RADIUS_KEYS, H as useFluidOsApi, I as SEMANTIC_COLOR_NAMES, L as SHADE_STEPS, M as resolveTheme, N as FONT_FAMILY_KEYS, O as generateShades, P as FONT_SIZE_KEYS, S as DEFAULT_SPACING, T as getDefaultThemeDefinition, U as createPersister, V as useAppDefinitionApi, W as deleteDatabase, _ as serialiseTheme, a as createScreen, b as DEFAULT_FONT_SIZES, c as FluidThemeProvider, d as removeAllThemes, f as removeTheme, g as deserialiseTheme, h as transformThemes, i as widgetPropertySchemas, j as parseColor, k as getForegroundColor, l as useThemeContext, m as getActiveThemeId, n as useFluidContext, o as createWidgetFromShareable, p as buildThemeDefinition, r as DEFAULT_SDK_WIDGET_REGISTRY, s as createWidgetRegistry, t as FluidProvider, u as applyTheme, v as DEFAULT_COLORS, w as DEFAULT_THEME_NAME, x as DEFAULT_RADII, y as DEFAULT_FONT_FAMILIES } from "./FluidProvider-TKGU3gSm.mjs";
2
+ import { A as mergeDarkOverrides, C as DEFAULT_THEME_ID, D as deriveDarkVariant, E as generateThemeCSS, F as RADIUS_KEYS, H as createPersister, I as SEMANTIC_COLOR_NAMES, L as SHADE_STEPS, M as resolveTheme, N as FONT_FAMILY_KEYS, O as generateShades, P as FONT_SIZE_KEYS, S as DEFAULT_SPACING, T as getDefaultThemeDefinition, U as deleteDatabase, V as useAppDefinitionApi, _ as serialiseTheme, a as createScreen, b as DEFAULT_FONT_SIZES, c as FluidThemeProvider, d as removeAllThemes, f as removeTheme, g as deserialiseTheme, h as transformThemes, i as widgetPropertySchemas, j as parseColor, k as getForegroundColor, l as useThemeContext, m as getActiveThemeId, n as useFluidContext, o as createWidgetFromShareable, p as buildThemeDefinition, r as DEFAULT_SDK_WIDGET_REGISTRY, s as createWidgetRegistry, t as FluidProvider, u as applyTheme, v as DEFAULT_COLORS, w as DEFAULT_THEME_NAME, x as DEFAULT_RADII, y as DEFAULT_FONT_FAMILIES } from "./FluidProvider-Bjlw3uIJ.mjs";
3
3
  import { a as assertNever, i as assertDefined, n as DataAwareWidget, o as isWidgetType, r as WIDGET_TYPE_NAMES, s as isWidgetTypeName, u as useRegistry } from "./ScreenRenderer-fU3OUAfp.mjs";
4
4
  import "./account-api-context-BIZ_aibJ.mjs";
5
5
  import "./store-api-context-C1lXT_3d.mjs";
@@ -21,7 +21,7 @@ import { r as calendarWidgetPropertySchema, t as CalendarWidget } from "./Calend
21
21
  import { r as cardWidgetPropertySchema, t as CardWidget } from "./CardWidget-Cwidyz8-.mjs";
22
22
  import "./purify.es-Ba5Ug4-y.mjs";
23
23
  import { b as Skeleton$1, dt as PopoverContent, ft as PopoverTrigger, ht as CollapsibleTrigger, mt as CollapsibleContent, pt as Collapsible, un as Button, ut as Popover, v as Toaster, vn as cn$1 } from "./src-BZbWkXOU.mjs";
24
- import { a as useMessagingConfig, i as createFluidFileUploader, o as useMessagingAuth, r as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-BUC8Fwaz.mjs";
24
+ import { a as useMessagingConfig, i as createFluidFileUploader, o as useMessagingAuth, r as messagingScreenPropertySchema, t as MessagingScreen } from "./MessagingScreen-CxWUaN04.mjs";
25
25
  import "./scroll-arrows-CYshgsiB.mjs";
26
26
  import "./MediaRenderer-CEtrOi5O.mjs";
27
27
  import { r as carouselWidgetPropertySchema, t as CarouselWidget } from "./CarouselWidget-DykS0Vbg.mjs";
@@ -46,7 +46,7 @@ import { t as useAccount } from "./use-account-B16Tor2Q.mjs";
46
46
  import { t as useStore } from "./use-store-BnHhQDYo.mjs";
47
47
  import { i as CoreScreenPlaceholder, r as customersScreenPropertySchema, t as CustomersScreen } from "./CustomersScreen-DHz5JC2z.mjs";
48
48
  import { n as useAppNavigation, t as AppNavigationProvider } from "./AppNavigationContext-BW3lSpfT.mjs";
49
- import { r as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-BuDwsZ3f.mjs";
49
+ import { r as profileScreenPropertySchema, t as ProfileScreen } from "./ProfileScreen-CQJyNrls.mjs";
50
50
  import "./dist-BETEuYfn.mjs";
51
51
  import { r as contactsScreenPropertySchema, t as ContactsScreen } from "./ContactsScreen-leW1gmfk.mjs";
52
52
  import "./SearchSort-CFbJNJDL.mjs";
@@ -62,7 +62,7 @@ import { n as productsScreenPropertySchema, t as ProductsScreen } from "./Produc
62
62
  import "./use-mysite-portal-BV-BP3CE.mjs";
63
63
  import { r as mySiteScreenPropertySchema, t as MySiteScreen } from "./MySiteScreen-jiyjhA0K.mjs";
64
64
  import { n as shareablesScreenPropertySchema, t as ShareablesScreen } from "./ShareablesScreen-svmMjJII.mjs";
65
- import { r as shopScreenPropertySchema, t as ShopScreen } from "./ShopScreen-Bg5pr5RL.mjs";
65
+ import { r as shopScreenPropertySchema, t as ShopScreen } from "./ShopScreen-ChzQkJ1u.mjs";
66
66
  import "./UpgradeScreen-Qb3b0FsA.mjs";
67
67
  import "./AppDownloadScreen-DHHobdal.mjs";
68
68
  import * as React$1 from "react";
@@ -1408,15 +1408,14 @@ function toNavigationItem(item) {
1408
1408
  //#endregion
1409
1409
  //#region src/transforms/index.ts
1410
1410
  /**
1411
- * Convert a raw FluidOS API response to RawManifestResponse.
1412
- *
1413
- * The wire format includes `navigation_items` and full theme objects,
1414
- * but the generated OpenAPI types differ (e.g. `navigation_tree`, `themes: number[]`).
1415
- * This function bridges that gap so callers avoid `as unknown as` casts.
1411
+ * Convert an `AppManifestResponse` into the `RawManifestResponse` shape
1412
+ * expected by the transform pipeline. `AppManifestResponse` is structurally
1413
+ * assignable to `RawManifestResponse`, so this is a runtime-only guard that
1414
+ * rejects empty payloads.
1416
1415
  */
1417
- function toRawManifest(raw) {
1418
- if (!raw.manifest) throw new Error("FluidOS API returned empty manifest");
1419
- return raw;
1416
+ function toRawManifest(response) {
1417
+ if (!response.manifest) throw new Error("Portal BFF returned empty manifest");
1418
+ return response;
1420
1419
  }
1421
1420
  /**
1422
1421
  * Transform a raw FluidOS manifest API response into RepAppData.
@@ -1436,24 +1435,25 @@ function transformManifestToRepAppData(response) {
1436
1435
  const mobileNav = rawProfile?.mobile_navigation;
1437
1436
  const mobileNavigationItems = (mobileNav?.navigation_items ?? []).map(toNavigationItem);
1438
1437
  const activeThemeId = getActiveThemeId(rawThemes);
1438
+ const definitionId = manifest.definition_id ?? 0;
1439
1439
  return {
1440
- definition_id: manifest.definition_id,
1440
+ definition_id: definitionId,
1441
1441
  published_version: manifest.published_version ?? 0,
1442
1442
  screens,
1443
1443
  profile: {
1444
1444
  name: rawProfile?.name ?? "Default",
1445
- definition_id: rawProfile?.definition_id ?? manifest.definition_id,
1445
+ definition_id: rawProfile?.definition_id ?? definitionId,
1446
1446
  themes: transformThemes(rawThemes),
1447
1447
  ...activeThemeId !== void 0 ? { activeThemeId } : {},
1448
1448
  navigation: {
1449
- definition_id: nav?.definition_id ?? manifest.definition_id,
1449
+ definition_id: nav?.definition_id ?? definitionId,
1450
1450
  id: nav?.id ?? 0,
1451
1451
  name: nav?.name ?? "Main Navigation",
1452
1452
  navigation_items: navigationItems,
1453
1453
  screens
1454
1454
  },
1455
1455
  ...mobileNav ? { mobile_navigation: {
1456
- definition_id: mobileNav.definition_id ?? manifest.definition_id,
1456
+ definition_id: mobileNav.definition_id ?? definitionId,
1457
1457
  id: mobileNav.id ?? 0,
1458
1458
  name: mobileNav.name ?? "Mobile Navigation",
1459
1459
  navigation_items: mobileNavigationItems,
@@ -1465,17 +1465,17 @@ function transformManifestToRepAppData(response) {
1465
1465
  //#endregion
1466
1466
  //#region src/hooks/use-fluid-app.ts
1467
1467
  /**
1468
- * Base query key for full app data (fluidos endpoint).
1468
+ * Base query key for full app data (rendered manifest endpoint).
1469
1469
  * Kept for backwards compatibility — the runtime key used by the hook
1470
1470
  * includes a company prefix via {@link useCompanyScopedQueryKey}.
1471
1471
  */
1472
1472
  const APP_DATA_QUERY_KEY = ["fluid", "app"];
1473
1473
  /**
1474
- * Fetch the raw FluidOS manifest via the BFF-proxied adapter.
1474
+ * Fetch the raw rendered manifest via the portal-tenant BFF adapter.
1475
1475
  * Shared by `useFluidApp` and `useFluidProfile` to avoid drift.
1476
1476
  */
1477
1477
  async function fetchRawManifest(api) {
1478
- return toRawManifest(await api.getManifest({ platform: "browser" }));
1478
+ return toRawManifest(await api.fetchManifest());
1479
1479
  }
1480
1480
  /**
1481
1481
  * Module-level persister instance (browser only).
@@ -1485,7 +1485,7 @@ async function fetchRawManifest(api) {
1485
1485
  */
1486
1486
  const appDataPersister = typeof window !== "undefined" && !import.meta.env?.DEV ? createPersister() : void 0;
1487
1487
  /**
1488
- * Hook to fetch the full portal app data from the fluidos API.
1488
+ * Hook to fetch the full portal app data from the rendered-manifest endpoint.
1489
1489
  *
1490
1490
  * Returns a `RepAppData` object containing:
1491
1491
  * - `screens` — all screen definitions with normalized component trees
@@ -1515,47 +1515,17 @@ const appDataPersister = typeof window !== "undefined" && !import.meta.env?.DEV
1515
1515
  * ```
1516
1516
  */
1517
1517
  function useFluidApp(options) {
1518
- const fluidOsApi = useFluidOsApi();
1518
+ const appDefinitionApi = useAppDefinitionApi();
1519
1519
  const { scopeKey } = useCompanyScopedQueryKey();
1520
1520
  return useQuery({
1521
1521
  queryKey: scopeKey(APP_DATA_QUERY_KEY),
1522
- queryFn: () => fetchRawManifest(fluidOsApi),
1522
+ queryFn: () => fetchRawManifest(appDefinitionApi),
1523
1523
  select: transformManifestToRepAppData,
1524
1524
  ...appDataPersister && { persister: appDataPersister.persisterFn },
1525
1525
  ...options?.enabled !== void 0 && { enabled: options.enabled }
1526
1526
  });
1527
1527
  }
1528
1528
  //#endregion
1529
- //#region src/hooks/use-app-definition.ts
1530
- /**
1531
- * Base query key for the app definition endpoint.
1532
- * The runtime key includes a company prefix via {@link useCompanyScopedQueryKey}.
1533
- */
1534
- const APP_DEFINITION_QUERY_KEY = ["fluid", "app-definition"];
1535
- /**
1536
- * Hook to fetch the active app manifest from the portal-tenant BFF.
1537
- *
1538
- * Returns the manifest metadata (id, name, version)
1539
- * sourced from `GET /api/app/manifest` via the {@link AppDefinitionApi} port.
1540
- *
1541
- * @example
1542
- * ```tsx
1543
- * function MyComponent() {
1544
- * const { data } = useAppDefinition();
1545
- * const definitionId = data?.definition.id ?? 0;
1546
- * }
1547
- * ```
1548
- */
1549
- function useAppDefinition(options) {
1550
- const api = useAppDefinitionApi();
1551
- const { scopeKey } = useCompanyScopedQueryKey();
1552
- return useQuery({
1553
- queryKey: scopeKey(APP_DEFINITION_QUERY_KEY),
1554
- queryFn: () => api.fetchDefinition(),
1555
- ...options?.enabled !== void 0 && { enabled: options.enabled }
1556
- });
1557
- }
1558
- //#endregion
1559
1529
  //#region src/shell/AppShellLoading.tsx
1560
1530
  const SPIN_STYLE_ID = "fluid-app-shell-loading-spin";
1561
1531
  /**
@@ -2163,15 +2133,15 @@ function AccountManageLayout({ children }) {
2163
2133
  }
2164
2134
  //#endregion
2165
2135
  //#region src/shell/system-screen-map.ts
2166
- const ProfileScreen$1 = lazy(() => import("./ProfileScreen-BuDwsZ3f.mjs").then((n) => n.n).then((m) => ({ default: m.ProfileScreen })));
2136
+ const ProfileScreen$1 = lazy(() => import("./ProfileScreen-CQJyNrls.mjs").then((n) => n.n).then((m) => ({ default: m.ProfileScreen })));
2167
2137
  const OrdersScreen$1 = lazy(() => import("./OrdersScreen-BYs3uo-1.mjs").then((n) => n.n).then((m) => ({ default: m.OrdersScreen })));
2168
2138
  const SubscriptionsScreen$1 = lazy(() => import("./SubscriptionsScreen-BCxNFOZv.mjs").then((n) => n.n).then((m) => ({ default: m.SubscriptionsScreen })));
2169
- const MessagingScreen$1 = lazy(() => import("./MessagingScreen-BUC8Fwaz.mjs").then((n) => n.n).then((m) => ({ default: m.MessagingScreen })));
2139
+ const MessagingScreen$1 = lazy(() => import("./MessagingScreen-CxWUaN04.mjs").then((n) => n.n).then((m) => ({ default: m.MessagingScreen })));
2170
2140
  const ContactsScreen$1 = lazy(() => import("./ContactsScreen-leW1gmfk.mjs").then((n) => n.n).then((m) => ({ default: m.ContactsScreen })));
2171
- const ShopScreen$1 = lazy(() => import("./ShopScreen-Bg5pr5RL.mjs").then((n) => n.n).then((m) => ({ default: m.ShopScreen })));
2141
+ const ShopScreen$1 = lazy(() => import("./ShopScreen-ChzQkJ1u.mjs").then((n) => n.n).then((m) => ({ default: m.ShopScreen })));
2172
2142
  const CustomersScreen$1 = lazy(() => import("./CustomersScreen-DHz5JC2z.mjs").then((n) => n.n).then((m) => ({ default: m.CustomersScreen })));
2173
- const ProductsScreen$1 = lazy(() => import("./ProductsScreen-C0KlCDt_.mjs").then((m) => ({ default: m.ProductsScreen })));
2174
- const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-_S-OESoe.mjs").then((m) => ({ default: m.ShareablesScreen })));
2143
+ const ProductsScreen$1 = lazy(() => import("./ProductsScreen-08MJy-SJ.mjs").then((m) => ({ default: m.ProductsScreen })));
2144
+ const ShareablesScreen$1 = lazy(() => import("./ShareablesScreen-jHqnOgXM.mjs").then((m) => ({ default: m.ShareablesScreen })));
2175
2145
  const MySiteScreen$1 = lazy(() => import("./MySiteScreen-jiyjhA0K.mjs").then((n) => n.n).then((m) => ({ default: m.MySiteScreen })));
2176
2146
  const UpgradeScreen = lazy(() => import("./UpgradeScreen-Qb3b0FsA.mjs").then((n) => n.t).then((m) => ({ default: m.UpgradeScreen })));
2177
2147
  const AppDownloadScreen = lazy(() => import("./AppDownloadScreen-DHHobdal.mjs").then((n) => n.t).then((m) => ({ default: m.AppDownloadScreen })));
@@ -2417,7 +2387,6 @@ function AppShell({ appData: appDataProp, navigation: navigationProp, customPage
2417
2387
  }, [basePath]);
2418
2388
  const { data: fetchedAppData, isLoading } = useFluidApp({ enabled: !appDataProp });
2419
2389
  const appData = appDataProp ?? fetchedAppData;
2420
- const { data: appDefinitionData } = useAppDefinition({ enabled: !appDataProp });
2421
2390
  const { data: account } = useAccount();
2422
2391
  const repUser = useMemo(() => ({
2423
2392
  name: account?.first_name && account?.last_name ? `${account.first_name} ${account.last_name}` : null,
@@ -2611,7 +2580,7 @@ function AppShell({ appData: appDataProp, navigation: navigationProp, customPage
2611
2580
  navItems: filteredMobileNavItems,
2612
2581
  currentSlug: activeSlug,
2613
2582
  onNavigate: handleNavigate,
2614
- appDefinitionId: appDefinitionData?.definition.id ?? appData?.definition_id ?? 0
2583
+ appDefinitionId: appData?.definition_id ?? 0
2615
2584
  }),
2616
2585
  children: content
2617
2586
  })
@@ -2758,17 +2727,47 @@ const PROFILE_QUERY_KEY = ["fluid", "profile"];
2758
2727
  * ```
2759
2728
  */
2760
2729
  function useFluidProfile() {
2761
- const fluidOsApi = useFluidOsApi();
2730
+ const appDefinitionApi = useAppDefinitionApi();
2762
2731
  const { scopeKey } = useCompanyScopedQueryKey();
2763
2732
  return useQuery({
2764
2733
  queryKey: scopeKey(APP_DATA_QUERY_KEY),
2765
- queryFn: () => fetchRawManifest(fluidOsApi),
2734
+ queryFn: () => fetchRawManifest(appDefinitionApi),
2766
2735
  select: (raw) => {
2767
2736
  return transformManifestToRepAppData(raw).profile;
2768
2737
  }
2769
2738
  });
2770
2739
  }
2771
2740
  //#endregion
2741
+ //#region src/hooks/use-app-definition.ts
2742
+ /**
2743
+ * Base query key for the app definition endpoint.
2744
+ * The runtime key includes a company prefix via {@link useCompanyScopedQueryKey}.
2745
+ */
2746
+ const APP_DEFINITION_QUERY_KEY = ["fluid", "app-definition"];
2747
+ /**
2748
+ * Hook to fetch the active app manifest from the portal-tenant BFF.
2749
+ *
2750
+ * Returns the manifest metadata (id, name, version)
2751
+ * sourced from `GET /api/app/manifest` via the {@link AppDefinitionApi} port.
2752
+ *
2753
+ * @example
2754
+ * ```tsx
2755
+ * function MyComponent() {
2756
+ * const { data } = useAppDefinition();
2757
+ * const definitionId = data?.definition.id ?? 0;
2758
+ * }
2759
+ * ```
2760
+ */
2761
+ function useAppDefinition(options) {
2762
+ const api = useAppDefinitionApi();
2763
+ const { scopeKey } = useCompanyScopedQueryKey();
2764
+ return useQuery({
2765
+ queryKey: scopeKey(APP_DEFINITION_QUERY_KEY),
2766
+ queryFn: () => api.fetchDefinition(),
2767
+ ...options?.enabled !== void 0 && { enabled: options.enabled }
2768
+ });
2769
+ }
2770
+ //#endregion
2772
2771
  //#region src/hooks/use-fluid-theme.ts
2773
2772
  /**
2774
2773
  * Hook to access and control theme settings
@@ -3629,16 +3628,16 @@ z.object({
3629
3628
  //#endregion
3630
3629
  //#region src/screens/index.ts
3631
3630
  const screenPropertySchemas = {
3632
- ProfileScreen: () => import("./ProfileScreen-BuDwsZ3f.mjs").then((n) => n.n).then((m) => m.profileScreenPropertySchema),
3633
- MessagingScreen: () => import("./MessagingScreen-BUC8Fwaz.mjs").then((n) => n.n).then((m) => m.messagingScreenPropertySchema),
3631
+ ProfileScreen: () => import("./ProfileScreen-CQJyNrls.mjs").then((n) => n.n).then((m) => m.profileScreenPropertySchema),
3632
+ MessagingScreen: () => import("./MessagingScreen-CxWUaN04.mjs").then((n) => n.n).then((m) => m.messagingScreenPropertySchema),
3634
3633
  ContactsScreen: () => import("./ContactsScreen-leW1gmfk.mjs").then((n) => n.n).then((m) => m.contactsScreenPropertySchema),
3635
3634
  OrdersScreen: () => import("./OrdersScreen-BYs3uo-1.mjs").then((n) => n.n).then((m) => m.ordersScreenPropertySchema),
3636
3635
  SubscriptionsScreen: () => import("./SubscriptionsScreen-BCxNFOZv.mjs").then((n) => n.n).then((m) => m.subscriptionsScreenPropertySchema),
3637
3636
  CustomersScreen: () => import("./CustomersScreen-DHz5JC2z.mjs").then((n) => n.n).then((m) => m.customersScreenPropertySchema),
3638
- ProductsScreen: () => import("./ProductsScreen-C0KlCDt_.mjs").then((m) => m.productsScreenPropertySchema),
3637
+ ProductsScreen: () => import("./ProductsScreen-08MJy-SJ.mjs").then((m) => m.productsScreenPropertySchema),
3639
3638
  MySiteScreen: () => import("./MySiteScreen-jiyjhA0K.mjs").then((n) => n.n).then((m) => m.mySiteScreenPropertySchema),
3640
- ShareablesScreen: () => import("./ShareablesScreen-_S-OESoe.mjs").then((m) => m.shareablesScreenPropertySchema),
3641
- ShopScreen: () => import("./ShopScreen-Bg5pr5RL.mjs").then((n) => n.n).then((m) => m.shopScreenPropertySchema),
3639
+ ShareablesScreen: () => import("./ShareablesScreen-jHqnOgXM.mjs").then((m) => m.shareablesScreenPropertySchema),
3640
+ ShopScreen: () => import("./ShopScreen-ChzQkJ1u.mjs").then((n) => n.n).then((m) => m.shopScreenPropertySchema),
3642
3641
  UpgradeScreen: () => import("./UpgradeScreen-Qb3b0FsA.mjs").then((n) => n.t).then((m) => m.upgradeScreenPropertySchema),
3643
3642
  AppDownloadScreen: () => import("./AppDownloadScreen-DHHobdal.mjs").then((n) => n.t).then((m) => m.appDownloadScreenPropertySchema)
3644
3643
  };