@eintrek/erp-shell 0.1.47 → 0.1.49

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.
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { type ShellChrome } from "./chrome";
2
+ import { type ShellChrome, type WorkspaceHeaderTone } from "./chrome";
3
3
  /**
4
4
  * Shape the shell needs from an organization to wire the URL `[code]` segment
5
5
  * back to the active org id. Hosts already keep richer types around — this is
@@ -46,6 +46,11 @@ export interface AppLayoutShellProps {
46
46
  selectOrganizationUrl: string;
47
47
  /** Which look the chrome takes — see `ShellChrome`. Default "brand". */
48
48
  chrome?: ShellChrome;
49
+ /**
50
+ * The workspace top bar: the app's gradient ("brand", default) or a white
51
+ * bar in the theme's own ink ("light"). Ignored by the brand chrome.
52
+ */
53
+ workspaceHeader?: WorkspaceHeaderTone;
49
54
  /**
50
55
  * Right-hand end of the top bar (workspace chrome): typically the
51
56
  * organisation switcher and a help button.
@@ -69,4 +74,4 @@ export interface AppLayoutShellProps {
69
74
  * an erp-shell bump — domain components must NOT add their own root padding
70
75
  * or content gets indented twice.
71
76
  */
72
- export declare function AppLayoutShell({ children, sidebar, loadingComponent, breadcrumb, permissionProvider, organizationId, setOrganizationId, organizations, signInUrl, selectOrganizationUrl, chrome, headerEnd, mobileBrand, }: AppLayoutShellProps): import("react/jsx-runtime").JSX.Element;
77
+ export declare function AppLayoutShell({ children, sidebar, loadingComponent, breadcrumb, permissionProvider, organizationId, setOrganizationId, organizations, signInUrl, selectOrganizationUrl, chrome, workspaceHeader, headerEnd, mobileBrand, }: AppLayoutShellProps): import("react/jsx-runtime").JSX.Element;
@@ -22,3 +22,13 @@ export type ShellChrome = "brand" | "workspace";
22
22
  * white as the fallback, so the brand chrome looks exactly as before.
23
23
  */
24
24
  export declare const WORKSPACE_HEADER_VARS: React.CSSProperties;
25
+ /**
26
+ * The top bar of the workspace chrome.
27
+ *
28
+ * - "brand" (default): the app's gradient with white ink — how Platform looks.
29
+ * - "light": a white bar with a hairline under it and the theme's own ink,
30
+ * as in the Peoplx design (12 Oct 2026). Colours come from theme tokens, so
31
+ * dark mode follows.
32
+ */
33
+ export type WorkspaceHeaderTone = "brand" | "light";
34
+ export declare const WORKSPACE_LIGHT_HEADER_VARS: React.CSSProperties;
@@ -12,8 +12,11 @@ interface SidebarProviderProps {
12
12
  }
13
13
  /**
14
14
  * Sidebar Provider Component
15
- * Provides sidebar state management through React Context
16
- * Persists state to localStorage
15
+ * Provides sidebar state management through React Context.
16
+ *
17
+ * What is remembered (localStorage) is whether the DOCKED sidebar was open.
18
+ * A drawer always starts closed — a remembered desktop preference, or a
19
+ * drawer someone left open, is not a request to cover the page on load.
17
20
  */
18
21
  export declare function SidebarProvider({ children, defaultOpen, }: SidebarProviderProps): import("react/jsx-runtime").JSX.Element;
19
22
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eintrek/erp-shell",
3
- "version": "0.1.47",
3
+ "version": "0.1.49",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Shared frontend platform for ERP apps — HTTP client, providers, navigation, hooks.",