@unisim/sdk 0.140.0 → 0.140.2

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.
@@ -60,6 +60,10 @@ export function UserProfile({ name, email, photoUrl, initials, profileHref = 'ht
60
60
  // click) without the panel flashing empty on every reopen afterwards.
61
61
  const limitsEnabled = showLimits && showHeader;
62
62
  const [limitsOpen, setLimitsOpen] = useState(false);
63
+ // Where the account panel opens: beside the menu (desktop), or IN PLACE
64
+ // under the header when there is no room beside it (a phone). Decided at
65
+ // the moment it opens — see the header's onClick.
66
+ const [accountInline, setAccountInline] = useState(false);
63
67
  // ── Desktop: the hub is not reachable as a plain link ────────────────────
64
68
  // In an Electron shell every http(s) href is handed to the SYSTEM browser,
65
69
  // which has its own cookie jar and none of this app's session — so "View
@@ -149,32 +153,74 @@ export function UserProfile({ name, email, photoUrl, initials, profileHref = 'ht
149
153
  onClose?.();
150
154
  };
151
155
  const avatar = (_jsx(ProfileAvatar, { photoUrl: photoUrl, name: name, initials: initials, noAccount: noAccount, size: avatarSize, theme: theme }));
156
+ // ── The rows that belong to the ACCOUNT ───────────────────────────────────
157
+ // Written once, and placed in one of two homes. James, 2026-09-11: "put the
158
+ // plan & limits at the top and inside add the view profile, language, sign
159
+ // out options, so that the rest of actions is for the app. more tidy, less
160
+ // confusing." So when there IS an identity to show, these three live in the
161
+ // account panel the header opens, beside Plan & limits, and the list under
162
+ // the header belongs to the app alone. With no identity — a guest, or a
163
+ // product with no accounts — there is no panel to put them in, so they stay
164
+ // in the list, where a guest can still reach the language picker.
165
+ const accountPanelEnabled = showHeader;
166
+ const profileRow = showProfile ? (desktop ? (_jsxs("button", { type: "button", role: "menuitem", onClick: () => {
167
+ closeMenu();
168
+ setProfileOpen(true);
169
+ }, style: { ...itemStyle(theme), width: '100%', border: 0, background: 'transparent', cursor: 'pointer', font: 'inherit', textAlign: 'left' }, onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), children: [_jsx(IconUser, {}), " ", t(language, 'profile.view_profile')] })) : (_jsxs("a", { role: "menuitem", href: profileHref, style: itemStyle(theme), onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), children: [_jsx(IconUser, {}), " ", t(language, 'profile.view_profile')] }))) : null;
170
+ const languageRow = showLanguageSelector ? (_jsxs("div", { role: "none", style: languageRowStyle(theme), children: [_jsx("span", { "aria-hidden": true, style: { display: 'inline-flex' }, children: _jsx(IconGlobe, {}) }), _jsx("span", { style: { flex: 1 }, children: t(language, 'profile.language') }), _jsx("select", { "aria-label": t(language, 'profile.language'), value: language, onChange: (e) => setLanguage(e.target.value), style: languageSelectStyle(theme, !canHover), children: SUPPORTED_LANGUAGES.map((lang) => (_jsx("option", { value: lang, children: LANGUAGE_LABELS[lang] ?? lang }, lang))) })] })) : null;
171
+ const signOutRow = showSignOut ? (_jsxs("button", { type: "button", role: "menuitem", onClick: (e) => {
172
+ // The shell is holding a copy of this session for the hub window.
173
+ // Leaving it behind would sign the NEXT person in as the one who
174
+ // just left.
175
+ void desktop?.clearHub?.();
176
+ closeMenu();
177
+ onSignOut?.(e);
178
+ }, style: dangerItemStyle(theme), onMouseEnter: dangerHoverIn(theme), onMouseLeave: dangerHoverOut(theme), children: [_jsx(IconLogout, {}), " ", t(language, 'profile.sign_out')] })) : null;
179
+ // The account panel's contents — written once, rendered beside the menu or
180
+ // in place under the header (see `accountInline`). AccountLimits is only an
181
+ // element here; it mounts, and queries Supabase, when the panel does.
182
+ const accountLabel = name ?? email ?? t(language, 'limits.title');
183
+ const accountPanelContent = (_jsxs(_Fragment, { children: [limitsEnabled && _jsx(AccountLimits, { language: language, theme: theme }), (profileRow || languageRow) && (_jsxs(_Fragment, { children: [limitsEnabled && _jsx(Divider, { theme: theme }), profileRow, languageRow] })), signOutRow && (_jsxs(_Fragment, { children: [(limitsEnabled || !!profileRow || !!languageRow) && _jsx(Divider, { theme: theme }), signOutRow] }))] }));
184
+ // A divider under the app's rows only when a plain row follows it — `extras`
185
+ // and a list-level sign-out bring their own, so two would otherwise stack.
186
+ const hasPlainTail = !!appSettingsHref
187
+ || (!accountPanelEnabled && (!!profileRow || !!languageRow));
152
188
  // The menu's contents, written once. Both branches below render exactly this
153
189
  // list in exactly this order — the dropdown wraps it in a floating surface,
154
190
  // `inline` drops it straight into a list the host is already drawing. Keeping
155
191
  // it in one place is the point: an inline copy would be a second account menu
156
192
  // to hold in step, and it would drift on the first change to either.
157
- const menuRows = (_jsxs(_Fragment, { children: [actions && (_jsxs(_Fragment, { children: [_jsx(AppMenuProvider, { close: closeMenu, children: actions }), _jsx(Divider, { theme: theme })] })), showHeader && (limitsEnabled ? (
158
- // The same header, now a control. The identity rows are wrapped in
159
- // one <span> so the chevron sits beside the block rather than under
160
- // the email.
193
+ const menuRows = (_jsxs(_Fragment, { children: [showHeader && (
194
+ // The header is the one door to the account: it opens the panel with
195
+ // Plan & limits, View profile, Language and Sign out. Always a control
196
+ // when there is an identity, even with `showLimits` off — the panel
197
+ // still holds the account's own rows then. The identity rows are
198
+ // wrapped in one <span> so the chevron sits beside the block rather
199
+ // than under the email.
161
200
  _jsxs("button", { ref: headerRef, type: "button", role: "menuitem", "aria-haspopup": "true", "aria-expanded": limitsOpen, onClick: () => {
201
+ // ⚠️ A side panel needs ~300px BESIDE the menu. On a phone there
202
+ // is none on either side, and DropdownSurface's flip would put it
203
+ // half off the screen — measured at 390px on 2026-09-11, with
204
+ // Sign out in the half you could not reach. So when it cannot fit
205
+ // either side, the panel opens in place under the header instead.
206
+ const r = headerRef.current?.getBoundingClientRect();
207
+ const need = ACCOUNT_PANEL_WIDTH + 6 + 8;
208
+ setAccountInline(!r || (r.left < need && window.innerWidth - r.right < need));
162
209
  setLimitsSeen(true);
163
210
  setLimitsOpen((v) => !v);
164
- }, style: headerButtonStyle(theme, limitsOpen), onMouseEnter: headerHoverIn(theme), onMouseLeave: headerHoverOut(theme, limitsOpen), children: [_jsxs("span", { style: { minWidth: 0, flex: 1 }, children: [identityRows, _jsx("span", { style: limitsHintStyle(theme), children: t(language, 'limits.title') })] }), _jsx(IconChevronRight, {})] })) : (_jsx("div", { style: headerStyle(theme), children: identityRows }))), limitsSeen && (_jsx(DropdownSurface, { open: limitsOpen, anchorRef: headerRef, placement: "side",
211
+ }, style: headerButtonStyle(theme, limitsOpen), onMouseEnter: headerHoverIn(theme), onMouseLeave: headerHoverOut(theme, limitsOpen), children: [_jsxs("span", { style: { minWidth: 0, flex: 1 }, children: [identityRows, _jsx("span", { style: limitsHintStyle(theme), children: t(language, limitsEnabled ? 'limits.title' : 'profile.label') })] }), _jsx(IconChevronRight, {})] })), showHeader && accountInline && limitsOpen && (_jsx("div", { role: "group", "aria-label": accountLabel, style: accountInlineStyle(theme), children: accountPanelContent })), showHeader && limitsSeen && !accountInline && (_jsx(DropdownSurface, { open: limitsOpen, anchorRef: headerRef, placement: "side",
165
212
  // The profile menu lives in the right-hand nav cluster, so the room
166
213
  // is on its left. `side` is a preference — DropdownSurface flips it
167
214
  // when the panel doesn't fit, which is what a narrow window does.
168
215
  side: "left", gap: 6,
169
216
  // The surface is a plain container; the labelled group is the div
170
217
  // inside it, which is the element that can carry the accessible
171
- // name. Not role="menu" either way — these are values, not
172
- // commands, and announcing them as menu items would promise
173
- // arrow-key navigation that isn't there.
174
- role: "none", surfaceStyle: limitsSurfaceStyle(theme), onMouseEnter: hoverOpen, onMouseLeave: hoverClose, onRequestClose: () => setLimitsOpen(false), children: _jsx("div", { ref: limitsRef, role: "group", "aria-label": t(language, 'limits.title'), children: _jsx(AccountLimits, { language: language, theme: theme }) }) })), showSignIn ? (
175
- // Guest / anonymous: prominent sign-in CTA instead of "View profile".
176
- // Stays as an <a> (not a button) so middle-click / ctrl-click open the
177
- // hub login in a new tab like a normal nav link.
218
+ // name. The rows inside keep role="menuitem", like the list's.
219
+ role: "none", surfaceStyle: limitsSurfaceStyle(theme), onMouseEnter: hoverOpen, onMouseLeave: hoverClose, onRequestClose: () => setLimitsOpen(false), children: _jsx("div", { ref: limitsRef, role: "group", "aria-label": accountLabel, children: accountPanelContent }) })), showSignIn && (
220
+ // Guest / anonymous: the way in comes first, for the same reason the
221
+ // identity does for a signed-in user — it is the first thing the
222
+ // menu should answer. Stays an <a> (not a button) so middle-click /
223
+ // ctrl-click open the hub login in a new tab like a normal nav link.
178
224
  _jsxs("a", { role: "menuitem", href: signInHref, onClick: (e) => {
179
225
  if (!onSignInClick)
180
226
  return;
@@ -185,10 +231,7 @@ export function UserProfile({ name, email, photoUrl, initials, profileHref = 'ht
185
231
  e.preventDefault();
186
232
  closeMenu();
187
233
  onSignInClick();
188
- }, style: primaryItemStyle(theme), onMouseEnter: primaryHoverIn, onMouseLeave: primaryHoverOut, children: [_jsx(IconSignIn, {}), " ", t(language, 'profile.sign_in')] })) : showProfile ? (desktop ? (_jsxs("button", { type: "button", role: "menuitem", onClick: () => {
189
- closeMenu();
190
- setProfileOpen(true);
191
- }, style: { ...itemStyle(theme), width: '100%', border: 0, background: 'transparent', cursor: 'pointer', font: 'inherit', textAlign: 'left' }, onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), children: [_jsx(IconUser, {}), " ", t(language, 'profile.view_profile')] })) : (_jsxs("a", { role: "menuitem", href: profileHref, style: itemStyle(theme), onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), children: [_jsx(IconUser, {}), " ", t(language, 'profile.view_profile')] }))) : null, appSettingsHref && (_jsxs("a", { role: "menuitem", href: appSettingsHref, style: itemStyle(theme), onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), onClick: (e) => {
234
+ }, style: primaryItemStyle(theme), onMouseEnter: primaryHoverIn, onMouseLeave: primaryHoverOut, children: [_jsx(IconSignIn, {}), " ", t(language, 'profile.sign_in')] })), actions && (_jsxs(_Fragment, { children: [_jsx(AppMenuProvider, { close: closeMenu, children: actions }), hasPlainTail && _jsx(Divider, { theme: theme })] })), !accountPanelEnabled && profileRow, appSettingsHref && (_jsxs("a", { role: "menuitem", href: appSettingsHref, style: itemStyle(theme), onMouseEnter: hoverIn(theme), onMouseLeave: hoverOut(theme), onClick: (e) => {
192
235
  // Same trap as "View profile" when this points at the hub: on
193
236
  // desktop the plain href would open a signed-out browser tab.
194
237
  // openHubUrl returns false in a browser, where the link is
@@ -197,14 +240,7 @@ export function UserProfile({ name, email, photoUrl, initials, profileHref = 'ht
197
240
  e.preventDefault();
198
241
  closeMenu();
199
242
  }
200
- }, children: [_jsx(IconGear, {}), " ", t(language, 'profile.app_settings')] })), showLanguageSelector && (_jsxs("div", { role: "none", style: languageRowStyle(theme), children: [_jsx("span", { "aria-hidden": true, style: { display: 'inline-flex' }, children: _jsx(IconGlobe, {}) }), _jsx("span", { style: { flex: 1 }, children: t(language, 'profile.language') }), _jsx("select", { "aria-label": t(language, 'profile.language'), value: language, onChange: (e) => setLanguage(e.target.value), style: languageSelectStyle(theme, !canHover), children: SUPPORTED_LANGUAGES.map((lang) => (_jsx("option", { value: lang, children: LANGUAGE_LABELS[lang] ?? lang }, lang))) })] })), extras && (_jsxs(_Fragment, { children: [_jsx(Divider, { theme: theme }), extras] })), showSignOut && (_jsxs(_Fragment, { children: [_jsx(Divider, { theme: theme }), _jsxs("button", { type: "button", role: "menuitem", onClick: (e) => {
201
- // The shell is holding a copy of this session for the hub
202
- // window. Leaving it behind would sign the NEXT person in as
203
- // the one who just left.
204
- void desktop?.clearHub?.();
205
- closeMenu();
206
- onSignOut?.(e);
207
- }, style: dangerItemStyle(theme), onMouseEnter: dangerHoverIn(theme), onMouseLeave: dangerHoverOut(theme), children: [_jsx(IconLogout, {}), " ", t(language, 'profile.sign_out')] })] }))] }));
243
+ }, children: [_jsx(IconGear, {}), " ", t(language, 'profile.app_settings')] })), !accountPanelEnabled && languageRow, extras && (_jsxs(_Fragment, { children: [_jsx(Divider, { theme: theme }), extras] })), !accountPanelEnabled && signOutRow && (_jsxs(_Fragment, { children: [_jsx(Divider, { theme: theme }), signOutRow] }))] }));
208
244
  const profileDialog = (_jsx(ProfileDialog, { open: profileOpen, onClose: () => setProfileOpen(false), email: email, tier: tier, profileHref: profileHref, theme: theme }));
