@almadar/ui 4.32.0 → 4.33.0

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.
@@ -88,6 +88,13 @@ export interface DashboardLayoutProps {
88
88
  /** Custom sidebar footer (optional). When omitted, the sidebar has
89
89
  * no footer — apps that need Settings/etc. add them via navItems. */
90
90
  sidebarFooter?: React.ReactNode;
91
+ /** Active path used to highlight the matching nav item. Falls back
92
+ * to `useCurrentPagePath()` (set by `CurrentPagePathProvider`), then
93
+ * to `useLocation().pathname`. Production deploys can omit it; the
94
+ * studio preview passes the in-frame `?page=` value so highlighting
95
+ * works inside the embedded playground where `pathname` would be
96
+ * the studio route. */
97
+ currentPath?: string;
91
98
  /** Callback when user clicks sign out (optional - uses auth context signOut if not provided) */
92
99
  onSignOut?: () => void;
93
100
  /** Page content rendered inside the main area */
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ declare const CurrentPagePathContext: React.Context<string | undefined>;
3
+ export interface CurrentPagePathProviderProps {
4
+ value: string | undefined;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const CurrentPagePathProvider: React.FC<CurrentPagePathProviderProps>;
8
+ export declare const useCurrentPagePath: () => string | undefined;
9
+ export { CurrentPagePathContext };
@@ -675,6 +675,13 @@ function useDesignTheme() {
675
675
  availableThemes: availableThemes.map((t) => t.name)
676
676
  };
677
677
  }
678
+ var CurrentPagePathContext = react.createContext(void 0);
679
+ var CurrentPagePathProvider = ({
680
+ value,
681
+ children
682
+ }) => /* @__PURE__ */ jsxRuntime.jsx(CurrentPagePathContext.Provider, { value, children });
683
+ CurrentPagePathProvider.displayName = "CurrentPagePathProvider";
684
+ var useCurrentPagePath = () => react.useContext(CurrentPagePathContext);
678
685
  var ANONYMOUS_USER = {
679
686
  id: "anonymous",
680
687
  role: "anonymous",
@@ -776,6 +783,8 @@ function useUserForEvaluation() {
776
783
 
777
784
  exports.ANONYMOUS_USER = ANONYMOUS_USER;
778
785
  exports.BUILT_IN_THEMES = BUILT_IN_THEMES;
786
+ exports.CurrentPagePathContext = CurrentPagePathContext;
787
+ exports.CurrentPagePathProvider = CurrentPagePathProvider;
779
788
  exports.DesignThemeProvider = DesignThemeProvider;
780
789
  exports.ThemeContext = ThemeContext_default;
781
790
  exports.ThemeProvider = ThemeProvider;
@@ -783,6 +792,7 @@ exports.UISlotContext = UISlotContext;
783
792
  exports.UISlotProvider = UISlotProvider;
784
793
  exports.UserContext = UserContext;
785
794
  exports.UserProvider = UserProvider;
795
+ exports.useCurrentPagePath = useCurrentPagePath;
786
796
  exports.useDesignTheme = useDesignTheme;
787
797
  exports.useHasPermission = useHasPermission;
788
798
  exports.useHasRole = useHasRole;
@@ -5,4 +5,5 @@ export { UISlotProvider, useUISlots, useSlotContent, useSlotHasContent, UISlotCo
5
5
  export { ThemeProvider, useTheme, BUILT_IN_THEMES, type ThemeDefinition, type ThemeProviderProps, type ColorMode, type ResolvedMode, type DesignTheme, } from "./ThemeContext";
6
6
  export { default as ThemeContext } from "./ThemeContext";
7
7
  export { DesignThemeProvider, useDesignTheme } from "./DesignThemeContext";
8
+ export { CurrentPagePathProvider, CurrentPagePathContext, useCurrentPagePath, type CurrentPagePathProviderProps, } from "./CurrentPagePathContext";
8
9
  export { UserProvider, UserContext, useUser, useHasRole, useHasPermission, useUserForEvaluation, ANONYMOUS_USER, type UserData, type UserContextValue, type UserProviderProps, } from "./UserContext";
@@ -673,6 +673,13 @@ function useDesignTheme() {
673
673
  availableThemes: availableThemes.map((t) => t.name)
674
674
  };
675
675
  }
676
+ var CurrentPagePathContext = createContext(void 0);
677
+ var CurrentPagePathProvider = ({
678
+ value,
679
+ children
680
+ }) => /* @__PURE__ */ jsx(CurrentPagePathContext.Provider, { value, children });
681
+ CurrentPagePathProvider.displayName = "CurrentPagePathProvider";
682
+ var useCurrentPagePath = () => useContext(CurrentPagePathContext);
676
683
  var ANONYMOUS_USER = {
677
684
  id: "anonymous",
678
685
  role: "anonymous",
@@ -772,4 +779,4 @@ function useUserForEvaluation() {
772
779
  return isLoggedIn && user ? user : void 0;
773
780
  }
774
781
 
775
- export { ANONYMOUS_USER, BUILT_IN_THEMES, DesignThemeProvider, ThemeContext_default as ThemeContext, ThemeProvider, UISlotContext, UISlotProvider, UserContext, UserProvider, useDesignTheme, useHasPermission, useHasRole, useSlotContent, useSlotHasContent, useTheme, useUISlots, useUser, useUserForEvaluation };
782
+ export { ANONYMOUS_USER, BUILT_IN_THEMES, CurrentPagePathContext, CurrentPagePathProvider, DesignThemeProvider, ThemeContext_default as ThemeContext, ThemeProvider, UISlotContext, UISlotProvider, UserContext, UserProvider, useCurrentPagePath, useDesignTheme, useHasPermission, useHasRole, useSlotContent, useSlotHasContent, useTheme, useUISlots, useUser, useUserForEvaluation };