@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.
- package/README.md +4 -4
- package/_virtual/rolldown_runtime.js +42 -0
- package/hooks/index.d.ts +4 -3
- package/hooks/index.js +4 -2
- package/identify-visitor.d.ts +1 -1
- package/identify-visitor.js +4 -2
- package/index.d.ts +15 -25
- package/index.js +23 -10
- package/index.js.map +1 -0
- package/package.json +3 -14
- package/primitives/index.d.ts +8 -1
- package/primitives/index.d.ts.map +1 -0
- package/primitives/index.js +11 -2
- package/primitives/index.js.map +1 -0
- package/provider.d.ts +2 -1
- package/provider.js +4 -2
- package/react/src/hooks/index.d.ts +2 -2
- package/react/src/hooks/private/use-grouped-messages.d.ts +14 -1
- package/react/src/hooks/private/use-grouped-messages.d.ts.map +1 -1
- package/react/src/hooks/use-conversation-auto-seen.d.ts.map +1 -1
- package/react/src/hooks/use-conversation-page.d.ts.map +1 -1
- package/react/src/hooks/use-file-upload.d.ts +54 -1
- package/react/src/hooks/use-file-upload.d.ts.map +1 -0
- package/react/src/provider.d.ts.map +1 -1
- package/react/src/realtime/provider.d.ts +0 -1
- package/react/src/realtime/provider.d.ts.map +1 -1
- package/react/src/support/components/button.d.ts +25 -1
- package/react/src/support/components/button.d.ts.map +1 -0
- package/react/src/support/components/header.d.ts +11 -0
- package/react/src/support/components/header.d.ts.map +1 -0
- package/react/src/support/context/events.d.ts +54 -1
- package/react/src/support/context/events.d.ts.map +1 -1
- package/react/src/support/context/handle.d.ts +17 -1
- package/react/src/support/context/handle.d.ts.map +1 -1
- package/react/src/support/index.d.ts +25 -5
- package/react/src/support/index.d.ts.map +1 -1
- package/react/src/support/store/support-store.d.ts.map +1 -1
- package/react/src/support/text/index.d.ts +34 -2
- package/react/src/support/text/index.d.ts.map +1 -0
- package/react/src/support/text/locales/keys.d.ts +11 -1
- package/react/src/support/text/locales/keys.d.ts.map +1 -1
- package/react/src/support-config.d.ts +30 -3
- package/react/src/support-config.d.ts.map +1 -1
- package/react/src/utils/index.d.ts +1 -1
- package/react/src/utils/merge-refs.d.ts +30 -1
- package/react/src/utils/merge-refs.d.ts.map +1 -0
- package/react/src/utils/use-render-element.d.ts.map +1 -1
- package/realtime/index.d.ts +1 -1
- package/realtime/index.js +4 -2
- package/styles.css +1 -0
- package/support/index.d.ts +9 -3
- package/support/index.js +5 -2
- package/support-config.d.ts +2 -2
- package/support-config.js +4 -2
- package/support.css +1 -2
- package/utils/index.d.ts +2 -1
- 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
|
|
12
|
+
bun add @cossistant/next
|
|
13
13
|
# or
|
|
14
|
-
npm install @cossistant/next
|
|
14
|
+
npm install @cossistant/next
|
|
15
15
|
# or
|
|
16
|
-
pnpm add @cossistant/next
|
|
16
|
+
pnpm add @cossistant/next
|
|
17
17
|
# or
|
|
18
|
-
yarn add @cossistant/next
|
|
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,
|
|
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 {
|
|
1
|
+
import { __reExport } from "../_virtual/rolldown_runtime.js";
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export * from "@cossistant/react/hooks"
|
|
4
|
+
|
|
5
|
+
export { };
|
package/identify-visitor.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IdentifySupportVisitor, IdentifySupportVisitorProps } from "./react/src/identify-visitor.js";
|
|
2
|
-
export { IdentifySupportVisitor,
|
|
2
|
+
export { IdentifySupportVisitor, IdentifySupportVisitorProps };
|
package/identify-visitor.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { __reExport } from "./_virtual/rolldown_runtime.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
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 {
|
|
33
|
-
import {
|
|
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 {
|
|
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,
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export
|
|
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
|
|
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
|
|
83
|
+
"@cossistant/react": "0.1.0"
|
|
95
84
|
},
|
|
96
85
|
"peerDependencies": {
|
|
97
86
|
"react": ">=18 <20",
|
package/primitives/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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":""}
|
package/primitives/index.js
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { __reExport } from "../_virtual/rolldown_runtime.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
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 {
|
|
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 {
|
|
3
|
+
import { __reExport } from "./_virtual/rolldown_runtime.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
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;
|
|
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,
|
|
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;;
|
|
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;
|
|
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;
|
|
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":";;;;
|
|
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
|
|
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":"
|
|
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":";;;;
|
|
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
|
|
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":";;;;
|
|
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,
|
|
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"}
|
package/realtime/index.d.ts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
3
|
+
import { __reExport } from "../_virtual/rolldown_runtime.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export * from "@cossistant/react/realtime"
|
|
6
|
+
|
|
7
|
+
export { };
|
package/styles.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "@cossistant/react/styles.css";
|
package/support/index.d.ts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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 {
|
|
3
|
+
import { __export, __reExport } from "../_virtual/rolldown_runtime.js";
|
|
4
|
+
import support_default from "@cossistant/react/support";
|
|
4
5
|
|
|
5
|
-
export
|
|
6
|
+
export * from "@cossistant/react/support"
|
|
7
|
+
|
|
8
|
+
export { support_default as default };
|
package/support-config.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { SupportConfig, SupportConfigProps } from "./react/src/support-config.js";
|
|
2
|
-
export { SupportConfig,
|
|
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
package/support.css
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
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 {
|
|
3
|
+
import { __reExport } from "../_virtual/rolldown_runtime.js";
|
|
4
4
|
|
|
5
|
-
export
|
|
5
|
+
export * from "@cossistant/react/utils"
|
|
6
|
+
|
|
7
|
+
export { };
|