209
245
  // ── Inline: no trigger, no surface ──────────────────────────────────────
210
246
  // `role="none"` on the container rather than `menu`: the host list these land
@@ -540,8 +576,17 @@ const limitsHintStyle = (theme) => ({
540
576
  // Wider than the 220px profile menu it hangs off: this panel carries app names
541
577
  // against status chips on the same line, and 220 puts "Universal Signatures"
542
578
  // into an ellipsis next to "AVAILABLE".
579
+ /** The account panel's width beside the menu; the header measures for it. */
580
+ const ACCOUNT_PANEL_WIDTH = 286;
581
+ /** The account panel opened in place (no room beside the menu) — set off from
582
+ * the rows around it the way <AdvancedMenu>'s open section is. */
583
+ const accountInlineStyle = (theme) => ({
584
+ borderTop: `1px solid ${MENU[theme].divider}`,
585
+ borderBottom: `1px solid ${MENU[theme].divider}`,
586
+ background: MENU[theme].rowHover,
587
+ });
543
588
  const limitsSurfaceStyle = (theme) => ({
544
- width: 286,
589
+ width: ACCOUNT_PANEL_WIDTH,
545
590
  background: MENU[theme].surface,
546
591
  border: `1px solid ${MENU[theme].border}`,
547
592
  borderRadius: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"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"}
package/dist/brand.d.ts CHANGED
@@ -88,7 +88,9 @@ export declare const DARK_THEME: BrandTheme;
88
88
  * <div style={brandCssVars(LIGHT_THEME)}> … </div>
89
89
  *
90
90
  * A tenant's My Company brand colour still overrides `--u-accent` at runtime
91
- * (see `useOrgBranding` / the app-level `applyBrandColor`).
91
+ * (see `useOrgBranding` / the app-level `applyBrandColor`) — and it should be
92
+ * `brand_color_accessible`, not the raw `brand_color`: `--u-accent` is painted
93
+ * as text and under white labels (see the header of this file).
92
94
  */
93
95
  export declare function brandCssVars(theme: BrandTheme): Record<string, string>;
94
96
  //# sourceMappingURL=brand.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAWA,2EAA2E;AAC3E,eAAO,MAAM,KAAK;IAChB,6CAA6C;;IAE7C,6DAA6D;;IAE7D;;;;;;;;;;;;OAYG;;IAEH;;;;;;;;;;;;;;;;;OAiBG;;IAEH,2EAA2E;;IAE3E,oEAAoE;;CAE5D,CAAA;AAEV,0EAA0E;AAC1E,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAA;AAEV,4DAA4D;AAC5D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAIX,CAAA;AAEV,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,UAQzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,UAQxB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWtE"}
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAiCA,2EAA2E;AAC3E,eAAO,MAAM,KAAK;IAChB,6CAA6C;;IAE7C,6DAA6D;;IAE7D;;;;;;;;;;;;OAYG;;IAEH;;;;;;;;;;;;;;;;;OAiBG;;IAEH,2EAA2E;;IAE3E,oEAAoE;;CAE5D,CAAA;AAEV,0EAA0E;AAC1E,eAAO,MAAM,OAAO;;;;;;;;CAQV,CAAA;AAEV,4DAA4D;AAC5D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAIX,CAAA;AAEV,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,WAAW,EAAE,UAQzB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,UAQxB,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAWtE"}
package/dist/brand.js CHANGED
@@ -8,6 +8,28 @@
8
8
  // Decision (2026-07): the canonical orange is #FE8C01 -> #E05504. The Tailwind
9
9
  // default pair (#F97316 / #EA580C) is retired — it read as the same colour at a
10
10
  // glance but was a subtly different, more generic hue.
11
+ //
12
+ // ── A TENANT'S brand colour: `brand_color` vs `brand_color_accessible` ──────
13
+ // The tokens below were measured by hand (`orangeText`, `onOrange`). A company's
14
+ // My Company colour can't be, so `useOrgBranding()` returns two values:
15
+ //
16
+ // brand_color the admin's choice, verbatim. For the colour picker,
17
+ // its swatch, and any "this is your colour" preview —
18
+ // places whose job is to show the real colour.
19
+ // brand_color_accessible the same hue darkened (OKLCH lightness only) to the
20
+ // nearest shade that reaches 4.5:1 against white;
21
+ // identical to brand_color when that already passes.
22
+ // For EVERY product-UI paint on a light theme: a fill
23
+ // under white text (selected segment, today's date,
24
+ // primary button, `--u-accent`), and text / links /
25
+ // borders on a white page. Contrast is symmetric, so
26
+ // one value covers both.
27
+ //
28
+ // An amber like #fe8c01 is 2.34:1 under white text (unreadable) and comes back
29
+ // as #b46100 (4.52:1). A colour stored somewhere else — a per-poll colour, say —
30
+ // gets the same treatment at render time with `accessibleColor(stored)`. On a
31
+ // dark ground, pass it: `accessibleColor(c, { against: '#0a0e16' })`. The
32
+ // helpers (`accessibleColor`, `contrastRatio`) live in `contrast.ts`.
11
33
  /** Brand accent — orange, plus the supporting gold from the logo stars. */
12
34
  export const BRAND = {
13
35
  /** Orange 500 — the primary brand orange. */
@@ -93,7 +115,9 @@ export const DARK_THEME = {
93
115
  * <div style={brandCssVars(LIGHT_THEME)}> … </div>
94
116
  *
95
117
  * A tenant's My Company brand colour still overrides `--u-accent` at runtime
96
- * (see `useOrgBranding` / the app-level `applyBrandColor`).
118
+ * (see `useOrgBranding` / the app-level `applyBrandColor`) — and it should be
119
+ * `brand_color_accessible`, not the raw `brand_color`: `--u-accent` is painted
120
+ * as text and under white labels (see the header of this file).
97
121
  */
98
122
  export function brandCssVars(theme) {
99
123
  return {
package/dist/brand.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,uDAAuD;AAEvD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,6CAA6C;IAC7C,MAAM,EAAE,SAAS;IACjB,6DAA6D;IAC7D,UAAU,EAAE,SAAS;IACrB;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,SAAS;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,SAAS;IACnB,2EAA2E;IAC3E,IAAI,EAAE,SAAS;IACf,oEAAoE;IACpE,QAAQ,EAAE,2CAA2C;CAC7C,CAAA;AAEV,0EAA0E;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,SAAS,EAAE,6BAA6B;IAClD,QAAQ,EAAE,SAAS,EAAE,qCAAqC;IAC1D,QAAQ,EAAE,SAAS,EAAE,yBAAyB;IAC9C,QAAQ,EAAE,SAAS,EAAE,2BAA2B;IAChD,QAAQ,EAAE,SAAS,EAAE,sCAAsC;IAC3D,QAAQ,EAAE,SAAS,EAAE,+BAA+B;IACpD,KAAK,EAAE,SAAS;CACR,CAAA;AAEV,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACnC,CAAA;AAeV,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,OAAO;QAC5B,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS;QACjC,cAAc,EAAE,KAAK,CAAC,QAAQ;KAC/B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,gFAAgF;AAChF,uDAAuD;AACvD,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,wEAAwE;AACxE,EAAE;AACF,iFAAiF;AACjF,gFAAgF;AAChF,yEAAyE;AACzE,gFAAgF;AAChF,4EAA4E;AAC5E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,mDAAmD;AACnD,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAC9E,0EAA0E;AAC1E,sEAAsE;AAEtE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,6CAA6C;IAC7C,MAAM,EAAE,SAAS;IACjB,6DAA6D;IAC7D,UAAU,EAAE,SAAS;IACrB;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,SAAS;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,SAAS;IACnB,2EAA2E;IAC3E,IAAI,EAAE,SAAS;IACf,oEAAoE;IACpE,QAAQ,EAAE,2CAA2C;CAC7C,CAAA;AAEV,0EAA0E;AAC1E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,SAAS,EAAE,6BAA6B;IAClD,QAAQ,EAAE,SAAS,EAAE,qCAAqC;IAC1D,QAAQ,EAAE,SAAS,EAAE,yBAAyB;IAC9C,QAAQ,EAAE,SAAS,EAAE,2BAA2B;IAChD,QAAQ,EAAE,SAAS,EAAE,sCAAsC;IAC3D,QAAQ,EAAE,SAAS,EAAE,+BAA+B;IACpD,KAAK,EAAE,SAAS;CACR,CAAA;AAEV,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC3C,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;CACnC,CAAA;AAeV,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAe;IACpC,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAiB;IAC5C,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,OAAO;QAC5B,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,eAAe,EAAE,KAAK,CAAC,QAAQ;QAC/B,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,YAAY,EAAE,KAAK,CAAC,MAAM;QAC1B,gBAAgB,EAAE,KAAK,CAAC,SAAS;QACjC,cAAc,EAAE,KAAK,CAAC,QAAQ;KAC/B,CAAA;AACH,CAAC"}
@@ -6,6 +6,13 @@ import type { OrgBranding } from './types.js';
6
6
  * `logo_url` is the full wordmark / horizontal lockup (used in PDFs, hero
7
7
  * areas, etc.); `icon_url` is the 1:1 square mark used in compact surfaces
8
8
  * like the navbar company badge and suite-switcher tiles.
9
+ *
10
+ * `brand_color` is the admin's raw choice — for pickers and previews.
11
+ * `brand_color_accessible` is the nearest shade of it that reaches 4.5:1
12
+ * against white — for anything painted in product UI (a fill under white
13
+ * text, text or borders on a light page). See `OrgBranding` and `contrast.ts`.
14
+ *
15
+ * The returned object is memoised on its values, so it is safe in effect deps.
9
16
  */
10
17
  export declare function useOrgBranding(): OrgBranding;
11
18
  //# sourceMappingURL=branding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ7C;;;;;;;GAOG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAQ5C"}
1
+ {"version":3,"file":"branding.d.ts","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAS7C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAkB5C"}
package/dist/branding.js CHANGED
@@ -1,9 +1,12 @@
1
1
  'use client';
2
+ import { useMemo } from 'react';
2
3
  import { useOrg } from './auth.js';
4
+ import { accessibleColor } from './contrast.js';
3
5
  const DEFAULT_BRANDING = {
4
6
  logo_url: null,
5
7
  icon_url: null,
6
8
  brand_color: null,
9
+ brand_color_accessible: null,
7
10
  };
8
11
  /**
9
12
  * Returns the active org's branding for product UI chrome.
@@ -12,15 +15,27 @@ const DEFAULT_BRANDING = {
12
15
  * `logo_url` is the full wordmark / horizontal lockup (used in PDFs, hero
13
16
  * areas, etc.); `icon_url` is the 1:1 square mark used in compact surfaces
14
17
  * like the navbar company badge and suite-switcher tiles.
18
+ *
19
+ * `brand_color` is the admin's raw choice — for pickers and previews.
20
+ * `brand_color_accessible` is the nearest shade of it that reaches 4.5:1
21
+ * against white — for anything painted in product UI (a fill under white
22
+ * text, text or borders on a light page). See `OrgBranding` and `contrast.ts`.
23
+ *
24
+ * The returned object is memoised on its values, so it is safe in effect deps.
15
25
  */
16
26
  export function useOrgBranding() {
17
27
  const { org } = useOrg();
18
- if (!org)
19
- return DEFAULT_BRANDING;
20
- return {
21
- logo_url: org.logo_url,
22
- icon_url: org.icon_url,
23
- brand_color: org.brand_color,
24
- };
28
+ const hasOrg = org != null;
29
+ const logoUrl = org?.logo_url ?? null;
30
+ const iconUrl = org?.icon_url ?? null;
31
+ const brandColor = org?.brand_color ?? null;
32
+ return useMemo(() => hasOrg
33
+ ? {
34
+ logo_url: logoUrl,
35
+ icon_url: iconUrl,
36
+ brand_color: brandColor,
37
+ brand_color_accessible: accessibleColor(brandColor),
38
+ }
39
+ : DEFAULT_BRANDING, [hasOrg, logoUrl, iconUrl, brandColor]);
25
40
  }
26
41
  //# sourceMappingURL=branding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"branding.js","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,MAAM,gBAAgB,GAAgB;IACpC,QAAQ,EAAK,IAAI;IACjB,QAAQ,EAAK,IAAI;IACjB,WAAW,EAAE,IAAI;CAClB,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IACxB,IAAI,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAA;IACjC,OAAO;QACL,QAAQ,EAAK,GAAG,CAAC,QAAQ;QACzB,QAAQ,EAAK,GAAG,CAAC,QAAQ;QACzB,WAAW,EAAE,GAAG,CAAC,WAAW;KAC7B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"branding.js","sourceRoot":"","sources":["../src/branding.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAG/C,MAAM,gBAAgB,GAAgB;IACpC,QAAQ,EAAgB,IAAI;IAC5B,QAAQ,EAAgB,IAAI;IAC5B,WAAW,EAAa,IAAI;IAC5B,sBAAsB,EAAE,IAAI;CAC7B,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,CAAA;IACxB,MAAM,MAAM,GAAO,GAAG,IAAI,IAAI,CAAA;IAC9B,MAAM,OAAO,GAAM,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAA;IACxC,MAAM,OAAO,GAAM,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAA;IACxC,MAAM,UAAU,GAAG,GAAG,EAAE,WAAW,IAAI,IAAI,CAAA;IAC3C,OAAO,OAAO,CACZ,GAAG,EAAE,CACH,MAAM;QACJ,CAAC,CAAC;YACE,QAAQ,EAAgB,OAAO;YAC/B,QAAQ,EAAgB,OAAO;YAC/B,WAAW,EAAa,UAAU;YAClC,sBAAsB,EAAE,eAAe,CAAC,UAAU,CAAC;SACpD;QACH,CAAC,CAAC,gBAAgB,EACtB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CACvC,CAAA;AACH,CAAC"}
@@ -0,0 +1,61 @@
1
+ /** Options for {@link accessibleColor}. */
2
+ export interface AccessibleColorOptions {
3
+ /**
4
+ * The colour the result must stand out against — the page ground, or the
5
+ * text that sits on the result. Default `#ffffff`.
6
+ */
7
+ against?: string;
8
+ /**
9
+ * Minimum WCAG 2.x contrast ratio. Default 4.5 (AA, normal-size text). Use
10
+ * 3 for large text and non-text UI (borders, icons, focus rings); 7 for AAA.
11
+ * Clamped to 1–21.
12
+ */
13
+ minRatio?: number;
14
+ }
15
+ /**
16
+ * WCAG 2.x contrast ratio between two hex colours, 1 (identical) to 21
17
+ * (black on white). Order doesn't matter. Returns `null` if either colour
18
+ * isn't a `#rgb` / `#rrggbb` hex — it never throws.
19
+ *
20
+ * contrastRatio('#fe8c01', '#fff') // 2.34 — the suite orange under white text
21
+ */
22
+ export declare function contrastRatio(a: string | null | undefined, b: string | null | undefined): number | null;
23
+ /**
24
+ * The colour closest to `hex` that reaches `minRatio` contrast against
25
+ * `against` — for putting a tenant's brand colour where it has to be READ.
26
+ *
27
+ * accessibleColor('#fe8c01') // '#b46100' — 2.34 → 4.52:1 on white
28
+ * accessibleColor('#c2410c') // '#c2410c' — already 5.18:1
29
+ * accessibleColor('#1d4ed8', { against: '#0f172a' }) // '#4077ff' — lifted for a dark ground
30
+ *
31
+ * "Closest" means the same hue with only lightness moved, in OKLCH (so the hue
32
+ * doesn't visibly shift the way it does in HSL), keeping as much chroma as the
33
+ * sRGB gamut allows at the new lightness. Lightness is binary-searched from the
34
+ * input toward black and toward white; of the directions that can reach the
35
+ * target, the result nearer the input (OKLab distance) wins — in practice,
36
+ * darker against a light ground, lighter against a dark one. The predicate is
37
+ * evaluated on the rounded hex, so the returned colour is guaranteed to pass.
38
+ *
39
+ * - Already passes → returned unchanged, normalised to lowercase `#rrggbb`.
40
+ * - `hex` or `against` not a `#rgb` / `#rrggbb` hex (or null) → `null`. Never throws.
41
+ * - Target unreachable even with black or white (only possible for a
42
+ * mid-grey `against` and a high `minRatio`) → whichever of black and white
43
+ * contrasts more: the most legible colour there is.
44
+ */
45
+ export declare function accessibleColor(hex: string | null | undefined, { against, minRatio }?: AccessibleColorOptions): string | null;
46
+ /**
47
+ * The label colour for text sitting on `background`: ink (`#0f172a`, the
48
+ * suite's text colour) or white — whichever has the higher WCAG contrast.
49
+ *
50
+ * For a fill that must stay exactly the colour it is. A company's initial
51
+ * tile is an identity mark, like a logo, so its colour is kept and the LETTER
52
+ * moves; for a UI fill (a button, a selected segment) darken the colour with
53
+ * `accessibleColor` instead and keep the white label.
54
+ *
55
+ * Replaces three copies of a "perceived brightness > 0.6 ⇒ ink" check in the
56
+ * SDK (navbar badge, company menu, settings shell), which chose white on
57
+ * #e05504 (3.84:1) where ink reads 4.65:1, and white on #0ea5e9 (2.77:1)
58
+ * where ink reads 6.44:1. Unreadable input ⇒ ink.
59
+ */
60
+ export declare function textOn(background: string): '#0f172a' | '#ffffff';
61
+ //# sourceMappingURL=contrast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contrast.d.ts","sourceRoot":"","sources":["../src/contrast.ts"],"names":[],"mappings":"AAiBA,2CAA2C;AAC3C,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAuCD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC5B,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC3B,MAAM,GAAG,IAAI,CAKf;AA+ED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9B,EAAE,OAAmB,EAAE,QAAc,EAAE,GAAE,sBAA2B,GACnE,MAAM,GAAG,IAAI,CAkDf;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAKhE"}