@fluid-app/portal-sdk 0.1.13 → 0.1.15

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 (45) hide show
  1. package/dist/AccountScreen-B08uxzt6.mjs +2 -0
  2. package/dist/AccountScreen-CQCwpKEC.mjs +741 -0
  3. package/dist/AccountScreen-CQCwpKEC.mjs.map +1 -0
  4. package/dist/AccountScreen-CbhrIAa4.cjs +780 -0
  5. package/dist/AccountScreen-CbhrIAa4.cjs.map +1 -0
  6. package/dist/{ContactsScreen-CB6l0Lf1.mjs → ContactsScreen-CHLFZX_N.mjs} +2 -2
  7. package/dist/{ContactsScreen-CB6l0Lf1.mjs.map → ContactsScreen-CHLFZX_N.mjs.map} +1 -1
  8. package/dist/{ContactsScreen-Dwn5onLu.cjs → ContactsScreen-CjnCemeI.cjs} +4 -4
  9. package/dist/{ContactsScreen-Dwn5onLu.cjs.map → ContactsScreen-CjnCemeI.cjs.map} +1 -1
  10. package/dist/{CoreScreenPlaceholder-Bw8YOPwv.cjs → CoreScreenPlaceholder-C9lBkcyc.cjs} +2 -2
  11. package/dist/{CoreScreenPlaceholder-Bw8YOPwv.cjs.map → CoreScreenPlaceholder-C9lBkcyc.cjs.map} +1 -1
  12. package/dist/{CoreScreenPlaceholder-D93ZYKt2.mjs → CoreScreenPlaceholder-DCJ1hFvJ.mjs} +1 -1
  13. package/dist/{CoreScreenPlaceholder-D93ZYKt2.mjs.map → CoreScreenPlaceholder-DCJ1hFvJ.mjs.map} +1 -1
  14. package/dist/{CustomersScreen-gQb6cWL5.cjs → CustomersScreen-CqwRJogV.cjs} +4 -4
  15. package/dist/{CustomersScreen-gQb6cWL5.cjs.map → CustomersScreen-CqwRJogV.cjs.map} +1 -1
  16. package/dist/{CustomersScreen-BEar6Leg.mjs → CustomersScreen-DBicCB3o.mjs} +2 -2
  17. package/dist/{CustomersScreen-BEar6Leg.mjs.map → CustomersScreen-DBicCB3o.mjs.map} +1 -1
  18. package/dist/{MessagingScreen-YyzXdr95.mjs → FluidProvider-BafZw8PJ.mjs} +6 -503
  19. package/dist/FluidProvider-BafZw8PJ.mjs.map +1 -0
  20. package/dist/{MessagingScreen-Ca22FObh.cjs → FluidProvider-C6SCZDjX.cjs} +3 -542
  21. package/dist/FluidProvider-C6SCZDjX.cjs.map +1 -0
  22. package/dist/MessagingScreen-Bd-1_J9q.cjs +369 -0
  23. package/dist/MessagingScreen-Bd-1_J9q.cjs.map +1 -0
  24. package/dist/MessagingScreen-D8W8V2TW.mjs +2 -0
  25. package/dist/MessagingScreen-DCS0mtbd.mjs +324 -0
  26. package/dist/MessagingScreen-DCS0mtbd.mjs.map +1 -0
  27. package/dist/{OrdersScreen-DB1v051q.mjs → OrdersScreen-B6JCMBY5.mjs} +2 -2
  28. package/dist/{OrdersScreen-DB1v051q.mjs.map → OrdersScreen-B6JCMBY5.mjs.map} +1 -1
  29. package/dist/{OrdersScreen-DbON-kBA.cjs → OrdersScreen-DBxpXgZ9.cjs} +4 -4
  30. package/dist/{OrdersScreen-DbON-kBA.cjs.map → OrdersScreen-DBxpXgZ9.cjs.map} +1 -1
  31. package/dist/{ProductsScreen-CMDGGvE2.cjs → ProductsScreen-BK8cz_MN.cjs} +4 -4
  32. package/dist/{ProductsScreen-CMDGGvE2.cjs.map → ProductsScreen-BK8cz_MN.cjs.map} +1 -1
  33. package/dist/{ProductsScreen-nVDsY6kf.mjs → ProductsScreen-DafsauTY.mjs} +2 -2
  34. package/dist/{ProductsScreen-nVDsY6kf.mjs.map → ProductsScreen-DafsauTY.mjs.map} +1 -1
  35. package/dist/index.cjs +73 -138
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +29 -22
  38. package/dist/index.d.cts.map +1 -1
  39. package/dist/index.d.mts +29 -22
  40. package/dist/index.d.mts.map +1 -1
  41. package/dist/index.mjs +49 -116
  42. package/dist/index.mjs.map +1 -1
  43. package/package.json +19 -13
  44. package/dist/MessagingScreen-Ca22FObh.cjs.map +0 -1
  45. package/dist/MessagingScreen-YyzXdr95.mjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,30 +1,26 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_MessagingScreen = require("./MessagingScreen-Ca22FObh.cjs");
