@data-club/ai-hub 0.0.13 → 0.0.14

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.
Files changed (35) hide show
  1. package/dist/components/ChatShell/index.d.ts.map +1 -1
  2. package/dist/components/ChatShell/index.js +1 -1
  3. package/dist/components/ChatShell/index.js.map +1 -1
  4. package/dist/components/MainColumn/index.d.ts +13 -0
  5. package/dist/components/MainColumn/index.d.ts.map +1 -1
  6. package/dist/components/MainColumn/index.js +4 -2
  7. package/dist/components/MainColumn/index.js.map +1 -1
  8. package/dist/components/SessionsPanel/index.d.ts +11 -0
  9. package/dist/components/SessionsPanel/index.d.ts.map +1 -1
  10. package/dist/components/SessionsPanel/index.js +76 -41
  11. package/dist/components/SessionsPanel/index.js.map +1 -1
  12. package/dist/context/AIHubContext.d.ts +24 -0
  13. package/dist/context/AIHubContext.d.ts.map +1 -1
  14. package/dist/context/AIHubContext.js.map +1 -1
  15. package/dist/context/AIHubProvider.d.ts +8 -0
  16. package/dist/context/AIHubProvider.d.ts.map +1 -1
  17. package/dist/context/AIHubProvider.js +60 -3
  18. package/dist/context/AIHubProvider.js.map +1 -1
  19. package/dist/context/useAIHub.d.ts +6 -0
  20. package/dist/context/useAIHub.d.ts.map +1 -1
  21. package/dist/context/useAIHub.js +3 -0
  22. package/dist/context/useAIHub.js.map +1 -1
  23. package/dist/stories/_mockProvider.d.ts.map +1 -1
  24. package/dist/stories/_mockProvider.js +3 -0
  25. package/dist/stories/_mockProvider.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/components/ChatShell/index.tsx +1 -0
  28. package/src/components/MainColumn/index.tsx +30 -0
  29. package/src/components/SessionsPanel/index.tsx +77 -4
  30. package/src/context/AIHubContext.ts +26 -0
  31. package/src/context/AIHubProvider.tsx +78 -1
  32. package/src/context/useAIHub.ts +9 -0
  33. package/src/stories/_mockProvider.tsx +3 -0
  34. package/src/styles/CLASSES.md +19 -0
  35. package/src/styles/default.css +284 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatShell/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AAUxB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,uCAAuC;IACvC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAgDD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAqO1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ChatShell/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B,OAAO,KAAK,EACV,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AAUxB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0CAA0C;IAC1C,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,gFAAgF;IAChF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,+EAA+E;IAC/E,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACzC,uCAAuC;IACvC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6CAA6C;IAC7C,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,mCAAmC;IACnC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAgDD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,CAsO1D"}
