@inkeep/cxkit-primitives 0.5.63 → 0.5.65

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 (31) hide show
  1. package/dist/atoms/dialog.cjs +1 -1
  2. package/dist/atoms/dialog.js +2 -1
  3. package/dist/components/embedded-chat/chat-provider.cjs +1 -1
  4. package/dist/components/embedded-chat/chat-provider.js +9 -9
  5. package/dist/components/embedded-chat.cjs +4 -4
  6. package/dist/components/embedded-chat.js +803 -806
  7. package/dist/components/embedded-search/search-provider.cjs +1 -1
  8. package/dist/components/embedded-search/search-provider.js +1 -1
  9. package/dist/components/embedded-search.cjs +1 -1
  10. package/dist/components/embedded-search.js +281 -284
  11. package/dist/components/intelligent-form/intelligent-form-provider.cjs +1 -1
  12. package/dist/components/intelligent-form/intelligent-form-provider.js +3 -3
  13. package/dist/components/modal/use-inkeep-modal.cjs +1 -1
  14. package/dist/components/modal/use-inkeep-modal.js +21 -11
  15. package/dist/components/modal/widget-auto-focus.cjs +1 -0
  16. package/dist/components/modal/widget-auto-focus.js +16 -0
  17. package/dist/index.cjs +1 -1
  18. package/dist/index.d.cts +0 -4
  19. package/dist/index.d.ts +0 -4
  20. package/dist/index.js +132 -133
  21. package/dist/providers/base-events-provider.cjs +1 -1
  22. package/dist/providers/base-events-provider.js +29 -29
  23. package/dist/providers/chat-events-provider.cjs +1 -1
  24. package/dist/providers/chat-events-provider.js +48 -49
  25. package/dist/providers/index.cjs +1 -1
  26. package/dist/providers/index.js +52 -53
  27. package/dist/providers/root-provider.cjs +1 -1
  28. package/dist/providers/root-provider.js +8 -7
  29. package/dist/providers/search-events-provider.cjs +1 -1
  30. package/dist/providers/search-events-provider.js +10 -11
  31. package/package.json +4 -4
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),s=require("./use-inkeep-intelligent-form.cjs"),u=require("../../providers/conversation-provider.cjs"),c=require("../../providers/chat-events-provider.cjs"),n=r.createContext(void 0),o=({children:e,formSettings:i})=>{const l=s.useInkeepIntelligentForm({formSettings:i});return t.jsx(n.Provider,{value:l,children:e})},m=e=>t.jsx(u.InkeepConversationProvider,{children:t.jsx(c.ChatEventsProviderWithBase,{children:t.jsx(o,{...e})})}),v=()=>{const e=r.useContext(n);if(!e)throw new Error("useIntelligentForm must be used within a IntelligentFormProvider");return e};exports.IntelligentFormProvider=m;exports.IntelligentFormProviderImpl=o;exports.useIntelligentForm=v;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),s=require("./use-inkeep-intelligent-form.cjs"),u=require("../../providers/conversation-provider.cjs"),c=require("../../providers/chat-events-provider.cjs"),n=r.createContext(void 0),o=({children:e,formSettings:i})=>{const l=s.useInkeepIntelligentForm({formSettings:i});return t.jsx(n.Provider,{value:l,children:e})},m=e=>t.jsx(u.InkeepConversationProvider,{children:t.jsx(c.ChatEventsProvider,{children:t.jsx(o,{...e})})}),v=()=>{const e=r.useContext(n);if(!e)throw new Error("useIntelligentForm must be used within a IntelligentFormProvider");return e};exports.IntelligentFormProvider=m;exports.IntelligentFormProviderImpl=o;exports.useIntelligentForm=v;
@@ -3,14 +3,14 @@ import { jsx as t } from "react/jsx-runtime";
3
3
  import { createContext as i, useContext as l } from "react";
4
4
  import { useInkeepIntelligentForm as m } from "./use-inkeep-intelligent-form.js";
5
5
  import { InkeepConversationProvider as s } from "../../providers/conversation-provider.js";
