@gram-ai/elements 1.38.0 → 1.38.1

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 (27) hide show
  1. package/dist/components/ActiveChatTitle.d.ts +22 -0
  2. package/dist/components/ActiveChatTitle.test.d.ts +1 -0
  3. package/dist/components/activeChatTitle.helpers.d.ts +12 -0
  4. package/dist/elements.cjs +1 -1
  5. package/dist/elements.css +1 -1
  6. package/dist/elements.js +25 -24
  7. package/dist/{index--UMkUr53.js → index-DJwZquGT.js} +23984 -23887
  8. package/dist/index-DJwZquGT.js.map +1 -0
  9. package/dist/{index-Cz9y5YHw.cjs → index-EHNsQZHU.cjs} +60 -60
  10. package/dist/index-EHNsQZHU.cjs.map +1 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/{profiler-BHXyuGiY.js → profiler-De-Fmqbg.js} +2 -2
  13. package/dist/{profiler-BHXyuGiY.js.map → profiler-De-Fmqbg.js.map} +1 -1
  14. package/dist/{profiler-jAEvoPXB.cjs → profiler-tmT7xKnI.cjs} +2 -2
  15. package/dist/{profiler-jAEvoPXB.cjs.map → profiler-tmT7xKnI.cjs.map} +1 -1
  16. package/dist/{startRecording-D8IbKhJo.js → startRecording-BD0yDLcT.js} +2 -2
  17. package/dist/{startRecording-D8IbKhJo.js.map → startRecording-BD0yDLcT.js.map} +1 -1
  18. package/dist/{startRecording-Dw4aGDrV.cjs → startRecording-BDccFns1.cjs} +2 -2
  19. package/dist/{startRecording-Dw4aGDrV.cjs.map → startRecording-BDccFns1.cjs.map} +1 -1
  20. package/package.json +1 -1
  21. package/src/components/ActiveChatTitle.test.ts +39 -0
  22. package/src/components/ActiveChatTitle.tsx +152 -0
  23. package/src/components/activeChatTitle.helpers.ts +16 -0
  24. package/src/hooks/useGramThreadListAdapter.tsx +37 -2
  25. package/src/index.ts +1 -0
  26. package/dist/index--UMkUr53.js.map +0 -1
  27. package/dist/index-Cz9y5YHw.cjs.map +0 -1
@@ -0,0 +1,22 @@
1
+ export interface ActiveChatTitleProps {
2
+ className?: string;
3
+ /**
4
+ * Title text size. `sm` suits the compact dock header; `base` matches the
5
+ * larger full-screen conversation header. Defaults to `sm`.
6
+ */
7
+ size?: "sm" | "base";
8
+ }
9
+ /**
10
+ * Inline-editable title for the active conversation, intended for a chat
11
+ * header. Reads the active thread's title from the assistant-ui runtime and
12
+ * saves edits through `threadListItem().rename`, which optimistically updates
13
+ * the runtime and calls the Gram thread-list adapter (→ chat.generateTitle).
14
+ *
15
+ * Renaming requires a persisted thread (a remote id). A brand-new conversation
16
+ * only has a local id until its first message, so the title renders as a
17
+ * read-only "New Chat" until then. Clearing the title (saving empty) resets it
18
+ * to automatic, session-context naming.
19
+ *
20
+ * Must be rendered inside an Elements runtime provider.
21
+ */
22
+ export declare function ActiveChatTitle({ className, size, }: ActiveChatTitleProps): React.JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ export declare const MAX_TITLE_LENGTH = 200;
2
+ export declare const FALLBACK_TITLE = "New Chat";
3
+ /**
4
+ * Decides what a title edit should persist. Trims the draft; reports `changed`
5
+ * false when it matches the current (already-trimmed) title so an untouched
6
+ * edit — including the empty "New Chat" fallback — saves nothing. An empty
7
+ * trimmed value is a deliberate reset to automatic naming.
8
+ */
9
+ export declare function resolveTitleEdit(draft: string, currentTitle: string): {
10
+ changed: boolean;
11
+ value: string;
12
+ };
package/dist/elements.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-Cz9y5YHw.cjs"),r=require("./index-CGBkMd0d.cjs");exports.CREDITS_EXHAUSTED_MESSAGE=e.CREDITS_EXHAUSTED_MESSAGE;exports.Calendar=e.Calendar;exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.Markdown=e.Markdown;exports.MessageContent=e.MessageContent;exports.PRESETS=e.PRESETS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.SyntaxHighlightedCode=e.SyntaxHighlightedCode;exports.TimeRangePicker=e.TimeRangePicker;exports.ToolFallback=e.ToolFallback;exports.ToolUI=e.ToolUI;exports.ToolUISection=e.ToolUISection;exports.convertGramMessagesToExported=e.convertGramMessagesToExported;exports.convertGramMessagesToUIMessages=e.convertGramMessagesToUIMessages;exports.defineFrontendTool=e.defineFrontendTool;exports.describeStreamError=e.describeStreamError;exports.getPresetRange=e.getPresetRange;exports.trackError=e.trackError;exports.useRecordCassette=e.useRecordCassette;exports.useThreadId=e.useThreadId;exports.sleep=r.sleep;exports.useChatId=r.useChatId;exports.useElements=r.useElements;exports.useGramElements=r.useElements;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-EHNsQZHU.cjs"),t=require("./index-CGBkMd0d.cjs");exports.ActiveChatTitle=e.ActiveChatTitle;exports.CREDITS_EXHAUSTED_MESSAGE=e.CREDITS_EXHAUSTED_MESSAGE;exports.Calendar=e.Calendar;exports.Chat=e.Chat;exports.ChatHistory=e.ChatHistory;exports.ElementsProvider=e.ElementsProvider;exports.GramElementsProvider=e.ElementsProvider;exports.MODELS=e.MODELS;exports.Markdown=e.Markdown;exports.MessageContent=e.MessageContent;exports.PRESETS=e.PRESETS;exports.Replay=e.Replay;exports.ShareButton=e.ShareButton;exports.SyntaxHighlightedCode=e.SyntaxHighlightedCode;exports.TimeRangePicker=e.TimeRangePicker;exports.ToolFallback=e.ToolFallback;exports.ToolUI=e.ToolUI;exports.ToolUISection=e.ToolUISection;exports.convertGramMessagesToExported=e.convertGramMessagesToExported;exports.convertGramMessagesToUIMessages=e.convertGramMessagesToUIMessages;exports.defineFrontendTool=e.defineFrontendTool;exports.describeStreamError=e.describeStreamError;exports.getPresetRange=e.getPresetRange;exports.trackError=e.trackError;exports.useRecordCassette=e.useRecordCassette;exports.useThreadId=e.useThreadId;exports.sleep=t.sleep;exports.useChatId=t.useChatId;exports.useElements=t.useElements;exports.useGramElements=t.useElements;
2
2
  //# sourceMappingURL=elements.cjs.map