@@ -208,7 +208,7 @@ export function ChatShell(props) {
208
208
  ? { customHeader: props.customSidebarHeader }
209
209
  : {}), ...(props.customSidebarFooter !== undefined
210
210
  ? { customFooter: props.customSidebarFooter }
211
- : {}) })) : null, _jsxs(MainColumn, { showBackToAgents: showAgentsPicker && agentSwitcherEnabled && agents.length > 1, showTurnStatus: flags.turnStatusVisible, showExportButton: flags.exportConversationEnabled, ...(props.texts !== undefined ? { texts: props.texts } : {}), ...(props.customHeaderContent !== undefined
211
+ : {}) })) : null, _jsxs(MainColumn, { showBackToAgents: showAgentsPicker && agentSwitcherEnabled && agents.length > 1, showMenuButton: flags.sessionsPanelEnabled, showTurnStatus: flags.turnStatusVisible, showExportButton: flags.exportConversationEnabled, ...(props.texts !== undefined ? { texts: props.texts } : {}), ...(props.customHeaderContent !== undefined
212
212
  ? { customHeaderContent: props.customHeaderContent }
213
213
  : {}), children: [_jsx(MessageList, { showSystemMessages: flags.systemMessagesVisible, showTpmNotice: flags.tpmNoticeVisible, showScrollToPresentButton: flags.scrollToPresentVisible, showReasoning: flags.reasoningVisible, showToolCalls: flags.toolCallsVisible, ...(props.texts !== undefined ? { texts: props.texts } : {}), ...(props.customMessageActions !== undefined
214
214
  ? { renderMessageActions: props.customMessageActions }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ChatShell/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ChatShell/index.tsx"],"names":[],"mappings":"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"}
@@ -23,6 +23,11 @@ export interface MainColumnClassNames {
23
23
  root: string;
24
24
  /** Chat header strip at the top. */
25
25
  header: string;
26
+ /**
27
+ * Hamburger button that opens the sessions drawer — rendered only in
28
+ * the narrow (mobile) layout.
29
+ */
30
+ menu: string;
26
31
  /** Back-to-agents-picker link. */
27
32
  back: string;
28
33
  /** Agent display-name text. */
@@ -44,6 +49,14 @@ export interface MainColumnProps {
44
49
  * the link in single-agent embeds). Defaults to true.
45
50
  */
46
51
  showBackToAgents?: boolean;
52
+ /**
53
+ * Whether the narrow-layout hamburger button (opens the sessions
54
+ * drawer) may render. `<ChatShell />` passes the resolved
55
+ * `sessions_panel_enabled` flag so the button never appears for
56
+ * deployments without a sessions panel. The button only renders while
57
+ * the container is in the narrow layout regardless. Defaults to true.
58
+ */
59
+ showMenuButton?: boolean;
47
60
  /**
48
61
  * Whether to mount the turn-status indicator in the chat header.
49
62
  * Receives the resolved §8.4 flag stack (server toggle > prop >
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MainColumn/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAU7B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAYD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAiH5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MainColumn/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAU7B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAaD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAiI5D"}
@@ -23,6 +23,7 @@ import { TurnStatusIndicator } from "../TurnStatusIndicator/index.js";
23
23
  const DEFAULT_CLASS_NAMES = Object.freeze({
24
24
  root: "data-club-ai-hub__main-column",
25
25
  header: "data-club-ai-hub__chat-header",
26
+ menu: "data-club-ai-hub__chat-header__menu",
26
27
  back: "data-club-ai-hub__chat-header__back",
27
28
  title: "data-club-ai-hub__chat-header__title",
28
29
  export: "data-club-ai-hub__chat-header__export",
@@ -36,10 +37,11 @@ const DEFAULT_CLASS_NAMES = Object.freeze({
36
37
  * @returns the rendered column.
37
38
  */
38
39
  export function MainColumn(props) {
39
- const { agents, activeAgentId, setActiveAgent, sessions, activeSessionId, messages, } = useAIHub();
40
+ const { agents, activeAgentId, setActiveAgent, sessions, activeSessionId, messages, isNarrowLayout, setSessionsDrawerOpen, } = useAIHub();
40
41
  const texts = useResolvedTexts(props.texts);
41
42
  const cls = { ...DEFAULT_CLASS_NAMES, ...(props.classNames ?? {}) };
42
43
  const showBack = props.showBackToAgents ?? true;
44
+ const showMenuButton = (props.showMenuButton ?? true) && isNarrowLayout;
43
45
  const showTurnStatus = props.showTurnStatus ?? true;
44
46
  const showExportButton = props.showExportButton ?? true;
45
47
  const activeAgent = useMemo(() => agents.find((a) => a.id === activeAgentId) ?? null, [agents, activeAgentId]);
@@ -81,6 +83,6 @@ export function MainColumn(props) {
81
83
  const rootClass = props.className
82
84
  ? `${cls.root} ${props.className}`
83
85
  : cls.root;
84
- return (_jsxs("section", { className: rootClass, "data-testid": "main-column", children: [_jsxs("header", { className: cls.header, "data-testid": "chat-header", children: [showBack ? (_jsx("button", { type: "button", className: cls.back, onClick: () => setActiveAgent(null), "data-testid": "chat-header-back", children: texts.chat.backToAgentsLink })) : null, _jsx("h2", { className: cls.title, "data-testid": "chat-header-title", children: activeAgent?.display_name ?? "" }), showTurnStatus ? _jsx(TurnStatusIndicator, {}) : null, showExportButton && activeSessionId !== null ? (_jsx("button", { type: "button", className: cls.export, onClick: handleExport, disabled: !hasExportableMessages, "aria-label": texts.chat.exportConversationAriaLabel, title: texts.chat.exportConversationAriaLabel, "data-testid": "chat-header-export", children: texts.chat.exportConversationButton })) : null, props.customHeaderContent ? (_jsx("div", { className: cls.extras, "data-testid": "chat-header-extras", children: props.customHeaderContent })) : null] }), _jsx("div", { className: cls.body, children: props.children })] }));
86
+ return (_jsxs("section", { className: rootClass, "data-testid": "main-column", children: [_jsxs("header", { className: cls.header, "data-testid": "chat-header", children: [showMenuButton ? (_jsx("button", { type: "button", className: cls.menu, onClick: () => setSessionsDrawerOpen(true), "aria-label": texts.chat.expandSessionsPanel, "data-testid": "chat-header-menu", children: "\u2630" })) : null, showBack ? (_jsx("button", { type: "button", className: cls.back, onClick: () => setActiveAgent(null), "data-testid": "chat-header-back", children: texts.chat.backToAgentsLink })) : null, _jsx("h2", { className: cls.title, "data-testid": "chat-header-title", children: activeAgent?.display_name ?? "" }), showTurnStatus ? _jsx(TurnStatusIndicator, {}) : null, showExportButton && activeSessionId !== null ? (_jsx("button", { type: "button", className: cls.export, onClick: handleExport, disabled: !hasExportableMessages, "aria-label": texts.chat.exportConversationAriaLabel, title: texts.chat.exportConversationAriaLabel, "data-testid": "chat-header-export", children: texts.chat.exportConversationButton })) : null, props.customHeaderContent ? (_jsx("div", { className: cls.extras, "data-testid": "chat-header-extras", children: props.customHeaderContent })) : null] }), _jsx("div", { className: cls.body, children: props.children })] }));
85
87
  }
86
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MainColumn/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MainColumn/index.tsx"],"names":[],"mappings":"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"}
@@ -36,6 +36,17 @@ export interface SessionsPanelClassNames {
36
36
  root: string;
37
37
  /** Modifier applied when the panel is collapsed. */
38
38
  rootCollapsed: string;
39
+ /**
40
+ * Modifier applied in the narrow (mobile) layout, where the panel
41
+ * renders as an overlay drawer instead of an inline column.
42
+ */
43
+ rootDrawer: string;
44
+ /** Modifier applied while the mobile drawer is open. */
45
+ rootDrawerOpen: string;
46
+ /** Backdrop scrim behind the open mobile drawer. */
47
+ drawerScrim: string;
48
+ /** Close (✕) button at the top of the mobile drawer. */
49
+ drawerClose: string;
39
50
  /** Optional custom-header slot wrapper at the top of the panel. */
40
51
  customHeader: string;
41
52
  /** "+ New chat" button. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SessionsPanel/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AAwBD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CA8PlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SessionsPanel/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAQ7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;CACtB;AA4BD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,uEAAuE;IACvE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C,6BAA6B;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;CACjC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAwTlE"}
@@ -36,6 +36,10 @@ import { SessionTitleModal } from "./SessionTitleModal.js";
36
36
  const DEFAULT_CLASS_NAMES = Object.freeze({
37
37
  root: "data-club-ai-hub__sessions-panel",
38
38
  rootCollapsed: "data-club-ai-hub__sessions-panel--collapsed",
39
+ rootDrawer: "data-club-ai-hub__sessions-panel--drawer",
40
+ rootDrawerOpen: "data-club-ai-hub__sessions-panel--drawer-open",
41
+ drawerScrim: "data-club-ai-hub__sessions-panel__scrim",
42
+ drawerClose: "data-club-ai-hub__sessions-panel__drawer-close",
39
43
  customHeader: "data-club-ai-hub__sessions-panel__custom-header",
40
44
  newSessionButton: "data-club-ai-hub__sessions-panel__new-button",
41
45
  reveal: "data-club-ai-hub__sessions-panel__reveal",
@@ -61,7 +65,7 @@ const DEFAULT_CLASS_NAMES = Object.freeze({
61
65
  * @returns the rendered panel.
62
66
  */
63
67
  export function SessionsPanel(props) {
64
- const { sessions, sessionsLoading, activeSessionId, setActiveSession, createSession, patchSession, includeArchivedSessions, setIncludeArchivedSessions, language, } = useAIHub();
68
+ const { sessions, sessionsLoading, activeSessionId, setActiveSession, createSession, patchSession, includeArchivedSessions, setIncludeArchivedSessions, language, isNarrowLayout, sessionsDrawerOpen, setSessionsDrawerOpen, } = useAIHub();
65
69
  const texts = useResolvedTexts(props.texts);
66
70
  const cls = { ...DEFAULT_CLASS_NAMES, ...(props.classNames ?? {}) };
67
71
  const showCreate = props.showCreateButton ?? true;
@@ -74,6 +78,24 @@ export function SessionsPanel(props) {
74
78
  const collapsed = userCollapsed ?? props.defaultCollapsed ?? false;
75
79
  const [modalOpen, setModalOpen] = useState(false);
76
80
  const [editingSessionId, setEditingSessionId] = useState(null);
81
+ // Narrow (mobile) layout: the panel becomes an overlay drawer driven by
82
+ // shared context state (the open button lives in `<MainColumn>`'s chat
83
+ // header). Desktop-only affordances — collapse toggle / reveal strip —
84
+ // are suppressed while in drawer mode.
85
+ const drawerMode = isNarrowLayout;
86
+ const drawerOpen = drawerMode && sessionsDrawerOpen;
87
+ // Escape closes the open drawer (matches the dropdown/modal conventions
88
+ // elsewhere in the library).
89
+ useEffect(() => {
90
+ if (!drawerOpen)
91
+ return undefined;
92
+ const onKeyDown = (event) => {
93
+ if (event.key === "Escape")
94
+ setSessionsDrawerOpen(false);
95
+ };
96
+ document.addEventListener("keydown", onKeyDown);
97
+ return () => document.removeEventListener("keydown", onKeyDown);
98
+ }, [drawerOpen, setSessionsDrawerOpen]);
77
99
  const editingSession = useMemo(() => {
78
100
  if (!editingSessionId)
79
101
  return null;
@@ -86,10 +108,17 @@ export function SessionsPanel(props) {
86
108
  setEditingSessionId(null);
87
109
  }
88
110
  }, [editingSessionId, editingSession]);
89
- if (collapsed) {
111
+ if (collapsed && !drawerMode) {
90
112
  return (_jsx("div", { className: `${cls.root} ${cls.rootCollapsed}`, "data-testid": "sessions-panel", "data-collapsed": "true", children: _jsx("button", { type: "button", className: cls.reveal, onClick: () => setUserCollapsed(false), "aria-label": texts.chat.expandSessionsPanel, "data-testid": "sessions-panel-reveal", children: "\u226B" }) }));
91
113
  }
92
- const rootClass = [cls.root, props.className].filter(Boolean).join(" ");
114
+ const rootClass = [
115
+ cls.root,
116
+ drawerMode ? cls.rootDrawer : "",
117
+ drawerOpen ? cls.rootDrawerOpen : "",
118
+ props.className,
119
+ ]
120
+ .filter(Boolean)
121
+ .join(" ");
93
122
  async function handleArchive(session) {
94
123
  const prompt = texts.chat.archiveConfirmPrompt.replace("{title}", session.title);
95
124
  // eslint-disable-next-line no-alert
@@ -111,43 +140,49 @@ export function SessionsPanel(props) {
111
140
  /* surfaced via provider's onError */
112
141
  }
113
142
  }
114
- return (_jsxs("aside", { className: rootClass, "data-testid": "sessions-panel", "aria-label": "Sessions", children: [props.customHeader ? (_jsx("div", { className: cls.customHeader, "data-testid": "sessions-panel-custom-header", children: props.customHeader })) : null, showCreate ? (_jsx("button", { type: "button", className: cls.newSessionButton, onClick: () => {
115
- setEditingSessionId(null);
116
- setModalOpen(true);
117
- }, "data-testid": "sessions-panel-new-button", children: texts.chat.newSessionButton })) : null, collapsible ? (_jsx("button", { type: "button", className: cls.collapseToggle, onClick: () => setUserCollapsed(true), "aria-label": texts.chat.collapseSessionsPanel, "data-testid": "sessions-panel-collapse", children: "\u226A" })) : null, sessionsLoading && sessions.length === 0 ? (_jsx("p", { className: cls.loading, "data-testid": "sessions-panel-loading", children: texts.chat.sessionsLoading })) : null, !sessionsLoading && sessions.length === 0 ? (_jsx("p", { className: cls.empty, "data-testid": "sessions-panel-empty", children: texts.chat.sessionsEmpty })) : null, _jsx("ul", { className: cls.list, "data-testid": "sessions-panel-list", children: sessions.map((session) => {
118
- const isActive = session.id === activeSessionId;
119
- const itemClasses = [
120
- cls.item,
121
- isActive ? cls.itemActive : "",
122
- session.is_archived ? cls.itemArchived : "",
123
- ]
124
- .filter(Boolean)
125
- .join(" ");
126
- const displayTitle = session.title.trim().length > 0
127
- ? session.title
128
- : texts.chat.untitledSessionFallback;
129
- return (_jsxs("li", { className: itemClasses, "data-testid": "session-item", "data-active": isActive ? "true" : "false", "data-archived": session.is_archived ? "true" : "false", "data-session-id": session.id, children: [_jsxs("button", { type: "button", className: cls.itemTitle, onClick: () => setActiveSession(session.id), "data-testid": "session-item-open", children: [_jsx("span", { children: displayTitle }), _jsx("span", { className: cls.itemMeta, children: formatRelativeTime(session.updated_at, language) })] }), _jsx("div", { className: cls.itemActions, "data-testid": "session-item-actions", children: !session.is_archived ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.editSessionTitleAriaLabel, onClick: () => {
130
- setEditingSessionId(session.id);
131
- setModalOpen(true);
132
- }, "data-testid": "session-item-edit", children: "\u270E" }), _jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.archiveSessionAriaLabel, onClick: () => {
133
- void handleArchive(session);
134
- }, "data-testid": "session-item-archive", children: "\uD83D\uDDC4" })] })) : (_jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.unarchiveSessionAriaLabel, onClick: () => {
135
- void handleUnarchive(session);
136
- }, "data-testid": "session-item-unarchive", children: "\u2934" })) })] }, session.id));
137
- }) }), _jsxs("div", { className: cls.footer, children: [props.customFooter ? (_jsx("div", { className: cls.customFooter, "data-testid": "sessions-panel-custom-footer", children: props.customFooter })) : null, _jsx("button", { type: "button", className: cls.archivedToggle, onClick: () => setIncludeArchivedSessions(!includeArchivedSessions), "aria-pressed": includeArchivedSessions, "data-testid": "sessions-panel-archived-toggle", children: includeArchivedSessions
138
- ? texts.chat.hideArchivedToggle
139
- : texts.chat.showArchivedToggle })] }), _jsx(SessionTitleModal, { mode: editingSession ? "edit" : "create", open: modalOpen, initialTitle: editingSession?.title ?? "", onCancel: () => {
140
- setModalOpen(false);
141
- setEditingSessionId(null);
142
- }, onSubmit: async (title) => {
143
- if (editingSession) {
144
- await patchSession(editingSession.id, { title });
145
- }
146
- else {
147
- await createSession(title);
148
- }
149
- setModalOpen(false);
150
- setEditingSessionId(null);
151
- }, texts: texts.chat })] }));
143
+ return (_jsxs(_Fragment, { children: [drawerMode ? (_jsx("div", { className: cls.drawerScrim, "data-open": drawerOpen ? "true" : "false", onClick: () => setSessionsDrawerOpen(false), "aria-hidden": "true", "data-testid": "sessions-drawer-scrim" })) : null, _jsxs("aside", { className: rootClass, "data-testid": "sessions-panel", "aria-label": "Sessions", "data-drawer": drawerMode ? "true" : undefined, "data-open": drawerMode ? (drawerOpen ? "true" : "false") : undefined, "aria-hidden": drawerMode && !drawerOpen ? true : undefined, children: [drawerMode ? (_jsx("button", { type: "button", className: cls.drawerClose, onClick: () => setSessionsDrawerOpen(false), "aria-label": texts.chat.collapseSessionsPanel, "data-testid": "sessions-drawer-close", children: "\u2715" })) : null, props.customHeader ? (_jsx("div", { className: cls.customHeader, "data-testid": "sessions-panel-custom-header", children: props.customHeader })) : null, showCreate ? (_jsx("button", { type: "button", className: cls.newSessionButton, onClick: () => {
144
+ setEditingSessionId(null);
145
+ setModalOpen(true);
146
+ }, "data-testid": "sessions-panel-new-button", children: texts.chat.newSessionButton })) : null, collapsible && !drawerMode ? (_jsx("button", { type: "button", className: cls.collapseToggle, onClick: () => setUserCollapsed(true), "aria-label": texts.chat.collapseSessionsPanel, "data-testid": "sessions-panel-collapse", children: "\u226A" })) : null, sessionsLoading && sessions.length === 0 ? (_jsx("p", { className: cls.loading, "data-testid": "sessions-panel-loading", children: texts.chat.sessionsLoading })) : null, !sessionsLoading && sessions.length === 0 ? (_jsx("p", { className: cls.empty, "data-testid": "sessions-panel-empty", children: texts.chat.sessionsEmpty })) : null, _jsx("ul", { className: cls.list, "data-testid": "sessions-panel-list", children: sessions.map((session) => {
147
+ const isActive = session.id === activeSessionId;
148
+ const itemClasses = [
149
+ cls.item,
150
+ isActive ? cls.itemActive : "",
151
+ session.is_archived ? cls.itemArchived : "",
152
+ ]
153
+ .filter(Boolean)
154
+ .join(" ");
155
+ const displayTitle = session.title.trim().length > 0
156
+ ? session.title
157
+ : texts.chat.untitledSessionFallback;
158
+ return (_jsxs("li", { className: itemClasses, "data-testid": "session-item", "data-active": isActive ? "true" : "false", "data-archived": session.is_archived ? "true" : "false", "data-session-id": session.id, children: [_jsxs("button", { type: "button", className: cls.itemTitle, onClick: () => {
159
+ setActiveSession(session.id);
160
+ // Re-selecting the already-active session doesn't change
161
+ // provider state, so close the drawer explicitly too.
162
+ if (drawerMode)
163
+ setSessionsDrawerOpen(false);
164
+ }, "data-testid": "session-item-open", children: [_jsx("span", { children: displayTitle }), _jsx("span", { className: cls.itemMeta, children: formatRelativeTime(session.updated_at, language) })] }), _jsx("div", { className: cls.itemActions, "data-testid": "session-item-actions", children: !session.is_archived ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.editSessionTitleAriaLabel, onClick: () => {
165
+ setEditingSessionId(session.id);
166
+ setModalOpen(true);
167
+ }, "data-testid": "session-item-edit", children: "\u270E" }), _jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.archiveSessionAriaLabel, onClick: () => {
168
+ void handleArchive(session);
169
+ }, "data-testid": "session-item-archive", children: "\uD83D\uDDC4" })] })) : (_jsx("button", { type: "button", className: cls.actionButton, "aria-label": texts.chat.unarchiveSessionAriaLabel, onClick: () => {
170
+ void handleUnarchive(session);
171
+ }, "data-testid": "session-item-unarchive", children: "\u2934" })) })] }, session.id));
172
+ }) }), _jsxs("div", { className: cls.footer, children: [props.customFooter ? (_jsx("div", { className: cls.customFooter, "data-testid": "sessions-panel-custom-footer", children: props.customFooter })) : null, _jsx("button", { type: "button", className: cls.archivedToggle, onClick: () => setIncludeArchivedSessions(!includeArchivedSessions), "aria-pressed": includeArchivedSessions, "data-testid": "sessions-panel-archived-toggle", children: includeArchivedSessions
173
+ ? texts.chat.hideArchivedToggle
174
+ : texts.chat.showArchivedToggle })] }), _jsx(SessionTitleModal, { mode: editingSession ? "edit" : "create", open: modalOpen, initialTitle: editingSession?.title ?? "", onCancel: () => {
175
+ setModalOpen(false);
176
+ setEditingSessionId(null);
177
+ }, onSubmit: async (title) => {
178
+ if (editingSession) {
179
+ await patchSession(editingSession.id, { title });
180
+ }
181
+ else {
182
+ await createSession(title);
183
+ }
184
+ setModalOpen(false);
185
+ setEditingSessionId(null);
186
+ }, texts: texts.chat })] })] }));
152
187
  }