6
- import { ChatEventsProviderWithBase as c } from "../../providers/chat-events-provider.js";
6
+ import { ChatEventsProvider as c } from "../../providers/chat-events-provider.js";
7
7
  const r = i(void 0), u = ({
8
8
  children: e,
9
9
  formSettings: o
10
10
  }) => {
11
11
  const n = m({ formSettings: o });
12
12
  return /* @__PURE__ */ t(r.Provider, { value: n, children: e });
13
- }, F = (e) => /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(u, { ...e }) }) }), a = () => {
13
+ }, F = (e) => /* @__PURE__ */ t(s, { children: /* @__PURE__ */ t(c, { children: /* @__PURE__ */ t(u, { ...e }) }) }), f = () => {
14
14
  const e = l(r);
15
15
  if (!e)
16
16
  throw new Error("useIntelligentForm must be used within a IntelligentFormProvider");
@@ -19,5 +19,5 @@ const r = i(void 0), u = ({
19
19
  export {
20
20
  F as IntelligentFormProvider,
21
21
  u as IntelligentFormProviderImpl,
22
- a as useIntelligentForm
22
+ f as useIntelligentForm
23
23
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react"),c=require("@radix-ui/react-use-controllable-state"),p=s=>{const{isOpen:t,onOpenChange:a,shortcutKey:o}=s??{},[l=!1,n]=c.useControllableState({prop:t,defaultProp:t,onChange:a});return u.useEffect(()=>{const r=e=>{o&&(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===o.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),n(!0)),e.key==="Escape"&&t&&(e.preventDefault(),n(!1))};return document.addEventListener("keydown",r),()=>document.removeEventListener("keydown",r)},[o,n,t]),{isOpen:l,setOpen:n,shortcutKey:o}};exports.useInkeepModal=p;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),p=require("@radix-ui/react-use-controllable-state"),d=require("../../providers/base-events-provider.cjs"),f=l=>{const{isOpen:t,onOpenChange:c,shortcutKey:o}=l??{},{logEvent:i}=d.useBaseEvents(),[r=!1,n]=p.useControllableState({prop:t,defaultProp:t,onChange:c}),a=s.useRef(!0);return s.useEffect(()=>{if(a.current){a.current=!1;return}i({eventName:r?"modal_opened":"modal_closed",properties:{}})},[r]),s.useEffect(()=>{const u=e=>{o&&(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===o.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),n(!0)),e.key==="Escape"&&t&&(e.preventDefault(),n(!1))};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[o,n,t]),{isOpen:r,setOpen:n,shortcutKey:o}};exports.useInkeepModal=f;
@@ -1,23 +1,33 @@
1
1
  "use client";
2
- import { useEffect as u } from "react";
3
- import { useControllableState as l } from "@radix-ui/react-use-controllable-state";
4
- const i = (s) => {
5
- const { isOpen: o, onOpenChange: a, shortcutKey: t } = s ?? {}, [p = !1, n] = l({
2
+ import { useRef as i, useEffect as p } from "react";
3
+ import { useControllableState as f } from "@radix-ui/react-use-controllable-state";
4
+ import { useBaseEvents as d } from "../../providers/base-events-provider.js";
5
+ const k = (u) => {
6
+ const { isOpen: o, onOpenChange: l, shortcutKey: t } = u ?? {}, { logEvent: c } = d(), [r = !1, n] = f({
6
7
  prop: o,
7
8
  defaultProp: o,
8
- onChange: a
9
- });
10
- return u(() => {
11
- const r = (e) => {
9
+ onChange: l
10
+ }), s = i(!0);
11
+ return p(() => {
12
+ if (s.current) {
13
+ s.current = !1;
14
+ return;
15
+ }
16
+ c({
17
+ eventName: r ? "modal_opened" : "modal_closed",
18
+ properties: {}
19
+ });
20
+ }, [r]), p(() => {
21
+ const a = (e) => {
12
22
  t && (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === t.toLowerCase() && (e.preventDefault(), e.stopPropagation(), n(!0)), e.key === "Escape" && o && (e.preventDefault(), n(!1));
13
23
  };
14
- return document.addEventListener("keydown", r), () => document.removeEventListener("keydown", r);
24
+ return document.addEventListener("keydown", a), () => document.removeEventListener("keydown", a);
15
25
  }, [t, n, o]), {
16
- isOpen: p,
26
+ isOpen: r,
17
27
  setOpen: n,
18
28
  shortcutKey: t
19
29
  };
20
30
  };
21
31
  export {
22
- i as useInkeepModal
32
+ k as useInkeepModal
23
33
  };
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),s=require("../../providers/widget-provider.cjs"),i=require("./modal-provider.cjs"),n=(o,e,u)=>{const t=i.useModal(),r=s.useWidget();c.useEffect(()=>{if(!u||t&&!t.isOpen)return;requestAnimationFrame(()=>{e?.current&&(r?.view&&r.view!==o||(e.current.focus(),e.current.selectionStart=e.current.value.length))})},[u,e,t,r?.view,o])};exports.useWidgetAutoFocus=n;
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useEffect as n } from "react";
3
+ import { useWidget as s } from "../../providers/widget-provider.js";
4
+ import { useModal as u } from "./modal-provider.js";
5
+ const l = (o, e, c) => {
6
+ const r = u(), t = s();
7
+ n(() => {
8
+ if (!c || r && !r.isOpen) return;
9
+ requestAnimationFrame(() => {
10
+ e?.current && (t?.view && t.view !== o || (e.current.focus(), e.current.selectionStart = e.current.value.length));
11
+ });
12
+ }, [c, e, r, t?.view, o]);
13
+ };
14
+ export {
15
+ l as useWidgetAutoFocus
16
+ };
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./providers/attachment-item-provider.cjs"),v=require("./providers/attachments-bar-provider.cjs"),C=require("./providers/base-events-provider.cjs"),s=require("./providers/chat-events-provider.cjs"),n=require("./providers/chat-form-provider.cjs"),i=require("./providers/config-provider.cjs"),a=require("./providers/conversation-provider.cjs"),P=require("./providers/feedback-item-provider.cjs"),h=require("./providers/feedback-provider.cjs"),I=require("./providers/form-field-provider.cjs"),d=require("./providers/help-menu-provider.cjs"),p=require("./providers/markdown-provider.cjs"),g=require("./providers/message-attachments-provider.cjs"),u=require("./providers/message-provider.cjs"),R=require("./providers/root-provider.cjs"),S=require("./providers/source-item-provider.cjs"),w=require("./providers/theme-provider.cjs"),q=require("./providers/user-provider.cjs"),F=require("./providers/widget-provider.cjs"),M=require("./components/factory.cjs"),E=require("./components/embedded-chat.cjs"),b=require("./components/embedded-chat/chat-provider.cjs"),f=require("./components/embedded-search.cjs"),m=require("./components/embedded-search/search-provider.cjs"),y=require("./components/modal.cjs"),k=require("./components/modal/modal-provider.cjs"),T=require("./components/intelligent-form.cjs"),c=require("./components/intelligent-form/intelligent-form-provider.cjs"),W=require("./components/chat-button.cjs"),U=require("./components/searchbar.cjs"),H=require("./hooks/use-boolean.cjs"),B=require("./hooks/use-browser-storage.cjs"),x=require("./hooks/use-component-classnames.cjs"),z=require("./hooks/use-container-size.cjs"),D=require("./hooks/use-copy-to-clipboard.cjs"),O=require("./hooks/use-instant-update.cjs"),Q=require("./hooks/use-is-mounted.cjs"),L=require("./hooks/use-media-query.cjs"),_=require("./hooks/use-resize-observer.cjs"),j=require("./hooks/use-scrolling-fades.cjs"),J=require("./hooks/use-settle-action.cjs"),K=require("./hooks/use-scroll-to-bottom.cjs"),o=require("./utils/misc.cjs"),r=require("./utils/component-ids.cjs"),A=require("./utils/compose-refs.cjs"),N=require("./atoms/portal.cjs"),Y=require("./atoms/icons/custom-icon.cjs"),G=require("./atoms/icons/built-in-icon-renderer.cjs"),V=require("./atoms/portal-with-theme.cjs"),e=require("./atoms/cmdk/index.cjs"),t=require("./atoms/shadow/context.cjs");exports.AttachmentItemProvider=l.AttachmentItemProvider;exports.useAttachmentItem=l.useAttachmentItem;exports.AttachmentsBarProvider=v.AttachmentsBarProvider;exports.useAttachmentsBar=v.useAttachmentsBar;exports.BaseEventsProvider=C.BaseEventsProvider;exports.useBaseEvents=C.useBaseEvents;exports.ChatEventsProvider=s.ChatEventsProvider;exports.ChatEventsProviderWithBase=s.ChatEventsProviderWithBase;exports.useChatEvents=s.useChatEvents;exports.ChatFormProvider=n.ChatFormProvider;exports.useChatForm=n.useChatForm;exports.useChatFormState=n.useChatFormState;exports.InkeepConfigProvider=i.InkeepConfigProvider;exports.WebWidgetInteractionType=i.WebWidgetInteractionType;exports.useInkeepConfig=i.useInkeepConfig;exports.InkeepConversationProvider=a.InkeepConversationProvider;exports.SHARE_QUERY_PARAM=a.SHARE_QUERY_PARAM;exports.useInkeepConversation=a.useInkeepConversation;exports.FeedbackItemProvider=P.FeedbackItemProvider;exports.useFeedbackItem=P.useFeedbackItem;exports.FeedbackProvider=h.FeedbackProvider;exports.useMessageFeedback=h.useMessageFeedback;exports.FormFieldProvider=I.FormFieldProvider;exports.useFormField=I.useFormField;exports.HelpMenuProvider=d.HelpMenuProvider;exports.useHelpMenu=d.useHelpMenu;exports.useHelpMenuState=d.useHelpMenuState;exports.ChatMarkdownProvider=p.ChatMarkdownProvider;exports.useChatMarkdown=p.useChatMarkdown;exports.MessageAttachmentsProvider=g.MessageAttachmentsProvider;exports.useMessageAttachments=g.useMessageAttachments;exports.MessageProvider=u.MessageProvider;exports.useMessage=u.useMessage;exports.useOptionalMessage=u.useOptionalMessage;exports.RootProvider=R.RootProvider;exports.SourceItemProvider=S.SourceItemProvider;exports.useSourceItem=S.useSourceItem;exports.ThemeProvider=w.ThemeProvider;exports.UserProvider=q.UserProvider;exports.useUser=q.useUser;exports.WidgetProvider=F.WidgetProvider;exports.useWidget=F.useWidget;exports.ikp=M.ikp;exports.jsxFactory=M.jsxFactory;exports.EmbeddedChatPrimitive=E;exports.ChatProvider=b.ChatProvider;exports.useChat=b.useChat;exports.EmbeddedSearchPrimitive=f;exports.SearchProvider=m.SearchProvider;exports.SearchProviderImpl=m.SearchProviderImpl;exports.useSearch=m.useSearch;exports.ModalPrimitive=y;exports.ModalProvider=k.ModalProvider;exports.useModal=k.useModal;exports.IntelligentFormPrimitive=T;exports.IntelligentFormProvider=c.IntelligentFormProvider;exports.IntelligentFormProviderImpl=c.IntelligentFormProviderImpl;exports.useIntelligentForm=c.useIntelligentForm;exports.ChatButtonPrimitive=W;exports.SearchBarPrimitive=U;exports.useBoolean=H.useBoolean;exports.passesBrowserStorageChecks=B.passesBrowserStorageChecks;exports.useBrowserStorage=B.useBrowserStorage;exports.useComponentClassNames=x.useComponentClassNames;exports.useContainerSize=z.useContainerSize;exports.useCopyToClipboard=D.useCopyToClipboard;exports.useInstantUpdate=O.useInstantUpdate;exports.useIsMounted=Q.useIsMounted;exports.useMediaQuery=L.useMediaQuery;exports.useResizeObserver=_.useResizeObserver;exports.useScrollingFades=j.useScrollingFades;exports.useSettleAction=J.useSettleAction;exports.useScrollToBottom=K.useScrollToBottom;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;exports.isString=o.isString;exports.maybeRender=o.maybeRender;exports.parseIfJson=o.parseIfJson;exports.toKebabCase=o.toKebabCase;exports.SearchBarComponentIds=r.SearchBarComponentIds;exports.aiChatComponentIds=r.aiChatComponentIds;exports.aiSearchComponentIds=r.aiSearchComponentIds;exports.chatButtonComponentIds=r.chatButtonComponentIds;exports.componentIDs=r.componentIDs;exports.intelligentFormComponentIds=r.intelligentFormComponentIds;exports.markDownComponentIds=r.markDownComponentIds;exports.miscellanousComponentIds=r.miscellanousComponentIds;exports.modalComponentIds=r.modalComponentIds;exports.composeRefs=A.composeRefs;exports.useComposedRefs=A.useComposedRefs;exports.Portal=N.Portal;exports.CustomIcon=Y.CustomIcon;exports.BuiltInIconRenderer=G.BuiltInIconRenderer;exports.PortalWithTheme=V.PortalWithTheme;exports.Command=e.Command;exports.CommandDialog=e.CommandDialog;exports.CommandEmpty=e.CommandEmpty;exports.CommandInput=e.CommandInput;exports.CommandItem=e.CommandItem;exports.CommandList=e.CommandList;exports.CommandLoading=e.CommandLoading;exports.CommandRoot=e.CommandRoot;exports.CommandSeparator=e.CommandSeparator;exports.defaultFilter=e.defaultFilter;exports.useCommandState=e.useCommandState;exports.useCommandStore=e.useCommandStore;exports.InkeepShadow=t.InkeepShadow;exports.InkeepShadowProvider=t.InkeepShadowProvider;exports.ShadowContext=t.ShadowContext;exports.useShadow=t.useShadow;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./providers/attachment-item-provider.cjs"),l=require("./providers/attachments-bar-provider.cjs"),v=require("./providers/base-events-provider.cjs"),C=require("./providers/chat-events-provider.cjs"),s=require("./providers/chat-form-provider.cjs"),n=require("./providers/config-provider.cjs"),i=require("./providers/conversation-provider.cjs"),P=require("./providers/feedback-item-provider.cjs"),I=require("./providers/feedback-provider.cjs"),h=require("./providers/form-field-provider.cjs"),a=require("./providers/help-menu-provider.cjs"),p=require("./providers/markdown-provider.cjs"),g=require("./providers/message-attachments-provider.cjs"),d=require("./providers/message-provider.cjs"),R=require("./providers/root-provider.cjs"),S=require("./providers/source-item-provider.cjs"),w=require("./providers/theme-provider.cjs"),q=require("./providers/user-provider.cjs"),F=require("./providers/widget-provider.cjs"),M=require("./components/factory.cjs"),f=require("./components/embedded-chat.cjs"),b=require("./components/embedded-chat/chat-provider.cjs"),E=require("./components/embedded-search.cjs"),u=require("./components/embedded-search/search-provider.cjs"),y=require("./components/modal.cjs"),k=require("./components/modal/modal-provider.cjs"),T=require("./components/intelligent-form.cjs"),m=require("./components/intelligent-form/intelligent-form-provider.cjs"),W=require("./components/chat-button.cjs"),U=require("./components/searchbar.cjs"),H=require("./hooks/use-boolean.cjs"),B=require("./hooks/use-browser-storage.cjs"),x=require("./hooks/use-component-classnames.cjs"),z=require("./hooks/use-container-size.cjs"),D=require("./hooks/use-copy-to-clipboard.cjs"),O=require("./hooks/use-instant-update.cjs"),Q=require("./hooks/use-is-mounted.cjs"),L=require("./hooks/use-media-query.cjs"),_=require("./hooks/use-resize-observer.cjs"),j=require("./hooks/use-scrolling-fades.cjs"),J=require("./hooks/use-settle-action.cjs"),K=require("./hooks/use-scroll-to-bottom.cjs"),o=require("./utils/misc.cjs"),r=require("./utils/component-ids.cjs"),A=require("./utils/compose-refs.cjs"),N=require("./atoms/portal.cjs"),Y=require("./atoms/icons/custom-icon.cjs"),G=require("./atoms/icons/built-in-icon-renderer.cjs"),V=require("./atoms/portal-with-theme.cjs"),e=require("./atoms/cmdk/index.cjs"),t=require("./atoms/shadow/context.cjs");exports.AttachmentItemProvider=c.AttachmentItemProvider;exports.useAttachmentItem=c.useAttachmentItem;exports.AttachmentsBarProvider=l.AttachmentsBarProvider;exports.useAttachmentsBar=l.useAttachmentsBar;exports.BaseEventsProvider=v.BaseEventsProvider;exports.useBaseEvents=v.useBaseEvents;exports.ChatEventsProvider=C.ChatEventsProvider;exports.useChatEvents=C.useChatEvents;exports.ChatFormProvider=s.ChatFormProvider;exports.useChatForm=s.useChatForm;exports.useChatFormState=s.useChatFormState;exports.InkeepConfigProvider=n.InkeepConfigProvider;exports.WebWidgetInteractionType=n.WebWidgetInteractionType;exports.useInkeepConfig=n.useInkeepConfig;exports.InkeepConversationProvider=i.InkeepConversationProvider;exports.SHARE_QUERY_PARAM=i.SHARE_QUERY_PARAM;exports.useInkeepConversation=i.useInkeepConversation;exports.FeedbackItemProvider=P.FeedbackItemProvider;exports.useFeedbackItem=P.useFeedbackItem;exports.FeedbackProvider=I.FeedbackProvider;exports.useMessageFeedback=I.useMessageFeedback;exports.FormFieldProvider=h.FormFieldProvider;exports.useFormField=h.useFormField;exports.HelpMenuProvider=a.HelpMenuProvider;exports.useHelpMenu=a.useHelpMenu;exports.useHelpMenuState=a.useHelpMenuState;exports.ChatMarkdownProvider=p.ChatMarkdownProvider;exports.useChatMarkdown=p.useChatMarkdown;exports.MessageAttachmentsProvider=g.MessageAttachmentsProvider;exports.useMessageAttachments=g.useMessageAttachments;exports.MessageProvider=d.MessageProvider;exports.useMessage=d.useMessage;exports.useOptionalMessage=d.useOptionalMessage;exports.RootProvider=R.RootProvider;exports.SourceItemProvider=S.SourceItemProvider;exports.useSourceItem=S.useSourceItem;exports.ThemeProvider=w.ThemeProvider;exports.UserProvider=q.UserProvider;exports.useUser=q.useUser;exports.WidgetProvider=F.WidgetProvider;exports.useWidget=F.useWidget;exports.ikp=M.ikp;exports.jsxFactory=M.jsxFactory;exports.EmbeddedChatPrimitive=f;exports.ChatProvider=b.ChatProvider;exports.useChat=b.useChat;exports.EmbeddedSearchPrimitive=E;exports.SearchProvider=u.SearchProvider;exports.SearchProviderImpl=u.SearchProviderImpl;exports.useSearch=u.useSearch;exports.ModalPrimitive=y;exports.ModalProvider=k.ModalProvider;exports.useModal=k.useModal;exports.IntelligentFormPrimitive=T;exports.IntelligentFormProvider=m.IntelligentFormProvider;exports.IntelligentFormProviderImpl=m.IntelligentFormProviderImpl;exports.useIntelligentForm=m.useIntelligentForm;exports.ChatButtonPrimitive=W;exports.SearchBarPrimitive=U;exports.useBoolean=H.useBoolean;exports.passesBrowserStorageChecks=B.passesBrowserStorageChecks;exports.useBrowserStorage=B.useBrowserStorage;exports.useComponentClassNames=x.useComponentClassNames;exports.useContainerSize=z.useContainerSize;exports.useCopyToClipboard=D.useCopyToClipboard;exports.useInstantUpdate=O.useInstantUpdate;exports.useIsMounted=Q.useIsMounted;exports.useMediaQuery=L.useMediaQuery;exports.useResizeObserver=_.useResizeObserver;exports.useScrollingFades=j.useScrollingFades;exports.useSettleAction=J.useSettleAction;exports.useScrollToBottom=K.useScrollToBottom;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;exports.isString=o.isString;exports.maybeRender=o.maybeRender;exports.parseIfJson=o.parseIfJson;exports.toKebabCase=o.toKebabCase;exports.SearchBarComponentIds=r.SearchBarComponentIds;exports.aiChatComponentIds=r.aiChatComponentIds;exports.aiSearchComponentIds=r.aiSearchComponentIds;exports.chatButtonComponentIds=r.chatButtonComponentIds;exports.componentIDs=r.componentIDs;exports.intelligentFormComponentIds=r.intelligentFormComponentIds;exports.markDownComponentIds=r.markDownComponentIds;exports.miscellanousComponentIds=r.miscellanousComponentIds;exports.modalComponentIds=r.modalComponentIds;exports.composeRefs=A.composeRefs;exports.useComposedRefs=A.useComposedRefs;exports.Portal=N.Portal;exports.CustomIcon=Y.CustomIcon;exports.BuiltInIconRenderer=G.BuiltInIconRenderer;exports.PortalWithTheme=V.PortalWithTheme;exports.Command=e.Command;exports.CommandDialog=e.CommandDialog;exports.CommandEmpty=e.CommandEmpty;exports.CommandInput=e.CommandInput;exports.CommandItem=e.CommandItem;exports.CommandList=e.CommandList;exports.CommandLoading=e.CommandLoading;exports.CommandRoot=e.CommandRoot;exports.CommandSeparator=e.CommandSeparator;exports.defaultFilter=e.defaultFilter;exports.useCommandState=e.useCommandState;exports.useCommandStore=e.useCommandStore;exports.InkeepShadow=t.InkeepShadow;exports.InkeepShadowProvider=t.InkeepShadowProvider;exports.ShadowContext=t.ShadowContext;exports.useShadow=t.useShadow;
package/dist/index.d.cts CHANGED
@@ -403,10 +403,6 @@ export declare const ChatEventsProvider: React.FC<{
403
403
  children: React.ReactNode;
404
404
  }>;
405
405
 
406
- export declare const ChatEventsProviderWithBase: React.FC<{
407
- children: React.ReactNode;
408
- }>;
409
-
410
406
  export declare type ChatFormContextValue = ReturnType<typeof useChatFormState>;
411
407
 
412
408
  export declare const ChatFormProvider: React.FC<{
package/dist/index.d.ts CHANGED
@@ -403,10 +403,6 @@ export declare const ChatEventsProvider: React.FC<{
403
403
  children: React.ReactNode;
404
404
  }>;
405
405
 
406
- export declare const ChatEventsProviderWithBase: React.FC<{
407
- children: React.ReactNode;
408
- }>;
409
-
410
406
  export declare type ChatFormContextValue = ReturnType<typeof useChatFormState>;
411
407
 
412
408
  export declare const ChatFormProvider: React.FC<{
package/dist/index.js CHANGED
@@ -1,165 +1,164 @@
1
- import { AttachmentItemProvider as i, useAttachmentItem as p } from "./providers/attachment-item-provider.js";
1
+ import { AttachmentItemProvider as p, useAttachmentItem as i } from "./providers/attachment-item-provider.js";
2
2
  import { AttachmentsBarProvider as f, useAttachmentsBar as u } from "./providers/attachments-bar-provider.js";
3
3
  import { BaseEventsProvider as C, useBaseEvents as l } from "./providers/base-events-provider.js";
4
- import { ChatEventsProvider as h, ChatEventsProviderWithBase as I, useChatEvents as P } from "./providers/chat-events-provider.js";
5
- import { ChatFormProvider as S, useChatForm as g, useChatFormState as F } from "./providers/chat-form-provider.js";
6
- import { InkeepConfigProvider as b, WebWidgetInteractionType as k, useInkeepConfig as B } from "./providers/config-provider.js";
7
- import { InkeepConversationProvider as E, SHARE_QUERY_PARAM as R, useInkeepConversation as w } from "./providers/conversation-provider.js";
8
- import { FeedbackItemProvider as W, useFeedbackItem as T } from "./providers/feedback-item-provider.js";
9
- import { FeedbackProvider as U, useMessageFeedback as D } from "./providers/feedback-provider.js";
10
- import { FormFieldProvider as L, useFormField as O } from "./providers/form-field-provider.js";
11
- import { HelpMenuProvider as _, useHelpMenu as j, useHelpMenuState as J } from "./providers/help-menu-provider.js";
12
- import { ChatMarkdownProvider as N, useChatMarkdown as Y } from "./providers/markdown-provider.js";
13
- import { MessageAttachmentsProvider as G, useMessageAttachments as V } from "./providers/message-attachments-provider.js";
14
- import { MessageProvider as Z, useMessage as $, useOptionalMessage as ee } from "./providers/message-provider.js";
15
- import { RootProvider as re } from "./providers/root-provider.js";
16
- import { SourceItemProvider as me, useSourceItem as ae } from "./providers/source-item-provider.js";
17
- import { ThemeProvider as ne } from "./providers/theme-provider.js";
18
- import { UserProvider as pe, useUser as de } from "./providers/user-provider.js";
19
- import { WidgetProvider as ue, useWidget as xe } from "./providers/widget-provider.js";
20
- import { ikp as le, jsxFactory as ve } from "./components/factory.js";
4
+ import { ChatEventsProvider as h, useChatEvents as I } from "./providers/chat-events-provider.js";
5
+ import { ChatFormProvider as P, useChatForm as S, useChatFormState as g } from "./providers/chat-form-provider.js";
6
+ import { InkeepConfigProvider as M, WebWidgetInteractionType as b, useInkeepConfig as k } from "./providers/config-provider.js";
7
+ import { InkeepConversationProvider as A, SHARE_QUERY_PARAM as R, useInkeepConversation as w } from "./providers/conversation-provider.js";
8
+ import { FeedbackItemProvider as y, useFeedbackItem as T } from "./providers/feedback-item-provider.js";
9
+ import { FeedbackProvider as H, useMessageFeedback as U } from "./providers/feedback-provider.js";
10
+ import { FormFieldProvider as z, useFormField as L } from "./providers/form-field-provider.js";
11
+ import { HelpMenuProvider as Q, useHelpMenu as _, useHelpMenuState as j } from "./providers/help-menu-provider.js";
12
+ import { ChatMarkdownProvider as K, useChatMarkdown as N } from "./providers/markdown-provider.js";
13
+ import { MessageAttachmentsProvider as q, useMessageAttachments as G } from "./providers/message-attachments-provider.js";
14
+ import { MessageProvider as X, useMessage as Z, useOptionalMessage as $ } from "./providers/message-provider.js";
15
+ import { RootProvider as oe } from "./providers/root-provider.js";
16
+ import { SourceItemProvider as te, useSourceItem as me } from "./providers/source-item-provider.js";
17
+ import { ThemeProvider as se } from "./providers/theme-provider.js";
18
+ import { UserProvider as pe, useUser as ie } from "./providers/user-provider.js";
19
+ import { WidgetProvider as fe, useWidget as ue } from "./providers/widget-provider.js";
20
+ import { ikp as Ce, jsxFactory as le } from "./components/factory.js";
21
21
  import * as e from "./components/embedded-chat.js";
22
- import { ChatProvider as Ie, useChat as Pe } from "./components/embedded-chat/chat-provider.js";
22
+ import { ChatProvider as he, useChat as Ie } from "./components/embedded-chat/chat-provider.js";
23
23
  import * as o from "./components/embedded-search.js";
24
- import { SearchProvider as Se, SearchProviderImpl as ge, useSearch as Fe } from "./components/embedded-search/search-provider.js";
24
+ import { SearchProvider as Pe, SearchProviderImpl as Se, useSearch as ge } from "./components/embedded-search/search-provider.js";
25
25
  import * as r from "./components/modal.js";
26
- import { ModalProvider as be, useModal as ke } from "./components/modal/modal-provider.js";
26
+ import { ModalProvider as Me, useModal as be } from "./components/modal/modal-provider.js";
27
27
  import * as t from "./components/intelligent-form.js";
28
- import { IntelligentFormProvider as Ae, IntelligentFormProviderImpl as Ee, useIntelligentForm as Re } from "./components/intelligent-form/intelligent-form-provider.js";
28
+ import { IntelligentFormProvider as Be, IntelligentFormProviderImpl as Ae, useIntelligentForm as Re } from "./components/intelligent-form/intelligent-form-provider.js";
29
29
  import * as m from "./components/chat-button.js";
30
30
  import * as a from "./components/searchbar.js";
31
- import { useBoolean as ye } from "./hooks/use-boolean.js";
32
- import { passesBrowserStorageChecks as Te, useBrowserStorage as He } from "./hooks/use-browser-storage.js";
33
- import { useComponentClassNames as De } from "./hooks/use-component-classnames.js";
34
- import { useContainerSize as Le } from "./hooks/use-container-size.js";
35
- import { useCopyToClipboard as Qe } from "./hooks/use-copy-to-clipboard.js";
36
- import { useInstantUpdate as je } from "./hooks/use-instant-update.js";
37
- import { useIsMounted as Ke } from "./hooks/use-is-mounted.js";
38
- import { useMediaQuery as Ye } from "./hooks/use-media-query.js";
39
- import { useResizeObserver as Ge } from "./hooks/use-resize-observer.js";
40
- import { useScrollingFades as Xe } from "./hooks/use-scrolling-fades.js";
41
- import { useSettleAction as $e } from "./hooks/use-settle-action.js";
42
- import { useScrollToBottom as oo } from "./hooks/use-scroll-to-bottom.js";
43
- import { callAll as to, dataAttr as mo, getInitials as ao, getMessageContent as so, isString as no, maybeRender as io, parseIfJson as po, toKebabCase as fo } from "./utils/misc.js";
44
- import { SearchBarComponentIds as xo, aiChatComponentIds as Co, aiSearchComponentIds as lo, chatButtonComponentIds as vo, componentIDs as ho, intelligentFormComponentIds as Io, markDownComponentIds as Po, miscellanousComponentIds as co, modalComponentIds as So } from "./utils/component-ids.js";
45
- import { composeRefs as Fo, useComposedRefs as Mo } from "./utils/compose-refs.js";
46
- import { Portal as ko } from "./atoms/portal.js";
47
- import { CustomIcon as Ao } from "./atoms/icons/custom-icon.js";
31
+ import { useBoolean as Ee } from "./hooks/use-boolean.js";
32
+ import { passesBrowserStorageChecks as Te, useBrowserStorage as We } from "./hooks/use-browser-storage.js";
33
+ import { useComponentClassNames as Ue } from "./hooks/use-component-classnames.js";
34
+ import { useContainerSize as ze } from "./hooks/use-container-size.js";
35
+ import { useCopyToClipboard as Oe } from "./hooks/use-copy-to-clipboard.js";
36
+ import { useInstantUpdate as _e } from "./hooks/use-instant-update.js";
37
+ import { useIsMounted as Je } from "./hooks/use-is-mounted.js";
38
+ import { useMediaQuery as Ne } from "./hooks/use-media-query.js";
39
+ import { useResizeObserver as qe } from "./hooks/use-resize-observer.js";
40
+ import { useScrollingFades as Ve } from "./hooks/use-scrolling-fades.js";
41
+ import { useSettleAction as Ze } from "./hooks/use-settle-action.js";
42
+ import { useScrollToBottom as eo } from "./hooks/use-scroll-to-bottom.js";
43
+ import { callAll as ro, dataAttr as to, getInitials as mo, getMessageContent as ao, isString as so, maybeRender as no, parseIfJson as po, toKebabCase as io } from "./utils/misc.js";
44
+ import { SearchBarComponentIds as uo, aiChatComponentIds as xo, aiSearchComponentIds as Co, chatButtonComponentIds as lo, componentIDs as vo, intelligentFormComponentIds as ho, markDownComponentIds as Io, miscellanousComponentIds as co, modalComponentIds as Po } from "./utils/component-ids.js";
45
+ import { composeRefs as go, useComposedRefs as Fo } from "./utils/compose-refs.js";
46
+ import { Portal as bo } from "./atoms/portal.js";
47
+ import { CustomIcon as Bo } from "./atoms/icons/custom-icon.js";
48
48
  import { BuiltInIconRenderer as Ro } from "./atoms/icons/built-in-icon-renderer.js";
49
- import { PortalWithTheme as yo } from "./atoms/portal-with-theme.js";
50
- import { Command as To, CommandDialog as Ho, CommandEmpty as Uo, CommandInput as Do, CommandItem as zo, CommandList as Lo, CommandLoading as Oo, CommandRoot as Qo, CommandSeparator as _o, defaultFilter as jo, useCommandState as Jo, useCommandStore as Ko } from "./atoms/cmdk/index.js";
51
- import { InkeepShadow as Yo, InkeepShadowProvider as qo, ShadowContext as Go, useShadow as Vo } from "./atoms/shadow/context.js";
49
+ import { PortalWithTheme as Eo } from "./atoms/portal-with-theme.js";
50
+ import { Command as To, CommandDialog as Wo, CommandEmpty as Ho, CommandInput as Uo, CommandItem as Do, CommandList as zo, CommandLoading as Lo, CommandRoot as Oo, CommandSeparator as Qo, defaultFilter as _o, useCommandState as jo, useCommandStore as Jo } from "./atoms/cmdk/index.js";
51
+ import { InkeepShadow as No, InkeepShadowProvider as Yo, ShadowContext as qo, useShadow as Go } from "./atoms/shadow/context.js";
52
52
  export {
53
- i as AttachmentItemProvider,
53
+ p as AttachmentItemProvider,
54
54
  f as AttachmentsBarProvider,
55
55
  C as BaseEventsProvider,
56
56
  Ro as BuiltInIconRenderer,
57
57
  m as ChatButtonPrimitive,
58
58
  h as ChatEventsProvider,
59
- I as ChatEventsProviderWithBase,
60
- S as ChatFormProvider,
61
- N as ChatMarkdownProvider,
62
- Ie as ChatProvider,
59
+ P as ChatFormProvider,
60
+ K as ChatMarkdownProvider,
61
+ he as ChatProvider,
63
62
  To as Command,
64
- Ho as CommandDialog,
65
- Uo as CommandEmpty,
66
- Do as CommandInput,
67
- zo as CommandItem,
68
- Lo as CommandList,
69
- Oo as CommandLoading,
70
- Qo as CommandRoot,
71
- _o as CommandSeparator,
72
- Ao as CustomIcon,
63
+ Wo as CommandDialog,
64
+ Ho as CommandEmpty,
65
+ Uo as CommandInput,
66
+ Do as CommandItem,
67
+ zo as CommandList,
68
+ Lo as CommandLoading,
69
+ Oo as CommandRoot,
70
+ Qo as CommandSeparator,
71
+ Bo as CustomIcon,
73
72
  e as EmbeddedChatPrimitive,
74
73
  o as EmbeddedSearchPrimitive,
75
- W as FeedbackItemProvider,
76
- U as FeedbackProvider,
77
- L as FormFieldProvider,
78
- _ as HelpMenuProvider,
79
- b as InkeepConfigProvider,
80
- E as InkeepConversationProvider,
81
- Yo as InkeepShadow,
82
- qo as InkeepShadowProvider,
74
+ y as FeedbackItemProvider,
75
+ H as FeedbackProvider,
76
+ z as FormFieldProvider,
77
+ Q as HelpMenuProvider,
78
+ M as InkeepConfigProvider,
79
+ A as InkeepConversationProvider,
80
+ No as InkeepShadow,
81
+ Yo as InkeepShadowProvider,
83
82
  t as IntelligentFormPrimitive,
84
- Ae as IntelligentFormProvider,
85
- Ee as IntelligentFormProviderImpl,
86
- G as MessageAttachmentsProvider,
87
- Z as MessageProvider,
83
+ Be as IntelligentFormProvider,
84
+ Ae as IntelligentFormProviderImpl,
85
+ q as MessageAttachmentsProvider,
86
+ X as MessageProvider,
88
87
  r as ModalPrimitive,
89
- be as ModalProvider,
90
- ko as Portal,
91
- yo as PortalWithTheme,
92
- re as RootProvider,
88
+ Me as ModalProvider,
89
+ bo as Portal,
90
+ Eo as PortalWithTheme,
91
+ oe as RootProvider,
93
92
  R as SHARE_QUERY_PARAM,
94
- xo as SearchBarComponentIds,
93
+ uo as SearchBarComponentIds,
95
94
  a as SearchBarPrimitive,
96
- Se as SearchProvider,
97
- ge as SearchProviderImpl,
98
- Go as ShadowContext,
99
- me as SourceItemProvider,
100
- ne as ThemeProvider,
95
+ Pe as SearchProvider,
96
+ Se as SearchProviderImpl,
97
+ qo as ShadowContext,
98
+ te as SourceItemProvider,
99
+ se as ThemeProvider,
101
100
  pe as UserProvider,
102
- k as WebWidgetInteractionType,
103
- ue as WidgetProvider,
104
- Co as aiChatComponentIds,
105
- lo as aiSearchComponentIds,
106
- to as callAll,
107
- vo as chatButtonComponentIds,
108
- ho as componentIDs,
109
- Fo as composeRefs,
110
- mo as dataAttr,
111
- jo as defaultFilter,
112
- ao as getInitials,
113
- so as getMessageContent,
114
- le as ikp,
115
- Io as intelligentFormComponentIds,
116
- no as isString,
117
- ve as jsxFactory,
118
- Po as markDownComponentIds,
119
- io as maybeRender,
101
+ b as WebWidgetInteractionType,
102
+ fe as WidgetProvider,
103
+ xo as aiChatComponentIds,
104
+ Co as aiSearchComponentIds,
105
+ ro as callAll,
106
+ lo as chatButtonComponentIds,
107
+ vo as componentIDs,
108
+ go as composeRefs,
109
+ to as dataAttr,
110
+ _o as defaultFilter,
111
+ mo as getInitials,
112
+ ao as getMessageContent,
113
+ Ce as ikp,
114
+ ho as intelligentFormComponentIds,
115
+ so as isString,
116
+ le as jsxFactory,
117
+ Io as markDownComponentIds,
118
+ no as maybeRender,
120
119
  co as miscellanousComponentIds,
121
- So as modalComponentIds,
120
+ Po as modalComponentIds,
122
121
  po as parseIfJson,
123
122
  Te as passesBrowserStorageChecks,
124
- fo as toKebabCase,
125
- p as useAttachmentItem,
123
+ io as toKebabCase,
124
+ i as useAttachmentItem,
126
125
  u as useAttachmentsBar,
127
126
  l as useBaseEvents,
128
- ye as useBoolean,
129
- He as useBrowserStorage,
130
- Pe as useChat,
131
- P as useChatEvents,
132
- g as useChatForm,
133
- F as useChatFormState,
134
- Y as useChatMarkdown,
135
- Jo as useCommandState,
136
- Ko as useCommandStore,
137
- De as useComponentClassNames,
138
- Mo as useComposedRefs,
139
- Le as useContainerSize,
140
- Qe as useCopyToClipboard,
127
+ Ee as useBoolean,
128
+ We as useBrowserStorage,
129
+ Ie as useChat,
130
+ I as useChatEvents,
131
+ S as useChatForm,
132
+ g as useChatFormState,
133
+ N as useChatMarkdown,
134
+ jo as useCommandState,
135
+ Jo as useCommandStore,
136
+ Ue as useComponentClassNames,
137
+ Fo as useComposedRefs,
138
+ ze as useContainerSize,
139
+ Oe as useCopyToClipboard,
141
140
  T as useFeedbackItem,
142
- O as useFormField,
143
- j as useHelpMenu,
144
- J as useHelpMenuState,
145
- B as useInkeepConfig,
141
+ L as useFormField,
142
+ _ as useHelpMenu,
143
+ j as useHelpMenuState,
144
+ k as useInkeepConfig,
146
145
  w as useInkeepConversation,
147
- je as useInstantUpdate,
146
+ _e as useInstantUpdate,
148
147
  Re as useIntelligentForm,
149
- Ke as useIsMounted,
150
- Ye as useMediaQuery,
151
- $ as useMessage,
152
- V as useMessageAttachments,
153
- D as useMessageFeedback,
154
- ke as useModal,
155
- ee as useOptionalMessage,
156
- Ge as useResizeObserver,
157
- oo as useScrollToBottom,
158
- Xe as useScrollingFades,
159
- Fe as useSearch,
160
- $e as useSettleAction,
161
- Vo as useShadow,
162
- ae as useSourceItem,
163
- de as useUser,
164
- xe as useWidget
148
+ Je as useIsMounted,
149
+ Ne as useMediaQuery,
150
+ Z as useMessage,
151
+ G as useMessageAttachments,
152
+ U as useMessageFeedback,
153
+ be as useModal,
154
+ $ as useOptionalMessage,
155
+ qe as useResizeObserver,
156
+ eo as useScrollToBottom,
157
+ Ve as useScrollingFades,
158
+ ge as useSearch,
159
+ Ze as useSettleAction,
160
+ Go as useShadow,
161
+ me as useSourceItem,
162
+ ie as useUser,
163
+ ue as useWidget
165
164
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),t=require("react"),y=require("../atoms/api/analytics/events.cjs"),B=require("./config-provider.cjs"),f=require("./user-provider.cjs"),d=t.createContext(void 0),b=({children:e})=>{const{baseSettings:n,componentType:o}=B.useInkeepConfig(),{apiKey:r,analyticsApiBaseUrl:i,tags:c,privacyPreferences:E,env:g}=n,{userProperties:a}=f.useUser(),v=t.useMemo(()=>({widgetLibraryVersion:"0.5.63",componentType:o,tags:c}),[o,c]),u=!E.optOutAllAnalytics&&g!=="development",m={logEvent:t.useCallback(async l=>{const s={...v,...l.properties},p={eventName:l.eventName,properties:s,userProperties:a};if(u){if("conversation"in s&&!s.conversation?.id)return;y.logEvent(p,r,i)}n.onEvent?.(p)},[u,n,r,i,a,v])};return P.jsx(d.Provider,{value:m,children:e})},x=()=>{const e=t.useContext(d);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=b;exports.useBaseEvents=x;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),t=require("react"),B=require("../atoms/api/analytics/events.cjs"),f=require("./config-provider.cjs"),b=require("./user-provider.cjs"),p=t.createContext(void 0),x=({children:e})=>{const{baseSettings:n,componentType:r}=f.useInkeepConfig(),{apiKey:i,analyticsApiBaseUrl:c,tags:a,privacyPreferences:E,env:m}=n,{userProperties:v}=b.useUser(),u=t.useMemo(()=>({widgetLibraryVersion:"0.5.65",componentType:r,tags:a}),[r,a]),d=!E.optOutAllAnalytics&&m!=="development",g={logEvent:t.useCallback(async s=>{const o={...u,...s.properties},l={eventName:s.eventName,properties:o,userProperties:v},P=["modal_opened","modal_closed"].includes(s.eventName);if(d&&!P){if("conversation"in o&&!o.conversation?.id)return;B.logEvent(l,i,c)}n.onEvent?.(l)},[d,n,i,c,v,u])};return y.jsx(p.Provider,{value:g,children:e})},q=()=>{const e=t.useContext(p);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=x;exports.useBaseEvents=q;
@@ -1,43 +1,43 @@
1
1
  "use client";
2
- import { jsx as d } from "react/jsx-runtime";
3
- import { useMemo as g, useCallback as y, createContext as x, useContext as B } from "react";
4
- import { logEvent as P } from "../atoms/api/analytics/events.js";
5
- import { useInkeepConfig as C } from "./config-provider.js";
6
- import { useUser as b } from "./user-provider.js";
7
- const u = x(void 0), U = ({ children: e }) => {
8
- const { baseSettings: t, componentType: n } = C(), { apiKey: s, analyticsApiBaseUrl: r, tags: i, privacyPreferences: l, env: E } = t, { userProperties: a } = b(), c = g(
2
+ import { jsx as g } from "react/jsx-runtime";
3
+ import { useMemo as y, useCallback as x, createContext as B, useContext as P } from "react";
4
+ import { logEvent as C } from "../atoms/api/analytics/events.js";
5
+ import { useInkeepConfig as b } from "./config-provider.js";
6
+ import { useUser as w } from "./user-provider.js";
7
+ const l = B(void 0), _ = ({ children: e }) => {
8
+ const { baseSettings: t, componentType: s } = b(), { apiKey: r, analyticsApiBaseUrl: i, tags: a, privacyPreferences: u, env: d } = t, { userProperties: c } = w(), v = y(
9
9
  () => ({
10
- widgetLibraryVersion: "0.5.63",
11
- componentType: n,
12
- tags: i
10
+ widgetLibraryVersion: "0.5.65",
11
+ componentType: s,
12
+ tags: a
13
13
  }),
14
- [n, i]
15
- ), v = !l.optOutAllAnalytics && E !== "development", f = { logEvent: y(
16
- async (p) => {
17
- const o = {
18
- ...c,
19
- ...p.properties
20
- }, m = {
21
- eventName: p.eventName,
22
- properties: o,
23
- userProperties: a
24
- };
25
- if (v) {
26
- if ("conversation" in o && !o.conversation?.id) return;
27
- P(m, s, r);
14
+ [s, a]
15
+ ), m = !u.optOutAllAnalytics && d !== "development", E = { logEvent: x(
16
+ async (o) => {
17
+ const n = {
18
+ ...v,
19
+ ...o.properties
20
+ }, p = {
21
+ eventName: o.eventName,
22
+ properties: n,
23
+ userProperties: c
24
+ }, f = ["modal_opened", "modal_closed"].includes(o.eventName);
25
+ if (m && !f) {
26
+ if ("conversation" in n && !n.conversation?.id) return;
27
+ C(p, r, i);
28
28
  }
29
- t.onEvent?.(m);
29
+ t.onEvent?.(p);
30
30
  },
31
- [v, t, s, r, a, c]
31
+ [m, t, r, i, c, v]
32
32
  ) };
33
- return /* @__PURE__ */ d(u.Provider, { value: f, children: e });
33
+ return /* @__PURE__ */ g(l.Provider, { value: E, children: e });
34
34
  }, $ = () => {
35
- const e = B(u);
35
+ const e = P(l);
36
36
  if (!e)
37
37
  throw new Error("useBaseEvents must be used within a BaseEventsProvider");
38
38
  return e;
39
39
  };
40
40
  export {
41
- U as BaseEventsProvider,
41
+ _ as BaseEventsProvider,
42
42
  $ as useBaseEvents
43
43
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),t=require("react"),j=require("../atoms/api/analytics/conversation.cjs"),w=require("./config-provider.cjs"),B=require("./conversation-provider.cjs"),k=require("./user-provider.cjs"),g=require("./base-events-provider.cjs"),U=require("../utils/generate-uid.cjs"),f=t.createContext(void 0),b=({children:e})=>{const{baseSettings:q}=w.useInkeepConfig(),{apiKey:d,analyticsApiBaseUrl:C,tags:E,privacyPreferences:{optOutAllAnalytics:i},env:a}=q,{userProperties:h}=k.useUser(),{logEvent:p}=g.useBaseEvents(),{conversation:c,setConversation:x}=B.useInkeepConversation(),v=t.useRef(c);t.useEffect(()=>{v.current=c},[c]);const u=t.useCallback(async n=>{const r=v.current,s=!i&&a!=="development";let o=Object.assign({},r,{messages:n});if(s){const P=await j.logConversation(r.id,{messages:n,tags:E,userProperties:h},d,C);P&&(o=P)}else o.id="conv_"+U.generateUid(16);return o},[C,d,E,h,i,a]),y={logEvent:t.useCallback(async(n,r)=>{let s=v.current;r&&(s=await u(r),x(s));const o={...n,properties:{conversation:s,...n.properties}};p(o)},[p,u,i,a]),logConversation:u};return l.jsx(f.Provider,{value:y,children:e})},A=({children:e})=>l.jsx(g.BaseEventsProvider,{children:l.jsx(b,{children:e})}),O=()=>{const e=t.useContext(f);if(!e)throw new Error("useChatEvents must be used within a ChatEventsProvider");return e};exports.ChatEventsProvider=b;exports.ChatEventsProviderWithBase=A;exports.useChatEvents=O;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react/jsx-runtime"),e=require("react"),y=require("../atoms/api/analytics/conversation.cjs"),x=require("./config-provider.cjs"),w=require("./conversation-provider.cjs"),j=require("./user-provider.cjs"),k=require("./base-events-provider.cjs"),U=require("../utils/generate-uid.cjs"),g=e.createContext(void 0),A=({children:s})=>{const{baseSettings:f}=x.useInkeepConfig(),{apiKey:l,analyticsApiBaseUrl:C,tags:d,privacyPreferences:{optOutAllAnalytics:i},env:a}=f,{userProperties:E}=j.useUser(),{logEvent:p}=k.useBaseEvents(),{conversation:c,setConversation:P}=w.useInkeepConversation(),v=e.useRef(c);e.useEffect(()=>{v.current=c},[c]);const u=e.useCallback(async t=>{const n=v.current,o=!i&&a!=="development";let r=Object.assign({},n,{messages:t});if(o){const h=await y.logConversation(n.id,{messages:t,tags:d,userProperties:E},l,C);h&&(r=h)}else r.id="conv_"+U.generateUid(16);return r},[C,l,d,E,i,a]),b={logEvent:e.useCallback(async(t,n)=>{let o=v.current;n&&(o=await u(n),P(o));const r={...t,properties:{conversation:o,...t.properties}};p(r)},[p,u,i,a]),logConversation:u};return q.jsx(g.Provider,{value:b,children:s})},O=()=>{const s=e.useContext(g);if(!s)throw new Error("useChatEvents must be used within a ChatEventsProvider");return s};exports.ChatEventsProvider=A;exports.useChatEvents=O;