@cossistant/next 0.0.20 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +5 -3
  2. package/_virtual/rolldown_runtime.js +1 -10
  3. package/hooks/index.d.ts +4 -1
  4. package/hooks/index.js +2 -4
  5. package/identify-visitor.d.ts +1 -1
  6. package/identify-visitor.js +2 -4
  7. package/index.d.ts +5 -4
  8. package/index.js +8 -34
  9. package/index2.d.ts +3 -0
  10. package/index2.parts.d.ts +1 -3
  11. package/index4.d.ts +1 -3
  12. package/index7.d.ts +11 -6
  13. package/index7.d.ts.map +1 -1
  14. package/multimodal-input.d.ts +2 -2
  15. package/multimodal-input.d.ts.map +1 -1
  16. package/package.json +3 -3
  17. package/primitives/index.d.ts +2 -4
  18. package/primitives/index.js +2 -4
  19. package/provider.d.ts +1 -1
  20. package/provider.js +2 -4
  21. package/realtime/index.d.ts +1 -1
  22. package/realtime/index.js +2 -4
  23. package/router.d.ts +18 -20
  24. package/router.d.ts.map +1 -1
  25. package/router2.d.ts +12 -0
  26. package/router2.d.ts.map +1 -0
  27. package/support-config.d.ts +1 -1
  28. package/support-config.js +2 -4
  29. package/support-config2.d.ts.map +1 -1
  30. package/use-conversation-auto-seen.d.ts +1 -1
  31. package/use-conversation-seen.d.ts.map +1 -1
  32. package/use-conversation-timeline-items.d.ts.map +1 -1
  33. package/use-grouped-messages.d.ts.map +1 -1
  34. package/use-multimodal-input.d.ts.map +1 -1
  35. package/use-new-message-sound.d.ts +23 -0
  36. package/use-new-message-sound.d.ts.map +1 -0
  37. package/use-render-element.d.ts.map +1 -1
  38. package/use-sound-effect.d.ts +30 -0
  39. package/use-sound-effect.d.ts.map +1 -0
  40. package/use-typing-sound.d.ts +18 -0
  41. package/use-typing-sound.d.ts.map +1 -0
  42. package/utils/index.js +2 -4
  43. package/index.js.map +0 -1
  44. package/page-registry.d.ts +0 -30
  45. package/page-registry.d.ts.map +0 -1
  46. package/page.d.ts +0 -21
  47. package/page.d.ts.map +0 -1
package/README.md CHANGED
@@ -9,11 +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 @cossistant/react
13
13
  # or
14
- npm install @cossistant/next
14
+ npm install @cossistant/next @cossistant/react
15
15
  # or
