@unisim/sdk 0.111.0 → 0.113.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.
@@ -0,0 +1,66 @@
1
+ import type { CSSProperties, ReactNode } from 'react';
2
+ /**
3
+ * The suite's privacy claim, stated where the anxiety is — beside the thing
4
+ * that takes your file, at the moment you are deciding whether to hand a web
5
+ * page a document.
6
+ *
7
+ * Four deliberate choices, all of them load-bearing:
8
+ *
9
+ * 1. **It names the alternative.** "Everything stays on your device" was
10
+ * already on most of these landing pages two or three times over, and read
11
+ * as boilerplate — every upload-and-scrape site says something similar.
12
+ * Naming what the other tools do, and *why* they do it (to render your file
13
+ * on their server, and mine what is in it), is the half that carries
14
+ * information.
15
+ *
16
+ * 2. **"Guaranteed" is the link, not a badge.** A trust seal you cannot click
17
+ * is a claim about a claim. This one opens the app's own source, which is
18
+ * the only guarantee anybody can actually check — so the word that makes
19
+ * the promise is the word that hands over the evidence. `repo` is required
20
+ * for exactly that reason: a note with nothing to open is the badge.
21
+ *
22
+ * 3. ⚠️ **`except` is what keeps the sentence true.** Several apps in the
23
+ * suite CAN send a file off the device — hosted backup ("Store with
24
+ * UNI·SIM") and, in PDF, "Send to sign". An unqualified "never leaves this
25
+ * computer" would be false for those, and false in the exact place the
26
+ * Guaranteed link invites people to go and look. Work out what YOUR app can
27
+ * send and say it. `except={null}` is for an app that genuinely never sends
28
+ * anything — the claim is then unqualified because it is unqualified, not
29
+ * because the caveat was inconvenient.
30
+ *
31
+ * 4. **`subject` is per-app, not a generic "your file".** "Your PDF", "Your
32
+ * images", "Your recording" name the actual thing in front of the reader,
33
+ * and a concrete noun is what makes a promise feel like it is about them.
34
+ * It is also not optional dressing: several apps in the suite never touch a
35
+ * file at all — QR builds a code from what you type, BlackBook holds
36
+ * contacts — so "your file" would simply be wrong there.
37
+ *
38
+ * ⚠️ Inline styles, not Tailwind classes: this ships inside node_modules and
39
+ * the apps' Tailwind builds do not scan it. Classes here would silently render
40
+ * unstyled. Same reason DropRing and DropAnywhere are written this way.
41
+ */
42
+ export interface PrivacyNoteProps {
43
+ /**
44
+ * The app's own repository — what "Guaranteed" opens. Required: see note 2.
45
+ * e.g. 'https://github.com/universal-simulation-ltd/Universal_PDF'
46
+ */
47
+ repo: string;
48
+ /** What this app is handed, in the reader's words — "Your PDF", "Your images". */
49
+ subject?: string;
50
+ /** ⚠️ How this app can send something out. `null` = it never can. See note 3. */
51
+ except?: string | null;
52
+ /**
53
+ * The contrast sentence. The default is written for apps you give a file to;
54
+ * override it for an app that takes something else ("Other companies keep
55
+ * your contacts on their servers and mine them.").
56
+ */
57
+ headline?: ReactNode;
58
+ /** Link colour. Defaults to a burnt orange that clears AA on the note's fill. */
59
+ accent?: string;
60
+ /** Hover colour for the link's underline. */
61
+ accentHover?: string;
62
+ className?: string;
63
+ style?: CSSProperties;
64
+ }
65
+ export declare function PrivacyNote({ repo, subject, except, headline, accent, accentHover, className, style, }: PrivacyNoteProps): import("react/jsx-runtime").JSX.Element;
66
+ //# sourceMappingURL=PrivacyNote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivacyNote.d.ts","sourceRoot":"","sources":["../src/PrivacyNote.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAqB,EACrB,MAAa,EACb,QAAiF,EACjF,MAAkB,EAClB,WAAuB,EACvB,SAAS,EACT,KAAK,GACN,EAAE,gBAAgB,2CAiFlB"}
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ export function PrivacyNote({ repo, subject = 'Your file', except = null, headline = 'Other companies upload your files to view them and scrape your data.', accent = '#c2410c', accentHover = '#ea580c', className, style, }) {
4
+ return (_jsxs("div", { className: className, style: {
5
+ display: 'flex',
6
+ gap: '0.75rem',
7
+ padding: '0.75rem 0.875rem',
8
+ border: '1px solid #e2e8f0',
9
+ borderRadius: '0.75rem',
10
+ background: 'rgba(248, 250, 252, 0.7)',
11
+ ...style,
12
+ }, children: [_jsxs("svg", { viewBox: "0 0 24 24", width: "20", height: "20", style: { marginTop: '2px', flexShrink: 0, color: '#64748b' }, fill: "none", stroke: "currentColor", strokeWidth: "1.7", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("path", { d: "M12 3 5 6v5.5c0 4.3 2.9 8.2 7 9.5 4.1-1.3 7-5.2 7-9.5V6z" }), _jsx("path", { d: "m9.2 11.8 2 2 3.6-3.9" })] }), _jsxs("div", { style: { fontSize: '12.5px', lineHeight: 1.45 }, children: [_jsx("p", { style: { margin: 0, fontWeight: 600, color: '#0f172a' }, children: headline }), _jsxs("p", { style: { margin: '2px 0 0', color: '#475569' }, children: ["We don\u2019t. ", subject, " never leaves this computer", except ? ` unless you choose it to (e.g. ${except})` : '', ".", ' ', _jsxs("a", { href: repo, target: "_blank", rel: "noopener noreferrer", title: "Every line of this app is public \u2014 read the source on GitHub", style: {
13
+ whiteSpace: 'nowrap',
14
+ fontWeight: 600,
15
+ color: accent,
16
+ textDecoration: 'underline',
17
+ textDecorationColor: `${accent}66`,
18
+ textUnderlineOffset: '2px',
19
+ }, onMouseEnter: (e) => {
20
+ e.currentTarget.style.textDecorationColor = accentHover;
21
+ }, onMouseLeave: (e) => {
22
+ e.currentTarget.style.textDecorationColor = `${accent}66`;
23
+ }, children: ["Guaranteed", _jsx("svg", { viewBox: "0 0 24 24", width: "12", height: "12", style: { marginLeft: '2px', display: 'inline', verticalAlign: '-1px' }, fill: "none", stroke: "currentColor", strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: _jsx("path", { d: "M7 17 17 7M9 7h8v8" }) })] })] })] })] }));
24
+ }
25
+ //# sourceMappingURL=PrivacyNote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrivacyNote.js","sourceRoot":"","sources":["../src/PrivacyNote.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAoEZ,MAAM,UAAU,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,GAAG,WAAW,EACrB,MAAM,GAAG,IAAI,EACb,QAAQ,GAAG,sEAAsE,EACjF,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,SAAS,EACvB,SAAS,EACT,KAAK,GACY;IACjB,OAAO,CACL,eACE,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,mBAAmB;YAC3B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,0BAA0B;YACtC,GAAG,KAAK;SACT,aAKD,eACE,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAC5D,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,aAElB,eAAM,CAAC,EAAC,0DAA0D,GAAG,EACrE,eAAM,CAAC,EAAC,uBAAuB,GAAG,IAC9B,EAEN,eAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,aAIlD,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,YAAG,QAAQ,GAAK,EAC1E,aAAG,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,gCAC9B,OAAO,iCACvB,MAAM,CAAC,CAAC,CAAC,kCAAkC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,OAAG,GAAG,EAChE,aACE,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,KAAK,EAAC,mEAA8D,EACpE,KAAK,EAAE;oCACL,UAAU,EAAE,QAAQ;oCACpB,UAAU,EAAE,GAAG;oCACf,KAAK,EAAE,MAAM;oCACb,cAAc,EAAE,WAAW;oCAC3B,mBAAmB,EAAE,GAAG,MAAM,IAAI;oCAClC,mBAAmB,EAAE,KAAK;iCAC3B,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;oCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,GAAG,WAAW,CAAA;gCACzD,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;oCAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,GAAG,GAAG,MAAM,IAAI,CAAA;gCAC3D,CAAC,2BAGD,cACE,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,EACtE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,iBACV,MAAM,YAElB,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,IACJ,IACF,IACA,IACF,CACP,CAAA;AACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
2
  import { type SuiteProduct, type SuiteProductId } from './SuiteSwitcher.js';