3
- const require_CoreScreenPlaceholder = require("./CoreScreenPlaceholder-Bw8YOPwv.cjs");
4
- const require_ContactsScreen = require("./ContactsScreen-Dwn5onLu.cjs");
5
- const require_OrdersScreen = require("./OrdersScreen-DbON-kBA.cjs");
6
- const require_CustomersScreen = require("./CustomersScreen-gQb6cWL5.cjs");
7
- const require_ProductsScreen = require("./ProductsScreen-CMDGGvE2.cjs");
2
+ const require_FluidProvider = require("./FluidProvider-C6SCZDjX.cjs");
3
+ const require_MessagingScreen = require("./MessagingScreen-Bd-1_J9q.cjs");
4
+ const require_AccountScreen = require("./AccountScreen-CbhrIAa4.cjs");
5
+ const require_CoreScreenPlaceholder = require("./CoreScreenPlaceholder-C9lBkcyc.cjs");
6
+ const require_ContactsScreen = require("./ContactsScreen-CjnCemeI.cjs");
7
+ const require_OrdersScreen = require("./OrdersScreen-DBxpXgZ9.cjs");
8
+ const require_CustomersScreen = require("./CustomersScreen-CqwRJogV.cjs");
9
+ const require_ProductsScreen = require("./ProductsScreen-BK8cz_MN.cjs");
8
10
  let react = require("react");
9
- react = require_MessagingScreen.__toESM(react);
11
+ react = require_FluidProvider.__toESM(react);
10
12
  let _tanstack_react_query = require("@tanstack/react-query");
11
13
  let _fluid_app_portal_core_theme = require("@fluid-app/portal-core/theme");
12
14
  let react_jsx_runtime = require("react/jsx-runtime");
13
15
  let _fluid_app_portal_widgets_contexts = require("@fluid-app/portal-widgets/contexts");
16
+ let lucide_react = require("lucide-react");
14
17
  let _fluid_app_portal_core_shell_AppShellLayout = require("@fluid-app/portal-core/shell/AppShellLayout");
15
18
  let _fluid_app_portal_core_shell_ThemeModeContext = require("@fluid-app/portal-core/shell/ThemeModeContext");
16
19
  let _fluid_app_portal_core_navigation_system_navigation_items = require("@fluid-app/portal-core/navigation/system-navigation-items");
17
20
  let _fluid_app_portal_core_shell_ScreenHeader = require("@fluid-app/portal-core/shell/ScreenHeader");
18
21
  let _fluid_app_portal_core_shell_ScreenHeaderContext = require("@fluid-app/portal-core/shell/ScreenHeaderContext");
19
- let _fortawesome_react_fontawesome = require("@fortawesome/react-fontawesome");
20
- let _fortawesome_pro_regular_svg_icons_faEllipsis = require("@fortawesome/pro-regular-svg-icons/faEllipsis");
21
- let _fortawesome_pro_regular_svg_icons_faXmark = require("@fortawesome/pro-regular-svg-icons/faXmark");
22
22
  let _fluid_app_portal_core_components_RepIcon = require("@fluid-app/portal-core/components/RepIcon");
23
23
  let _fluid_app_portal_core_shell_sidebar = require("@fluid-app/portal-core/shell/sidebar");