153
188
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SessionsPanel/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/SessionsPanel/index.tsx"],"names":[],"mappings":"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"}
@@ -232,6 +232,30 @@ export interface AIHubContextValue {
232
232
  * effect without a page reload.
233
233
  */
234
234
  refreshFeatureToggles: () => Promise<void>;
235
+ /**
236
+ * True when the component root is narrower than the narrow-layout
237
+ * breakpoint (default 720px). Driven by a `ResizeObserver` on the
238
+ * provider's root element — *container* width, not viewport width —
239
+ * so the library adapts identically in full-page mounts, iframes and
240
+ * partial-width embeds. The provider mirrors this value onto the
241
+ * root element as `data-layout="narrow" | "wide"`, which is what the
242
+ * stylesheet's responsive rules key off.
243
+ *
244
+ * In environments without `ResizeObserver` (jsdom, SSR) this stays
245
+ * `false` (wide).
246
+ */
247
+ isNarrowLayout: boolean;
248
+ /**
249
+ * Whether the sessions panel is currently open as a mobile overlay
250
+ * drawer. Only meaningful while `isNarrowLayout` is true — the wide
251
+ * layout renders the panel inline and ignores this flag. The provider
252
+ * force-closes the drawer when the layout flips back to wide and when
253
+ * the active agent or session changes (picking a chat should reveal
254
+ * the conversation, not leave the drawer covering it).
255
+ */
256
+ sessionsDrawerOpen: boolean;
257
+ /** Opens/closes the mobile sessions drawer. */
258
+ setSessionsDrawerOpen: (open: boolean) => void;
235
259
  }
