@unisim/sdk 0.3.2 → 0.4.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.
@@ -44,6 +44,16 @@ export interface UniversalNavBarProps {
44
44
  showBrandStrip?: boolean;
45
45
  /** Where the central hub lives. Used for the "Sign in" link on anonymous sessions. */
46
46
  hubLoginHref?: string;
47
+ /**
48
+ * Max-width of the navbar's inner content, in px (number) or any CSS length
49
+ * (string, e.g. '80rem' or '100%'). The bottom border and brand strip still
50
+ * span the full viewport — only the row of items is centred and constrained
51
+ * so it lines up with the product's page-content container.
52
+ *
53
+ * Default 1280 (Tailwind's `max-w-7xl`). Pass '100%' to opt out of the
54
+ * constraint entirely.
55
+ */
56
+ contentMaxWidth?: number | string;
47
57
  className?: string;
48
58
  style?: CSSProperties;
49
59
  }
@@ -61,5 +71,5 @@ export interface UniversalNavBarProps {
61
71
  * │ · ⚙ · 👤 · ⊞ │
62
72
  * └──────────────────────────────────────────────────────────────────────┘
63
73
  */
64
- export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip, hubLoginHref, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
74
+ export declare function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref, knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip, hubLoginHref, contentMaxWidth, className, style, }: UniversalNavBarProps): import("react/jsx-runtime").JSX.Element;
65
75
  //# sourceMappingURL=UniversalNavBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AASrE,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,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;KACpC,CAAA;IAGD,yDAAyD;IACzD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAG,YAAY,EAAE,CAAA;IAEhC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,4DAA4D;IAC5D,cAAc,CAAC,EAAE,OAAO,CAAA;IAExB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IAGrB,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,aAAa,EACb,eAAe,EACf,cAAc,EACd,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,cAAqB,EACrB,YAA+C,EAC/C,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAyDtB"}
1
+ {"version":3,"file":"UniversalNavBar.d.ts","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAClF,OAAO,EAAgB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACnE,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AASrE,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,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;KACpC,CAAA;IAGD,yDAAyD;IACzD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;IAChC,4DAA4D;IAC5D,cAAc,CAAC,EAAG,YAAY,EAAE,CAAA;IAEhC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAA;IAE9B,kFAAkF;IAClF,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB,kFAAkF;IAClF,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,aAAa,EACb,eAAe,EACf,cAAc,EACd,IAAI,EACJ,WAAW,EACX,oBAAoB,EACpB,cAAqB,EACrB,YAA+C,EAC/C,eAAsB,EACtB,SAAS,EACT,KAAK,GACN,EAAE,oBAAoB,2CAgEtB"}
@@ -26,7 +26,7 @@ import { useUniversal } from './provider.js';
26
26
  * │ · ⚙ · 👤 · ⊞ │
27
27
  * └──────────────────────────────────────────────────────────────────────┘
28
28
  */
