@cossistant/next 0.0.33 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +4 -4
  2. package/_virtual/rolldown_runtime.js +42 -0
  3. package/hooks/index.d.ts +4 -3
  4. package/hooks/index.js +4 -2
  5. package/identify-visitor.d.ts +1 -1
  6. package/identify-visitor.js +4 -2
  7. package/index.d.ts +15 -25
  8. package/index.js +23 -10
  9. package/index.js.map +1 -0
  10. package/package.json +3 -14
  11. package/primitives/index.d.ts +8 -1
  12. package/primitives/index.d.ts.map +1 -0
  13. package/primitives/index.js +11 -2
  14. package/primitives/index.js.map +1 -0
  15. package/provider.d.ts +2 -1
  16. package/provider.js +4 -2
  17. package/react/src/hooks/index.d.ts +2 -2
  18. package/react/src/hooks/private/use-grouped-messages.d.ts +14 -1
  19. package/react/src/hooks/private/use-grouped-messages.d.ts.map +1 -1
  20. package/react/src/hooks/use-conversation-auto-seen.d.ts.map +1 -1
  21. package/react/src/hooks/use-conversation-page.d.ts.map +1 -1
  22. package/react/src/hooks/use-file-upload.d.ts +54 -1
  23. package/react/src/hooks/use-file-upload.d.ts.map +1 -0
  24. package/react/src/provider.d.ts.map +1 -1
  25. package/react/src/realtime/provider.d.ts +0 -1
  26. package/react/src/realtime/provider.d.ts.map +1 -1
  27. package/react/src/support/components/button.d.ts +25 -1
  28. package/react/src/support/components/button.d.ts.map +1 -0
  29. package/react/src/support/components/header.d.ts +11 -0
  30. package/react/src/support/components/header.d.ts.map +1 -0
  31. package/react/src/support/context/events.d.ts +54 -1
  32. package/react/src/support/context/events.d.ts.map +1 -1
  33. package/react/src/support/context/handle.d.ts +17 -1
  34. package/react/src/support/context/handle.d.ts.map +1 -1
  35. package/react/src/support/index.d.ts +25 -5
  36. package/react/src/support/index.d.ts.map +1 -1
  37. package/react/src/support/store/support-store.d.ts.map +1 -1
  38. package/react/src/support/text/index.d.ts +34 -2
  39. package/react/src/support/text/index.d.ts.map +1 -0
  40. package/react/src/support/text/locales/keys.d.ts +11 -1
  41. package/react/src/support/text/locales/keys.d.ts.map +1 -1
  42. package/react/src/support-config.d.ts +30 -3
  43. package/react/src/support-config.d.ts.map +1 -1
  44. package/react/src/utils/index.d.ts +1 -1
  45. package/react/src/utils/merge-refs.d.ts +30 -1
  46. package/react/src/utils/merge-refs.d.ts.map +1 -0
  47. package/react/src/utils/use-render-element.d.ts.map +1 -1
  48. package/realtime/index.d.ts +1 -1
  49. package/realtime/index.js +4 -2
  50. package/styles.css +1 -0
  51. package/support/index.d.ts +9 -3
  52. package/support/index.js +5 -2
  53. package/support-config.d.ts +2 -2
  54. package/support-config.js +4 -2
  55. package/support.css +1 -2
  56. package/utils/index.d.ts +2 -1
  57. package/utils/index.js +4 -2
package/README.md CHANGED
@@ -9,13 +9,13 @@ Build fully featured customer support experiences in your NextJS app with the of
9
9
  Pick the command that matches your package manager:
10
10
 
11
11
  ```bash
12
- bun add @cossistant/next @cossistant/react
12
+ bun add @cossistant/next
13
13
  # or
14
- npm install @cossistant/next @cossistant/react
14
+ npm install @cossistant/next
15
15
  # or
16
- pnpm add @cossistant/next @cossistant/react
16
+ pnpm add @cossistant/next
17
17
  # or
18
- yarn add @cossistant/next @cossistant/react
18
+ yarn add @cossistant/next
19
19
  ```
20
20
 
21
21
  ## Need help or spot a typo?
@@ -0,0 +1,42 @@
1
+ //#region rolldown:runtime
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (all, symbols) => {
7
+ let target = {};
8
+ for (var name in all) {
9
+ __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ }
14
+ if (symbols) {
15
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
16
+ }
17
+ return target;
18
+ };
19
+ var __copyProps = (to, from, except, desc) => {
20
+ if (from && typeof from === "object" || typeof from === "function") {
21
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
22
+ key = keys[i];
23
+ if (!__hasOwnProp.call(to, key) && key !== except) {
24
+ __defProp(to, key, {
25
+ get: ((k) => from[k]).bind(null, key),
26
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
27
+ });
28
+ }
29
+ }
30
+ }
31
+ return to;
32
+ };
33
+ var __reExport = (target, mod, secondTarget, symbols) => {
34
+ if (symbols) {
35
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
36
+ secondTarget && __defProp(secondTarget, Symbol.toStringTag, { value: "Module" });
37
+ }
38
+ __copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default");
39
+ };
40
+
41
+ //#endregion
42
+ export { __export, __reExport };
package/hooks/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { useClientQuery } from "../react/src/hooks/private/use-client-query.js";
2
2
  import { useDefaultMessages } from "../react/src/hooks/private/use-default-messages.js";
3
- import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, useGroupedMessages } from "../react/src/hooks/private/use-grouped-messages.js";
3
+ import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, PreparedTimelineItems, TIMELINE_GROUP_WINDOW_MS, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, buildTimelineReadReceiptData, groupTimelineItems, prepareTimelineItems, useGroupedMessages } from "../react/src/hooks/private/use-grouped-messages.js";
4
4
  import { UseMultimodalInputOptions, UseMultimodalInputReturn, useMultimodalInput } from "../react/src/hooks/private/use-multimodal-input.js";
5
- import { UseClientResult, useClient } from "../react/src/hooks/private/use-rest-client.js";
5
+ import { ConfigurationError, UseClientResult, useClient } from "../react/src/hooks/private/use-rest-client.js";
6
6
  import { UseComposerRefocusOptions, UseComposerRefocusReturn, useComposerRefocus } from "../react/src/hooks/use-composer-refocus.js";
7
7
  import { UseConversationOptions, UseConversationResult, useConversation } from "../react/src/hooks/use-conversation.js";
8
8
  import { CONVERSATION_AUTO_SEEN_DELAY_MS, UseConversationAutoSeenOptions, useConversationAutoSeen } from "../react/src/hooks/use-conversation-auto-seen.js";
@@ -16,6 +16,7 @@ import { ConversationTypingParticipant, useConversationTyping } from "../react/s
16
16
  import { ConversationTimelineTypingParticipant, UseConversationTimelineOptions, UseConversationTimelineReturn, useConversationTimeline } from "../react/src/hooks/use-conversation-timeline.js";
17
17
  import { UseConversationsOptions, UseConversationsResult, useConversations } from "../react/src/hooks/use-conversations.js";
18
18
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "../react/src/hooks/use-create-conversation.js";
19
+ import { FileUploadPart, UseFileUploadOptions, UseFileUploadReturn, useFileUpload } from "../react/src/hooks/use-file-upload.js";
19
20
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "../react/src/hooks/use-home-page.js";
20
21
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "../react/src/hooks/use-message-composer.js";
21
22
  import { useNewMessageSound } from "../react/src/hooks/use-new-message-sound.js";
@@ -27,4 +28,4 @@ import { useTypingSound } from "../react/src/hooks/use-typing-sound.js";
27
28
  import { UseVisitorReturn, useVisitor } from "../react/src/hooks/use-visitor.js";
28
29
  import { WindowVisibilityFocusState, useWindowVisibilityFocus } from "../react/src/hooks/use-window-visibility-focus.js";
29
30
  import "../react/src/hooks/index.js";
30
- export { CONVERSATION_AUTO_SEEN_DELAY_MS, type ConversationItem, type ConversationLifecycleState, type ConversationPreviewAssignedAgent, type ConversationPreviewLastMessage, type ConversationPreviewTypingParticipant, type ConversationPreviewTypingState, type ConversationTimelineTypingParticipant, type ConversationTypingParticipant, type CreateConversationVariables, type DaySeparatorItem, type GroupedActivity, type GroupedMessage, type SendMessageOptions, type SendMessageResult, type TimelineEventItem, type TimelineToolItem, type UseClientResult, type UseComposerRefocusOptions, type UseComposerRefocusReturn, type UseConversationAutoSeenOptions, type UseConversationHistoryPageOptions, type UseConversationHistoryPageReturn, type UseConversationLifecycleOptions, type UseConversationLifecycleReturn, type UseConversationOptions, type UseConversationPageOptions, type UseConversationPageReturn, type UseConversationPreviewOptions, type UseConversationPreviewReturn, type UseConversationResult, type UseConversationTimelineItemsOptions, type UseConversationTimelineItemsResult, type UseConversationTimelineOptions, type UseConversationTimelineReturn, type UseConversationsOptions, type UseConversationsResult, type UseCreateConversationOptions, type UseCreateConversationResult, type UseGroupedMessagesOptions, type UseGroupedMessagesProps, type UseHomePageOptions, type UseHomePageReturn, type UseMessageComposerOptions, type UseMessageComposerReturn, type UseMultimodalInputOptions, type UseMultimodalInputReturn, type UseRealtimeSupportOptions, type UseRealtimeSupportResult, type UseScrollMaskOptions, type UseScrollMaskReturn, type UseSendMessageOptions, type UseSendMessageResult, type UseSoundEffectOptions, type UseSoundEffectReturn, type UseVisitorReturn, type WindowVisibilityFocusState, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus };
31
+ export { CONVERSATION_AUTO_SEEN_DELAY_MS, ConfigurationError, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CreateConversationVariables, DaySeparatorItem, FileUploadPart, GroupedActivity, GroupedMessage, PreparedTimelineItems, SendMessageOptions, SendMessageResult, TIMELINE_GROUP_WINDOW_MS, TimelineEventItem, TimelineToolItem, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseFileUploadOptions, UseFileUploadReturn, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseSoundEffectOptions, UseSoundEffectReturn, UseVisitorReturn, WindowVisibilityFocusState, buildTimelineReadReceiptData, groupTimelineItems, prepareTimelineItems, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useFileUpload, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus };
package/hooks/index.js CHANGED
@@ -1,3 +1,5 @@
1
- import { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus } from "@cossistant/react/hooks";
1
+ import { __reExport } from "../_virtual/rolldown_runtime.js";
2
2
 
3
- export { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus };
3
+ export * from "@cossistant/react/hooks"
4
+
5
+ export { };
@@ -1,2 +1,2 @@
1
1
  import { IdentifySupportVisitor, IdentifySupportVisitorProps } from "./react/src/identify-visitor.js";
2
- export { IdentifySupportVisitor, type IdentifySupportVisitorProps };
2
+ export { IdentifySupportVisitor, IdentifySupportVisitorProps };
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { IdentifySupportVisitor } from "@cossistant/react/identify-visitor";
3
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
4
4
 
5
- export { IdentifySupportVisitor };
5
+ export * from "@cossistant/react/identify-visitor"
6
+
7
+ export { };
package/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  import { useClientQuery } from "./react/src/hooks/private/use-client-query.js";
2
2
  import { useDefaultMessages } from "./react/src/hooks/private/use-default-messages.js";
3
- import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, useGroupedMessages } from "./react/src/hooks/private/use-grouped-messages.js";
3
+ import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, PreparedTimelineItems, TIMELINE_GROUP_WINDOW_MS, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, buildTimelineReadReceiptData, groupTimelineItems, prepareTimelineItems, useGroupedMessages } from "./react/src/hooks/private/use-grouped-messages.js";
4
4
  import { UseMultimodalInputOptions, UseMultimodalInputReturn, useMultimodalInput } from "./react/src/hooks/private/use-multimodal-input.js";
5
- import { UseClientResult, useClient } from "./react/src/hooks/private/use-rest-client.js";
5
+ import { ConfigurationError, UseClientResult, useClient } from "./react/src/hooks/private/use-rest-client.js";
6
6
  import { UseComposerRefocusOptions, UseComposerRefocusReturn, useComposerRefocus } from "./react/src/hooks/use-composer-refocus.js";
7
7
  import { UseConversationOptions, UseConversationResult, useConversation } from "./react/src/hooks/use-conversation.js";
8
8
  import { CONVERSATION_AUTO_SEEN_DELAY_MS, UseConversationAutoSeenOptions, useConversationAutoSeen } from "./react/src/hooks/use-conversation-auto-seen.js";
9
9
  import { UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, useConversationHistoryPage } from "./react/src/hooks/use-conversation-history-page.js";
10
10
  import { ConversationLifecycleState, UseConversationLifecycleOptions, UseConversationLifecycleReturn, useConversationLifecycle } from "./react/src/hooks/use-conversation-lifecycle.js";
11
11
  import { UseConversationPageOptions, UseConversationPageReturn, useConversationPage } from "./react/src/hooks/use-conversation-page.js";
12
+ import { SupportLocale, SupportTextContentOverrides } from "./react/src/support/text/locales/keys.js";
12
13
  import { UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, useConversationTimelineItems } from "./react/src/hooks/use-conversation-timeline-items.js";
13
14
  import { ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, UseConversationPreviewOptions, UseConversationPreviewReturn, useConversationPreview } from "./react/src/hooks/use-conversation-preview.js";
14
15
  import { useConversationSeen, useDebouncedConversationSeen } from "./react/src/hooks/use-conversation-seen.js";
@@ -16,6 +17,7 @@ import { ConversationTypingParticipant, useConversationTyping } from "./react/sr
16
17
  import { ConversationTimelineTypingParticipant, UseConversationTimelineOptions, UseConversationTimelineReturn, useConversationTimeline } from "./react/src/hooks/use-conversation-timeline.js";
17
18
  import { UseConversationsOptions, UseConversationsResult, useConversations } from "./react/src/hooks/use-conversations.js";
18
19
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "./react/src/hooks/use-create-conversation.js";
20
+ import { FileUploadPart, UseFileUploadOptions, UseFileUploadReturn, useFileUpload } from "./react/src/hooks/use-file-upload.js";
19
21
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "./react/src/hooks/use-home-page.js";
20
22
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "./react/src/hooks/use-message-composer.js";
21
23
  import { useNewMessageSound } from "./react/src/hooks/use-new-message-sound.js";
@@ -29,26 +31,8 @@ import { WindowVisibilityFocusState, useWindowVisibilityFocus } from "./react/sr
29
31
  import "./hooks/index.js";
30
32
  import { IdentifySupportVisitor, IdentifySupportVisitorProps } from "./react/src/identify-visitor.js";
31
33
  import "./identify-visitor.js";