236
260
  /**
237
261
  * The React context object. Default value is `null` — every hook checks
@@ -1 +1 @@
1
- {"version":3,"file":"AIHubContext.d.ts","sourceRoot":"","sources":["../../src/context/AIHubContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIHubContext.d.ts","sourceRoot":"","sources":["../../src/context/AIHubContext.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AIHubContext.js","sourceRoot":"","sources":["../../src/context/AIHubContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAgQtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"AIHubContext.js","sourceRoot":"","sources":["../../src/context/AIHubContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA0RtC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC"}
@@ -73,6 +73,14 @@ export interface AIHubProviderProps {
73
73
  * the locale; omitted keys fall back to the locale, then English.
74
74
  */
75
75
  texts?: DeepPartial<AIHubTexts>;
76
+ /**
77
+ * Container width (px) below which the UI switches to the narrow
78
+ * (mobile) layout — sessions panel becomes an overlay drawer, chrome
79
+ * paddings tighten, touch targets grow. Measured against the
80
+ * component's own root element, not the viewport, so partial-width
81
+ * embeds adapt too. Defaults to `720`.
82
+ */
83
+ narrowLayoutBreakpoint?: number;
76
84
  /** The tree under the provider. */
77
85
  children: ReactNode;
78
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AIHubProvider.d.ts","sourceRoot":"","sources":["../../src/context/AIHubProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAGX,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKhF,OAAO,KAAK,EAGV,UAAU,EAQX,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAwDpB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAC/C;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC,mCAAmC;IACnC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAo6BlE;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"AIHubProvider.d.ts","sourceRoot":"","sources":["../../src/context/AIHubProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EACL,WAAW,EAGX,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKhF,OAAO,KAAK,EAGV,UAAU,EAQX,MAAM,aAAa,CAAC;AAErB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAwDpB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC;IAC/C;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mCAAmC;IACnC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAmBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAu9BlE;AAED,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -23,7 +23,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
23
23
  * @see SPECIFICATIONS.md §7.6 — theme resolution
24
24
  * @see SPECIFICATIONS.md §6.7 — auth model
25
25
  */
26
- import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
26
+ import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState, } from "react";
27
27
  import { AIHubClient, AIHubRequestError, } from "../client/AIHubClient.js";