24
- let _fortawesome_pro_regular_svg_icons_faBars = require("@fortawesome/pro-regular-svg-icons/faBars");
25
- let _fortawesome_pro_regular_svg_icons_faSun = require("@fortawesome/pro-regular-svg-icons/faSun");
26
- let _fortawesome_pro_regular_svg_icons_faMoon = require("@fortawesome/pro-regular-svg-icons/faMoon");
27
- let _fortawesome_pro_regular_svg_icons_faTableCellsLarge = require("@fortawesome/pro-regular-svg-icons/faTableCellsLarge");
28
24
  let _fluid_app_portal_core_data_sources_DataAwareWidget = require("@fluid-app/portal-core/data-sources/DataAwareWidget");
29
25
  let _fluid_app_portal_widgets_widgets = require("@fluid-app/portal-widgets/widgets");
30
26
  let _fluid_app_portal_core_types = require("@fluid-app/portal-core/types");
@@ -969,7 +965,7 @@ function useFluidApp(options) {
969
965
  return (0, _tanstack_react_query.useQuery)({
970
966
  queryKey: APP_DATA_QUERY_KEY,
971
967
  queryFn: () => api.app.getRaw(),
972
- select: require_MessagingScreen.transformManifestToRepAppData,
968
+ select: require_FluidProvider.transformManifestToRepAppData,
973
969
  ...appDataPersister && { persister: appDataPersister.persisterFn },
974
970
  ...options?.enabled !== void 0 && { enabled: options.enabled }
975
971
  });
@@ -1053,7 +1049,7 @@ function useFluidPermissions() {
1053
1049
  * ```
1054
1050
  */
1055
1051
  function useFluidTheme() {
1056
- const { currentTheme, setTheme, setThemeMode, mode } = require_MessagingScreen.useThemeContext();
1052
+ const { currentTheme, setTheme, setThemeMode, mode } = require_FluidProvider.useThemeContext();
1057
1053
  return {
1058
1054
  currentTheme,
1059
1055
  setTheme,
@@ -1122,47 +1118,6 @@ function useCurrentUser() {
1122
1118
  });
1123
1119
  }
1124
1120
  //#endregion
1125
- //#region src/hooks/use-fluid-auth.ts
1126
- /**
1127
- * useFluidAuth Hook
1128
- *
1129
- * Provides access to authentication state and utilities.
1130
- * This is the primary hook for interacting with auth in components.
1131
- */
1132
- /**
1133
- * Hook to access authentication state and utilities.
1134
- *
1135
- * Must be used within a `FluidAuthProvider`.
1136
- *
1137
- * @returns Authentication context with user info, loading state, and utilities
1138
- * @throws Error if used outside FluidAuthProvider
1139
- *
1140
- * @example
1141
- * ```tsx
1142
- * function UserProfile() {
1143
- * const { isAuthenticated, isLoading, user, clearAuth } = useFluidAuth();
1144
- *
1145
- * if (isLoading) {
1146
- * return <Spinner />;
1147
- * }
1148
- *
1149
- * if (!isAuthenticated) {
1150
- * return <p>Please log in</p>;
1151
- * }
1152
- *
1153
- * return (
1154
- * <div>
1155
- * <p>Welcome, {user.full_name}!</p>
1156
- * <button onClick={clearAuth}>Log out</button>
1157
- * </div>
1158
- * );
1159
- * }
1160
- * ```
1161
- */
1162
- function useFluidAuth() {
1163
- return require_MessagingScreen.useFluidAuthContext();
1164
- }
1165
- //#endregion
1166
1121
  //#region src/hooks/demo-data/calendar-events.ts
1167
1122
  const now$4 = /* @__PURE__ */ new Date();
1168
1123
  function daysFromNow$1(days, hour, minute = 0) {
@@ -2085,7 +2040,7 @@ function AuthLoading() {
2085
2040
  * ```
2086
2041
  */
2087
2042
  function RequireAuth({ children, fallback = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AuthLoading, {}), errorComponent = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AuthError, {}) }) {
2088
- const { isAuthenticated, isLoading, error } = useFluidAuth();
2043
+ const { isAuthenticated, isLoading, error } = require_AccountScreen.useFluidAuth();
2089
2044
  if (isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: fallback });
2090
2045
  if (!isAuthenticated || error) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children: errorComponent });
