@inkeep/cxkit-primitives 0.5.92 → 0.5.94
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/embedded-chat/use-inkeep-chat.cjs +3 -3
- package/dist/components/embedded-chat/use-inkeep-chat.js +71 -71
- package/dist/components/embedded-search.cjs +1 -1
- package/dist/components/embedded-search.js +2 -2
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/providers/base-events-provider.cjs +1 -1
- package/dist/providers/base-events-provider.js +1 -1
- package/dist/providers/chat-events-provider.cjs +1 -1
- package/dist/providers/chat-events-provider.js +45 -43
- package/dist/providers/conversation-provider.cjs +1 -1
- package/dist/providers/conversation-provider.js +18 -17
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("openai"),t=require("react"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("openai"),t=require("react"),Le=require("../../providers/config-provider.cjs"),xe=require("../../providers/conversation-provider.cjs"),Be=require("../../providers/chat-events-provider.cjs"),F=require("../../utils/get-message-metadata.cjs"),re=require("../../utils/reset-query-params.cjs"),Oe=require("../../providers/chat-form-provider.cjs"),De=require("../../providers/widget-provider.cjs"),Fe=require("../../hooks/use-media-query.cjs"),Te=require("./use-captcha.cjs"),Ke=require("../modal/modal-provider.cjs"),g=require("../../utils/generate-uid.cjs"),Qe=require("../../utils/tools/links-tool.cjs"),We=require("../../atoms/api/analytics/conversation.cjs"),Je=require("../../utils/misc.cjs"),ze=()=>{const{chatId:y,isSharedChat:ie,setConversation:ce,conversation:N,resetConversation:le}=xe.useInkeepConversation(),{baseSettings:q,aiChatSettings:T}=Le.useInkeepConfig(),{aiApiBaseUrl:K,shouldBypassCaptcha:Q,filters:W}=q,J=Ke.useModal(),{getSolution:ue,prefetchSolution:P,invalidateSolution:z}=Te.useCaptcha({fetchUrl:`${K}/v1/challenge`,shouldBypassCaptcha:Q,shouldMakeInitialRequest:J?J.isOpen:!0}),de=new ae({baseURL:`${K}/v1`,apiKey:q.apiKey??"",dangerouslyAllowBrowser:!0}),{onInputMessageChange:ge,getTools:me,prompts:fe,model:pe,filters:H,onToolCall:he}=T,[S,R]=t.useState(""),j=t.useRef(null);t.useEffect(()=>{ge?.(S)},[S]);const[m,l]=t.useState([]),[G,M]=t.useState(!1),[ve,C]=t.useState(!1),[ye,V]=t.useState(null),[L,X]=t.useState(null),[w,I]=t.useState([]),Se=e=>{I(s=>[...s,e])},[Me,Y]=t.useState({}),o=t.useRef([]),k=t.useRef(null),{logEvent:_}=Be.useChatEvents(),Z=fe?.map((e,s)=>({id:`system-${Date.now().toString()}-${g.generateUid(4)}-${s}`,role:"system",content:e})),[Ce,we]=t.useState(!!y);t.useEffect(()=>{if(y){const{apiKey:e,analyticsApiBaseUrl:s}=q;We.getConversation(y,e,s).then(a=>{if(a){_({eventName:"shared_chat_loaded",properties:{conversation:a}}),we(!1),ce({...a});const r=a.messages.map(f=>({...f,content:Je.parseIfJson(f.content)}));l(r),o.current=r}})}},[y]);const Ie=e=>{switch(e.code){case 400:return e.message;case 403:return`There seems to be a configuration error. Please contact ${q.organizationDisplayName??"Administrator"}`;default:return`Hmm..
|
|
2
2
|
|
|
3
|
-
It seems I might be having some issues right now. Please clear the chat and try again.`}},ee=e=>{V(e),l(s=>{const a=[...s],r=a[a.length-1];return r&&(r.content=
|
|
4
|
-
${F.serializeWorkflow(e)}`},...Z,r,f];l(p),I([])},{openForm:
|
|
3
|
+
It seems I might be having some issues right now. Please clear the chat and try again.`}},ee=e=>{V(e),l(s=>{const a=[...s],r=a[a.length-1];return r&&(r.content=Ie(e)),a}),M(!1),C(!1),z(),P()},x=!S.trim()&&!w.length||G,ke=e=>{e.key==="Enter"&&!e.shiftKey&&!x&&!e.nativeEvent.isComposing&&(e.preventDefault(),B())},be=e=>{const s=e.target.value;R(s)},B=async(e=S)=>{if(x&&(!e||e.trim().length===0))return;M(!0);const s=L?m.length===2:m.length===0,a=F.getMessageMetadata(L,w,s);let r;const f=F.serializeAttachments(w);w.length&&f?r=[{type:"text",text:f}]:r=e;const se={id:`${Date.now().toString()}-${g.generateUid(4)}-1`,role:"user",content:r,metadata:a},p=[...m.length?[]:Z,se];if(ie&&y){re.resetQueryParams();const u=o.current.map((i,E)=>({id:`${i.id}-${g.generateUid(6)}-${E}`,role:i.role,...i.role==="assistant"?{links:i.links??[]}:{},content:i.content,metadata:i.metadata,tool_calls:i.tool_calls}));l([...u,...p]),o.current=[...u,...p]}else l(u=>[...u,...p]),o.current=[...o.current,...p];I([]),R(""),_({eventName:"user_message_submitted",properties:{}},o.current);const ne=[Qe.provideLinksTool,...me?.({conversation:N})||[]];try{const u={model:pe,messages:o.current,stream:!0,tools:ne,tool_choice:"auto"},i=await ue(),E=i?btoa(JSON.stringify(i)):null,oe=W||H?JSON.stringify({...W,...H}):void 0,U={};!Q&&E&&(U["X-INKEEP-CHALLENGE-SOLUTION"]=E),oe&&(U["inkeep-filters"]=oe);const h=de.beta.chat.completions.stream(u,Object.keys(U).length>0?{headers:U}:void 0),n={id:`${Date.now().toString()}-${g.generateUid(4)}-2`,role:"assistant",content:"",links:[],tool_calls:[]};l(d=>[...d,n]),h.on("content",(d,b)=>{C(!0),n.content=b,l(A=>{const c=[...A],O=c.findIndex($=>$.id===n.id);return O===-1?[...c,n]:(c[O]={...n},c)})}),h.on("tool_calls.function.arguments.done",async d=>{const{name:b,arguments:A}=d,c=ne?.find(v=>v.function.name===b);if(!c)return;const $=("parse"in c.function?c.function.parse:JSON.parse)(A),Ue=c.function.function?.($,h),Ae=c.renderMessageButtons?.({args:$,execution:Ue})??[];b==="provideLinks"?n.links=$.links??[]:Y(v=>({...v,[n.id]:[...v[n.id]??[],...Ae]})),n.tool_calls?.push({id:"call_"+g.generateUid(24),type:"function",function:{name:b,arguments:A}}),l(v=>{const D=[...v],Ne=D.findIndex(Re=>Re.id===n.id);return D[Ne]={...n},D}),he?.(d,{conversation:{...N,messages:[...o.current,n]}})}),h.on("error",ee),h.finalChatCompletion().then(()=>{o.current=[...o.current,n],k.current=null,M(!1),C(!1),P(),_({eventName:"assistant_message_received",properties:{}},o.current)}).catch(d=>{d instanceof ae.APIUserAbortError||console.warn(d)}),k.current=h.controller}catch(u){ee(u),M(!1),C(!1)}},$e=()=>{k.current&&(k.current.abort(),k.current=null),M(!1),C(!1),P()},te=()=>{V(null),l([]),o.current=[],le(),Y({}),I([]),re.resetQueryParams(),X(null),z(),P(),_({eventName:"chat_clear_button_clicked",properties:{conversation:N}})},qe=e=>{X(e);const{initialReplyMessage:s,displayName:a}=e,r={id:m.length.toString()+g.generateUid(4),role:"user",content:a},f={id:(m.length+1).toString()+g.generateUid(4),role:"assistant",content:s,links:[]},p=[{id:`system-${Date.now().toString()}-${g.generateUid(4)}-${e.id}`,role:"system",content:`Company has asked user to follow this guided workflow:
|
|
4
|
+
${F.serializeWorkflow(e)}`},...Z,r,f];l(p),I([])},{openForm:Pe}=Oe.useChatForm(),_e=De.useWidget();t.useImperativeHandle(T.chatFunctionsRef,()=>({submitMessage:B,updateInputMessage(e){R(e)},clearChat:te,openForm:e=>{_e?.setView("chat"),Pe(e)},focusInput:()=>{j.current?.focus()}}));const Ee=Fe.useMediaQuery("(max-width: 768px)");return{messages:m,input:S,isLoading:G,isStreaming:ve,isLoadingConversation:Ce,error:ye,isSubmitDisabled:x,handleInputChange:be,handleInputKeyDown:ke,handleSubmit:B,stop:$e,clear:te,handleWorkflow:qe,selectedWorkflow:L,messageAttachments:w,setMessageAttachments:I,addAttachment:Se,messageButtons:Me,isEmpty:m.length===0,inputRef:j,isMobile:Ee}};exports.useInkeepChat=ze;
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import
|
|
3
|
-
import { useState as l, useRef as K, useEffect as ae, useImperativeHandle as
|
|
4
|
-
import { useInkeepConfig as
|
|
5
|
-
import { useInkeepConversation as
|
|
6
|
-
import { useChatEvents as
|
|
7
|
-
import { getMessageMetadata as
|
|
2
|
+
import Oe, { APIUserAbortError as Pe } from "openai";
|
|
3
|
+
import { useState as l, useRef as K, useEffect as ae, useImperativeHandle as Re } from "react";
|
|
4
|
+
import { useInkeepConfig as Ue } from "../../providers/config-provider.js";
|
|
5
|
+
import { useInkeepConversation as Fe } from "../../providers/conversation-provider.js";
|
|
6
|
+
import { useChatEvents as Ke } from "../../providers/chat-events-provider.js";
|
|
7
|
+
import { getMessageMetadata as Te, serializeAttachments as We, serializeWorkflow as Je } from "../../utils/get-message-metadata.js";
|
|
8
8
|
import { resetQueryParams as re } from "../../utils/reset-query-params.js";
|
|
9
|
-
import { useChatForm as
|
|
10
|
-
import { useWidget as
|
|
11
|
-
import { useMediaQuery as
|
|
12
|
-
import { useCaptcha as
|
|
13
|
-
import { useModal as
|
|
9
|
+
import { useChatForm as ze } from "../../providers/chat-form-provider.js";
|
|
10
|
+
import { useWidget as He } from "../../providers/widget-provider.js";
|
|
11
|
+
import { useMediaQuery as Qe } from "../../hooks/use-media-query.js";
|
|
12
|
+
import { useCaptcha as je } from "./use-captcha.js";
|
|
13
|
+
import { useModal as qe } from "../modal/modal-provider.js";
|
|
14
14
|
import { generateUid as g } from "../../utils/generate-uid.js";
|
|
15
|
-
import { provideLinksTool as
|
|
16
|
-
import { getConversation as
|
|
17
|
-
import { parseIfJson as
|
|
18
|
-
const
|
|
19
|
-
const { chatId: v,
|
|
15
|
+
import { provideLinksTool as Ge } from "../../utils/tools/links-tool.js";
|
|
16
|
+
import { getConversation as Ve } from "../../atoms/api/analytics/conversation.js";
|
|
17
|
+
import { parseIfJson as Xe } from "../../utils/misc.js";
|
|
18
|
+
const dt = () => {
|
|
19
|
+
const { chatId: v, isSharedChat: ie, setConversation: ce, conversation: B, resetConversation: le } = Fe(), { baseSettings: $, aiChatSettings: T } = Ue(), { aiApiBaseUrl: W, shouldBypassCaptcha: J, filters: z } = $, H = qe(), { getSolution: ue, prefetchSolution: E, invalidateSolution: Q } = je({
|
|
20
20
|
fetchUrl: `${W}/v1/challenge`,
|
|
21
21
|
shouldBypassCaptcha: J,
|
|
22
22
|
shouldMakeInitialRequest: H ? H.isOpen : !0
|
|
23
|
-
}),
|
|
23
|
+
}), me = new Oe({
|
|
24
24
|
baseURL: `${W}/v1`,
|
|
25
25
|
apiKey: $.apiKey ?? "",
|
|
26
26
|
dangerouslyAllowBrowser: !0
|
|
27
27
|
}), {
|
|
28
|
-
onInputMessageChange:
|
|
29
|
-
getTools:
|
|
30
|
-
prompts:
|
|
31
|
-
model:
|
|
28
|
+
onInputMessageChange: ge,
|
|
29
|
+
getTools: pe,
|
|
30
|
+
prompts: de,
|
|
31
|
+
model: fe,
|
|
32
32
|
filters: j,
|
|
33
|
-
onToolCall:
|
|
33
|
+
onToolCall: he
|
|
34
34
|
} = T, [w, D] = l(""), q = K(null);
|
|
35
35
|
ae(() => {
|
|
36
|
-
|
|
36
|
+
ge?.(w);
|
|
37
37
|
}, [w]);
|
|
38
|
-
const [p, c] = l([]), [G,
|
|
38
|
+
const [p, c] = l([]), [G, C] = l(!1), [ye, I] = l(!1), [ve, V] = l(null), [O, X] = l(null), [M, S] = l([]), we = (e) => {
|
|
39
39
|
S((t) => [...t, e]);
|
|
40
|
-
}, [
|
|
40
|
+
}, [Ce, Y] = l({}), n = K([]), k = K(null), { logEvent: A } = Ke(), Z = de?.map((e, t) => ({
|
|
41
41
|
id: `system-${Date.now().toString()}-${g(4)}-${t}`,
|
|
42
42
|
role: "system",
|
|
43
43
|
content: e
|
|
@@ -45,24 +45,24 @@ const pt = () => {
|
|
|
45
45
|
ae(() => {
|
|
46
46
|
if (v) {
|
|
47
47
|
const { apiKey: e, analyticsApiBaseUrl: t } = $;
|
|
48
|
-
|
|
48
|
+
Ve(v, e, t).then((o) => {
|
|
49
49
|
if (o) {
|
|
50
50
|
A({
|
|
51
51
|
eventName: "shared_chat_loaded",
|
|
52
52
|
properties: {
|
|
53
53
|
conversation: o
|
|
54
54
|
}
|
|
55
|
-
}), Me(!1),
|
|
55
|
+
}), Me(!1), ce({ ...o });
|
|
56
56
|
const a = o.messages.map((d) => ({
|
|
57
57
|
...d,
|
|
58
|
-
content:
|
|
58
|
+
content: Xe(d.content)
|
|
59
59
|
}));
|
|
60
60
|
c(a), n.current = a;
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
}, [v]);
|
|
65
|
-
const
|
|
65
|
+
const Se = (e) => {
|
|
66
66
|
switch (e.code) {
|
|
67
67
|
case 400:
|
|
68
68
|
return e.message;
|
|
@@ -76,27 +76,27 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
76
76
|
}, ee = (e) => {
|
|
77
77
|
V(e), c((t) => {
|
|
78
78
|
const o = [...t], a = o[o.length - 1];
|
|
79
|
-
return a && (a.content =
|
|
80
|
-
}),
|
|
81
|
-
}, P = !w.trim() && !
|
|
79
|
+
return a && (a.content = Se(e)), o;
|
|
80
|
+
}), C(!1), I(!1), Q(), E();
|
|
81
|
+
}, P = !w.trim() && !M.length || G, ke = (e) => {
|
|
82
82
|
e.key === "Enter" && !e.shiftKey && !P && !e.nativeEvent.isComposing && (e.preventDefault(), R());
|
|
83
|
-
},
|
|
83
|
+
}, be = (e) => {
|
|
84
84
|
const t = e.target.value;
|
|
85
85
|
D(t);
|
|
86
86
|
}, R = async (e = w) => {
|
|
87
87
|
if (P && (!e || e.trim().length === 0)) return;
|
|
88
|
-
|
|
89
|
-
const t = O ? p.length === 2 : p.length === 0, o =
|
|
88
|
+
C(!0);
|
|
89
|
+
const t = O ? p.length === 2 : p.length === 0, o = Te(O, M, t);
|
|
90
90
|
let a;
|
|
91
|
-
const d =
|
|
92
|
-
|
|
91
|
+
const d = We(M);
|
|
92
|
+
M.length && d ? a = [{ type: "text", text: d }] : a = e;
|
|
93
93
|
const se = {
|
|
94
94
|
id: `${Date.now().toString()}-${g(4)}-1`,
|
|
95
95
|
role: "user",
|
|
96
96
|
content: a,
|
|
97
97
|
metadata: o
|
|
98
98
|
}, f = [...p.length ? [] : Z, se];
|
|
99
|
-
if (v) {
|
|
99
|
+
if (ie && v) {
|
|
100
100
|
re();
|
|
101
101
|
const u = n.current.map((r, N) => ({
|
|
102
102
|
id: `${r.id}-${g(6)}-${N}`,
|
|
@@ -116,20 +116,20 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
116
116
|
},
|
|
117
117
|
n.current
|
|
118
118
|
);
|
|
119
|
-
const ne = [
|
|
119
|
+
const ne = [Ge, ...pe?.({ conversation: B }) || []];
|
|
120
120
|
try {
|
|
121
121
|
const u = {
|
|
122
|
-
model:
|
|
122
|
+
model: fe,
|
|
123
123
|
messages: n.current,
|
|
124
124
|
stream: !0,
|
|
125
125
|
tools: ne,
|
|
126
126
|
tool_choice: "auto"
|
|
127
|
-
}, r = await
|
|
127
|
+
}, r = await ue(), N = r ? btoa(JSON.stringify(r)) : null, oe = z || j ? JSON.stringify({
|
|
128
128
|
...z,
|
|
129
129
|
...j
|
|
130
130
|
}) : void 0, x = {};
|
|
131
131
|
!J && N && (x["X-INKEEP-CHALLENGE-SOLUTION"] = N), oe && (x["inkeep-filters"] = oe);
|
|
132
|
-
const h =
|
|
132
|
+
const h = me.beta.chat.completions.stream(
|
|
133
133
|
u,
|
|
134
134
|
Object.keys(x).length > 0 ? { headers: x } : void 0
|
|
135
135
|
), s = {
|
|
@@ -140,17 +140,17 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
140
140
|
tool_calls: []
|
|
141
141
|
};
|
|
142
142
|
c((m) => [...m, s]), h.on("content", (m, b) => {
|
|
143
|
-
|
|
143
|
+
I(!0), s.content = b, c((L) => {
|
|
144
144
|
const i = [...L], U = i.findIndex((_) => _.id === s.id);
|
|
145
145
|
return U === -1 ? [...i, s] : (i[U] = { ...s }, i);
|
|
146
146
|
});
|
|
147
147
|
}), h.on("tool_calls.function.arguments.done", async (m) => {
|
|
148
148
|
const { name: b, arguments: L } = m, i = ne?.find((y) => y.function.name === b);
|
|
149
149
|
if (!i) return;
|
|
150
|
-
const _ = ("parse" in i.function ? i.function.parse : JSON.parse)(L),
|
|
150
|
+
const _ = ("parse" in i.function ? i.function.parse : JSON.parse)(L), xe = i.function.function?.(_, h), Le = i.renderMessageButtons?.({ args: _, execution: xe }) ?? [];
|
|
151
151
|
b === "provideLinks" ? s.links = _.links ?? [] : Y((y) => ({
|
|
152
152
|
...y,
|
|
153
|
-
[s.id]: [...y[s.id] ?? [], ...
|
|
153
|
+
[s.id]: [...y[s.id] ?? [], ...Le]
|
|
154
154
|
})), s.tool_calls?.push({
|
|
155
155
|
id: "call_" + g(24),
|
|
156
156
|
type: "function",
|
|
@@ -159,16 +159,16 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
159
159
|
arguments: L
|
|
160
160
|
}
|
|
161
161
|
}), c((y) => {
|
|
162
|
-
const F = [...y],
|
|
163
|
-
return F[
|
|
164
|
-
}),
|
|
162
|
+
const F = [...y], Be = F.findIndex((De) => De.id === s.id);
|
|
163
|
+
return F[Be] = { ...s }, F;
|
|
164
|
+
}), he?.(m, {
|
|
165
165
|
conversation: {
|
|
166
166
|
...B,
|
|
167
167
|
messages: [...n.current, s]
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
170
|
}), h.on("error", ee), h.finalChatCompletion().then(() => {
|
|
171
|
-
n.current = [...n.current, s], k.current = null,
|
|
171
|
+
n.current = [...n.current, s], k.current = null, C(!1), I(!1), E(), A(
|
|
172
172
|
{
|
|
173
173
|
eventName: "assistant_message_received",
|
|
174
174
|
properties: {}
|
|
@@ -176,21 +176,21 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
176
176
|
n.current
|
|
177
177
|
);
|
|
178
178
|
}).catch((m) => {
|
|
179
|
-
m instanceof
|
|
179
|
+
m instanceof Pe || console.warn(m);
|
|
180
180
|
}), k.current = h.controller;
|
|
181
181
|
} catch (u) {
|
|
182
|
-
ee(u),
|
|
182
|
+
ee(u), C(!1), I(!1);
|
|
183
183
|
}
|
|
184
|
-
},
|
|
185
|
-
k.current && (k.current.abort(), k.current = null),
|
|
184
|
+
}, _e = () => {
|
|
185
|
+
k.current && (k.current.abort(), k.current = null), C(!1), I(!1), E();
|
|
186
186
|
}, te = () => {
|
|
187
|
-
V(null), c([]), n.current = [],
|
|
187
|
+
V(null), c([]), n.current = [], le(), Y({}), S([]), re(), X(null), Q(), E(), A({
|
|
188
188
|
eventName: "chat_clear_button_clicked",
|
|
189
189
|
properties: {
|
|
190
190
|
conversation: B
|
|
191
191
|
}
|
|
192
192
|
});
|
|
193
|
-
},
|
|
193
|
+
}, $e = (e) => {
|
|
194
194
|
X(e);
|
|
195
195
|
const { initialReplyMessage: t, displayName: o } = e, a = {
|
|
196
196
|
id: p.length.toString() + g(4),
|
|
@@ -205,48 +205,48 @@ It seems I might be having some issues right now. Please clear the chat and try
|
|
|
205
205
|
id: `system-${Date.now().toString()}-${g(4)}-${e.id}`,
|
|
206
206
|
role: "system",
|
|
207
207
|
content: `Company has asked user to follow this guided workflow:
|
|
208
|
-
${
|
|
208
|
+
${Je(e)}`
|
|
209
209
|
}, ...Z, a, d];
|
|
210
210
|
c(f), S([]);
|
|
211
|
-
}, { openForm:
|
|
212
|
-
|
|
211
|
+
}, { openForm: Ee } = ze(), Ae = He();
|
|
212
|
+
Re(T.chatFunctionsRef, () => ({
|
|
213
213
|
submitMessage: R,
|
|
214
214
|
updateInputMessage(e) {
|
|
215
215
|
D(e);
|
|
216
216
|
},
|
|
217
217
|
clearChat: te,
|
|
218
218
|
openForm: (e) => {
|
|
219
|
-
|
|
219
|
+
Ae?.setView("chat"), Ee(e);
|
|
220
220
|
},
|
|
221
221
|
focusInput: () => {
|
|
222
222
|
q.current?.focus();
|
|
223
223
|
}
|
|
224
224
|
}));
|
|
225
|
-
const
|
|
225
|
+
const Ne = Qe("(max-width: 768px)");
|
|
226
226
|
return {
|
|
227
227
|
messages: p,
|
|
228
228
|
input: w,
|
|
229
229
|
isLoading: G,
|
|
230
|
-
isStreaming:
|
|
230
|
+
isStreaming: ye,
|
|
231
231
|
isLoadingConversation: Ie,
|
|
232
|
-
error:
|
|
232
|
+
error: ve,
|
|
233
233
|
isSubmitDisabled: P,
|
|
234
|
-
handleInputChange:
|
|
235
|
-
handleInputKeyDown:
|
|
234
|
+
handleInputChange: be,
|
|
235
|
+
handleInputKeyDown: ke,
|
|
236
236
|
handleSubmit: R,
|
|
237
|
-
stop:
|
|
237
|
+
stop: _e,
|
|
238
238
|
clear: te,
|
|
239
|
-
handleWorkflow:
|
|
239
|
+
handleWorkflow: $e,
|
|
240
240
|
selectedWorkflow: O,
|
|
241
|
-
messageAttachments:
|
|
241
|
+
messageAttachments: M,
|
|
242
242
|
setMessageAttachments: S,
|
|
243
|
-
addAttachment:
|
|
244
|
-
messageButtons:
|
|
243
|
+
addAttachment: we,
|
|
244
|
+
messageButtons: Ce,
|
|
245
245
|
isEmpty: p.length === 0,
|
|
246
246
|
inputRef: q,
|
|
247
|
-
isMobile:
|
|
247
|
+
isMobile: Ne
|
|
248
248
|
};
|
|
249
249
|
};
|
|
250
250
|
export {
|
|
251
|
-
|
|
251
|
+
dt as useInkeepChat
|
|
252
252
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),p=require("../atoms/cmdk/index.cjs"),r=require("./factory.cjs"),h=require("../utils/misc.cjs"),l=require("react"),m=require("./embedded-search/search-provider.cjs"),Oe=require("./tagline-logo-icon.cjs"),E=require("../atoms/icons/custom-icon.cjs"),je=require("@radix-ui/react-scroll-area"),qe=require("@radix-ui/react-tabs"),R=require("../providers/config-provider.cjs"),Be=require("../providers/search-events-provider.cjs"),y=require("../atoms/link.cjs"),S=require("../providers/source-item-provider.cjs"),C=require("../atoms/icons/built-in-icon-renderer.cjs"),Me=require("../utils/highlight-emphasis.cjs"),Ne=require("../hooks/use-scrolling-fades.cjs"),He=require("@inkeep/cxkit-color-mode"),Ue=require("../atoms/avatars/ai.cjs"),Qe=require("./modal/modal-provider.cjs"),f=require("../utils/compose-refs.cjs"),A=require("../utils/compose-event-handlers.cjs"),Fe=require("../atoms/shadow/context.cjs"),Ge=require("../atoms/markdown/index.cjs"),O=require("../hooks/use-media-query.cjs"),De=require("./embedded-search/use-search-filter.cjs"),Ke=require("./embedded-search/url-query.cjs"),k=require("../constants/search.cjs"),Ve=require("./modal/widget-auto-focus.cjs");function M(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const T=M(je),L=M(qe),We=r.ikp("div",{_id:"aiSearchWrapper"}),N=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{isHidden:i,hasContent:s}=m.useSearch(),n=O.useMediaQuery("(max-width: 768px)"),c=Qe.useModal();return a.jsx(We,{"data-hidden":h.dataAttr(i),"data-has-content":h.dataAttr(s),"data-in-modal":h.dataAttr(!!c),"data-mobile":h.dataAttr(n),"data-view":t,"data-dual-pane-search-expanded":h.dataAttr(s&&t==="dual-pane"&&!i),...e})},$e=r.ikp("div",{_id:"aiSearchRoot"}),H=e=>{const{isHidden:t}=m.useSearch(),i=O.useMediaQuery("(max-width: 768px)");return a.jsx($e,{"data-hidden":h.dataAttr(t),"data-mobile":h.dataAttr(i),...e})},U=r.ikp(p.Command.List,{_id:"aiSearchContent"}),Q=l.forwardRef((e,t)=>{const i=p.useCommandState(s=>s.value);return a.jsx(U,{"aria-activedescendant":`aiSearchResults__Item-${i}`,...e,ref:t})}),F=r.ikp("div",{_id:"aiSearchInputGroup"}),G=r.ikp(E.CustomIcon,{_id:"aiSearchInputIcon",iconKey:"search"}),ze=r.ikp(p.Command.Input,{_id:"aiSearchInput"}),D=l.forwardRef(({onInput:e,...t},i)=>{const{inputRef:s,shouldAutoFocusInput:n}=m.useSearch(),c=p.useCommandState(v=>v.value),o=O.useMediaQuery("(max-width: 768px)"),{searchSettings:d}=R.useInkeepConfig(),u=l.useMemo(()=>d.placeholder||(o?"Search...":"Search for anything..."),[d.placeholder,o]),b=f.useComposedRefs(i,s);return Ve.useWidgetAutoFocus("search",s,n),De.useSearchFetch(),a.jsx(ze,{ref:b,placeholder:u,"aria-activedescendant":`aiSearchResults__Item-${c}`,...t})}),Je=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchLoading",iconSettings:{builtIn:"LuLoaderCircle"}}),K=e=>{const{loading:t,resultsList:i}=m.useSearch();return!t||i.length===0?null:a.jsx(Je,{...e})},Xe=r.ikp(p.Command.Item,{_id:"aiAskAITrigger",value:k.ASK_AI_TRIGGER_VALUE}),V=e=>{const{results:t,tab:i}=m.useSearch(),s=p.useCommandStore(),n=t[i]?.[0]?.id??"NONE";return a.jsx(Xe,{...e,id:`aiSearchResults__Item-${k.ASK_AI_TRIGGER_VALUE}`,tabIndex:0,onPointerLeave:()=>s.setState("value",n,!0)})},Ye=r.ikp("img",{_id:"aiAskAITrigger__Icon"}),W=e=>{const{aiChatSettings:t}=R.useInkeepConfig(),{aiAssistantAvatar:i}=t??{},s=typeof i=="string"?i:i?.light,n=(typeof i=="string"?i:i?.dark)??s,c=He.useColorModeValue(s,n),[o,d]=l.useState(c);l.useEffect(()=>{d(c)},[c]);const u=()=>{d(null)};return a.jsx(Ye,{asChild:!0,...e,children:o?a.jsx("img",{src:o,alt:"AI Avatar","data-type":"image",onError:A.composeEventHandlers(u),...e}):a.jsx(Ue.default,{"data-type":"icon",...e})})},$=r.ikp("span",{_id:"aiAskAITrigger__Label"}),z=r.ikp("span",{_id:"aiAskAITrigger__Query"}),J=r.ikp(E.CustomIcon,{_id:"aiAskAITrigger__Indicator",iconKey:"openLinkInSameTab"}),X=r.ikp("span",{_id:"aiAskAITrigger__IndicatorText"}),Ze=r.ikp(L.Root,{_id:"aiSearchResults"}),Y=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{tab:i,setTab:s,hasContent:n,isHidden:c,disableTransition:o,results:d,defaultTab:u}=m.useSearch(),b=p.useCommandStore(),v=l.useCallback(I=>{o(),s(I);const P=d[I][0]?d[I][0]?.id:void 0;b.setState("value",P,!0)},[d,o]);return l.useEffect(()=>{let I=i in d?i:Object.keys(d)[0];if(!d[I]?.length){const _=Object.keys(d).find(w=>d[w]?.length);_?I=_:I=u}if(!I)return;s(I);const P=d[I]?.[0];P&&b.setState("value",P.id,!0)},[d]),a.jsx(Ze,{value:i,onValueChange:v,"data-has-content":h.dataAttr(n),"data-dual-pane-search-expanded":h.dataAttr(n&&t==="dual-pane"&&!c),...e})},et=r.ikp("div",{_id:"aiSearchResults__Loading"}),Z=e=>{const{loading:t,resultsList:i}=m.useSearch();return!t||i.length>0?null:a.jsx(et,{...e})},tt=r.ikp(p.Command.Empty,{_id:"aiSearchResults__Empty"}),ee=e=>{const t=p.useCommandState(o=>o.search),{loading:i,results:s,tab:n}=m.useSearch(),c=s[n]?.length;return i||!t||c?null:a.jsx(tt,{children:"No results found.",...e})},it=r.ikp(L.List,{_id:"aiSearchResults__TabList"}),te=e=>{const{children:t,...i}=e,{searchSettings:{tabs:s}}=R.useInkeepConfig(),{results:n,loading:c,resultsList:o}=m.useSearch();if(c&&o.length===0)return null;const d=Object.keys(n);return!s.length||!d.length?null:a.jsx(it,{tabIndex:-1,children:h.maybeRender(t,d),...i})},rt=r.ikp(L.Trigger,{_id:"aiSearchResults__Tab"}),ie=l.forwardRef((e,t)=>{const i=l.useRef(null),s=f.useComposedRefs(t,i),{tab:n,onClick:c,...o}=e,{results:d,tab:u,inputRef:b}=m.useSearch(),v=d[n].length,I=n===u,P=()=>{b.current?.focus()},_=Fe.useShadow();return l.useEffect(()=>{I&&_?.shadowHost?.shadowRoot?.activeElement?.hasAttribute("ikp-tab")&&i.current?.focus()},[I]),a.jsx(rt,{ref:s,"ikp-tab":"",tabIndex:I?0:-1,value:n,children:`${n} (${v})`,onClick:A.composeEventHandlers(c,P),...o})}),re=r.ikp("div",{_id:"aiSearchResults__Content"}),st=r.ikp(T.Root,{_id:"aiSearchResults__ScrollArea"}),se=e=>{const{loading:t,resultsList:i}=m.useSearch();return t&&i.length===0?null:a.jsx(st,{tabIndex:-1,...e})},nt=r.ikp(T.Viewport,{_id:"aiSearchResults__ScrollAreaViewport"}),ne=l.forwardRef(({children:e,...t},i)=>{const s=Ne.useScrollingFades(),n=f.useComposedRefs(i,s),{tab:c}=m.useSearch();return l.useEffect(()=>{c&&s.current?.scrollTo({top:0,behavior:"auto"})},[c]),a.jsx(nt,{ref:n,tabIndex:-1,children:a.jsx("div",{tabIndex:-1,style:{display:"grid"},children:e}),...t})}),at=r.ikp(T.ScrollAreaScrollbar,{_id:"aiSearchResults__ScrollAreaScrollbar"}),ct=r.ikp(T.ScrollAreaThumb,{_id:"aiSearchResults__ScrollAreaThumb"}),dt=r.ikp(T.Corner,{_id:"aiSearchResults__ScrollAreaCorner"}),ot=r.ikp(L.Content,{_id:"aiSearchResults__List"}),ae=e=>{const{children:t,...i}=e,{results:s,tab:n}=m.useSearch(),c=s[n]??[];return a.jsx(ot,{value:n,"data-has-results":h.dataAttr(c.length>0),"aria-label":"Search results",children:h.maybeRender(t,c),tabIndex:-1,...i})},ut=r.ikp(p.Command.Item,{_id:"aiSearchResults__Item",asChild:!0}),ce=l.forwardRef(({item:e,onClick:t,onSelect:i,children:s,...n},c)=>{const{searchSettings:{shouldOpenLinksInNewTab:o,view:d,searchQueryParamKey:u}}=R.useInkeepConfig(),{logEvent:b}=Be.useSearchEvents(),v=p.useCommandState(g=>g.search),{transitionsDisabled:I}=m.useSearch(),P=p.useCommandState(g=>g.value),_=l.useRef(null),w=f.useComposedRefs(c,_),q=l.useCallback(g=>{g.trigger==="keyboard"&&_.current?.click()},[]),Le=l.useCallback(()=>{b({eventName:"search_result_clicked",properties:{searchQuery:v,title:e.title,url:e.url}})},[b,v,e.title,e.url]),x=l.useMemo(()=>e.shouldOpenInNewTab!==void 0?e.shouldOpenInNewTab:o,[e.shouldOpenInNewTab,o]),B=P===e.id,xe=P==="NONE"||P===k.ASK_AI_TRIGGER_VALUE,ye=B||xe,Ce=l.useMemo(()=>({href:u?Ke.getUrlWithQuery(e.url,v,u):e.url,isExternal:x,appendToUrl:e.appendToUrl,children:s,id:`aiSearchResults__Item-${e.id}`}),[e.url,x,e.appendToUrl,s,e.id,u,v]);return a.jsx(S.SourceItemProvider,{source:{...e,isExternal:x},children:a.jsx(ut,{ref:w,value:e.id,"data-type":e.type,"data-breadcrumbs":!!e.breadcrumbs?.length,"data-disable-transitions":h.dataAttr(I),"data-view":d,onSelect:A.composeEventHandlers(i,q),onClick:A.composeEventHandlers(t,Le),"data-selected":h.dataAttr(B),tabIndex:ye?0:-1,...n,children:a.jsx(y.LinkWithQueryParams,{...Ce})})})}),lt=r.ikp("div",{_id:"aiSearchResults__ItemBreadcrumbs"}),j=e=>{const{source:t}=S.useSourceItem(),{tab:i}=m.useSearch();if(!t.breadcrumbs?.length)return null;const{children:s,...n}=e,o=t.tabs?.find(d=>typeof d!="string"&&d[0]===i)?.[1]?.breadcrumbs??t.breadcrumbs??[];return a.jsx(lt,{"aria-hidden":"true",children:h.maybeRender(s,o),...n})},de=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemBreadcrumbIcon",iconKey:"breadcrumbSeparator"}),mt=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchResults__ItemIcon"}),oe=e=>{const{source:t}=S.useSourceItem();return a.jsx(mt,{iconSettings:t.icon,"data-type":t.type,...e})},ht=r.ikp("span",{_id:"aiSearchResults__ItemTitle"}),ue=e=>{const{source:t}=S.useSourceItem();return a.jsx(ht,{"data-type":t.type,children:t.title,...e})},It=r.ikp("span",{_id:"aiSearchResults__ItemTag"}),le=e=>{const{source:t}=S.useSourceItem();return a.jsx(It,{"data-type":t.type,children:t.tag,...e})},vt=r.ikp("span",{_id:"aiSearchResults__ItemDescription"}),me=e=>{const{source:t}=S.useSourceItem(),{children:i,...s}=e,n=l.useMemo(()=>t.description?Me.highlightEmphasis(t.description):[],[t.description]);return n.length?a.jsx(vt,{"data-type":t.type,"aria-hidden":"true",children:h.maybeRender(i,n),...s}):null},St=r.ikp("span",{_id:"aiSearchResults__ItemDescriptionPart"}),he=e=>{const{part:t,...i}=e,{source:s}=S.useSourceItem();return typeof t=="string"?t:a.jsx(St,{"data-type":s.type,children:t.content,"data-highlighted":h.dataAttr(t.highlighted),...i})},bt=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemIndicator"}),Ie=e=>{const{source:t}=S.useSourceItem(),{searchSettings:{view:i}}=R.useInkeepConfig();return a.jsx(bt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab","data-view":i,...e})},pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview","aria-hidden":!0}),ve=e=>{const{searchSettings:{view:t,shouldOpenLinksInNewTab:i}}=R.useInkeepConfig(),{results:s,tab:n}=m.useSearch(),c=p.useCommandState(v=>v.value),o=s[n]??[],d=l.useRef(null),u=l.useMemo(()=>{if(c===k.ASK_AI_TRIGGER_VALUE)return d.current;const v=o.find(I=>I.id===c);return d.current=v??null,v},[c]);if(t!=="dual-pane"||c===k.ASK_AI_TRIGGER_VALUE||!u)return null;const b=u.shouldOpenInNewTab!==void 0?u.shouldOpenInNewTab:i;return a.jsx(S.SourceItemProvider,{source:{...u,isExternal:b},children:a.jsx(pt,{...e})})},Pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Header"}),Rt=r.ikp(y.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Heading"}),Se=e=>{const{source:t}=S.useSourceItem();return a.jsx(Rt,{href:t.url,isExternal:t.isExternal,appendToUrl:t.appendToUrl,"data-type":t.type,...e})},_t=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Title"}),be=e=>{const{source:t}=S.useSourceItem();return a.jsx(_t,{children:t.title,...e})},gt=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemPreview__Title__LinkIcon",iconKey:"openLinkInNewTab"}),pe=e=>{const{source:t}=S.useSourceItem();return a.jsx(gt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab",...e})},Et=r.ikp(j,{_id:"aiSearchResults__ItemPreview__Breadcrumbs"}),Pe=r.ikp(de,{_id:"aiSearchResults__ItemPreview__BreadcrumbIcon"}),kt=r.ikp(Ge.Markdown,{_id:"aiSearchResults__ItemPreview__Body"}),Re=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch(),s=i.find(c=>c.id===t.id),{searchSettings:{shouldOpenLinksInNewTab:n}}=R.useInkeepConfig();return s?a.jsx(kt,{shouldOpenLinksInNewTab:n,children:s.preview,...e}):null},Tt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Outline"}),_e=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch();return i.find(c=>c.id===t.id)?.rootRecord.topLevelHeadings?.length?a.jsx(Tt,{...e}):null},ge=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__Title",children:"On this page"}),wt=r.ikp("ul",{_id:"aiSearchResults__ItemPreview__Outline__List"}),Ee=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch(),s=i.find(u=>u.id===t.id),n=s?.rootRecord.topLevelHeadings;if(!n?.length)return null;const c=n.map(u=>{const b=u?.anchor&&u?.anchor===s?.content?.anchor,v=u?.anchor===s?.pathHeadings?.[0]?.anchor;return{...u,isMatch:b||v}}),{children:o,...d}=e;return a.jsx(wt,{children:h.maybeRender(o,c),...d})},At=r.ikp(y.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Outline__Item"}),ke=e=>{const{searchSettings:{shouldOpenLinksInNewTab:t}}=R.useInkeepConfig();return a.jsx(At,{isExternal:t,...e})},Te=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemPreview__Outline__ItemIcon",iconKey:"newLine"}),ft=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__ItemText"}),we=e=>a.jsx(ft,{...e}),Ae=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchResults__ItemPreview__Outline__ItemLinkIcon",iconSettings:{builtIn:"LuLink"}}),Lt=r.ikp("div",{_id:"aiSearchFooter"}),fe=e=>{const{hasContent:t}=m.useSearch();return a.jsx(Lt,{"data-has-results":h.dataAttr(t),...e})},xt=r.ikp("div",{_id:"aiSearchTagline__Container"}),yt=r.ikp("span",{_id:"aiSearchTagline__Text",children:"Powered by"}),Ct=r.ikp(Oe.default,{_id:"aiSearchTagline__Logo"}),Ot=r.ikp("a",{_id:"aiSearchTagline__BrandName",children:"inkeep",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer"});exports.Provider=m.SearchProvider;exports.AskAITrigger=V;exports.AskAITriggerIcon=W;exports.AskAITriggerIndicator=J;exports.AskAITriggerIndicatorText=X;exports.AskAITriggerLabel=$;exports.AskAITriggerQuery=z;exports.Content=Q;exports.EmbeddedSearchInputIcon=G;exports.EmbeddedSearchPrimitiveAskAITrigger=V;exports.EmbeddedSearchPrimitiveAskAITriggerIcon=W;exports.EmbeddedSearchPrimitiveAskAITriggerIndicator=J;exports.EmbeddedSearchPrimitiveAskAITriggerIndicatorText=X;exports.EmbeddedSearchPrimitiveAskAITriggerLabel=$;exports.EmbeddedSearchPrimitiveAskAITriggerQuery=z;exports.EmbeddedSearchPrimitiveContent=Q;exports.EmbeddedSearchPrimitiveFooter=fe;exports.EmbeddedSearchPrimitiveInput=D;exports.EmbeddedSearchPrimitiveInputGroup=F;exports.EmbeddedSearchPrimitiveLoading=K;exports.EmbeddedSearchPrimitiveResults=Y;exports.EmbeddedSearchPrimitiveResultsContent=re;exports.EmbeddedSearchPrimitiveResultsEmpty=ee;exports.EmbeddedSearchPrimitiveResultsItem=ce;exports.EmbeddedSearchPrimitiveResultsItemBreadcrumbs=j;exports.EmbeddedSearchPrimitiveResultsItemDescription=me;exports.EmbeddedSearchPrimitiveResultsItemDescriptionPart=he;exports.EmbeddedSearchPrimitiveResultsItemIcon=oe;exports.EmbeddedSearchPrimitiveResultsItemIndicator=Ie;exports.EmbeddedSearchPrimitiveResultsItemPreview=ve;exports.EmbeddedSearchPrimitiveResultsItemPreviewBody=Re;exports.EmbeddedSearchPrimitiveResultsItemPreviewBreadcrumbIcon=Pe;exports.EmbeddedSearchPrimitiveResultsItemPreviewHeading=Se;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutline=_e;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItem=ke;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemIcon=Te;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemLinkIcon=Ae;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemText=we;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineList=Ee;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineTitle=ge;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitle=be;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitleLinkIcon=pe;exports.EmbeddedSearchPrimitiveResultsItemTag=le;exports.EmbeddedSearchPrimitiveResultsItemTitle=ue;exports.EmbeddedSearchPrimitiveResultsList=ae;exports.EmbeddedSearchPrimitiveResultsLoading=Z;exports.EmbeddedSearchPrimitiveResultsScrollArea=se;exports.EmbeddedSearchPrimitiveResultsScrollAreaViewport=ne;exports.EmbeddedSearchPrimitiveResultsTab=ie;exports.EmbeddedSearchPrimitiveResultsTabList=te;exports.EmbeddedSearchPrimitiveRoot=H;exports.EmbeddedSearchPrimitiveWrapper=N;exports.Footer=fe;exports.Input=D;exports.InputGroup=F;exports.InputIcon=G;exports.Loading=K;exports.PrimitiveContent=U;exports.Results=Y;exports.ResultsContent=re;exports.ResultsEmpty=ee;exports.ResultsItem=ce;exports.ResultsItemBreadcrumbIcon=de;exports.ResultsItemBreadcrumbs=j;exports.ResultsItemDescription=me;exports.ResultsItemDescriptionPart=he;exports.ResultsItemIcon=oe;exports.ResultsItemIndicator=Ie;exports.ResultsItemPreview=ve;exports.ResultsItemPreviewBody=Re;exports.ResultsItemPreviewBreadcrumbIcon=Pe;exports.ResultsItemPreviewBreadcrumbs=Et;exports.ResultsItemPreviewHeader=Pt;exports.ResultsItemPreviewHeading=Se;exports.ResultsItemPreviewOutline=_e;exports.ResultsItemPreviewOutlineItem=ke;exports.ResultsItemPreviewOutlineItemIcon=Te;exports.ResultsItemPreviewOutlineItemLinkIcon=Ae;exports.ResultsItemPreviewOutlineItemText=we;exports.ResultsItemPreviewOutlineList=Ee;exports.ResultsItemPreviewOutlineTitle=ge;exports.ResultsItemPreviewTitle=be;exports.ResultsItemPreviewTitleLinkIcon=pe;exports.ResultsItemTag=le;exports.ResultsItemTitle=ue;exports.ResultsList=ae;exports.ResultsLoading=Z;exports.ResultsScrollArea=se;exports.ResultsScrollAreaCorner=dt;exports.ResultsScrollAreaScrollbar=at;exports.ResultsScrollAreaThumb=ct;exports.ResultsScrollAreaViewport=ne;exports.ResultsTab=ie;exports.ResultsTabList=te;exports.Root=H;exports.TaglineBrandName=Ot;exports.TaglineContainer=xt;exports.TaglineLogo=Ct;exports.TaglineText=yt;exports.Wrapper=N;
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),p=require("../atoms/cmdk/index.cjs"),r=require("./factory.cjs"),h=require("../utils/misc.cjs"),l=require("react"),m=require("./embedded-search/search-provider.cjs"),Oe=require("./tagline-logo-icon.cjs"),E=require("../atoms/icons/custom-icon.cjs"),je=require("@radix-ui/react-scroll-area"),qe=require("@radix-ui/react-tabs"),R=require("../providers/config-provider.cjs"),Be=require("../providers/search-events-provider.cjs"),y=require("../atoms/link.cjs"),S=require("../providers/source-item-provider.cjs"),C=require("../atoms/icons/built-in-icon-renderer.cjs"),Me=require("../utils/highlight-emphasis.cjs"),Ne=require("../hooks/use-scrolling-fades.cjs"),He=require("@inkeep/cxkit-color-mode"),Ue=require("../atoms/avatars/ai.cjs"),Qe=require("./modal/modal-provider.cjs"),f=require("../utils/compose-refs.cjs"),A=require("../utils/compose-event-handlers.cjs"),Fe=require("../atoms/shadow/context.cjs"),Ge=require("../atoms/markdown/index.cjs"),O=require("../hooks/use-media-query.cjs"),De=require("./embedded-search/use-search-filter.cjs"),Ke=require("./embedded-search/url-query.cjs"),k=require("../constants/search.cjs"),Ve=require("./modal/widget-auto-focus.cjs");function M(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const s=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,s.get?s:{enumerable:!0,get:()=>e[i]})}}return t.default=e,Object.freeze(t)}const T=M(je),x=M(qe),We=r.ikp("div",{_id:"aiSearchWrapper"}),N=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{isHidden:i,hasContent:s}=m.useSearch(),n=O.useMediaQuery("(max-width: 768px)"),c=Qe.useModal();return a.jsx(We,{"data-hidden":h.dataAttr(i),"data-has-content":h.dataAttr(s),"data-in-modal":h.dataAttr(!!c),"data-mobile":h.dataAttr(n),"data-view":t,"data-dual-pane-search-expanded":h.dataAttr(s&&t==="dual-pane"&&!i),...e})},$e=r.ikp("div",{_id:"aiSearchRoot"}),H=e=>{const{isHidden:t}=m.useSearch(),i=O.useMediaQuery("(max-width: 768px)");return a.jsx($e,{"data-hidden":h.dataAttr(t),"data-mobile":h.dataAttr(i),...e})},U=r.ikp(p.Command.List,{_id:"aiSearchContent"}),Q=l.forwardRef((e,t)=>{const i=p.useCommandState(s=>s.value);return a.jsx(U,{"aria-activedescendant":`aiSearchResults__Item-${i}`,...e,ref:t})}),F=r.ikp("div",{_id:"aiSearchInputGroup"}),G=r.ikp(E.CustomIcon,{_id:"aiSearchInputIcon",iconKey:"search"}),ze=r.ikp(p.Command.Input,{_id:"aiSearchInput"}),D=l.forwardRef(({onInput:e,...t},i)=>{const{inputRef:s,shouldAutoFocusInput:n}=m.useSearch(),c=p.useCommandState(v=>v.value),o=O.useMediaQuery("(max-width: 768px)"),{searchSettings:d}=R.useInkeepConfig(),u=l.useMemo(()=>d.placeholder||(o?"Search...":"Search for anything..."),[d.placeholder,o]),b=f.useComposedRefs(i,s);return Ve.useWidgetAutoFocus("search",s,n),De.useSearchFetch(),a.jsx(ze,{ref:b,placeholder:u,"aria-activedescendant":`aiSearchResults__Item-${c}`,...t})}),Je=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchLoading",iconSettings:{builtIn:"LuLoaderCircle"}}),K=e=>{const{loading:t}=m.useSearch();return t?a.jsx(Je,{...e}):null},Xe=r.ikp(p.Command.Item,{_id:"aiAskAITrigger",value:k.ASK_AI_TRIGGER_VALUE}),V=e=>{const{results:t,tab:i}=m.useSearch(),s=p.useCommandStore(),n=t[i]?.[0]?.id??"NONE";return a.jsx(Xe,{...e,id:`aiSearchResults__Item-${k.ASK_AI_TRIGGER_VALUE}`,tabIndex:0,onPointerLeave:()=>s.setState("value",n,!0)})},Ye=r.ikp("img",{_id:"aiAskAITrigger__Icon"}),W=e=>{const{aiChatSettings:t}=R.useInkeepConfig(),{aiAssistantAvatar:i}=t??{},s=typeof i=="string"?i:i?.light,n=(typeof i=="string"?i:i?.dark)??s,c=He.useColorModeValue(s,n),[o,d]=l.useState(c);l.useEffect(()=>{d(c)},[c]);const u=()=>{d(null)};return a.jsx(Ye,{asChild:!0,...e,children:o?a.jsx("img",{src:o,alt:"AI Avatar","data-type":"image",onError:A.composeEventHandlers(u),...e}):a.jsx(Ue.default,{"data-type":"icon",...e})})},$=r.ikp("span",{_id:"aiAskAITrigger__Label"}),z=r.ikp("span",{_id:"aiAskAITrigger__Query"}),J=r.ikp(E.CustomIcon,{_id:"aiAskAITrigger__Indicator",iconKey:"openLinkInSameTab"}),X=r.ikp("span",{_id:"aiAskAITrigger__IndicatorText"}),Ze=r.ikp(x.Root,{_id:"aiSearchResults"}),Y=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{tab:i,setTab:s,hasContent:n,isHidden:c,disableTransition:o,results:d,defaultTab:u}=m.useSearch(),b=p.useCommandStore(),v=l.useCallback(I=>{o(),s(I);const P=d[I][0]?d[I][0]?.id:void 0;b.setState("value",P,!0)},[d,o]);return l.useEffect(()=>{let I=i in d?i:Object.keys(d)[0];if(!d[I]?.length){const _=Object.keys(d).find(w=>d[w]?.length);_?I=_:I=u}if(!I)return;s(I);const P=d[I]?.[0];P&&b.setState("value",P.id,!0)},[d]),a.jsx(Ze,{value:i,onValueChange:v,"data-has-content":h.dataAttr(n),"data-dual-pane-search-expanded":h.dataAttr(n&&t==="dual-pane"&&!c),...e})},et=r.ikp("div",{_id:"aiSearchResults__Loading"}),Z=e=>{const{loading:t,resultsList:i}=m.useSearch();return!t||i.length>0?null:a.jsx(et,{...e})},tt=r.ikp(p.Command.Empty,{_id:"aiSearchResults__Empty"}),ee=e=>{const t=p.useCommandState(o=>o.search),{loading:i,results:s,tab:n}=m.useSearch(),c=s[n]?.length;return i||!t||c?null:a.jsx(tt,{children:"No results found.",...e})},it=r.ikp(x.List,{_id:"aiSearchResults__TabList"}),te=e=>{const{children:t,...i}=e,{searchSettings:{tabs:s}}=R.useInkeepConfig(),{results:n,loading:c,resultsList:o}=m.useSearch();if(c&&o.length===0)return null;const d=Object.keys(n);return!s.length||!d.length?null:a.jsx(it,{tabIndex:-1,children:h.maybeRender(t,d),...i})},rt=r.ikp(x.Trigger,{_id:"aiSearchResults__Tab"}),ie=l.forwardRef((e,t)=>{const i=l.useRef(null),s=f.useComposedRefs(t,i),{tab:n,onClick:c,...o}=e,{results:d,tab:u,inputRef:b}=m.useSearch(),v=d[n].length,I=n===u,P=()=>{b.current?.focus()},_=Fe.useShadow();return l.useEffect(()=>{I&&_?.shadowHost?.shadowRoot?.activeElement?.hasAttribute("ikp-tab")&&i.current?.focus()},[I]),a.jsx(rt,{ref:s,"ikp-tab":"",tabIndex:I?0:-1,value:n,children:`${n} (${v})`,onClick:A.composeEventHandlers(c,P),...o})}),re=r.ikp("div",{_id:"aiSearchResults__Content"}),st=r.ikp(T.Root,{_id:"aiSearchResults__ScrollArea"}),se=e=>{const{loading:t,resultsList:i}=m.useSearch();return t&&i.length===0?null:a.jsx(st,{tabIndex:-1,...e})},nt=r.ikp(T.Viewport,{_id:"aiSearchResults__ScrollAreaViewport"}),ne=l.forwardRef(({children:e,...t},i)=>{const s=Ne.useScrollingFades(),n=f.useComposedRefs(i,s),{tab:c}=m.useSearch();return l.useEffect(()=>{c&&s.current?.scrollTo({top:0,behavior:"auto"})},[c]),a.jsx(nt,{ref:n,tabIndex:-1,children:a.jsx("div",{tabIndex:-1,style:{display:"grid"},children:e}),...t})}),at=r.ikp(T.ScrollAreaScrollbar,{_id:"aiSearchResults__ScrollAreaScrollbar"}),ct=r.ikp(T.ScrollAreaThumb,{_id:"aiSearchResults__ScrollAreaThumb"}),dt=r.ikp(T.Corner,{_id:"aiSearchResults__ScrollAreaCorner"}),ot=r.ikp(x.Content,{_id:"aiSearchResults__List"}),ae=e=>{const{children:t,...i}=e,{results:s,tab:n}=m.useSearch(),c=s[n]??[];return a.jsx(ot,{value:n,"data-has-results":h.dataAttr(c.length>0),"aria-label":"Search results",children:h.maybeRender(t,c),tabIndex:-1,...i})},ut=r.ikp(p.Command.Item,{_id:"aiSearchResults__Item",asChild:!0}),ce=l.forwardRef(({item:e,onClick:t,onSelect:i,children:s,...n},c)=>{const{searchSettings:{shouldOpenLinksInNewTab:o,view:d,searchQueryParamKey:u}}=R.useInkeepConfig(),{logEvent:b}=Be.useSearchEvents(),v=p.useCommandState(g=>g.search),{transitionsDisabled:I}=m.useSearch(),P=p.useCommandState(g=>g.value),_=l.useRef(null),w=f.useComposedRefs(c,_),q=l.useCallback(g=>{g.trigger==="keyboard"&&_.current?.click()},[]),xe=l.useCallback(()=>{b({eventName:"search_result_clicked",properties:{searchQuery:v,title:e.title,url:e.url}})},[b,v,e.title,e.url]),L=l.useMemo(()=>e.shouldOpenInNewTab!==void 0?e.shouldOpenInNewTab:o,[e.shouldOpenInNewTab,o]),B=P===e.id,Le=P==="NONE"||P===k.ASK_AI_TRIGGER_VALUE,ye=B||Le,Ce=l.useMemo(()=>({href:u?Ke.getUrlWithQuery(e.url,v,u):e.url,isExternal:L,appendToUrl:e.appendToUrl,children:s,id:`aiSearchResults__Item-${e.id}`}),[e.url,L,e.appendToUrl,s,e.id,u,v]);return a.jsx(S.SourceItemProvider,{source:{...e,isExternal:L},children:a.jsx(ut,{ref:w,value:e.id,"data-type":e.type,"data-breadcrumbs":!!e.breadcrumbs?.length,"data-disable-transitions":h.dataAttr(I),"data-view":d,onSelect:A.composeEventHandlers(i,q),onClick:A.composeEventHandlers(t,xe),"data-selected":h.dataAttr(B),tabIndex:ye?0:-1,...n,children:a.jsx(y.LinkWithQueryParams,{...Ce})})})}),lt=r.ikp("div",{_id:"aiSearchResults__ItemBreadcrumbs"}),j=e=>{const{source:t}=S.useSourceItem(),{tab:i}=m.useSearch();if(!t.breadcrumbs?.length)return null;const{children:s,...n}=e,o=t.tabs?.find(d=>typeof d!="string"&&d[0]===i)?.[1]?.breadcrumbs??t.breadcrumbs??[];return a.jsx(lt,{"aria-hidden":"true",children:h.maybeRender(s,o),...n})},de=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemBreadcrumbIcon",iconKey:"breadcrumbSeparator"}),mt=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchResults__ItemIcon"}),oe=e=>{const{source:t}=S.useSourceItem();return a.jsx(mt,{iconSettings:t.icon,"data-type":t.type,...e})},ht=r.ikp("span",{_id:"aiSearchResults__ItemTitle"}),ue=e=>{const{source:t}=S.useSourceItem();return a.jsx(ht,{"data-type":t.type,children:t.title,...e})},It=r.ikp("span",{_id:"aiSearchResults__ItemTag"}),le=e=>{const{source:t}=S.useSourceItem();return a.jsx(It,{"data-type":t.type,children:t.tag,...e})},vt=r.ikp("span",{_id:"aiSearchResults__ItemDescription"}),me=e=>{const{source:t}=S.useSourceItem(),{children:i,...s}=e,n=l.useMemo(()=>t.description?Me.highlightEmphasis(t.description):[],[t.description]);return n.length?a.jsx(vt,{"data-type":t.type,"aria-hidden":"true",children:h.maybeRender(i,n),...s}):null},St=r.ikp("span",{_id:"aiSearchResults__ItemDescriptionPart"}),he=e=>{const{part:t,...i}=e,{source:s}=S.useSourceItem();return typeof t=="string"?t:a.jsx(St,{"data-type":s.type,children:t.content,"data-highlighted":h.dataAttr(t.highlighted),...i})},bt=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemIndicator"}),Ie=e=>{const{source:t}=S.useSourceItem(),{searchSettings:{view:i}}=R.useInkeepConfig();return a.jsx(bt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab","data-view":i,...e})},pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview","aria-hidden":!0}),ve=e=>{const{searchSettings:{view:t,shouldOpenLinksInNewTab:i}}=R.useInkeepConfig(),{results:s,tab:n}=m.useSearch(),c=p.useCommandState(v=>v.value),o=s[n]??[],d=l.useRef(null),u=l.useMemo(()=>{if(c===k.ASK_AI_TRIGGER_VALUE)return d.current;const v=o.find(I=>I.id===c);return d.current=v??null,v},[c]);if(t!=="dual-pane"||c===k.ASK_AI_TRIGGER_VALUE||!u)return null;const b=u.shouldOpenInNewTab!==void 0?u.shouldOpenInNewTab:i;return a.jsx(S.SourceItemProvider,{source:{...u,isExternal:b},children:a.jsx(pt,{...e})})},Pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Header"}),Rt=r.ikp(y.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Heading"}),Se=e=>{const{source:t}=S.useSourceItem();return a.jsx(Rt,{href:t.url,isExternal:t.isExternal,appendToUrl:t.appendToUrl,"data-type":t.type,...e})},_t=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Title"}),be=e=>{const{source:t}=S.useSourceItem();return a.jsx(_t,{children:t.title,...e})},gt=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemPreview__Title__LinkIcon",iconKey:"openLinkInNewTab"}),pe=e=>{const{source:t}=S.useSourceItem();return a.jsx(gt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab",...e})},Et=r.ikp(j,{_id:"aiSearchResults__ItemPreview__Breadcrumbs"}),Pe=r.ikp(de,{_id:"aiSearchResults__ItemPreview__BreadcrumbIcon"}),kt=r.ikp(Ge.Markdown,{_id:"aiSearchResults__ItemPreview__Body"}),Re=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch(),s=i.find(c=>c.id===t.id),{searchSettings:{shouldOpenLinksInNewTab:n}}=R.useInkeepConfig();return s?a.jsx(kt,{shouldOpenLinksInNewTab:n,children:s.preview,...e}):null},Tt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Outline"}),_e=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch();return i.find(c=>c.id===t.id)?.rootRecord.topLevelHeadings?.length?a.jsx(Tt,{...e}):null},ge=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__Title",children:"On this page"}),wt=r.ikp("ul",{_id:"aiSearchResults__ItemPreview__Outline__List"}),Ee=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=m.useSearch(),s=i.find(u=>u.id===t.id),n=s?.rootRecord.topLevelHeadings;if(!n?.length)return null;const c=n.map(u=>{const b=u?.anchor&&u?.anchor===s?.content?.anchor,v=u?.anchor===s?.pathHeadings?.[0]?.anchor;return{...u,isMatch:b||v}}),{children:o,...d}=e;return a.jsx(wt,{children:h.maybeRender(o,c),...d})},At=r.ikp(y.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Outline__Item"}),ke=e=>{const{searchSettings:{shouldOpenLinksInNewTab:t}}=R.useInkeepConfig();return a.jsx(At,{isExternal:t,...e})},Te=r.ikp(E.CustomIcon,{_id:"aiSearchResults__ItemPreview__Outline__ItemIcon",iconKey:"newLine"}),ft=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__ItemText"}),we=e=>a.jsx(ft,{...e}),Ae=r.ikp(C.BuiltInIconRenderer,{_id:"aiSearchResults__ItemPreview__Outline__ItemLinkIcon",iconSettings:{builtIn:"LuLink"}}),xt=r.ikp("div",{_id:"aiSearchFooter"}),fe=e=>{const{hasContent:t}=m.useSearch();return a.jsx(xt,{"data-has-results":h.dataAttr(t),...e})},Lt=r.ikp("div",{_id:"aiSearchTagline__Container"}),yt=r.ikp("span",{_id:"aiSearchTagline__Text",children:"Powered by"}),Ct=r.ikp(Oe.default,{_id:"aiSearchTagline__Logo"}),Ot=r.ikp("a",{_id:"aiSearchTagline__BrandName",children:"inkeep",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer"});exports.Provider=m.SearchProvider;exports.AskAITrigger=V;exports.AskAITriggerIcon=W;exports.AskAITriggerIndicator=J;exports.AskAITriggerIndicatorText=X;exports.AskAITriggerLabel=$;exports.AskAITriggerQuery=z;exports.Content=Q;exports.EmbeddedSearchInputIcon=G;exports.EmbeddedSearchPrimitiveAskAITrigger=V;exports.EmbeddedSearchPrimitiveAskAITriggerIcon=W;exports.EmbeddedSearchPrimitiveAskAITriggerIndicator=J;exports.EmbeddedSearchPrimitiveAskAITriggerIndicatorText=X;exports.EmbeddedSearchPrimitiveAskAITriggerLabel=$;exports.EmbeddedSearchPrimitiveAskAITriggerQuery=z;exports.EmbeddedSearchPrimitiveContent=Q;exports.EmbeddedSearchPrimitiveFooter=fe;exports.EmbeddedSearchPrimitiveInput=D;exports.EmbeddedSearchPrimitiveInputGroup=F;exports.EmbeddedSearchPrimitiveLoading=K;exports.EmbeddedSearchPrimitiveResults=Y;exports.EmbeddedSearchPrimitiveResultsContent=re;exports.EmbeddedSearchPrimitiveResultsEmpty=ee;exports.EmbeddedSearchPrimitiveResultsItem=ce;exports.EmbeddedSearchPrimitiveResultsItemBreadcrumbs=j;exports.EmbeddedSearchPrimitiveResultsItemDescription=me;exports.EmbeddedSearchPrimitiveResultsItemDescriptionPart=he;exports.EmbeddedSearchPrimitiveResultsItemIcon=oe;exports.EmbeddedSearchPrimitiveResultsItemIndicator=Ie;exports.EmbeddedSearchPrimitiveResultsItemPreview=ve;exports.EmbeddedSearchPrimitiveResultsItemPreviewBody=Re;exports.EmbeddedSearchPrimitiveResultsItemPreviewBreadcrumbIcon=Pe;exports.EmbeddedSearchPrimitiveResultsItemPreviewHeading=Se;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutline=_e;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItem=ke;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemIcon=Te;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemLinkIcon=Ae;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemText=we;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineList=Ee;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineTitle=ge;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitle=be;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitleLinkIcon=pe;exports.EmbeddedSearchPrimitiveResultsItemTag=le;exports.EmbeddedSearchPrimitiveResultsItemTitle=ue;exports.EmbeddedSearchPrimitiveResultsList=ae;exports.EmbeddedSearchPrimitiveResultsLoading=Z;exports.EmbeddedSearchPrimitiveResultsScrollArea=se;exports.EmbeddedSearchPrimitiveResultsScrollAreaViewport=ne;exports.EmbeddedSearchPrimitiveResultsTab=ie;exports.EmbeddedSearchPrimitiveResultsTabList=te;exports.EmbeddedSearchPrimitiveRoot=H;exports.EmbeddedSearchPrimitiveWrapper=N;exports.Footer=fe;exports.Input=D;exports.InputGroup=F;exports.InputIcon=G;exports.Loading=K;exports.PrimitiveContent=U;exports.Results=Y;exports.ResultsContent=re;exports.ResultsEmpty=ee;exports.ResultsItem=ce;exports.ResultsItemBreadcrumbIcon=de;exports.ResultsItemBreadcrumbs=j;exports.ResultsItemDescription=me;exports.ResultsItemDescriptionPart=he;exports.ResultsItemIcon=oe;exports.ResultsItemIndicator=Ie;exports.ResultsItemPreview=ve;exports.ResultsItemPreviewBody=Re;exports.ResultsItemPreviewBreadcrumbIcon=Pe;exports.ResultsItemPreviewBreadcrumbs=Et;exports.ResultsItemPreviewHeader=Pt;exports.ResultsItemPreviewHeading=Se;exports.ResultsItemPreviewOutline=_e;exports.ResultsItemPreviewOutlineItem=ke;exports.ResultsItemPreviewOutlineItemIcon=Te;exports.ResultsItemPreviewOutlineItemLinkIcon=Ae;exports.ResultsItemPreviewOutlineItemText=we;exports.ResultsItemPreviewOutlineList=Ee;exports.ResultsItemPreviewOutlineTitle=ge;exports.ResultsItemPreviewTitle=be;exports.ResultsItemPreviewTitleLinkIcon=pe;exports.ResultsItemTag=le;exports.ResultsItemTitle=ue;exports.ResultsList=ae;exports.ResultsLoading=Z;exports.ResultsScrollArea=se;exports.ResultsScrollAreaCorner=dt;exports.ResultsScrollAreaScrollbar=at;exports.ResultsScrollAreaThumb=ct;exports.ResultsScrollAreaViewport=ne;exports.ResultsTab=ie;exports.ResultsTabList=te;exports.Root=H;exports.TaglineBrandName=Ot;exports.TaglineContainer=Lt;exports.TaglineLogo=Ct;exports.TaglineText=yt;exports.Wrapper=N;
|
|
@@ -91,8 +91,8 @@ const ae = r("div", {
|
|
|
91
91
|
builtIn: "LuLoaderCircle"
|
|
92
92
|
}
|
|
93
93
|
}), Pt = (e) => {
|
|
94
|
-
const { loading: t
|
|
95
|
-
return
|
|
94
|
+
const { loading: t } = u();
|
|
95
|
+
return t ? /* @__PURE__ */ a(le, { ...e }) : null;
|
|
96
96
|
}, ue = r(f.Item, {
|
|
97
97
|
_id: "aiAskAITrigger",
|
|
98
98
|
value: w
|
package/dist/index.d.cts
CHANGED
|
@@ -2807,6 +2807,7 @@ export declare interface InkeepConversationContextValue {
|
|
|
2807
2807
|
conversation: ConversationResponse;
|
|
2808
2808
|
setConversation: React.Dispatch<React.SetStateAction<ConversationResponse>>;
|
|
2809
2809
|
chatId: string | undefined;
|
|
2810
|
+
isSharedChat: boolean;
|
|
2810
2811
|
resetConversation: () => void;
|
|
2811
2812
|
setExternalChatId: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
2812
2813
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -2807,6 +2807,7 @@ export declare interface InkeepConversationContextValue {
|
|
|
2807
2807
|
conversation: ConversationResponse;
|
|
2808
2808
|
setConversation: React.Dispatch<React.SetStateAction<ConversationResponse>>;
|
|
2809
2809
|
chatId: string | undefined;
|
|
2810
|
+
isSharedChat: boolean;
|
|
2810
2811
|
resetConversation: () => void;
|
|
2811
2812
|
setExternalChatId: React.Dispatch<React.SetStateAction<string | undefined>>;
|
|
2812
2813
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react/jsx-runtime"),t=require("react"),f=require("../atoms/api/analytics/events.cjs"),b=require("./config-provider.cjs"),x=require("./user-provider.cjs"),E=t.createContext(void 0),q=({children:e})=>{const{baseSettings:s,componentType:r}=b.useInkeepConfig(),{apiKey:i,analyticsApiBaseUrl:c,tags:a,privacyPreferences:m,env:g,analyticsProperties:v}=s,{userProperties:u}=x.useUser(),l=t.useMemo(()=>({widgetLibraryVersion:"0.5.
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react/jsx-runtime"),t=require("react"),f=require("../atoms/api/analytics/events.cjs"),b=require("./config-provider.cjs"),x=require("./user-provider.cjs"),E=t.createContext(void 0),q=({children:e})=>{const{baseSettings:s,componentType:r}=b.useInkeepConfig(),{apiKey:i,analyticsApiBaseUrl:c,tags:a,privacyPreferences:m,env:g,analyticsProperties:v}=s,{userProperties:u}=x.useUser(),l=t.useMemo(()=>({widgetLibraryVersion:"0.5.94",componentType:r,tags:a}),[r,a]),d=!m.optOutAllAnalytics&&g!=="development",P={logEvent:t.useCallback(async n=>{const o={...l,...n.properties,...v},p={eventName:n.eventName,properties:o,userProperties:u},y=["modal_opened","modal_closed"].includes(n.eventName);if(d&&!y){if("conversation"in o&&!o.conversation?.id)return;f.logEvent(p,i,c)}s.onEvent?.(p)},[d,s,i,c,u,l,v])};return B.jsx(E.Provider,{value:P,children:e})},C=()=>{const e=t.useContext(E);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=q;exports.useBaseEvents=C;
|
|
@@ -7,7 +7,7 @@ import { useUser as A } from "./user-provider.js";
|
|
|
7
7
|
const u = B(void 0), $ = ({ children: e }) => {
|
|
8
8
|
const { baseSettings: t, componentType: s } = w(), { apiKey: r, analyticsApiBaseUrl: i, tags: a, privacyPreferences: d, env: E, analyticsProperties: c } = t, { userProperties: v } = A(), p = P(
|
|
9
9
|
() => ({
|
|
10
|
-
widgetLibraryVersion: "0.5.
|
|
10
|
+
widgetLibraryVersion: "0.5.94",
|
|
11
11
|
componentType: s,
|
|
12
12
|
tags: a
|
|
13
13
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react/jsx-runtime"),e=require("react"),R=require("../atoms/api/analytics/conversation.cjs"),U=require("./config-provider.cjs"),A=require("./conversation-provider.cjs"),O=require("./user-provider.cjs"),m=require("./base-events-provider.cjs"),B=require("../utils/generate-uid.cjs"),x=e.createContext(void 0),K=({children:o})=>{const{baseSettings:w,aiChatSettings:I}=U.useInkeepConfig(),{apiKey:p,analyticsApiBaseUrl:E,tags:f,privacyPreferences:{optOutAllAnalytics:a},env:c,analyticsProperties:v}=w,{conversationVisibility:g}=I,{userProperties:P}=O.useUser(),{logEvent:y}=m.useBaseEvents(),{conversation:u,setConversation:S,chatId:d,isSharedChat:l,setExternalChatId:b}=A.useInkeepConversation(),i=e.useRef(u),C=e.useRef(l?d:void 0);e.useEffect(()=>{i.current=u},[u]),e.useEffect(()=>{C.current=l?d:void 0},[d,l]);const h=e.useCallback(async r=>{const t=i.current;C.current&&(t.id="",b(void 0),C.current=void 0);const n=!a&&c!=="development";let s=Object.assign({},t,{messages:r});if(n){const q=await R.logConversation(t.id,{messages:r,tags:f,userProperties:P,properties:v,visibility:g},p,E);q&&(s=q)}else s.id="conv_"+B.generateUid(16);return s},[E,p,f,P,a,c,v,b,g]),j={logEvent:e.useCallback(async(r,t)=>{let n=i.current;t&&(n=await h(t),S(n),i.current=n);const s={...r,properties:{conversation:n,...r.properties}};y(s)},[y,h,a,c,v]),logConversation:h};return k.jsx(x.Provider,{value:j,children:o})},L=()=>{const o=e.useContext(x);if(!o)throw new Error("useChatEvents must be used within a ChatEventsProvider");return o};exports.ChatEventsProvider=K;exports.useChatEvents=L;
|
|
@@ -1,64 +1,66 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useRef as
|
|
4
|
-
import { logConversation as
|
|
5
|
-
import { useInkeepConfig as
|
|
6
|
-
import { useInkeepConversation as
|
|
7
|
-
import { useUser as
|
|
8
|
-
import { useBaseEvents as
|
|
9
|
-
import { generateUid as
|
|
10
|
-
const
|
|
11
|
-
const { baseSettings:
|
|
12
|
-
apiKey:
|
|
13
|
-
analyticsApiBaseUrl:
|
|
14
|
-
tags:
|
|
2
|
+
import { jsx as j } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as b, useEffect as P, useCallback as w, createContext as B, useContext as O } from "react";
|
|
4
|
+
import { logConversation as K } from "../atoms/api/analytics/conversation.js";
|
|
5
|
+
import { useInkeepConfig as L } from "./config-provider.js";
|
|
6
|
+
import { useInkeepConversation as R } from "./conversation-provider.js";
|
|
7
|
+
import { useUser as V } from "./user-provider.js";
|
|
8
|
+
import { useBaseEvents as _ } from "./base-events-provider.js";
|
|
9
|
+
import { generateUid as $ } from "../utils/generate-uid.js";
|
|
10
|
+
const I = B(void 0), Q = ({ children: r }) => {
|
|
11
|
+
const { baseSettings: k, aiChatSettings: A } = L(), {
|
|
12
|
+
apiKey: d,
|
|
13
|
+
analyticsApiBaseUrl: f,
|
|
14
|
+
tags: h,
|
|
15
15
|
privacyPreferences: { optOutAllAnalytics: i },
|
|
16
16
|
env: a,
|
|
17
17
|
analyticsProperties: c
|
|
18
|
-
} =
|
|
19
|
-
|
|
18
|
+
} = k, { conversationVisibility: m } = A, { userProperties: E } = V(), { logEvent: g } = _(), { conversation: v, setConversation: S, chatId: u, isSharedChat: l, setExternalChatId: y } = R(), s = b(v), p = b(l ? u : void 0);
|
|
19
|
+
P(() => {
|
|
20
20
|
s.current = v;
|
|
21
|
-
}, [v]),
|
|
22
|
-
p.current = u;
|
|
23
|
-
}, [u]);
|
|
24
|
-
const
|
|
21
|
+
}, [v]), P(() => {
|
|
22
|
+
p.current = l ? u : void 0;
|
|
23
|
+
}, [u, l]);
|
|
24
|
+
const C = w(
|
|
25
25
|
async (n) => {
|
|
26
26
|
const t = s.current;
|
|
27
|
-
p.current && (t.id = "",
|
|
27
|
+
p.current && (t.id = "", y(void 0), p.current = void 0);
|
|
28
28
|
const e = !i && a !== "development";
|
|
29
29
|
let o = Object.assign({}, t, { messages: n });
|
|
30
30
|
if (e) {
|
|
31
|
-
const
|
|
31
|
+
const x = await K(
|
|
32
32
|
t.id,
|
|
33
33
|
{
|
|
34
34
|
messages: n,
|
|
35
|
-
tags:
|
|
36
|
-
userProperties:
|
|
37
|
-
properties: c
|
|
35
|
+
tags: h,
|
|
36
|
+
userProperties: E,
|
|
37
|
+
properties: c,
|
|
38
|
+
visibility: m
|
|
38
39
|
},
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
d,
|
|
41
|
+
f
|
|
41
42
|
);
|
|
42
|
-
|
|
43
|
+
x && (o = x);
|
|
43
44
|
} else
|
|
44
|
-
o.id = "conv_" +
|
|
45
|
+
o.id = "conv_" + $(16);
|
|
45
46
|
return o;
|
|
46
47
|
},
|
|
47
48
|
[
|
|
48
|
-
d,
|
|
49
|
-
C,
|
|
50
49
|
f,
|
|
51
|
-
|
|
50
|
+
d,
|
|
51
|
+
h,
|
|
52
|
+
E,
|
|
52
53
|
i,
|
|
53
54
|
a,
|
|
54
55
|
c,
|
|
55
|
-
|
|
56
|
+
y,
|
|
57
|
+
m
|
|
56
58
|
]
|
|
57
|
-
),
|
|
58
|
-
logEvent:
|
|
59
|
+
), U = {
|
|
60
|
+
logEvent: w(
|
|
59
61
|
async (n, t) => {
|
|
60
62
|
let e = s.current;
|
|
61
|
-
t && (e = await
|
|
63
|
+
t && (e = await C(t), S(e), s.current = e);
|
|
62
64
|
const o = {
|
|
63
65
|
...n,
|
|
64
66
|
properties: {
|
|
@@ -66,20 +68,20 @@ const w = U(void 0), M = ({ children: r }) => {
|
|
|
66
68
|
...n.properties
|
|
67
69
|
}
|
|
68
70
|
};
|
|
69
|
-
|
|
71
|
+
g(o);
|
|
70
72
|
},
|
|
71
|
-
[
|
|
73
|
+
[g, C, i, a, c]
|
|
72
74
|
),
|
|
73
|
-
logConversation:
|
|
75
|
+
logConversation: C
|
|
74
76
|
};
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
-
},
|
|
77
|
-
const r =
|
|
77
|
+
return /* @__PURE__ */ j(I.Provider, { value: U, children: r });
|
|
78
|
+
}, T = () => {
|
|
79
|
+
const r = O(I);
|
|
78
80
|
if (!r)
|
|
79
81
|
throw new Error("useChatEvents must be used within a ChatEventsProvider");
|
|
80
82
|
return r;
|
|
81
83
|
};
|
|
82
84
|
export {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
Q as ChatEventsProvider,
|
|
86
|
+
T as useChatEvents
|
|
85
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),t=require("react"),C=require("./config-provider.cjs"),l="conversationId",I=t.createContext(null),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),t=require("react"),C=require("./config-provider.cjs"),l="conversationId",I=t.createContext(null),S=({children:o})=>{const r=w(),{aiChatSettings:u}=C.useInkeepConfig(),n=u.chatId||r,[a,s]=t.useState(n);t.useEffect(()=>{s(n)},[n]);const i={id:"",messages:[]},[e,c]=t.useState(i),h=()=>{c(i),s(void 0)},d=t.useMemo(()=>({conversation:e,setConversation:c,chatId:a,isSharedChat:!!r,resetConversation:h,setExternalChatId:s}),[e,a,r]);return p.jsx(I.Provider,{value:d,children:o})},f=()=>{const o=t.useContext(I);if(!o)throw new Error("useInkeepConversation must be used within an InkeepConversationProvider");return o};function w(){const[o,r]=t.useState(void 0),{aiChatSettings:u}=C.useInkeepConfig(),{shareChatUrlBasePath:n}=u;return t.useEffect(()=>{if(!n||typeof window>"u")return;const a=e=>e.endsWith("/")?e.slice(0,-1):e,s=()=>{const{origin:e,pathname:c,search:h}=window.location,d=new URL(n),m=a(c),P=a(d.pathname);if(e===d.origin&&m===P){const v=new URLSearchParams(h).get(l);v&&r(v)}};s();const i=()=>s();return window.addEventListener("popstate",i),()=>{window.removeEventListener("popstate",i)}},[n]),o}exports.InkeepConversationProvider=S;exports.SHARE_QUERY_PARAM=l;exports.useInkeepConversation=f;
|
|
@@ -3,26 +3,27 @@ import { jsx as f } from "react/jsx-runtime";
|
|
|
3
3
|
import { useState as u, useEffect as m, useMemo as w, createContext as P, useContext as S } from "react";
|
|
4
4
|
import { useInkeepConfig as v } from "./config-provider.js";
|
|
5
5
|
const x = "conversationId", l = P(null), z = ({ children: n }) => {
|
|
6
|
-
const
|
|
6
|
+
const s = g(), { aiChatSettings: d } = v(), t = d.chatId || s, [r, o] = u(t);
|
|
7
7
|
m(() => {
|
|
8
8
|
o(t);
|
|
9
9
|
}, [t]);
|
|
10
|
-
const
|
|
10
|
+
const a = {
|
|
11
11
|
id: "",
|
|
12
12
|
messages: []
|
|
13
|
-
}, [e,
|
|
14
|
-
a
|
|
15
|
-
},
|
|
13
|
+
}, [e, i] = u(a), h = () => {
|
|
14
|
+
i(a), o(void 0);
|
|
15
|
+
}, c = w(
|
|
16
16
|
() => ({
|
|
17
17
|
conversation: e,
|
|
18
|
-
setConversation:
|
|
19
|
-
chatId:
|
|
18
|
+
setConversation: i,
|
|
19
|
+
chatId: r,
|
|
20
|
+
isSharedChat: !!s,
|
|
20
21
|
resetConversation: h,
|
|
21
22
|
setExternalChatId: o
|
|
22
23
|
}),
|
|
23
|
-
[e, s]
|
|
24
|
+
[e, r, s]
|
|
24
25
|
);
|
|
25
|
-
return /* @__PURE__ */ f(l.Provider, { value:
|
|
26
|
+
return /* @__PURE__ */ f(l.Provider, { value: c, children: n });
|
|
26
27
|
}, L = () => {
|
|
27
28
|
const n = S(l);
|
|
28
29
|
if (!n)
|
|
@@ -30,20 +31,20 @@ const x = "conversationId", l = P(null), z = ({ children: n }) => {
|
|
|
30
31
|
return n;
|
|
31
32
|
};
|
|
32
33
|
function g() {
|
|
33
|
-
const [n,
|
|
34
|
+
const [n, s] = u(void 0), { aiChatSettings: d } = v(), { shareChatUrlBasePath: t } = d;
|
|
34
35
|
return m(() => {
|
|
35
36
|
if (!t || typeof window > "u") return;
|
|
36
|
-
const
|
|
37
|
-
const { origin: e, pathname:
|
|
38
|
-
if (e ===
|
|
37
|
+
const r = (e) => e.endsWith("/") ? e.slice(0, -1) : e, o = () => {
|
|
38
|
+
const { origin: e, pathname: i, search: h } = window.location, c = new URL(t), I = r(i), p = r(c.pathname);
|
|
39
|
+
if (e === c.origin && I === p) {
|
|
39
40
|
const C = new URLSearchParams(h).get(x);
|
|
40
|
-
C &&
|
|
41
|
+
C && s(C);
|
|
41
42
|
}
|
|
42
43
|
};
|
|
43
44
|
o();
|
|
44
|
-
const
|
|
45
|
-
return window.addEventListener("popstate",
|
|
46
|
-
window.removeEventListener("popstate",
|
|
45
|
+
const a = () => o();
|
|
46
|
+
return window.addEventListener("popstate", a), () => {
|
|
47
|
+
window.removeEventListener("popstate", a);
|
|
47
48
|
};
|
|
48
49
|
}, [t]), n;
|
|
49
50
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/cxkit-primitives",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.94",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Inkeep, Inc. Customer License (IICL) v1.1",
|
|
6
6
|
"homepage": "",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"remark-gfm": "^4.0.1",
|
|
68
68
|
"unist-util-visit": "^5.0.0",
|
|
69
69
|
"use-sync-external-store": "^1.4.0",
|
|
70
|
-
"@inkeep/cxkit-color-mode": "^0.5.
|
|
71
|
-
"@inkeep/cxkit-theme": "0.5.
|
|
72
|
-
"@inkeep/cxkit-types": "0.5.
|
|
70
|
+
"@inkeep/cxkit-color-mode": "^0.5.94",
|
|
71
|
+
"@inkeep/cxkit-theme": "0.5.94",
|
|
72
|
+
"@inkeep/cxkit-types": "0.5.94"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@biomejs/biome": "1.9.4",
|