28
28
  import { initialAIHubState, reduceAIHubState, } from "../state/stateReducer.js";
29
29
  import { resolveAIHubTexts, } from "../auth/texts.js";
@@ -78,6 +78,20 @@ function mergeOptimisticAffordances(canonical, optimistic) {
78
78
  return next;
79
79
  });
80
80
  }
81
+ /**
82
+ * Default `narrowLayoutBreakpoint` — below this container width the
83
+ * narrow layout kicks in. 720px keeps tablets-in-portrait and phones on
84
+ * the drawer layout while desktop half-screen windows stay on the
85
+ * two-column layout.
86
+ */
87
+ const DEFAULT_NARROW_BREAKPOINT = 720;
88
+ /**
89
+ * `useLayoutEffect` that degrades to `useEffect` on the server so SSR
90
+ * renders don't warn. The narrow-layout measurement wants layout timing
91
+ * (classify before first paint → no wide-layout flash on phones), but
92
+ * must not break Next.js-style server rendering of wrapper pages.
93
+ */
94
+ const useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
81
95
  /**
82
96
  * The provider component. Single instance per ai-hub mount — multiple
83
97
  * mounts on the same page each manage their own auth state (this is the
@@ -86,7 +100,7 @@ function mergeOptimisticAffordances(canonical, optimistic) {
86
100
  * @param props - the provider props.
87
101
  */