32
- import { TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType } from "./react/src/support/components/typing-indicator.js";
33
- import { SupportConfig, SupportConfigProps } from "./react/src/support-config.js";
34
- import { Avatar } from "./react/src/primitives/avatar/avatar.js";
35
- import { AvatarFallback } from "./react/src/primitives/avatar/fallback.js";
36
- import { AvatarImage } from "./react/src/primitives/avatar/image.js";
37
- import { Button } from "./react/src/primitives/button.js";
38
- import { CommandPackageManager, CommandVariants, DEFAULT_PACKAGE_MANAGER, mapCommandVariants } from "./react/src/primitives/command-block-utils.js";
39
- import { ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading } from "./react/src/primitives/conversation-timeline.js";
40
- import { DaySeparator, DaySeparatorLabel, DaySeparatorLabelProps, DaySeparatorLine, DaySeparatorLineProps, DaySeparatorProps, DaySeparatorRenderProps, defaultFormatDate } from "./react/src/primitives/day-separator.js";
41
- import { FileInput, MultimodalInput, SupportInput } from "./react/src/primitives/multimodal-input.js";
42
- import { PageDefinition, Router, RouterProps } from "./react/src/primitives/router.js";
43
- import { TimelineCodeBlock, TimelineCodeBlockProps } from "./react/src/primitives/timeline-code-block.js";
44
- import { TimelineCommandBlock, TimelineCommandBlockProps } from "./react/src/primitives/timeline-command-block.js";
45
- import { TimelineItem, TimelineItemContent, TimelineItemContentMarkdownRenderers, TimelineItemTimestamp } from "./react/src/primitives/timeline-item.js";
46
- import { TimelineItemAttachments, TimelineItemFiles, TimelineItemImages, extractFileParts, extractImageParts, hasAttachments } from "./react/src/primitives/timeline-item-attachments.js";
47
- import { TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator } from "./react/src/primitives/timeline-item-group.js";
48
- import { hasExpandedTimelineContent } from "./react/src/primitives/timeline-message-layout.js";
49
- import { SupportTrigger, TriggerProps, TriggerRenderProps } from "./react/src/primitives/trigger.js";
50
- import { SupportWindow } from "./react/src/primitives/window.js";
51
- import "./primitives/index.js";
34
+ import { DefaultMessage, DefaultMessageProps, SupportConfig, SupportConfigProps, extractDefaultMessagesFromChildren, resolveSupportConfigMessages } from "./react/src/support-config.js";
35
+ import { index_d_exports } from "./primitives/index.js";
52
36
  import { CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport } from "./react/src/provider.js";
53
37
  import "./provider.js";
54
38
  import { RealtimeAuthConfig, RealtimeContextValue, RealtimeProvider, RealtimeProviderProps, useRealtimeConnection } from "./react/src/realtime/provider.js";
@@ -58,14 +42,20 @@ import { applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingS
58
42
  import { RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, useRealtime } from "./react/src/realtime/use-realtime.js";
59
43
  import "./realtime/index.js";
60
44
  import { CustomPage } from "./react/src/support/router.js";
61
- import { Align, ContentProps, RootProps, Side } from "./react/src/support/types.js";
45
+ import { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent, SupportEvent, SupportEventCallbacks, SupportEventType, useSupportEventEmitter, useSupportEvents } from "./react/src/support/context/events.js";
46
+ import { SupportHandle, useSupportHandle } from "./react/src/support/context/handle.js";
47
+ import { Text, useSupportText } from "./react/src/support/text/index.js";
48
+ import { Align, CollisionPadding, ContentProps, RootProps, Side, TriggerRenderProps } from "./react/src/support/types.js";
49
+ import { CoButton } from "./react/src/support/components/button.js";
50
+ import { Header } from "./react/src/support/components/header.js";
62
51
  import { WebSocketContextValue, WebSocketProvider, useWebSocket } from "./react/src/support/context/websocket.js";
63
52
  import { useSupportConfig, useSupportNavigation, useSupportStore } from "./react/src/support/store/support-store.js";
64
- import { Support, SupportProps } from "./react/src/support/index.js";
53
+ import { DefaultRoutes, NavigationState, RouteRegistry, Support, SupportContentProps, SupportPageProps, SupportPageType, SupportProps, SupportRootProps, SupportRouterProps, SupportTriggerProps } from "./react/src/support/index.js";
65
54
  import "./support/index.js";
66
55
  import "./support-config.js";
67
56
  import { shouldDisplayConversation } from "./react/src/utils/conversation.js";
68
57
  import { PENDING_CONVERSATION_ID, generateShortPrimaryId } from "./react/src/utils/id.js";
58
+ import { mergeRefs, useMergeRefs } from "./react/src/utils/merge-refs.js";
69
59
  import { useRenderElement } from "./react/src/utils/use-render-element.js";
70
60
  import "./utils/index.js";
71
- export { Align, Avatar, AvatarFallback, AvatarImage, Button, CONVERSATION_AUTO_SEEN_DELAY_MS, CommandPackageManager, CommandVariants, SupportConfig as Config, ContentProps, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CossistantContextValue, CossistantProviderProps, CreateConversationVariables, CustomPage, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorItem, DaySeparatorLabel, DaySeparatorLabelProps, DaySeparatorLine, DaySeparatorLineProps, DaySeparatorProps, DaySeparatorRenderProps, FileInput, GroupedActivity, GroupedMessage, IdentifySupportVisitor, IdentifySupportVisitorProps, SupportInput as Input, MultimodalInput, PENDING_CONVERSATION_ID, PageDefinition, RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, RootProps, Router, RouterProps, SendMessageOptions, SendMessageResult, Side, Support, SupportConfig, SupportConfigProps, SupportContext, SupportProps, SupportProvider, SupportProviderProps, SupportRealtimeProvider, TimelineCodeBlock, TimelineCodeBlockProps, TimelineCommandBlock, TimelineCommandBlockProps, TimelineEventItem, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemContentMarkdownRenderers, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, TimelineToolItem, SupportTrigger as Trigger, TriggerProps, TriggerRenderProps, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseSoundEffectOptions, UseSoundEffectReturn, UseSupportValue, UseVisitorReturn, WebSocketContextValue, WebSocketProvider, SupportWindow as Window, WindowVisibilityFocusState, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, defaultFormatDate, extractFileParts, extractImageParts, generateShortPrimaryId, hasAttachments, hasExpandedTimelineContent, hydrateConversationSeen, mapCommandVariants, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtime, useRealtimeConnection, useRealtimeSupport, useRenderElement, useScrollMask, useSendMessage, useSoundEffect, useSupport, useSupportConfig, useSupportNavigation, useSupportStore, useTypingSound, useVisitor, useWebSocket, useWindowVisibilityFocus };
61
+ export { Align, CoButton as Button, CONVERSATION_AUTO_SEEN_DELAY_MS, CollisionPadding, ConfigurationError, ContentProps, ConversationEndEvent, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationStartEvent, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CossistantContextValue, CossistantProviderProps, CreateConversationVariables, CustomPage, DaySeparatorItem, DefaultMessage, DefaultMessageProps, DefaultRoutes, ErrorEvent, FileUploadPart, GroupedActivity, GroupedMessage, Header, IdentifySupportVisitor, IdentifySupportVisitorProps, MessageReceivedEvent, MessageSentEvent, NavigationState, PENDING_CONVERSATION_ID, PreparedTimelineItems, index_d_exports as Primitives, RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, RootProps, RouteRegistry, SendMessageOptions, SendMessageResult, Side, Support, SupportConfig, SupportConfigProps, SupportContentProps, SupportContext, SupportEvent, SupportEventCallbacks, SupportEventType, SupportHandle, SupportLocale, SupportPageProps, SupportPageType, SupportProps, SupportProvider, SupportProviderProps, SupportRealtimeProvider, SupportRootProps, SupportRouterProps, SupportTextContentOverrides, SupportTriggerProps, TIMELINE_GROUP_WINDOW_MS, Text, TimelineEventItem, TimelineToolItem, TriggerRenderProps, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseFileUploadOptions, UseFileUploadReturn, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseSoundEffectOptions, UseSoundEffectReturn, UseSupportValue, UseVisitorReturn, WebSocketContextValue, WebSocketProvider, WindowVisibilityFocusState, applyConversationSeenEvent, applyConversationTypingEvent, buildTimelineReadReceiptData, clearTypingFromTimelineItem, clearTypingState, extractDefaultMessagesFromChildren, generateShortPrimaryId, groupTimelineItems, hydrateConversationSeen, mergeRefs, prepareTimelineItems, resolveSupportConfigMessages, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useFileUpload, useGroupedMessages, useHomePage, useMergeRefs, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtime, useRealtimeConnection, useRealtimeSupport, useRenderElement, useScrollMask, useSendMessage, useSoundEffect, useSupport, useSupportConfig, useSupportEventEmitter, useSupportEvents, useSupportHandle, useSupportNavigation, useSupportStore, useSupportText, useTypingSound, useVisitor, useWebSocket, useWindowVisibilityFocus };
package/index.js CHANGED
@@ -1,12 +1,25 @@
1
1
  "use client";
2
2
 
3
- import { IdentifySupportVisitor } from "./identify-visitor.js";
4
- import { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus } from "./hooks/index.js";
5
- import { Avatar, AvatarFallback, AvatarImage, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLine, FileInput, Input, MultimodalInput, Router, TimelineCodeBlock, TimelineCommandBlock, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, Trigger, TypingIndicator, Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, mapCommandVariants } from "./primitives/index.js";
6
- import { SupportContext, SupportProvider, useSupport } from "./provider.js";
7
- import { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection } from "./realtime/index.js";
8
- import { Support, WebSocketProvider, useSupportConfig, useSupportNavigation, useSupportStore, useWebSocket } from "./support/index.js";
9
- import { SupportConfig } from "./support-config.js";
10
- import { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement } from "./utils/index.js";
11
-
12
- export { Avatar, AvatarFallback, AvatarImage, Button, CONVERSATION_AUTO_SEEN_DELAY_MS, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLine, FileInput, IdentifySupportVisitor, Input, MultimodalInput, PENDING_CONVERSATION_ID, RealtimeProvider, Router, Support, SupportConfig, SupportContext, SupportProvider, SupportRealtimeProvider, TimelineCodeBlock, TimelineCommandBlock, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, Trigger, TypingIndicator, WebSocketProvider, Window, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, defaultFormatDate, extractFileParts, extractImageParts, generateShortPrimaryId, hasAttachments, hasExpandedTimelineContent, hydrateConversationSeen, mapCommandVariants, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtime, useRealtimeConnection, useRealtimeSupport, useRenderElement, useScrollMask, useSendMessage, useSoundEffect, useSupport, useSupportConfig, useSupportNavigation, useSupportStore, useTypingSound, useVisitor, useWebSocket, useWindowVisibilityFocus };
3
+ import { __export, __reExport } from "./_virtual/rolldown_runtime.js";
4
+ import { primitives_exports } from "./primitives/index.js";
5
+
6
+ export * from "@cossistant/react/identify-visitor"
7
+
8
+ export * from "@cossistant/react/hooks"
9
+
10
+ export * from "@cossistant/react/provider"
11
+
12
+ export * from "@cossistant/react/realtime"
13
+
14
+ export * from "@cossistant/react/support"
15
+
16
+ export * from "@cossistant/react/support-config"
17
+
18
+ export * from "@cossistant/react/utils"
19
+
20
+ //#region src/index.ts
21
+ var src_exports = /* @__PURE__ */ __export({ Primitives: () => primitives_exports });
22
+
23
+ //#endregion
24
+ export { primitives_exports as Primitives };
25
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["\"use client\";\n\nexport * from \"./hooks\";\nexport * from \"./identify-visitor\";\nexport * as Primitives from \"./primitives\";\nexport * from \"./provider\";\nexport * from \"./realtime\";\nexport * from \"./support\";\nexport * from \"./support-config\";\nexport * from \"./utils\";\n"],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cossistant/next",
3
3
  "type": "module",
4
- "version": "0.0.33",
4
+ "version": "0.1.0",
5
5
  "private": false,
6
6
  "author": "Cossistant team",
7
7
  "description": "Next.js-ready SDK for building AI-powered support/chat widgets. Hooks + primitives, WS-driven, TypeScript-first. Next.js-ready, Tailwind optional.",
@@ -39,10 +39,6 @@
39
39
  "types": "./primitives/index.d.ts",
40
40
  "import": "./primitives/index.js"
41
41
  },
42
- "./primitives/*": {
43
- "types": "./primitives/*.d.ts",
44
- "import": "./primitives/*.js"
45
- },
46
42
  "./support": {
47
43
  "types": "./support/index.d.ts",
48
44
  "import": "./support/index.js"
@@ -51,11 +47,8 @@
51
47
  "types": "./hooks/index.d.ts",
52
48
  "import": "./hooks/index.js"
53
49
  },
54
- "./hooks/*": {
55
- "types": "./hooks/*.d.ts",
56
- "import": "./hooks/*.js"
57
- },
58
50
  "./support.css": "./support.css",
51
+ "./styles.css": "./styles.css",
59
52
  "./realtime": {
60
53
  "types": "./realtime/index.d.ts",
61
54
  "import": "./realtime/index.js"
@@ -64,10 +57,6 @@
64
57
  "types": "./utils/index.d.ts",
65
58
  "import": "./utils/index.js"
66
59
  },
67
- "./utils/*": {
68
- "types": "./utils/*.d.ts",
69
- "import": "./utils/*.js"
70
- },
71
60
  "./identify-visitor": {
72
61
  "types": "./identify-visitor.d.ts",
73
62
  "import": "./identify-visitor.js"
@@ -91,7 +80,7 @@
91
80
  "access": "public"
92
81
  },
93
82
  "dependencies": {
94
- "@cossistant/react": "0.0.33"
83
+ "@cossistant/react": "0.1.0"
95
84
  },
