@xeonr/console-shell 0.5.6 → 0.5.8

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.
@@ -4,7 +4,7 @@ import styled from "styled-components";
4
4
  import { useNavigate } from "react-router-dom";
5
5
  import { Icon, Popover, v } from "@xeonr/platform-ui";
6
6
  import { useConsole } from "./ConsoleProvider.js";
7
- import { contextHref, filterItems, orderItems, pushRecent } from "./context.js";
7
+ import { contextHref, filterItems, orderItems, pushRecent, withArticle } from "./context.js";
8
8
  import { withCarry } from "./place.js";
9
9
  import { isSameOrigin } from "./origin.js";
10
10
  import { satisfies } from "./scope.js";
@@ -207,7 +207,7 @@ export function ContextRow() {
207
207
  const option = (item, idx) => (_jsxs(Option, { id: `${listId}-${item.id}`, type: "button", role: "option", "aria-selected": item.id === currentId, "$on": item.id === currentId, "$hot": idx === hot, disabled: item.disabled, title: item.disabled ? item.disabledReason : undefined, onMouseEnter: () => setHot(idx), onClick: () => pick(item), children: [_jsxs("span", { className: "txt", children: [_jsx("b", { children: item.label }), item.sub ? _jsx("span", { children: item.sub }) : null] }), item.count !== undefined ? _jsx("small", { children: item.count }) : null] }, item.id));
208
208
  let n = 0;
209
209
  const block = (label, items) => items.length ? (_jsxs("div", { role: "group", "aria-label": label, children: [_jsx(Label, { children: label }), items.map((i) => option(i, n++))] }, label)) : null;
210
- return (_jsxs(_Fragment, { children: [cfg.collapsed ? (_jsx(CompactRow, { ref: ref, type: "button", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": !!anchor, "aria-label": `${ctx.label}: ${current.state === "item" ? current.item.label : "none chosen"}`, title: `${ctx.label} · ${current.state === "item" ? current.item.label : "none chosen"}`, onClick: toggle, children: current.state === "item" ? current.item.label.slice(0, 2).toUpperCase() : "…" })) : (_jsxs(Row, { ref: ref, type: "button", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": !!anchor, "aria-controls": anchor ? listId : undefined, "aria-label": `${ctx.label}: ${current.state === "item" ? current.item.label : current.state === "pending" ? "loading" : "none chosen"}`, onClick: toggle, children: [_jsx(Kicker, { children: ctx.label }), current.state === "pending" ? _jsx(Skeleton, { "aria-hidden": true }) : _jsx(Name, { "$muted": current.state === "none", children: current.state === "item" ? current.item.label : `Choose a ${ctx.label.toLowerCase()}` }), _jsx(Chev, { children: _jsx(Icon, { name: "chevron-down", size: 12 }) })] })), anchor ? (_jsxs(Popover, { sheet: true, anchor: anchor, onClose: close, label: `Switch ${ctx.label.toLowerCase()}`, width: Math.max(anchor.width, 260), children: [searchable ? (_jsx(Search, { autoFocus: true, value: q, placeholder: `Find a ${ctx.label.toLowerCase()}…`, "aria-controls": listId, "aria-activedescendant": flat[hot] ? `${listId}-${flat[hot].id}` : undefined, onChange: (e) => {
210
+ return (_jsxs(_Fragment, { children: [cfg.collapsed ? (_jsx(CompactRow, { ref: ref, type: "button", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": !!anchor, "aria-label": `${ctx.label}: ${current.state === "item" ? current.item.label : "none chosen"}`, title: `${ctx.label} · ${current.state === "item" ? current.item.label : "none chosen"}`, onClick: toggle, children: current.state === "item" ? current.item.label.slice(0, 2).toUpperCase() : "…" })) : (_jsxs(Row, { ref: ref, type: "button", role: "combobox", "aria-haspopup": "listbox", "aria-expanded": !!anchor, "aria-controls": anchor ? listId : undefined, "aria-label": `${ctx.label}: ${current.state === "item" ? current.item.label : current.state === "pending" ? "loading" : "none chosen"}`, onClick: toggle, children: [_jsx(Kicker, { children: ctx.label }), current.state === "pending" ? _jsx(Skeleton, { "aria-hidden": true }) : _jsx(Name, { "$muted": current.state === "none", children: current.state === "item" ? current.item.label : `Choose ${withArticle(ctx.label.toLowerCase())}` }), _jsx(Chev, { children: _jsx(Icon, { name: "chevron-down", size: 12 }) })] })), anchor ? (_jsxs(Popover, { sheet: true, anchor: anchor, onClose: close, label: `Switch ${ctx.label.toLowerCase()}`, width: Math.max(anchor.width, 260), children: [searchable ? (_jsx(Search, { autoFocus: true, value: q, placeholder: `Find ${withArticle(ctx.label.toLowerCase())}…`, "aria-controls": listId, "aria-activedescendant": flat[hot] ? `${listId}-${flat[hot].id}` : undefined, onChange: (e) => {
211
211
  setQ(e.target.value);
212
212
  setHot(0);
213
213
  }, onKeyDown: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ContextRow.js","sourceRoot":"","sources":["../src/ContextRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAoB,MAAM,cAAc,CAAC;AAClG,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAmB,CAAC;AAEnD,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,uEAAuE;AACvE,iEAAiE;AAEjE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;;sBAMH,CAAC,CAAC,KAAK;uBACN,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK;gBACzB,CAAC,CAAC,QAAQ;WACf,CAAC,CAAC,IAAI;;;4BAGW,CAAC,CAAC,OAAO;iDACY,CAAC,CAAC,IAAI;CACtD,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAA;;;;mBAIb,CAAC,CAAC,IAAI;uBACF,CAAC,CAAC,KAAK;;WAEnB,CAAC,CAAC,IAAI;;;4BAGW,CAAC,CAAC,OAAO;CACpC,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAA;;WAEf,CAAC,CAAC,KAAK;CACjB,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAkC;;;WAG/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;;CAE9C,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAA;kEACsC,CAAC,CAAC,KAAK;CACxE,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAA,UAAU,CAAC,CAAC,KAAK,8BAA8B,CAAC;AAExE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAA;;;;mBAIR,CAAC,CAAC,IAAI;sBACH,CAAC,CAAC,SAAS;gBACjB,CAAC,CAAC,KAAK;WACZ,CAAC,CAAC,IAAI;;2CAE0B,CAAC,CAAC,OAAO;CACnD,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKtB,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA;;WAEb,CAAC,CAAC,KAAK;CACjB,CAAC;AAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAA2D;;;;mBAIpE,CAAC,CAAC,IAAI;;;WAGd,CAAC,CAAC,IAAI;gBACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;;;;;wCAKrC,CAAC,CAAC,KAAK;sCACT,CAAC,CAAC,KAAK;CAC5C,CAAC;AAEF,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;0BACG,CAAC,CAAC,IAAI;;;CAG/B,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAA;;;;8BAIA,CAAC,CAAC,IAAI;;;WAGzB,CAAC,CAAC,KAAK;;0BAEQ,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,IAAI;;CAElD,CAAC;AAEF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAA,2BAA2B,CAAC,CAAC,KAAK,sBAAsB,CAAC;AAEjF,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,GAAW,EAAE,GAAa;IAC7C,IAAI,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,OAAQ,CAAC;IACzB,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,CAAC;IACnC,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IAC3D,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuB,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,OAAO,GAAG,GAAG;YAAE,OAAO;QAC1D,IAAI,GAAG,CAAC,OAAO;YAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,iEAAiE;IACjE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACxC,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/B,KAAK,GAAG,CAAC,MAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,CAAC;YACb,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACxD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,CAAC,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1F,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,CAAC,IAAiB,EAAE,EAAE;QACjC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QACzC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5I,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,YAAY,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;;YAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,KAAK,EAAE,CAAC;QACR,GAAG,CAAC,WAAW,EAAE,CAAC;QAClB,IAAI,YAAY,CAAC,IAAI,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;;YAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACrF,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,IAAI,OAAO,CAAC;IAEtC,MAAM,MAAM,GAAG,CAAC,IAAiB,EAAE,GAAW,EAAE,EAAE,CAAC,CACjD,MAAC,MAAM,IAEL,EAAE,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,EAAE,EAAE,EAC1B,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,mBACE,IAAI,CAAC,EAAE,KAAK,SAAS,SAC/B,IAAI,CAAC,EAAE,KAAK,SAAS,UACpB,GAAG,KAAK,GAAG,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACtD,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAEzB,gBAAM,SAAS,EAAC,KAAK,aACnB,sBAAI,IAAI,CAAC,KAAK,GAAK,EAClB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAO,IAAI,CAAC,GAAG,GAAQ,CAAC,CAAC,CAAC,IAAI,IACrC,EACN,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,0BAAQ,IAAI,CAAC,KAAK,GAAS,CAAC,CAAC,CAAC,IAAI,KAhBzD,IAAI,CAAC,EAAE,CAiBL,CACV,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,KAAoB,EAAE,EAAE,CACpD,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACb,eAAiB,IAAI,EAAC,OAAO,gBAAa,KAAK,aAC7C,KAAC,KAAK,cAAE,KAAK,GAAS,EACrB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAFzB,KAAK,CAGT,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;IAEX,OAAO,CACL,8BACG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CACf,KAAC,UAAU,IACT,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,mBACD,SAAS,mBACR,CAAC,CAAC,MAAM,gBACX,GAAG,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,EAC5F,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,MAAM,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,EACxF,OAAO,EAAE,MAAM,YAEd,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,GACnE,CACd,CAAC,CAAC,CAAC,CACJ,MAAC,GAAG,IACF,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,mBACD,SAAS,mBACR,CAAC,CAAC,MAAM,mBACR,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,gBAC9B,GAAG,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,EACtI,OAAO,EAAE,MAAM,aAEf,KAAC,MAAM,cAAE,GAAG,CAAC,KAAK,GAAU,EAC3B,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAC,QAAQ,0BAAe,CAAC,CAAC,CAAC,KAAC,IAAI,cAAS,OAAO,CAAC,KAAK,KAAK,MAAM,YAAG,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,GAAQ,EAChM,KAAC,IAAI,cAAC,KAAC,IAAI,IAAC,IAAI,EAAC,cAAc,EAAC,IAAI,EAAE,EAAE,GAAI,GAAO,IAC/C,CACL,EACA,MAAM,CAAC,CAAC,CAAC,CACR,MAAC,OAAO,IAAC,KAAK,QAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,aAC1H,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,MAAM,IACL,SAAS,QACT,KAAK,EAAE,CAAC,EACR,WAAW,EAAE,UAAU,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,mBAClC,MAAM,2BACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,CAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAC3E,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACd,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BACrB,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;4BACf,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gCAC1B,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;4BAClD,CAAC;iCAAM,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gCAC/B,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;4BACpC,CAAC;iCAAM,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC1C,CAAC,CAAC,cAAc,EAAE,CAAC;gCACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,CAAC;4BACnB,CAAC;wBACH,CAAC,GACD,CACH,CAAC,CAAC,CAAC,IAAI,EACR,MAAC,IAAI,IAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,SAAS,gBAAa,GAAG,CAAC,MAAM,aACpD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAC,KAAK,cAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,OAAO,GAAS,CAAC,CAAC,CAAC,IAAI,EACnG,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAChC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,EAChC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,IAC5H,EACN,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,CACvB,MAAC,IAAI,eACF,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,QAAQ,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,CAAC,IAAI,CAAC,aAC1D,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,OAAE,GAAG,CAAC,GAAI,CAAC,KAAK,IAC3B,CACZ,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,QAAQ,IACP,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE;oCACZ,IAAI,GAAG,CAAC,MAAO,CAAC,OAAO,EAAE,CAAC;wCACxB,KAAK,EAAE,CAAC;wCACR,GAAG,CAAC,MAAO,CAAC,OAAO,EAAE,CAAC;oCACxB,CAAC;yCAAM,IAAI,GAAG,CAAC,MAAO,CAAC,IAAI;wCAAE,MAAM,CAAC,GAAG,CAAC,MAAO,CAAC,IAAI,CAAC,CAAC;gCACxD,CAAC,aAED,KAAC,IAAI,IAAC,IAAI,EAAC,KAAK,GAAG,OAAE,GAAG,CAAC,MAAO,CAAC,KAAK,IAC7B,CACZ,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC,CAAC,CAAC,IAAI,IACA,CACX,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ContextRow.js","sourceRoot":"","sources":["../src/ContextRow.tsx"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -4,7 +4,10 @@ export interface ConnectConsoleClientOptions {
4
4
  /**
5
5
  * What to do when the service answers Unauthenticated. The default sends the
6
6
  * person to `/auth/login`, which is right for a console you cannot use
7
- * signed out.
7
+ * signed out. It is session.ts's signInOrThrow — the same guard as the
8
+ * console's own /auth/me — so inside the guard's window the call fails with
9
+ * the Unauthenticated error rather than redirecting again, and the console's
10
+ * SessionWall explains the loop.
8
11
  *
9
12
  * A product with a public surface — a catalogue anyone may read — passes its
10
13
  * own handler and returns a value to render instead: for that product "no
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtG,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,EAAE,EACF,OAAO,EAGP,YAAY,EAEb,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAE9D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CAC1C;AAyCD,wBAAgB,oBAAoB,CAAC,OAAO,SAAK,EAAE,IAAI,GAAE,2BAAgC,GAAG,aAAa,CA6IxG;AAaD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,EAAE,CAAC;IACP,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC9C,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;CAC1D;AAKD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,SAAM,GAAG,aAAa,CAuChF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAItG,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,UAAU,EACV,EAAE,EACF,OAAO,EAGP,YAAY,EAEb,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;;OAYG;IACH,iBAAiB,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAE9D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CAC1C;AAyCD,wBAAgB,oBAAoB,CAAC,OAAO,SAAK,EAAE,IAAI,GAAE,2BAAgC,GAAG,aAAa,CA6IxG;AAaD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,EAAE,CAAC;IACP,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC9C,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;CAC1D;AAKD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,YAAY,EAAE,OAAO,SAAM,GAAG,aAAa,CAuChF"}
package/dist/client.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Code, ConnectError, createClient } from "@connectrpc/connect";
2
2
  import { createConnectTransport } from "@connectrpc/connect-web";
3
3
  import { ConsoleProductService, ProductStatus, SearchResultKind, TeamRole } from "./gen/xeonr/console/v1/console_pb.js";
4
+ import { signInOrThrow } from "./session.js";
4
5
  const STATUS_NAME = {
5
6
  [ProductStatus.UNSPECIFIED]: "live",
6
7
  [ProductStatus.LIVE]: "live",
@@ -43,8 +44,9 @@ export function connectConsoleClient(baseUrl = "", opts = {}) {
43
44
  if (err instanceof ConnectError && err.code === Code.Unauthenticated) {
44
45
  if (opts.onUnauthenticated)
45
46
  return opts.onUnauthenticated(method);
46
- window.location.assign(`/auth/login?next=${encodeURIComponent(window.location.pathname + window.location.search)}`);
47
- return new Promise(() => { });
47
+ // This redirected with no guard of its own until CON-40, so a 401 here
48
+ // that /auth/me did not see could bounce with nothing to stop it.
49
+ return signInOrThrow(err);
48
50
  }
49
51
  throw err;
50
52
  }
@@ -137,8 +139,7 @@ export function connectConsoleClient(baseUrl = "", opts = {}) {
137
139
  opts.onUnauthenticated("CreateProductBinding");
138
140
  return;
139
141
  }
140
- window.location.assign(`/auth/login?next=${encodeURIComponent(window.location.pathname + window.location.search)}`);
141
- return new Promise(() => { });
142
+ return signInOrThrow(err);
142
143
  }
143
144
  throw new Error(err.rawMessage || `Could not enable ${product}`);
144
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -79,4 +79,6 @@ export declare function orderItems(items: ContextItem[], pinned?: string[], rece
79
79
  all: ContextItem[];
80
80
  };
81
81
  export declare function filterItems(items: ContextItem[], q: string): ContextItem[];
82
+ /** "a namespace", "an application": the indefinite article for a context's label (CON-56). */
83
+ export declare function withArticle(noun: string): string;
82
84
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/context.js CHANGED
@@ -62,4 +62,9 @@ export function filterItems(items, q) {
62
62
  return items;
63
63
  return items.filter((i) => i.label.toLowerCase().includes(needle) || i.sub?.toLowerCase().includes(needle) || i.id.toLowerCase().includes(needle));
64
64
  }
65
+ /** "a namespace", "an application": the indefinite article for a context's label (CON-56). */
66
+ export function withArticle(noun) {
67
+ const n = noun.trim();
68
+ return `${/^[aeiou]/i.test(n) ? "an" : "a"} ${n}`;
69
+ }
65
70
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,4 +15,6 @@ export { currentContext, contextHref, sectionPathOf, type ContextItem, type NavC
15
15
  export { useShellLink } from "./shellConfig.tsx";
16
16
  export { swapTeamBase, pickSearch, withCarry, joinPath, type Place } from "./place.ts";
17
17
  export { Gate, EntityScreen } from "./Gate.tsx";
18
+ export { readAuthMe, fetchAuthMe, settleSession, signIn, signInOrThrow, signOut, signInUrl, signOutUrl, markSignInAttempt, clearSignInAttempt, signInAttemptedRecently, SIGN_IN_WINDOW_MS, type AuthMe, type AuthMeTeam, type SessionAnswer, type SessionState, type SettleOptions, type SignInOptions, type GuardEnv, } from "./session.ts";
19
+ export { AuthSessionProvider, useAuthSession, SessionWall, type AuthSessionProviderProps } from "./sessionReact.tsx";
18
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,2BAA2B,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC9I,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,2BAA2B,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC9I,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,mBAAmB,YAAY,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAC7F,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EACjF,KAAK,MAAM,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,GAC3H,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -13,4 +13,6 @@ export { currentContext, contextHref, sectionPathOf } from "./context.js";
13
13
  export { useShellLink } from "./shellConfig.js";
14
14
  export { swapTeamBase, pickSearch, withCarry, joinPath } from "./place.js";
15
15
  export { Gate, EntityScreen } from "./Gate.js";
16
+ export { readAuthMe, fetchAuthMe, settleSession, signIn, signInOrThrow, signOut, signInUrl, signOutUrl, markSignInAttempt, clearSignInAttempt, signInAttemptedRecently, SIGN_IN_WINDOW_MS, } from "./session.js";
17
+ export { AuthSessionProvider, useAuthSession, SessionWall } from "./sessionReact.js";
16
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAgD,MAAM,sBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAuD,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAa,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAA6D,MAAM,UAAU,CAAC;AAE9I,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAA4C,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAmB,MAAM,aAAc,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAA0D,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAgD,MAAM,sBAAuB,CAAC;AAC/I,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAuD,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAa,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAA6D,MAAM,UAAU,CAAC;AAE9I,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAa,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,aAAa,CAAC;AAEzE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAA4C,MAAM,YAAY,CAAC;AAC7H,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAmB,MAAM,aAAc,CAAC;AAC5G,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAA0D,MAAM,cAAc,CAAC;AAClI,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAc,MAAM,YAAY,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAY,CAAC;AAChD,OAAO,EACL,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAC7F,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,GAElF,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,WAAW,EAAiC,MAAM,mBAAoB,CAAC"}
@@ -0,0 +1,148 @@
1
+ /** One entry of /auth/me's `teams`: the caller's governance role and the product's team-typed application roles. */
2
+ export interface AuthMeTeam {
3
+ id: string;
4
+ slug: string;
5
+ role: string;
6
+ roles?: string[] | undefined;
7
+ }
8
+ /**
9
+ * The base /auth/me every console's BFF (git.prod.wtf/xeonr/bff) answers for a
10
+ * signed-in caller. A product's own view of the caller is `product`, typed by
11
+ * the console; nothing product-specific goes in the base.
12
+ *
13
+ * Not the shell's `Me`, which is ConsoleProductService.GetMe — the chrome's
14
+ * view of the caller, with display names and team avatars.
15
+ */
16
+ export interface AuthMe<P = unknown> {
17
+ authenticated: true;
18
+ subject: string;
19
+ email: string;
20
+ name: string;
21
+ username: string;
22
+ groups: string[];
23
+ teams: AuthMeTeam[];
24
+ teamsVersion: number;
25
+ expiresAt: string;
26
+ product?: P | undefined;
27
+ }
28
+ /**
29
+ * What /auth/me said, sorted the one way §11.7 allows: a 401 is "no session"
30
+ * and nothing else is.
31
+ *
32
+ * - `session`: signed in.
33
+ * - `none`: no session — a 401, or an OK answer that is not a session (a
34
+ * deployment running without authentication answers with the SPA's
35
+ * index.html). The only answer signing in can change.
36
+ * - `denied`: anything else — a refusal or a failure, or no answer at all
37
+ * (`status` 0). Signing in again would come back to the same answer, so it
38
+ * never redirects. `signedIn` is the BFF saying the session verified and the
39
+ * product's view of the caller failed: its error body carries
40
+ * `authenticated: true`, which is how a product's required group refuses.
41
+ */
42
+ export type SessionAnswer<P = unknown> = {
43
+ kind: "session";
44
+ me: AuthMe<P>;
45
+ } | {
46
+ kind: "none";
47
+ } | {
48
+ kind: "denied";
49
+ status: number;
50
+ signedIn: boolean;
51
+ };
52
+ /** Sorts an /auth/me response. */
53
+ export declare function readAuthMe<P = unknown>(resp: Response): Promise<SessionAnswer<P>>;
54
+ /** Asks the console's own BFF who is signed in. A request that never got an answer is `denied` with status 0. */
55
+ export declare function fetchAuthMe<P = unknown>(fetchImpl?: typeof fetch): Promise<SessionAnswer<P>>;
56
+ /**
57
+ * How recently a sign-in redirect has to have gone out for a console to count
58
+ * coming back without a session as a loop. A bounce comes round in a second or
59
+ * two; two minutes leaves room for an interactive sign-in without ever looping
60
+ * more than once.
61
+ *
62
+ * Only a recent attempt counts. sessionStorage lives as long as the tab, across
63
+ * every navigation to other origins and back, so a bare "have we tried" flag —
64
+ * what the consoles' own copies were until CON-39 — latched the refusal wall
65
+ * for good after one failed round trip, even once its cause was fixed.
66
+ */
67
+ export declare const SIGN_IN_WINDOW_MS: number;
68
+ /** What the guard reads and writes. Defaults to sessionStorage and Date.now; tests pass their own. */
69
+ export interface GuardEnv {
70
+ storage?: Pick<Storage, "getItem" | "setItem" | "removeItem"> | null | undefined;
71
+ now?: (() => number) | undefined;
72
+ }
73
+ export declare function markSignInAttempt(env?: GuardEnv): void;
74
+ export declare function clearSignInAttempt(env?: GuardEnv): void;
75
+ /** Whether a sign-in redirect went out inside the window. A value that is not a timestamp — the old "1" — does not count. */
76
+ export declare function signInAttemptedRecently(env?: GuardEnv): boolean;
77
+ /** The BFF's sign-in, landing back on `returnTo` (default: the current page). */
78
+ export declare function signInUrl(returnTo?: string): string;
79
+ /** The BFF's sign-out: it clears the session and ends the issuer's, so every console signs out. */
80
+ export declare const signOutUrl = "/auth/logout";
81
+ export interface SignInOptions extends GuardEnv {
82
+ /** Where to land afterwards; default the current page. */
83
+ returnTo?: string | undefined;
84
+ /**
85
+ * Go even if an attempt is inside the window: a person pressing "Try again"
86
+ * is not a loop. The attempt is still recorded, so an automatic retry right
87
+ * after it is guarded again.
88
+ */
89
+ force?: boolean | undefined;
90
+ /** Defaults to `location.assign`. */
91
+ navigate?: ((url: string) => void) | undefined;
92
+ }
93
+ /**
94
+ * Sends the browser to sign in and records the attempt — unless one went out
95
+ * inside the window, in which case it does nothing and returns false: the
96
+ * caller is looking at a loop and should say so (SessionWall's `stuck`) rather
97
+ * than bounce again.
98
+ */
99
+ export declare function signIn(opts?: SignInOptions): boolean;
100
+ /**
101
+ * What a client does with an Unauthenticated error it was not told how to
102
+ * handle: sign in, guarded, and never settle — the page is leaving. Inside the
103
+ * guard's window that would loop, so it rethrows the error instead and the
104
+ * console's SessionWall explains. connectConsoleClient's default.
105
+ */
106
+ export declare function signInOrThrow<T>(err: unknown, opts?: SignInOptions): Promise<T>;
107
+ /** Signs out everywhere. Clears the guard, so the next sign-in is not mistaken for a loop. */
108
+ export declare function signOut(opts?: GuardEnv & {
109
+ navigate?: ((url: string) => void) | undefined;
110
+ }): void;
111
+ /**
112
+ * - `loading`: no answer yet.
113
+ * - `signed-in`: render the console.
114
+ * - `signing-in`: the redirect has gone out; render a splash while it leaves.
115
+ * - `signed-out`: no session and the console asked to render it — a public
116
+ * surface, or a deployment running without authentication.
117
+ * - `stuck`: a sign-in went round inside the window and came back without a
118
+ * session. Render SessionWall; another redirect would loop.
119
+ * - `denied`: see SessionAnswer. Render SessionWall; never redirect.
120
+ */
121
+ export type SessionState<P = unknown> = {
122
+ status: "loading";
123
+ } | {
124
+ status: "signed-in";
125
+ me: AuthMe<P>;
126
+ } | {
127
+ status: "signing-in";
128
+ } | {
129
+ status: "signed-out";
130
+ } | {
131
+ status: "stuck";
132
+ } | {
133
+ status: "denied";
134
+ httpStatus: number;
135
+ signedIn: boolean;
136
+ };
137
+ export interface SettleOptions extends GuardEnv {
138
+ /**
139
+ * What no session means for this console. `"sign-in"` (the default) sends
140
+ * the person to sign in; `"render"` hands back `signed-out` for the console
141
+ * to render — a public catalogue, or a deployment with authentication off.
142
+ */
143
+ signedOut?: "sign-in" | "render" | undefined;
144
+ navigate?: ((url: string) => void) | undefined;
145
+ }
146
+ /** Turns an answer into a state, signing in (guarded) when there is no session. A session clears the guard. */
147
+ export declare function settleSession<P>(answer: SessionAnswer<P>, opts?: SettleOptions): SessionState<P>;
148
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ // The BFF session from a console's side (BUILDING-SERVICES §11.7): what
2
+ // /auth/me answered, the sign-in redirect, and the loop guard that stops the
3
+ // redirect bouncing. connectConsoleClient's default Unauthenticated handling
4
+ // goes through signIn() here, so the shell's redirect and the console's are
5
+ // one redirect with one guard rather than two.
6
+ //
7
+ // Everything that decides is a plain function over an injectable clock,
8
+ // storage and navigation, so it is tested without a DOM; the React side
9
+ // (sessionReact.tsx) only holds the answer in state.
10
+ /** Sorts an /auth/me response. */
11
+ export async function readAuthMe(resp) {
12
+ if (resp.status === 401)
13
+ return { kind: "none" };
14
+ let body = null;
15
+ if (resp.headers.get("content-type")?.includes("application/json")) {
16
+ try {
17
+ body = await resp.json();
18
+ }
19
+ catch {
20
+ body = null;
21
+ }
22
+ }
23
+ const authenticated = typeof body === "object" && body !== null && body.authenticated === true;
24
+ if (!resp.ok)
25
+ return { kind: "denied", status: resp.status, signedIn: authenticated };
26
+ if (authenticated)
27
+ return { kind: "session", me: body };
28
+ return { kind: "none" };
29
+ }
30
+ /** Asks the console's own BFF who is signed in. A request that never got an answer is `denied` with status 0. */
31
+ export async function fetchAuthMe(fetchImpl = fetch) {
32
+ let resp;
33
+ try {
34
+ resp = await fetchImpl("/auth/me", { credentials: "same-origin" });
35
+ }
36
+ catch {
37
+ return { kind: "denied", status: 0, signedIn: false };
38
+ }
39
+ return readAuthMe(resp);
40
+ }
41
+ // ---- the loop guard ----
42
+ /**
43
+ * How recently a sign-in redirect has to have gone out for a console to count
44
+ * coming back without a session as a loop. A bounce comes round in a second or
45
+ * two; two minutes leaves room for an interactive sign-in without ever looping
46
+ * more than once.
47
+ *
48
+ * Only a recent attempt counts. sessionStorage lives as long as the tab, across
49
+ * every navigation to other origins and back, so a bare "have we tried" flag —
50
+ * what the consoles' own copies were until CON-39 — latched the refusal wall
51
+ * for good after one failed round trip, even once its cause was fixed.
52
+ */
53
+ export const SIGN_IN_WINDOW_MS = 2 * 60_000;
54
+ /** One key per origin is enough: sessionStorage is per-origin, and each console has its own. */
55
+ const ATTEMPT_KEY = "xeonr_signin_attempted";
56
+ function storageOf(env) {
57
+ if (env?.storage !== undefined)
58
+ return env.storage;
59
+ try {
60
+ return globalThis.sessionStorage ?? null;
61
+ }
62
+ catch {
63
+ // Storage disabled (some private modes throw on access): losing the guard
64
+ // costs only the loop protection, so carry on without it.
65
+ return null;
66
+ }
67
+ }
68
+ const nowOf = (env) => (env?.now ?? Date.now)();
69
+ export function markSignInAttempt(env) {
70
+ try {
71
+ storageOf(env)?.setItem(ATTEMPT_KEY, String(nowOf(env)));
72
+ }
73
+ catch {
74
+ /* see storageOf */
75
+ }
76
+ }
77
+ export function clearSignInAttempt(env) {
78
+ try {
79
+ storageOf(env)?.removeItem(ATTEMPT_KEY);
80
+ }
81
+ catch {
82
+ /* see storageOf */
83
+ }
84
+ }
85
+ /** Whether a sign-in redirect went out inside the window. A value that is not a timestamp — the old "1" — does not count. */
86
+ export function signInAttemptedRecently(env) {
87
+ try {
88
+ const at = Number(storageOf(env)?.getItem(ATTEMPT_KEY));
89
+ const age = nowOf(env) - at;
90
+ return at > 0 && age >= 0 && age < SIGN_IN_WINDOW_MS;
91
+ }
92
+ catch {
93
+ return false;
94
+ }
95
+ }
96
+ // ---- signing in and out ----
97
+ function here() {
98
+ const loc = globalThis.location;
99
+ return loc ? loc.pathname + loc.search : "/";
100
+ }
101
+ const assign = (url) => globalThis.location.assign(url);
102
+ /** The BFF's sign-in, landing back on `returnTo` (default: the current page). */
103
+ export function signInUrl(returnTo = here()) {
104
+ return `/auth/login?return=${encodeURIComponent(returnTo)}`;
105
+ }
106
+ /** The BFF's sign-out: it clears the session and ends the issuer's, so every console signs out. */
107
+ export const signOutUrl = "/auth/logout";
108
+ /**
109
+ * Sends the browser to sign in and records the attempt — unless one went out
110
+ * inside the window, in which case it does nothing and returns false: the
111
+ * caller is looking at a loop and should say so (SessionWall's `stuck`) rather
112
+ * than bounce again.
113
+ */
114
+ export function signIn(opts = {}) {
115
+ if (!opts.force && signInAttemptedRecently(opts))
116
+ return false;
117
+ markSignInAttempt(opts);
118
+ (opts.navigate ?? assign)(signInUrl(opts.returnTo));
119
+ return true;
120
+ }
121
+ /**
122
+ * What a client does with an Unauthenticated error it was not told how to
123
+ * handle: sign in, guarded, and never settle — the page is leaving. Inside the
124
+ * guard's window that would loop, so it rethrows the error instead and the
125
+ * console's SessionWall explains. connectConsoleClient's default.
126
+ */
127
+ export function signInOrThrow(err, opts = {}) {
128
+ if (!signIn(opts))
129
+ throw err;
130
+ return new Promise(() => { });
131
+ }
132
+ /** Signs out everywhere. Clears the guard, so the next sign-in is not mistaken for a loop. */
133
+ export function signOut(opts = {}) {
134
+ clearSignInAttempt(opts);
135
+ (opts.navigate ?? assign)(signOutUrl);
136
+ }
137
+ /** Turns an answer into a state, signing in (guarded) when there is no session. A session clears the guard. */
138
+ export function settleSession(answer, opts = {}) {
139
+ switch (answer.kind) {
140
+ case "session":
141
+ clearSignInAttempt(opts);
142
+ return { status: "signed-in", me: answer.me };
143
+ case "denied":
144
+ return { status: "denied", httpStatus: answer.status, signedIn: answer.signedIn };
145
+ case "none":
146
+ if (opts.signedOut === "render")
147
+ return { status: "signed-out" };
148
+ return signIn(opts) ? { status: "signing-in" } : { status: "stuck" };
149
+ }
150
+ }
151
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from "react";
2
+ import { type SessionState, type SettleOptions } from "./session.ts";
3
+ export interface AuthSessionProviderProps {
4
+ /**
5
+ * What no session means here: `"sign-in"` (default) redirects, guarded;
6
+ * `"render"` hands `signed-out` to the console — a public surface, or a
7
+ * deployment running without authentication.
8
+ */
9
+ signedOut?: SettleOptions["signedOut"];
10
+ /** For tests and the dev mock; defaults to the global fetch. */
11
+ fetchImpl?: typeof fetch | undefined;
12
+ children: ReactNode;
13
+ }
14
+ /** Resolves the session once for the whole console. Mount it above anything that calls useAuthSession. */
15
+ export declare function AuthSessionProvider({ signedOut, fetchImpl, children }: AuthSessionProviderProps): import("react").JSX.Element;
16
+ /**
17
+ * The session, typed with the product's own view of the caller (`me.product`).
18
+ * Throws outside AuthSessionProvider: a screen that reads the session before
19
+ * it exists is a wiring mistake, not a signed-out caller.
20
+ */
21
+ export declare function useAuthSession<P = unknown>(): {
22
+ state: SessionState<P>;
23
+ reload: () => void;
24
+ };
25
+ /**
26
+ * The page for a session state a console cannot render its screens in and
27
+ * must not redirect out of, or null for every other state.
28
+ *
29
+ * - `stuck`: a sign-in went round and came back without a session. Try again
30
+ * is a person's choice, so it goes even inside the guard's window.
31
+ * - `denied` with `signedIn`: the product refused a session that verified —
32
+ * its required group, most often. Signing in as someone else is the way out.
33
+ * - `denied` otherwise: the product failed, or could not be reached.
34
+ *
35
+ * `product` names the console in the copy ("Databases", "Trellis").
36
+ */
37
+ export declare function SessionWall({ state, product }: {
38
+ state: SessionState<unknown>;
39
+ product: string;
40
+ }): ReactNode;
41
+ //# sourceMappingURL=sessionReact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionReact.d.ts","sourceRoot":"","sources":["../src/sessionReact.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpG,OAAO,EAA+C,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAclH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,0GAA0G;AAC1G,wBAAgB,mBAAmB,CAAC,EAAE,SAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,wBAAwB,+BAgB3G;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,CAAC,GAAG,OAAO,KAAK;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAI5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAgC5G"}
@@ -0,0 +1,58 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useCallback, useContext, useEffect, useState } from "react";
3
+ import { AppButton, EmptyState } from "@xeonr/platform-ui";
4
+ import { fetchAuthMe, settleSession, signIn, signOut } from "./session.js";
5
+ const AuthSessionCtx = createContext(null);
6
+ /** Resolves the session once for the whole console. Mount it above anything that calls useAuthSession. */
7
+ export function AuthSessionProvider({ signedOut = "sign-in", fetchImpl, children }) {
8
+ const [state, setState] = useState({ status: "loading" });
9
+ const [generation, setGeneration] = useState(0);
10
+ useEffect(() => {
11
+ let live = true;
12
+ void fetchAuthMe(fetchImpl).then((answer) => {
13
+ if (live)
14
+ setState(settleSession(answer, { signedOut }));
15
+ });
16
+ return () => {
17
+ live = false;
18
+ };
19
+ }, [fetchImpl, signedOut, generation]);
20
+ const reload = useCallback(() => setGeneration((g) => g + 1), []);
21
+ return _jsx(AuthSessionCtx.Provider, { value: { state, reload }, children: children });
22
+ }
23
+ /**
24
+ * The session, typed with the product's own view of the caller (`me.product`).
25
+ * Throws outside AuthSessionProvider: a screen that reads the session before
26
+ * it exists is a wiring mistake, not a signed-out caller.
27
+ */
28
+ export function useAuthSession() {
29
+ const v = useContext(AuthSessionCtx);
30
+ if (!v)
31
+ throw new Error("useAuthSession needs an AuthSessionProvider above it");
32
+ return v;
33
+ }
34
+ /**
35
+ * The page for a session state a console cannot render its screens in and
36
+ * must not redirect out of, or null for every other state.
37
+ *
38
+ * - `stuck`: a sign-in went round and came back without a session. Try again
39
+ * is a person's choice, so it goes even inside the guard's window.
40
+ * - `denied` with `signedIn`: the product refused a session that verified —
41
+ * its required group, most often. Signing in as someone else is the way out.
42
+ * - `denied` otherwise: the product failed, or could not be reached.
43
+ *
44
+ * `product` names the console in the copy ("Databases", "Trellis").
45
+ */
46
+ export function SessionWall({ state, product }) {
47
+ if (state.status === "stuck") {
48
+ return (_jsx(EmptyState, { icon: "lock", title: "Sign-in didn't finish", desc: "You were sent to sign in, but came back without a session. Try again \u2014 if it keeps happening, tell the platform team.", action: _jsx(AppButton, { variant: "grad", onClick: () => { signIn({ force: true }); }, children: "Try again" }) }));
49
+ }
50
+ if (state.status === "denied" && state.signedIn) {
51
+ return (_jsx(EmptyState, { icon: "lock", title: "Signed in, but not allowed here", desc: `${product} didn't accept your account. If you've just been given access, sign in again; otherwise ask an organisation admin.`, action: _jsx(AppButton, { onClick: () => { signOut(); }, children: "Sign in as someone else" }) }));
52
+ }
53
+ if (state.status === "denied") {
54
+ return (_jsx(EmptyState, { icon: "error", title: "Couldn't load your account", desc: `${product} couldn't open a session for you. Reload to try again; if it keeps happening, tell the platform team.`, action: _jsx(AppButton, { onClick: () => { globalThis.location.reload(); }, children: "Reload" }) }));
55
+ }
56
+ return null;
57
+ }
58
+ //# sourceMappingURL=sessionReact.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessionReact.js","sourceRoot":"","sources":["../src/sessionReact.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xeonr/console-shell",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "description": "The Xeonr Cloud Console chrome: product rail, team switcher, section sidebar, top bar, ⌘K and the All-products launcher, plus the console context hooks every product console mounts.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "react-dom": "^19.0.0",
24
24
  "react-router-dom": "^7.0.0",
25
25
  "styled-components": "^6.0.0",
26
- "@xeonr/platform-ui": "^0.5.6"
26
+ "@xeonr/platform-ui": "^0.5.7"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/node": "^24.19.2",
@@ -34,7 +34,7 @@
34
34
  "react-router-dom": "^7.8.0",
35
35
  "styled-components": "^6.1.19",
36
36
  "typescript": "^5.9.2",
37
- "@xeonr/platform-ui": "0.5.6"
37
+ "@xeonr/platform-ui": "0.5.7"
38
38
  },
39
39
  "dependencies": {
40
40
  "@bufbuild/protobuf": "^2.10.2",