@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.
- package/dist/ChangelogMenu.d.ts +17 -1
- package/dist/ChangelogMenu.d.ts.map +1 -1
- package/dist/ChangelogMenu.js +17 -3
- package/dist/ChangelogMenu.js.map +1 -1
- package/dist/CompanyMenu.d.ts +12 -1
- package/dist/CompanyMenu.d.ts.map +1 -1
- package/dist/CompanyMenu.js +25 -16
- package/dist/CompanyMenu.js.map +1 -1
- package/dist/KnowledgeBaseMenu.d.ts +11 -1
- package/dist/KnowledgeBaseMenu.d.ts.map +1 -1
- package/dist/KnowledgeBaseMenu.js +63 -33
- package/dist/KnowledgeBaseMenu.js.map +1 -1
- package/dist/PrivacyNote.d.ts +66 -0
- package/dist/PrivacyNote.d.ts.map +1 -0
- package/dist/PrivacyNote.js +25 -0
- package/dist/PrivacyNote.js.map +1 -0
- package/dist/UniversalAppsNavBar.d.ts +5 -38
- package/dist/UniversalAppsNavBar.d.ts.map +1 -1
- package/dist/UniversalAppsNavBar.js +6 -33
- package/dist/UniversalAppsNavBar.js.map +1 -1
- package/dist/UniversalNavBar.d.ts +24 -1
- package/dist/UniversalNavBar.d.ts.map +1 -1
- package/dist/UniversalNavBar.js +49 -46
- package/dist/UniversalNavBar.js.map +1 -1
- package/dist/UserProfile.js +1 -1
- package/dist/UserProfile.js.map +1 -1
- package/dist/barTheme.d.ts +46 -0
- package/dist/barTheme.d.ts.map +1 -0
- package/dist/barTheme.js +90 -0
- package/dist/barTheme.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/menuTheme.js +1 -1
- package/dist/menuTheme.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
223
|
-
*
|
|
224
|
-
*
|
|
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
|
-
|
|
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;
|
|
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
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
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":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAsC,MAAM,OAAO,CAAA;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EACL,aAAa,EACb,+BAA+B,EAC/B,kBAAkB,GAInB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAClG,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AA2MnD,iFAAiF;AACjF,YAAY;AACZ,iFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,WAAW,EACX,eAAe,EACf,QAAQ,EACR,MAAM,EACN,MAAM,EACN,OAAO,EACP,KAAK,GAAG,OAAO;AACf,0EAA0E;AAC1E,4EAA4E;AAC5E,+CAA+C;AAC/C,oBAAoB,GAAG,IAAI,EAC3B,QAAQ,GAAG,+BAA+B,EAC1C,UAAU,GAAG,iCAAiC,EAC9C,UAAU,GAAG,6CAA6C,EAC1D,YAAY,GAAG,gCAAgC,EAC/C,oBAAoB,EACpB,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,IAAI,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,GACoB;IACzB,MAAM,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IAClC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAA;IAChD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,EAAE,CAAA;IACzD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,YAAY,EAAE,CAAA;IACxD,MAAM,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAA;IAE1C,0EAA0E;IAC1E,4EAA4E;IAC5E,0DAA0D;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEnD,MAAM,WAAW,GAAI,OAAO,EAAE,IAAmC,EAAE,YAAY,KAAK,IAAI,CAAA;IACxF,MAAM,YAAY,GAAG,CAAC,WAAW,IAAI,cAAc,CAAC;QAClD,CAAC,CAAE,EAAE,QAAQ,EAAE,GAAG,EAAY;QAC9B,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC;YACtB,iEAAiE;YACjE,qEAAqE;YACrE,qEAAqE;YACrE,yCAAyC;YACzC,CAAC,CAAC,CAAC,UAAU;gBACT,CAAC,CAAE,EAAY;gBACf,CAAC,CAAE;oBACC,uDAAuD;oBACvD,8DAA8D;oBAC9D,UAAU,EAAE,YAAY;oBACxB,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;iBAC/B,CAAC;YAClB,CAAC,CAAC;gBACE,IAAI,EAAO,OAAO,EAAE,YAAY,IAAI,SAAS;gBAC7C,KAAK,EAAM,IAAI,CAAC,KAAK,IAAI,SAAS;gBAClC,QAAQ,EAAG,OAAO,EAAE,UAAU,IAAI,IAAI;gBACtC,SAAS,EAAE,GAAG,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA,CAAC,CAAC;aAClD,CAAA;IACP,MAAM,QAAQ,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC,CAAC,eAAe,CAAA;IAC/F,0EAA0E;IAC1E,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,mBAAmB,GAAG,CAAC,CAAC,gBAAgB,CAAA;IAE9C,4EAA4E;IAC5E,2EAA2E;IAC3E,yEAAyE;IACzE,uEAAuE;IACvE,wDAAwD;IACxD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,IAAI,CAAA;IAEhE,uEAAuE;IACvE,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,QAAQ,CAAA;IACxE,MAAM,YAAY,GAAG,CAAC,GAAe,EAAE;QACrC,MAAM,MAAM,GAAe,kBAAkB;aAC1C,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7B,KAAK;YACL,WAAW,EAAE,QAAQ,KAAK,eAAe;YACzC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;SAC1D,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACvC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,MAAM;gBACb,kEAAkE;gBAClE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC;gBAC/C,QAAQ,EAAE,IAAI;aACf,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,CAAA;IAEJ,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAA;IAE5B,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,2EAA2E;IAC3E,4DAA4D;IAC5D,EAAE;IACF,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,yBAAyB;IACzB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,CAAC,WAAW,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAA;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,SAAS,GAAG,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,IAAI,SAAS,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC,CAAA;IACnG,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC3F,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,YAAY,GAAG,OAAO,IAAI,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAA;IACpE,2EAA2E;IAC3E,wEAAwE;IACxE,sEAAsE;IACtE,uEAAuE;IACvE,0EAA0E;IAC1E,MAAM,SAAS,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IAC7C,2EAA2E;IAC3E,sEAAsE;IACtE,6EAA6E;IAC7E,0EAA0E;IAC1E,uEAAuE;IACvE,4EAA4E;IAC5E,gDAAgD;IAChD,MAAM,SAAS,GAAS,MAAM,CAAc,IAAI,CAAC,CAAA;IACjD,MAAM,WAAW,GAAO,MAAM,CAAiB,IAAI,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAU,MAAM,CAAoB,IAAI,CAAC,CAAA;IACvD,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,MAAM,SAAS,GAAG,EAAE,CAAA;QACpB,SAAS,OAAO;YACd,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAA;YAC9B,MAAM,IAAI,GAAI,WAAW,CAAC,OAAO,CAAA;YACjC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;gBAAE,OAAM;YAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,EAAE,CAAA;YAC/C,MAAM,QAAQ,GAAI,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC9C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,qBAAqB,EAAE,CAAA;YAClE,kBAAkB,CAChB,QAAQ,CAAC,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,IAAI;gBAC3C,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAC9D,CAAA;QACH,CAAC;QACD,OAAO,EAAE,CAAA;QACT,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,EAAE,GAAG,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrF,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,SAAS,CAAC,OAAO;gBAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;YACpD,IAAI,WAAW,CAAC,OAAO;gBAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAA;QAC1D,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC1C,OAAO,GAAG,EAAE;YACV,EAAE,EAAE,UAAU,EAAE,CAAA;YAChB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACf,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3D,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACzC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc;YAAE,OAAM;QAC3B,SAAS,MAAM,CAAC,CAAa;YAC3B,IAAI,eAAe,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBACnF,iBAAiB,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;QACD,SAAS,KAAK,CAAC,CAAgB;YAC7B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAAE,iBAAiB,CAAC,KAAK,CAAC,CAAA;QAClD,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC9C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC3C,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACjD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAChD,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAEpB,MAAM,eAAe,GAAG,CACtB,gBAAM,KAAK,EAAE,oBAAoB,aAC9B,WAAW,EACX,WAAW,IAAI,eAAM,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAG,WAAW,GAAQ,IACrE,CACR,CAAA;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,yCAAyC;IACzC,EAAE;IACF,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,+EAA+E;IAC/E,qEAAqE;IACrE,2DAA2D;IAC3D,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,8EAA8E;IAC9E,EAAE;IACF,wEAAwE;IACxE,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,6EAA6E;IAC7E,8EAA8E;IAC9E,sCAAsC;IACtC,EAAE;IACF,2EAA2E;IAC3E,6EAA6E;IAC7E,2EAA2E;IAC3E,eAAe;IACf,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CACxC,gBAAM,KAAK,EAAE,oBAAoB,aAC/B,YACE,IAAI,EAAE,eAAe;gBACrB,uEAAuE;gBACvE,0EAA0E;gBAC1E,yEAAyE;gBACzE,wCAAwC;gBACxC,KAAK,EAAE,mBAAmB;oBACxB,CAAC,CAAC,EAAE,GAAG,iBAAiB,EAAE,UAAU,EAAE,CAAC,mBAAmB,EAAE;oBAC5D,CAAC,CAAC,iBAAiB,gBACT,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,SAAS,CAAC,CAAC,CAAC,MAAM,YAEzD,WAAW,GACV,EACH,WAAW,IAAI,eAAM,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,YAAG,WAAW,GAAQ,IACrE,CACR,CAAC,CAAC,CAAC,CACF,eACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,mBACG,MAAM,gBACR,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC,EAC/C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACvC,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,CAAA;YACzB,CAAC;QACH,CAAC,EACD,KAAK,EAAE,mBAAmB,YAEzB,eAAe,GACX,CACR,CAAA;IAED,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,WAAW,GAAG,CAClB,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,gBACH,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC;QACnC,2EAA2E;QAC3E,qEAAqE;QACrE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAC7B,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,UAAU,CAAA;YACpE,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,WAAW,CAAA;QACxE,CAAC,EACD,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE;YAClB,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAA;YACzD,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAA;QAChE,CAAC,YAED,KAAC,QAAQ,KAAG,GACL,CACV,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,eAAK,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,aACpC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CACxB,KAAC,aAAa,IACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK;gBACZ,sEAAsE;gBACtE,uEAAuE;gBACvE,+DAA+D;gBAC/D,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EACtB,KAAK,EAAC,MAAM,EACZ,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE;oBACX,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,sBAAsB,CAAC;oBAC5C,KAAK,EAAI,CAAC,CAAC,QAAQ,EAAE,yBAAyB,CAAC;iBAChD,EACD,SAAS,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC7D,cAAc,kBAEb,eAAe,GACF,CACf,EAIA,CAAC,OAAO,IAAI,QAAQ,IAAI,CACvB,8BACE,eAAM,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,4CAAsB,EACxD,cAAK,KAAK,EAAE,iBAAiB,YAAG,QAAQ,GAAO,IAC9C,CACJ,IACG,CACP,CAAA;IAED,MAAM,YAAY,GAAG,CACnB,eAAK,GAAG,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,aASnG,KAAC,WAAW,OACN,YAAY,EAChB,SAAS,EAAE,UAAU,EACrB,SAAS,EAAC,OAAO,EACjB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,EAAE,IAAI,EACjD,OAAO,EAAE,OAAO;gBAChB,uEAAuE;gBACvE,sDAAsD;gBACtD,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,KAAK,EAAE,KAAK,GACZ,EACF,KAAC,aAAa,IAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,KAAK,GAAI,IAC1D,CACP,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,aACpC,cAAc,IAAI,KAAC,YAAY,KAAG,EACnC,eAAK,KAAK,EAAE,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,aAC9D,kBACE,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,mBAAmB;4BACxB,CAAC,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;4BACvD,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,aAE1E,aAAa,EAIb,MAAM,IAAI,cAAK,KAAK,EAAE,eAAe,YAAG,MAAM,GAAO,EAGrD,mBAAmB,IAAI,YAAY,IAC7B,EAWR,SAAS,IAAI,UAAU,IAAI,CAC1B,aACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,UAAU,EAChB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,YAAY,EAChB,KAAK,EAAE;4BACL,GAAG,eAAe;4BAClB,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAiB,EAAE,aAAa,EAAE,MAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;yBAChG,aAED,eAAM,KAAK,EAAE,kBAAkB,qBAAa,EAC5C,gBAAM,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,aACnC,CAAC,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,IAC5D,IACL,CACL,EACA,CAAC,mBAAmB,IAAI,YAAY,IACjC,EACL,CAAC,UAAU,IAAI,CACd,KAAC,YAAY,IACX,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EACnC,YAAY,EAAE,YAAY,GAC1B,CACH,IACG,CACP,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,8DAA8D;AAC9D,SAAS,QAAQ;IACf,OAAO,CACL,eACE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAC5E,WAAW,EAAC,GAAG,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAC5D,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,kCAGjD,eAAM,CAAC,EAAC,oBAAoB,GAAG,EAC/B,eAAM,CAAC,EAAC,oBAAoB,GAAG,EAC/B,eAAM,CAAC,EAAC,eAAe,GAAG,IACtB,CACP,CAAA;AACH,CAAC;AAED,iFAAiF;AACjF,mEAAmE;AACnE,iFAAiF;AAEjF,SAAS,SAAS,CAAC,UAAU,GAAG,GAAG;IACjC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,UAAU,GAAG,CAAC,KAAK,CAAC,CAAA;QAChE,WAAW,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACvB,MAAM,OAAO,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAClE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxD,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAChB,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,iFAAiF;AACjF,SAAS;AACT,iFAAiF;AAEjF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,GAAG;IACb,KAAK,EAAE;QACL,OAAO,EAAO,SAAS;QACvB,MAAM,EAAQ,SAAS;QACvB,IAAI,EAAU,SAAS;QACvB,KAAK,EAAS,SAAS;QACvB,SAAS,EAAK,SAAS;QACvB,QAAQ,EAAM,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAO,SAAS;QACvB,WAAW,EAAG,SAAS;KACxB;IACD,IAAI,EAAE;QACJ,OAAO,EAAO,SAAS;QACvB,MAAM,EAAQ,SAAS;QACvB,IAAI,EAAU,SAAS;QACvB,0EAA0E;QAC1E,sEAAsE;QACtE,KAAK,EAAS,SAAS;QACvB,SAAS,EAAK,SAAS;QACvB,QAAQ,EAAM,SAAS;QACvB,YAAY,EAAE,SAAS;QACvB,OAAO,EAAO,SAAS;QACvB,WAAW,EAAG,SAAS;KACxB;CACO,CAAA;AAIV,MAAM,gBAAgB,GAAG,CAAC,KAAkB,EAAiB,EAAE,CAAC,CAAC;IAC/D,UAAU,EAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;IACnC,YAAY,EAAE,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE;IACjD,UAAU,EAAI,sFAAsF;IACpG,KAAK,EAAS,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI;IAChC,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,yEAAyE;IACzE,MAAM,EAAQ,IAAI;CACnB,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAkB;IACtC,OAAO,EAAS,MAAM;IACtB,UAAU,EAAM,QAAQ;IACxB,cAAc,EAAE,YAAY;IAC5B,GAAG,EAAa,CAAC;IACjB,OAAO,EAAS,qBAAqB;IACrC,MAAM,EAAU,QAAQ;IACxB,SAAS,EAAO,EAAE;IAClB,SAAS,EAAO,YAAY;CAC7B,CAAA;AAED,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,uBAAuB,GAAkB;IAC7C,OAAO,EAAS,MAAM;IACtB,UAAU,EAAM,QAAQ;IACxB,cAAc,EAAE,YAAY;IAC5B,UAAU,EAAM,EAAE;IAClB,aAAa,EAAG,EAAE;IAClB,SAAS,EAAO,EAAE;IAClB,SAAS,EAAO,YAAY;CAC7B,CAAA;AAED,4EAA4E;AAC5E,MAAM,uBAAuB,GAAkB;IAC7C,UAAU,EAAE,MAAM;IAClB,OAAO,EAAK,aAAa;IACzB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAS,CAAC;IACb,UAAU,EAAE,CAAC;CACd,CAAA;AAED,MAAM,sBAAsB,GAAkB;IAC5C,OAAO,EAAS,MAAM;IACtB,UAAU,EAAM,QAAQ;IACxB,cAAc,EAAE,YAAY;IAC5B,GAAG,EAAa,CAAC;IACjB,OAAO,EAAS,qBAAqB;IACrC,MAAM,EAAU,QAAQ;IACxB,SAAS,EAAO,EAAE;IAClB,SAAS,EAAO,YAAY;CAC7B,CAAA;AAED,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAK,aAAa;IACzB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAS,CAAC;IACb,QAAQ,EAAI,CAAC;IACb,UAAU,EAAE,CAAC;IACb,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,iDAAiD;IACjD,QAAQ,EAAI,QAAQ;CACrB,CAAA;AAED,MAAM,cAAc,GAAG,CAAC,KAAkB,EAAiB,EAAE,CAAC,CAAC;IAC7D,KAAK,EAAK,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS;IACjC,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAI,OAAO;CAClB,CAAC,CAAA;AAEF,8EAA8E;AAC9E,4DAA4D;AAC5D,MAAM,oBAAoB,GAAkB;IAC1C,OAAO,EAAK,aAAa;IACzB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAS,CAAC;IACb,QAAQ,EAAI,CAAC;CACd,CAAA;AAED,kEAAkE;AAClE,iFAAiF;AACjF,uDAAuD;AACvD,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B,+EAA+E;AAC/E,yEAAyE;AACzE,6EAA6E;AAC7E,qDAAqD;AACrD,MAAM,mBAAmB,GAAkB;IACzC,OAAO,EAAO,aAAa;IAC3B,UAAU,EAAI,QAAQ;IACtB,kEAAkE;IAClE,QAAQ,EAAM,CAAC;IACf,YAAY,EAAE,CAAC;IACf,MAAM,EAAQ,SAAS;CACxB,CAAA;AAED,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,iBAAiB,GAAkB;IACvC,OAAO,EAAS,aAAa;IAC7B,UAAU,EAAM,QAAQ;IACxB,yEAAyE;IACzE,iEAAiE;IACjE,QAAQ,EAAQ,CAAC;IACjB,cAAc,EAAE,MAAM;IACtB,KAAK,EAAW,SAAS;IACzB,OAAO,EAAS,OAAO,mBAAmB,IAAI;IAC9C,YAAY,EAAI,CAAC;IACjB,MAAM,EAAU,SAAS;CAC1B,CAAA;AAED,0EAA0E;AAC1E,gFAAgF;AAChF,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,eAAe,GAAkB;IACrC,IAAI,EAAY,UAAU;IAC1B,OAAO,EAAS,MAAM;IACtB,UAAU,EAAM,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,QAAQ,EAAQ,CAAC;IACjB,GAAG,EAAa,CAAC;CAClB,CAAA;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,6EAA6E;AAC7E,2EAA2E;AAC3E,iDAAiD;AACjD,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAiB,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAS,aAAa;IAC7B,UAAU,EAAM,QAAQ;IACxB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAM,CAAC;IACjB,KAAK,EAAW,EAAE;IAClB,MAAM,EAAU,EAAE;IAClB,OAAO,EAAS,CAAC;IACjB,YAAY,EAAI,KAAK;IACrB,MAAM,EAAU,aAAa,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE;IACzD,UAAU,EAAM,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ;IACtC,KAAK,EAAW,SAAS;IACzB,MAAM,EAAU,SAAS;IACzB,UAAU,EAAM,sCAAsC;CACvD,CAAC,CAAA;AAEF,0EAA0E;AAC1E,uBAAuB;AACvB,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO;IAClC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW;CACvC,CAAC,CAAA;AAEF,6EAA6E;AAC7E,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,CAAC,KAAkB,EAAiB,EAAE,CAAC,CAAC;IAC/D,QAAQ,EAAM,EAAE;IAChB,UAAU,EAAI,GAAG;IACjB,KAAK,EAAS,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI;IAChC,UAAU,EAAI,QAAQ;IACtB,aAAa,EAAE,SAAS;IACxB,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,QAAQ,EAAM,QAAQ;IACtB,YAAY,EAAE,UAAU;IACxB,QAAQ,EAAM,CAAC;CAChB,CAAC,CAAA;AAEF,MAAM,iBAAiB,GAAkB;IACvC,OAAO,EAAK,aAAa;IACzB,UAAU,EAAE,QAAQ;CACrB,CAAA;AAED,MAAM,mBAAmB,GAAkB;IACzC,QAAQ,EAAI,UAAU;IACtB,KAAK,EAAO,EAAE;IACd,GAAG,EAAS,KAAK;IACjB,SAAS,EAAG,kBAAkB;IAC9B,OAAO,EAAK,aAAa;IACzB,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAS,CAAC;IACb,MAAM,EAAM,CAAC;CACd,CAAA;AAED,uEAAuE;AACvE,uEAAuE;AACvE,MAAM,eAAe,GAAkB;IACrC,QAAQ,EAAQ,UAAU;IAC1B,IAAI,EAAY,KAAK;IACrB,GAAG,EAAa,KAAK;IACrB,SAAS,EAAO,uBAAuB;IACvC,OAAO,EAAS,aAAa;IAC7B,UAAU,EAAM,QAAQ;IACxB,GAAG,EAAa,CAAC;IACjB,QAAQ,EAAQ,EAAE;IAClB,UAAU,EAAM,GAAG;IACnB,UAAU,EAAM,QAAQ;IACxB,aAAa,EAAG,QAAQ;IACxB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAM,MAAM;CACvB,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAkB,EAAiB,EAAE,CAAC,CAAC;IACjE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK;CAC3B,CAAC,CAAA;AAEF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,wCAAwC;AACxC,MAAM,kBAAkB,GAAkB;IACxC,8EAA8E;IAC9E,4EAA4E;IAC5E,qDAAqD;IACrD,KAAK,EAAO,KAAK,CAAC,UAAU;IAC5B,UAAU,EAAE,GAAG;CAChB,CAAA"}
|
|
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,
|
|
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"}
|
package/dist/UniversalNavBar.js
CHANGED
|
@@ -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 ??
|
|
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:
|
|
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 :
|
|
224
|
-
color: hasOrg ? readableTextOn(iconBg) :
|
|
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
|
|
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:
|
|
245
|
-
borderBottom:
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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:
|
|
379
|
-
background:
|
|
380
|
-
color:
|
|
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:
|
|
393
|
-
borderBottom:
|
|
394
|
-
boxShadow:
|
|
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:
|
|
412
|
+
color: BAR[theme].link,
|
|
410
413
|
textDecoration: 'none',
|
|
411
|
-
borderBottom:
|
|
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:
|
|
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:
|
|
425
|
-
};
|
|
426
|
-
const mobileDividerStyle = {
|
|
427
|
+
color: BAR[theme].link,
|
|
428
|
+
});
|
|
429
|
+
const mobileDividerStyle = (theme) => ({
|
|
427
430
|
height: 1,
|
|
428
|
-
background:
|
|
431
|
+
background: BAR[theme].rowBorder,
|
|
429
432
|
margin: '2px 0',
|
|
430
|
-
};
|
|
433
|
+
});
|
|
431
434
|
const mobileIconRowStyle = {
|
|
432
435
|
display: 'flex',
|
|
433
436
|
alignItems: 'center',
|