29
- export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, hubLoginHref = 'https://app.unisim.co.uk/login', className, style, }) {
29
+ export function UniversalNavBar({ product, productLogo, companyLabel, companyIconUrl, newAssessmentHref = '/new', knowledgeBase, productSettings, globalSettings, user, versionChip, suiteSwitcherIconSrc, showBrandStrip = true, hubLoginHref = 'https://app.unisim.co.uk/login', contentMaxWidth = 1280, className, style, }) {
30
30
  // ── Company label + icon ────────────────────────────────────────────────
31
31
  const { org } = useOrg();
32
32
  const branding = useOrgBranding();
@@ -36,7 +36,11 @@ export function UniversalNavBar({ product, productLogo, companyLabel, companyIco
36
36
  const iconBg = branding.brand_color ?? '#e2e8f0';
37
37
  // ── User profile auto-wiring ───────────────────────────────────────────
38
38
  const resolvedUser = useResolvedUser(user, hubLoginHref);
39
- return (_jsxs("div", { className: className, style: style, children: [showBrandStrip && _jsx(UniversalBar, {}), _jsxs("header", { style: headerStyle, children: [_jsxs("div", { style: leftStyle, children: [_jsx("div", { style: { display: 'inline-flex', alignItems: 'center' }, children: productLogo }), _jsx("span", { style: separatorStyle, "aria-hidden": true, children: "\u00B7" }), _jsx(CompanyBadge, { iconUrl: resolvedIconUrl, initial: initial, iconBg: iconBg, hasOrg: !!org }), _jsxs("span", { style: companyLabelStyle, children: [_jsx("span", { style: { color: '#94a3b8', marginRight: 4 }, children: "for" }), _jsx("span", { style: { color: org?.name ? '#0f172a' : '#94a3b8' }, children: resolvedCompany })] })] }), _jsxs("nav", { style: centreStyle, "aria-label": "Primary", children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: linkStyle, children: "New Assessment" })), knowledgeBase && (_jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems })), _jsx(CompanyMenu, {})] }), _jsxs("div", { style: rightStyle, children: [_jsx(SettingsMenu, { productItems: productSettings, globalItems: globalSettings }), _jsx(UserProfile, { ...resolvedUser }), _jsx(SuiteSwitcher, { current: product, iconSrc: suiteSwitcherIconSrc, chip: versionChip })] })] })] }));
39
+ // The outer header strip carries the bottom border + brand strip and spans
40
+ // the full viewport. Its child is a centred, max-width container that holds
41
+ // the actual row of items so they line up with the product's page content.
42
+ const maxWidth = typeof contentMaxWidth === 'number' ? `${contentMaxWidth}px` : contentMaxWidth;
43
+ return (_jsxs("div", { className: className, style: style, children: [showBrandStrip && _jsx(UniversalBar, {}), _jsx("div", { style: headerOuterStyle, children: _jsxs("header", { style: { ...headerInnerStyle, maxWidth }, children: [_jsxs("div", { style: leftStyle, children: [_jsx("div", { style: { display: 'inline-flex', alignItems: 'center' }, children: productLogo }), _jsx("span", { style: separatorStyle, "aria-hidden": true, children: "\u00B7" }), _jsx(CompanyBadge, { iconUrl: resolvedIconUrl, initial: initial, iconBg: iconBg, hasOrg: !!org }), _jsxs("span", { style: companyLabelStyle, children: [_jsx("span", { style: { color: '#94a3b8', marginRight: 4 }, children: "for" }), _jsx("span", { style: { color: org?.name ? '#0f172a' : '#94a3b8' }, children: resolvedCompany })] })] }), _jsxs("nav", { style: centreStyle, "aria-label": "Primary", children: [newAssessmentHref && (_jsx("a", { href: newAssessmentHref, style: linkStyle, children: "New Assessment" })), knowledgeBase && (_jsx(KnowledgeBaseMenu, { productItems: knowledgeBase.productItems, productKBHref: knowledgeBase.productKBHref, productLabel: knowledgeBase.productLabel, companyItems: knowledgeBase.companyItems })), _jsx(CompanyMenu, {})] }), _jsxs("div", { style: rightStyle, children: [_jsx(SettingsMenu, { productItems: productSettings, globalItems: globalSettings }), _jsx(UserProfile, { ...resolvedUser }), _jsx(SuiteSwitcher, { current: product, iconSrc: suiteSwitcherIconSrc, chip: versionChip })] })] }) })] }));
40
44
  }
41
45
  // ──────────────────────────────────────────────────────────────────────────────
42
46
  // useResolvedUser — combines an explicit `user` prop with auto-derived data