3
+ import { type BarTheme } from './barTheme.js';
3
4
  export interface UniversalAppsNavBarProps {
4
5
  /** Which app is currently mounting this nav. */
5
6
  product: SuiteProductId;
@@ -219,43 +220,9 @@ export interface UniversalAppsNavBarProps {
219
220
  */
220
221
  export declare function UniversalAppsNavBar({ product, productLogo, productHomeHref, fileMenu, onHome, centre, actions, theme, showLanguageSelector, products, portalHref, githubHref, hubLoginHref, suiteSwitcherIconSrc, showBrandStrip, contentMaxWidth, contentClassName, className, style, }: UniversalAppsNavBarProps): import("react/jsx-runtime").JSX.Element;
221
222
  /**
222
- * The bar's two colourways the bar's own chrome only.
223
- *
224
- * The DROPDOWNS have their own palette in `menuTheme.ts`, and `theme` is
225
- * forwarded to all three of them. The two live apart because they describe
226
- * different surfaces: the bar's `surface` is the page-level chrome (`#0f172a`
227
- * in dark) while a panel floating above it has to be a step lighter to read as
228
- * floating at all. Merging them would force one of those two to be wrong.
229
- *
230
- * ⚠️ Historical note, because 0.106.0's version of this comment said the
231
- * opposite and may still be quoted somewhere: from 0.107.0 a dark bar opens
232
- * dark menus. What is still NOT themed for you is the host app's own `actions`
233
- * / `extras` markup, which the SDK renders verbatim.
223
+ * The Apps bar's name for the colourway union. Structurally identical to
224
+ * `BarTheme` (and to `MenuTheme`); kept as its own exported name because it
225
+ * has been in consumers' props since 0.106.0.
234
226
  */
235
- declare const CHROME: {
236
- readonly light: {
237
- readonly surface: "#ffffff";
238
- readonly border: "#e2e8f0";
239
- readonly text: "#0f172a";
240
- readonly muted: "#475569";
241
- readonly separator: "#cbd5e1";
242
- readonly buttonBg: "#ffffff";
243
- readonly buttonBorder: "#e2e8f0";
244
- readonly hoverBg: "#f8fafc";
245
- readonly hoverBorder: "#cbd5e1";
246
- };
247
- readonly dark: {
248
- readonly surface: "#0f172a";
249
- readonly border: "#1e293b";
250
- readonly text: "#f1f5f9";
251
- readonly muted: "#94a3b8";
252
- readonly separator: "#475569";
253
- readonly buttonBg: "#1e293b";
254
- readonly buttonBorder: "#334155";
255
- readonly hoverBg: "#334155";
256
- readonly hoverBorder: "#475569";
257
- };
258
- };
259
- export type NavBarTheme = keyof typeof CHROME;
260
- export {};
227
+ export type NavBarTheme = BarTheme;
261
228
  //# sourceMappingURL=UniversalAppsNavBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAppsNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalAppsNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvF,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAgB3B,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,OAAO,EAAE,cAAc,CAAA;IACvB;;;;;;OAMG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAe,EAIf,oBAA2B,EAC3B,QAA0C,EAC1C,UAA8C,EAC9C,UAA0D,EAC1D,YAA+C,EAC/C,oBAAoB,EACpB,cAAqB,EACrB,eAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,wBAAwB,2CAwZ1B;AAuCD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;CAyBF,CAAA;AAEV,MAAM,MAAM,WAAW,GAAG,MAAM,OAAO,MAAM,CAAA"}
1
+ {"version":3,"file":"UniversalAppsNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalAppsNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEvF,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAelD,MAAM,WAAW,wBAAwB;IACvC,gDAAgD;IAChD,OAAO,EAAE,cAAc,CAAA;IACvB;;;;;;OAMG;IACH,WAAW,EAAE,SAAS,CAAA;IACtB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;;;;;OASG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACjC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAe,EAIf,oBAA2B,EAC3B,QAA0C,EAC1C,UAA8C,EAC9C,UAA0D,EAC1D,YAA+C,EAC/C,oBAAoB,EACpB,cAAqB,EACrB,eAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,wBAAwB,2CAwZ1B;AAoDD;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAA"}
@@ -4,6 +4,7 @@ import { useState, useEffect, useRef } from 'react';
4
4
  import { ChangelogMenu } from './ChangelogMenu.js';
5
5
  import { SuiteSwitcher, DEFAULT_UNIVERSAL_APPS_PRODUCTS, APP_CATEGORY_ORDER, } from './SuiteSwitcher.js';
6
6
  import { UniversalBar } from './UniversalBar.js';
7
+ import { BAR } from './barTheme.js';
7
8
  import { BRAND } from './brand.js';
8
9
  import { firstNameFromEmail, firstNameOf, greetedLabel, useRotatingGreeting } from './greeting.js';
9
10
  import { t } from './i18n.js';
@@ -325,45 +326,17 @@ function useMobile(breakpoint = 768) {
325
326
  // Styles
326
327
  // ──────────────────────────────────────────────────────────────────────────────
327
328
  /**
328
- * The bar's two colourways the bar's own chrome only.
329
- *
330
- * The DROPDOWNS have their own palette in `menuTheme.ts`, and `theme` is
331
- * forwarded to all three of them. The two live apart because they describe
332
- * different surfaces: the bar's `surface` is the page-level chrome (`#0f172a`
333
- * in dark) while a panel floating above it has to be a step lighter to read as
334
- * floating at all. Merging them would force one of those two to be wrong.
329
+ * The bar's chrome palette now lives in `barTheme.ts`, shared with
330
+ * `UniversalNavBar` (the Assess bar), which gained the same `theme` prop in
331
+ * 0.112.0. `CHROME` stays as a local alias so the ~15 call sites below read
332
+ * unchanged; the table and the reasoning moved, not the meaning.
335
333
  *
336
334
  * ⚠️ Historical note, because 0.106.0's version of this comment said the
337
335
  * opposite and may still be quoted somewhere: from 0.107.0 a dark bar opens
338
336
  * dark menus. What is still NOT themed for you is the host app's own `actions`
339
337
  * / `extras` markup, which the SDK renders verbatim.
340
338
  */
341
- const CHROME = {
342
- light: {
343
- surface: '#ffffff',
344
- border: '#e2e8f0',
345
- text: '#0f172a',
346
- muted: '#475569',
347
- separator: '#cbd5e1',
348
- buttonBg: '#ffffff',
349
- buttonBorder: '#e2e8f0',
350
- hoverBg: '#f8fafc',
351
- hoverBorder: '#cbd5e1',
352
- },
353
- dark: {
354
- surface: '#0f172a',
355
- border: '#1e293b',
356
- text: '#f1f5f9',
357
- // Lifted well clear of the light theme's #475569, which measures 2.6:1 on
358
- // this surface. The brand claim is 13px text and has to stay legible.
359
- muted: '#94a3b8',
360
- separator: '#475569',
361
- buttonBg: '#1e293b',
362
- buttonBorder: '#334155',
363
- hoverBg: '#334155',
364
- hoverBorder: '#475569',
365
- },
366
- };
339
+ const CHROME = BAR;
367
340
  const headerOuterStyle = (theme) => ({
368
341
  background: CHROME[theme].surface,
369
342
  borderBottom: `1px solid ${CHROME[theme].border}`,
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalAppsNavBar.js","sourceRoot":"","sources":["../src/UniversalAppsNavBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalAppsNavBar.js","sourceRoot":"","sources":["../src/UniversalAppsNavBar.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
2
  import { type SuiteProductId } from './SuiteSwitcher.js';
3
+ import { type BarTheme } from './barTheme.js';
3
4
  import { type KnowledgeBaseItem } from './KnowledgeBaseMenu.js';
4
5
  import { type UserProfileProps } from './UserProfile.js';
5
6
  export interface UniversalNavBarProps {
@@ -90,6 +91,28 @@ export interface UniversalNavBarProps {
90
91
  suiteSwitcherIconSrc?: string;
91
92
  /** Top brand strip — pass false to hide. Default: shown. */
92
93
  showBrandStrip?: boolean;
94
+ /**
95
+ * The colourway for the bar **and every dropdown it opens** — the suite
96
+ * switcher on the logo, Knowledge Base, My Company, the profile menu and the
97
+ * changelog panel. Default `'light'`, which is the exact bar every Assess
98
+ * product rendered before 0.112.0.
99
+ *
100
+ * The bar's own chrome comes from `BAR` in `barTheme.ts`; the panels come
101
+ * from `MENU` in `menuTheme.ts`. They are separate tables because a panel
102
+ * floating above a `#0f172a` bar has to be a step LIGHTER than it to read as
103
+ * floating at all.
104
+ *
105
+ * ⚠️ **`profileExtras` is rendered as-is and is NOT themed for you** — it is
106
+ * the host app's own markup. An app passing `theme="dark"` styles those rows
107
+ * itself; `MENU` is exported so it can read the exact colours of the panel
108
+ * they sit in rather than eyeballing a match. Same for a `productLogo` with
109
+ * baked-in colours.
110
+ *
111
+ * Nothing here reads the OS or a `.dark` class: the host owns the decision
112
+ * (it has the user's stored preference and the no-flash bootstrap script) and
113
+ * passes the answer down.
114
+ */
115
+ theme?: BarTheme;
93
116
  /** Where the central hub lives. Used for the "Sign in" link on anonymous sessions. */
94
117
  hubLoginHref?: string;
95
118
  /**
@@ -119,5 +142,5 @@ export interface UniversalNavBarProps {
119
142
  * │ · ⚙ · 👤 · ⊞ │
120
143
  * └──────────────────────────────────────────────────────────────────────┘
121
144
  */
122
- export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, newAssessmentLabel, knowledgeBase, settingsHref, user, profileExtras, showLanguageSelector, versionChip, suiteSwitcherIconSrc, showBrandStrip, hubLoginHref, contentMaxWidth, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
145
+ export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, newAssessmentLabel, knowledgeBase, settingsHref, user, profileExtras, showLanguageSelector, versionChip, suiteSwitcherIconSrc, showBrandStrip, theme, hubLoginHref, contentMaxWidth, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
123
146
  //# sourceMappingURL=UniversalNavBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvF,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE3F,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAarE,MAAM,WAAW,oBAAoB;IAEnC,2EAA2E;IAC3E,OAAO,EAAE,cAAc,CAAA;IACvB,2EAA2E;IAC3E,WAAW,EAAE,SAAS,CAAA;IAGtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAG9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAGD;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,CAAA;IAEzB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAGjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAM,aAAa,CAAA;CAC1B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,YAA0B,EAC1B,IAAI,EACJ,aAAa,EACb,oBAA2B,EAC3B,WAAW,EACX,oBAAoB,EACpB,cAAqB,EACrB,YAA+C,EAC/C,eAAsB,EACtB,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAkNtB"}
1
+ {"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA+B,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAGvF,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAE3F,OAAO,EAAO,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAarE,MAAM,WAAW,oBAAoB;IAEnC,2EAA2E;IAC3E,OAAO,EAAE,cAAc,CAAA;IACvB,2EAA2E;IAC3E,WAAW,EAAE,SAAS,CAAA;IAGtB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAG9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAEjC;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B,kFAAkF;IAClF,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,MAAM,CAAA;QACtB,YAAY,CAAC,EAAG,iBAAiB,EAAE,CAAA;QACnC,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAGD;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,CAAA;IAEzB;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAA;IAEhB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAGjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAM,aAAa,CAAA;CAC1B;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,iBAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,YAA0B,EAC1B,IAAI,EACJ,aAAa,EACb,oBAA2B,EAC3B,WAAW,EACX,oBAAoB,EACpB,cAAqB,EACrB,KAAe,EACf,YAA+C,EAC/C,eAAsB,EACtB,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAqNtB"}
@@ -5,6 +5,7 @@ import { ChangelogMenu } from './ChangelogMenu.js';
5
5
  import { CompanyMenu } from './CompanyMenu.js';
6
6
  import { SuiteSwitcher, DEFAULT_APP_GROUPS } from './SuiteSwitcher.js';
7
7
  import { UniversalBar } from './UniversalBar.js';
8
+ import { BAR } from './barTheme.js';
8
9
  import { KnowledgeBaseMenu } from './KnowledgeBaseMenu.js';
9
10
  import { UserProfile } from './UserProfile.js';
10
11
  import { useOrg, useUser } from './auth.js';
@@ -31,7 +32,7 @@ import { useSubscription } from './subscription.js';
31
32
  * │ · ⚙ · 👤 · ⊞ │
32
33
  * └──────────────────────────────────────────────────────────────────────┘
33
34
  */
34
- export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', newAssessmentLabel, knowledgeBase, settingsHref = '/settings', user, profileExtras, showLanguageSelector = true, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, hubLoginHref = 'https://app.unisim.co.uk/login', contentMaxWidth = 1280, className, style, }) {
35
+ export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', newAssessmentLabel, knowledgeBase, settingsHref = '/settings', user, profileExtras, showLanguageSelector = true, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, theme = 'light', hubLoginHref = 'https://app.unisim.co.uk/login', contentMaxWidth = 1280, className, style, }) {
35
36
  // ── Company label + icon ────────────────────────────────────────────────
36
37
  const { language } = useLanguage();
37
38
  const { org } = useOrg();
@@ -39,7 +40,7 @@ export function UniversalNavBar({ product, productLogo, companyLabel, companyIco
39
40
  const resolvedCompany = companyLabel ?? org?.name ?? t(language, 'nav.your_company');
40
41
  const resolvedIconUrl = companyIconUrl ?? branding.icon_url;
41
42
  const initial = (org?.name?.[0] ?? '?').toUpperCase();
42
- const iconBg = branding.brand_color ?? '#e2e8f0';
43
+ const iconBg = branding.brand_color ?? BAR[theme].iconFallbackBg;
43
44
  // ── User profile auto-wiring ───────────────────────────────────────────
44
45
  const resolvedUser = useResolvedUser(user, hubLoginHref);
45
46
  const { subscription } = useSubscription();
@@ -109,10 +110,10 @@ export function UniversalNavBar({ product, productLogo, companyLabel, companyIco
109
110
  // own <a> (e.g. clicking the wordmark to go home) still navigate as
110
111
  // before. A small ▾ chevron sits next to the logo so the affordance is
111
112
  // visible.
112
- const identityBlock = (_jsxs("div", { style: leftStyle, children: [_jsx(SuiteSwitcher, { current: product, align: "left", appGroups: DEFAULT_APP_GROUPS, hideOtherProducts: signedOut, disableOpen: signedOut, iconSrc: suiteSwitcherIconSrc, children: productLogo }), _jsx("span", { style: separatorStyle, "aria-hidden": true, children: "\u00B7" }), _jsx("span", { style: { color: '#94a3b8', marginRight: 6 }, children: t(language, 'nav.for') }), _jsx(CompanyBadge, { iconUrl: resolvedIconUrl, initial: initial, iconBg: iconBg, hasOrg: !!org }), _jsx("span", { style: companyLabelStyle, children: _jsx("span", { style: { color: org?.name ? '#0f172a' : '#94a3b8' }, children: resolvedCompany }) })] }));
113
+ const identityBlock = (_jsxs("div", { style: leftStyle, children: [_jsx(SuiteSwitcher, { current: product, align: "left", appGroups: DEFAULT_APP_GROUPS, hideOtherProducts: signedOut, disableOpen: signedOut, iconSrc: suiteSwitcherIconSrc, theme: theme, children: productLogo }), _jsx("span", { style: separatorStyle(theme), "aria-hidden": true, children: "\u00B7" }), _jsx("span", { style: { color: BAR[theme].faint, marginRight: 6 }, children: t(language, 'nav.for') }), _jsx(CompanyBadge, { iconUrl: resolvedIconUrl, initial: initial, iconBg: iconBg, hasOrg: !!org, theme: theme }), _jsx("span", { style: companyLabelStyle, children: _jsx("span", { style: { color: org?.name ? BAR[theme].text : BAR[theme].faint }, children: resolvedCompany }) })] }));
113
114
  return (_jsxs("div", { className: className, style: style, children: [showBrandStrip && _jsx(UniversalBar, {}), isMobile ? (
114
115
  // ── Mobile layout ─────────────────────────────────────────────────
115
- _jsxs("div", { ref: mobileHeaderRef, style: { ...headerOuterStyle, position: 'relative' }, children: [_jsxs("header", { style: mobileHeaderInnerStyle, children: [identityBlock, _jsx("button", { type: "button", "aria-label": mobileMenuOpen ? t(language, 'nav.menu_close') : t(language, 'nav.menu_open'), "aria-expanded": mobileMenuOpen, "aria-controls": "universal-mobile-menu", onClick: () => setMobileMenuOpen((v) => !v), style: hamburgerButtonStyle, children: _jsx(HamburgerIcon, { open: mobileMenuOpen }) })] }), _jsxs("div", { id: "universal-mobile-menu", role: "navigation", "aria-label": t(language, 'nav.menu_primary'), style: mobilePanelStyle(mobileMenuOpen), children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: mobileLinkRowStyle, onClick: () => setMobileMenuOpen(false), children: newAssessmentLabel ?? t(language, 'nav.new_assessment') })), knowledgeBase && (_jsx("div", { style: mobileMenuWrapStyle, children: _jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems, companyKBHref: knowledgeBase.companyKBHref, style: { display: 'block' }, triggerStyle: mobileMenuTriggerStyle }) })), _jsx("div", { style: mobileMenuWrapStyle, children: _jsx(CompanyMenu, { style: { display: 'block' }, triggerStyle: mobileMenuTriggerStyle }) }), _jsx("div", { style: mobileDividerStyle }), _jsxs("div", { style: mobileIconRowStyle, children: [_jsx(UserProfile, { ...resolvedUser, appSettingsHref: resolvedUser.appSettingsHref ?? settingsHref, extras: resolvedUser.extras ?? profileExtras, showLanguageSelector: showLanguageSelector, menuAlign: "left", actionsLabel: profileLabel, tier: subscription?.tier }), _jsx("span", { style: { flex: 1 } }), _jsx(ChangelogMenu, { iconSrc: suiteSwitcherIconSrc })] })] })] })) : (
116
+ _jsxs("div", { ref: mobileHeaderRef, style: { ...headerOuterStyle(theme), position: 'relative' }, children: [_jsxs("header", { style: mobileHeaderInnerStyle, children: [identityBlock, _jsx("button", { type: "button", "aria-label": mobileMenuOpen ? t(language, 'nav.menu_close') : t(language, 'nav.menu_open'), "aria-expanded": mobileMenuOpen, "aria-controls": "universal-mobile-menu", onClick: () => setMobileMenuOpen((v) => !v), style: hamburgerButtonStyle(theme), children: _jsx(HamburgerIcon, { open: mobileMenuOpen }) })] }), _jsxs("div", { id: "universal-mobile-menu", role: "navigation", "aria-label": t(language, 'nav.menu_primary'), style: mobilePanelStyle(mobileMenuOpen, theme), children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: mobileLinkRowStyle(theme), onClick: () => setMobileMenuOpen(false), children: newAssessmentLabel ?? t(language, 'nav.new_assessment') })), knowledgeBase && (_jsx("div", { style: mobileMenuWrapStyle(theme), children: _jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems, companyKBHref: knowledgeBase.companyKBHref, style: { display: 'block' }, triggerStyle: mobileMenuTriggerStyle(theme), theme: theme }) })), _jsx("div", { style: mobileMenuWrapStyle(theme), children: _jsx(CompanyMenu, { style: { display: 'block' }, triggerStyle: mobileMenuTriggerStyle(theme), theme: theme }) }), _jsx("div", { style: mobileDividerStyle(theme) }), _jsxs("div", { style: mobileIconRowStyle, children: [_jsx(UserProfile, { ...resolvedUser, appSettingsHref: resolvedUser.appSettingsHref ?? settingsHref, extras: resolvedUser.extras ?? profileExtras, showLanguageSelector: showLanguageSelector, menuAlign: "left", actionsLabel: profileLabel, tier: subscription?.tier, theme: theme }), _jsx("span", { style: { flex: 1 } }), _jsx(ChangelogMenu, { iconSrc: suiteSwitcherIconSrc, theme: theme })] })] })] })) : (
116
117
  // ── Desktop layout ────────────────────────────────────────────────
117
118
  // The ChangelogMenu is intentionally lifted out of the inner row and
118
119
  // pinned to the viewport's right edge (outside the maxWidth content
@@ -120,7 +121,7 @@ export function UniversalNavBar({ product, productLogo, companyLabel, companyIco
120
121
  // rather than a primary nav button. The inner row reserves
121
122
  // `paddingRight` on the right so the profile cluster doesn't slide
122
123
  // underneath it on screens around the maxWidth.
123
- _jsxs("div", { style: { ...headerOuterStyle, position: 'relative' }, children: [_jsxs("header", { style: { ...headerInnerStyle, maxWidth }, children: [identityBlock, _jsxs("nav", { style: centreStyle, "aria-label": t(language, 'nav.menu_primary'), children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: linkStyle, children: newAssessmentLabel ?? t(language, 'nav.new_assessment') })), knowledgeBase && (_jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems, companyKBHref: knowledgeBase.companyKBHref })), _jsx(CompanyMenu, {})] }), _jsx("div", { style: rightStyle, children: _jsx(UserProfile, { ...resolvedUser, appSettingsHref: resolvedUser.appSettingsHref ?? settingsHref, extras: resolvedUser.extras ?? profileExtras, showLanguageSelector: showLanguageSelector, actionsLabel: isCompact ? undefined : profileLabel, tier: subscription?.tier }) })] }), _jsx("div", { style: changelogFloatStyle, children: _jsx(ChangelogMenu, { iconSrc: suiteSwitcherIconSrc }) })] }))] }));
124
+ _jsxs("div", { style: { ...headerOuterStyle(theme), position: 'relative' }, children: [_jsxs("header", { style: { ...headerInnerStyle, maxWidth }, children: [identityBlock, _jsxs("nav", { style: centreStyle, "aria-label": t(language, 'nav.menu_primary'), children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: linkStyle(theme), children: newAssessmentLabel ?? t(language, 'nav.new_assessment') })), knowledgeBase && (_jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems, companyKBHref: knowledgeBase.companyKBHref, theme: theme })), _jsx(CompanyMenu, { theme: theme })] }), _jsx("div", { style: rightStyle, children: _jsx(UserProfile, { ...resolvedUser, appSettingsHref: resolvedUser.appSettingsHref ?? settingsHref, extras: resolvedUser.extras ?? profileExtras, showLanguageSelector: showLanguageSelector, actionsLabel: isCompact ? undefined : profileLabel, tier: subscription?.tier, theme: theme }) })] }), _jsx("div", { style: changelogFloatStyle, children: _jsx(ChangelogMenu, { iconSrc: suiteSwitcherIconSrc, theme: theme }) })] }))] }));
124
125
  }