2091
2046
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_jsx_runtime.Fragment, { children });
@@ -2093,16 +2048,18 @@ function RequireAuth({ children, fallback = /* @__PURE__ */ (0, react_jsx_runtim
2093
2048
  //#endregion
2094
2049
  //#region src/screens/index.ts
2095
2050
  const screenPropertySchemas = {
2096
- MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-Ca22FObh.cjs")).then((n) => n.MessagingScreen_exports).then((m) => m.messagingScreenPropertySchema),
2097
- ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-Dwn5onLu.cjs")).then((n) => n.ContactsScreen_exports).then((m) => m.contactsScreenPropertySchema),
2098
- OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-DbON-kBA.cjs")).then((n) => n.OrdersScreen_exports).then((m) => m.ordersScreenPropertySchema),
2099
- CustomersScreen: () => Promise.resolve().then(() => require("./CustomersScreen-gQb6cWL5.cjs")).then((n) => n.CustomersScreen_exports).then((m) => m.customersScreenPropertySchema),
2100
- ProductsScreen: () => Promise.resolve().then(() => require("./ProductsScreen-CMDGGvE2.cjs")).then((n) => n.ProductsScreen_exports).then((m) => m.productsScreenPropertySchema)
2051
+ AccountScreen: () => Promise.resolve().then(() => require("./AccountScreen-CbhrIAa4.cjs")).then((n) => n.AccountScreen_exports).then((m) => m.accountScreenPropertySchema),
2052
+ MessagingScreen: () => Promise.resolve().then(() => require("./MessagingScreen-Bd-1_J9q.cjs")).then((n) => n.MessagingScreen_exports).then((m) => m.messagingScreenPropertySchema),
2053
+ ContactsScreen: () => Promise.resolve().then(() => require("./ContactsScreen-CjnCemeI.cjs")).then((n) => n.ContactsScreen_exports).then((m) => m.contactsScreenPropertySchema),
2054
+ OrdersScreen: () => Promise.resolve().then(() => require("./OrdersScreen-DBxpXgZ9.cjs")).then((n) => n.OrdersScreen_exports).then((m) => m.ordersScreenPropertySchema),
2055
+ CustomersScreen: () => Promise.resolve().then(() => require("./CustomersScreen-CqwRJogV.cjs")).then((n) => n.CustomersScreen_exports).then((m) => m.customersScreenPropertySchema),
2056
+ ProductsScreen: () => Promise.resolve().then(() => require("./ProductsScreen-BK8cz_MN.cjs")).then((n) => n.ProductsScreen_exports).then((m) => m.productsScreenPropertySchema)
2101
2057
  };
2102
2058
  /**
2103
2059
  * Core page template IDs
2104
2060
  */
2105
2061
  const CORE_PAGE_IDS = {
2062
+ ACCOUNT: "core-account",
2106
2063
  MESSAGING: "core-messaging",
2107
2064
  CONTACTS: "core-contacts",
2108
2065
  ORDERS: "core-orders",
@@ -2114,6 +2071,27 @@ const CORE_PAGE_IDS = {
2114
2071
  * These are automatically registered when the SDK is imported.
2115
2072
  */
2116
2073
  function registerCorePageTemplates() {
2074
+ PageTemplateRegistry.register({
2075
+ id: CORE_PAGE_IDS.ACCOUNT,
2076
+ slug: "account",
2077
+ name: "Account",
2078
+ description: "Account management with profile, orders, and subscriptions",
2079
+ category: PAGE_CATEGORIES.CORE,
2080
+ tags: [
2081
+ "account",
2082
+ "profile",
2083
+ "orders",
2084
+ "subscriptions"
2085
+ ],
2086
+ version: "1.0.0",
2087
+ isCore: true,
2088
+ component_tree: [{
2089
+ type: "AccountScreen",
2090
+ id: "account-screen-root",
2091
+ props: {}
2092
+ }],
2093
+ defaultProps: {}
2094
+ });
2117
2095
  PageTemplateRegistry.register({
2118
2096
  id: CORE_PAGE_IDS.MESSAGING,
2119
2097
  slug: "messaging",
@@ -2264,10 +2242,7 @@ function SdkBottomNav({ navItems, currentSlug, onNavigate, maxVisibleItems = 5 }
2264
2242
  type: "button",
2265
2243
  onClick: () => setMoreOpen(true),
2266
2244
  className: `flex flex-1 flex-col items-center justify-center gap-0.5 py-2 text-[10px] font-medium transition-colors ${overflowItems.some((item) => isInSection(item, currentSlug)) ? "text-primary" : "text-muted-foreground"}`,
2267
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2268
- icon: _fortawesome_pro_regular_svg_icons_faEllipsis.faEllipsis,
2269
- className: "size-5"
2270
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "More" })]
2245
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Ellipsis, { className: "size-5" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "More" })]
2271
2246
  })]
2272
2247
  }), moreOpen && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2273
