@opencx/widget 3.0.73 → 3.0.75

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 (43) hide show
  1. package/dist/designs.cjs +25 -25
  2. package/dist/designs.cjs.map +1 -1
  3. package/dist/designs.js +4097 -3765
  4. package/dist/designs.js.map +1 -1
  5. package/dist/index.cjs +1 -1
  6. package/dist/index.js +3 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/react.cjs +1 -1
  9. package/dist/react.js +2 -2
  10. package/dist/src/designs/react/components/AgentOrBotAvatar.d.ts +6 -0
  11. package/dist/src/designs/react/components/BotOrAgentMessage.d.ts +5 -1
  12. package/dist/src/designs/react/components/BotOrAgentMessageGroup.d.ts +2 -1
  13. package/dist/src/designs/react/components/MightSolveUserIssueSuggestedReplies.d.ts +2 -0
  14. package/dist/src/designs/react/components/SuggestedReplyButton.d.ts +5 -0
  15. package/dist/src/designs/react/components/UserMessage.d.ts +8 -0
  16. package/dist/src/designs/react/components/WidgetHeader.d.ts +1 -4
  17. package/dist/src/designs/react/components/custom-components/BotOrAgentTextResponse.component.d.ts +14 -1
  18. package/dist/src/designs/react/components/custom-components/Loading.component.d.ts +5 -1
  19. package/dist/src/designs/react/components/lib/{loading.d.ts → LoadingSpinner.d.ts} +1 -1
  20. package/dist/src/designs/react/hooks/useTheme.d.ts +7 -0
  21. package/dist/src/designs/react/utils/data-component.d.ts +7 -0
  22. package/dist/src/headless/core/index.d.ts +2 -2
  23. package/dist/src/headless/core/types/component-name.d.ts +1 -0
  24. package/dist/src/headless/core/types/messages.d.ts +3 -2
  25. package/dist/src/headless/core/types/widget-config.d.ts +104 -53
  26. package/dist/src/headless/react/WidgetProvider.d.ts +5 -6
  27. package/dist/src/headless/react/hooks/useWidgetTrigger.d.ts +1 -1
  28. package/dist/{useWidgetTrigger-CPu_9xm8.cjs → useWidgetTrigger-CiYy4rS2.cjs} +4 -4
  29. package/dist/useWidgetTrigger-CiYy4rS2.cjs.map +1 -0
  30. package/dist/{useWidgetTrigger-kFOQQFnh.js → useWidgetTrigger-CwB0x_Pe.js} +253 -246
  31. package/dist/useWidgetTrigger-CwB0x_Pe.js.map +1 -0
  32. package/dist-embed/script.js +83 -73
  33. package/dist-embed/script.js.map +1 -1
  34. package/package.json +1 -1
  35. package/dist/component-name.enum-CQWh4zVJ.cjs +0 -2
  36. package/dist/component-name.enum-CQWh4zVJ.cjs.map +0 -1
  37. package/dist/component-name.enum-ChkrB7Pk.js +0 -5
  38. package/dist/component-name.enum-ChkrB7Pk.js.map +0 -1
  39. package/dist/src/designs/react/components/SuggestedReplies.d.ts +0 -2
  40. package/dist/src/headless/core/types/component-name.enum.d.ts +0 -9
  41. package/dist/src/headless/react/utils/create-safe-context.d.ts +0 -1
  42. package/dist/useWidgetTrigger-CPu_9xm8.cjs.map +0 -1
  43. package/dist/useWidgetTrigger-kFOQQFnh.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./component-name.enum-CQWh4zVJ.cjs"),e=require("./widget.ctx-DUaeXkNb.cjs");exports.OpenCxComponentName=t.OpenCxComponentName;exports.PrimitiveState=e.PrimitiveState;exports.WidgetCtx=e.WidgetCtx;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./widget.ctx-DUaeXkNb.cjs");exports.PrimitiveState=t.PrimitiveState;exports.WidgetCtx=t.WidgetCtx;
2
2
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,8 +1,6 @@
1
- import { O as o } from "./component-name.enum-ChkrB7Pk.js";
2
- import { P as m, W as r } from "./widget.ctx-COUAUyWX.js";
1
+ import { P as i, W as a } from "./widget.ctx-COUAUyWX.js";
3
2
  export {
4
- o as OpenCxComponentName,
5
- m as PrimitiveState,
6
- r as WidgetCtx
3
+ i as PrimitiveState,
4
+ a as WidgetCtx
7
5
  };
8
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/react.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useWidgetTrigger-CPu_9xm8.cjs");function g(t,i,s){const{widgetCtx:{api:u}}=e.useWidget();return e._default(async r=>u.vote({action:r==="up"?"upvote":"downvote",messagePublicId:t,sessionId:i}).then(s),[u,t,i,s])}exports.WidgetProvider=e.WidgetProvider;exports.WidgetTriggerProvider=e.WidgetTriggerProvider;exports.useConfig=e.useConfig;exports.useContact=e.useContact;exports.useIsAwaitingBotReply=e.useIsAwaitingBotReply;exports.useMessages=e.useMessages;exports.usePreludeData=e.usePreludeData;exports.usePrimitiveState=e.usePrimitiveState;exports.useSessions=e.useSessions;exports.useUploadFiles=e.useUploadFiles;exports.useWidget=e.useWidget;exports.useWidgetRouter=e.useWidgetRouter;exports.useWidgetTrigger=e.useWidgetTrigger;exports.useVote=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./useWidgetTrigger-CiYy4rS2.cjs");function g(t,i,s){const{widgetCtx:{api:u}}=e.useWidget();return e._default(async r=>u.vote({action:r==="up"?"upvote":"downvote",messagePublicId:t,sessionId:i}).then(s),[u,t,i,s])}exports.WidgetProvider=e.WidgetProvider;exports.WidgetTriggerProvider=e.WidgetTriggerProvider;exports.useConfig=e.useConfig;exports.useContact=e.useContact;exports.useIsAwaitingBotReply=e.useIsAwaitingBotReply;exports.useMessages=e.useMessages;exports.usePreludeData=e.usePreludeData;exports.usePrimitiveState=e.usePrimitiveState;exports.useSessions=e.useSessions;exports.useUploadFiles=e.useUploadFiles;exports.useWidget=e.useWidget;exports.useWidgetRouter=e.useWidgetRouter;exports.useWidgetTrigger=e.useWidgetTrigger;exports.useVote=g;
2
2
  //# sourceMappingURL=react.cjs.map