@@ -110,16 +114,24 @@ function readableTextOn(bgHex) {
110
114
  // ──────────────────────────────────────────────────────────────────────────────
111
115
  // Styles
112
116
  // ──────────────────────────────────────────────────────────────────────────────
113
- const headerStyle = {
117
+ // Outer wrapper: full viewport width. Carries the white background and the
118
+ // bottom border so the line spans the page edge-to-edge regardless of the
119
+ // inner content's max-width.
120
+ const headerOuterStyle = {
121
+ background: '#ffffff',
122
+ borderBottom: '1px solid #e2e8f0',
123
+ fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
124
+ color: '#0f172a',
125
+ };
126
+ // Inner row: capped at contentMaxWidth, centred. Holds the flex layout for
127
+ // logo · centre links · right-hand controls.
128
+ const headerInnerStyle = {
114
129
  display: 'flex',
115
130
  alignItems: 'center',
116
131
  justifyContent: 'space-between',
117
132
  gap: 16,
118
133
  padding: '10px 20px',
119
- background: '#ffffff',
120
- borderBottom: '1px solid #e2e8f0',
121
- fontFamily: "'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif",
122
- color: '#0f172a',
134
+ margin: '0 auto',
123
135
  minHeight: 56,
124
136
  boxSizing: 'border-box',
125
137
  };
@@ -176,9 +188,11 @@ const iconFallbackStyle = {
176
188
  const centreStyle = {
177
189
  display: 'inline-flex',
178
190
  alignItems: 'center',
191
+ justifyContent: 'center', // centre the three links between left + right groups
179
192
  gap: 20,
180
193
  flex: 1,
181
194
  marginLeft: 24,
195
+ marginRight: 24,
182
196
  minWidth: 0,
183
197
  };
184
198
  const linkStyle = {
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalNavBar.js","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UniversalNavBar.js","sourceRoot":"","sources":["../src/UniversalNavBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/C;AAMD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA6D7E;AAED,wBAAgB,YAAY,IAAI,qBAAqB,CAMpD"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAA;AACvF,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,OAAO,EAAE,WAAW,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CAC/C;AAMD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,eAAe,CAAA;IACvB,QAAQ,EAAE,SAAS,CAAA;CACpB;AA0DD,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CAmF7E;AAED,wBAAgB,YAAY,IAAI,qBAAqB,CAMpD"}
package/dist/provider.js CHANGED
@@ -4,24 +4,95 @@ import { createClient } from '@supabase/supabase-js';
4
4
  import { createContext, useContext, useEffect, useMemo, useRef, useState, } from 'react';
5
5
  const UniversalContext = createContext(null);
6
6
  const ACTIVE_ORG_STORAGE_KEY = 'universal:active_org_id';
7
- export function UniversalProvider({ config, children }) {
8
- const supabase = useMemo(() => createClient(config.supabaseUrl, config.supabaseAnonKey, {
9
- auth: {
10
- persistSession: true,
11
- autoRefreshToken: true,
12
- detectSessionInUrl: true,
13
- storageKey: 'universal-suite-auth',
14
- ...(config.cookieDomain
15
- ? { cookieOptions: { domain: config.cookieDomain, sameSite: 'lax' } }
16
- : {}),
7
+ // ──────────────────────────────────────────────────────────────────────────────
8
+ // Cookie-backed storage adapter the load-bearing piece for cross-subdomain
9
+ // SSO. Supabase JS defaults to localStorage which is origin-scoped, so a
10
+ // session created at app.unisim.co.uk wouldn't be visible to a product at
11
+ // assess.unisim.co.uk. By writing the session JSON into a cookie scoped to
12
+ // the parent zone (.unisim.co.uk), every subdomain reads the same auth.
13
+ //
14
+ // Only used in production (when cookieDomain is set). Local dev keeps
15
+ // localStorage so a single product running at localhost:5180 behaves
16
+ // normally.
17
+ // ──────────────────────────────────────────────────────────────────────────────
18
+ function createCookieStorage(domain) {
19
+ const secure = typeof window !== 'undefined' && window.location.protocol === 'https:';
20
+ return {
21
+ getItem(key) {
22
+ if (typeof document === 'undefined')
23
+ return null;
24
+ const encoded = encodeURIComponent(key);
25
+ for (const cookie of document.cookie.split('; ')) {
26
+ const eq = cookie.indexOf('=');
27
+ const name = eq === -1 ? cookie : cookie.slice(0, eq);
28
+ if (name === encoded) {
29
+ return eq === -1 ? '' : decodeURIComponent(cookie.slice(eq + 1));
30
+ }
31
+ }
32
+ return null;
33
+ },
34
+ setItem(key, value) {
35
+ if (typeof document === 'undefined')
36
+ return;
37
+ const parts = [
38
+ `${encodeURIComponent(key)}=${encodeURIComponent(value)}`,
39
+ 'Path=/',
40
+ `Domain=${domain}`,
41
+ `Max-Age=${60 * 60 * 24 * 365}`, // 1 year
42
+ 'SameSite=Lax',
43
+ ];
44
+ if (secure)
45
+ parts.push('Secure');
46
+ document.cookie = parts.join('; ');
47
+ },
48
+ removeItem(key) {
49
+ if (typeof document === 'undefined')
50
+ return;
51
+ const parts = [
52
+ `${encodeURIComponent(key)}=`,
53
+ 'Path=/',
54
+ `Domain=${domain}`,
55
+ 'Max-Age=0',
56
+ 'SameSite=Lax',
57
+ ];
58
+ if (secure)
59
+ parts.push('Secure');
60
+ document.cookie = parts.join('; ');
17
61
  },
18
- }), [config.supabaseUrl, config.supabaseAnonKey, config.cookieDomain]);
62
+ };
63
+ }
64
+ export function UniversalProvider({ config, children }) {
65
+ const supabase = useMemo(() => {
66
+ // Cookie storage when we know the parent zone, localStorage otherwise.
67
+ // The cookie domain (e.g. .unisim.co.uk) is what makes the session
68
+ // visible to every subdomain — that's the SSO mechanism.
69
+ const storage = config.cookieDomain
70
+ ? createCookieStorage(config.cookieDomain)
71
+ : undefined; // supabase-js defaults to localStorage
72
+ return createClient(config.supabaseUrl, config.supabaseAnonKey, {
73
+ auth: {
74
+ persistSession: true,
75
+ autoRefreshToken: true,
76
+ detectSessionInUrl: true,
77
+ storageKey: 'universal-suite-auth',
78
+ ...(storage ? { storage } : {}),
79
+ ...(config.cookieDomain
80
+ ? { cookieOptions: { domain: config.cookieDomain, sameSite: 'lax' } }
81
+ : {}),
82
+ },
83
+ });
84
+ }, [config.supabaseUrl, config.supabaseAnonKey, config.cookieDomain]);
85
+ // Helper for the activeOrgId state — same cookie domain as the session so
86
+ // the user's "active org" choice also travels across subdomains.
87
+ const orgIdStore = useMemo(() => config.cookieDomain ? createCookieStorage(config.cookieDomain) : null, [config.cookieDomain]);
19
88
  const [session, setSession] = useState(null);
20
89
  const [loading, setLoading] = useState(true);
21
90
  const [activeOrgId, setActiveOrgIdState] = useState(() => {
22
91
  if (typeof window === 'undefined')
23
92
  return null;
24
- return window.localStorage.getItem(ACTIVE_ORG_STORAGE_KEY);
93
+ return orgIdStore
94
+ ? orgIdStore.getItem(ACTIVE_ORG_STORAGE_KEY)
95
+ : window.localStorage.getItem(ACTIVE_ORG_STORAGE_KEY);
25
96
  });
26
97
  const initialised = useRef(false);
27
98
  useEffect(() => {
@@ -41,7 +112,15 @@ export function UniversalProvider({ config, children }) {
41
112
  }, [supabase]);
42
113
  const setActiveOrgId = (orgId) => {
43
114
  setActiveOrgIdState(orgId);
44
- if (typeof window !== 'undefined') {
115
+ if (typeof window === 'undefined')
116
+ return;
117
+ if (orgIdStore) {
118
+ if (orgId)
119
+ orgIdStore.setItem(ACTIVE_ORG_STORAGE_KEY, orgId);
120
+ else
121
+ orgIdStore.removeItem(ACTIVE_ORG_STORAGE_KEY);
122
+ }
123
+ else {
45
124
  if (orgId)
46
125
  window.localStorage.setItem(ACTIVE_ORG_STORAGE_KEY, orgId);
47
126
  else
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,YAAY,EAAqC,MAAM,uBAAuB,CAAA;AACvF,OAAO,EACL,aAAa,EACb,UAAU,EACV,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,GAET,MAAM,OAAO,CAAA;AAoBd,MAAM,gBAAgB,GAAG,aAAa,CAA+B,IAAI,CAAC,CAAA;AAE1E,MAAM,sBAAsB,GAAG,yBAAyB,CAAA;AAOxD,iFAAiF;AACjF,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,wEAAwE;AACxE,EAAE;AACF,sEAAsE;AACtE,qEAAqE;AACrE,YAAY;AACZ,iFAAiF;AAEjF,SAAS,mBAAmB,CAAC,MAAc;IACzC,MAAM,MAAM,GACV,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAA;IAExE,OAAO;QACL,OAAO,CAAC,GAAW;YACjB,IAAI,OAAO,QAAQ,KAAK,WAAW;gBAAE,OAAO,IAAI,CAAA;YAChD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACvC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC9B,MAAM,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;gBACrD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;gBAClE,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CAAC,GAAW,EAAE,KAAa;YAChC,IAAI,OAAO,QAAQ,KAAK,WAAW;gBAAE,OAAM;YAC3C,MAAM,KAAK,GAAG;gBACZ,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE;gBACzD,QAAQ;gBACR,UAAU,MAAM,EAAE;gBAClB,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAG,SAAS;gBAC3C,cAAc;aACf,CAAA;YACD,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;QACD,UAAU,CAAC,GAAW;YACpB,IAAI,OAAO,QAAQ,KAAK,WAAW;gBAAE,OAAM;YAC3C,MAAM,KAAK,GAAG;gBACZ,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG;gBAC7B,QAAQ;gBACR,UAAU,MAAM,EAAE;gBAClB,WAAW;gBACX,cAAc;aACf,CAAA;YACD,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAChC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0B;IAC5E,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE;QACH,uEAAuE;QACvE,mEAAmE;QACnE,yDAAyD;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY;YACjC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAA,CAAE,uCAAuC;QAEtD,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE;YAC9D,IAAI,EAAE;gBACJ,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,IAAI;gBACtB,kBAAkB,EAAE,IAAI;gBACxB,UAAU,EAAE,sBAAsB;gBAClC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,YAAY;oBACrB,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;oBACrE,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CAAA;IACJ,CAAC,EACD,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,CAClE,CAAA;IAED,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3E,CAAC,MAAM,CAAC,YAAY,CAAC,CACtB,CAAA;IAED,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAA;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAgB,GAAG,EAAE;QACtE,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,IAAI,CAAA;QAC9C,OAAO,UAAU;YACf,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IACjC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,CAAC,OAAO;YAAE,OAAM;QAC/B,WAAW,CAAC,OAAO,GAAG,IAAI,CAAA;QAE1B,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YAC3C,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACxB,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE;YACpF,UAAU,CAAC,UAAU,CAAC,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,YAAY,CAAC,WAAW,EAAE,CAAA;QACzC,CAAC,CAAA;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,MAAM,cAAc,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC9C,mBAAmB,CAAC,KAAK,CAAC,CAAA;QAC1B,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,KAAK;gBAAE,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;;gBACvD,UAAU,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,IAAI,KAAK;gBAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAA;;gBAChE,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC,CAAA;IAED,MAAM,KAAK,GAA0B;QACnC,MAAM;QACN,QAAQ;QACR,OAAO;QACP,OAAO;QACP,WAAW;QACX,cAAc;KACf,CAAA;IAED,OAAO,KAAC,gBAAgB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA6B,CAAA;AACxF,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAA;IACxC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAA;IAC7E,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unisim/sdk",
3
- "version": "0.3.2",
3
+ "version": "0.4.0",
4
4
  "description": "Shared React SDK for the Universal Suite — auth, entitlements, usage telemetry, changelog, org admin.",
5
5
  "license": "MIT",
6
6
  "author": "Universal Simulation Ltd",