2248
  className: "fixed inset-0 z-50 flex flex-col",
@@ -2287,10 +2262,7 @@ function SdkBottomNav({ navItems, currentSlug, onNavigate, maxVisibleItems = 5 }
2287
2262
  onClick: () => setMoreOpen(false),
2288
2263
  className: "text-muted-foreground hover:bg-sidebar-accent flex items-center justify-center rounded-full p-1",
2289
2264
  "aria-label": "Close",
2290
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2291
- icon: _fortawesome_pro_regular_svg_icons_faXmark.faXmark,
2292
- className: "size-5"
2293
- })
2265
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, { className: "size-5" })
2294
2266
  })]
2295
2267
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2296
2268
  className: "px-2 pb-4",
@@ -2465,10 +2437,7 @@ function QuickLinksDropdown({ onNavigate }) {
2465
2437
  className: "text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex shrink-0 items-center justify-center rounded-md p-2",
2466
2438
  "aria-label": "Quick links",
2467
2439
  "aria-expanded": open,
2468
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2469
- icon: _fortawesome_pro_regular_svg_icons_faTableCellsLarge.faTableCellsLarge,
2470
- className: "h-4 w-4"
2471
- })
2440
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.LayoutGrid, { className: "h-4 w-4" })
2472
2441
  }), open && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2473
2442
  ref: panelRef,
2474
2443
  className: "border-border bg-background absolute top-full right-0 z-50 mt-1 w-[700px] max-w-[90vw] overflow-hidden rounded-lg border shadow-lg",
@@ -2476,10 +2445,7 @@ function QuickLinksDropdown({ onNavigate }) {
2476
2445
  className: "flex flex-col",
2477
2446
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2478
2447
  className: "bg-background flex items-center gap-2 border-b p-4",
2479
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2480
- icon: _fortawesome_pro_regular_svg_icons_faTableCellsLarge.faTableCellsLarge,
2481
- className: "text-muted-foreground h-5 w-5"
2482
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
2448
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.LayoutGrid, { className: "text-muted-foreground h-5 w-5" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
2483
2449
  className: "text-foreground text-sm font-semibold",
2484
2450
  children: "Shortcuts"
2485
2451
  })]
@@ -2517,7 +2483,7 @@ function SdkHeader({ tabs, mobileTabs, currentSlug, onNavigate, navSlugs }) {
2517
2483
  const sidebar = (0, _fluid_app_portal_core_shell_sidebar.useSidebar)();
2518
2484
  const themeMode = (0, _fluid_app_portal_core_shell_ThemeModeContext.useThemeMode)();
2519
2485
  const baseSlug = matchSlugPrefix(currentSlug, navSlugs)?.matchedSlug ?? (0, _fluid_app_portal_core_navigation_system_navigation_items.normalizeSlug)(currentSlug);
2520
- const themeIcon = themeMode.mode === "dark" ? _fortawesome_pro_regular_svg_icons_faMoon.faMoon : _fortawesome_pro_regular_svg_icons_faSun.faSun;
2486
+ const ThemeIcon = themeMode.mode === "dark" ? lucide_react.Moon : lucide_react.Sun;
2521
2487
  const activeTabs = sidebar.isMobile && sidebar.useBottomNav && mobileTabs ? mobileTabs : tabs;
2522
2488
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("header", {
2523
2489
  className: "bg-sidebar flex h-[52px] shrink-0 items-center gap-2 px-6",
@@ -2527,10 +2493,7 @@ function SdkHeader({ tabs, mobileTabs, currentSlug, onNavigate, navSlugs }) {
2527
2493
  onClick: sidebar.toggleSidebar,
2528
2494
  className: "text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground mr-2 flex shrink-0 items-center justify-center rounded-md p-2",
2529
2495
  "aria-label": "Toggle sidebar",
2530
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2531
- icon: _fortawesome_pro_regular_svg_icons_faBars.faBars,
2532
- className: "size-5"
2533
- })
2496
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Menu, { className: "size-5" })
2534
2497
  }),