package/dist/react.js CHANGED
@@ -1,5 +1,5 @@
1
- import { u, _ as r } from "./useWidgetTrigger-kFOQQFnh.js";
2
- import { W as p, k as f, a as l, b as v, c as W, d as c, e as m, f as P, g as w, i as x, h as C, j as b } from "./useWidgetTrigger-kFOQQFnh.js";
1
+ import { u, _ as r } from "./useWidgetTrigger-CwB0x_Pe.js";
2
+ import { W as p, k as f, a as l, b as v, c as W, d as c, e as m, f as P, g as w, i as x, h as C, j as b } from "./useWidgetTrigger-CwB0x_Pe.js";
3
3
  function g(e, s, t) {
4
4
  const {
5
5
  widgetCtx: { api: a }
@@ -0,0 +1,6 @@
1
+ import { default as React } from 'react';
2
+ import { AgentOrBotType } from '../../../headless/core';
3
+ import { AvatarProps } from '@radix-ui/react-avatar';
4
+ export declare function AgentOrBotAvatar({ agent, ...props }: AvatarProps & {
5
+ agent: AgentOrBotType | undefined;
6
+ }): React.JSX.Element;
@@ -1,3 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { WidgetComponentProps } from '../../../headless/react';
3
- export declare function BotOrAgentMessage(props: WidgetComponentProps): React.JSX.Element;
3
+ export declare function BotOrAgentMessage({ isFirstInGroup, isLastInGroup, isAloneInGroup, ...props }: WidgetComponentProps & {
4
+ isFirstInGroup: boolean;
5
+ isLastInGroup: boolean;
6
+ isAloneInGroup: boolean;
7
+ }): React.JSX.Element;
@@ -1,6 +1,7 @@
1
1
  import { default as React } from 'react';
2
2
  import { AgentMessageType, AgentOrBotType, BotMessageType } from '../../../headless/core';
3
- export declare function BotOrAgentMessageGroup({ messages, agent, }: {
3
+ export declare function BotOrAgentMessageGroup({ messages, agent, suggestedReplies, }: {
4
4
  messages: BotMessageType[] | AgentMessageType[];
5
5
  agent: AgentOrBotType | undefined;
6
+ suggestedReplies?: string[];
6
7
  }): React.JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { default as React } from 'react';
2
+ export declare function MightSolveUserIssueSuggestedReplies(): React.JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from './lib/button';
3
+ export declare function SuggestedReplyButton({ suggestion, className, ...props }: ButtonProps & {
4
+ suggestion: string;
5
+ }): React.JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { default as React } from 'react';
2
+ import { UserMessageType } from '../../../headless/core';
3
+ export declare function UserMessage({ message, isFirstInGroup, isLastInGroup, isAloneInGroup, }: {
4
+ message: UserMessageType;
5
+ isFirstInGroup: boolean;
6
+ isLastInGroup: boolean;
7
+ isAloneInGroup: boolean;
8
+ }): React.JSX.Element;
@@ -1,5 +1,2 @@
1
1
  import { default as React } from 'react';
2
- import { OpenCxComponentName, SafeExtract } from '../../../headless/core';
3
- export declare function WidgetHeader({ componentName, }: {
4
- componentName: SafeExtract<keyof typeof OpenCxComponentName, 'chat-screen__header' | 'sessions-screen__header'>;
5
- }): React.JSX.Element;
2
+ export declare function WidgetHeader(): React.JSX.Element;
@@ -1,3 +1,16 @@
1
1
  import { default as React } from 'react';
2
2
  import { WidgetComponentProps } from '../../../../headless/react/types/components';
3
- export declare function BotOrAgentResponse({ data, id, type, attachments, }: WidgetComponentProps): React.JSX.Element;
3
+ import { OpenCxComponentNameU } from '../../../../headless/core';
4
+ export declare function BotOrAgentResponse({ data, id, type, attachments, isFirstInGroup, isLastInGroup, isAloneInGroup, dataComponentNames, classNames, }: WidgetComponentProps & {
5
+ isFirstInGroup: boolean;
6
+ isLastInGroup: boolean;
7
+ isAloneInGroup: boolean;
8
+ dataComponentNames?: {
9
+ messageContainer?: OpenCxComponentNameU;
10
+ message?: OpenCxComponentNameU;
11
+ };
12
+ classNames?: {
13
+ messageContainer?: string;
14
+ message?: string;
15
+ };
16
+ }): React.JSX.Element;
@@ -1,2 +1,6 @@
1
1
  import { default as React } from 'react';
2
- export declare function BotLoadingComponent(): React.JSX.Element;
2
+ import { AgentOrBotType } from '../../../../headless/core';
3
+ export type LoadingComponentProps = {
4
+ agent: AgentOrBotType | undefined;
5
+ };
6
+ export declare function BotLoadingComponent({ agent }: LoadingComponentProps): React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import { default as React } from 'react';
2
- export declare function Loading({ className }: {
2
+ export declare function LoadingSpinner({ className }: {
3
3
  className?: string;
4
4
  }): React.JSX.Element;
@@ -4,6 +4,7 @@ import { CSSProperties } from 'react';
4
4
  */
5
5
  export declare function useTheme(): {
6
6
  theme: {
7
+ palette: "neutral" | "stone" | "zinc" | "slate";
7
8
  primaryColor: string;
8
9
  widgetTrigger: {
9
10
  zIndex: number;
@@ -19,6 +20,12 @@ export declare function useTheme(): {
19
20
  widgetContentContainer: {
20
21
  borderRadius: string;
21
22
  zIndex: number;
23
+ outline: string;
24
+ outlineColor: string;
25
+ boxShadow: string;
26
+ transitionProperty: string;
27
+ transitionTimingFunction: string;
28
+ transitionDuration: string;
22
29
  offset: {
23
30
  side: number;
24
31
  align: number;
@@ -0,0 +1,7 @@
1
+ import { OpenCxComponentNameU } from '../../../headless/core';
2
+ /**
3
+ * A silly util to help with the component name type safety.
4
+ */
5
+ export declare function dc(componentName: OpenCxComponentNameU): {
6
+ 'data-component': OpenCxComponentNameU;
7
+ };
@@ -1,10 +1,10 @@
1
1
  export type { AgentOrBotType } from './types/agent-or-bot';
2
2
  export type { SafeExtract, StringOrLiteral } from './types/helpers';
3
- export type { WidgetComponentKey, UserMessageType, AgentMessageType, BotMessageType, MessageType, } from './types/messages';
3
+ export type { LiteralWidgetComponentKey, WidgetComponentKey, UserMessageType, AgentMessageType, BotMessageType, MessageType, } from './types/messages';
4
4
  export type { MessageAttachmentType, MessageDto, PreludeDto, SendMessageDto, SendMessageOutputDto, SessionDto, VoteInputDto, VoteOutputDto, ActionCallDto, } from './types/schemas';
5
5
  export type { WidgetConfig } from './types/widget-config';
6
6
  export type { ExternalStorage } from './types/external-storage';
7
- export { OpenCxComponentName } from './types/component-name.enum';
7
+ export type { OpenCxComponentNameU } from './types/component-name';
8
8
  export { WidgetCtx } from './context/widget.ctx';
9
9
  export type { ContactCtx } from './context/contact.ctx';
10
10
  export type { SessionCtx } from './context/session.ctx';
@@ -0,0 +1 @@
1
+ export type OpenCxComponentNameU = 'ui_lib/btn' | 'trigger/btn' | 'sessions/root' | 'sessions/header' | 'sessions/new_conversation_btn' | 'chat/root' | 'chat/header' | 'chat/msgs/root' | 'chat/agent_msg_group/root' | 'chat/agent_msg_group/avatar_and_msgs/root' | 'chat/agent_msg_group/avatar_and_msgs/avatar' | 'chat/agent_msg_group/avatar_and_msgs/msgs' | 'chat/agent_msg_group/root/avatar' | 'chat/agent_msg_group/suggestions' | 'chat/agent_msg/root' | 'chat/agent_msg/msg' | 'chat/persistent_initial_msgs/root' | 'chat/persistent_initial_msg/root' | 'chat/persistent_initial_msg/msg' | 'chat/user_msg_group/root' | 'chat/user_msg_group/avatar/root' | 'chat/user_msg/root' | 'chat/user_msg/msg' | 'chat/input_box/root' | 'chat/input_box/inner_root' | 'chat/input_box/textarea_and_attachments_container' | 'chat/input_box/textarea' | 'chat/input_box/attachments_container' | 'chat/bot_loading/root' | 'chat/bot_loading/bouncing_dots_container' | 'chat/suggested_reply_btn' | 'chat/might_solve_user_issue_suggested_replies_container';
@@ -1,7 +1,8 @@
1
1
  import { MessageAttachmentType, MessageDto } from './schemas';
2
2
  import { SafeExtract, StringOrLiteral } from './helpers';
3
3
  import { AgentOrBotType } from './agent-or-bot';
4
- export type WidgetComponentKey = StringOrLiteral<'bot_message' | 'agent_message' | 'loading' | 'fallback'>;
4
+ export type LiteralWidgetComponentKey = 'bot_message' | 'agent_message' | 'loading' | 'fallback';
5
+ export type WidgetComponentKey = StringOrLiteral<LiteralWidgetComponentKey>;
5
6
  export type UserMessageType = {
6
7
  id: string;
7
8
  type: 'FROM_USER';
@@ -40,7 +41,7 @@ export type BotMessageType<TActionData = unknown> = {
40
41
  export type AgentMessageType = {
41
42
  id: string;
42
43
  type: 'FROM_AGENT';
43
- component: SafeExtract<WidgetComponentKey, 'agent_message'>;
44
+ component: SafeExtract<LiteralWidgetComponentKey, 'agent_message'>;
44
45
  data: {
45
46
  message: string;
46
47
  variant?: 'default' | 'error';
@@ -18,6 +18,73 @@ export type UserConfig = UserBaseConfig & {
18
18
  */
19
19
  externalId?: string;
20
20
  };
21
+ type ThemeOptions = {
22
+ /**
23
+ * @default 'neutral'
24
+ */
25
+ palette?: 'neutral' | 'stone' | 'zinc' | 'slate';
26
+ primaryColor?: string;
27
+ widgetTrigger?: {
28
+ zIndex?: number;
29
+ offset?: {
30
+ /** number in pixels */
31
+ right?: number;
32
+ /** number in pixels */
33
+ bottom?: number;
34
+ };
35
+ size?: {
36
+ /** number in pixels */
37
+ button?: number;
38
+ /** number in pixels */
39
+ icon?: number;
40
+ };
41
+ };
42
+ widgetContentContainer?: {
43
+ zIndex?: number;
44
+ offset?: {
45
+ /** number in pixels */
46
+ side?: number;
47
+ /** number in pixels */
48
+ align?: number;
49
+ };
50
+ outline?: string;
51
+ outlineColor?: string;
52
+ borderRadius?: string;
53
+ boxShadow?: string;
54
+ transitionProperty?: string;
55
+ transitionTimingFunction?: string;
56
+ transitionDuration?: string;
57
+ };
58
+ screens?: {
59
+ welcome?: {
60
+ /**
61
+ * Because the welcome screen can have dynamic content (org description and extra data collection fields), it is better to set a minHeight instead of a fixed height.
62
+ */
63
+ minHeight?: string;
64
+ width?: string;
65
+ };
66
+ sessions?: {
67
+ height?: string;
68
+ width?: string;
69
+ };
70
+ chat?: {
71
+ height?: string;
72
+ width?: string;
73
+ };
74
+ };
75
+ };
76
+ type TextContentOptions = {
77
+ welcomeScreen?: {
78
+ title?: string;
79
+ description?: string;
80
+ };
81
+ sessionsScreen?: {
82
+ headerTitle?: string;
83
+ };
84
+ chatScreen?: {
85
+ headerTitle?: string;
86
+ };
87
+ };
21
88
  export interface WidgetConfig {
22
89
  /**
23
90
  * Your organization's widget token.
@@ -36,11 +103,18 @@ export interface WidgetConfig {
36
103
  */
37
104
  bot?: Pick<AgentOrBotType, 'name' | 'avatar'>;
38
105
  /**
39
- * A custom vanilla stylesheet to override the default styles. See {@link OpenCxComponentName} for available component names.
106
+ * Whether the widget is open or not.
107
+ * Can be used to have the widget open by default (useful when embedded in a webview for a mobile app).
108
+ * Also useful to open and close the widget programmatically.
109
+ * @default false
110
+ */
111
+ isOpen?: boolean;
112
+ /**
113
+ * A custom vanilla stylesheet to override the default styles. See {@link OpenCxComponentNameU} for available component names.
40
114
  *
41
115
  * @example Overriding a component's styles
42
116
  * ```css
43
- * [data-component="sessions-screen__new-conversation-button"] {
117
+ * [data-component="sessions_screen/new_conversation_button"] {
44
118
  * background-color: orangered;
45
119
  * }
46
120
  * ```
@@ -54,59 +128,41 @@ export interface WidgetConfig {
54
128
  * ```
55
129
  */
56
130
  cssOverrides?: string;
57
- theme?: {
58
- primaryColor?: string;
59
- widgetTrigger?: {
60
- zIndex?: number;
61
- offset?: {
62
- /** number in pixels */
63
- right?: number;
64
- /** number in pixels */
65
- bottom?: number;
66
- };
67
- size?: {
68
- /** number in pixels */
69
- button?: number;
70
- /** number in pixels */
71
- icon?: number;
72
- };
73
- };
74
- widgetContentContainer?: {
75
- borderRadius?: string;
76
- zIndex?: number;
77
- offset?: {
78
- /** number in pixels */
79
- side?: number;
80
- /** number in pixels */
81
- align?: number;
82
- };
83
- };
84
- screens?: {
85
- welcome?: {
86
- /**
87
- * Because the welcome screen can have dynamic content (org description and extra data collection fields), it is better to set a minHeight instead of a fixed height.
88
- */
89
- minHeight?: string;
90
- width?: string;
91
- };
92
- sessions?: {
93
- height?: string;
94
- width?: string;
95
- };
96
- chat?: {
97
- height?: string;
98
- width?: string;
99
- };
100
- };
101
- };
131
+ theme?: ThemeOptions;
132
+ /**
133
+ * Assets URLs to be used in the widget.
134
+ */
102
135
  assets?: {
103
136
  organizationLogo?: string;
137
+ widgetTrigger?: {
138
+ openIcon?: string;
139
+ closeIcon?: string;
140
+ };
104
141
  };
105
142
  /**
106
143
  * Initial messages that the contact sees in a new chat session.
107
144
  * These messages will disappear once the contact sends their first message.
145
+ * @default - ['Hello, how can I help you?']
108
146
  */
109
147
  initialMessages?: string[];
148
+ /**
149
+ * Similar to `initialMessages`, but these messages will persist at the top of the chat session.
150
+ * Useful if you want to keep a notice or a privacy policy warning.
151
+ * @default undefined
152
+ */
153
+ persistentInitialMessages?: string[];
154
+ /**
155
+ * Suggested initial questions that the contact sees in a new chat session.
156
+ * If a user clicks on one of the suggested questions, the widget will send it as the user's first message.
157
+ * @default undefined
158
+ * @example - ['What is my account balance?', 'How do I pay my bill?', 'How do I change my address?']
159
+ */
160
+ initialQuestions?: string[];
161
+ /**
162
+ * Where to display the suggested initial questions.
163
+ * @default 'above-chat-input'
164
+ */
165
+ initialQuestionsPosition?: 'above-chat-input' | 'below-initial-messages';
110
166
  /**
111
167
  * If turned on, the widget will have a login-like screen to collect user's name and email.
112
168
  * A non-verified contact will be created based on the provided information.
@@ -142,12 +198,7 @@ export interface WidgetConfig {
142
198
  /**
143
199
  * Custom text content to override the defaults in the default widget.
144
200
  */
145
- textContent?: {
146
- welcomeScreen?: {
147
- title?: string;
148
- description?: string;
149
- };
150
- };
201
+ textContent?: TextContentOptions;
151
202
  /**
152
203
  * Customize the router behavior.
153
204
  */
@@ -1,21 +1,20 @@
1
1
  import { default as React } from 'react';
2
+ import { ExternalStorage, WidgetConfig, WidgetCtx } from '../core';
2
3
  import { ComponentRegistry } from './ComponentRegistry';
3
4
  import { WidgetComponentType } from './types/components';
4
- import { ExternalStorage, WidgetConfig, WidgetCtx } from '../core';
5
5
  interface WidgetProviderValue {
6
6
  widgetCtx: WidgetCtx;
7
+ config: WidgetConfig;
7
8
  components?: WidgetComponentType[];
8
9
  componentStore: ComponentRegistry;
9
- theme: WidgetConfig['theme'];
10
- cssOverrides: WidgetConfig['cssOverrides'];
11
10
  version: string;
12
11
  contentIframeRef?: React.MutableRefObject<HTMLIFrameElement | null>;
13
12
  }
14
- declare const useWidget: () => WidgetProviderValue;
15
- declare function WidgetProvider({ options: config, children, components, storage, }: {
13
+ export declare function WidgetProvider({ options: config, children, components, storage, }: {
16
14
  options: WidgetConfig;
17
15
  children: React.ReactNode;
18
16
  components?: WidgetComponentType[];
19
17
  storage?: ExternalStorage;
20
18
  }): React.JSX.Element | null;
21
- export { useWidget, WidgetProvider };
19
+ export declare function useWidget(): WidgetProviderValue;
20
+ export {};
@@ -3,8 +3,8 @@ type WidgetTriggerCtx = {
3
3
  isOpen: boolean;
4
4
  setIsOpen: Dispatch<SetStateAction<boolean>>;
5
5
  };
6
- export declare const useWidgetTrigger: () => WidgetTriggerCtx, SafeProvider: React.Provider<WidgetTriggerCtx>;
7
6
  export declare function WidgetTriggerProvider({ children }: {
8
7
  children: ReactNode;
9
8
  }): React.JSX.Element;
9
+ export declare function useWidgetTrigger(): WidgetTriggerCtx;
10
10
  export {};
@@ -1,4 +1,4 @@
1
- "use strict";const y=require("react"),Ze=require("react/jsx-runtime"),$t=require("./widget.ctx-DUaeXkNb.cjs"),Gt=require("uuid");class Ht{constructor(t){this.components=[];const{components:n}=t;if(n&&n.forEach(r=>this.register(r)),this.components.length===0)throw new Error("No components registered");if(!this.get("fallback"))throw new Error("No fallback component registered")}register(t){const n=this.components.findIndex(r=>r.key===t.key);return n!==-1?this.components[n]=t:this.components.push(t),this}get(t){const n=this.components.find(r=>r.key.toUpperCase()===t.toUpperCase());return n||null}getComponent(t){var n;return(n=this.get(t))==null?void 0:n.component}}function et(e){const t=y.createContext({});return[()=>{const r=y.useContext(t);if(r===void 0)throw new Error("useSafeContext must be used within a Provider");return r},t.Provider]}const Kt="3.0.73",[K,zt]=et();function kt({options:e,children:t,components:n,storage:r}){const o=y.useRef(null),s=y.useRef(!1),[i,d]=y.useState(null),h=y.useMemo(()=>new Ht({components:n}),[n]);return y.useEffect(()=>{s.current||(s.current=!0,$t.WidgetCtx.initialize({config:e,storage:r}).then(d))},[]),i?Ze.jsx(zt,{value:{widgetCtx:i,components:n,componentStore:h,version:Kt,theme:e.theme,cssOverrides:e.cssOverrides,contentIframeRef:o},children:t}):null}function Yt(){const{widgetCtx:e}=K();return e.config}function ee(e){return y.useSyncExternalStore(e.subscribe,e.get,e.get)}function Jt(){const{widgetCtx:e}=K();return{contactState:ee(e.contactCtx.state),createUnverifiedContact:e.contactCtx.createUnverifiedContact}}function tt(){const{widgetCtx:e}=K();return{messagesState:ee(e.messageCtx.state),sendMessage:e.messageCtx.sendMessage}}function nt(){const{widgetCtx:e}=K(),t=ee(e.sessionCtx.sessionState),n=ee(e.sessionCtx.sessionsState);return{sessionState:t,sessionsState:n,loadMoreSessions:e.sessionCtx.loadMoreSessions}}function Xt(){var i;const{sessionState:e}=nt(),{messagesState:t}=tt(),n=((i=e.session)==null?void 0:i.assignee.kind)==="ai",r=t.messages.length>0?t.messages[t.messages.length-1]:null,o=(r==null?void 0:r.type)==="FROM_USER";return{isAwaitingBotReply:(n||e.isCreatingSession)&&(t.isSendingMessage||o)}}var Qt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function en(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var Re={exports:{}},_e={};/**
1
+ "use strict";const y=require("react"),Ht=require("uuid"),Ze=require("react/jsx-runtime"),Kt=require("./widget.ctx-DUaeXkNb.cjs"),zt="3.0.75";class kt{constructor(t){this.components=[];const{components:n}=t;if(n&&n.forEach(r=>this.register(r)),this.components.length===0)throw new Error("No components registered");if(!this.get("fallback"))throw new Error("No fallback component registered")}register(t){const n=this.components.findIndex(r=>r.key===t.key);return n!==-1?this.components[n]=t:this.components.push(t),this}get(t){const n=this.components.find(r=>r.key.toUpperCase()===t.toUpperCase());return n||null}getComponent(t){var n;return(n=this.get(t))==null?void 0:n.component}}const et=y.createContext(null);function Yt({options:e,children:t,components:n,storage:r}){const o=y.useRef(null),s=y.useRef(!1),[i,d]=y.useState(null),h=y.useMemo(()=>new kt({components:n}),[n]);return y.useEffect(()=>{s.current||(s.current=!0,Kt.WidgetCtx.initialize({config:e,storage:r}).then(d))},[]),i?Ze.jsx(et.Provider,{value:{widgetCtx:i,config:e,components:n,componentStore:h,version:zt,contentIframeRef:o},children:t}):null}function K(){const e=y.useContext(et);if(!e)throw new Error("useWidget must be used within a WidgetProvider");return e}function tt(){const{config:e}=K();return e}function ee(e){return y.useSyncExternalStore(e.subscribe,e.get,e.get)}function Jt(){const{widgetCtx:e}=K();return{contactState:ee(e.contactCtx.state),createUnverifiedContact:e.contactCtx.createUnverifiedContact}}function nt(){const{widgetCtx:e}=K();return{messagesState:ee(e.messageCtx.state),sendMessage:e.messageCtx.sendMessage}}function rt(){const{widgetCtx:e}=K(),t=ee(e.sessionCtx.sessionState),n=ee(e.sessionCtx.sessionsState);return{sessionState:t,sessionsState:n,loadMoreSessions:e.sessionCtx.loadMoreSessions}}function Xt(){var i;const{sessionState:e}=rt(),{messagesState:t}=nt(),n=((i=e.session)==null?void 0:i.assignee.kind)==="ai",r=t.messages.length>0?t.messages[t.messages.length-1]:null,o=(r==null?void 0:r.type)==="FROM_USER";return{isAwaitingBotReply:(n||e.isCreatingSession)&&(t.isSendingMessage||o)}}var Qt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Zt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function en(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var Re={exports:{}},_e={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-shim.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Ke;function tn(){if(Ke)return _e;Ke=1;var e=y;function t(u,l){return u===l&&(u!==0||1/u===1/l)||u!==u&&l!==l}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,i=e.useDebugValue;function d(u,l){var c=l(),_=r({inst:{value:c,getSnapshot:l}}),g=_[0].inst,T=_[1];return s(function(){g.value=c,g.getSnapshot=l,h(g)&&T({inst:g})},[u,c,l]),o(function(){return h(g)&&T({inst:g}),u(function(){h(g)&&T({inst:g})})},[u]),i(c),c}function h(u){var l=u.getSnapshot;u=u.value;try{var c=l();return!n(u,c)}catch{return!0}}function f(u,l){return l()}var a=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:d;return _e.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:a,_e}var ve={};/**
9
+ */var Ke;function tn(){if(Ke)return _e;Ke=1;var e=y;function t(u,l){return u===l&&(u!==0||1/u===1/l)||u!==u&&l!==l}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,s=e.useLayoutEffect,i=e.useDebugValue;function d(u,l){var c=l(),_=r({inst:{value:c,getSnapshot:l}}),g=_[0].inst,C=_[1];return s(function(){g.value=c,g.getSnapshot=l,h(g)&&C({inst:g})},[u,c,l]),o(function(){return h(g)&&C({inst:g}),u(function(){h(g)&&C({inst:g})})},[u]),i(c),c}function h(u){var l=u.getSnapshot;u=u.value;try{var c=l();return!n(u,c)}catch{return!0}}function f(u,l){return l()}var a=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:d;return _e.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:a,_e}var Ee={};/**
10
10
  * @license React
11
11
  * use-sync-external-store-shim.development.js
12
12
  *
@@ -14,5 +14,5 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var ze;function nn(){return ze||(ze=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=y,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(R){{for(var E=arguments.length,w=new Array(E>1?E-1:0),S=1;S<E;S++)w[S-1]=arguments[S];r("error",R,w)}}function r(R,E,w){{var S=t.ReactDebugCurrentFrame,I=S.getStackAddendum();I!==""&&(E+="%s",w=w.concat([I]));var m=w.map(function(D){return String(D)});m.unshift("Warning: "+E),Function.prototype.apply.call(console[R],console,m)}}function o(R,E){return R===E&&(R!==0||1/R===1/E)||R!==R&&E!==E}var s=typeof Object.is=="function"?Object.is:o,i=e.useState,d=e.useEffect,h=e.useLayoutEffect,f=e.useDebugValue,a=!1,u=!1;function l(R,E,w){a||e.startTransition!==void 0&&(a=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var S=E();if(!u){var I=E();s(S,I)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}var m=i({inst:{value:S,getSnapshot:E}}),D=m[0].inst,j=m[1];return h(function(){D.value=S,D.getSnapshot=E,c(D)&&j({inst:D})},[R,S,E]),d(function(){c(D)&&j({inst:D});var B=function(){c(D)&&j({inst:D})};return R(B)},[R]),f(S),S}function c(R){var E=R.getSnapshot,w=R.value;try{var S=E();return!s(w,S)}catch{return!0}}function _(R,E,w){return E()}var g=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",T=!g,p=T?_:l,k=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p;ve.useSyncExternalStore=k,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),ve}process.env.NODE_ENV==="production"?Re.exports=tn():Re.exports=nn();var rn=Re.exports;const G=()=>{},L=G(),Ee=Object,v=e=>e===L,N=e=>typeof e=="function",H=(e,t)=>({...e,...t}),on=e=>N(e.then),ue=new WeakMap;let sn=0;const oe=e=>{const t=typeof e,n=e&&e.constructor,r=n==Date;let o,s;if(Ee(e)===e&&!r&&n!=RegExp){if(o=ue.get(e),o)return o;if(o=++sn+"~",ue.set(e,o),n==Array){for(o="@",s=0;s<e.length;s++)o+=oe(e[s])+",";ue.set(e,o)}if(n==Ee){o="#";const i=Ee.keys(e).sort();for(;!v(s=i.pop());)v(e[s])||(o+=s+":"+oe(e[s])+",");ue.set(e,o)}}else o=r?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return o},q=new WeakMap,Se={},ce={},Le="undefined",pe=typeof window!=Le,Ce=typeof document!=Le,an=()=>pe&&typeof window.requestAnimationFrame!=Le,rt=(e,t)=>{const n=q.get(e);return[()=>!v(t)&&e.get(t)||Se,r=>{if(!v(t)){const o=e.get(t);t in ce||(ce[t]=o),n[5](t,H(o,r),o||Se)}},n[6],()=>!v(t)&&t in ce?ce[t]:!v(t)&&e.get(t)||Se]};let Te=!0;const un=()=>Te,[De,Ae]=pe&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[G,G],cn=()=>{const e=Ce&&document.visibilityState;return v(e)||e!=="hidden"},fn=e=>(Ce&&document.addEventListener("visibilitychange",e),De("focus",e),()=>{Ce&&document.removeEventListener("visibilitychange",e),Ae("focus",e)}),ln=e=>{const t=()=>{Te=!0,e()},n=()=>{Te=!1};return De("online",t),De("offline",n),()=>{Ae("online",t),Ae("offline",n)}},dn={isOnline:un,isVisible:cn},pn={initFocus:fn,initReconnect:ln},ke=!y.useId,se=!pe||"Deno"in window,hn=e=>an()?window.requestAnimationFrame(e):setTimeout(e,1),we=se?y.useEffect:y.useLayoutEffect,me=typeof navigator<"u"&&navigator.connection,Ye=!se&&me&&(["slow-2g","2g"].includes(me.effectiveType)||me.saveData),Ie=e=>{if(N(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?oe(e):"",[e,t]};let gn=0;const xe=()=>++gn,ot=0,st=1,it=2,yn=3;var re={__proto__:null,ERROR_REVALIDATE_EVENT:yn,FOCUS_EVENT:ot,MUTATE_EVENT:it,RECONNECT_EVENT:st};async function at(...e){const[t,n,r,o]=e,s=H({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{});let i=s.populateCache;const d=s.rollbackOnError;let h=s.optimisticData;const f=l=>typeof d=="function"?d(l):d!==!1,a=s.throwOnError;if(N(n)){const l=n,c=[],_=t.keys();for(const g of _)!/^\$(inf|sub)\$/.test(g)&&l(t.get(g)._k)&&c.push(g);return Promise.all(c.map(u))}return u(n);async function u(l){const[c]=Ie(l);if(!c)return;const[_,g]=rt(t,c),[T,p,k,R]=q.get(t),E=()=>{const M=T[c];return(N(s.revalidate)?s.revalidate(_().data,l):s.revalidate!==!1)&&(delete k[c],delete R[c],M&&M[0])?M[0](it).then(()=>_().data):_().data};if(e.length<3)return E();let w=r,S;const I=xe();p[c]=[I,0];const m=!v(h),D=_(),j=D.data,B=D._c,z=v(B)?j:B;if(m&&(h=N(h)?h(z,j):h,g({data:h,_c:z})),N(w))try{w=w(z)}catch(M){S=M}if(w&&on(w))if(w=await w.catch(M=>{S=M}),I!==p[c][0]){if(S)throw S;return w}else S&&m&&f(S)&&(i=!0,g({data:z,_c:L}));if(i&&!S)if(N(i)){const M=i(w,z);g({data:M,error:L,_c:L})}else g({data:w,error:L,_c:L});if(p[c][1]=xe(),Promise.resolve(E()).then(()=>{g({_c:L})}),S){if(a)throw S;return}return w}}const Je=(e,t)=>{for(const n in e)e[n][0]&&e[n][0](t)},_n=(e,t)=>{if(!q.has(e)){const n=H(pn,t),r={},o=at.bind(L,e);let s=G;const i={},d=(a,u)=>{const l=i[a]||[];return i[a]=l,l.push(u),()=>l.splice(l.indexOf(u),1)},h=(a,u,l)=>{e.set(a,u);const c=i[a];if(c)for(const _ of c)_(u,l)},f=()=>{if(!q.has(e)&&(q.set(e,[r,{},{},{},o,h,d]),!se)){const a=n.initFocus(setTimeout.bind(L,Je.bind(L,r,ot))),u=n.initReconnect(setTimeout.bind(L,Je.bind(L,r,st)));s=()=>{a&&a(),u&&u(),q.delete(e)}}};return f(),[e,o,f,s]}return[e,q.get(e)[4]]},vn=(e,t,n,r,o)=>{const s=n.errorRetryCount,i=o.retryCount,d=~~((Math.random()+.5)*(1<<(i<8?i:8)))*n.errorRetryInterval;!v(s)&&i>s||setTimeout(r,d,o)},En=(e,t)=>oe(e)==oe(t),[ut,Sn]=_n(new Map),wn=H({onLoadingSlow:G,onSuccess:G,onError:G,onErrorRetry:vn,onDiscarded:G,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Ye?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Ye?5e3:3e3,compare:En,isPaused:()=>!1,cache:ut,mutate:Sn,fallback:{}},dn),mn=(e,t)=>{const n=H(e,t);if(t){const{use:r,fallback:o}=e,{use:s,fallback:i}=t;r&&s&&(n.use=r.concat(s)),o&&i&&(n.fallback=H(o,i))}return n},bn=y.createContext({}),On="$inf$",ct=pe&&window.__SWR_DEVTOOLS_USE__,Rn=ct?window.__SWR_DEVTOOLS_USE__:[],Cn=()=>{ct&&(window.__SWR_DEVTOOLS_REACT__=y)},Tn=e=>N(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],Dn=()=>H(wn,y.useContext(bn)),An=e=>(t,n,r)=>e(t,n&&((...s)=>{const[i]=Ie(t),[,,,d]=q.get(ut);if(i.startsWith(On))return n(...s);const h=d[i];return v(h)?n(...s):(delete d[i],h)}),r),xn=Rn.concat(An),Pn=e=>function(...n){const r=Dn(),[o,s,i]=Tn(n),d=mn(r,i);let h=e;const{use:f}=d,a=(f||[]).concat(xn);for(let u=a.length;u--;)h=a[u](h);return h(o,s||d.fetcher||null,d)},jn=(e,t,n)=>{const r=t[e]||(t[e]=[]);return r.push(n),()=>{const o=r.indexOf(n);o>=0&&(r[o]=r[r.length-1],r.pop())}};Cn();const Xe=y.use||(e=>{if(e.status==="pending")throw e;if(e.status==="fulfilled")return e.value;throw e.status==="rejected"?e.reason:(e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e)}),be={dedupe:!0},Ln=(e,t,n)=>{const{cache:r,compare:o,suspense:s,fallbackData:i,revalidateOnMount:d,revalidateIfStale:h,refreshInterval:f,refreshWhenHidden:a,refreshWhenOffline:u,keepPreviousData:l}=n,[c,_,g,T]=q.get(r),[p,k]=Ie(e),R=y.useRef(!1),E=y.useRef(!1),w=y.useRef(p),S=y.useRef(t),I=y.useRef(n),m=()=>I.current,D=()=>m().isVisible()&&m().isOnline(),[j,B,z,M]=rt(r,p),Y=y.useRef({}).current,Nt=v(i)?n.fallback[p]:i,Me=(b,O)=>{for(const x in Y){const C=x;if(C==="data"){if(!o(b[C],O[C])&&(!v(b[C])||!o(ae,O[C])))return!1}else if(O[C]!==b[C])return!1}return!0},Fe=y.useMemo(()=>{const b=!p||!t?!1:v(d)?m().isPaused()||s?!1:v(h)?!0:h:d,O=P=>{const U=H(P);return delete U._k,b?{isValidating:!0,isLoading:!0,...U}:U},x=j(),C=M(),F=O(x),Z=x===C?F:O(C);let A=F;return[()=>{const P=O(j());return Me(P,A)?(A.data=P.data,A.isLoading=P.isLoading,A.isValidating=P.isValidating,A.error=P.error,A):(A=P,P)},()=>Z]},[r,p]),J=rn.useSyncExternalStore(y.useCallback(b=>z(p,(O,x)=>{Me(x,O)||b()}),[r,p]),Fe[0],Fe[1]),Ne=!R.current,Ut=c[p]&&c[p].length>0,X=J.data,Q=v(X)?Nt:X,ie=J.error,Ue=y.useRef(Q),ae=l?v(X)?Ue.current:X:Q,We=Ut&&!v(ie)?!1:Ne&&!v(d)?d:m().isPaused()?!1:s?v(Q)?!1:h:v(Q)||h,qe=!!(p&&t&&Ne&&We),Wt=v(J.isValidating)?qe:J.isValidating,qt=v(J.isLoading)?qe:J.isLoading,ne=y.useCallback(async b=>{const O=S.current;if(!p||!O||E.current||m().isPaused())return!1;let x,C,F=!0;const Z=b||{},A=!g[p]||!Z.dedupe,P=()=>ke?!E.current&&p===w.current&&R.current:p===w.current,U={isValidating:!1,isLoading:!1},$e=()=>{B(U)},Ge=()=>{const V=g[p];V&&V[1]===C&&delete g[p]},He={isValidating:!0};v(j().data)&&(He.isLoading=!0);try{if(A&&(B(He),n.loadingTimeout&&v(j().data)&&setTimeout(()=>{F&&P()&&m().onLoadingSlow(p,n)},n.loadingTimeout),g[p]=[O(k),xe()]),[x,C]=g[p],x=await x,A&&setTimeout(Ge,n.dedupingInterval),!g[p]||g[p][1]!==C)return A&&P()&&m().onDiscarded(p),!1;U.error=L;const V=_[p];if(!v(V)&&(C<=V[0]||C<=V[1]||V[1]===0))return $e(),A&&P()&&m().onDiscarded(p),!1;const W=j().data;U.data=o(W,x)?W:x,A&&P()&&m().onSuccess(x,p,n)}catch(V){Ge();const W=m(),{shouldRetryOnError:ge}=W;W.isPaused()||(U.error=V,A&&P()&&(W.onError(V,p,W),(ge===!0||N(ge)&&ge(V))&&(!m().revalidateOnFocus||!m().revalidateOnReconnect||D())&&W.onErrorRetry(V,p,W,Bt=>{const ye=c[p];ye&&ye[0]&&ye[0](re.ERROR_REVALIDATE_EVENT,Bt)},{retryCount:(Z.retryCount||0)+1,dedupe:!0})))}return F=!1,$e(),!0},[p,r]),Be=y.useCallback((...b)=>at(r,w.current,...b),[]);if(we(()=>{S.current=t,I.current=n,v(X)||(Ue.current=X)}),we(()=>{if(!p)return;const b=ne.bind(L,be);let O=0;const C=jn(p,c,(F,Z={})=>{if(F==re.FOCUS_EVENT){const A=Date.now();m().revalidateOnFocus&&A>O&&D()&&(O=A+m().focusThrottleInterval,b())}else if(F==re.RECONNECT_EVENT)m().revalidateOnReconnect&&D()&&b();else{if(F==re.MUTATE_EVENT)return ne();if(F==re.ERROR_REVALIDATE_EVENT)return ne(Z)}});return E.current=!1,w.current=p,R.current=!0,B({_k:k}),We&&(v(Q)||se?b():hn(b)),()=>{E.current=!0,C()}},[p]),we(()=>{let b;function O(){const C=N(f)?f(j().data):f;C&&b!==-1&&(b=setTimeout(x,C))}function x(){!j().error&&(a||m().isVisible())&&(u||m().isOnline())?ne(be).then(O):O()}return O(),()=>{b&&(clearTimeout(b),b=-1)}},[f,a,u,p]),y.useDebugValue(ae),s&&v(Q)&&p){if(!ke&&se)throw new Error("Fallback data is required when using suspense in SSR.");S.current=t,I.current=n,E.current=!1;const b=T[p];if(!v(b)){const O=Be(b);Xe(O)}if(v(ie)){const O=ne(be);v(ae)||(O.status="fulfilled",O.value=!0),Xe(O)}else throw ie}return{mutate:Be,get data(){return Y.data=!0,ae},get error(){return Y.error=!0,ie},get isValidating(){return Y.isValidating=!0,Wt},get isLoading(){return Y.isLoading=!0,qt}}},In=Pn(Ln);function Vn(){const{widgetCtx:e}=K();return In([e.config.token],e.api.widgetPrelude,{revalidateOnFocus:!1})}function Mn(){const{widgetCtx:e}=K();return{routerState:ee(e.routerCtx.state),toSessionsScreen:e.routerCtx.toSessionsScreen,toChatScreen:e.routerCtx.toChatScreen}}var ft={},Pe=function(e,t){return Pe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])},Pe(e,t)};function lt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Pe(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var le=function(){return le=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},le.apply(this,arguments)};function dt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function pt(e,t,n,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,r);else for(var d=e.length-1;d>=0;d--)(i=e[d])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function ht(e,t){return function(n,r){t(n,r,e)}}function gt(e,t,n,r,o,s){function i(p){if(p!==void 0&&typeof p!="function")throw new TypeError("Function expected");return p}for(var d=r.kind,h=d==="getter"?"get":d==="setter"?"set":"value",f=!t&&e?r.static?e:e.prototype:null,a=t||(f?Object.getOwnPropertyDescriptor(f,r.name):{}),u,l=!1,c=n.length-1;c>=0;c--){var _={};for(var g in r)_[g]=g==="access"?{}:r[g];for(var g in r.access)_.access[g]=r.access[g];_.addInitializer=function(p){if(l)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(p||null))};var T=(0,n[c])(d==="accessor"?{get:a.get,set:a.set}:a[h],_);if(d==="accessor"){if(T===void 0)continue;if(T===null||typeof T!="object")throw new TypeError("Object expected");(u=i(T.get))&&(a.get=u),(u=i(T.set))&&(a.set=u),(u=i(T.init))&&o.unshift(u)}else(u=i(T))&&(d==="field"?o.unshift(u):a[h]=u)}f&&Object.defineProperty(f,r.name,a),l=!0}function yt(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function _t(e){return typeof e=="symbol"?e:"".concat(e)}function vt(e,t,n){return typeof t=="symbol"&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function Et(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function St(e,t,n,r){function o(s){return s instanceof n?s:new n(function(i){i(s)})}return new(n||(n=Promise))(function(s,i){function d(a){try{f(r.next(a))}catch(u){i(u)}}function h(a){try{f(r.throw(a))}catch(u){i(u)}}function f(a){a.done?s(a.value):o(a.value).then(d,h)}f((r=r.apply(e,t||[])).next())})}function wt(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=d(0),i.throw=d(1),i.return=d(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function d(f){return function(a){return h([f,a])}}function h(f){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,f[0]&&(n=0)),n;)try{if(r=1,o&&(s=f[0]&2?o.return:f[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,f[1])).done)return s;switch(o=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,o=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]<s[3])){n.label=f[1];break}if(f[0]===6&&n.label<s[1]){n.label=s[1],s=f;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(f);break}s[2]&&n.ops.pop(),n.trys.pop();continue}f=t.call(e,n)}catch(a){f=[6,a],o=0}finally{r=s=0}if(f[0]&5)throw f[1];return{value:f[0]?f[1]:void 0,done:!0}}}var he=Object.create?function(e,t,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]};function mt(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&he(t,e,n)}function de(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ve(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(d){i={error:d}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function bt(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Ve(arguments[t]));return e}function Ot(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),o=0,t=0;t<n;t++)for(var s=arguments[t],i=0,d=s.length;i<d;i++,o++)r[o]=s[i];return r}function Rt(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return e.concat(s||Array.prototype.slice.call(t))}function te(e){return this instanceof te?(this.v=e,this):new te(e)}function Ct(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),d("next"),d("throw"),d("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(c){return function(_){return Promise.resolve(_).then(c,u)}}function d(c,_){r[c]&&(o[c]=function(g){return new Promise(function(T,p){s.push([c,g,T,p])>1||h(c,g)})},_&&(o[c]=_(o[c])))}function h(c,_){try{f(r[c](_))}catch(g){l(s[0][3],g)}}function f(c){c.value instanceof te?Promise.resolve(c.value.v).then(a,u):l(s[0][2],c)}function a(c){h("next",c)}function u(c){h("throw",c)}function l(c,_){c(_),s.shift(),s.length&&h(s[0][0],s[0][1])}}function Tt(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,s){t[o]=e[o]?function(i){return(n=!n)?{value:te(e[o](i)),done:!1}:s?s(i):i}:s}}function Dt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof de=="function"?de(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(i){return new Promise(function(d,h){i=e[s](i),o(d,h,i.done,i.value)})}}function o(s,i,d,h){Promise.resolve(h).then(function(f){s({value:f,done:d})},i)}}function At(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var Fn=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function xt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&he(t,e,n);return Fn(t,e),t}function Pt(e){return e&&e.__esModule?e:{default:e}}function jt(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function Lt(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n}function It(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function Vt(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Nn=typeof SuppressedError=="function"?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Mt(e){function t(s){e.error=e.hasError?new Nn(s,e.error,"An error was suppressed during disposal."):s,e.hasError=!0}var n,r=0;function o(){for(;n=e.stack.pop();)try{if(!n.async&&r===1)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(o,function(i){return t(i),o()})}else r|=1}catch(i){t(i)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return o()}function Ft(e,t){return typeof e=="string"&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,r,o,s,i){return r?t?".jsx":".js":o&&(!s||!i)?n:o+s+"."+i.toLowerCase()+"js"}):e}const Un={__extends:lt,__assign:le,__rest:dt,__decorate:pt,__param:ht,__esDecorate:gt,__runInitializers:yt,__propKey:_t,__setFunctionName:vt,__metadata:Et,__awaiter:St,__generator:wt,__createBinding:he,__exportStar:mt,__values:de,__read:Ve,__spread:bt,__spreadArrays:Ot,__spreadArray:Rt,__await:te,__asyncGenerator:Ct,__asyncDelegator:Tt,__asyncValues:Dt,__makeTemplateObject:At,__importStar:xt,__importDefault:Pt,__classPrivateFieldGet:jt,__classPrivateFieldSet:Lt,__classPrivateFieldIn:It,__addDisposableResource:Vt,__disposeResources:Mt,__rewriteRelativeImportExtension:Ft},Wn=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Vt,get __assign(){return le},__asyncDelegator:Tt,__asyncGenerator:Ct,__asyncValues:Dt,__await:te,__awaiter:St,__classPrivateFieldGet:jt,__classPrivateFieldIn:It,__classPrivateFieldSet:Lt,__createBinding:he,__decorate:pt,__disposeResources:Mt,__esDecorate:gt,__exportStar:mt,__extends:lt,__generator:wt,__importDefault:Pt,__importStar:xt,__makeTemplateObject:At,__metadata:Et,__param:ht,__propKey:_t,__read:Ve,__rest:dt,__rewriteRelativeImportExtension:Ft,__runInitializers:yt,__setFunctionName:vt,__spread:bt,__spreadArray:Rt,__spreadArrays:Ot,__values:de,default:Un},Symbol.toStringTag,{value:"Module"})),qn=en(Wn);var fe={},Qe;function Bn(){if(Qe)return fe;Qe=1,Object.defineProperty(fe,"__esModule",{value:!0});var e=y;function t(){var n=e.useRef(!1),r=e.useCallback(function(){return n.current},[]);return e.useEffect(function(){return n.current=!0,function(){n.current=!1}},[]),r}return fe.default=t,fe}Object.defineProperty(ft,"__esModule",{value:!0});var je=qn,Oe=y,$n=je.__importDefault(Bn());function Gn(e,t,n){t===void 0&&(t=[]),n===void 0&&(n={loading:!1});var r=Oe.useRef(0),o=$n.default(),s=Oe.useState(n),i=s[0],d=s[1],h=Oe.useCallback(function(){for(var f=[],a=0;a<arguments.length;a++)f[a]=arguments[a];var u=++r.current;return i.loading||d(function(l){return je.__assign(je.__assign({},l),{loading:!0})}),e.apply(void 0,f).then(function(l){return o()&&u===r.current&&d({value:l,loading:!1}),l},function(l){return o()&&u===r.current&&d({error:l,loading:!1}),l})},t);return[i,h]}var Hn=ft.default=Gn;const $=new Map;function Kn(){const[e,t]=y.useState([]),{widgetCtx:{api:n}}=K();function r(a){const u=a.map(l=>({file:l,id:Gt.v4(),status:"pending",progress:0}));t(l=>[...l,...u]),u.forEach(i)}function o(a,u){t(l=>l.map(c=>c.id===a?{...c,...u}:c))}function s(a){t(u=>u.filter(l=>l.id!==a))}const i=async a=>{const u=new AbortController;$.set(a.id,u);try{t(c=>c.map(_=>_.id===a.id?{..._,status:"uploading",progress:0}:_));const l=await n.uploadFile({file:a.file,abortSignal:u.signal,onProgress:c=>{o(a.id,{progress:c})}});o(a.id,{status:"success",fileUrl:l.fileUrl,progress:100})}catch(l){u.signal.aborted||o(a.id,{status:"error",error:l instanceof Error?l.message:"Upload failed",progress:0})}finally{$.delete(a.id)}},d=a=>{const u=$.get(a);u&&(u.abort(),$.delete(a)),s(a)},h=y.useMemo(()=>e.filter(a=>a.status==="success"&&a.fileUrl),[e]);function f(){$.forEach(a=>a.abort()),$.clear(),t([])}return y.useEffect(()=>()=>{$.forEach(a=>a.abort()),$.clear()},[]),{allFiles:e,appendFiles:r,handleCancelUpload:d,successFiles:h,emptyTheFiles:f,getFileById:a=>e.find(u=>u.id===a),getUploadProgress:a=>{var u;return((u=e.find(l=>l.id===a))==null?void 0:u.progress)??0},getUploadStatus:a=>{var u;return(u=e.find(l=>l.id===a))==null?void 0:u.status},hasErrors:e.some(a=>a.status==="error"),isUploading:e.some(a=>a.status==="uploading")}}const[zn,kn]=et();function Yn({children:e}){const[t,n]=y.useState(!1);return Ze.jsx(kn,{value:{isOpen:t,setIsOpen:n},children:e})}exports.WidgetProvider=kt;exports.WidgetTriggerProvider=Yn;exports._default=Hn;exports.commonjsGlobal=Qt;exports.getDefaultExportFromCjs=Zt;exports.useConfig=Yt;exports.useContact=Jt;exports.useIsAwaitingBotReply=Xt;exports.useMessages=tt;exports.usePreludeData=Vn;exports.usePrimitiveState=ee;exports.useSessions=nt;exports.useUploadFiles=Kn;exports.useWidget=K;exports.useWidgetRouter=Mn;exports.useWidgetTrigger=zn;
18
- //# sourceMappingURL=useWidgetTrigger-CPu_9xm8.cjs.map
17
+ */var ze;function nn(){return ze||(ze=1,process.env.NODE_ENV!=="production"&&function(){typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error);var e=y,t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function n(R){{for(var v=arguments.length,w=new Array(v>1?v-1:0),S=1;S<v;S++)w[S-1]=arguments[S];r("error",R,w)}}function r(R,v,w){{var S=t.ReactDebugCurrentFrame,I=S.getStackAddendum();I!==""&&(v+="%s",w=w.concat([I]));var m=w.map(function(D){return String(D)});m.unshift("Warning: "+v),Function.prototype.apply.call(console[R],console,m)}}function o(R,v){return R===v&&(R!==0||1/R===1/v)||R!==R&&v!==v}var s=typeof Object.is=="function"?Object.is:o,i=e.useState,d=e.useEffect,h=e.useLayoutEffect,f=e.useDebugValue,a=!1,u=!1;function l(R,v,w){a||e.startTransition!==void 0&&(a=!0,n("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var S=v();if(!u){var I=v();s(S,I)||(n("The result of getSnapshot should be cached to avoid an infinite loop"),u=!0)}var m=i({inst:{value:S,getSnapshot:v}}),D=m[0].inst,j=m[1];return h(function(){D.value=S,D.getSnapshot=v,c(D)&&j({inst:D})},[R,S,v]),d(function(){c(D)&&j({inst:D});var B=function(){c(D)&&j({inst:D})};return R(B)},[R]),f(S),S}function c(R){var v=R.getSnapshot,w=R.value;try{var S=v();return!s(w,S)}catch{return!0}}function _(R,v,w){return v()}var g=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",C=!g,p=C?_:l,k=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p;Ee.useSyncExternalStore=k,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error)}()),Ee}process.env.NODE_ENV==="production"?Re.exports=tn():Re.exports=nn();var rn=Re.exports;const G=()=>{},L=G(),ve=Object,E=e=>e===L,N=e=>typeof e=="function",H=(e,t)=>({...e,...t}),on=e=>N(e.then),ue=new WeakMap;let sn=0;const oe=e=>{const t=typeof e,n=e&&e.constructor,r=n==Date;let o,s;if(ve(e)===e&&!r&&n!=RegExp){if(o=ue.get(e),o)return o;if(o=++sn+"~",ue.set(e,o),n==Array){for(o="@",s=0;s<e.length;s++)o+=oe(e[s])+",";ue.set(e,o)}if(n==ve){o="#";const i=ve.keys(e).sort();for(;!E(s=i.pop());)E(e[s])||(o+=s+":"+oe(e[s])+",");ue.set(e,o)}}else o=r?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return o},q=new WeakMap,Se={},ce={},Le="undefined",pe=typeof window!=Le,Te=typeof document!=Le,an=()=>pe&&typeof window.requestAnimationFrame!=Le,ot=(e,t)=>{const n=q.get(e);return[()=>!E(t)&&e.get(t)||Se,r=>{if(!E(t)){const o=e.get(t);t in ce||(ce[t]=o),n[5](t,H(o,r),o||Se)}},n[6],()=>!E(t)&&t in ce?ce[t]:!E(t)&&e.get(t)||Se]};let Ce=!0;const un=()=>Ce,[De,Ae]=pe&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[G,G],cn=()=>{const e=Te&&document.visibilityState;return E(e)||e!=="hidden"},fn=e=>(Te&&document.addEventListener("visibilitychange",e),De("focus",e),()=>{Te&&document.removeEventListener("visibilitychange",e),Ae("focus",e)}),ln=e=>{const t=()=>{Ce=!0,e()},n=()=>{Ce=!1};return De("online",t),De("offline",n),()=>{Ae("online",t),Ae("offline",n)}},dn={isOnline:un,isVisible:cn},pn={initFocus:fn,initReconnect:ln},ke=!y.useId,se=!pe||"Deno"in window,hn=e=>an()?window.requestAnimationFrame(e):setTimeout(e,1),we=se?y.useEffect:y.useLayoutEffect,me=typeof navigator<"u"&&navigator.connection,Ye=!se&&me&&(["slow-2g","2g"].includes(me.effectiveType)||me.saveData),Ie=e=>{if(N(e))try{e=e()}catch{e=""}const t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?oe(e):"",[e,t]};let gn=0;const xe=()=>++gn,st=0,it=1,at=2,yn=3;var re={__proto__:null,ERROR_REVALIDATE_EVENT:yn,FOCUS_EVENT:st,MUTATE_EVENT:at,RECONNECT_EVENT:it};async function ut(...e){const[t,n,r,o]=e,s=H({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{});let i=s.populateCache;const d=s.rollbackOnError;let h=s.optimisticData;const f=l=>typeof d=="function"?d(l):d!==!1,a=s.throwOnError;if(N(n)){const l=n,c=[],_=t.keys();for(const g of _)!/^\$(inf|sub)\$/.test(g)&&l(t.get(g)._k)&&c.push(g);return Promise.all(c.map(u))}return u(n);async function u(l){const[c]=Ie(l);if(!c)return;const[_,g]=ot(t,c),[C,p,k,R]=q.get(t),v=()=>{const M=C[c];return(N(s.revalidate)?s.revalidate(_().data,l):s.revalidate!==!1)&&(delete k[c],delete R[c],M&&M[0])?M[0](at).then(()=>_().data):_().data};if(e.length<3)return v();let w=r,S;const I=xe();p[c]=[I,0];const m=!E(h),D=_(),j=D.data,B=D._c,z=E(B)?j:B;if(m&&(h=N(h)?h(z,j):h,g({data:h,_c:z})),N(w))try{w=w(z)}catch(M){S=M}if(w&&on(w))if(w=await w.catch(M=>{S=M}),I!==p[c][0]){if(S)throw S;return w}else S&&m&&f(S)&&(i=!0,g({data:z,_c:L}));if(i&&!S)if(N(i)){const M=i(w,z);g({data:M,error:L,_c:L})}else g({data:w,error:L,_c:L});if(p[c][1]=xe(),Promise.resolve(v()).then(()=>{g({_c:L})}),S){if(a)throw S;return}return w}}const Je=(e,t)=>{for(const n in e)e[n][0]&&e[n][0](t)},_n=(e,t)=>{if(!q.has(e)){const n=H(pn,t),r={},o=ut.bind(L,e);let s=G;const i={},d=(a,u)=>{const l=i[a]||[];return i[a]=l,l.push(u),()=>l.splice(l.indexOf(u),1)},h=(a,u,l)=>{e.set(a,u);const c=i[a];if(c)for(const _ of c)_(u,l)},f=()=>{if(!q.has(e)&&(q.set(e,[r,{},{},{},o,h,d]),!se)){const a=n.initFocus(setTimeout.bind(L,Je.bind(L,r,st))),u=n.initReconnect(setTimeout.bind(L,Je.bind(L,r,it)));s=()=>{a&&a(),u&&u(),q.delete(e)}}};return f(),[e,o,f,s]}return[e,q.get(e)[4]]},En=(e,t,n,r,o)=>{const s=n.errorRetryCount,i=o.retryCount,d=~~((Math.random()+.5)*(1<<(i<8?i:8)))*n.errorRetryInterval;!E(s)&&i>s||setTimeout(r,d,o)},vn=(e,t)=>oe(e)==oe(t),[ct,Sn]=_n(new Map),wn=H({onLoadingSlow:G,onSuccess:G,onError:G,onErrorRetry:En,onDiscarded:G,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Ye?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Ye?5e3:3e3,compare:vn,isPaused:()=>!1,cache:ct,mutate:Sn,fallback:{}},dn),mn=(e,t)=>{const n=H(e,t);if(t){const{use:r,fallback:o}=e,{use:s,fallback:i}=t;r&&s&&(n.use=r.concat(s)),o&&i&&(n.fallback=H(o,i))}return n},bn=y.createContext({}),On="$inf$",ft=pe&&window.__SWR_DEVTOOLS_USE__,Rn=ft?window.__SWR_DEVTOOLS_USE__:[],Tn=()=>{ft&&(window.__SWR_DEVTOOLS_REACT__=y)},Cn=e=>N(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],Dn=()=>H(wn,y.useContext(bn)),An=e=>(t,n,r)=>e(t,n&&((...s)=>{const[i]=Ie(t),[,,,d]=q.get(ct);if(i.startsWith(On))return n(...s);const h=d[i];return E(h)?n(...s):(delete d[i],h)}),r),xn=Rn.concat(An),Pn=e=>function(...n){const r=Dn(),[o,s,i]=Cn(n),d=mn(r,i);let h=e;const{use:f}=d,a=(f||[]).concat(xn);for(let u=a.length;u--;)h=a[u](h);return h(o,s||d.fetcher||null,d)},jn=(e,t,n)=>{const r=t[e]||(t[e]=[]);return r.push(n),()=>{const o=r.indexOf(n);o>=0&&(r[o]=r[r.length-1],r.pop())}};Tn();const Xe=y.use||(e=>{if(e.status==="pending")throw e;if(e.status==="fulfilled")return e.value;throw e.status==="rejected"?e.reason:(e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e)}),be={dedupe:!0},Ln=(e,t,n)=>{const{cache:r,compare:o,suspense:s,fallbackData:i,revalidateOnMount:d,revalidateIfStale:h,refreshInterval:f,refreshWhenHidden:a,refreshWhenOffline:u,keepPreviousData:l}=n,[c,_,g,C]=q.get(r),[p,k]=Ie(e),R=y.useRef(!1),v=y.useRef(!1),w=y.useRef(p),S=y.useRef(t),I=y.useRef(n),m=()=>I.current,D=()=>m().isVisible()&&m().isOnline(),[j,B,z,M]=ot(r,p),Y=y.useRef({}).current,Wt=E(i)?n.fallback[p]:i,Me=(b,O)=>{for(const x in Y){const T=x;if(T==="data"){if(!o(b[T],O[T])&&(!E(b[T])||!o(ae,O[T])))return!1}else if(O[T]!==b[T])return!1}return!0},Fe=y.useMemo(()=>{const b=!p||!t?!1:E(d)?m().isPaused()||s?!1:E(h)?!0:h:d,O=P=>{const U=H(P);return delete U._k,b?{isValidating:!0,isLoading:!0,...U}:U},x=j(),T=M(),F=O(x),Z=x===T?F:O(T);let A=F;return[()=>{const P=O(j());return Me(P,A)?(A.data=P.data,A.isLoading=P.isLoading,A.isValidating=P.isValidating,A.error=P.error,A):(A=P,P)},()=>Z]},[r,p]),J=rn.useSyncExternalStore(y.useCallback(b=>z(p,(O,x)=>{Me(x,O)||b()}),[r,p]),Fe[0],Fe[1]),Ne=!R.current,qt=c[p]&&c[p].length>0,X=J.data,Q=E(X)?Wt:X,ie=J.error,Ue=y.useRef(Q),ae=l?E(X)?Ue.current:X:Q,We=qt&&!E(ie)?!1:Ne&&!E(d)?d:m().isPaused()?!1:s?E(Q)?!1:h:E(Q)||h,qe=!!(p&&t&&Ne&&We),Bt=E(J.isValidating)?qe:J.isValidating,$t=E(J.isLoading)?qe:J.isLoading,ne=y.useCallback(async b=>{const O=S.current;if(!p||!O||v.current||m().isPaused())return!1;let x,T,F=!0;const Z=b||{},A=!g[p]||!Z.dedupe,P=()=>ke?!v.current&&p===w.current&&R.current:p===w.current,U={isValidating:!1,isLoading:!1},$e=()=>{B(U)},Ge=()=>{const V=g[p];V&&V[1]===T&&delete g[p]},He={isValidating:!0};E(j().data)&&(He.isLoading=!0);try{if(A&&(B(He),n.loadingTimeout&&E(j().data)&&setTimeout(()=>{F&&P()&&m().onLoadingSlow(p,n)},n.loadingTimeout),g[p]=[O(k),xe()]),[x,T]=g[p],x=await x,A&&setTimeout(Ge,n.dedupingInterval),!g[p]||g[p][1]!==T)return A&&P()&&m().onDiscarded(p),!1;U.error=L;const V=_[p];if(!E(V)&&(T<=V[0]||T<=V[1]||V[1]===0))return $e(),A&&P()&&m().onDiscarded(p),!1;const W=j().data;U.data=o(W,x)?W:x,A&&P()&&m().onSuccess(x,p,n)}catch(V){Ge();const W=m(),{shouldRetryOnError:ge}=W;W.isPaused()||(U.error=V,A&&P()&&(W.onError(V,p,W),(ge===!0||N(ge)&&ge(V))&&(!m().revalidateOnFocus||!m().revalidateOnReconnect||D())&&W.onErrorRetry(V,p,W,Gt=>{const ye=c[p];ye&&ye[0]&&ye[0](re.ERROR_REVALIDATE_EVENT,Gt)},{retryCount:(Z.retryCount||0)+1,dedupe:!0})))}return F=!1,$e(),!0},[p,r]),Be=y.useCallback((...b)=>ut(r,w.current,...b),[]);if(we(()=>{S.current=t,I.current=n,E(X)||(Ue.current=X)}),we(()=>{if(!p)return;const b=ne.bind(L,be);let O=0;const T=jn(p,c,(F,Z={})=>{if(F==re.FOCUS_EVENT){const A=Date.now();m().revalidateOnFocus&&A>O&&D()&&(O=A+m().focusThrottleInterval,b())}else if(F==re.RECONNECT_EVENT)m().revalidateOnReconnect&&D()&&b();else{if(F==re.MUTATE_EVENT)return ne();if(F==re.ERROR_REVALIDATE_EVENT)return ne(Z)}});return v.current=!1,w.current=p,R.current=!0,B({_k:k}),We&&(E(Q)||se?b():hn(b)),()=>{v.current=!0,T()}},[p]),we(()=>{let b;function O(){const T=N(f)?f(j().data):f;T&&b!==-1&&(b=setTimeout(x,T))}function x(){!j().error&&(a||m().isVisible())&&(u||m().isOnline())?ne(be).then(O):O()}return O(),()=>{b&&(clearTimeout(b),b=-1)}},[f,a,u,p]),y.useDebugValue(ae),s&&E(Q)&&p){if(!ke&&se)throw new Error("Fallback data is required when using suspense in SSR.");S.current=t,I.current=n,v.current=!1;const b=C[p];if(!E(b)){const O=Be(b);Xe(O)}if(E(ie)){const O=ne(be);E(ae)||(O.status="fulfilled",O.value=!0),Xe(O)}else throw ie}return{mutate:Be,get data(){return Y.data=!0,ae},get error(){return Y.error=!0,ie},get isValidating(){return Y.isValidating=!0,Bt},get isLoading(){return Y.isLoading=!0,$t}}},In=Pn(Ln);function Vn(){const{widgetCtx:e}=K();return In([e.config.token],e.api.widgetPrelude,{revalidateOnFocus:!1})}function Mn(){const{widgetCtx:e}=K();return{routerState:ee(e.routerCtx.state),toSessionsScreen:e.routerCtx.toSessionsScreen,toChatScreen:e.routerCtx.toChatScreen}}var lt={},Pe=function(e,t){return Pe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[o]=r[o])},Pe(e,t)};function dt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Pe(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var le=function(){return le=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])}return t},le.apply(this,arguments)};function pt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function ht(e,t,n,r){var o=arguments.length,s=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,i;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,r);else for(var d=e.length-1;d>=0;d--)(i=e[d])&&(s=(o<3?i(s):o>3?i(t,n,s):i(t,n))||s);return o>3&&s&&Object.defineProperty(t,n,s),s}function gt(e,t){return function(n,r){t(n,r,e)}}function yt(e,t,n,r,o,s){function i(p){if(p!==void 0&&typeof p!="function")throw new TypeError("Function expected");return p}for(var d=r.kind,h=d==="getter"?"get":d==="setter"?"set":"value",f=!t&&e?r.static?e:e.prototype:null,a=t||(f?Object.getOwnPropertyDescriptor(f,r.name):{}),u,l=!1,c=n.length-1;c>=0;c--){var _={};for(var g in r)_[g]=g==="access"?{}:r[g];for(var g in r.access)_.access[g]=r.access[g];_.addInitializer=function(p){if(l)throw new TypeError("Cannot add initializers after decoration has completed");s.push(i(p||null))};var C=(0,n[c])(d==="accessor"?{get:a.get,set:a.set}:a[h],_);if(d==="accessor"){if(C===void 0)continue;if(C===null||typeof C!="object")throw new TypeError("Object expected");(u=i(C.get))&&(a.get=u),(u=i(C.set))&&(a.set=u),(u=i(C.init))&&o.unshift(u)}else(u=i(C))&&(d==="field"?o.unshift(u):a[h]=u)}f&&Object.defineProperty(f,r.name,a),l=!0}function _t(e,t,n){for(var r=arguments.length>2,o=0;o<t.length;o++)n=r?t[o].call(e,n):t[o].call(e);return r?n:void 0}function Et(e){return typeof e=="symbol"?e:"".concat(e)}function vt(e,t,n){return typeof t=="symbol"&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function St(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function wt(e,t,n,r){function o(s){return s instanceof n?s:new n(function(i){i(s)})}return new(n||(n=Promise))(function(s,i){function d(a){try{f(r.next(a))}catch(u){i(u)}}function h(a){try{f(r.throw(a))}catch(u){i(u)}}function f(a){a.done?s(a.value):o(a.value).then(d,h)}f((r=r.apply(e,t||[])).next())})}function mt(e,t){var n={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=d(0),i.throw=d(1),i.return=d(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function d(f){return function(a){return h([f,a])}}function h(f){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,f[0]&&(n=0)),n;)try{if(r=1,o&&(s=f[0]&2?o.return:f[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,f[1])).done)return s;switch(o=0,s&&(f=[f[0]&2,s.value]),f[0]){case 0:case 1:s=f;break;case 4:return n.label++,{value:f[1],done:!1};case 5:n.label++,o=f[1],f=[0];continue;case 7:f=n.ops.pop(),n.trys.pop();continue;default:if(s=n.trys,!(s=s.length>0&&s[s.length-1])&&(f[0]===6||f[0]===2)){n=0;continue}if(f[0]===3&&(!s||f[1]>s[0]&&f[1]<s[3])){n.label=f[1];break}if(f[0]===6&&n.label<s[1]){n.label=s[1],s=f;break}if(s&&n.label<s[2]){n.label=s[2],n.ops.push(f);break}s[2]&&n.ops.pop(),n.trys.pop();continue}f=t.call(e,n)}catch(a){f=[6,a],o=0}finally{r=s=0}if(f[0]&5)throw f[1];return{value:f[0]?f[1]:void 0,done:!0}}}var he=Object.create?function(e,t,n,r){r===void 0&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]};function bt(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&he(t,e,n)}function de(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ve(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),o,s=[],i;try{for(;(t===void 0||t-- >0)&&!(o=r.next()).done;)s.push(o.value)}catch(d){i={error:d}}finally{try{o&&!o.done&&(n=r.return)&&n.call(r)}finally{if(i)throw i.error}}return s}function Ot(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Ve(arguments[t]));return e}function Rt(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var r=Array(e),o=0,t=0;t<n;t++)for(var s=arguments[t],i=0,d=s.length;i<d;i++,o++)r[o]=s[i];return r}function Tt(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,s;r<o;r++)(s||!(r in t))&&(s||(s=Array.prototype.slice.call(t,0,r)),s[r]=t[r]);return e.concat(s||Array.prototype.slice.call(t))}function te(e){return this instanceof te?(this.v=e,this):new te(e)}function Ct(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),d("next"),d("throw"),d("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(c){return function(_){return Promise.resolve(_).then(c,u)}}function d(c,_){r[c]&&(o[c]=function(g){return new Promise(function(C,p){s.push([c,g,C,p])>1||h(c,g)})},_&&(o[c]=_(o[c])))}function h(c,_){try{f(r[c](_))}catch(g){l(s[0][3],g)}}function f(c){c.value instanceof te?Promise.resolve(c.value.v).then(a,u):l(s[0][2],c)}function a(c){h("next",c)}function u(c){h("throw",c)}function l(c,_){c(_),s.shift(),s.length&&h(s[0][0],s[0][1])}}function Dt(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,s){t[o]=e[o]?function(i){return(n=!n)?{value:te(e[o](i)),done:!1}:s?s(i):i}:s}}function At(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof de=="function"?de(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(i){return new Promise(function(d,h){i=e[s](i),o(d,h,i.done,i.value)})}}function o(s,i,d,h){Promise.resolve(h).then(function(f){s({value:f,done:d})},i)}}function xt(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var Fn=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};function Pt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&he(t,e,n);return Fn(t,e),t}function jt(e){return e&&e.__esModule?e:{default:e}}function Lt(e,t,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(e):r?r.value:t.get(e)}function It(e,t,n,r,o){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n}function Vt(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function Mt(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var r,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");r=t[Symbol.asyncDispose]}if(r===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");r=t[Symbol.dispose],n&&(o=r)}if(typeof r!="function")throw new TypeError("Object not disposable.");o&&(r=function(){try{o.call(this)}catch(s){return Promise.reject(s)}}),e.stack.push({value:t,dispose:r,async:n})}else n&&e.stack.push({async:!0});return t}var Nn=typeof SuppressedError=="function"?SuppressedError:function(e,t,n){var r=new Error(n);return r.name="SuppressedError",r.error=e,r.suppressed=t,r};function Ft(e){function t(s){e.error=e.hasError?new Nn(s,e.error,"An error was suppressed during disposal."):s,e.hasError=!0}var n,r=0;function o(){for(;n=e.stack.pop();)try{if(!n.async&&r===1)return r=0,e.stack.push(n),Promise.resolve().then(o);if(n.dispose){var s=n.dispose.call(n.value);if(n.async)return r|=2,Promise.resolve(s).then(o,function(i){return t(i),o()})}else r|=1}catch(i){t(i)}if(r===1)return e.hasError?Promise.reject(e.error):Promise.resolve();if(e.hasError)throw e.error}return o()}function Nt(e,t){return typeof e=="string"&&/^\.\.?\//.test(e)?e.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(n,r,o,s,i){return r?t?".jsx":".js":o&&(!s||!i)?n:o+s+"."+i.toLowerCase()+"js"}):e}const Un={__extends:dt,__assign:le,__rest:pt,__decorate:ht,__param:gt,__esDecorate:yt,__runInitializers:_t,__propKey:Et,__setFunctionName:vt,__metadata:St,__awaiter:wt,__generator:mt,__createBinding:he,__exportStar:bt,__values:de,__read:Ve,__spread:Ot,__spreadArrays:Rt,__spreadArray:Tt,__await:te,__asyncGenerator:Ct,__asyncDelegator:Dt,__asyncValues:At,__makeTemplateObject:xt,__importStar:Pt,__importDefault:jt,__classPrivateFieldGet:Lt,__classPrivateFieldSet:It,__classPrivateFieldIn:Vt,__addDisposableResource:Mt,__disposeResources:Ft,__rewriteRelativeImportExtension:Nt},Wn=Object.freeze(Object.defineProperty({__proto__:null,__addDisposableResource:Mt,get __assign(){return le},__asyncDelegator:Dt,__asyncGenerator:Ct,__asyncValues:At,__await:te,__awaiter:wt,__classPrivateFieldGet:Lt,__classPrivateFieldIn:Vt,__classPrivateFieldSet:It,__createBinding:he,__decorate:ht,__disposeResources:Ft,__esDecorate:yt,__exportStar:bt,__extends:dt,__generator:mt,__importDefault:jt,__importStar:Pt,__makeTemplateObject:xt,__metadata:St,__param:gt,__propKey:Et,__read:Ve,__rest:pt,__rewriteRelativeImportExtension:Nt,__runInitializers:_t,__setFunctionName:vt,__spread:Ot,__spreadArray:Tt,__spreadArrays:Rt,__values:de,default:Un},Symbol.toStringTag,{value:"Module"})),qn=en(Wn);var fe={},Qe;function Bn(){if(Qe)return fe;Qe=1,Object.defineProperty(fe,"__esModule",{value:!0});var e=y;function t(){var n=e.useRef(!1),r=e.useCallback(function(){return n.current},[]);return e.useEffect(function(){return n.current=!0,function(){n.current=!1}},[]),r}return fe.default=t,fe}Object.defineProperty(lt,"__esModule",{value:!0});var je=qn,Oe=y,$n=je.__importDefault(Bn());function Gn(e,t,n){t===void 0&&(t=[]),n===void 0&&(n={loading:!1});var r=Oe.useRef(0),o=$n.default(),s=Oe.useState(n),i=s[0],d=s[1],h=Oe.useCallback(function(){for(var f=[],a=0;a<arguments.length;a++)f[a]=arguments[a];var u=++r.current;return i.loading||d(function(l){return je.__assign(je.__assign({},l),{loading:!0})}),e.apply(void 0,f).then(function(l){return o()&&u===r.current&&d({value:l,loading:!1}),l},function(l){return o()&&u===r.current&&d({error:l,loading:!1}),l})},t);return[i,h]}var Hn=lt.default=Gn;const $=new Map;function Kn(){const[e,t]=y.useState([]),{widgetCtx:{api:n}}=K();function r(a){const u=a.map(l=>({file:l,id:Ht.v4(),status:"pending",progress:0}));t(l=>[...l,...u]),u.forEach(i)}function o(a,u){t(l=>l.map(c=>c.id===a?{...c,...u}:c))}function s(a){t(u=>u.filter(l=>l.id!==a))}const i=async a=>{const u=new AbortController;$.set(a.id,u);try{t(c=>c.map(_=>_.id===a.id?{..._,status:"uploading",progress:0}:_));const l=await n.uploadFile({file:a.file,abortSignal:u.signal,onProgress:c=>{o(a.id,{progress:c})}});o(a.id,{status:"success",fileUrl:l.fileUrl,progress:100})}catch(l){u.signal.aborted||o(a.id,{status:"error",error:l instanceof Error?l.message:"Upload failed",progress:0})}finally{$.delete(a.id)}},d=a=>{const u=$.get(a);u&&(u.abort(),$.delete(a)),s(a)},h=y.useMemo(()=>e.filter(a=>a.status==="success"&&a.fileUrl),[e]);function f(){$.forEach(a=>a.abort()),$.clear(),t([])}return y.useEffect(()=>()=>{$.forEach(a=>a.abort()),$.clear()},[]),{allFiles:e,appendFiles:r,handleCancelUpload:d,successFiles:h,emptyTheFiles:f,getFileById:a=>e.find(u=>u.id===a),getUploadProgress:a=>{var u;return((u=e.find(l=>l.id===a))==null?void 0:u.progress)??0},getUploadStatus:a=>{var u;return(u=e.find(l=>l.id===a))==null?void 0:u.status},hasErrors:e.some(a=>a.status==="error"),isUploading:e.some(a=>a.status==="uploading")}}const Ut=y.createContext(null);function zn({children:e}){const t=tt(),[n,r]=y.useState(t.isOpen??!1);return y.useEffect(()=>{r(o=>t.isOpen??o)},[t.isOpen]),Ze.jsx(Ut.Provider,{value:{isOpen:n,setIsOpen:r},children:e})}function kn(){const e=y.useContext(Ut);if(!e)throw new Error("useWidgetTrigger must be used within a WidgetTriggerProvider");return e}exports.WidgetProvider=Yt;exports.WidgetTriggerProvider=zn;exports._default=Hn;exports.commonjsGlobal=Qt;exports.getDefaultExportFromCjs=Zt;exports.useConfig=tt;exports.useContact=Jt;exports.useIsAwaitingBotReply=Xt;exports.useMessages=nt;exports.usePreludeData=Vn;exports.usePrimitiveState=ee;exports.useSessions=rt;exports.useUploadFiles=Kn;exports.useWidget=K;exports.useWidgetRouter=Mn;exports.useWidgetTrigger=kn;
18
+ //# sourceMappingURL=useWidgetTrigger-CiYy4rS2.cjs.map