96
85
  "peerDependencies": {
97
86
  "react": ">=18 <20",
@@ -18,4 +18,11 @@ import { hasExpandedTimelineContent } from "../react/src/primitives/timeline-mes
18
18
  import { SupportTrigger, TriggerProps, TriggerRenderProps } from "../react/src/primitives/trigger.js";
19
19
  import { SupportWindow } from "../react/src/primitives/window.js";
20
20
  import "../react/src/primitives/index.js";
21
- export { Avatar, AvatarFallback, AvatarImage, Button, type CommandPackageManager, type CommandVariants, SupportConfig as Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, type DaySeparatorLabelProps, DaySeparatorLine, type DaySeparatorLineProps, type DaySeparatorProps, type DaySeparatorRenderProps, FileInput, SupportInput as Input, MultimodalInput, type PageDefinition, Router, type RouterProps, TimelineCodeBlock, type TimelineCodeBlockProps, TimelineCommandBlock, type TimelineCommandBlockProps, TimelineItem, TimelineItemAttachments, TimelineItemContent, type TimelineItemContentMarkdownRenderers, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, SupportTrigger as Trigger, type TriggerProps, type TriggerRenderProps, TypingIndicator, type TypingIndicatorProps, type TypingParticipant, type TypingParticipantType, SupportWindow as Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, mapCommandVariants };
21
+
22
+ //#region src/primitives/index.d.ts
23
+ declare namespace index_d_exports {
24
+ export { Avatar, AvatarFallback, AvatarImage, Button, CommandPackageManager, CommandVariants, SupportConfig as Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLabelProps, DaySeparatorLine, DaySeparatorLineProps, DaySeparatorProps, DaySeparatorRenderProps, FileInput, SupportInput as Input, MultimodalInput, PageDefinition, Router, RouterProps, TimelineCodeBlock, TimelineCodeBlockProps, TimelineCommandBlock, TimelineCommandBlockProps, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemContentMarkdownRenderers, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, SupportTrigger as Trigger, TriggerProps, TriggerRenderProps, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, SupportWindow as Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, mapCommandVariants };
25
+ }
26
+ //#endregion
27
+ export { Avatar, AvatarFallback, AvatarImage, Button, CommandPackageManager, CommandVariants, SupportConfig as Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLabelProps, DaySeparatorLine, DaySeparatorLineProps, DaySeparatorProps, DaySeparatorRenderProps, FileInput, SupportInput as Input, MultimodalInput, PageDefinition, Router, RouterProps, TimelineCodeBlock, TimelineCodeBlockProps, TimelineCommandBlock, TimelineCommandBlockProps, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemContentMarkdownRenderers, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, SupportTrigger as Trigger, TriggerProps, TriggerRenderProps, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, SupportWindow as Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, index_d_exports, mapCommandVariants };
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../src/primitives/index.ts"],"sourcesContent":[],"mappings":""}
@@ -1,5 +1,14 @@
1
1
  "use client";
2
2
 
3
- import { Avatar, AvatarFallback, AvatarImage, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLine, FileInput, Input, MultimodalInput, Router, TimelineCodeBlock, TimelineCommandBlock, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, Trigger, TypingIndicator, Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, mapCommandVariants } from "@cossistant/react/primitives";
3
+ import { __reExport } from "../_virtual/rolldown_runtime.js";
4
4
 
5
- export { Avatar, AvatarFallback, AvatarImage, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, DEFAULT_PACKAGE_MANAGER, DaySeparator, DaySeparatorLabel, DaySeparatorLine, FileInput, Input, MultimodalInput, Router, TimelineCodeBlock, TimelineCommandBlock, TimelineItem, TimelineItemAttachments, TimelineItemContent, TimelineItemFiles, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemImages, TimelineItemTimestamp, Trigger, TypingIndicator, Window, defaultFormatDate, extractFileParts, extractImageParts, hasAttachments, hasExpandedTimelineContent, mapCommandVariants };
5
+ export * from "@cossistant/react/primitives"
6
+
7
+ //#region src/primitives/index.ts
8
+ var primitives_exports = {};
9
+ import * as import___cossistant_react_primitives from "@cossistant/react/primitives";
10
+ __reExport(primitives_exports, import___cossistant_react_primitives);
11
+
12
+ //#endregion
13
+ export { primitives_exports };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/primitives/index.ts"],"sourcesContent":["\"use client\";\n\nexport * from \"@cossistant/react/primitives\";\n"],"mappings":""}
package/provider.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ import { ConfigurationError } from "./react/src/hooks/private/use-rest-client.js";
1
2
  import { CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport } from "./react/src/provider.js";
2
- export { type CossistantContextValue, type CossistantProviderProps, SupportContext, SupportProvider, type SupportProviderProps, type UseSupportValue, useSupport };
3
+ export { ConfigurationError, CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport };
package/provider.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { SupportContext, SupportProvider, useSupport } from "@cossistant/react/provider";
3
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
4
4
 
5
- export { SupportContext, SupportProvider, useSupport };
5
+ export * from "@cossistant/react/provider"
6
+
7
+ export { };
@@ -1,6 +1,6 @@
1
1
  import { useClientQuery } from "./private/use-client-query.js";
2
2
  import { useDefaultMessages } from "./private/use-default-messages.js";
3
- import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, useGroupedMessages } from "./private/use-grouped-messages.js";
3
+ import { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, PreparedTimelineItems, TIMELINE_GROUP_WINDOW_MS, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, buildTimelineReadReceiptData, groupTimelineItems, prepareTimelineItems, useGroupedMessages } from "./private/use-grouped-messages.js";
4
4
  import { UseMultimodalInputOptions, UseMultimodalInputReturn, useMultimodalInput } from "./private/use-multimodal-input.js";
5
5
  import { ConfigurationError, UseClientResult, useClient } from "./private/use-rest-client.js";
6
6
  import { UseComposerRefocusOptions, UseComposerRefocusReturn, useComposerRefocus } from "./use-composer-refocus.js";
@@ -16,7 +16,7 @@ import { ConversationTypingParticipant, useConversationTyping } from "./use-conv
16
16
  import { ConversationTimelineTypingParticipant, UseConversationTimelineOptions, UseConversationTimelineReturn, useConversationTimeline } from "./use-conversation-timeline.js";
17
17
  import { UseConversationsOptions, UseConversationsResult, useConversations } from "./use-conversations.js";
18
18
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "./use-create-conversation.js";
19
- import "./use-file-upload.js";
19
+ import { FileUploadPart, UseFileUploadOptions, UseFileUploadReturn, useFileUpload } from "./use-file-upload.js";
20
20
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "./use-home-page.js";
21
21
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "./use-message-composer.js";
22
22
  import { useNewMessageSound } from "./use-new-message-sound.js";
@@ -46,6 +46,19 @@ type UseGroupedMessagesOptions = {
46
46
  currentViewerId?: string;
47
47
  };
48
48
  type UseGroupedMessagesProps = UseGroupedMessagesOptions;
49
+ type PreparedTimelineItems = {
50
+ items: TimelineItem[];
51
+ times: number[];
52
+ didSort: boolean;
53
+ };
54
+ declare const TIMELINE_GROUP_WINDOW_MS: number;
55
+ declare const prepareTimelineItems: (items: TimelineItem[]) => PreparedTimelineItems;
56
+ declare const groupTimelineItems: (items: TimelineItem[], itemTimes: number[]) => ConversationItem[];
57
+ declare const buildTimelineReadReceiptData: (seenData: ConversationSeen[], sortedMessageItems: TimelineItem[], sortedMessageTimes: number[]) => {
58
+ seenByMap: Map<string, Set<string>>;
59
+ lastReadMessageMap: Map<string, string>;
60
+ unreadCountMap: Map<string, number>;
61
+ };
49
62
  /**
50
63
  * Batches sequential timeline items from the same sender into groups and enriches
51
64
  * them with read-receipt helpers so UIs can render conversation timelines with
@@ -69,5 +82,5 @@ declare const useGroupedMessages: ({
69
82
  hasUnreadAfter: (messageId: string, userId: string) => boolean;
70
83
  };
71
84
  //#endregion
72
- export { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, useGroupedMessages };
85
+ export { ConversationItem, DaySeparatorItem, GroupedActivity, GroupedMessage, PreparedTimelineItems, TIMELINE_GROUP_WINDOW_MS, TimelineEventItem, TimelineToolItem, UseGroupedMessagesOptions, UseGroupedMessagesProps, buildTimelineReadReceiptData, groupTimelineItems, prepareTimelineItems, useGroupedMessages };
73
86
  //# sourceMappingURL=use-grouped-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-grouped-messages.d.ts","names":[],"sources":["../../../../../../react/src/hooks/private/use-grouped-messages.ts"],"sourcesContent":[],"mappings":";;;AAMY,KAAA,cAAA,GAAc;EAGb,IAAA,EAAA,eAAA;EACL,QAAA,EAAA,MAAA;EAGW,UAAA,EAJN,UAIM;EACD,KAAA,EAJV,YAIU,EAAA;EAAI,cAAA,EAAA,MAAA;EAGV,aAAA,EAAA,MAAe;EAGd,gBAAA,EAPM,IAON;EACL,eAAA,EAPU,IAOV;CAGQ;AACD,KARH,eAAA,GAQG;EAAI,IAAA,EAAA,gBAAA;EAKP,QAAA,EAAA,MAAA;EAMA,UAAA,EAhBC,UAgBe;EAOhB,KAAA,EAtBJ,YAsBoB,EAAA;EAMhB,WAAA,EAAA,MAAgB;EACzB,UAAA,EAAA,MAAA;EACA,aAAA,EA3Ba,IA2Bb;EACA,YAAA,EA3BY,IA2BZ;EACA,QAAA,EAAA,OAAA;EACA,OAAA,EAAA,OAAA;CAAgB;AAEP,KA1BA,iBAAA,GA0ByB;EAMzB,IAAA,EAAA,gBAAA;EAyXC,IAAA,EAvZN,YAuZM;EAAsB,SAAA,EAtZvB,IAsZuB;CAAA;AAAA,KAnZvB,gBAAA,GAmZuB;EAIhC,IAAA,EAAA,eAAA;QArZI;;aAEK;;KAGA,gBAAA;;QAEL;;;KAIK,gBAAA,GACT,iBACA,kBACA,oBACA,mBACA;KAES,yBAAA;SACJ;aACI;;;KAIA,uBAAA,GAA0B;;;;;;;cAyXzB;;;;GAIV"}
1
+ {"version":3,"file":"use-grouped-messages.d.ts","names":[],"sources":["../../../../../../react/src/hooks/private/use-grouped-messages.ts"],"sourcesContent":[],"mappings":";;;AAMY,KAAA,cAAA,GAAc;EAGb,IAAA,EAAA,eAAA;EACL,QAAA,EAAA,MAAA;EAGW,UAAA,EAJN,UAIM;EACD,KAAA,EAJV,YAIU,EAAA;EAAI,cAAA,EAAA,MAAA;EAGV,aAAA,EAAA,MAAe;EAGd,gBAAA,EAPM,IAON;EACL,eAAA,EAPU,IAOV;CAGQ;AACD,KARH,eAAA,GAQG;EAAI,IAAA,EAAA,gBAAA;EAKP,QAAA,EAAA,MAAA;EAMA,UAAA,EAhBC,UAgBe;EAOhB,KAAA,EAtBJ,YAsBoB,EAAA;EAMhB,WAAA,EAAA,MAAgB;EACzB,UAAA,EAAA,MAAA;EACA,aAAA,EA3Ba,IA2Bb;EACA,YAAA,EA3BY,IA2BZ;EACA,QAAA,EAAA,OAAA;EACA,OAAA,EAAA,OAAA;CAAgB;AAEP,KA1BA,iBAAA,GA0ByB;EAMzB,IAAA,EAAA,gBAAA;EAEA,IAAA,EAhCL,YAgCK;EAMC,SAAA,EArCD,IAqCC;AA2Eb,CAAA;AAmEa,KAhLD,gBAAA,GA6UX;EAIY,IAAA,EAAA,eAAA;EACF,IAAA,EAhVJ,YAgVI;EACU,IAAA,EAAA,MAAA,GAAA,IAAA;aA/UT;;KAGA,gBAAA;;QAEL;EA0YM,UAAA,EAAA,MAAA;CAAsB;AAAA,KAtYvB,gBAAA,GACT,cAqYgC,GApYhC,eAoYgC,GAnYhC,iBAmYgC,GAlYhC,gBAkYgC,GAjYhC,gBAiYgC;AAAA,KA/XvB,yBAAA,GA+XuB;EAIhC,KAAA,EAlYK,YAkYL,EAAA;aAjYS;;;KAIA,uBAAA,GAA0B;KAE1B,qBAAA;SACJ;;;;cAKK;cA2EA,8BACL,mBACL;cAiEU,4BACL,wCAEL;cA8JU,yCACF,wCACU;;;;;;;;;;;cAgER;;;;GAIV"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-auto-seen.d.ts","names":[],"sources":["../../../../../react/src/hooks/use-conversation-auto-seen.ts"],"sourcesContent":[],"mappings":";;;cASa,+BAAA;AAAA,KAED,8BAAA,GAFgC;EAEhC;AA4DZ;;UAxDS;;;;;;;;;;;;;oBAgBU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCH,uBAAA,UACN"}
1
+ {"version":3,"file":"use-conversation-auto-seen.d.ts","names":[],"sources":["../../../../../react/src/hooks/use-conversation-auto-seen.ts"],"sourcesContent":[],"mappings":";;;cASa,+BAAA;AAAA,KAMD,8BAAA,GANgC;EAMhC;AA4DZ;;UAxDS;;;;;;;;;;;;;oBAgBU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwCH,uBAAA,UACN"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-page.d.ts","names":[],"sources":["../../../../../react/src/hooks/use-conversation-page.ts"],"sourcesContent":[],"mappings":";AAgBY,KAAA,0BAAA,GAA0B;EA+B1B;;;;EAgBQ,cAAA,EAAA,MAAA;EAOD;;AAuCnB;;;;;;;;;;UAxES;;;;;;;;KAUG,yBAAA;;;SAIJ;;SAEA;;;WAKC;;;;;sBAKW;;;;;oBAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuCH,mBAAA,UACN,6BACP"}
1
+ {"version":3,"file":"use-conversation-page.d.ts","names":[],"sources":["../../../../../react/src/hooks/use-conversation-page.ts"],"sourcesContent":[],"mappings":";AAgBY,KAAA,0BAAA,GAA0B;EA+B1B;;;;EAgBQ,cAAA,EAAA,MAAA;EAOD;;AA2CnB;;;;;;;;;;UA5ES;;;;;;;;KAUG,yBAAA;;;SAIJ;;SAEA;;;WAKC;;;;;sBAKW;;;;;oBAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2CH,mBAAA,UACN,6BACP"}
@@ -1 +1,54 @@
1
- import { CossistantClient } from "@cossistant/core";
1
+ import { CossistantClient } from "@cossistant/core";
2
+
3
+ //#region ../react/src/hooks/use-file-upload.d.ts
4
+ type FileUploadPart = TimelinePartImage | TimelinePartFile;
5
+ type UseFileUploadOptions = {
6
+ /**
7
+ * Optional Cossistant client instance.
8
+ * If not provided, uses the client from SupportProvider context.
9
+ */
10
+ client?: CossistantClient;
11
+ };
12
+ type UseFileUploadReturn = {
13
+ /**
14
+ * Upload files and return timeline parts ready to include in a message.
15
+ * Files are uploaded to S3 in parallel.
16
+ */
17
+ uploadFiles: (files: File[], conversationId: string) => Promise<FileUploadPart[]>;
18
+ /**
19
+ * Whether an upload is currently in progress.
20
+ */
21
+ isUploading: boolean;
22
+ /**
23
+ * Upload progress (0-100). Updates as files complete.
24
+ */
25
+ progress: number;
26
+ /**
27
+ * Error from the most recent upload attempt, if any.
28
+ */
29
+ error: Error | null;
30
+ /**
31
+ * Reset the upload state (clear errors and progress).
32
+ */
33
+ reset: () => void;
34
+ };
35
+ /**
36
+ * Hook for uploading files to S3 for inclusion in chat messages.
37
+ * Handles validation, upload progress tracking, and error management.
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * const { uploadFiles, isUploading, error } = useFileUpload();
42
+ *
43
+ * const handleSend = async () => {
44
+ * if (files.length > 0) {
45
+ * const parts = await uploadFiles(files, conversationId);
46
+ * // Include parts in message...
47
+ * }
48
+ * };
49
+ * ```
50
+ */
51
+ declare function useFileUpload(options?: UseFileUploadOptions): UseFileUploadReturn;
52
+ //#endregion
53
+ export { FileUploadPart, UseFileUploadOptions, UseFileUploadReturn, useFileUpload };
54
+ //# sourceMappingURL=use-file-upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-file-upload.d.ts","names":[],"sources":["../../../../../react/src/hooks/use-file-upload.ts"],"sourcesContent":[],"mappings":";;;KAeY,cAAA,GAAiB,oBAAoB;AAArC,KAEA,oBAAA,GAFiB;EAEjB;AAQZ;;;EAQM,MAAA,CAAA,EAXI,gBAWJ;CAeE;AAAK,KAvBD,mBAAA,GAuBC;EAwBG;;;;uBAzCP,mCAEH,QAAQ;;;;;;;;;;;;SAeN;;;;;;;;;;;;;;;;;;;;;;iBAwBQ,aAAA,WACN,uBACP"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","names":[],"sources":["../../../../react/src/provider.tsx"],"sourcesContent":[],"mappings":";;;;;;KAsEY,oBAAA;YACD,KAAA,CAAM;EADL,WAAA,CAAA,EAAA,OAAA;EACD,MAAM,CAAA,EAAA,MAAA;EAKE,KAAA,CAAA,EAAA,MAAA;EAKE,SAAA,CAAA,EAAA,MAAA;EAAK,eAAA,CAAA,EALP,cAKO,EAAA;EAId,YAAA,CAAA,EAAA,MAAA,EAAA;EAEA,WAAA,CAAA,EAAA,OAAA;EACF,WAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACQ,cAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAEc,SAAA,CAAA,EAAA,CAAA,KAAA,EAVX,KAUW,EAAA,GAAA,IAAA;EAKxB,IAAA,CAAA,EAAA,QAAA,GAAA,QAAA;CACa;AACZ,KAbG,uBAAA,GAA0B,oBAa7B;AAAgB,KAXb,sBAAA,GAWa;EAOpB,OAAA,EAjBK,qBAiBqB,GAAA,IAAA;EAE1B,eAAA,EAlBa,cAkBI,EAAA;EAAG,YAAA,EAAA,MAAA,EAAA;EAEV,kBAAA,EAAA,CAAA,QAAA,EAlBiB,cAkBjB,EAAA,EAAA,GAAA,IAAA;EAAZ,eAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,IAAA;EAAW,WAAA,EAAA,MAAA;EAiDF,cAAA,EAAA,CAAA,KAAe,EAAA,MAAA,EAAA,GAAA,IAAA;EAAG,SAAA,EAAA,OAAA;EACK,KAAA,EA/D3B,KA+D2B,GAAA,IAAA;EAAZ,kBAAA,EA9DF,kBA8DE,GAAA,IAAA;EACS,MAAA,EA9DvB,gBA8DuB,GAAA,IAAA;EAAZ,MAAA,EAAA,OAAA;EACT,IAAA,EAAA,GAAA,GAAA,IAAA;EAAiB,KAAA,EAAA,GAAA,GAAA,IAAA;EAIf,MAAA,EAAA,GAAA,GAAA,IAED;AAgWZ,CAAA;KA9ZK,WAAA,GAAc,WA+ZlB,CA/Z8B,sBA+Z9B,CAAA,SAAA,CAAA,CAAA;KA7ZI,iBAAA,GAAoB,WA8ZxB,CAAA,SAAA,CAAA,SAAA,IAAA,GAAA,SAAA,GAAA,SAAA,GA5ZE,WA4ZF,CA5Zc,WA4Zd,CAAA,SAAA,CAAA,CAAA,GAAA;EACA,MAAA,EAAA,MAAA,GAAA,IAAA;CACA;AACA,KA9WW,eAAA,GAAkB,sBA8W7B,GAAA;EACA,oBAAA,EA9WsB,WA8WtB,CA9WkC,WA8WlC,CAAA,sBAAA,CAAA,CAAA,GAAA,EAAA;EACA,iBAAA,EA9WmB,WA8WnB,CA9W+B,WA8W/B,CAAA,mBAAA,CAAA,CAAA,GAAA,EAAA;EACA,OAAA,CAAA,EA9WU,iBA8WV;EACA,IAAA,EAAA,QAAA,GAAA,QAAA;CACA;AACA,cA7WY,cA6WZ,EA7W0B,KAAA,CAAA,OA6W1B,CA7W0B,sBA6W1B,GAAA,SAAA,CAAA;;;;;AA0BD;;iBArCgB,eAAA;;;;;;;;;;;;;GAab,uBAAuB,KAAA,CAAM;;;;;iBAwBhB,UAAA,CAAA,GAAc"}
1
+ {"version":3,"file":"provider.d.ts","names":[],"sources":["../../../../react/src/provider.tsx"],"sourcesContent":[],"mappings":";;;;;;KAsEY,oBAAA;YACD,KAAA,CAAM;EADL,WAAA,CAAA,EAAA,OAAA;EACD,MAAM,CAAA,EAAA,MAAA;EAKE,KAAA,CAAA,EAAA,MAAA;EAKE,SAAA,CAAA,EAAA,MAAA;EAAK,eAAA,CAAA,EALP,cAKO,EAAA;EAId,YAAA,CAAA,EAAA,MAAA,EAAA;EAEA,WAAA,CAAA,EAAA,OAAA;EACF,WAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACQ,cAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAEc,SAAA,CAAA,EAAA,CAAA,KAAA,EAVX,KAUW,EAAA,GAAA,IAAA;EAKxB,IAAA,CAAA,EAAA,QAAA,GAAA,QAAA;CACa;AACZ,KAbG,uBAAA,GAA0B,oBAa7B;AAAgB,KAXb,sBAAA,GAWa;EAOpB,OAAA,EAjBK,qBAiBqB,GAAA,IAAA;EAE1B,eAAA,EAlBa,cAkBI,EAAA;EAAG,YAAA,EAAA,MAAA,EAAA;EAEV,kBAAA,EAAA,CAAA,QAAA,EAlBiB,cAkBjB,EAAA,EAAA,GAAA,IAAA;EAAZ,eAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,EAAA,GAAA,IAAA;EAAW,WAAA,EAAA,MAAA;EAiDF,cAAA,EAAA,CAAA,KAAe,EAAA,MAAA,EAAA,GAAA,IAAA;EAAG,SAAA,EAAA,OAAA;EACK,KAAA,EA/D3B,KA+D2B,GAAA,IAAA;EAAZ,kBAAA,EA9DF,kBA8DE,GAAA,IAAA;EACS,MAAA,EA9DvB,gBA8DuB,GAAA,IAAA;EAAZ,MAAA,EAAA,OAAA;EACT,IAAA,EAAA,GAAA,GAAA,IAAA;EAAiB,KAAA,EAAA,GAAA,GAAA,IAAA;EAIf,MAAA,EAAA,GAAA,GAAA,IAED;AAoVZ,CAAA;KAlZK,WAAA,GAAc,WAmZlB,CAnZ8B,sBAmZ9B,CAAA,SAAA,CAAA,CAAA;KAjZI,iBAAA,GAAoB,WAkZxB,CAAA,SAAA,CAAA,SAAA,IAAA,GAAA,SAAA,GAAA,SAAA,GAhZE,WAgZF,CAhZc,WAgZd,CAAA,SAAA,CAAA,CAAA,GAAA;EACA,MAAA,EAAA,MAAA,GAAA,IAAA;CACA;AACA,KAlWW,eAAA,GAAkB,sBAkW7B,GAAA;EACA,oBAAA,EAlWsB,WAkWtB,CAlWkC,WAkWlC,CAAA,sBAAA,CAAA,CAAA,GAAA,EAAA;EACA,iBAAA,EAlWmB,WAkWnB,CAlW+B,WAkW/B,CAAA,mBAAA,CAAA,CAAA,GAAA,EAAA;EACA,OAAA,CAAA,EAlWU,iBAkWV;EACA,IAAA,EAAA,QAAA,GAAA,QAAA;CACA;AACA,cAjWY,cAiWZ,EAjW0B,KAAA,CAAA,OAiW1B,CAjW0B,sBAiW1B,GAAA,SAAA,CAAA;;;;;AA0BD;;iBArCgB,eAAA;;;;;;;;;;;;;GAab,uBAAuB,KAAA,CAAM;;;;;iBAwBhB,UAAA,CAAA,GAAc"}
@@ -42,7 +42,6 @@ type RealtimeContextValue = RealtimeConnectionState & {
42
42
  };