2535
2498
  /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
2536
2499
  className: "scrollbar-none flex flex-1 items-center gap-1 overflow-x-auto",
@@ -2551,10 +2514,7 @@ function SdkHeader({ tabs, mobileTabs, currentSlug, onNavigate, navSlugs }) {
2551
2514
  onClick: themeMode.cycleMode,
2552
2515
  className: "text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground ml-2 flex shrink-0 items-center justify-center rounded-md p-2",
2553
2516
  "aria-label": `Switch theme (current: ${themeMode.mode})`,
2554
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_fortawesome_react_fontawesome.FontAwesomeIcon, {
2555
- icon: themeIcon,
2556
- className: "size-3"
2557
- })
2517
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ThemeIcon, { className: "size-3" })
2558
2518
  })
2559
2519
  ]
2560
2520
  });
@@ -2618,6 +2578,10 @@ const BuilderScreenView = (0, react.memo)(BuilderScreenViewImpl);
2618
2578
  //#endregion
2619
2579
  //#region src/shell/PageRouter.tsx
2620
2580
  const SYSTEM_SLUG_SCREEN_MAP = {
2581
+ account: require_AccountScreen.AccountScreen,
2582
+ "account/profile": require_AccountScreen.AccountScreen,
2583
+ "account/orders": require_AccountScreen.AccountScreen,
2584
+ "account/subscriptions": require_AccountScreen.AccountScreen,
2621
2585
  messages: require_MessagingScreen.MessagingScreen,
2622
2586
  contacts: require_ContactsScreen.ContactsScreen,
2623
2587
  shop: require_OrdersScreen.OrdersScreen,
@@ -2665,37 +2629,6 @@ function PageRouter({ currentSlug, currentNavItem, customPages, screens, baseSlu
2665
2629
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_CoreScreenPlaceholder.CoreScreenPlaceholder, { name: currentNavItem?.label ?? currentSlug });
2666
2630
  }
2667
2631
  //#endregion
2668
- //#region src/shell/AppNavigationContext.tsx
2669
- const AppNavigationContext = (0, react.createContext)(null);
2670
- function AppNavigationProvider({ currentSlug, basePath, navigate, children }) {
2671
- const buildHref = (0, react.useMemo)(() => {
2672
- return (slug) => {
2673
- if (basePath === "/") return `/${slug}`;
2674
- return `${basePath}/${slug}`;
2675
- };
2676
- }, [basePath]);
2677
- const value = (0, react.useMemo)(() => ({
2678
- currentSlug,
2679
- basePath,
2680
- navigate,
2681
- buildHref
2682
- }), [
2683
- currentSlug,
2684
- basePath,
2685
- navigate,
2686
- buildHref
2687
- ]);
2688
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AppNavigationContext.Provider, {
2689
- value,
2690
- children
2691
- });
2692
- }
2693
- function useAppNavigation() {
2694
- const ctx = (0, react.useContext)(AppNavigationContext);
2695
- if (!ctx) throw new Error("useAppNavigation must be used within an <AppShell> or <AppNavigationProvider>");
2696
- return ctx;
2697
- }
2698
- //#endregion
2699
2632
  //#region src/shell/AppShell.tsx
2700
2633
  const THEME_STORAGE_KEY = "portal-theme-mode";