16
- yarn add @cossistant/next
16
+ pnpm add @cossistant/next @cossistant/react
17
+ # or
18
+ yarn add @cossistant/next @cossistant/react
17
19
  ```
18
20
 
19
21
  ## Need help or spot a typo?
@@ -5,14 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (all) => {
9
- let target = {};
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
14
- return target;
15
- };
16
8
  var __copyProps = (to, from, except, desc) => {
17
9
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
18
10
  key = keys[i];
@@ -23,11 +15,10 @@ var __copyProps = (to, from, except, desc) => {
23
15
  }
24
16
  return to;
25
17
  };
26
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
27
18
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
19
  value: mod,
29
20
  enumerable: true
30
21
  }) : target, mod));
31
22
 
32
23
  //#endregion
33
- export { __export, __reExport };
24
+ export { };
package/hooks/index.d.ts CHANGED
@@ -18,10 +18,13 @@ import { UseConversationsOptions, UseConversationsResult, useConversations } fro
18
18
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "../use-create-conversation.js";
19
19
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "../use-home-page.js";
20
20
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "../use-message-composer.js";
21
+ import { useNewMessageSound } from "../use-new-message-sound.js";
21
22
  import { UseRealtimeSupportOptions, UseRealtimeSupportResult, useRealtimeSupport } from "../use-realtime-support.js";
22
23
  import { UseScrollMaskOptions, UseScrollMaskReturn, useScrollMask } from "../use-scroll-mask.js";
23
24
  import { SendMessageOptions, SendMessageResult, UseSendMessageOptions, UseSendMessageResult, useSendMessage } from "../use-send-message.js";
25
+ import { UseSoundEffectOptions, UseSoundEffectReturn, useSoundEffect } from "../use-sound-effect.js";
26
+ import { useTypingSound } from "../use-typing-sound.js";
24
27
  import { UseVisitorReturn, useVisitor } from "../use-visitor.js";
25
28
  import { WindowVisibilityFocusState, useWindowVisibilityFocus } from "../use-window-visibility-focus.js";
26
29
  import "../index2.js";
27
- export { CONVERSATION_AUTO_SEEN_DELAY_MS, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CreateConversationVariables, GroupedMessage, SendMessageOptions, SendMessageResult, TimelineEventItem, TimelineToolItem, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseVisitorReturn, WindowVisibilityFocusState, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useRealtimeSupport, useScrollMask, useSendMessage, useVisitor, useWindowVisibilityFocus };
30
+ export { CONVERSATION_AUTO_SEEN_DELAY_MS, type ConversationItem, type ConversationLifecycleState, type ConversationPreviewAssignedAgent, type ConversationPreviewLastMessage, type ConversationPreviewTypingParticipant, type ConversationPreviewTypingState, type ConversationTimelineTypingParticipant, type ConversationTypingParticipant, type CreateConversationVariables, type GroupedMessage, type SendMessageOptions, type SendMessageResult, type TimelineEventItem, type TimelineToolItem, type UseClientResult, type UseComposerRefocusOptions, type UseComposerRefocusReturn, type UseConversationAutoSeenOptions, type UseConversationHistoryPageOptions, type UseConversationHistoryPageReturn, type UseConversationLifecycleOptions, type UseConversationLifecycleReturn, type UseConversationOptions, type UseConversationPageOptions, type UseConversationPageReturn, type UseConversationPreviewOptions, type UseConversationPreviewReturn, type UseConversationResult, type UseConversationTimelineItemsOptions, type UseConversationTimelineItemsResult, type UseConversationTimelineOptions, type UseConversationTimelineReturn, type UseConversationsOptions, type UseConversationsResult, type UseCreateConversationOptions, type UseCreateConversationResult, type UseGroupedMessagesOptions, type UseGroupedMessagesProps, type UseHomePageOptions, type UseHomePageReturn, type UseMessageComposerOptions, type UseMessageComposerReturn, type UseMultimodalInputOptions, type UseMultimodalInputReturn, type UseRealtimeSupportOptions, type UseRealtimeSupportResult, type UseScrollMaskOptions, type UseScrollMaskReturn, type UseSendMessageOptions, type UseSendMessageResult, type UseSoundEffectOptions, type UseSoundEffectReturn, type UseVisitorReturn, type WindowVisibilityFocusState, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus };
package/hooks/index.js CHANGED
@@ -1,5 +1,3 @@
1
- import { __reExport } from "../_virtual/rolldown_runtime.js";
1
+ import { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus } from "@cossistant/react/hooks";
2
2
 
3
- export * from "@cossistant/react/hooks"
4
-
5
- export { hooks_exports };
3
+ export { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus };
@@ -1,2 +1,2 @@
1
1
  import { IdentifySupportVisitor, IdentifySupportVisitorProps } from "./identify-visitor2.js";
2
- export { IdentifySupportVisitor, IdentifySupportVisitorProps };
2
+ export { IdentifySupportVisitor, type IdentifySupportVisitorProps };
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "./_virtual/rolldown_runtime.js";
4
+ import { IdentifySupportVisitor } from "@cossistant/react/identify-visitor";
5
5
 
6
- export * from "@cossistant/react/identify-visitor"
7
-
8
- export { identify_visitor_exports };
6
+ export { IdentifySupportVisitor };
package/index.d.ts CHANGED
@@ -18,9 +18,12 @@ import { UseConversationsOptions, UseConversationsResult, useConversations } fro
18
18
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "./use-create-conversation.js";
19
19
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "./use-home-page.js";
20
20
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "./use-message-composer.js";
21
+ import { useNewMessageSound } from "./use-new-message-sound.js";
21
22
  import { UseRealtimeSupportOptions, UseRealtimeSupportResult, useRealtimeSupport } from "./use-realtime-support.js";
22
23
  import { UseScrollMaskOptions, UseScrollMaskReturn, useScrollMask } from "./use-scroll-mask.js";
23
24
  import { SendMessageOptions, SendMessageResult, UseSendMessageOptions, UseSendMessageResult, useSendMessage } from "./use-send-message.js";
25
+ import { UseSoundEffectOptions, UseSoundEffectReturn, useSoundEffect } from "./use-sound-effect.js";
26
+ import { useTypingSound } from "./use-typing-sound.js";
24
27
  import { UseVisitorReturn, useVisitor } from "./use-visitor.js";
25
28
  import { WindowVisibilityFocusState, useWindowVisibilityFocus } from "./use-window-visibility-focus.js";
26
29
  import "./hooks/index.js";
@@ -35,9 +38,7 @@ import { SupportBubble } from "./bubble.js";
35
38
  import { Button } from "./button.js";
36
39
  import { ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading } from "./conversation-timeline.js";
37
40
  import { FileInput, MultimodalInput, SupportInput } from "./multimodal-input.js";
38
- import { Page, PageProps } from "./page.js";
39
- import { PageRegistryProvider, usePageRegistry, useRegisterPage } from "./page-registry.js";
40
- import { Router, RouterProps } from "./router.js";
41
+ import { PageDefinition, Router, RouterProps } from "./router.js";
41
42
  import { TimelineItem, TimelineItemContent, TimelineItemTimestamp } from "./timeline-item.js";
42
43
  import { TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator } from "./timeline-item-group.js";
43
44
  import { SupportWindow } from "./window.js";
@@ -59,4 +60,4 @@ import { shouldDisplayConversation } from "./conversation.js";
59
60
  import { PENDING_CONVERSATION_ID, generateShortPrimaryId } from "./id.js";
60
61
  import { useRenderElement } from "./use-render-element.js";
61
62
  import "./utils/index.js";
62
- export { Avatar, AvatarFallback, AvatarImage, SupportBubble as Bubble, Button, CONVERSATION_AUTO_SEEN_DELAY_MS, SupportConfig as Config, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CossistantContextValue, CossistantProviderProps, CreateConversationVariables, FileInput, GroupedMessage, IdentifySupportVisitor, IdentifySupportVisitorProps, SupportInput as Input, MultimodalInput, PENDING_CONVERSATION_ID, Page, PageProps, PageRegistryProvider, RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, Router, RouterProps, SendMessageOptions, SendMessageResult, Support, SupportConfig, SupportConfigProps, SupportContext, SupportProps, SupportProvider, SupportProviderProps, SupportRealtimeProvider, TimelineEventItem, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TimelineToolItem, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseSupportValue, UseVisitorReturn, WebSocketContextValue, WebSocketProvider, SupportWindow as Window, WindowVisibilityFocusState, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, generateShortPrimaryId, hydrateConversationSeen, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, usePageRegistry, useRealtime, useRealtimeConnection, useRealtimeSupport, useRegisterPage, useRenderElement, useScrollMask, useSendMessage, useSupport, useSupportConfig, useSupportStore, useVisitor, useWebSocket, useWindowVisibilityFocus };
63
+ export { Avatar, AvatarFallback, AvatarImage, SupportBubble as Bubble, Button, CONVERSATION_AUTO_SEEN_DELAY_MS, SupportConfig as Config, ConversationItem, ConversationLifecycleState, ConversationPreviewAssignedAgent, ConversationPreviewLastMessage, ConversationPreviewTypingParticipant, ConversationPreviewTypingState, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, ConversationTimelineTypingParticipant, ConversationTypingParticipant, CossistantContextValue, CossistantProviderProps, CreateConversationVariables, FileInput, GroupedMessage, IdentifySupportVisitor, IdentifySupportVisitorProps, SupportInput as Input, MultimodalInput, PENDING_CONVERSATION_ID, PageDefinition, RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, Router, RouterProps, SendMessageOptions, SendMessageResult, Support, SupportConfig, SupportConfigProps, SupportContext, SupportProps, SupportProvider, SupportProviderProps, SupportRealtimeProvider, TimelineEventItem, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TimelineToolItem, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, UseClientResult, UseComposerRefocusOptions, UseComposerRefocusReturn, UseConversationAutoSeenOptions, UseConversationHistoryPageOptions, UseConversationHistoryPageReturn, UseConversationLifecycleOptions, UseConversationLifecycleReturn, UseConversationOptions, UseConversationPageOptions, UseConversationPageReturn, UseConversationPreviewOptions, UseConversationPreviewReturn, UseConversationResult, UseConversationTimelineItemsOptions, UseConversationTimelineItemsResult, UseConversationTimelineOptions, UseConversationTimelineReturn, UseConversationsOptions, UseConversationsResult, UseCreateConversationOptions, UseCreateConversationResult, UseGroupedMessagesOptions, UseGroupedMessagesProps, UseHomePageOptions, UseHomePageReturn, UseMessageComposerOptions, UseMessageComposerReturn, UseMultimodalInputOptions, UseMultimodalInputReturn, UseRealtimeSupportOptions, UseRealtimeSupportResult, UseScrollMaskOptions, UseScrollMaskReturn, UseSendMessageOptions, UseSendMessageResult, UseSoundEffectOptions, UseSoundEffectReturn, UseSupportValue, UseVisitorReturn, WebSocketContextValue, WebSocketProvider, SupportWindow as Window, WindowVisibilityFocusState, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, generateShortPrimaryId, hydrateConversationSeen, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtime, useRealtimeConnection, useRealtimeSupport, useRenderElement, useScrollMask, useSendMessage, useSoundEffect, useSupport, useSupportConfig, useSupportStore, useTypingSound, useVisitor, useWebSocket, useWindowVisibilityFocus };
package/index.js CHANGED
@@ -1,39 +1,13 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __export, __reExport } from "./_virtual/rolldown_runtime.js";
5
- import { identify_visitor_exports } from "./identify-visitor.js";
6
- import { hooks_exports } from "./hooks/index.js";
7
- import { primitives_exports } from "./primitives/index.js";
8
- import { provider_exports } from "./provider.js";
9
- import { realtime_exports } from "./realtime/index.js";
4
+ import { IdentifySupportVisitor } from "./identify-visitor.js";
5
+ import { CONVERSATION_AUTO_SEEN_DELAY_MS, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtimeSupport, useScrollMask, useSendMessage, useSoundEffect, useTypingSound, useVisitor, useWindowVisibilityFocus } from "./hooks/index.js";
6
+ import { Avatar, AvatarFallback, AvatarImage, Bubble, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, Input, MultimodalInput, Router, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, Window } from "./primitives/index.js";
7
+ import { SupportContext, SupportProvider, useSupport } from "./provider.js";
8
+ import { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection } from "./realtime/index.js";
10
9
  import { Support, WebSocketProvider, useSupportConfig, useSupportStore, useWebSocket } from "./support/index.js";
11
- import { support_config_exports } from "./support-config.js";
12
- import { utils_exports } from "./utils/index.js";
10
+ import { SupportConfig } from "./support-config.js";
11
+ import { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement } from "./utils/index.js";
13
12
 
14
- export * from "@cossistant/react/identify-visitor"
15
-
16
- export * from "@cossistant/react/hooks"
17
-
18
- export * from "@cossistant/react/primitives"
19
-
20
- export * from "@cossistant/react/provider"
21
-
22
- export * from "@cossistant/react/realtime"
23
-
24
- export * from "@cossistant/react/support-config"
25
-
26
- export * from "@cossistant/react/utils"
27
-
28
- //#region src/index.ts
29
- var src_exports = /* @__PURE__ */ __export({
30
- Support: () => Support,
31
- WebSocketProvider: () => WebSocketProvider,
32
- useSupportConfig: () => useSupportConfig,
33
- useSupportStore: () => useSupportStore,
34
- useWebSocket: () => useWebSocket
35
- });
36
-
37
- //#endregion
38
- export { Support, WebSocketProvider, useSupportConfig, useSupportStore, useWebSocket };
39
- //# sourceMappingURL=index.js.map
13
+ export { Avatar, AvatarFallback, AvatarImage, Bubble, Button, CONVERSATION_AUTO_SEEN_DELAY_MS, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, IdentifySupportVisitor, Input, MultimodalInput, PENDING_CONVERSATION_ID, RealtimeProvider, Router, Support, SupportConfig, SupportContext, SupportProvider, SupportRealtimeProvider, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, WebSocketProvider, Window, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, generateShortPrimaryId, hydrateConversationSeen, setTypingState, shouldDisplayConversation, upsertConversationSeen, useClient, useClientQuery, useComposerRefocus, useConversation, useConversationAutoSeen, useConversationHistoryPage, useConversationLifecycle, useConversationPage, useConversationPreview, useConversationSeen, useConversationTimeline, useConversationTimelineItems, useConversationTyping, useConversations, useCreateConversation, useDebouncedConversationSeen, useDefaultMessages, useGroupedMessages, useHomePage, useMessageComposer, useMultimodalInput, useNewMessageSound, useRealtime, useRealtimeConnection, useRealtimeSupport, useRenderElement, useScrollMask, useSendMessage, useSoundEffect, useSupport, useSupportConfig, useSupportStore, useTypingSound, useVisitor, useWebSocket, useWindowVisibilityFocus };
package/index2.d.ts CHANGED
@@ -18,8 +18,11 @@ import { UseConversationsOptions, UseConversationsResult, useConversations } fro
18
18
  import { CreateConversationVariables, UseCreateConversationOptions, UseCreateConversationResult, useCreateConversation } from "./use-create-conversation.js";
19
19
  import { UseHomePageOptions, UseHomePageReturn, useHomePage } from "./use-home-page.js";
20
20
  import { UseMessageComposerOptions, UseMessageComposerReturn, useMessageComposer } from "./use-message-composer.js";
21
+ import { useNewMessageSound } from "./use-new-message-sound.js";
21
22
  import { UseRealtimeSupportOptions, UseRealtimeSupportResult, useRealtimeSupport } from "./use-realtime-support.js";
22
23
  import { UseScrollMaskOptions, UseScrollMaskReturn, useScrollMask } from "./use-scroll-mask.js";
23
24
  import { SendMessageOptions, SendMessageResult, UseSendMessageOptions, UseSendMessageResult, useSendMessage } from "./use-send-message.js";
25
+ import { UseSoundEffectOptions, UseSoundEffectReturn, useSoundEffect } from "./use-sound-effect.js";
26
+ import { useTypingSound } from "./use-typing-sound.js";
24
27
  import { UseVisitorReturn, useVisitor } from "./use-visitor.js";
25
28
  import { WindowVisibilityFocusState, useWindowVisibilityFocus } from "./use-window-visibility-focus.js";
package/index2.parts.d.ts CHANGED
@@ -8,9 +8,7 @@ import { SupportBubble } from "./bubble.js";
8
8
  import { Button } from "./button.js";
9
9
  import { ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading } from "./conversation-timeline.js";
10
10
  import { FileInput, MultimodalInput, SupportInput } from "./multimodal-input.js";
11
- import { Page, PageProps } from "./page.js";
12
- import { PageRegistryProvider, usePageRegistry, useRegisterPage } from "./page-registry.js";
13
- import { Router, RouterProps } from "./router.js";
11
+ import { PageDefinition, Router, RouterProps } from "./router.js";
14
12
  import { TimelineItem, TimelineItemContent, TimelineItemTimestamp } from "./timeline-item.js";
15
13
  import { TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator } from "./timeline-item-group.js";
16
14
  import { SupportWindow } from "./window.js";
package/index4.d.ts CHANGED
@@ -7,9 +7,7 @@ import { SupportBubble } from "./bubble.js";
7
7
  import { Button } from "./button.js";
8
8
  import { ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading } from "./conversation-timeline.js";
9
9
  import { FileInput, MultimodalInput, SupportInput } from "./multimodal-input.js";
10
- import { Page, PageProps } from "./page.js";
11
- import { PageRegistryProvider, usePageRegistry, useRegisterPage } from "./page-registry.js";
12
- import { Router, RouterProps } from "./router.js";
10
+ import { PageDefinition, Router, RouterProps } from "./router.js";
13
11
  import { TimelineItem, TimelineItemContent, TimelineItemTimestamp } from "./timeline-item.js";
14
12
  import { TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator } from "./timeline-item-group.js";
15
13
  import { SupportWindow } from "./window.js";
package/index7.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { SupportLocale, SupportTextContentOverrides } from "./keys.js";
2
- import { Page, PageProps } from "./page.js";
3
- import "./index4.js";
2
+ import { CustomPage } from "./router2.js";
4
3
  import "./index6.js";
5
4
  import { BubbleSlotProps, ContainerSlotProps, RouterSlotProps } from "./types.js";
6
5
  import "./button2.js";
@@ -30,6 +29,7 @@ type SupportProps<Locale extends string = SupportLocale> = {
30
29
  bubble?: string;
31
30
  container?: string;
32
31
  };
32
+ customPages?: CustomPage[];
33
33
  children?: React.ReactNode;
34
34
  };
35
35
  /**
@@ -40,10 +40,14 @@ type SupportProps<Locale extends string = SupportLocale> = {
40
40
  * <Support />
41
41
  *
42
42
  * @example
43
- * // With customization
44
- * <Support theme="dark" classNames={{ bubble: "bg-purple-600" }}>
45
- * <Page name="FAQ" component={FAQPage} />
46
- * </Support>
43
+ * // With customization and custom pages
44
+ * <Support
45
+ * theme="dark"
46
+ * classNames={{ bubble: "bg-purple-600" }}
47
+ * customPages={[
48
+ * { name: "FAQ", component: FAQPage }
49
+ * ]}
50
+ * />
47
51
  */
48
52
  declare function Support<Locale extends string = SupportLocale>({
49
53
  className,
@@ -58,6 +62,7 @@ declare function Support<Locale extends string = SupportLocale>({
58
62
  theme,
59
63
  slots,
60
64
  classNames,
65
+ customPages,
61
66
  children
62
67
  }: SupportProps<Locale>): ReactElement | null;
63
68
  //#endregion
package/index7.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index7.d.ts","names":[],"sources":["../../react/src/support/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;KAmBY,qCAAqC;;;;;;EAArC,eAAY,CAAA,EAOL,cAPK,EAAA;EAAyB,WAAA,CAAA,EAAA,OAAA;EAO9B,MAAA,CAAA,EAET,MAFS;EAET,OAAA,CAAA,EACC,2BADD,CAC6B,MAD7B,CAAA;EAC6B,KAAA,CAAA,EAAA,OAAA,GAAA,MAAA;EAA5B,KAAA,CAAA,EAAA;IAOoB,MAAA,CAAA,EAApB,KAAA,CAAM,aAAc,CAAA,eAAA,CAAA;IAAd,SAAA,CAAA,EACH,KAAA,CAAM,aADH,CACiB,kBADjB,CAAA;IACiB,MAAA,CAAA,EACvB,KAAA,CAAM,aADiB,CACH,eADG,CAAA;EAApB,CAAA;EACiB,UAAA,CAAA,EAAA;IAAd,IAAA,CAAA,EAAA,MAAA;IAWC,MAAA,CAAA,EAAA,MAAA;IAAS,SAAA,CAAA,EAAA,MAAA;EAgBX,CAAA;EAAgC,QAAA,CAAA,EAhBpC,KAAA,CAAM,SAgB8B;CAC/C;;;;;;;;;;;;;;AAaE,iBAda,OAcb,CAAA,eAAA,MAAA,GAd6C,aAc7C,CAAA,CAAA;EAAA,SAAA;EAAA,QAAA;EAAA,KAAA;EAAA,WAAA;EAAA,YAAA;EAAA,eAAA;EAAA,WAAA;EAAA,MAAA;EAAA,OAAA;EAAA,KAAA;EAAA,KAAA;EAAA,UAAA;EAAA;AAAA,CAAA,EAAA,YAAA,CAAa,MAAb,CAAA,CAAA,EAAuB,YAAvB,GAAA,IAAA"}
1
+ {"version":3,"file":"index7.d.ts","names":[],"sources":["../../react/src/support/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;KAmBY,qCAAqC;;;;EAArC,WAAA,CAAA,EAAA,OAAY,GAAA,UAAA;EAAyB,YAAA,CAAA,EAAA,MAAA,EAAA;EAO9B,eAAA,CAAA,EAAA,cAAA,EAAA;EAET,WAAA,CAAA,EAAA,OAAA;EAC6B,MAAA,CAAA,EAD7B,MAC6B;EAA5B,OAAA,CAAA,EAAA,2BAAA,CAA4B,MAA5B,CAAA;EAOoB,KAAA,CAAA,EAAA,OAAA,GAAA,MAAA;EAApB,KAAM,CAAA,EAAA;IACiB,MAAA,CAAA,EADvB,KAAA,CAAM,aACiB,CADH,eACG,CAAA;IAAd,SAAA,CAAA,EAAN,KAAA,CAAM,aAAA,CAAc,kBAAd,CAAA;IACW,MAAA,CAAA,EAApB,KAAA,CAAM,aAAc,CAAA,eAAA,CAAA;EAApB,CAAA;EAWI,UAAA,CAAA,EAAA;IAEG,IAAA,CAAA,EAAA,MAAA;IAAS,MAAA,CAAA,EAAA,MAAA;IAoBX,SAAO,CAAA,EAAA,MAAA;EAAyB,CAAA;EAC/C,WAAA,CAAA,EAvBc,UAuBd,EAAA;EACA,QAAA,CAAA,EAtBW,KAAA,CAAM,SAsBjB;CACA;;;;;;;;;;;;;;;;;;iBAHe,gCAAgC;;;;;;;;;;;;;;;GAe7C,aAAa,UAAU"}
@@ -7,7 +7,7 @@ import * as React$1 from "react";
7
7
  * clipboard uploads and auto-resizing while remaining composable via
8
8
  * `asChild`.
9
9
  */
10
- declare const MultimodalInput: React$1.ForwardRefExoticComponent<Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "onChange"> & {
10
+ declare const MultimodalInput: React$1.ForwardRefExoticComponent<Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, "onChange" | "value"> & {
11
11
  value: string;
12
12
  onChange: (value: string) => void;
13
13
  onSubmit?: () => void;
@@ -25,7 +25,7 @@ declare const FileInput: React$1.ForwardRefExoticComponent<React$1.InputHTMLAttr
25
25
  onFileSelect?: (files: File[]) => void;
26
26
  asChild?: boolean;
27
27
  } & React$1.RefAttributes<HTMLInputElement>>;
28
- declare const SupportInput: React$1.ForwardRefExoticComponent<Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, "value" | "onChange"> & {
28
+ declare const SupportInput: React$1.ForwardRefExoticComponent<Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, "onChange" | "value"> & {
29
29
  value: string;
30
30
  onChange: (value: string) => void;
31
31
  onSubmit?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"multimodal-input.d.ts","names":[],"sources":["../../react/src/primitives/multimodal-input.tsx"],"sourcesContent":[],"mappings":";;;;;;AA2IA;;;AARwB,cA7GX,eA6GW,EA7GI,OAAA,CAAA,yBA6GJ,CA7GI,IA6GJ,CA7GI,OAAA,CAAA,sBA6GJ,CA7GI,mBA6GJ,CAAA,EAAA,OAAA,GAAA,UAAA,CAAA,GAAA;;;EAQF,QAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,YAAA,CAAA,EAAA,CAAA,KAAA,EAjIE,IAiIF,EAAA,EAAA,GAAA,IAAA;EAqCT,OAAA,CAAA,EAAA,OAA8B;EAAlB,SAAA,CAAA,EAAA,MAAA;EAAA,KAAA,CAAA,EAnKhB,KAmKgB,GAAA,IAAA;EAAA,QAAA,CAAA,EAAA,OAAA;CAtKD,wBAAA,oBAAA,CAAA,CAAA;;;;;cAiIX,WAAS,OAAA,CAAA,0BAAA,OAAA,CAAA,oBAAA;yBARE;;;cA6CX,cAAY,OAAA,CAAA,0BAAA,KAAA,OAAA,CAAA,uBAAA;;;;yBAtKD;;;UAGf"}
1
+ {"version":3,"file":"multimodal-input.d.ts","names":[],"sources":["../../react/src/primitives/multimodal-input.tsx"],"sourcesContent":[],"mappings":";;;;;;AA2IA;;;AARwB,cA7GX,eA6GW,EA7GI,OAAA,CAAA,yBA6GJ,CA7GI,IA6GJ,CA7GI,OAAA,CAAA,sBA6GJ,CA7GI,mBA6GJ,CAAA,EAAA,UAAA,GAAA,OAAA,CAAA,GAAA;;;EAQF,QAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAAA,YAAA,CAAA,EAAA,CAAA,KAAA,EAjIE,IAiIF,EAAA,EAAA,GAAA,IAAA;EAqCT,OAAA,CAAA,EAAA,OAA8B;EAAlB,SAAA,CAAA,EAAA,MAAA;EAAA,KAAA,CAAA,EAnKhB,KAmKgB,GAAA,IAAA;EAAA,QAAA,CAAA,EAAA,OAAA;CAtKD,wBAAA,oBAAA,CAAA,CAAA;;;;;cAiIX,WAAS,OAAA,CAAA,0BAAA,OAAA,CAAA,oBAAA;yBARE;;;cA6CX,cAAY,OAAA,CAAA,0BAAA,KAAA,OAAA,CAAA,uBAAA;;;;yBAtKD;;;UAGf"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@cossistant/next",
3
3
  "type": "module",
4
- "version": "0.0.20",
4
+ "version": "0.0.23",
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.",
@@ -91,13 +91,13 @@
91
91
  "access": "public"
92
92
  },
93
93
  "dependencies": {
94
- "@cossistant/react": "0.0.20",
94
+ "@cossistant/react": "0.0.23",
95
95
  "tailwindcss": "^4.1.13"
96
96
  },
97
97
  "peerDependencies": {
98
98
  "react": ">=18 <20",
99
99
  "react-dom": ">=18 <20",
100
- "next": ">=13.5.2 || ^14.0.0 || ^15.0.0"
100
+ "next": ">=13.5.2 || ^14.0.0 || ^15.0.0 || ^16.0.0"
101
101
  },
102
102
  "peerDependenciesMeta": {
103
103
  "@types/react": {
@@ -7,11 +7,9 @@ import { SupportBubble } from "../bubble.js";
7
7
  import { Button } from "../button.js";
8
8
  import { ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading } from "../conversation-timeline.js";
9
9
  import { FileInput, MultimodalInput, SupportInput } from "../multimodal-input.js";
10
- import { Page, PageProps } from "../page.js";
11
- import { PageRegistryProvider, usePageRegistry, useRegisterPage } from "../page-registry.js";
12
- import { Router, RouterProps } from "../router.js";
10
+ import { PageDefinition, Router, RouterProps } from "../router.js";
13
11
  import { TimelineItem, TimelineItemContent, TimelineItemTimestamp } from "../timeline-item.js";
14
12
  import { TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator } from "../timeline-item-group.js";
15
13
  import { SupportWindow } from "../window.js";
16
14
  import "../index4.js";
17
- export { Avatar, AvatarFallback, AvatarImage, SupportBubble as Bubble, Button, SupportConfig as Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, SupportInput as Input, MultimodalInput, Page, PageProps, PageRegistryProvider, Router, RouterProps, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, TypingIndicatorProps, TypingParticipant, TypingParticipantType, SupportWindow as Window, usePageRegistry, useRegisterPage };
15
+ export { Avatar, AvatarFallback, AvatarImage, SupportBubble as Bubble, Button, SupportConfig as Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, SupportInput as Input, MultimodalInput, type PageDefinition, Router, type RouterProps, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, type TypingIndicatorProps, type TypingParticipant, type TypingParticipantType, SupportWindow as Window };
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "../_virtual/rolldown_runtime.js";
4
+ import { Avatar, AvatarFallback, AvatarImage, Bubble, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, Input, MultimodalInput, Router, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, Window } from "@cossistant/react/primitives";
5
5
 
6
- export * from "@cossistant/react/primitives"
7
-
8
- export { primitives_exports };
6
+ export { Avatar, AvatarFallback, AvatarImage, Bubble, Button, Config, ConversationTimeline, ConversationTimelineContainer, ConversationTimelineEmpty, ConversationTimelineLoading, FileInput, Input, MultimodalInput, Router, TimelineItem, TimelineItemContent, TimelineItemGroup, TimelineItemGroupAvatar, TimelineItemGroupContent, TimelineItemGroupHeader, TimelineItemGroupReadIndicator, TimelineItemGroupSeenIndicator, TimelineItemTimestamp, TypingIndicator, Window };
package/provider.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  import { CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport } from "./provider2.js";
2
- export { CossistantContextValue, CossistantProviderProps, SupportContext, SupportProvider, SupportProviderProps, UseSupportValue, useSupport };
2
+ export { type CossistantContextValue, type CossistantProviderProps, SupportContext, SupportProvider, type SupportProviderProps, type UseSupportValue, useSupport };
package/provider.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "./_virtual/rolldown_runtime.js";
4
+ import { SupportContext, SupportProvider, useSupport } from "@cossistant/react/provider";
5
5
 
6
- export * from "@cossistant/react/provider"
7
-
8
- export { provider_exports };
6
+ export { SupportContext, SupportProvider, useSupport };
@@ -4,4 +4,4 @@ import { SupportRealtimeProvider } from "../support-provider.js";
4
4
  import { applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, setTypingState } from "../typing-store.js";
5
5
  import { RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, useRealtime } from "../use-realtime.js";
6
6
  import "../index5.js";
7
- export { RealtimeAuthConfig, RealtimeContextValue, RealtimeEventHandler, RealtimeEventHandlerEntry, RealtimeEventHandlersMap, RealtimeEventMeta, RealtimeProvider, RealtimeProviderProps, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
7
+ export { type RealtimeAuthConfig, type RealtimeContextValue, type RealtimeEventHandler, type RealtimeEventHandlerEntry, type RealtimeEventHandlersMap, type RealtimeEventMeta, RealtimeProvider, type RealtimeProviderProps, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
package/realtime/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "../_virtual/rolldown_runtime.js";
4
+ import { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection } from "@cossistant/react/realtime";
5
5
 
6
- export * from "@cossistant/react/realtime"
7
-
8
- export { realtime_exports };
6
+ export { RealtimeProvider, SupportRealtimeProvider, applyConversationSeenEvent, applyConversationTypingEvent, clearTypingFromTimelineItem, clearTypingState, hydrateConversationSeen, setTypingState, upsertConversationSeen, useRealtime, useRealtimeConnection };
package/router.d.ts CHANGED
@@ -1,35 +1,33 @@
1
1
  import React from "react";
2
2
 
3
3
  //#region ../react/src/primitives/router.d.ts
4
+ type PageDefinition<K extends keyof RouteRegistry = keyof RouteRegistry> = {
5
+ name: K;
6
+ component: React.ComponentType<{
7
+ params?: RouteRegistry[K];
8
+ }>;
9
+ };
4
10
  type RouterProps = {
5
- /**
6
- * Current page name to render
7
- */
8
- page: string;
9
- /**
10
- * Params to pass to the page component
11
- */
12
- params?: unknown;
13
- /**
14
- * Fallback component when page is not found
15
- */
11
+ page: keyof RouteRegistry;
12
+ params?: RouteRegistry[keyof RouteRegistry];
13
+ pages: PageDefinition[];
16
14
  fallback?: React.ComponentType<{
17
15
  params?: unknown;
18
16
  }>;
19
- /**
20
- * Children (Page components for registration)
21
- */
22
- children?: React.ReactNode;
23
17
  };
24
18
  /**
25
- * Router that renders registered pages based on current page name.
19
+ * Type-safe router that renders pages based on current page name.
20
+ * Pages are matched synchronously without effects or registries.
26
21
  *
27
22
  * @example
28
- * <Router page={currentPage} params={params} fallback={NotFoundPage}>
29
- * <Page name="HOME" component={HomePage} />
30
- * </Router>
23
+ * const pages = [
24
+ * { name: "HOME", component: HomePage },
25
+ * { name: "SETTINGS", component: SettingsPage }
26
+ * ];
27
+ *
28
+ * <Router page={currentPage} params={params} pages={pages} fallback={NotFoundPage} />
31
29
  */
32
30
  declare const Router: React.FC<RouterProps>;
33
31
  //#endregion
34
- export { Router, RouterProps };
32
+ export { PageDefinition, Router, RouterProps };
35
33
  //# sourceMappingURL=router.d.ts.map
package/router.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","names":[],"sources":["../../react/src/primitives/router.tsx"],"sourcesContent":[],"mappings":";;;KAGY,WAAA;;AAAZ;AA8BA;;;;;;;;;aAhBY,KAAA,CAAM;;;;;;aAKN,KAAA,CAAM;;;;;;;;;;cAWL,QAAQ,KAAA,CAAM,GAAG"}
1
+ {"version":3,"file":"router.d.ts","names":[],"sources":["../../react/src/primitives/router.tsx"],"sourcesContent":[],"mappings":";;;KAIY,+BACK,sBAAsB;EAD3B,IAAA,EAGL,CAHK;EACK,SAAA,EAGL,KAAA,CAAM,aAHD,CAAA;IAAsB,MAAA,CAAA,EAGI,aAHJ,CAGkB,CAHlB,CAAA;EAEhC,CAAA,CAAA;CACoC;AAAc,KAI7C,WAAA,GAJ6C;EAA7C,IAAM,EAAA,MAKL,aALK;EAAa,MAAA,CAAA,EAMrB,aANqB,CAAA,MAMD,aANC,CAAA;EAInB,KAAA,EAGJ,cAHe,EAAA;EACV,QAAA,CAAA,EAGD,KAAA,CAAM,aAHL,CAAA;IACH,MAAA,CAAA,EAAA,OAAA;EAAoB,CAAA,CAAA;CACtB;;;AAgBR;;;;;;;;;;cAAa,QAAQ,KAAA,CAAM,GAAG"}
package/router2.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+
3
+ //#region ../react/src/support/router.d.ts
4
+ type CustomPage<K extends keyof RouteRegistry = keyof RouteRegistry> = {
5
+ name: K;
6
+ component: React.ComponentType<{
7
+ params?: RouteRegistry[K];
8
+ }>;
9
+ };
10
+ //#endregion
11
+ export { CustomPage };
12
+ //# sourceMappingURL=router2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router2.d.ts","names":[],"sources":["../../react/src/support/router.tsx"],"sourcesContent":[],"mappings":";;;KAWY,2BAA2B,sBAAsB;EAAjD,IAAA,EACL,CADK;EAA2B,SAAA,EAE3B,KAAA,CAAM,aAFqB,CAAA;IAAsB,MAAA,CAAA,EAElB,aAFkB,CAEJ,CAFI,CAAA;EACtD,CAAA,CAAA;CACoC"}
@@ -1,2 +1,2 @@
1
1
  import { SupportConfig, SupportConfigProps } from "./support-config2.js";
2
- export { SupportConfig, SupportConfigProps };
2
+ export { SupportConfig, type SupportConfigProps };
package/support-config.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "./_virtual/rolldown_runtime.js";
4
+ import { SupportConfig } from "@cossistant/react/support-config";
5
5
 
6
- export * from "@cossistant/react/support-config"
7
-
8
- export { support_config_exports };
6
+ export { SupportConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"support-config2.d.ts","names":[],"sources":["../../react/src/support-config.tsx"],"sourcesContent":[],"mappings":";;;KAMY,kBAAA;EAAA,eAAA,CAAA,EACO,cADW,EACX;EAON,YAAA,CAAA,EAAA,MAoBZ,EAAA;;;;;AAjByC,cAH7B,aAG6B,EAAA;;;;KAAvC,qBAAqB,OAAA,CAAM"}
1
+ {"version":3,"file":"support-config2.d.ts","names":[],"sources":["../../react/src/support-config.tsx"],"sourcesContent":[],"mappings":";;;KAMY,kBAAA;EAAA,eAAA,CAAA,EACO,cAAA,EAAA;EAON,YAAA,CAAA,EAAA,MAoBZ,EAAA;;;;;AAjByC,cAH7B,aAG6B,EAAA;;;;KAAvC,qBAAqB,OAAA,CAAM"}
@@ -35,7 +35,7 @@ type UseConversationAutoSeenOptions = {
35
35
  /**
36
36
  * Automatically marks timeline items as seen when:
37
37
  * - A new timeline item arrives from someone else
38
- * - The page is visible/focused
38
+ * - The page is visible
39
39
  * - The support widget is open/visible
40
40
  * - The visitor is the current user
41
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-seen.d.ts","names":[],"sources":["../../react/src/hooks/use-conversation-seen.ts"],"sourcesContent":[],"mappings":";AAAkE,KAI7D,0BAAA,GAA0B;EAgBf,WAAA,CAAA,EAfD,gBAeoB,EAAA;AAwDnC,CAAA;;;;;iBAxDgB,mBAAA,sDAEN,6BACP;;;;;;;iBAqDa,4BAAA,sDAEN,6CAEP"}
1
+ {"version":3,"file":"use-conversation-seen.d.ts","names":[],"sources":["../../react/src/hooks/use-conversation-seen.ts"],"sourcesContent":[],"mappings":";AAAkE,KAI7D,0BAAA,GAA0B;EAgBf,WAAA,CAAA,EAfD,gBAeoB,EAAA;AA8DnC,CAAA;;;;;iBA9DgB,mBAAA,sDAEN,6BACP;;;;;;;iBA2Da,4BAAA,sDAEN,6CAEP"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-conversation-timeline-items.d.ts","names":[],"sources":["../../react/src/hooks/use-conversation-timeline-items.ts"],"sourcesContent":[],"mappings":";;AA4BY,KARA,mCAAA,GAQkC;EAC7C,KAAA,CAAA,EAAA,MAAA;EAEQ,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEM,OAAA,CAAA,EAAA,OAAA;EAAL,eAAA,CAAA,EAAA,MAAA,GAAA,KAAA;EACK,oBAAA,CAAA,EAAA,OAAA;CAAR;AAEJ,KARS,kCAAA,GACX,8BAOE,GAAA;EADoB,SAAA,EAAA,OAAA;EAAO,KAAA,EAJrB,KAIqB,GAAA,IAAA;EASd,OAAA,EAAA,CAAA,IAEN,CAFM,EAXN,IAWM,CAXD,mCAaL,EAAA,QAAA,GAAA,OAAA,CAAA,EAAA,GAZH,OAaJ,CAbY,oCAasB,GAAA,SAAA,CAAA;uBAZd,QACpB;;;;;;iBAQa,4BAAA,sDAEN,sCACP"}
1
+ {"version":3,"file":"use-conversation-timeline-items.d.ts","names":[],"sources":["../../react/src/hooks/use-conversation-timeline-items.ts"],"sourcesContent":[],"mappings":";;AA4BY,KARA,mCAAA,GAQkC;EAC7C,KAAA,CAAA,EAAA,MAAA;EAEQ,MAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEM,OAAA,CAAA,EAAA,OAAA;EAAL,eAAA,CAAA,EAAA,MAAA,GAAA,KAAA;EACK,oBAAA,CAAA,EAAA,OAAA;CAAR;AAEJ,KARS,kCAAA,GACX,8BAOE,GAAA;EADoB,SAAA,EAAA,OAAA;EAAO,KAAA,EAJrB,KAIqB,GAAA,IAAA;EASd,OAAA,EAAA,CAAA,IAEN,CAFM,EAXN,IAWM,CAXD,mCAaL,EAAA,QAAA,GAAA,OAAA,CAAA,EACP,GAbI,OAaJ,CAbY,oCAasB,GAAA,SAAA,CAAA;uBAZd,QACpB;;;;;;iBAQa,4BAAA,sDAEN,sCACP"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-grouped-messages.d.ts","names":[],"sources":["../../react/src/hooks/private/use-grouped-messages.ts"],"sourcesContent":[],"mappings":";;AASQ,KAJI,cAAA,GAIJ;EAGW,IAAA,EAAA,eAAA;EACD,QAAA,EAAA,MAAA;EAAI,UAAA,EALT,UAKS;EAGV,KAAA,EAPJ,YAOI,EAAiB;EAMjB,cAAA,EAAA,MAAgB;EAOhB,aAAA,EAAA,MAAgB;EACzB,gBAAA,EAlBgB,IAkBhB;EACA,eAAA,EAlBe,IAkBf;CACA;AAAgB,KAhBP,iBAAA,GAgBO;EAEP,IAAA,EAAA,gBAAA;EACJ,IAAA,EAjBD,YAiBC;EACI,SAAA,EAjBA,IAiBA;CAEE;AAAU,KAhBZ,gBAAA,GAgBY;EAGZ,IAAA,EAAA,eAAA;EAwNC,IAAA,EAzON,YAyOM;EAAsB,IAAA,EAAA,MAAA,GAAA,IAAA;EAAA,SAAA,EAvOvB,IAuOuB;CAAA;AAAA,KApOvB,gBAAA,GACT,cAmOgC,GAlOhC,iBAkOgC,GAjOhC,gBAiOgC;AAKhC,KApOS,yBAAA,GAoOT;SAnOK;aACI;;eAEE;;KAGF,uBAAA,GAA0B;;;;;;;cAwNzB;;;;;GAKV"}
1
+ {"version":3,"file":"use-grouped-messages.d.ts","names":[],"sources":["../../react/src/hooks/private/use-grouped-messages.ts"],"sourcesContent":[],"mappings":";;AASQ,KAJI,cAAA,GAIJ;EAGW,IAAA,EAAA,eAAA;EACD,QAAA,EAAA,MAAA;EAAI,UAAA,EALT,UAKS;EAGV,KAAA,EAPJ,YAOI,EAAiB;EAMjB,cAAA,EAAA,MAAgB;EAOhB,aAAA,EAAA,MAAgB;EACzB,gBAAA,EAlBgB,IAkBhB;EACA,eAAA,EAlBe,IAkBf;CACA;AAAgB,KAhBP,iBAAA,GAgBO;EAEP,IAAA,EAAA,gBAAA;EACJ,IAAA,EAjBD,YAiBC;EACI,SAAA,EAjBA,IAiBA;CAEE;AAAU,KAhBZ,gBAAA,GAgBY;EAGZ,IAAA,EAAA,eAAA;EA+LC,IAAA,EAhNN,YAgNM;EAAsB,IAAA,EAAA,MAAA,GAAA,IAAA;EAAA,SAAA,EA9MvB,IA8MuB;CAAA;AAAA,KA3MvB,gBAAA,GACT,cA0MgC,GAzMhC,iBAyMgC,GAxMhC,gBAwMgC;AAKhC,KA3MS,yBAAA,GA2MT;SA1MK;aACI;;eAEE;;KAGF,uBAAA,GAA0B;;;;;;;cA+LzB;;;;;GAKV"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-multimodal-input.d.ts","names":[],"sources":["../../react/src/hooks/private/use-multimodal-input.ts"],"sourcesContent":[],"mappings":";KAEY,yBAAA;EAAA,QAAA,CAAA,EAAA,CAAA,IAAA,EAAA;IACiC,OAAA,EAAA,MAAA;IAAoB,KAAA,EAApB,IAAoB,EAAA;EAC9C,CAAA,EAAA,GAAA,IAAA,GAD8C,OAC9C,CAAA,IAAA,CAAA;EAAK,OAAA,CAAA,EAAA,CAAA,KAAA,EAAL,KAAK,EAAA,GAAA,IAAA;EAMZ,WAAA,CAAA,EAAA,MAAA;EAGJ,QAAA,CAAA,EAAA,MAAA;EAEA,gBAAA,CAAA,EAAA,MAAA,EAAA;CAIW;AAGJ,KAZH,wBAAA,GAYG;EAAO,OAAA,EAAA,MAAA;EAaT,KAAA,EAtBL,IAsBK,EAAA;EAAsB,YAAA,EAAA,OAAA;EAAA,KAAA,EApB3B,KAoB2B,GAAA,IAAA;EAAA,UAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAAA,QAAA,EAAA,CAAA,KAAA,EAhBhB,IAgBgB,EAAA,EAAA,GAAA,IAAA;EAAA,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAMhC,UAAA,EAAA,GAAA,GAAA,IAAA;EAAiC,MAAA,EAAA,GAAA,GAnBrB,OAmBqB,CAAA,IAAA,CAAA;EAsJnC,KAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;cA5JY;;;;;;IAMV,8BAAiC"}
1
+ {"version":3,"file":"use-multimodal-input.d.ts","names":[],"sources":["../../react/src/hooks/private/use-multimodal-input.ts"],"sourcesContent":[],"mappings":";KAEY,yBAAA;EAAA,QAAA,CAAA,EAAA,CAAA,IAAA,EAAA;IACiC,OAAA,EAAA,MAAA;IAAoB,KAAA,EAApB,IAAoB,EAAA;EAC9C,CAAA,EAAA,GAAA,IAAA,GAD8C,OAC9C,CAAA,IAAA,CAAA;EAAK,OAAA,CAAA,EAAA,CAAA,KAAA,EAAL,KAAK,EAAA,GAAA,IAAA;EAMZ,WAAA,CAAA,EAAA,MAAA;EAGJ,QAAA,CAAA,EAAA,MAAA;EAEA,gBAAA,CAAA,EAAA,MAAA,EAAA;CAIW;AAGJ,KAZH,wBAAA,GAYG;EAAO,OAAA,EAAA,MAAA;EAaT,KAAA,EAtBL,IAsBK,EAAA;EAAsB,YAAA,EAAA,OAAA;EAAA,KAAA,EApB3B,KAoB2B,GAAA,IAAA;EAAA,UAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAAA,QAAA,EAAA,CAAA,KAAA,EAhBhB,IAgBgB,EAAA,EAAA,GAAA,IAAA;EAAA,UAAA,EAAA,CAAA,KAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAMhC,UAAA,EAAA,GAAA,GAAA,IAAA;EAAiC,MAAA,EAAA,GAAA,GAnBrB,OAmBqB,CAAA,IAAA,CAAA;EAwKnC,KAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;cA9KY;;;;;;IAMV,8BAAiC"}
@@ -0,0 +1,23 @@
1
+ //#region ../react/src/hooks/use-new-message-sound.d.ts
2
+ /**
3
+ * Hook to play a sound when a new message arrives.
4
+ *
5
+ * @param options - Optional configuration for volume and playback speed
6
+ * @returns Function to play the new message sound
7
+ *
8
+ * @example
9
+ * const playNewMessageSound = useNewMessageSound({ volume: 0.8, playbackRate: 1.1 });
10
+ *
11
+ * useEffect(() => {
12
+ * if (hasNewMessage) {
13
+ * playNewMessageSound();
14
+ * }
15
+ * }, [hasNewMessage]);
16
+ */
17
+ declare function useNewMessageSound(options?: {
18
+ volume?: number;
19
+ playbackRate?: number;
20
+ }): () => void;
21
+ //#endregion
22
+ export { useNewMessageSound };
23
+ //# sourceMappingURL=use-new-message-sound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-new-message-sound.d.ts","names":[],"sources":["../../react/src/hooks/use-new-message-sound.ts"],"sourcesContent":[],"mappings":";;AAqBA;;;;;;;;;;;;;;iBAAgB,kBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../react/src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KAE1B,YAAA,GAAY,MAAS,GAAA,CAAI,iBAAA;AAAiB,KAE1C,SAAA,CAAA,KAAS,CAAA,GAAA,MAAA,GAA4B,CAAA,CAAA,KAAK,EAAL,KAAK,EAAA,GAAA,MAAA,CAAA;AAAA,KAE1C,QAAA,CAAA,KAAQ,EAAA,KAAA,CAAA,GAAA,CAAA,KAAA,EACL,KADK,EAAA,KAAA,EAEL,KAFK,EAAA,GAGR,OAAA,CAAM,YAHE;KAKR,WAJG,CAAA,KAAA,EAAA,YAI4B,YAJ5B,CAAA,GAAA;EACA,MAAA,CAAA,EAIE,OAAA,CAAM,YAJR,GAIuB,QAJvB,CAIgC,GAAA,CAAI,iBAJpC,CAIsD,GAJtD,CAAA,EAI4D,KAJ5D,CAAA;EACH,SAAM,CAAA,EAIE,SAJF,CAIY,KAJZ,CAAA;EAAY,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA;KAQlB,YAN+B,CAAA,KAAA,EAAA,YAMC,YAND,CAAA,GAAA;EAC1B,KAAM,CAAA,EAMP,KANO;EAAwB,GAAI,CAAA,EAOrC,OAAA,CAAM,GAP+B,CAAA,GAAA,CAAA;EAAkB,KAAA,CAAA,EAQrD,OARqD,CAQ7C,GAAA,CAAI,iBARyC,CAQvB,GARuB,CAAA,CAAA;EAAM,OAAA,CAAA,EAAA,OAAA;CAArC;;;;AAK1B,iBAyBW,gBAzBC,CAAA,cA0BF,MA1BE,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YA2BJ,YA3BI,CAAA,CAAA,GAAA,EA6BX,GA7BW,EAAA,cAAA,EA8BA,WA9BA,CA8BY,KA9BZ,EA8BmB,GA9BnB,CAAA,EAAA,MAAA,CAAA,EA+BP,YA/BO,CA+BM,KA/BN,EA+Ba,GA/Bb,CAAA,CAAA,EAgCd,OAAA,CAAM,YAhCQ,GAAA,IAAA"}
1
+ {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../react/src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KAE1B,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,iBAyBW,gBAzBC,CAAA,cA0BF,MA1BE,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YA2BJ,YA3BI,CAAA,CAAA,GAAA,EA6BX,GA7BW,EAAA,cAAA,EA8BA,WA9BA,CA8BY,KA9BZ,EA8BmB,GA9BnB,CAAA,EAAA,MAAA,CAAA,EA+BP,YA/BO,CA+BM,KA/BN,EA+Ba,GA/Bb,CAAA,CAAA,EAgCd,OAAA,CAAM,YAhCQ,GAAA,IAAA"}
@@ -0,0 +1,30 @@
1
+ //#region ../react/src/hooks/use-sound-effect.d.ts
2
+ type UseSoundEffectOptions = {
3
+ loop?: boolean;
4
+ volume?: number;
5
+ playbackRate?: number;
6
+ };
7
+ type UseSoundEffectReturn = {
8
+ play: () => void;
9
+ stop: () => void;
10
+ isPlaying: boolean;
11
+ isLoading: boolean;
12
+ error: Error | null;
13
+ };
14
+ /**
15
+ * Hook to play sound effects using the Web Audio API.
16
+ *
17
+ * @param soundPath - Path to the sound file (relative to public directory or absolute URL)
18
+ * @param options - Configuration options for the sound
19
+ * @returns Object with play, stop functions and state
20
+ *
21
+ * @example
22
+ * const { play, stop, isPlaying } = useSoundEffect('/sounds/notification.wav', {
23
+ * loop: false,
24
+ * volume: 0.5
25
+ * });
26
+ */
27
+ declare function useSoundEffect(soundPath: string, options?: UseSoundEffectOptions): UseSoundEffectReturn;
28
+ //#endregion
29
+ export { UseSoundEffectOptions, UseSoundEffectReturn, useSoundEffect };
30
+ //# sourceMappingURL=use-sound-effect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sound-effect.d.ts","names":[],"sources":["../../react/src/hooks/use-sound-effect.ts"],"sourcesContent":[],"mappings":";KAEY,qBAAA;EAAA,IAAA,CAAA,EAAA,OAAA;EAMA,MAAA,CAAA,EAAA,MAAA;EAqBI,YAAA,CAAA,EAAA,MAAc;;KArBlB,oBAAA;;;;;SAKJ;;;;;;;;;;;;;;;iBAgBQ,cAAA,8BAEN,wBACP"}
@@ -0,0 +1,18 @@
1
+ //#region ../react/src/hooks/use-typing-sound.d.ts
2
+ /**
3
+ * Hook to play a looping typing sound while someone is typing.
4
+ *
5
+ * @param isTyping - Whether someone is currently typing
6
+ * @param options - Optional configuration for volume and playback speed
7
+ *
8
+ * @example
9
+ * const { isTyping } = useTypingIndicator();
10
+ * useTypingSound(isTyping, { volume: 1.0, playbackRate: 1.2 });
11
+ */
12
+ declare function useTypingSound(isTyping: boolean, options?: {
13
+ volume?: number;
14
+ playbackRate?: number;
15
+ }): void;
16
+ //#endregion
17
+ export { useTypingSound };
18
+ //# sourceMappingURL=use-typing-sound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-typing-sound.d.ts","names":[],"sources":["../../react/src/hooks/use-typing-sound.ts"],"sourcesContent":[],"mappings":";;AAiBA;;;;;;;;;iBAAgB,cAAA"}
package/utils/index.js CHANGED
@@ -1,8 +1,6 @@
1
1
  "use client";
2
2
 
3
3
 
4
- import { __reExport } from "../_virtual/rolldown_runtime.js";
4
+ import { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement } from "@cossistant/react/utils";
5
5
 
6
- export * from "@cossistant/react/utils"
7
-
8
- export { utils_exports };
6
+ export { PENDING_CONVERSATION_ID, generateShortPrimaryId, shouldDisplayConversation, useRenderElement };
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["\"use client\";\n\nexport * from \"./hooks\";\nexport * from \"./identify-visitor\";\nexport * from \"./primitives\";\nexport * from \"./provider\";\nexport * from \"./realtime\";\nexport * from \"./support\";\nexport * from \"./support-config\";\nexport * from \"./utils\";\n"],"mappings":""}
@@ -1,30 +0,0 @@
1
- import React from "react";
2
-
3
- //#region ../react/src/primitives/page-registry.d.ts
4
- type PageComponent<P = unknown> = React.ComponentType<{
5
- params?: P;
6
- }>;
7
- type PageRegistry = Map<string, PageComponent>;
8
- /**
9
- * Context provider for declarative page registration.
10
- *
11
- * @example
12
- * <PageRegistryProvider>
13
- * <Page name="HOME" component={HomePage} />
14
- * <Router page={currentPage} />
15
- * </PageRegistryProvider>
16
- */
17
- declare const PageRegistryProvider: React.FC<{
18
- children: React.ReactNode;
19
- }>;
20
- /**
21
- * Access the page registry (used internally by Router and Page).
22
- */
23
- declare const usePageRegistry: () => PageRegistry;
24
- /**
25
- * Register a page in the registry (used internally by Page component).
26
- */
27
- declare const useRegisterPage: (name: string, component: PageComponent) => void;
28
- //#endregion
29
- export { PageRegistryProvider, usePageRegistry, useRegisterPage };
30
- //# sourceMappingURL=page-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-registry.d.ts","names":[],"sources":["../../react/src/primitives/page-registry.tsx"],"sourcesContent":[],"mappings":";;;KAEK,6BAA6B,KAAA,CAAM;WAAyB;AAFC,CAAA,CAAA;AAEb,KAEhD,YAAA,GAAe,GAAH,CAAA,MAAA,EAAe,aAAA,CAAA;AAahC;AAeA;AAKA;;;;;;;cApBa,sBAAsB,KAAA,CAAM;YAAe,KAAA,CAAM;;;;;cAejD,uBAAe;;;;cAKf,2CAA4C"}
package/page.d.ts DELETED
@@ -1,21 +0,0 @@
1
- //#region ../react/src/primitives/page.d.ts
2
- type PageProps<Params = unknown> = {
3
- name: string;
4
- component: React.ComponentType<{
5
- params?: Params;
6
- }>;
7
- };
8
- /**
9
- * Declaratively register a page component.
10
- *
11
- * @example
12
- * <Page name="HOME" component={HomePage} />
13
- * <Page name="SETTINGS" component={SettingsPage} />
14
- */
15
- declare function Page<Params = unknown>({
16
- name,
17
- component
18
- }: PageProps<Params>): null;
19
- //#endregion
20
- export { Page, PageProps };
21
- //# sourceMappingURL=page.d.ts.map
package/page.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","names":[],"sources":["../../react/src/primitives/page.tsx"],"sourcesContent":[],"mappings":";KAEY;EAAA,IAAA,EAAA,MAAS;EAYL,SAAI,EAVR,KAAA,CAAM,aAUE,CAAA;IACnB,MAAA,CAAA,EAX0C,MAW1C;EACA,CAAA,CAAA;CACY;;;;;;;;iBAHG;;;GAGb,UAAU"}