125
126
  // ──────────────────────────────────────────────────────────────────────────────
126
127
  // useResolvedUser — combines an explicit `user` prop with auto-derived data
@@ -214,14 +215,14 @@ function HamburgerIcon({ open }) {
214
215
  // ──────────────────────────────────────────────────────────────────────────────
215
216
  // Subcomponents
216
217
  // ──────────────────────────────────────────────────────────────────────────────
217
- function CompanyBadge({ iconUrl, initial, iconBg, hasOrg, }) {
218
+ function CompanyBadge({ iconUrl, initial, iconBg, hasOrg, theme, }) {
218
219
  if (iconUrl) {
219
- return (_jsx("span", { style: iconImgWrapperStyle, children: _jsx("img", { src: iconUrl, alt: "", "aria-hidden": true, style: iconImgStyle }) }));
220
+ return (_jsx("span", { style: iconImgWrapperStyle(theme), children: _jsx("img", { src: iconUrl, alt: "", "aria-hidden": true, style: iconImgStyle }) }));
220
221
  }
221
222
  return (_jsx("span", { style: {
222
223
  ...iconFallbackStyle,
223
- background: hasOrg ? iconBg : '#e2e8f0',
224
- color: hasOrg ? readableTextOn(iconBg) : '#94a3b8',
224
+ background: hasOrg ? iconBg : BAR[theme].iconFallbackBg,
225
+ color: hasOrg ? readableTextOn(iconBg) : BAR[theme].iconFallbackText,
225
226
  }, "aria-hidden": true, children: hasOrg ? initial : '·' }));
226
227
  }
227
228
  function readableTextOn(bgHex) {
@@ -237,20 +238,20 @@ function readableTextOn(bgHex) {
237
238
  // ──────────────────────────────────────────────────────────────────────────────
238
239
  // Styles
239
240
  // ──────────────────────────────────────────────────────────────────────────────
240
- // Outer wrapper: full viewport width. Carries the white background and the
241
+ // Outer wrapper: full viewport width. Carries the bar's background and the
241
242
  // bottom border so the line spans the page edge-to-edge regardless of the
242
243
  // inner content's max-width.
243
- const headerOuterStyle = {
244
- background: '#ffffff',
245
- borderBottom: '1px solid #e2e8f0',
244
+ const headerOuterStyle = (theme) => ({
245
+ background: BAR[theme].surface,
246
+ borderBottom: `1px solid ${BAR[theme].border}`,
246
247
  fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
247
- color: '#0f172a',
248
+ color: BAR[theme].text,
248
249
  // Establish a high stacking context for the whole bar (always paired with
249
250
  // position:relative at the usage site). Without this the bar's z-index is
250
251
  // auto, so host app content with its own positioned layers can paint over
251
252
  // open dropdowns and the mobile menu panel.
252
253
  zIndex: 1000,
253
- };
254
+ });
254
255
  // Inner row: capped at contentMaxWidth, centred. Holds the flex layout for
255
256
  // logo · centre links · right-hand controls. The extra right padding leaves
256
257
  // breathing room for the floating <ChangelogMenu /> that lives outside the
@@ -273,11 +274,11 @@ const leftStyle = {
273
274
  minWidth: 0,
274
275
  flexShrink: 0,
275
276
  };
276
- const separatorStyle = {
277
- color: '#cbd5e1',
277
+ const separatorStyle = (theme) => ({
278
+ color: BAR[theme].separator,
278
279
  fontSize: 12,
279
280
  margin: '0 2px',
280
- };
281
+ });
281
282
  const companyLabelStyle = {
282
283
  fontSize: 13,
283
284
  fontWeight: 500,
@@ -286,7 +287,7 @@ const companyLabelStyle = {
286
287
  textOverflow: 'ellipsis',
287
288
  maxWidth: 240,
288
289
  };
289
- const iconImgWrapperStyle = {
290
+ const iconImgWrapperStyle = (theme) => ({
290
291
  // As large as the bar allows — matches the 38px suite-switcher / profile
291
292
  // buttons so the company icon reads as a proper brand mark, not a tiny chip.
292
293
  width: 38,
@@ -296,9 +297,11 @@ const iconImgWrapperStyle = {
296
297
  display: 'inline-flex',
297
298
  alignItems: 'center',
298
299
  justifyContent: 'center',
299
- background: '#ffffff',
300
+ // White in both themes on purpose — see `iconTileBg` in barTheme.ts. An org
301
+ // icon is usually a dark mark on transparency; a dark tile erases it.
302
+ background: BAR[theme].iconTileBg,
300
303
  flexShrink: 0,
301
- };
304
+ });
302
305
  const iconImgStyle = {
303
306
  width: '100%',
304
307
  height: '100%',
@@ -330,13 +333,13 @@ const centreStyle = {
330
333
  marginRight: 24,
331
334
  minWidth: 0,
332
335
  };
333
- const linkStyle = {
336
+ const linkStyle = (theme) => ({
334
337
  fontSize: 14,
335
- color: '#374151',
338
+ color: BAR[theme].link,
336
339
  textDecoration: 'none',
337
340
  fontWeight: 500,
338
341
  transition: 'color 120ms',
339
- };
342
+ });
340
343
  const rightStyle = {
341
344
  display: 'inline-flex',
342
345
  alignItems: 'center',
@@ -368,30 +371,30 @@ const mobileHeaderInnerStyle = {
368
371
  minHeight: 56,
369
372
  boxSizing: 'border-box',
370
373
  };
371
- const hamburgerButtonStyle = {
374
+ const hamburgerButtonStyle = (theme) => ({
372
375
  display: 'inline-flex',
373
376
  alignItems: 'center',
374
377
  justifyContent: 'center',
375
378
  width: 38,
376
379
  height: 38,
377
380
  borderRadius: 10,
378
- border: '1px solid #e2e8f0',
379
- background: '#ffffff',
380
- color: '#374151',
381
+ border: `1px solid ${BAR[theme].buttonBorder}`,
382
+ background: BAR[theme].buttonBg,
383
+ color: BAR[theme].link,
381
384
  cursor: 'pointer',
382
385
  padding: 0,
383
386
  flexShrink: 0,
384
387
  transition: 'background 120ms, border-color 120ms',
385
- };
386
- function mobilePanelStyle(open) {
388
+ });
389
+ function mobilePanelStyle(open, theme) {
387
390
  return {
388
391
  position: 'absolute',
389
392
  top: '100%',
390
393
  left: 0,
391
394
  right: 0,
392
- background: '#ffffff',
393
- borderBottom: '1px solid #e2e8f0',
394
- boxShadow: '0 8px 20px -4px rgba(15,23,42,0.12)',
395
+ background: BAR[theme].panelBg,
396
+ borderBottom: `1px solid ${BAR[theme].panelBorder}`,
397
+ boxShadow: BAR[theme].panelShadow,
395
398
  opacity: open ? 1 : 0,
396
399
  visibility: open ? 'visible' : 'hidden',
397
400
  transform: open ? 'translateY(0)' : 'translateY(-6px)',
@@ -401,33 +404,33 @@ function mobilePanelStyle(open) {
401
404
  fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
402
405
  };
403
406
  }
404
- const mobileLinkRowStyle = {
407
+ const mobileLinkRowStyle = (theme) => ({
405
408
  display: 'block',
406
409
  padding: '14px 20px',
407
410
  fontSize: 15,
408
411
  fontWeight: 500,
409
- color: '#374151',
412
+ color: BAR[theme].link,
410
413
  textDecoration: 'none',
411
- borderBottom: '1px solid #f1f5f9',
412
- };
414
+ borderBottom: `1px solid ${BAR[theme].rowBorder}`,
415
+ });
413
416
  // Wrapper div that gives KnowledgeBaseMenu / CompanyMenu a full-width row slot.
414
- const mobileMenuWrapStyle = {
415
- borderBottom: '1px solid #f1f5f9',
416
- };
417
+ const mobileMenuWrapStyle = (theme) => ({
418
+ borderBottom: `1px solid ${BAR[theme].rowBorder}`,
419
+ });
417
420
  // Passed as triggerStyle to KB / Company menus so their button fills the row.
418
- const mobileMenuTriggerStyle = {
421
+ const mobileMenuTriggerStyle = (theme) => ({
419
422
  width: '100%',
420
423
  padding: '14px 20px',
421
424
  justifyContent: 'space-between',
422
425
  fontSize: 15,
423
426
  fontWeight: 500,
424
- color: '#374151',
425
- };
426
- const mobileDividerStyle = {
427
+ color: BAR[theme].link,
428
+ });
429
+ const mobileDividerStyle = (theme) => ({
427
430
  height: 1,
428
- background: '#f1f5f9',
431
+ background: BAR[theme].rowBorder,
429
432
  margin: '2px 0',
430
- };
433
+ });
431
434
  const mobileIconRowStyle = {
432
435
  display: 'flex',
433
436
  alignItems: 'center',