2701
2634
  const DEFAULT_NAVIGATION = [
@@ -2858,7 +2791,7 @@ function AppShell({ appData: appDataProp, navigation: navigationProp, customPage
2858
2791
  mode: themeMode,
2859
2792
  onModeChange: handleThemeModeChange,
2860
2793
  autoModeEnabled: false,
2861
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AppNavigationProvider, {
2794
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AccountScreen.AppNavigationProvider, {
2862
2795
  currentSlug: activeSlug,
2863
2796
  basePath: normalizedBasePath,
2864
2797
  navigate: handleNavigate,
@@ -2901,7 +2834,7 @@ function AppShell({ appData: appDataProp, navigation: navigationProp, customPage
2901
2834
  * clicks for client-side navigation.
2902
2835
  */
2903
2836
  const AppLink = (0, react.forwardRef)(function AppLink({ to, onClick, children, ...rest }, ref) {
2904
- const { navigate, buildHref } = useAppNavigation();
2837
+ const { navigate, buildHref } = require_AccountScreen.useAppNavigation();
2905
2838
  const handleClick = (e) => {
2906
2839
  onClick?.(e);
2907
2840
  if (e.defaultPrevented) return;
@@ -2928,15 +2861,16 @@ Object.defineProperty(exports, "AUTH_CONSTANTS", {
2928
2861
  return _fluid_app_auth.AUTH_CONSTANTS;
2929
2862
  }
2930
2863
  });
2864
+ exports.AccountScreen = require_AccountScreen.AccountScreen;
2931
2865
  Object.defineProperty(exports, "AlertWidget", {
2932
2866
  enumerable: true,
2933
2867
  get: function() {
2934
2868
  return _fluid_app_portal_widgets_widgets.AlertWidget;
2935
2869
  }
2936
2870
  });
2937
- exports.ApiError = require_MessagingScreen.ApiError;
2871
+ exports.ApiError = require_FluidProvider.ApiError;
2938
2872
  exports.AppLink = AppLink;
2939
- exports.AppNavigationProvider = AppNavigationProvider;
2873
+ exports.AppNavigationProvider = require_AccountScreen.AppNavigationProvider;
2940
2874
  exports.AppShell = AppShell;
2941
2875
  exports.AuthError = AuthError;
2942
2876
  exports.AuthLoading = AuthLoading;
@@ -3006,7 +2940,7 @@ Object.defineProperty(exports, "DEFAULT_RADII", {
3006
2940
  return themes_exports.DEFAULT_RADII;
3007
2941
  }
3008
2942
  });
3009
- exports.DEFAULT_SDK_WIDGET_REGISTRY = require_MessagingScreen.DEFAULT_SDK_WIDGET_REGISTRY;
2943
+ exports.DEFAULT_SDK_WIDGET_REGISTRY = require_FluidProvider.DEFAULT_SDK_WIDGET_REGISTRY;
3010
2944
  Object.defineProperty(exports, "DEFAULT_SPACING", {
3011
2945
  enumerable: true,
3012
2946
  get: function() {
@@ -3043,9 +2977,9 @@ Object.defineProperty(exports, "FONT_SIZE_KEYS", {
3043
2977
  return themes_exports.FONT_SIZE_KEYS;
3044
2978
  }
3045
2979
  });
3046
- exports.FluidAuthProvider = require_MessagingScreen.FluidAuthProvider;
3047
- exports.FluidProvider = require_MessagingScreen.FluidProvider;
3048
- exports.FluidThemeProvider = require_MessagingScreen.FluidThemeProvider;
2980
+ exports.FluidAuthProvider = require_FluidProvider.FluidAuthProvider;
2981
+ exports.FluidProvider = require_FluidProvider.FluidProvider;
2982
+ exports.FluidThemeProvider = require_FluidProvider.FluidThemeProvider;
3049
2983
  Object.defineProperty(exports, "ImageWidget", {
3050
2984
  enumerable: true,
3051
2985
  get: function() {
@@ -3185,6 +3119,7 @@ Object.defineProperty(exports, "WIDGET_TYPE_NAMES", {
3185
3119
  return _fluid_app_portal_core_types.WIDGET_TYPE_NAMES;
3186
3120
  }
3187
3121
  });
3122
+ exports.accountScreenPropertySchema = require_AccountScreen.accountScreenPropertySchema;
3188
3123
  Object.defineProperty(exports, "alertWidgetPropertySchema", {
3189
3124
  enumerable: true,
3190
3125
  get: function() {
@@ -3265,7 +3200,7 @@ Object.defineProperty(exports, "createDefaultAuthRedirect", {
3265
3200
  return _fluid_app_auth.createDefaultAuthRedirect;
3266
3201
  }
3267
3202
  });
3268
- exports.createFluidClient = require_MessagingScreen.createFluidClient;
3203
+ exports.createFluidClient = require_FluidProvider.createFluidClient;
3269
3204
  exports.createFluidFileUploader = require_MessagingScreen.createFluidFileUploader;
3270
3205
  Object.defineProperty(exports, "createScreen", {
3271
3206
  enumerable: true,
@@ -3419,7 +3354,7 @@ Object.defineProperty(exports, "imageWidgetPropertySchema", {
3419
3354
  }
3420
3355
  });
3421
3356
  exports.isActivitySlug = isActivitySlug;
3422
- exports.isApiError = require_MessagingScreen.isApiError;
3357
+ exports.isApiError = require_FluidProvider.isApiError;
3423
3358
  exports.isContactStatus = isContactStatus;
3424
3359
  exports.isErrorResult = isErrorResult;
3425
3360
  exports.isIdle = isIdle;
@@ -3493,7 +3428,7 @@ Object.defineProperty(exports, "nestedWidgetPropertySchema", {
3493
3428
  return _fluid_app_portal_widgets_widgets.nestedWidgetPropertySchema;
3494
3429
  }
3495
3430
  });
3496
- exports.normalizeComponentTree = require_MessagingScreen.normalizeComponentTree;
3431
+ exports.normalizeComponentTree = require_FluidProvider.normalizeComponentTree;
3497
3432
  exports.ordersScreenPropertySchema = require_OrdersScreen.ordersScreenPropertySchema;
3498
3433
  Object.defineProperty(exports, "parseColor", {
3499
3434
  enumerable: true,
@@ -3577,9 +3512,9 @@ Object.defineProperty(exports, "toDoWidgetPropertySchema", {
3577
3512
  return _fluid_app_portal_widgets_widgets.toDoWidgetPropertySchema;
3578
3513
  }
3579
3514
  });
3580
- exports.toNavigationItem = require_MessagingScreen.toNavigationItem;
3581
- exports.toScreenDefinition = require_MessagingScreen.toScreenDefinition;
3582
- exports.transformManifestToRepAppData = require_MessagingScreen.transformManifestToRepAppData;
3515
+ exports.toNavigationItem = require_FluidProvider.toNavigationItem;
3516
+ exports.toScreenDefinition = require_FluidProvider.toScreenDefinition;
3517
+ exports.transformManifestToRepAppData = require_FluidProvider.transformManifestToRepAppData;
3583
3518
  Object.defineProperty(exports, "transformThemes", {
3584
3519
  enumerable: true,
3585
3520
  get: function() {
@@ -3587,7 +3522,7 @@ Object.defineProperty(exports, "transformThemes", {
3587
3522
  }
3588
3523
  });
3589
3524
  exports.useActivities = useActivities;
3590
- exports.useAppNavigation = useAppNavigation;
3525
+ exports.useAppNavigation = require_AccountScreen.useAppNavigation;
3591
3526
  exports.useCalendarEvents = useCalendarEvents;
3592
3527
  exports.useCatchUps = useCatchUps;
3593
3528
  exports.useContact = useContact;
@@ -3598,9 +3533,9 @@ exports.useCurrentRep = useCurrentRep;
3598
3533
  exports.useCurrentUser = useCurrentUser;
3599
3534
  exports.useFluidApi = require_MessagingScreen.useFluidApi;
3600
3535
  exports.useFluidApp = useFluidApp;
3601
- exports.useFluidAuth = useFluidAuth;
3602
- exports.useFluidAuthContext = require_MessagingScreen.useFluidAuthContext;
3603
- exports.useFluidContext = require_MessagingScreen.useFluidContext;
3536
+ exports.useFluidAuth = require_AccountScreen.useFluidAuth;
3537
+ exports.useFluidAuthContext = require_FluidProvider.useFluidAuthContext;
3538
+ exports.useFluidContext = require_FluidProvider.useFluidContext;
3604
3539
  exports.useFluidPermissions = useFluidPermissions;
3605
3540
  exports.useFluidProfile = useFluidProfile;
3606
3541
  exports.useFluidTheme = useFluidTheme;
@@ -3609,7 +3544,7 @@ exports.useMessagingConfig = require_MessagingScreen.useMessagingConfig;
3609
3544
  exports.useMySite = useMySite;
3610
3545
  exports.usePageTemplates = usePageTemplates;
3611
3546
  exports.useResolvedPages = useResolvedPages;
3612
- exports.useThemeContext = require_MessagingScreen.useThemeContext;
3547
+ exports.useThemeContext = require_FluidProvider.useThemeContext;
3613
3548
  Object.defineProperty(exports, "useThemeMode", {
3614
3549
  enumerable: true,
3615
3550
  get: function() {