43
43
  /**
44
44
  * Provides websocket connectivity and heartbeating logic for realtime events.
45
- * Handles SSR by only initializing the WebSocket connection in the browser.
46
45
  */
47
46
  declare function RealtimeProvider({
48
47
  children,
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","names":[],"sources":["../../../../../react/src/realtime/provider.tsx"],"sourcesContent":[],"mappings":";;;KAuBK,gBAAA,WAA2B;AAfD,KA8C1B,iBAAA,GA/BgB;EA+BhB,IAAA,EAAA,SAAA;EAOA,SAAA,EAAA,MAAA,GAAiB,IAAA;EAOjB,SAAA,CAAA,EAAA,MAAA,GAAkB,IAAA;EAWlB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAqB;CACf;KAnBN,iBAAA,GAqBE;EAIY,IAAA,EAAA,SAAA;EAAK,YAAA,EAAA,MAAA,GAAA,IAAA;EAGnB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAGG,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;CACO;KAzBV,kBAAA,GAAqB,iBA2BJ,GA3BwB,iBA2BxB;KAhBjB,qBAAA,GAiBO;EAAgB,QAAA,EAhBjB,KAAA,CAAM,SAgBW;EAKvB,KAAA,CAAA,EAAA,MAAA;EAklBW,IAAA,EArmBT,kBAqmByB,GAAA,IAAA;EAC/B,WAAA,CAAA,EAAA,OAAA;EACA,SAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,YAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAA,CAAA,EAAA,CAAA,KAAA,EArmBkB,KAqmBlB,EAAA,GAAA,IAAA;CACA;KAnmBI,uBAAA,GAomBJ;EACA,WAAA,EAAA,OAAA;EACE,YAAA,EAAA,OAAA;EAAwB,KAAM,EAnmBzB,KAmmByB,GAAA,IAAA;EAAY,IAAA,EAAA,CAAA,KAAA,EAlmB9B,gBAkmB8B,EAAA,GAAA,IAAA;EA+D7B,OAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAqB,GAAA,IAAA;uBA/pBf;aACV;;;;KAKP,oBAAA,GAAuB;;;;;;;;;iBAklBZ,gBAAA;;;;;;;;GAQb,wBAAwB,KAAA,CAAM;;;;iBA+DjB,qBAAA,CAAA,GAAyB"}
1
+ {"version":3,"file":"provider.d.ts","names":[],"sources":["../../../../../react/src/realtime/provider.tsx"],"sourcesContent":[],"mappings":";;;KAuBK,gBAAA,WAA2B;AAfD,KA8C1B,iBAAA,GA/BgB;EA+BhB,IAAA,EAAA,SAAA;EAOA,SAAA,EAAA,MAAA,GAAiB,IAAA;EAOjB,SAAA,CAAA,EAAA,MAAA,GAAkB,IAAA;EAgBlB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAqB;CACf;KAxBN,iBAAA,GA0BE;EAIY,IAAA,EAAA,SAAA;EAAK,YAAA,EAAA,MAAA,GAAA,IAAA;EAGnB,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAGG,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;CACO;KA9BV,kBAAA,GAAqB,iBAgCJ,GAhCwB,iBAgCxB;KAhBjB,qBAAA,GAiBO;EAAgB,QAAA,EAhBjB,KAAA,CAAM,SAgBW;EAKvB,KAAA,CAAA,EAAA,MAAA;EAmoBW,IAAA,EAtpBT,kBAspByB,GAAA,IAAA;EAC/B,WAAA,CAAA,EAAA,OAAA;EACA,SAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,YAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAA,CAAA,EAAA,CAAA,KAAA,EAtpBkB,KAspBlB,EAAA,GAAA,IAAA;CACA;KAppBI,uBAAA,GAqpBJ;EACA,WAAA,EAAA,OAAA;EACE,YAAA,EAAA,OAAA;EAAwB,KAAM,EAppBzB,KAopByB,GAAA,IAAA;EAAY,IAAA,EAAA,CAAA,KAAA,EAnpB9B,gBAmpB8B,EAAA,GAAA,IAAA;EAkB7B,OAAA,EAAA,CAAA,IAAA,EAAA,MAAA,EAAqB,GAAA,IAAA;uBAnqBf;aACV;;;;KAKP,oBAAA,GAAuB;;;;;;;;iBAmoBZ,gBAAA;;;;;;;;GAQb,wBAAwB,KAAA,CAAM;;;;iBAkBjB,qBAAA,CAAA,GAAyB"}
@@ -1 +1,25 @@
1
- import "react";
1
+ import * as React$1 from "react";
2
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
3
+ import { VariantProps } from "class-variance-authority";
4
+
5
+ //#region ../react/src/support/components/button.d.ts
6
+ declare const coButtonVariants: (props?: ({
7
+ variant?: "default" | "secondary" | "ghost" | "outline" | "tab" | "tab-selected" | null | undefined;
8
+ size?: "default" | "large" | "small" | "icon" | null | undefined;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
+ type CossistantButtonProps = React$1.ComponentProps<"button"> & {
11
+ asChild?: boolean;
12
+ } & VariantProps<typeof coButtonVariants>;
13
+ /**
14
+ * Styled button primitive that forwards variant and size props to the shared
15
+ * design tokens.
16
+ */
17
+ declare function CoButton({
18
+ className,
19
+ variant,
20
+ size,
21
+ ...props
22
+ }: CossistantButtonProps): React$1.ReactElement;
23
+ //#endregion
24
+ export { CoButton };
25
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","names":[],"sources":["../../../../../../react/src/support/components/button.tsx"],"sourcesContent":[],"mappings":";;;;;cAKa,wBA6BZ;;;AA7BD,CAAA,GA6BC,+BAAA,CAAA,SAAA,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;AAEW,KAAA,qBAAA,GAAwB,OAAA,CAAM,cAAT,CAAA,QAAA,CAAA,GAAA;EAAG,OAAM,CAAA,EAAA,OAAA;CAElB,GAApB,YAAoB,CAAA,OAAA,gBAAA,CAAA;;;AAMxB;;AAEC,iBAFe,QAAA,CAEf;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAGE,qBAHF,CAAA,EAG0B,OAAA,CAAM,YAHhC"}
@@ -0,0 +1,11 @@
1
+ //#region ../react/src/support/components/header.d.ts
2
+ type HeaderProps = {
3
+ className?: string;
4
+ children?: React.ReactNode;
5
+ actions?: React.ReactNode;
6
+ onGoBack?: () => void;
7
+ };
8
+ declare const Header: React.FC<HeaderProps>;
9
+ //#endregion
10
+ export { Header };
11
+ //# sourceMappingURL=header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.d.ts","names":[],"sources":["../../../../../../react/src/support/components/header.tsx"],"sourcesContent":[],"mappings":";KAKY,WAAA;EAAA,SAAA,CAAA,EAAA,MAAW;EAOV,QAAA,CA+BZ,EApCW,KAAA,CAAM,SAKY;YAJnB,KAAA,CAAM;;;cAIJ,QAAQ,KAAA,CAAM,GAAG"}
@@ -2,6 +2,7 @@ import { Conversation } from "@cossistant/types";
2
2
  import "react";
3
3
 
4
4
  //#region ../react/src/support/context/events.d.ts
5
+ type SupportEventType = "conversationStart" | "conversationEnd" | "messageSent" | "messageReceived" | "error";
5
6
  type ConversationStartEvent = {
6
7
  type: "conversationStart";
7
8
  conversationId: string;
@@ -27,6 +28,58 @@ type ErrorEvent = {
27
28
  error: Error;
28
29
  context?: string;
29
30
  };
31
+ type SupportEvent = ConversationStartEvent | ConversationEndEvent | MessageSentEvent | MessageReceivedEvent | ErrorEvent;
32
+ type SupportEventCallbacks = {
33
+ /**
34
+ * Called when a new conversation is started.
35
+ */
36
+ onConversationStart?: (event: ConversationStartEvent) => void;
37
+ /**
38
+ * Called when a conversation ends (resolved, closed, etc.).
39
+ */
40
+ onConversationEnd?: (event: ConversationEndEvent) => void;
41
+ /**
42
+ * Called when the visitor sends a message.
43
+ */
44
+ onMessageSent?: (event: MessageSentEvent) => void;
45
+ /**
46
+ * Called when a message is received from an agent (human or AI).
47
+ */
48
+ onMessageReceived?: (event: MessageReceivedEvent) => void;
49
+ /**
50
+ * Called when an error occurs.
51
+ */
52
+ onError?: (event: ErrorEvent) => void;
53
+ };
54
+ type SupportEventsContextValue = {
55
+ /**
56
+ * Emit an event to all registered callbacks.
57
+ */
58
+ emit: <T extends SupportEvent>(event: T) => void;
59
+ /**
60
+ * Subscribe to a specific event type.
61
+ * Returns an unsubscribe function.
62
+ */
63
+ subscribe: <T extends SupportEventType>(type: T, callback: (event: Extract<SupportEvent, {
64
+ type: T;
65
+ }>) => void) => () => void;
66
+ };
67
+ /**
68
+ * Access the events context.
69
+ * Returns null if not inside a SupportEventsProvider.
70
+ */
71
+ declare function useSupportEvents(): SupportEventsContextValue | null;
72
+ /**
73
+ * Hook to emit events from within the widget.
74
+ * Safe to use outside of provider (will no-op).
75
+ */
76
+ declare function useSupportEventEmitter(): {
77
+ emitConversationStart: (conversationId: string, conversation?: Conversation) => void;
78
+ emitConversationEnd: (conversationId: string, conversation?: Conversation) => void;
79
+ emitMessageSent: (conversationId: string, message: TimelineItem) => void;
80
+ emitMessageReceived: (conversationId: string, message: TimelineItem) => void;
81
+ emitError: (error: Error, context?: string) => void;
82
+ };
30
83
  //#endregion
31
- export { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent };
84
+ export { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent, SupportEvent, SupportEventCallbacks, SupportEventType, useSupportEventEmitter, useSupportEvents };
32
85
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","names":[],"sources":["../../../../../../react/src/support/context/events.tsx"],"sourcesContent":[],"mappings":";;;;AAiBY,KAAA,sBAAA,GAAsB;EAMtB,IAAA,EAAA,mBAAoB;EAMpB,cAAA,EAAA,MAAgB;EAMhB,YAAA,CAAA,EAfI,YAegB;AAMhC,CAAA;KAlBY,oBAAA;;;iBAGI;;KAGJ,gBAAA;;;WAGF;;KAGE,oBAAA;;;WAGF;;KAGE,UAAA;;SAEJ"}
1
+ {"version":3,"file":"events.d.ts","names":[],"sources":["../../../../../../react/src/support/context/events.tsx"],"sourcesContent":[],"mappings":";;;;KAUY,gBAAA;AAAA,KAOA,sBAAA,GAPgB;EAOhB,IAAA,EAAA,mBAAsB;EAMtB,cAAA,EAAA,MAAA;EAMA,YAAA,CAAA,EATI,YASY;AAM5B,CAAA;AAMY,KAlBA,oBAAA,GAoBJ;EAII,IAAA,EAAA,iBAAY;EACrB,cAAA,EAAA,MAAA;EACA,YAAA,CAAA,EAvBa,YAuBb;CACA;AACA,KAtBS,gBAAA,GAsBT;EACA,IAAA,EAAA,aAAA;EAAU,cAAA,EAAA,MAAA;EAMD,OAAA,EA1BF,YA0BE;CAImB;AAIF,KA/BjB,oBAAA,GA+BiB;EAIJ,IAAA,EAAA,iBAAA;EAII,cAAA,EAAA,MAAA;EAIV,OAAA,EAxCT,YAwCS;CAAU;AAOjB,KA5CA,UAAA,GA4CA;EAIM,IAAA,EAAA,OAAA;EAAqB,KAAA,EA9C/B,KA8C+B;EAKhB,OAAA,CAAA,EAAA,MAAA;CACf;AACoB,KAjDhB,YAAA,GACT,sBAgDyB,GA/CzB,oBA+CyB,GA9CzB,gBA8CyB,GA7CzB,oBA6CyB,GA5CzB,UA4CyB;AAAsB,KAtCtC,qBAAA,GAsCsC;EAA9B;;AAkIpB;EAQgB,mBAAA,CAAA,EAAA,CAAA,KAAsB,EA5KP,sBA4KO,EAAA,GAAA,IAAA;EAOnB;;;EAyBuC,iBAAA,CAAA,EAAA,CAAA,KAAA,EAxM7B,oBAwM6B,EAAA,GAAA,IAAA;EAOpC;;;0BA3MG;;;;8BAII;;;;oBAIV;;KAOP,yBAAA;;;;mBAIM,qBAAqB;;;;;wBAKhB,wBACf,qBACY,QAAQ;UAAsB;;;;;;;iBAkIlC,gBAAA,CAAA,GAAoB;;;;;iBAQpB,sBAAA,CAAA;iEAOG;+DAUA;qDAQmC;yDAOI;qBAOpC"}
@@ -58,6 +58,22 @@ type SupportHandle = {
58
58
  */
59
59
  goHome: () => void;
60
60
  };
61
+ /**
62
+ * Hook to access the imperative handle from within the widget.
63
+ * Returns null if not inside Support component.
64
+ *
65
+ * @example
66
+ * function MyComponent() {
67
+ * const support = useSupportHandle();
68
+ *
69
+ * return (
70
+ * <button onClick={() => support?.startConversation("Hello!")}>
71
+ * Get Help
72
+ * </button>
73
+ * );
74
+ * }
75
+ */
76
+ declare function useSupportHandle(): SupportHandle | null;
61
77
  //#endregion
62
- export { SupportHandle };
78
+ export { SupportHandle, useSupportHandle };
63
79
  //# sourceMappingURL=handle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handle.d.ts","names":[],"sources":["../../../../../../react/src/support/context/handle.tsx"],"sourcesContent":[],"mappings":";;;;;;;AA6BA;;;;;;;;;;;;;;;;KAAY,aAAA;;;;;;;;;;;;;;;;6BAgBgB;UACpB;aACG,cAAc"}
1
+ {"version":3,"file":"handle.d.ts","names":[],"sources":["../../../../../../react/src/support/context/handle.tsx"],"sourcesContent":[],"mappings":";;;;;;;AA6BA;;;;;;AAkIA;;;;;;;;;;KAlIY,aAAA;;;;;;;;;;;;;;;;6BAgBgB;UACpB;aACG,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgHT,gBAAA,CAAA,GAAoB"}
@@ -1,15 +1,17 @@
1
1
  import { SupportLocale, SupportTextContentOverrides } from "./text/locales/keys.js";
2
2
  import { CustomPage, PageProps } from "./router.js";
3
3
  import { SlotProps } from "./context/slots.js";
4
- import { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent } from "./context/events.js";
5
- import { SupportHandle } from "./context/handle.js";
6
- import "./text/index.js";
4
+ import { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent, SupportEvent, SupportEventCallbacks, SupportEventType, useSupportEventEmitter, useSupportEvents } from "./context/events.js";
5
+ import { SupportHandle, useSupportHandle } from "./context/handle.js";
6
+ import { Text, useSupportText } from "./text/index.js";
7
7
  import { Align, CollisionPadding, ContentProps, RootProps, Side, TriggerRenderProps } from "./types.js";
8
- import "./components/button.js";
8
+ import { CoButton } from "./components/button.js";
9
+ import { Header } from "./components/header.js";
9
10
  import { WebSocketContextValue, WebSocketProvider, useWebSocket } from "./context/websocket.js";
10
11
  import { useSupportConfig, useSupportNavigation, useSupportStore } from "./store/support-store.js";
11
12
  import "./store/index.js";
12
13
  import * as _cossistant_core0 from "@cossistant/core";
14
+ import { DefaultRoutes, NavigationState, RouteRegistry as RouteRegistry$1, SupportPage as SupportPageType } from "@cossistant/core";
13
15
  import { DefaultMessage } from "@cossistant/types";
14
16
  import * as React$1 from "react";
15
17
 
@@ -125,6 +127,18 @@ type SupportProps<Locale extends string = SupportLocale> = {
125
127
  */
126
128
  children?: React$1.ReactNode;
127
129
  };
130
+ type SupportTriggerProps = Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "children"> & {
131
+ /**
132
+ * Content to render inside the trigger.
133
+ * Can be static content or a function receiving render props.
134
+ */
135
+ children?: React$1.ReactNode | ((props: TriggerRenderProps) => React$1.ReactNode);
136
+ /**
137
+ * When true, renders children directly with all props passed through.
138
+ */
139
+ asChild?: boolean;
140
+ className?: string;
141
+ };
128
142
  type SupportContentProps = {
129
143
  className?: string;
130
144
  /**
@@ -165,6 +179,12 @@ type SupportRouterProps = {
165
179
  */
166
180
  children?: React$1.ReactNode;
167
181
  };
182
+ type SupportPageProps<K extends keyof _cossistant_core0.RouteRegistry = keyof _cossistant_core0.RouteRegistry> = {
183
+ name: K;
184
+ component: React$1.ComponentType<{
185
+ params?: _cossistant_core0.RouteRegistry[K];
186
+ }>;
187
+ };
168
188
  type SupportRootProps = {
169
189
  /**
170
190
  * Controlled open state.
@@ -235,5 +255,5 @@ declare const Support: (<Locale extends string = SupportLocale>(props: SupportPr
235
255
  Footer: React$1.FC<SlotProps>;
236
256
  };
237
257
  //#endregion
238
- export { Support, SupportProps };
258
+ export { type DefaultRoutes, type NavigationState, type RouteRegistry$1 as RouteRegistry, Support, SupportContentProps, SupportPageProps, type SupportPageType, SupportProps, SupportRootProps, SupportRouterProps, SupportTriggerProps };
239
259
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../react/src/support/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;KAuCY,qCAAqC;;;;;;;;AAAjD;EAAiD,IAAA,CAAA,EAUzC,IAVyC;EAUzC;;;;EA6EE,KAAA,CAAA,EAvED,KAuEC;EAK6B;;;;EAmBV,UAAA,CAAA,EAAA,MAAA;EAKJ;;;;;EAwSb,eAAA,CAAA,EAAA,OAAmB;EAMvB;;;;EAsBmB,gBAAA,CAAA,EArZP,gBAqZO;EA2Cf;AAkEZ;;EAgC6B,UAAA,CAAA,EAAA;IAIJ,OAAA,CAAA,EAAA,MAAA;IAII,OAAA,CAAA,EAAA,MAAA;EAIV,CAAA;EACR;;AA+GX;EA5VsB,KAAA,CAAA,EAAA,OAAA,GAAA,MAAA;EAED;;;;;;;;;;;;;;EAeyC,YAAM,CAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;;;;;;;;;;;;;;oBApSjD;;;;WAKT;;;;YAKC,4BAA4B;;;;gBAKxB;;;;gCASgB;;;;8BAKF;;;;0BAKJ;;;;8BAKI;;;;oBAKV;;;;;;;aAQP,OAAA,CAAM;;KAsRN,mBAAA;;;;;;SAMJ;;;;;UAKC;;;;;;;;;;;;;;;;qBAgBW;aACR,OAAA,CAAM;;KA2CN,kBAAA;;;;gBAIG;;;;aAIH,OAAA,CAAM;;KA0DN,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4BmB;;;;8BAIF;;;;0BAIJ;;;;8BAII;;;;oBAIV;YACR,OAAA,CAAM;;cA+GJ,mCA5VS,sBAEd,aAAa;QAAkB,OAAA,CAAM,IAAI;MAC5C,OAAA,CAAM;;;;;;;eAcC,OAAA,CAAM,qBAAqB,uBAAuB,OAAA,CAAM"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../react/src/support/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;KAuCY,qCAAqC;;;;;;;;;SAUzC;EAVI;;;;EAmCQ,KAAA,CAAA,EAnBX,KAmBW;EA+CD;;;;EAeJ,UAAA,CAAA,EAAA,MAAA;EASgB;;;;;EA4BnB,eAAM,CAAA,EAAA,OAAA;EAAS;AAwO3B;;;EAAkC,gBAAA,CAAA,EA3Ud,gBA2Uc;EAQtB;;;EAAiE,UAAA,CAAA,EAAA;IAsCjE,OAAA,CAAA,EAAA,MAAA;IAMJ,OAAA,CAAA,EAAA,MAAA;EAKC,CAAA;EAgBW;;;EA4CR,KAAA,CAAA,EAAA,OAAA,GAAA,MAAkB;EAsClB;;;;;EAMwC,IAAA,CAAA,EAAA,OAAA;EADxC;;AAuBZ;;;;;;EA6CW,YAAM,CAAA,EAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,IAAA;EAAS;AA+G1B;;;;EA1ViD,WAAA,CAAA,EAAA,OAAA;EAAV;;;;;;;oBArRpB;;;;EAoS2C,MAAM,CAAA,EA/R1D,MA+R0D;;;;YA1RzD,4BAA4B;;;;gBAKxB;;;;gCASgB;;;;8BAKF;;;;0BAKJ;;;;8BAKI;;;;oBAKV;;;;;;;aAQP,OAAA,CAAM;;KAwON,mBAAA,GAAsB,KACjC,OAAA,CAAM,qBAAqB;;;;;aAOhB,OAAA,CAAM,qBAAqB,uBAAuB,OAAA,CAAM;;;;;;;KAsCxD,mBAAA;;;;;;SAMJ;;;;;UAKC;;;;;;;;;;;;;;;;qBAgBW;aACR,OAAA,CAAM;;KA2CN,kBAAA;;;;gBAIG;;;;aAIH,OAAA,CAAM;;KA8BN,iCAAgB,iBAAA,CAEO,sBAAa,iBAAA,CAAoC;QAE7E;aACK,OAAA,CAAM;aADV,iBAAA,CAE8B,aAAA,CAAc;;;KAsBxC,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA4BmB;;;;8BAIF;;;;0BAIJ;;;;8BAII;;;;oBAIV;YACR,OAAA,CAAM;;cA+GJ,mCA5VS,sBAEd,aAAa;QAAkB,OAAA,CAAM,IAAI;MAC5C,OAAA,CAAM;;;;;;;eAcC,OAAA,CAAM,qBAAqB,uBAAuB,OAAA,CAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"support-store.d.ts","names":[],"sources":["../../../../../../react/src/support/store/support-store.ts"],"sourcesContent":[],"mappings":";;;;KA+CY,qBAAA,GAAwB,oBACnC,KACC;;;AAFF;;;;AACK,iBAkBW,eAAA,CAAA,CAlBX,EAkB8B,qBAlB9B;AAkBW,KAmBJ,sBAAA,GAnBuB;EAmBvB,MAAA,EAAA,OAAA;EA0BC,IAAA,EAxBN,aAuEN,CAAA,MAAA,CAAA;EAQY,IAAA,EAAA,GAAA,GAAA,IAAA;EAiBZ,KAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;;;;;cAxEY,wBAAuB;;;;;;;cAuDvB;6CAiBZ,iBAAA,CAAA,aAAA"}
1
+ {"version":3,"file":"support-store.d.ts","names":[],"sources":["../../../../../../react/src/support/store/support-store.ts"],"sourcesContent":[],"mappings":";;;;KAgDY,qBAAA,GAAwB,oBACnC,KACC;;;AAFF;;;;AACK,iBAkBW,eAAA,CAAA,CAlBX,EAkB8B,qBAlB9B;AAkBW,KAmBJ,sBAAA,GAnBuB;EAmBvB,MAAA,EAAA,OAAA;EA0BC,IAAA,EAxBN,aAuEN,CAAA,MAAA,CAAA;EAQY,IAAA,EAAA,GAAA,GAAA,IAAA;EAiBZ,KAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;;;;;;;;;;;;;cAxEY,wBAAuB;;;;;;;cAuDvB;6CAiBZ,iBAAA,CAAA,aAAA"}
@@ -1,2 +1,34 @@
1
- import { SupportLocale, SupportTextContentOverrides, SupportTextKey, SupportTextVariables } from "./locales/keys.js";
2
- import React from "react";
1
+ import { SupportLocale, SupportTextContentOverrides, SupportTextDefinitions, SupportTextKey, SupportTextResolvedFormatter, SupportTextVariables } from "./locales/keys.js";
2
+ import React from "react";
3
+
4
+ //#region ../react/src/support/text/index.d.ts
5
+
6
+ /**
7
+ * Returns the active text formatter for the support widget. Throws if used
8
+ * outside of `SupportTextProvider` to help catch integration mistakes.
9
+ */
10
+ declare function useSupportText(): SupportTextResolvedFormatter;
11
+ type OptionalVariablesProp<K extends SupportTextKey> = SupportTextDefinitions[K]["variables"] extends undefined ? {
12
+ variables?: undefined;
13
+ } : "optional" extends keyof SupportTextDefinitions[K] ? SupportTextDefinitions[K]["optional"] extends true ? {
14
+ variables?: SupportTextVariables<K>;
15
+ } : {
16
+ variables: SupportTextVariables<K>;
17
+ } : {
18
+ variables: SupportTextVariables<K>;
19
+ };
20
+ type TextProps<K extends SupportTextKey, As extends keyof React.JSX.IntrinsicElements = "span"> = OptionalVariablesProp<K> & {
21
+ textKey: K;
22
+ as?: As;
23
+ } & Omit<React.ComponentPropsWithoutRef<As>, "children">;
24
+ /**
25
+ * Convenience component that renders localized support copy via the
26
+ * `SupportTextProvider` context while still allowing callers to customize the
27
+ * rendered HTML element.
28
+ */
29
+ declare const Text: <K extends SupportTextKey, As extends keyof React.JSX.IntrinsicElements = "span">(props: TextProps<K, As> & {
30
+ ref?: React.Ref<Element>;
31
+ }) => React.ReactElement | null;
32
+ //#endregion
33
+ export { Text, useSupportText };
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../../../react/src/support/text/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAmIsC,iBAhBtB,cAAA,CAAA,CAgBsB,EAhBJ,4BAgBI;AAAA,KAPjC,qBASS,CAAA,UATuB,cASvB,CAAA,GARb,sBAQa,CARU,CAQV,CAAA,CAAA,WAAA,CAAA,SAAA,SAAA,GAAA;EACH,SAAA,CAAA,EAAA,SAAA;CACO,GAAA,UAAU,SAAA,MARC,sBAQD,CARwB,CAQxB,CAAA,GAPvB,sBAOuB,CAPA,CAOA,CAAA,CAAA,UAAA,CAAA,SAAA,IAAA,GAAA;EACF,SAAA,CAAA,EAPN,oBAOM,CAPe,CAOf,CAAA;CAAtB,GAAA;EACM,SAAA,EAPS,oBAOT,CAP8B,CAO9B,CAAA;CACJ,GAAA;EACkC,SAAA,EARtB,oBAQsB,CARD,CAQC,CAAA;CAA/B;KANJ,SAMD,CAAA,UALO,cAKP,EAAA,WAAA,MAJc,KAAA,CAAM,GAAA,CAAI,iBAIxB,GAAA,MAAA,CAAA,GAHA,qBAGA,CAHsB,CAGtB,CAAA,GAAA;EAAI,OAAA,EAFE,CAEF;EA2BK,EAAA,CAAA,EA5BP,EAiCwB;CAJnB,GA5BP,IA4BO,CA5BF,KAAA,CAAM,wBA4BJ,CA5B6B,EA4B7B,CAAA,EAAA,UAAA,CAAA;;;;;;AAG8B,cAJ5B,IAI4B,EAAA,CAAA,UAH9B,cAG8B,EAAA,WAAA,MAFvB,KAAA,CAAM,GAAA,CAAI,iBAEa,GAAA,MAAA,CAAA,CAAA,KAAA,EAAjC,SAAiC,CAAvB,CAAuB,EAApB,EAAoB,CAAA,GAAA;EACpC,GAAM,CAAA,EADwB,KAAA,CAAM,GAC9B,CADkC,OAClC,CAAA;CAAY,EAAA,GAAlB,KAAA,CAAM,YAAY,GAAA,IAAA"}
@@ -276,6 +276,16 @@ type SupportTextMessage<K$1 extends SupportTextKey, Vars = SupportTextVariables<
276
276
  utils: SupportTextUtils;
277
277
  }) => string);
278
278
  type SupportTextContentOverrides<Locale extends string = SupportLocale> = Partial<{ [K in SupportTextKey]: SupportTextMessage<K> | Partial<Record<SupportLocale | Locale, SupportTextMessage<K>>> }>;
279
+ type SupportTextFormatter = {
280
+ <K$1 extends SupportTextKey>(key: K$1, variables: SupportTextVariables<K$1>): string;
281
+ <K$1 extends SupportTextKey>(key: K$1): string;
282
+ };
283
+ type KeysWithVariables = { [K in SupportTextKey]: SupportTextVariables<K> extends undefined ? never : OptionalFlag<K> extends true ? never : K }[SupportTextKey];
284
+ type StrictSupportTextFormatter = {
285
+ <K$1 extends KeysWithVariables>(key: K$1, variables: SupportTextVariables<K$1>): string;
286
+ <K$1 extends Exclude<SupportTextKey, KeysWithVariables>>(key: K$1, variables?: SupportTextVariables<K$1>): string;
287
+ };
288
+ type SupportTextResolvedFormatter = StrictSupportTextFormatter & SupportTextFormatter;
279
289
  //#endregion
280
- export { SupportLocale, SupportTextContentOverrides, SupportTextKey, SupportTextVariables };
290
+ export { SupportLocale, SupportTextContentOverrides, SupportTextDefinitions, SupportTextKey, SupportTextResolvedFormatter, SupportTextVariables };
281
291
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","names":[],"sources":["../../../../../../../react/src/support/text/locales/keys.ts"],"sourcesContent":[],"mappings":";;;KAMY,aAAA;KAEA,qBAAA;AAFA,KAIA,qBAAA,GAJa;EAEb,KAAA,EAGJ,qBAHyB;EAErB,KAAA,EAAA,MAAA;AAKZ,CAAA;AAOY,KAPA,gBAAA,GAOkB;EACpB,YAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAP+B,IAAA,CAAK,mBAOpC,EAAA,GAAA,MAAA;EACA,SAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA;IACI,GAAA,EAAA,MAAA;IACH,KAAA,EAAA,MAAA;EAAgB,CAAA,EAAA,GAAA,MAAA;EAad,SAAA,EAAA,CAAA,KAAA,EAAA,MA2IsD,EAAA,GAAA,MAAA;EAEvD,SAAA,EAAA,GAAA,GAjKM,qBAiK0B;AAC5C,CAAA;AAEY,KAjKA,kBAAA,GAiKoB;EAAW,OAAA,EAhKjC,qBAgKiC,GAAA,IAAA;EAC1C,OAAA,EAhKS,qBAgKT,CAAA,SAAA,CAAA,GAAA,IAAA;EAAuB,WAAA,EA/JV,mBA+JU,EAAA;EAAC,QAAA,EA9Jd,gBA8Jc,EAAA;AAAe,CAAA;AAEZ,cAnJf,sBAmJe,EAAA;EAC3B,SAAA,4BAAA,EAAA;IAAuB,SAAA,SAAA,EAAA,SAAA;EAAC,CAAA;EAEpB,SAAA,4BAAgB,EAAA;IACV,SAAA,SAAA,EAAA,SAAA;EACkB,CAAA;EAArB,SAAA,2BAAA,EAAA;IACJ,SAAA,SAAA,EAAA;MAEY,SAAA,QAAA,EAAA,MAAA;IAAb,CAAA;EACC,CAAA;EACA,SAAA,wBAAA,EAAA;IAAI,SAAA,SAAA,EAAA,SAAA;EAEI,CAAA;EACD,SAAA,8BAAA,EAAA;IACkB,SAAA,SAAA,EAAA,SAAA;EAArB,CAAA;EAIuB,SAAA,6BAAA,EAAA;IAAG,SAAA,SAAA,EAAA,SAAA;EAApB,CAAA;EACF,SAAA,0BAAA,EAAA;IACF,SAAA,SAAA,EAAA,SAAA;EAAgB,CAAA;EAOd,SAAA,8BAA2B,EAAA;IAAyB,SAAA,SAAA,EAAA,SAAA;EAExD,CAAA;EACgB,SAAA,0BAAA,EAAA;IAAnB,SAAA,SAAA,EAAA,SAAA;EACe,CAAA;EAAgB,SAAA,sBAAA,EAAA;IAA2B,SAAA,SAAA,EAAA,SAAA;EAAnB,CAAA;EAA/B,SAAA,gCAAA,EAAA;IAAR,SAAA,SAAA,EAAA,SAAA;EAHJ,CAAA;EAAO,SAAA,6BAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAlCI,sBAAA,UAAgC;KAChC,cAAA,SAAuB;KAEvB,iCAA+B,kBAC1C,uBAAuB;KAEnB,yBAAuB,kBAC3B,uBAAuB;;;KAEnB,6BACM,uBACH,qBAAqB,QACzB,qCAED,aAAa,oBACZ,mBACA;KAEQ,+BACD,uBACH,qBAAqB;aAIf,iBAAiB,KAAG;WACtB;SACF;;KAOE,oDAAoD,iBAC/D,gBACO,iBACH,mBAAmB,KACnB,QAAQ,OAAO,gBAAgB,QAAQ,mBAAmB"}
1
+ {"version":3,"file":"keys.d.ts","names":[],"sources":["../../../../../../../react/src/support/text/locales/keys.ts"],"sourcesContent":[],"mappings":";;;KAMY,aAAA;KAEA,qBAAA;AAFA,KAIA,qBAAA,GAJa;EAEb,KAAA,EAGJ,qBAHyB;EAErB,KAAA,EAAA,MAAA;AAKZ,CAAA;AAOY,KAPA,gBAAA,GAOkB;EACpB,YAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAP+B,IAAA,CAAK,mBAOpC,EAAA,GAAA,MAAA;EACA,SAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA;IACI,GAAA,EAAA,MAAA;IACH,KAAA,EAAA,MAAA;EAAgB,CAAA,EAAA,GAAA,MAAA;EAad,SAAA,EAAA,CAAA,KAAA,EAAA,MA2IsD,EAAA,GAAA,MAAA;EAEvD,SAAA,EAAA,GAAA,GAjKM,qBAiK0B;AAC5C,CAAA;AAEY,KAjKA,kBAAA,GAiKoB;EAAW,OAAA,EAhKjC,qBAgKiC,GAAA,IAAA;EAC1C,OAAA,EAhKS,qBAgKT,CAAA,SAAA,CAAA,GAAA,IAAA;EAAuB,WAAA,EA/JV,mBA+JU,EAAA;EAAC,QAAA,EA9Jd,gBA8Jc,EAAA;AAAe,CAAA;AAEZ,cAnJf,sBAmJe,EAAA;EAC3B,SAAA,4BAAA,EAAA;IAAuB,SAAA,SAAA,EAAA,SAAA;EAAC,CAAA;EAEpB,SAAA,4BAAgB,EAAA;IACV,SAAA,SAAA,EAAA,SAAA;EACkB,CAAA;EAArB,SAAA,2BAAA,EAAA;IACJ,SAAA,SAAA,EAAA;MAEY,SAAA,QAAA,EAAA,MAAA;IAAb,CAAA;EACC,CAAA;EACA,SAAA,wBAAA,EAAA;IAAI,SAAA,SAAA,EAAA,SAAA;EAEI,CAAA;EACD,SAAA,8BAAA,EAAA;IACkB,SAAA,SAAA,EAAA,SAAA;EAArB,CAAA;EAIuB,SAAA,6BAAA,EAAA;IAAG,SAAA,SAAA,EAAA,SAAA;EAApB,CAAA;EACF,SAAA,0BAAA,EAAA;IACF,SAAA,SAAA,EAAA,SAAA;EAAgB,CAAA;EAOd,SAAA,8BAA2B,EAAA;IAAyB,SAAA,SAAA,EAAA,SAAA;EAExD,CAAA;EACgB,SAAA,0BAAA,EAAA;IAAnB,SAAA,SAAA,EAAA,SAAA;EACe,CAAA;EAAgB,SAAA,sBAAA,EAAA;IAA2B,SAAA,SAAA,EAAA,SAAA;EAAnB,CAAA;EAA/B,SAAA,gCAAA,EAAA;IAAR,SAAA,SAAA,EAAA,SAAA;EAHJ,CAAA;EAAO,SAAA,6BAAA,EAAA;IAMI,SAAA,SAAA,EAAoB,SAAA;EACpB,CAAA;EACL,SAAA,mCAAA,EAAA;IAC2B,SAAA,SAAA,EAAA;MAArB,SAAA,KAAA,EAAA,MAAA;IAGD,CAAA;EAAqB,CAAA;EAAC,SAAA,gCAAA,EAAA;IAG7B,SAAA,SAAiB,EAAA,SAAA;EACf,CAAA;EAAsC,SAAA,oBAAA,EAAA;IAArB,SAAA,SAAA,EAAA;MAEP,SAAA,WAAA,EAAA,MAAA,GAAA,SAAA;IAAb,CAAA;IAEC,SAAA,QAAA,EAAA,IAAA;EACH,CAAA;EAAc,SAAA,wBAAA,EAAA;IAEJ,SAAA,SAAA,EAAA;MACA,SAAA,KAAA,EAAA,MAAA;IACL,CAAA;EAC2B,CAAA;EAArB,SAAA,mBAAA,EAAA;IAEO,SAAA,SAAA,EAAA;MAAgB,SAAA,WAAA,EAAA,MAAA,GAAA,IAAA;IAAxB,CAAA;IACL,SAAA,QAAA,EAAA,IAAA;EAC4B,CAAA;EAArB,SAAA,gDAAA,EAAA;IAAoB,SAAA,SAAA,EAAA,SAAA;EAItB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KApEA,sBAAA,UAAgC;KAChC,cAAA,SAAuB;KAEvB,iCAA+B,kBAC1C,uBAAuB;KAEnB,yBAAuB,kBAC3B,uBAAuB;;;KAEnB,6BACM,uBACH,qBAAqB,QACzB,qCAED,aAAa,oBACZ,mBACA;KAEQ,+BACD,uBACH,qBAAqB;aAIf,iBAAiB,KAAG;WACtB;SACF;;KAOE,oDAAoD,iBAC/D,gBACO,iBACH,mBAAmB,KACnB,QAAQ,OAAO,gBAAgB,QAAQ,mBAAmB;KAGnD,oBAAA;eACA,qBACL,gBACM,qBAAqB;eAGtB,qBAAqB;;KAG5B,iBAAA,WACE,iBAAiB,qBAAqB,+BAEzC,aAAa,0BAEZ,IACH;KAEU,0BAAA;eACA,wBACL,gBACM,qBAAqB;eAEtB,QAAQ,gBAAgB,yBAC7B,iBACO,qBAAqB;;KAIvB,4BAAA,GAA+B,6BAC1C"}
@@ -1,10 +1,36 @@
1
- import { DefaultMessage } from "@cossistant/types";
1
+ import { DefaultMessage, SenderType } from "@cossistant/types";
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region ../react/src/support-config.d.ts
5
+ type DefaultMessageProps = {
6
+ content: string;
7
+ senderType: SenderType;
8
+ senderId?: string;
9
+ };
10
+ /**
11
+ * Declarative message entry for `SupportConfig`.
12
+ *
13
+ * @example
14
+ * <SupportConfig>
15
+ * <DefaultMessage senderType="team_member" content="How can we help?" />
16
+ * </SupportConfig>
17
+ */
18
+ declare function DefaultMessage$1(_props: DefaultMessageProps): React$1.ReactElement | null;
19
+ declare namespace DefaultMessage$1 {
20
+ var displayName: string;
21
+ }
22
+ declare function extractDefaultMessagesFromChildren(children: React$1.ReactNode): DefaultMessage[];
23
+ declare function resolveSupportConfigMessages({
24
+ children,
25
+ defaultMessages
26
+ }: {
27
+ children?: React$1.ReactNode;
28
+ defaultMessages?: DefaultMessage[];
29
+ }): DefaultMessage[] | undefined;
5
30
  type SupportConfigProps = {
6
31
  defaultMessages?: DefaultMessage[];
7
32
  quickOptions?: string[];
33
+ children?: React$1.ReactNode;
8
34
  };
9
35
  /**
10
36
  * Component exposed by Cossistant allowing you to change the support widget default messages and quick response whenever rendered.
@@ -12,10 +38,11 @@ type SupportConfigProps = {
12
38
  declare const SupportConfig: {
13
39
  ({
14
40
  defaultMessages,
15
- quickOptions
41
+ quickOptions,
42
+ children
16
43
  }: SupportConfigProps): React$1.ReactElement | null;
17
44
  displayName: string;
18
45
  };
19
46
  //#endregion
20
- export { SupportConfig, SupportConfigProps };
47
+ export { DefaultMessage$1 as DefaultMessage, DefaultMessageProps, SupportConfig, SupportConfigProps, extractDefaultMessagesFromChildren, resolveSupportConfigMessages };
21
48
  //# sourceMappingURL=support-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"support-config.d.ts","names":[],"sources":["../../../../react/src/support-config.tsx"],"sourcesContent":[],"mappings":";;;;KAMY,kBAAA;oBACO;EADP,YAAA,CAAA,EAAA,MAAkB,EAAA;AAQ9B,CAAA;;;;AAGwB,cAHX,aAGiB,EAAA;EAAY,CAAA;IAAA,eAAA;IAAA;EAAA,CAAA,EAAvC,kBAAuC,CAAA,EAAlB,OAAA,CAAM,YAAY,GAAA,IAAA"}
1
+ {"version":3,"file":"support-config.d.ts","names":[],"sources":["../../../../react/src/support-config.tsx"],"sourcesContent":[],"mappings":";;;;KASY,mBAAA;;EAAA,UAAA,EAEC,UAFkB;EAcf,QAAA,CAAA,EAAA,MAAA;;AAchB;AA0CA;;;;;;;AAeY,iBAvEI,gBAAA,CAwEG,MAAA,EAvEV,mBAyES,CAAA,EAxEf,OAAA,CAAM,YAwEkB,GAAA,IAAA;AAMd,kBAhFG,gBAAA,CAyGf;;;iBA3Fe,kCAAA,WACL,OAAA,CAAM,YACd;AAoEA,iBA5Ba,4BAAA,CA4Bb;EAAA,QAAA;EAAA;CAAA,EAAA;EAAqB,QAAM,CAAA,EAxBlB,OAAA,CAAM,SAwBY;EAAY,eAAA,CAAA,EAvBvB,cAuBuB,EAAA;IAtBtC;KASQ,kBAAA;oBACO;;aAEP,OAAA,CAAM;;;;;cAML;;;;;KAIV,qBAAqB,OAAA,CAAM"}
@@ -1,4 +1,4 @@
1
1
  import { shouldDisplayConversation } from "./conversation.js";
2
2
  import { PENDING_CONVERSATION_ID, generateShortPrimaryId } from "./id.js";
3
- import "./merge-refs.js";
3
+ import { mergeRefs, useMergeRefs } from "./merge-refs.js";
4
4
  import { useRenderElement } from "./use-render-element.js";
@@ -1 +1,30 @@
1
- import "react";
1
+ import * as React$1 from "react";
2
+
3
+ //#region ../react/src/utils/merge-refs.d.ts
4
+ type PossibleRef<T> = React$1.Ref<T> | React$1.RefCallback<T> | undefined | null;
5
+ /**
6
+ * Merges multiple refs into a single callback ref.
7
+ * Useful for forwarding refs to a component while also using a local ref.
8
+ *
9
+ * @example
10
+ * const Component = forwardRef((props, forwardedRef) => {
11
+ * const localRef = useRef(null);
12
+ * const mergedRef = mergeRefs([forwardedRef, localRef]);
13
+ * return <div ref={mergedRef} />;
14
+ * });
15
+ */
16
+ declare function mergeRefs<T>(refs: PossibleRef<T>[]): React$1.RefCallback<T> | null;
17
+ /**
18
+ * Hook version of mergeRefs that memoizes the result.
19
+ *
20
+ * @example
21
+ * const Component = forwardRef((props, forwardedRef) => {
22
+ * const localRef = useRef(null);
23
+ * const mergedRef = useMergeRefs([forwardedRef, localRef]);
24
+ * return <div ref={mergedRef} />;
25
+ * });
26
+ */
27
+ declare function useMergeRefs<T>(refs: PossibleRef<T>[]): React$1.RefCallback<T> | null;
28
+ //#endregion
29
+ export { mergeRefs, useMergeRefs };
30
+ //# sourceMappingURL=merge-refs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-refs.d.ts","names":[],"sources":["../../../../../react/src/utils/merge-refs.ts"],"sourcesContent":[],"mappings":";;;KAEK,iBAAiB,OAAA,CAAM,IAAI,KAAK,OAAA,CAAM,YAAY;;AAFxB;;;;;;AAe/B;;;;AAEG,iBAFa,SAEP,CAAA,CAAA,CAAA,CAAA,IAAA,EADF,WACE,CADU,CACV,CAAA,EAAA,CAAA,EAAN,OAAA,CAAM,WAAA,CAAY,CAAZ,CAAA,GAAA,IAAA;;AA2CT;;;;;;;;;iBAAgB,sBACT,YAAY,OAChB,OAAA,CAAM,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../../../../react/src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KA8B1B,YAAA,GAAY,MAAS,GAAA,CAAI,iBAAA;AAAiB,KAE1C,SAAA,CAAA,KAAS,CAAA,GAAA,MAAA,GAA4B,CAAA,CAAA,KAAK,EAAL,KAAK,EAAA,GAAA,MAAA,CAAA;AAAA,KAE1C,QAAA,CAAA,KAAQ,EAAA,KAAA,CAAA,GAAA,CAAA,KAAA,EACL,KADK,EAAA,KAAA,EAEL,KAFK,EAAA,GAGR,OAAA,CAAM,YAHE;KAKR,WAJG,CAAA,KAAA,EAAA,YAI4B,YAJ5B,CAAA,GAAA;EACA,MAAA,CAAA,EAIE,OAAA,CAAM,YAJR,GAIuB,QAJvB,CAIgC,GAAA,CAAI,iBAJpC,CAIsD,GAJtD,CAAA,EAI4D,KAJ5D,CAAA;EACH,SAAM,CAAA,EAIE,SAJF,CAIY,KAJZ,CAAA;EAAY,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA;KAQlB,YAN+B,CAAA,KAAA,EAAA,YAMC,YAND,CAAA,GAAA;EAC1B,KAAM,CAAA,EAMP,KANO;EAAwB,GAAI,CAAA,EAOrC,OAAA,CAAM,GAP+B,CAAA,GAAA,CAAA;EAAkB,KAAA,CAAA,EAQrD,OARqD,CAQ7C,GAAA,CAAI,iBARyC,CAQvB,GARuB,CAAA,CAAA;EAAM,OAAA,CAAA,EAAA,OAAA;CAArC;;;;AAK1B,iBAqCW,gBArCC,CAAA,cAsCF,MAtCE,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YAuCJ,YAvCI,CAAA,CAAA,GAAA,EAyCX,GAzCW,EAAA,cAAA,EA0CA,WA1CA,CA0CY,KA1CZ,EA0CmB,GA1CnB,CAAA,EAAA,MAAA,CAAA,EA2CP,YA3CO,CA2CM,KA3CN,EA2Ca,GA3Cb,CAAA,CAAA,EA4Cd,OAAA,CAAM,YA5CQ,GAAA,IAAA"}
1
+ {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../../../../react/src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KA8B1B,YAAA,GAAY,MAAS,GAAA,CAAI,iBAAA;AAAiB,KAE1C,SAAA,CAAA,KAAS,CAAA,GAAA,MAAA,GAAA,CAA4B,CAAA,KAAK,EAAL,KAAK,EAAA,GAAA,MAAA,CAAA;AAAA,KAE1C,QAAA,CAAA,KAAQ,EAAA,KAAA,CAAA,GAAA,CAAA,KAAA,EACL,KADK,EAAA,KAAA,EAEL,KAFK,EAAA,GAGR,OAAA,CAAM,YAHE;KAKR,WAJG,CAAA,KAAA,EAAA,YAI4B,YAJ5B,CAAA,GAAA;EACA,MAAA,CAAA,EAIE,OAAA,CAAM,YAJR,GAIuB,QAJvB,CAIgC,GAAA,CAAI,iBAJpC,CAIsD,GAJtD,CAAA,EAI4D,KAJ5D,CAAA;EACH,SAAM,CAAA,EAIE,SAJF,CAIY,KAJZ,CAAA;EAAY,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA;KAQlB,YAN+B,CAAA,KAAA,EAAA,YAMC,YAND,CAAA,GAAA;EAC1B,KAAM,CAAA,EAMP,KANO;EAAwB,GAAI,CAAA,EAOrC,OAAA,CAAM,GAP+B,CAAA,GAAA,CAAA;EAAkB,KAAA,CAAA,EAQrD,OARqD,CAQ7C,GAAA,CAAI,iBARyC,CAQvB,GARuB,CAAA,CAAA;EAAM,OAAA,CAAA,EAAA,OAAA;CAArC;;;;AAK1B,iBAqCW,gBArCC,CAAA,cAsCF,MAtCE,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YAuCJ,YAvCI,CAAA,CAAA,GAAA,EAyCX,GAzCW,EAAA,cAAA,EA0CA,WA1CA,CA0CY,KA1CZ,EA0CmB,GA1CnB,CAAA,EAAA,MAAA,CAAA,EA2CP,YA3CO,CA2CM,KA3CN,EA2Ca,GA3Cb,CAAA,CAAA,EA4Cd,OAAA,CAAM,YA5CQ,GAAA,IAAA"}
@@ -4,4 +4,4 @@ import { SupportRealtimeProvider } from "../react/src/realtime/support-provider.
4
4
  import { applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, setTypingState } from "../react/src/realtime/typing-store.js";
5
5
  import { RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, useRealtime } from "../react/src/realtime/use-realtime.js";
6
6
  import "../react/src/realtime/index.js";
7
- export { type RealtimeAuthConfig, type RealtimeContextValue, type RealtimeEventHandler, type RealtimeEventHandlerEntry, type RealtimeEventHandlersMap, type RealtimeEventMeta, RealtimeProvider, type RealtimeProviderProps, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
7
+ export { RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
package/realtime/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection } from "@cossistant/react/realtime";
3
+ import { __reExport } from "../_virtual/rolldown_runtime.js";
4
4
 
5
- export { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
5
+ export * from "@cossistant/react/realtime"
6
+
7
+ export { };
package/styles.css ADDED
@@ -0,0 +1 @@
1
+ @import "@cossistant/react/styles.css";
@@ -1,6 +1,12 @@
1
+ import { SupportLocale, SupportTextContentOverrides } from "../react/src/support/text/locales/keys.js";
1
2
  import { CustomPage } from "../react/src/support/router.js";
2
- import { Align, ContentProps, RootProps, Side } from "../react/src/support/types.js";
3
+ import { ConversationEndEvent, ConversationStartEvent, ErrorEvent, MessageReceivedEvent, MessageSentEvent, SupportEvent, SupportEventCallbacks, SupportEventType, useSupportEventEmitter, useSupportEvents } from "../react/src/support/context/events.js";
4
+ import { SupportHandle, useSupportHandle } from "../react/src/support/context/handle.js";
5
+ import { Text, useSupportText } from "../react/src/support/text/index.js";
6
+ import { Align, CollisionPadding, ContentProps, RootProps, Side, TriggerRenderProps } from "../react/src/support/types.js";
7
+ import { CoButton } from "../react/src/support/components/button.js";
8
+ import { Header } from "../react/src/support/components/header.js";
3
9
  import { WebSocketContextValue, WebSocketProvider, useWebSocket } from "../react/src/support/context/websocket.js";
4
10
  import { useSupportConfig, useSupportNavigation, useSupportStore } from "../react/src/support/store/support-store.js";
5
- import { Support, SupportProps } from "../react/src/support/index.js";
6
- export { type Align, type ContentProps, type CustomPage, type RootProps, type Side, Support, type SupportProps, type WebSocketContextValue, WebSocketProvider, useSupportConfig, useSupportNavigation, useSupportStore, useWebSocket };
11
+ import { DefaultRoutes, NavigationState, RouteRegistry, Support, SupportContentProps, SupportPageProps, SupportPageType, SupportProps, SupportRootProps, SupportRouterProps, SupportTriggerProps } from "../react/src/support/index.js";
12
+ export { Align, CoButton as Button, CollisionPadding, ContentProps, ConversationEndEvent, ConversationStartEvent, CustomPage, DefaultRoutes, ErrorEvent, Header, MessageReceivedEvent, MessageSentEvent, NavigationState, RootProps, RouteRegistry, Side, Support, SupportContentProps, SupportEvent, SupportEventCallbacks, SupportEventType, SupportHandle, SupportLocale, SupportPageProps, SupportPageType, SupportProps, SupportRootProps, SupportRouterProps, SupportTextContentOverrides, SupportTriggerProps, Text, TriggerRenderProps, WebSocketContextValue, WebSocketProvider, Support as default, useSupportConfig, useSupportEventEmitter, useSupportEvents, useSupportHandle, useSupportNavigation, useSupportStore, useSupportText, useWebSocket };
package/support/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  "use client";
2
2
 
3
- import { Support, WebSocketProvider, useSupportConfig, useSupportNavigation, useSupportStore, useWebSocket } from "@cossistant/react/support";
3
+ import { __export, __reExport } from "../_virtual/rolldown_runtime.js";
4
+ import support_default from "@cossistant/react/support";
4
5
 
5
- export { Support, WebSocketProvider, useSupportConfig, useSupportNavigation, useSupportStore, useWebSocket };
6
+ export * from "@cossistant/react/support"
7
+
8
+ export { support_default as default };
@@ -1,2 +1,2 @@
1
- import { SupportConfig, SupportConfigProps } from "./react/src/support-config.js";
2
- export { SupportConfig, type SupportConfigProps };
1
+ import { DefaultMessage, DefaultMessageProps, SupportConfig, SupportConfigProps, extractDefaultMessagesFromChildren, resolveSupportConfigMessages } from "./react/src/support-config.js";
2
+ export { DefaultMessage, DefaultMessageProps, SupportConfig, SupportConfigProps, extractDefaultMessagesFromChildren, resolveSupportConfigMessages };
package/support-config.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { SupportConfig } from "@cossistant/react/support-config";
3
+ import { __reExport } from "./_virtual/rolldown_runtime.js";
4
4
 
5
- export { SupportConfig };
5
+ export * from "@cossistant/react/support-config"
6
+
7
+ export { };
package/support.css CHANGED
@@ -1,2 +1 @@
1
- /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
2
- @layer base{.cossistant{color:var(--co-primary);color-scheme:normal;--co-font-sans:var(--co-theme-font-sans,"Geist","Inter",sans-serif);--co-font-mono:var(--co-theme-font-mono,"Geist Mono","Inter Mono",monospace);--co-radius:var(--co-theme-radius,.375rem);--co-background-base:var(--co-theme-background,oklch(99% 0 0));--co-foreground-base:var(--co-theme-foreground,oklch(20.5% 0 0));--co-popover-base:var(--co-theme-popover,var(--co-background-base));--co-popover-foreground-base:var(--co-theme-popover-foreground,var(--co-foreground-base));--co-primary-base:var(--co-theme-primary,oklch(14.5% 0 0));--co-primary-foreground-base:var(--co-theme-primary-foreground,oklch(98.5% 0 0));--co-secondary-base:var(--co-theme-secondary,oklch(97% 0 0));--co-secondary-foreground-base:var(--co-theme-secondary-foreground,oklch(14.5% 0 0));--co-border-base:var(--co-theme-border,oklch(92.2% 0 0));--co-input-base:var(--co-theme-input,oklch(92.2% 0 0));--co-ring-base:var(--co-theme-ring,var(--co-primary-base));--co-accent-base:var(--co-theme-accent,var(--co-primary-base));--co-accent-foreground-base:var(--co-theme-accent-foreground,var(--co-primary-foreground-base));--co-background-50-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-50-mix:color-mix(in oklch,var(--co-background-base)98%,var(--co-foreground-base))}}.cossistant{--co-background-100-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-100-mix:color-mix(in oklch,var(--co-background-base)97%,var(--co-foreground-base))}}.cossistant{--co-background-200-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-200-mix:color-mix(in oklch,var(--co-background-base)96%,var(--co-foreground-base))}}.cossistant{--co-background-300-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-300-mix:color-mix(in oklch,var(--co-background-base)95%,var(--co-foreground-base))}}.cossistant{--co-background-400-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-400-mix:color-mix(in oklch,var(--co-background-base)94%,var(--co-foreground-base))}}.cossistant{--co-background-500-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-500-mix:color-mix(in oklch,var(--co-background-base)93%,var(--co-foreground-base))}}.cossistant{--co-background-600-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-background-600-mix:color-mix(in oklch,var(--co-background-base)92%,var(--co-foreground-base))}}.cossistant{--co-muted-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-muted-mix:color-mix(in oklch,var(--co-background-base)85%,var(--co-foreground-base))}}.cossistant{--co-muted-foreground-mix:var(--co-foreground-base)}@supports (color:color-mix(in lab, red, red)){.cossistant{--co-muted-foreground-mix:color-mix(in oklch,var(--co-foreground-base)70%,white)}}.cossistant{--co-background:var(--co-background-base);--co-background-50:var(--co-theme-background-50,var(--co-background-50-mix,oklch(92% 0 0)));--co-background-100:var(--co-theme-background-100,var(--co-background-100-mix,oklch(93% 0 0)));--co-background-200:var(--co-theme-background-200,var(--co-background-200-mix,oklch(94% 0 0)));--co-background-300:var(--co-theme-background-300,var(--co-background-300-mix,oklch(95% 0 0)));--co-background-400:var(--co-theme-background-400,var(--co-background-400-mix,oklch(96% 0 0)));--co-background-500:var(--co-theme-background-500,var(--co-background-500-mix,oklch(97% 0 0)));--co-background-600:var(--co-theme-background-600,var(--co-background-600-mix,oklch(98% 0 0)));--co-foreground:var(--co-foreground-base);--co-popover:var(--co-popover-base);--co-popover-foreground:var(--co-popover-foreground-base);--co-primary:var(--co-primary-base);--co-primary-foreground:var(--co-primary-foreground-base);--co-secondary:var(--co-secondary-base);--co-secondary-foreground:var(--co-secondary-foreground-base);--co-muted:var(--co-theme-muted,var(--co-muted-mix,oklch(97% 0 0)));--co-muted-foreground:var(--co-theme-muted-foreground,var(--co-muted-foreground-mix,oklch(55.6% 0 0)));--co-border:var(--co-border-base);--co-input:var(--co-input-base);--co-ring:var(--co-ring-base);--co-accent:var(--co-accent-base);--co-accent-foreground:var(--co-accent-foreground-base);--co-pink:var(--co-theme-pink,oklch(76.3% .152 354));--co-yellow:var(--co-theme-yellow,oklch(86.4% .144 99));--co-blue:var(--co-theme-blue,oklch(72.5% .132 241));--co-orange:var(--co-theme-orange,oklch(74.5% .166 50));--co-destructive:var(--co-theme-destructive,oklch(57.7% .245 27.325));--co-destructive-foreground:var(--co-theme-destructive-foreground,oklch(57.7% .245 27.325));--co-success:var(--co-theme-success,oklch(71.7% .18 142));--co-success-foreground:var(--co-theme-success-foreground,oklch(26.5% .052 142.7));--co-neutral:var(--co-theme-neutral,oklch(60.8% 0 0));--co-neutral-foreground:var(--co-theme-neutral-foreground,oklch(25.6% 0 0));--co-warning:var(--co-theme-warning,oklch(86.4% .144 99));--co-warning-foreground:var(--co-theme-warning-foreground,oklch(41.4% .071 99))}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-base:var(--co-theme-background,oklch(15.5% 0 0));--co-foreground-base:var(--co-theme-foreground,oklch(95% 0 0));--co-popover-base:var(--co-theme-popover,oklch(14.5% 0 0));--co-popover-foreground-base:var(--co-theme-popover-foreground,oklch(95% 0 0));--co-primary-base:var(--co-theme-primary,oklch(98.5% 0 0));--co-primary-foreground-base:var(--co-theme-primary-foreground,oklch(14.5% 0 0));--co-secondary-base:var(--co-theme-secondary,oklch(26.9% 0 0));--co-secondary-foreground-base:var(--co-theme-secondary-foreground,oklch(95% 0 0));--co-border-base:var(--co-theme-border,oklch(26.9% 0 0));--co-input-base:var(--co-theme-input,oklch(26.9% 0 0));--co-ring-base:var(--co-theme-ring,var(--co-primary-base));--co-accent-base:var(--co-theme-accent,var(--co-primary-base));--co-accent-foreground-base:var(--co-theme-accent-foreground,var(--co-primary-foreground-base));--co-muted-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-muted-mix:color-mix(in oklch,var(--co-background-base)55%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-muted-foreground-mix:var(--co-foreground-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-muted-foreground-mix:color-mix(in oklch,var(--co-foreground-base)65%,white)}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-50-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-50-mix:color-mix(in oklch,var(--co-background-base)98%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-100-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-100-mix:color-mix(in oklch,var(--co-background-base)96%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-200-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-200-mix:color-mix(in oklch,var(--co-background-base)94%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-300-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-300-mix:color-mix(in oklch,var(--co-background-base)92%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-400-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-400-mix:color-mix(in oklch,var(--co-background-base)90%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-500-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-500-mix:color-mix(in oklch,var(--co-background-base)88%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-600-mix:var(--co-background-base)}@supports (color:color-mix(in lab, red, red)){.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-background-600-mix:color-mix(in oklch,var(--co-background-base)86%,var(--co-foreground-base))}}.dark .cossistant,.cossistant[data-color-scheme=dark]{--co-pink:var(--co-theme-pink,oklch(84.2% .109 354));--co-yellow:var(--co-theme-yellow,oklch(90.3% .111 99));--co-blue:var(--co-theme-blue,oklch(79.8% .089 241));--co-orange:var(--co-theme-orange,oklch(68.2% .194 50));--co-destructive:var(--co-theme-destructive,oklch(39.6% .141 25.723));--co-destructive-foreground:var(--co-theme-destructive-foreground,oklch(63.7% .237 25.331));--co-success:var(--co-theme-success,oklch(60% .15 142));--co-success-foreground:var(--co-theme-success-foreground,oklch(85% .12 142));--co-neutral:var(--co-theme-neutral,oklch(50% 0 0));--co-neutral-foreground:var(--co-theme-neutral-foreground,oklch(85% 0 0));--co-warning:var(--co-theme-warning,oklch(90.3% .111 99));--co-warning-foreground:var(--co-theme-warning-foreground,oklch(85% .1 99))}}@layer utilities{.cossistant .co-scrollbar-thin{scrollbar-width:thin;scrollbar-color:oklch(from var(--co-primary)l c h/.3)transparent}.cossistant .co-scrollbar-thin::-webkit-scrollbar{width:8px;height:8px}.cossistant .co-scrollbar-thin::-webkit-scrollbar-track{background:0 0}.cossistant .co-scrollbar-thin::-webkit-scrollbar-thumb{background-color:oklch(from var(--co-primary)l c h/.3);border-radius:4px}.cossistant .co-scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:oklch(from var(--co-primary)l c h/.5)}.cossistant .animation-delay-0{animation-delay:0s}.cossistant .animation-delay-200{animation-delay:.2s}.cossistant .animation-delay-400{animation-delay:.4s}.cossistant .dot-bounce-1{animation:1.4s infinite bounce-dot}.cossistant .dot-bounce-2{animation:1.4s .16s infinite bounce-dot}.cossistant .dot-bounce-3{animation:1.4s .32s infinite bounce-dot}}
1
+ @import "@cossistant/react/support.css";
package/utils/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { shouldDisplayConversation } from "../react/src/utils/conversation.js";
2
2
  import { PENDING_CONVERSATION_ID, generateShortPrimaryId } from "../react/src/utils/id.js";
3
+ import { mergeRefs, useMergeRefs } from "../react/src/utils/merge-refs.js";
3
4
  import { useRenderElement } from "../react/src/utils/use-render-element.js";
4
5
  import "../react/src/utils/index.js";
5
- export { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement };
6
+ export { PENDING_CONVERSATION_ID, generateShortPrimaryId, mergeRefs, shouldDisplayConversation, useMergeRefs, useRenderElement };
package/utils/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use client";
2
2
 
3
- import { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement } from "@cossistant/react/utils";
3
+ import { __reExport } from "../_virtual/rolldown_runtime.js";
4
4
 
5
- export { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement };
5
+ export * from "@cossistant/react/utils"
6
+
7
+ export { };