88
102
  export function AIHubProvider(props) {
89
- const { baseUrl, children, client: clientProp, defaultTheme = "light", defaultLanguage = "en", texts: textsOverride, fetch: fetchProp, onError, tokenStorage = "localStorage", } = props;
103
+ const { baseUrl, children, client: clientProp, defaultTheme = "light", defaultLanguage = "en", texts: textsOverride, fetch: fetchProp, onError, tokenStorage = "localStorage", narrowLayoutBreakpoint = DEFAULT_NARROW_BREAKPOINT, } = props;
90
104
  // ── client ───────────────────────────────────────────────────────────
91
105
  const unauthorizedRef = useRef(null);
92
106
  const client = useMemo(() => {
@@ -122,6 +136,41 @@ export function AIHubProvider(props) {
122
136
  const [language, setLanguageState] = useState(() => {
123
137
  return readCachedLanguage() ?? defaultLanguage;
124
138
  });
139
+ // ── responsive layout ────────────────────────────────────────────────
140
+ // Container-width tier, observed on the provider's own root element so
141
+ // the narrow layout also kicks in for partial-width embeds (widget in a
142
+ // sidebar, iframe, …) where viewport media queries would lie. Defaults
143
+ // to wide when `ResizeObserver` is unavailable (SSR, jsdom).
144
+ const rootRef = useRef(null);
145
+ const [isNarrowLayout, setIsNarrowLayout] = useState(false);
146
+ const [sessionsDrawerOpen, setSessionsDrawerOpen] = useState(false);
147
+ useIsomorphicLayoutEffect(() => {
148
+ const el = rootRef.current;
149
+ if (!el || typeof ResizeObserver === "undefined")
150
+ return undefined;
151
+ const classify = (width) => {
152
+ // Width 0 means "not laid out" (display:none host, detached
153
+ // measurement) — keep the previous tier rather than flapping.
154
+ if (width <= 0)
155
+ return;
156
+ setIsNarrowLayout(width < narrowLayoutBreakpoint);
157
+ };
158
+ classify(el.getBoundingClientRect().width);
159
+ const observer = new ResizeObserver((entries) => {
160
+ for (const entry of entries) {
161
+ classify(entry.contentRect.width);
162
+ }
163
+ });
164
+ observer.observe(el);
165
+ return () => observer.disconnect();
166
+ }, [narrowLayoutBreakpoint]);
167
+ // The drawer only exists in the narrow layout — flip back to wide (e.g.
168
+ // phone rotation, window resize) and the inline panel returns, so the
169
+ // overlay state must reset or it would re-open stale on the next shrink.
170
+ useEffect(() => {
171
+ if (!isNarrowLayout)
172
+ setSessionsDrawerOpen(false);
173
+ }, [isNarrowLayout]);
125
174
  // ── chat state (Step 9) ─────────────────────────────────────────────
126
175
  const [agents, setAgents] = useState([]);
127
176
  const [agentsLoading, setAgentsLoading] = useState(false);
@@ -130,6 +179,11 @@ export function AIHubProvider(props) {
130
179
  const [sessionsLoading, setSessionsLoading] = useState(false);
131
180
  const [includeArchivedSessions, setIncludeArchivedSessions] = useState(false);
132
181
  const [activeSessionId, setActiveSessionIdState] = useState(null);
182
+ // Picking a chat (or switching agents) should reveal the conversation —
183
+ // close the mobile drawer instead of leaving it covering the messages.
184
+ useEffect(() => {
185
+ setSessionsDrawerOpen(false);
186
+ }, [activeAgentId, activeSessionId]);
133
187
  const [messages, setMessages] = useState([]);
134
188
  const [messagesLoading, setMessagesLoading] = useState(false);
135
189
  const [streamState, setStreamState] = useState(() => initialAIHubState());
@@ -955,7 +1009,10 @@ export function AIHubProvider(props) {
955
1009
  lastTurnError,
956
1010
  featureToggles,
957
1011
  refreshFeatureToggles,
1012
+ isNarrowLayout,
1013
+ sessionsDrawerOpen,
1014
+ setSessionsDrawerOpen,
958
1015
  };
959
- return (_jsx(aiHubContext.Provider, { value: value, children: _jsx("div", { className: "data-club-ai-hub", "data-theme": theme, lang: language, children: children }) }));
1016
+ return (_jsx(aiHubContext.Provider, { value: value, children: _jsx("div", { ref: rootRef, className: "data-club-ai-hub", "data-theme": theme, "data-layout": isNarrowLayout ? "narrow" : "wide", lang: language, children: children }) }));
960
1017
  }
961
1018
  //# sourceMappingURL=AIHubProvider.js.map