@inkeep/agents-ui 0.16.0 → 0.16.1
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/color-mode/index.js +4 -4
- package/dist/node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +9 -0
- package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -2
- package/dist/primitives/atoms/cmdk/index.cjs +1 -1
- package/dist/primitives/atoms/cmdk/index.js +14 -2
- package/dist/primitives/atoms/combobox.d.ts +104 -0
- package/dist/primitives/atoms/portal.js +3 -3
- package/dist/primitives/atoms/select.cjs +1 -1
- package/dist/primitives/atoms/select.js +2 -2
- package/dist/primitives/atoms/shadow/context.js +4 -4
- package/dist/primitives/components/embedded-chat/chat-error-helpers.cjs +3 -0
- package/dist/primitives/components/embedded-chat/chat-error-helpers.d.ts +26 -0
- package/dist/primitives/components/embedded-chat/chat-error-helpers.js +32 -0
- package/dist/primitives/components/embedded-chat/file-upload-input.cjs +1 -1
- package/dist/primitives/components/embedded-chat/file-upload-input.d.ts +1 -1
- package/dist/primitives/components/embedded-chat/file-upload-input.js +119 -116
- package/dist/primitives/components/embedded-chat/image-preview-modal.js +3 -3
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.cjs +2 -4
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.d.ts +1 -2
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.js +305 -278
- package/dist/primitives/components/embedded-chat/use-stream-processor.cjs +1 -1
- package/dist/primitives/components/embedded-chat/use-stream-processor.js +1 -1
- package/dist/primitives/components/embedded-chat.cjs +1 -1
- package/dist/primitives/components/embedded-chat.d.ts +1 -2
- package/dist/primitives/components/embedded-chat.js +23 -23
- package/dist/primitives/components/embedded-search/search-provider.js +3 -3
- package/dist/primitives/components/embedded-search.cjs +1 -1
- package/dist/primitives/components/embedded-search.d.ts +1 -1
- package/dist/primitives/components/embedded-search.js +3 -3
- package/dist/primitives/components/modal/modal-provider.js +2 -2
- package/dist/primitives/components/modal.js +3 -3
- package/dist/primitives/components/sidebar-chat/index.js +1 -1
- package/dist/primitives/providers/base-events-provider.cjs +1 -1
- package/dist/primitives/providers/base-events-provider.js +22 -22
- package/dist/primitives/providers/chat-bubble-provider.js +1 -1
- package/dist/primitives/providers/chat-form-provider.d.ts +1 -1
- package/dist/primitives/providers/chat-form-provider.js +4 -4
- package/dist/primitives/providers/chat-history-provider.js +3 -3
- package/dist/primitives/providers/config-provider.js +3 -3
- package/dist/primitives/providers/feedback-provider.js +3 -3
- package/dist/primitives/providers/form-field-provider.js +3 -3
- package/dist/primitives/providers/help-menu-provider.js +4 -4
- package/dist/primitives/providers/hover-popover-provider.js +3 -3
- package/dist/primitives/providers/image-preview-provider.js +5 -5
- package/dist/primitives/providers/markdown-provider.js +2 -2
- package/dist/primitives/providers/message-provider.js +1 -1
- package/dist/primitives/providers/sidebar-chat-provider.js +3 -3
- package/dist/primitives/providers/source-item-provider.js +3 -3
- package/dist/primitives/providers/widget-provider.js +2 -2
- package/dist/primitives/utils/misc.cjs +1 -1
- package/dist/primitives/utils/misc.js +2 -2
- package/dist/react/chat-button.js +1 -1
- package/dist/react/embedded-chat.cjs +1 -1
- package/dist/react/embedded-chat.js +5 -5
- package/dist/react/embedded-search.cjs +1 -1
- package/dist/react/embedded-search.js +18 -18
- package/dist/styled/components/chat-bubble.js +4 -4
- package/dist/styled/components/chat-button.cjs +1 -1
- package/dist/styled/components/chat-button.js +9 -9
- package/dist/styled/components/chat-history.cjs +1 -1
- package/dist/styled/components/chat-history.js +22 -22
- package/dist/styled/components/embedded-chat/file-upload-input.cjs +1 -1
- package/dist/styled/components/embedded-chat/file-upload-input.js +71 -72
- package/dist/styled/components/embedded-chat/image-preview-modal.js +5 -5
- package/dist/styled/components/embedded-chat.cjs +1 -1
- package/dist/styled/components/embedded-chat.js +198 -198
- package/dist/styled/components/embedded-search.cjs +1 -1
- package/dist/styled/components/embedded-search.js +65 -65
- package/dist/styled/components/loading-indicator.cjs +1 -1
- package/dist/styled/components/loading-indicator.js +1 -1
- package/dist/styled/components/message.cjs +1 -1
- package/dist/styled/components/message.js +90 -90
- package/dist/styled/components/modal.js +3 -3
- package/dist/styled/components/searchbar.js +8 -8
- package/dist/styled/components/sidebar-chat.cjs +1 -1
- package/dist/styled/components/sidebar-chat.js +5 -5
- package/dist/styled/inkeep.css.cjs +13 -3
- package/dist/styled/inkeep.css.js +13 -3
- package/dist/theme/utils/generate-theme-variables.js +6 -6
- package/package.json +1 -1
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +0 -9
- /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +0 -0
- /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -0
- /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/shim/index.cjs +0 -0
- /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/shim/index.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),O=require("./
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react"),O=require("./chat-error-helpers.cjs");function R(a,n){if(n)return a.findIndex(h=>h.type==="tool_call"&&h.toolCallId===n);const d=a.length-1;return d>=0&&a[d].type==="tool_call"?d:-1}function G(a){const n=a.ctx,h=a.details?.data,y=n?.toolCallId??n?.callId??a.toolCallId??h?.toolCallId;return typeof y=="string"?y:void 0}function q(a,n,d){const[h,y]=l.useState(!1),D=l.useRef(0),v=l.useRef(0),E=l.useRef(Date.now()),g=l.useRef(new Map),k=l.useRef(null),{processedParts:b,summaryTimings:P}=l.useMemo(()=>{const r=[];let t="",o=[],w=!1;a.length>D.current&&(E.current=Date.now(),D.current=a.length),v.current=0;const f=new Map,x=(s=!1)=>{if(o.length>0){const e=`group-${v.current++}`,u=g.current.get(e);u?f.set(e,{...u,isCompleted:s}):f.set(e,{isCompleted:s}),r.push({type:"summary-group",summaries:[...o],groupKey:e}),o=[]}};for(const s of a)if(s.type==="text")x(!0),t+=s.text||"";else if(s.type==="data-summary")t.trim()&&(r.push({type:"text",text:t}),t=""),o.push(s.data);else if(s.type==="data-operation"){t.trim()&&(r.push({type:"text",text:t}),t="");const e=s.data;if(e?.type){if((e.type==="tool_call"||e.type==="tool_result")&&e.details?.data?.inDelegatedAgent===!1)continue;switch(e.type){case"agent_initializing":break;case"completion":{const{type:i}=e;o.push({type:i,label:"Completed"}),x(!0);break}case"error":{const i=e.message||"Unknown error";if(console.warn("Data operation error:",i),!r.length)x(!0),k.current=i,w||(r.push({type:"text",text:O.DEFAULT_ERROR_MESSAGE}),w=!0);else{const{type:p,label:c}=e;o.push({type:p,label:c})}break}case"tool_call":{const{type:i,label:p}=e,c=G(e);o.push({type:i,label:p,...c&&{toolCallId:c}});break}case"tool_result":{const{type:i,label:p}=e,c=G(e),S={type:i,label:p},M=R(o,c);if(M>=0){o[M]=S;break}const T=r.filter(I=>I?.type==="summary-group");if(c){let I=!1;for(let m=T.length-1;m>=0;m--){const C=T[m].summaries;if(C?.length){const L=R(C,c);if(L>=0){C[L]=S,I=!0;break}}}if(I)break}else{const m=T[T.length-1]?.summaries;if(m?.length){const C=R(m,void 0);if(C>=0){m[C]=S;break}}}o.push(S);break}default:{const{type:i,label:p}=e;o.push({type:i,label:p});break}}}}else if(s.type==="data-artifact")if(s.data?.type?.toLowerCase()==="citation"){const e=s.data,u=e.artifactSummary||{title:e.name};t+=` ^${u?.title||e.name}^`}else t.trim()&&(r.push({type:"text",text:t}),t=""),r.push(s);else s.type==="data-component"?(t.trim()&&(r.push({type:"text",text:t}),t=""),x(!0),r.push(s)):(t.trim()&&(r.push({type:"text",text:t}),t=""),x(!0),r.push(s));if(x(!n),t.trim()&&r.push({type:"text",text:t}),!n)for(const[s,e]of f.entries())e.isCompleted||f.set(s,{...e,isCompleted:!0});const _=f.size!==g.current.size||Array.from(f.entries()).some(([s,e])=>{const u=g.current.get(s);return!u||u.isCompleted!==e.isCompleted})?f:g.current;return g.current=_,{processedParts:r,summaryTimings:_}},[a,n]);l.useEffect(()=>{k.current&&(d(new Error(k.current)),k.current=null)});const A=l.useCallback(()=>{const r=Date.now()-E.current,t=Array.from(g.current.values()).some(w=>!w.isCompleted),o=r>1e3&&!t;y(o)},[]);l.useEffect(()=>{if(!n){y(!1);return}if(!(b.length>0)){y(!1);return}const t=setInterval(A,200);return()=>clearInterval(t)},[n,A,b.length]);const z=l.useMemo(()=>!!(!(b.length>0)&&n),[b.length,n]);return{processedParts:b,summaryTimings:P,shouldShowInitialLoading:z,shouldShowStreamDelayLoading:h}}exports.useStreamProcessor=q;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useState as O, useRef as I, useMemo as M, useEffect as P, useCallback as U } from "react";
|
|
3
|
-
import { DEFAULT_ERROR_MESSAGE as $ } from "./
|
|
3
|
+
import { DEFAULT_ERROR_MESSAGE as $ } from "./chat-error-helpers.js";
|
|
4
4
|
function S(a, n) {
|
|
5
5
|
if (n)
|
|
6
6
|
return a.findIndex((d) => d.type === "tool_call" && d.toolCallId === n);
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Ask me anything about \`${c}\`.`:`
|
|
4
4
|
|
|
5
|
-
How can I help?`,C={parts:[{type:"text",text:a.introMessage??`${d}${m}`}],id:Xi,...e,role:"assistant"};return r.jsx(re,{message:C,...o})}),Po=i.ikp("div",{_id:"aiChatMessageHeader"}),De=t=>{const{message:e}=I.useMessage();return r.jsx(Po,{"data-role":e.role,...t})},Eo=i.ikp("div",{_id:"aiChatMessageLoading",children:"Thinking..."}),Re=t=>r.jsx(Eo,{...t}),_o=i.ikp("div",{_id:"aiChatMessageAvatar"}),Be=t=>{const{message:e}=I.useMessage();return r.jsx(_o,{"data-role":e.role,...t})},Io=i.ikp(oe.Root,{_id:"aiChatMessageAvatarContent"}),qe=t=>{const{message:e}=I.useMessage(),{baseSettings:o}=F.useInkeepConfig();return r.jsx(Io,{"data-username":h.dataAttr(e.role==="user"&&!!o.userProperties.name),"data-role":e.role,...t})},ko=i.ikp(oe.Fallback,{_id:"aiChatMessageAvatarFallback"}),Ne=u.memo(t=>{const{baseSettings:e}=F.useInkeepConfig(),{message:o}=I.useMessage();return e.userProperties.name?r.jsx(ko,{"data-role":o.role,children:h.getInitials(e.userProperties.name),...t}):null}),ne=i.ikp(oe.Image,{_id:"aiChatMessageAvatarImage"}),Oe=u.memo(t=>{const{onLoadingStatusChange:e,...o}=t,{aiChatSettings:a,baseSettings:{userProperties:n}}=F.useInkeepConfig(),{message:s}=I.useMessage(),{aiAssistantAvatar:d}=a??{},c=typeof d=="string"?d:d?.light,m=(typeof d=="string"?d:d?.dark)??c,l=Ui.useColorModeValue(c,m),[C,p]=u.useState(l);u.useEffect(()=>{p(l)},[l]);const b=P=>{P==="error"&&p(null)};return s.role==="user"?n.name?null:a.userAvatar?r.jsx(ne,{"data-type":"image",alt:"User avatar","data-role":s.role,src:a.userAvatar,...t}):r.jsx(Ri.default,{"data-type":"icon","data-role":s.role,...t}):C?r.jsx(ne,{src:C,alt:"AI assistant avatar","data-type":"image","data-role":s.role,onLoadingStatusChange:v.composeEventHandlers(e,b),...o}):r.jsx(Di.default,{"data-type":"icon","data-role":s.role,...t})}),So=i.ikp("span",{_id:"aiChatMessageName"}),Ve=t=>{const{message:e}=I.useMessage(),{aiChatSettings:o}=F.useInkeepConfig(),{aiAssistantName:a}=o;return r.jsx(So,{"data-role":e.role,children:e.role==="user"?"You":a||"AI assistant",...t})},Mo=i.ikp("div",{_id:"aiChatMessageContentWrapper"}),We=t=>{const{message:e}=I.useMessage();return r.jsx(Mo,{"data-role":e.role,...t})},xo=i.ikp("div",{_id:"aiChatMessageContent"}),Qe=t=>{const{message:e}=I.useMessage();return r.jsx(xo,{"data-role":e.role,...t})},Ue=t=>{const{text:e,componentStyles:o,...a}=t,{aiChatSettings:n}=F.useInkeepConfig(),{shouldOpenLinksInNewTab:s}=n;return r.jsx($.Markdown,{children:e,componentStyles:o,shouldOpenLinksInNewTab:s,...a})},$e=({name:t,props:e,componentDef:o})=>{const n=Gi.useShadow()?.shadowHost,s=u.useRef(void 0),d=u.useRef(null),c=u.useRef(null),m=u.useRef(!1),[l,C]=u.useState(!1),[p,b]=u.useState(!1),P=u.useRef(o);u.useMemo(()=>{o!==P.current&&(typeof o=="function"&&typeof P.current=="function"?o.toString()!==P.current.toString()&&(P.current=o):P.current=o)},[o]);const _=P.current,f=u.useRef(e);f.current=e;const S=u.useRef(null),j=u.useRef(_);j.current!==_&&(S.current=null,j.current=_),u.useEffect(()=>{s.current||(s.current=`dyn:${t}:${crypto.randomUUID()}`,C(!0))},[t]),u.useLayoutEffect(()=>{if(!_||!n||!l||!s.current)return;const w=s.current,M=document.createElement("div");return M.setAttribute("data-ikp-component",""),M.setAttribute("data-component",t),M.setAttribute("slot",w),d.current=M,m.current=!1,n.appendChild(M),b(!0),()=>{m.current=!0,b(!1),queueMicrotask(()=>{try{c.current&&(c.current.unmount(),c.current=null)}catch(L){console.debug("Ignoring unmount error:",L)}M.parentNode===n&&M.remove(),d.current=null})}},[_,n,l,t]);const V=w=>{const M=d.current;if(!M||m.current)return;const L=R=>{if(S.current!==null)return S.current;if(typeof R!="function"||R.length>1)return S.current=!1,!1;try{if(R.constructor===Function){const Ai=R({});return S.current=u.isValidElement(Ai),S.current}return S.current=!1,!1}catch{return S.current=!0,!0}};let T;const D=P.current;if(L(D))try{T=u.createElement(D,w||{})}catch(R){console.error("Error creating React element from component:",R);return}else if(typeof D=="function")T=D(w||{},M,null);else{console.error("Invalid component definition");return}if(u.isValidElement(T)||typeof T=="string"){if(m.current)return;c.current||(c.current=Ji.createRoot(M)),!m.current&&c.current&&c.current.render(T);return}c.current&&!m.current&&c.current.render(null)};return u.useEffect(()=>{V(f.current)},[_,p]),u.useEffect(()=>{!c.current||m.current||V(e)},[e]),r.jsx("slot",{name:s.current})},fo=i.ikp("div",{_id:"aiChatMessagePart"}),Ao=i.ikp("div",{_id:"aiChatMessageToolbar"}),Ke=t=>{const{isLoading:e,messages:o}=E.useChat(),{message:a}=I.useMessage();return o.at(-1)?.id===a?.id&&e||a.role==="user"?null:r.jsx(Ao,{...t})},yo=i.ikp("div",{_id:"aiChatMessageCustomActions"}),ze=t=>{const{children:e,...o}=t,{aiChatSettings:a}=F.useInkeepConfig(),{message:n}=I.useMessage(),{isStreaming:s,messages:d}=E.useChat(),c=d.at(-1)?.id===n?.id,m=n.role==="assistant",l=a.messageActions||[];return c&&s||!m?null:r.jsx(yo,{children:h.maybeRender(e,l),...o})},To=i.ikp("a",{_id:"aiChatMessageCustomAction"}),Ho=i.ikp("button",{_id:"aiChatMessageCustomAction"}),Ge=t=>{const{onClick:e,action:o,...a}=t,{message:n}=I.useMessage(),{handleAction:s}=X.useChatAction(o,n.id),{logEvent:d}=ie.useBaseEvents(),{conversationId:c}=E.useChat(),m=()=>{s(),d({eventName:"user_escalation_indicated",properties:{escalationType:"contact_us",conversationId:c}})},l=o.label,C=r.jsxs(r.Fragment,{children:[o.icon&&r.jsx(N.BuiltInIconRenderer,{iconSettings:o.icon}),l]});return o.action.type==="open_link"?r.jsx(To,{href:o.action.url,target:"_blank",rel:"noopener","data-type":o.action.type,onClick:v.composeEventHandlers(e,m),children:C,...a}):r.jsx(Ho,{"data-type":o.action.type,onClick:v.composeEventHandlers(e,m),children:C,...a})},jo=i.ikp("button",{_id:"aiChatMessageAction"}),Ye=t=>{const{action:e,onClick:o,className:a,...n}=t,{conversationId:s}=E.useChat(),{message:d}=I.useMessage(),{isStreaming:c,messages:m}=E.useChat(),[l,C]=Y.useCopyToClipboard(),{feedback:p,submitPositiveFeedback:b,setCurrentFeedback:P,currentFeedback:_}=J.useMessageFeedback(),{logEvent:f}=ie.useBaseEvents(),[S,j]=Ni.useSettleAction(),V=m.at(-1)?.id===d?.id,w=d.role==="assistant";if(V&&c||!w)return null;const L={copy(){C(h.getMessageContent(d)),f({eventName:"assistant_message_copied",properties:{conversationId:s}})},upvote(){b(d.id).then(()=>{j()})},downvote(){P(d.id)}},T={copy:"Copy Message",upvote:"Upvote Message",downvote:"Downvote Message"},D={copy:r.jsx(A.CustomIcon,{iconKey:l?"messageCopied":"messageCopy"}),upvote:r.jsx(A.CustomIcon,{iconKey:S?"messageCopied":"thumbsUp"}),downvote:r.jsx(A.CustomIcon,{iconKey:"thumbsDown"})},R={copy:{"data-copied":h.dataAttr(l)},upvote:{"data-upvoted":h.dataAttr(p[d.id]?.type==="positive")},downvote:{"data-downvoted":h.dataAttr(p[d.id]?.type==="negative"),"data-state":_===null?"closed":"open"}};return r.jsx(jo,{"data-action":e,...R[e],children:D[e],"aria-label":T[e],className:`${a} ${e}`,onClick:v.composeEventHandlers(o,L[e]),...n})},wo=i.ikp("div",{_id:"aiChatMessageSources"}),Ze=t=>{const{message:e}=I.useMessage();return e.role!=="assistant"||!e.parts.filter(h.isCitationArtifact).filter(a=>!!a.data?.artifactSummary?.url)?.length?null:r.jsx(wo,{...t})},Lo=i.ikp("div",{_id:"aiChatMessageSources__Header"}),Je=t=>r.jsx(Lo,{children:"Sources",...t}),Do=i.ikp("div",{_id:"aiChatMessageSources__List"}),Xe=t=>{const{message:e}=I.useMessage(),{children:o,...a}=t,{baseSettings:{transformSource:n,organizationDisplayName:s},aiChatSettings:{shouldOpenLinksInNewTab:d},searchSettings:{tabs:c}}=F.useInkeepConfig();if(e.role!=="assistant")return null;const m=e.parts.filter(h.isCitationArtifact);if(!m?.length)return null;const l=new Map,C=m.filter(p=>{const b=p.data.artifactSummary.url;return!b||l.has(b)?!1:(l.set(b,!0),!0)}).map(p=>{const b=p.data,P={id:b?.artifactId,title:b?.artifactSummary?.title||b?.name,url:b?.artifactSummary?.url||"",description:"",breadcrumbs:[],type:b?.artifactSummary?.record_type,contentType:b?.artifactType,tag:b?.artifactType},f=(n??(j=>({...j,shouldOpenInNewTab:d,icon:Yi.getIcon(j)})))(P,"chatSourceItem",{organizationDisplayName:s,tabs:c}),S=f.shouldOpenInNewTab!==void 0?f.shouldOpenInNewTab:d;return{...f,isExternal:S}});return r.jsx(Do,{children:h.maybeRender(o,C),...a})},Ro=i.ikp(Bi.LinkWithQueryParams,{_id:"aiChatMessageSourceItem"}),et=t=>{const{source:e,onClick:o,...a}=t,{logEvent:n}=ie.useBaseEvents(),{conversationId:s}=E.useChat(),d=()=>{n({eventName:"assistant_source_item_clicked",properties:{conversationId:s,link:e}})};return r.jsx(B.SourceItemProvider,{source:e,children:r.jsx(Ro,{"data-type":e.type,appendToUrl:e.appendToUrl,isExternal:e.isExternal,"data-breadcrumbs":!!e.breadcrumbs?.length,onClick:v.composeEventHandlers(o,d),...a})})},Bo=i.ikp("div",{_id:"aiChatMessageSourceItem__Breadcrumbs"}),tt=t=>{const{source:e}=B.useSourceItem();return e.breadcrumbs?.length?r.jsx(Bo,{"data-type":e.type,...t}):null},qo=i.ikp(A.CustomIcon,{_id:"aiChatMessageSourceItem__BreadcrumbIcon",iconKey:"breadcrumbSeparator"}),No=i.ikp(N.BuiltInIconRenderer,{_id:"aiChatMessageSourceItem__Icon"}),it=t=>{const{source:e}=B.useSourceItem();return r.jsx(No,{iconSettings:e.icon,"data-type":e.type,...t})},Oo=i.ikp("span",{_id:"aiChatMessageSourceItem__Title"}),ot=t=>{const{source:e}=B.useSourceItem();return r.jsx(Oo,{"data-type":e.type,children:e.title,...t})},Vo=i.ikp("span",{_id:"aiChatMessageSourceItem__Tag"}),rt=t=>{const{source:e}=B.useSourceItem();return r.jsx(Vo,{"data-type":e.type,...t})},Wo=i.ikp("span",{_id:"aiChatMessageSourceItem__Description"}),at=t=>{const{source:e}=B.useSourceItem(),{children:o,...a}=t,n=u.useMemo(()=>e.description?Wi.highlightEmphasis(e.description):[],[e.description]);return n.length?r.jsx(Wo,{"data-type":e.type,children:h.maybeRender(o,n),...a}):null},Qo=i.ikp("span",{_id:"aiChatMessageSourceItem__DescriptionPart"}),nt=t=>{const{part:e,...o}=t,{source:a}=B.useSourceItem();return typeof e=="string"?e:r.jsx(Qo,{"data-type":a.type,children:e.content,"data-highlighted":h.dataAttr(e.highlighted),...o})},Uo=i.ikp(A.CustomIcon,{_id:"aiChatMessageSourceItem__Indicator"}),st=t=>{const{source:e}=B.useSourceItem();return r.jsx(Uo,{iconKey:e.isExternal?"openLinkInNewTab":"openLinkInSameTab",...t})},dt=i.ikp("div",{_id:"aiChatFooter"}),ct=i.ikp("div",{_id:"aiChatInput__Group"}),$o=i.ikp("textarea",{_id:"aiChatInput"}),mt=u.forwardRef(({onChange:t,onKeyDown:e,...o},a)=>{const{handleInputChange:n,handleInputKeyDown:s,input:d,error:c,shouldAutoFocusInput:m,inputRef:l}=E.useChat(),{aiChatSettings:C}=F.useInkeepConfig(),p=ee.useComposedRefs(a,l);return zi.useWidgetAutoFocus("chat",l,m),r.jsx($o,{asChild:!0,ref:p,maxLength:99999,placeholder:C.placeholder,value:d,onChange:v.composeEventHandlers(t,n),onKeyDown:v.composeEventHandlers(e,s),disabled:!!c||C.isViewOnly,...o,children:r.jsx(se,{})})}),Ko=i.ikp("button",{_id:"aiChatInput__SendButton"}),lt=t=>{const{handleSubmit:e,isSubmitDisabled:o,error:a}=E.useChat(),{aiChatSettings:n}=F.useInkeepConfig(),{onClick:s,...d}=t;return r.jsx(Ko,{onClick:v.composeEventHandlers(s,()=>e()),"aria-label":"Send message",disabled:o||!!a||n.isViewOnly,...d})},ut=i.ikp(A.CustomIcon,{_id:"aiChatInput__SendButtonIcon",iconKey:"chatSubmit"}),Ct=i.ikp("div",{_id:"aiChatActionBar"}),ht=i.ikp("div",{_id:"aiChat__ChatActions"}),bt=i.ikp("div",{_id:"aiChatTagline__Container"}),pt=i.ikp("span",{_id:"aiChatTagline__Text",children:"Powered by"}),vt=i.ikp("a",{_id:"aiChatTagline__Logo",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer","aria-label":"Inkeep"}),zo=i.ikp(K.Trigger,{_id:"aiChat__ChatAction"}),z=t=>{const{action:e,onClick:o,className:a,...n}=t,{clear:s,stop:d,isBusy:c,messages:m}=E.useChat(),{conversationId:l}=E.useChat(),{aiChatSettings:C}=F.useInkeepConfig(),[p,b]=Y.useCopyToClipboard(),[P]=Y.useCopyToClipboard(),_=m.length>0;if({help:!1,copy:!_||!C.isCopyChatButtonVisible||c,share:!_||!C.isShareButtonVisible||!l||c,clear:!_||C.isViewOnly||c,stop:!c}[e])return null;const V={help:()=>{},copy:()=>{const M=m.map(L=>{const T=`**${L.role==="assistant"?"AI Assistant":"User"}**`,D=h.getMessageContent(L);return`${T}
|
|
5
|
+
How can I help?`,C={parts:[{type:"text",text:a.introMessage??`${d}${m}`}],id:Xi,...e,role:"assistant"};return r.jsx(re,{message:C,...o})}),Po=i.ikp("div",{_id:"aiChatMessageHeader"}),De=t=>{const{message:e}=I.useMessage();return r.jsx(Po,{"data-role":e.role,...t})},Eo=i.ikp("div",{_id:"aiChatMessageLoading",children:"Thinking..."}),Re=t=>r.jsx(Eo,{...t}),_o=i.ikp("div",{_id:"aiChatMessageAvatar"}),Be=t=>{const{message:e}=I.useMessage();return r.jsx(_o,{"data-role":e.role,...t})},Io=i.ikp(oe.Root,{_id:"aiChatMessageAvatarContent"}),qe=t=>{const{message:e}=I.useMessage(),{baseSettings:o}=F.useInkeepConfig();return r.jsx(Io,{"data-username":h.dataAttr(e.role==="user"&&!!o.userProperties.name),"data-role":e.role,...t})},ko=i.ikp(oe.Fallback,{_id:"aiChatMessageAvatarFallback"}),Ne=u.memo(t=>{const{baseSettings:e}=F.useInkeepConfig(),{message:o}=I.useMessage();return e.userProperties.name?r.jsx(ko,{"data-role":o.role,children:h.getInitials(e.userProperties.name),...t}):null}),ne=i.ikp(oe.Image,{_id:"aiChatMessageAvatarImage"}),Oe=u.memo(t=>{const{onLoadingStatusChange:e,...o}=t,{aiChatSettings:a,baseSettings:{userProperties:n}}=F.useInkeepConfig(),{message:s}=I.useMessage(),{aiAssistantAvatar:d}=a??{},c=typeof d=="string"?d:d?.light,m=(typeof d=="string"?d:d?.dark)??c,l=Ui.useColorModeValue(c,m),[C,p]=u.useState(l);u.useEffect(()=>{p(l)},[l]);const b=P=>{P==="error"&&p(null)};return s.role==="user"?n.name?null:a.userAvatar?r.jsx(ne,{"data-type":"image",alt:"User avatar","data-role":s.role,src:a.userAvatar,...t}):r.jsx(Ri.default,{"data-type":"icon","data-role":s.role,...t}):C?r.jsx(ne,{src:C,alt:"AI assistant avatar","data-type":"image","data-role":s.role,onLoadingStatusChange:v.composeEventHandlers(e,b),...o}):r.jsx(Di.default,{"data-type":"icon","data-role":s.role,...t})}),So=i.ikp("span",{_id:"aiChatMessageName"}),Ve=t=>{const{message:e}=I.useMessage(),{aiChatSettings:o}=F.useInkeepConfig(),{aiAssistantName:a}=o;return r.jsx(So,{"data-role":e.role,children:e.role==="user"?"You":a||"AI assistant",...t})},Mo=i.ikp("div",{_id:"aiChatMessageContentWrapper"}),We=t=>{const{message:e}=I.useMessage();return r.jsx(Mo,{"data-role":e.role,...t})},xo=i.ikp("div",{_id:"aiChatMessageContent"}),Qe=t=>{const{message:e}=I.useMessage();return r.jsx(xo,{"data-role":e.role,...t})},Ue=t=>{const{text:e,componentStyles:o,...a}=t,{aiChatSettings:n}=F.useInkeepConfig(),{shouldOpenLinksInNewTab:s}=n;return r.jsx($.Markdown,{children:e,componentStyles:o,shouldOpenLinksInNewTab:s,...a})},$e=({name:t,props:e,componentDef:o})=>{const n=Gi.useShadow()?.shadowHost,s=u.useRef(void 0),d=u.useRef(null),c=u.useRef(null),m=u.useRef(!1),[l,C]=u.useState(!1),[p,b]=u.useState(!1),P=u.useRef(o);u.useMemo(()=>{o!==P.current&&(typeof o=="function"&&typeof P.current=="function"?o.toString()!==P.current.toString()&&(P.current=o):P.current=o)},[o]);const _=P.current,f=u.useRef(e);f.current=e;const S=u.useRef(null),j=u.useRef(_);j.current!==_&&(S.current=null,j.current=_),u.useEffect(()=>{s.current||(s.current=`dyn:${t}:${crypto.randomUUID()}`,C(!0))},[t]),u.useLayoutEffect(()=>{if(!_||!n||!l||!s.current)return;const w=s.current,M=document.createElement("div");return M.setAttribute("data-ikp-component",""),M.setAttribute("data-component",t),M.setAttribute("slot",w),d.current=M,m.current=!1,n.appendChild(M),b(!0),()=>{m.current=!0,b(!1),queueMicrotask(()=>{try{c.current&&(c.current.unmount(),c.current=null)}catch(L){console.debug("Ignoring unmount error:",L)}M.parentNode===n&&M.remove(),d.current=null})}},[_,n,l,t]);const V=w=>{const M=d.current;if(!M||m.current)return;const L=R=>{if(S.current!==null)return S.current;if(typeof R!="function"||R.length>1)return S.current=!1,!1;try{if(R.constructor===Function){const Ai=R({});return S.current=u.isValidElement(Ai),S.current}return S.current=!1,!1}catch{return S.current=!0,!0}};let T;const D=P.current;if(L(D))try{T=u.createElement(D,w||{})}catch(R){console.error("Error creating React element from component:",R);return}else if(typeof D=="function")T=D(w||{},M,null);else{console.error("Invalid component definition");return}if(u.isValidElement(T)||typeof T=="string"){if(m.current)return;c.current||(c.current=Ji.createRoot(M)),!m.current&&c.current&&c.current.render(T);return}c.current&&!m.current&&c.current.render(null)};return u.useEffect(()=>{V(f.current)},[_,p]),u.useEffect(()=>{!c.current||m.current||V(e)},[e]),r.jsx("slot",{name:s.current})},fo=i.ikp("div",{_id:"aiChatMessagePart"}),Ao=i.ikp("div",{_id:"aiChatMessageToolbar"}),Ke=t=>{const{isLoading:e,messages:o}=E.useChat(),{message:a}=I.useMessage();return o.at(-1)?.id===a?.id&&e||a.role==="user"?null:r.jsx(Ao,{...t})},yo=i.ikp("div",{_id:"aiChatMessageCustomActions"}),ze=t=>{const{children:e,...o}=t,{aiChatSettings:a}=F.useInkeepConfig(),{message:n}=I.useMessage(),{isStreaming:s,messages:d}=E.useChat(),c=d.at(-1)?.id===n?.id,m=n.role==="assistant",l=a.messageActions||[];return c&&s||!m?null:r.jsx(yo,{children:h.maybeRender(e,l),...o})},To=i.ikp("a",{_id:"aiChatMessageCustomAction"}),Ho=i.ikp("button",{_id:"aiChatMessageCustomAction"}),Ge=t=>{const{onClick:e,action:o,...a}=t,{message:n}=I.useMessage(),{handleAction:s}=X.useChatAction(o,n.id),{logEvent:d}=ie.useBaseEvents(),{conversationId:c}=E.useChat(),m=()=>{s(),d({eventName:"user_escalation_indicated",properties:{escalationType:"contact_us",conversationId:c}})},l=o.label,C=r.jsxs(r.Fragment,{children:[o.icon&&r.jsx(N.BuiltInIconRenderer,{iconSettings:o.icon}),l]});return o.action.type==="open_link"?r.jsx(To,{href:o.action.url,target:"_blank",rel:"noopener","data-type":o.action.type,onClick:v.composeEventHandlers(e,m),children:C,...a}):r.jsx(Ho,{"data-type":o.action.type,onClick:v.composeEventHandlers(e,m),children:C,...a})},jo=i.ikp("button",{_id:"aiChatMessageAction"}),Ye=t=>{const{action:e,onClick:o,className:a,...n}=t,{conversationId:s}=E.useChat(),{message:d}=I.useMessage(),{isStreaming:c,messages:m}=E.useChat(),[l,C]=Y.useCopyToClipboard(),{feedback:p,submitPositiveFeedback:b,setCurrentFeedback:P,currentFeedback:_}=J.useMessageFeedback(),{logEvent:f}=ie.useBaseEvents(),[S,j]=Ni.useSettleAction(),V=m.at(-1)?.id===d?.id,w=d.role==="assistant";if(V&&c||!w)return null;const L={copy(){C(h.getMessageContent(d)),f({eventName:"assistant_message_copied",properties:{conversationId:s}})},upvote(){b(d.id).then(()=>{j()})},downvote(){P(d.id)}},T={copy:"Copy Message",upvote:"Upvote Message",downvote:"Downvote Message"},D={copy:r.jsx(A.CustomIcon,{iconKey:l?"messageCopied":"messageCopy"}),upvote:r.jsx(A.CustomIcon,{iconKey:S?"messageCopied":"thumbsUp"}),downvote:r.jsx(A.CustomIcon,{iconKey:"thumbsDown"})},R={copy:{"data-copied":h.dataAttr(l)},upvote:{"data-upvoted":h.dataAttr(p[d.id]?.type==="positive")},downvote:{"data-downvoted":h.dataAttr(p[d.id]?.type==="negative"),"data-state":_===null?"closed":"open"}};return r.jsx(jo,{"data-action":e,...R[e],children:D[e],"aria-label":T[e],className:`${a} ${e}`,onClick:v.composeEventHandlers(o,L[e]),...n})},wo=i.ikp("div",{_id:"aiChatMessageSources"}),Ze=t=>{const{message:e}=I.useMessage();return e.role!=="assistant"||!e.parts.filter(h.isCitationArtifact).filter(a=>!!a.data?.artifactSummary?.url)?.length?null:r.jsx(wo,{...t})},Lo=i.ikp("div",{_id:"aiChatMessageSources__Header"}),Je=t=>r.jsx(Lo,{children:"Sources",...t}),Do=i.ikp("div",{_id:"aiChatMessageSources__List"}),Xe=t=>{const{message:e}=I.useMessage(),{children:o,...a}=t,{baseSettings:{transformSource:n,organizationDisplayName:s},aiChatSettings:{shouldOpenLinksInNewTab:d},searchSettings:{tabs:c}}=F.useInkeepConfig();if(e.role!=="assistant")return null;const m=e.parts.filter(h.isCitationArtifact);if(!m?.length)return null;const l=new Map,C=m.filter(p=>{const b=p.data.artifactSummary.url;return!b||l.has(b)?!1:(l.set(b,!0),!0)}).map(p=>{const b=p.data,P={id:b?.artifactId,title:b?.artifactSummary?.title||b?.name,url:b?.artifactSummary?.url||"",description:"",breadcrumbs:[],type:b?.artifactSummary?.record_type,contentType:b?.artifactType,tag:b?.artifactType},f=(n??(j=>({...j,shouldOpenInNewTab:d,icon:Yi.getIcon(j)})))(P,"chatSourceItem",{organizationDisplayName:s,tabs:c}),S=f.shouldOpenInNewTab!==void 0?f.shouldOpenInNewTab:d;return{...f,isExternal:S}});return r.jsx(Do,{children:h.maybeRender(o,C),...a})},Ro=i.ikp(Bi.LinkWithQueryParams,{_id:"aiChatMessageSourceItem"}),et=t=>{const{source:e,onClick:o,...a}=t,{logEvent:n}=ie.useBaseEvents(),{conversationId:s}=E.useChat(),d=()=>{n({eventName:"assistant_source_item_clicked",properties:{conversationId:s,link:e}})};return r.jsx(B.SourceItemProvider,{source:e,children:r.jsx(Ro,{"data-type":e.type,appendToUrl:e.appendToUrl,isExternal:e.isExternal,"data-breadcrumbs":!!e.breadcrumbs?.length,onClick:v.composeEventHandlers(o,d),...a})})},Bo=i.ikp("div",{_id:"aiChatMessageSourceItem__Breadcrumbs"}),tt=t=>{const{source:e}=B.useSourceItem();return e.breadcrumbs?.length?r.jsx(Bo,{"data-type":e.type,...t}):null},qo=i.ikp(A.CustomIcon,{_id:"aiChatMessageSourceItem__BreadcrumbIcon",iconKey:"breadcrumbSeparator"}),No=i.ikp(N.BuiltInIconRenderer,{_id:"aiChatMessageSourceItem__Icon"}),it=t=>{const{source:e}=B.useSourceItem();return r.jsx(No,{iconSettings:e.icon,"data-type":e.type,...t})},Oo=i.ikp("span",{_id:"aiChatMessageSourceItem__Title"}),ot=t=>{const{source:e}=B.useSourceItem();return r.jsx(Oo,{"data-type":e.type,children:e.title,...t})},Vo=i.ikp("span",{_id:"aiChatMessageSourceItem__Tag"}),rt=t=>{const{source:e}=B.useSourceItem();return r.jsx(Vo,{"data-type":e.type,...t})},Wo=i.ikp("span",{_id:"aiChatMessageSourceItem__Description"}),at=t=>{const{source:e}=B.useSourceItem(),{children:o,...a}=t,n=u.useMemo(()=>e.description?Wi.highlightEmphasis(e.description):[],[e.description]);return n.length?r.jsx(Wo,{"data-type":e.type,children:h.maybeRender(o,n),...a}):null},Qo=i.ikp("span",{_id:"aiChatMessageSourceItem__DescriptionPart"}),nt=t=>{const{descriptionPart:e,...o}=t,{source:a}=B.useSourceItem();return typeof e=="string"?e:r.jsx(Qo,{"data-type":a.type,children:e.content,"data-highlighted":h.dataAttr(e.highlighted),...o})},Uo=i.ikp(A.CustomIcon,{_id:"aiChatMessageSourceItem__Indicator"}),st=t=>{const{source:e}=B.useSourceItem();return r.jsx(Uo,{iconKey:e.isExternal?"openLinkInNewTab":"openLinkInSameTab",...t})},dt=i.ikp("div",{_id:"aiChatFooter"}),ct=i.ikp("div",{_id:"aiChatInput__Group"}),$o=i.ikp("textarea",{_id:"aiChatInput"}),mt=u.forwardRef(({onChange:t,onKeyDown:e,...o},a)=>{const{handleInputChange:n,handleInputKeyDown:s,input:d,error:c,shouldAutoFocusInput:m,inputRef:l}=E.useChat(),{aiChatSettings:C}=F.useInkeepConfig(),p=ee.useComposedRefs(a,l);return zi.useWidgetAutoFocus("chat",l,m),r.jsx($o,{asChild:!0,ref:p,maxLength:99999,placeholder:C.placeholder,value:d,onChange:v.composeEventHandlers(t,n),onKeyDown:v.composeEventHandlers(e,s),disabled:!!c||C.isViewOnly,...o,children:r.jsx(se,{})})}),Ko=i.ikp("button",{_id:"aiChatInput__SendButton"}),lt=t=>{const{handleSubmit:e,isSubmitDisabled:o,error:a}=E.useChat(),{aiChatSettings:n}=F.useInkeepConfig(),{onClick:s,...d}=t;return r.jsx(Ko,{onClick:v.composeEventHandlers(s,()=>e()),"aria-label":"Send message",disabled:o||!!a||n.isViewOnly,...d})},ut=i.ikp(A.CustomIcon,{_id:"aiChatInput__SendButtonIcon",iconKey:"chatSubmit"}),Ct=i.ikp("div",{_id:"aiChatActionBar"}),ht=i.ikp("div",{_id:"aiChat__ChatActions"}),bt=i.ikp("div",{_id:"aiChatTagline__Container"}),pt=i.ikp("span",{_id:"aiChatTagline__Text",children:"Powered by"}),vt=i.ikp("a",{_id:"aiChatTagline__Logo",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer","aria-label":"Inkeep"}),zo=i.ikp(K.Trigger,{_id:"aiChat__ChatAction"}),z=t=>{const{action:e,onClick:o,className:a,...n}=t,{clear:s,stop:d,isBusy:c,messages:m}=E.useChat(),{conversationId:l}=E.useChat(),{aiChatSettings:C}=F.useInkeepConfig(),[p,b]=Y.useCopyToClipboard(),[P]=Y.useCopyToClipboard(),_=m.length>0;if({help:!1,copy:!_||!C.isCopyChatButtonVisible||c,share:!_||!C.isShareButtonVisible||!l||c,clear:!_||C.isViewOnly||c,stop:!c}[e])return null;const V={help:()=>{},copy:()=>{const M=m.map(L=>{const T=`**${L.role==="assistant"?"AI Assistant":"User"}**`,D=h.getMessageContent(L);return`${T}
|
|
6
6
|
|
|
7
7
|
${D}`}).join(`
|
|
8
8
|
|
|
@@ -108,7 +108,6 @@ export declare const EmbeddedChatPrimitiveDynamicComponent: ({ name, props, comp
|
|
|
108
108
|
export declare const PrimitiveMessagePart: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id">>>;
|
|
109
109
|
export interface EmbeddedChatPrimitiveMessagePartProps extends ComponentPropsWithRef<typeof PrimitiveMessagePart> {
|
|
110
110
|
componentStyles?: Partial<Record<MarkdownComponentID, string>>;
|
|
111
|
-
part?: Message['parts'][number];
|
|
112
111
|
}
|
|
113
112
|
declare const PrimitiveMessageToolbar: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id">>>;
|
|
114
113
|
export declare const EmbeddedChatPrimitiveMessageToolbar: (props: ComponentPropsWithRef<typeof PrimitiveMessageToolbar>) => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -168,7 +167,7 @@ export interface EmbeddedChatPrimitiveMessageSourceItemDescriptionProps extends
|
|
|
168
167
|
export declare const EmbeddedChatPrimitiveMessageSourceItemDescription: (props: EmbeddedChatPrimitiveMessageSourceItemDescriptionProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
169
168
|
declare const PrimitiveMessageSourceItemDescriptionPart: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "_id">>>;
|
|
170
169
|
export interface EmbeddedChatPrimitiveMessageSourceItemDescriptionPartProps extends ComponentPropsWithRef<typeof PrimitiveMessageSourceItemDescriptionPart> {
|
|
171
|
-
|
|
170
|
+
descriptionPart: DescriptionPart;
|
|
172
171
|
}
|
|
173
172
|
export declare const EmbeddedChatPrimitiveMessageSourceItemDescriptionPart: (props: EmbeddedChatPrimitiveMessageSourceItemDescriptionPartProps) => string | import("react/jsx-runtime").JSX.Element;
|
|
174
173
|
declare const PrimitiveMessageSourceItemIndicator: React.ForwardRefExoticComponent< PolymorphicProps & Omit< CustomIconProps, "_id"> & Partial<Pick< CustomIconProps, "_id">>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as a, jsxs as G, Fragment as ie } from "react/jsx-runtime";
|
|
3
|
-
import j, { memo as I,
|
|
3
|
+
import j, { memo as I, useRef as D, useState as $, useMemo as oe, useEffect as W, useLayoutEffect as he, forwardRef as Q } from "react";
|
|
4
4
|
import * as Ce from "react-dom/client";
|
|
5
5
|
import ae from "react-textarea-autosize";
|
|
6
6
|
import * as Y from "@radix-ui/react-avatar";
|
|
@@ -8,9 +8,9 @@ import * as re from "@radix-ui/react-checkbox";
|
|
|
8
8
|
import * as B from "@radix-ui/react-popover";
|
|
9
9
|
import * as K from "@radix-ui/react-tooltip";
|
|
10
10
|
import * as U from "@radix-ui/react-scroll-area";
|
|
11
|
-
import { ItemText as be,
|
|
12
|
-
import { ComboboxListItems as Ee, ComboboxRoot as Ie, ComboboxItemText as Me,
|
|
13
|
-
import {
|
|
11
|
+
import { ItemText as be, Content as pe, Icon as ge, Item as ve, ItemIndicator as Fe, Trigger as _e, Viewport as Pe, Root as fe, Value as Se } from "../atoms/select.js";
|
|
12
|
+
import { ComboboxListItems as Ee, ComboboxRoot as Ie, ComboboxItemText as Me, ComboboxContent as Ae, ComboboxControl as ye, ComboboxInput as ke, ComboboxItem as xe, ComboboxItemIndicator as Te, ComboboxList as He, ComboboxListEmpty as Le, ComboboxPositioner as we, ComboboxSelectedTags as De, ComboboxTrigger as Be } from "../atoms/combobox.js";
|
|
13
|
+
import { Close as Ne, Content as Re, Title as Oe, Overlay as Ve, Root as We } from "../atoms/dialog.js";
|
|
14
14
|
import Qe from "../atoms/avatars/ai.js";
|
|
15
15
|
import Ue from "../atoms/avatars/user.js";
|
|
16
16
|
import { CustomIcon as A } from "../atoms/icons/custom-icon.js";
|
|
@@ -23,7 +23,7 @@ import { useMessageFeedback as Z } from "../providers/feedback-provider.js";
|
|
|
23
23
|
import { useMessage as E, MessageProvider as qe } from "../providers/message-provider.js";
|
|
24
24
|
import { CheckboxIcon as je } from "../atoms/icons/checkbox-icon.js";
|
|
25
25
|
import { useCopyToClipboard as z } from "../hooks/use-copy-to-clipboard.js";
|
|
26
|
-
import {
|
|
26
|
+
import { dataAttr as g, maybeRender as O, isCitationArtifact as ne, getInitials as ze, getMessageContent as se } from "../utils/misc.js";
|
|
27
27
|
import { ikp as i } from "./factory.js";
|
|
28
28
|
import { useChat as F } from "./embedded-chat/chat-provider.js";
|
|
29
29
|
import { ChatProvider as an } from "./embedded-chat/chat-provider.js";
|
|
@@ -674,7 +674,7 @@ const Lo = Q((t, e) => {
|
|
|
674
674
|
}, ei = i("span", {
|
|
675
675
|
_id: "aiChatMessageSourceItem__DescriptionPart"
|
|
676
676
|
}), Ha = (t) => {
|
|
677
|
-
const {
|
|
677
|
+
const { descriptionPart: e, ...o } = t, { source: r } = R();
|
|
678
678
|
return typeof e == "string" ? e : /* @__PURE__ */ a(
|
|
679
679
|
ei,
|
|
680
680
|
{
|
|
@@ -921,7 +921,7 @@ ${L}`;
|
|
|
921
921
|
...o
|
|
922
922
|
}
|
|
923
923
|
);
|
|
924
|
-
}, Xa = i(
|
|
924
|
+
}, Xa = i(Ve, {
|
|
925
925
|
_id: "aiChatFeedbackModal__Overlay"
|
|
926
926
|
}), er = i(Re, {
|
|
927
927
|
_id: "aiChatFeedbackModal__Content",
|
|
@@ -929,7 +929,7 @@ ${L}`;
|
|
|
929
929
|
}), tr = i(Oe, {
|
|
930
930
|
_id: "aiChatFeedbackModal__Header",
|
|
931
931
|
children: "Feedback"
|
|
932
|
-
}), ir = i(
|
|
932
|
+
}), ir = i(Ne, {
|
|
933
933
|
_id: "aiChatFeedbackModal__Close",
|
|
934
934
|
children: /* @__PURE__ */ a(A, { iconKey: "close" })
|
|
935
935
|
}), or = i("div", {
|
|
@@ -1137,7 +1137,7 @@ ${L}`;
|
|
|
1137
1137
|
...s
|
|
1138
1138
|
}
|
|
1139
1139
|
);
|
|
1140
|
-
}, Er = i(
|
|
1140
|
+
}, Er = i(_e, {
|
|
1141
1141
|
_id: "aiChatForm__FieldSelect__Trigger"
|
|
1142
1142
|
}), yi = i(Se, {
|
|
1143
1143
|
_id: "aiChatForm__FieldSelect__Value"
|
|
@@ -1154,17 +1154,17 @@ ${L}`;
|
|
|
1154
1154
|
_id: "aiChatForm__FieldSelect__Icon",
|
|
1155
1155
|
asChild: !0,
|
|
1156
1156
|
children: /* @__PURE__ */ a(N, { iconSettings: { builtIn: "LuChevronDown" } })
|
|
1157
|
-
}), Ar = i(
|
|
1157
|
+
}), Ar = i(pe, {
|
|
1158
1158
|
_id: "aiChatForm__FieldSelect__Content",
|
|
1159
1159
|
position: "popper"
|
|
1160
|
-
}), yr = i(
|
|
1160
|
+
}), yr = i(Pe, {
|
|
1161
1161
|
_id: "aiChatForm__FieldSelect__Viewport"
|
|
1162
|
-
}), kr = i(
|
|
1162
|
+
}), kr = i(ve, {
|
|
1163
1163
|
_id: "aiChatForm__FieldSelect__Item"
|
|
1164
1164
|
}), xr = i(be, {
|
|
1165
1165
|
_id: "aiChatForm__FieldSelect__ItemText"
|
|
1166
1166
|
}), Tr = i(
|
|
1167
|
-
|
|
1167
|
+
Fe,
|
|
1168
1168
|
{
|
|
1169
1169
|
_id: "aiChatForm__FieldSelect__ItemIndicator",
|
|
1170
1170
|
asChild: !0,
|
|
@@ -1193,39 +1193,39 @@ ${L}`;
|
|
|
1193
1193
|
}
|
|
1194
1194
|
);
|
|
1195
1195
|
}, ki = { _id: "aiChatForm__FieldCombobox__Control" }, Lr = i(
|
|
1196
|
-
|
|
1196
|
+
ye,
|
|
1197
1197
|
ki
|
|
1198
1198
|
), xi = { _id: "aiChatForm__FieldCombobox__Input" }, wr = i(
|
|
1199
|
-
|
|
1199
|
+
ke,
|
|
1200
1200
|
xi
|
|
1201
1201
|
), Ti = {
|
|
1202
1202
|
_id: "aiChatForm__FieldCombobox__Trigger",
|
|
1203
1203
|
children: /* @__PURE__ */ a(N, { iconSettings: { builtIn: "LuChevronDown" } })
|
|
1204
1204
|
}, Dr = i(
|
|
1205
|
-
|
|
1205
|
+
Be,
|
|
1206
1206
|
Ti
|
|
1207
1207
|
), Hi = { _id: "aiChatForm__FieldCombobox__SelectedTags" }, Br = i(
|
|
1208
|
-
|
|
1208
|
+
De,
|
|
1209
1209
|
Hi
|
|
1210
1210
|
), Li = { _id: "aiChatForm__FieldCombobox__Content" }, Nr = i(
|
|
1211
|
-
|
|
1211
|
+
Ae,
|
|
1212
1212
|
Li
|
|
1213
1213
|
), wi = { _id: "aiChatForm__FieldCombobox__Positioner" }, Rr = i(
|
|
1214
|
-
|
|
1214
|
+
we,
|
|
1215
1215
|
wi
|
|
1216
1216
|
), Di = { _id: "aiChatForm__FieldCombobox__List" }, Or = i(
|
|
1217
|
-
|
|
1217
|
+
He,
|
|
1218
1218
|
Di
|
|
1219
|
-
), Vr = i(
|
|
1219
|
+
), Vr = i(xe, {
|
|
1220
1220
|
_id: "aiChatForm__FieldCombobox__Item"
|
|
1221
1221
|
}), Wr = i(
|
|
1222
1222
|
Me,
|
|
1223
1223
|
{ _id: "aiChatForm__FieldCombobox__ItemText" }
|
|
1224
1224
|
), Qr = i(
|
|
1225
|
-
|
|
1225
|
+
Te,
|
|
1226
1226
|
{ _id: "aiChatForm__FieldCombobox__ItemIndicator" }
|
|
1227
1227
|
), Ur = Ee, $r = i(
|
|
1228
|
-
|
|
1228
|
+
Le,
|
|
1229
1229
|
{ _id: "aiChatForm__FieldCombobox__ListEmpty" }
|
|
1230
1230
|
), Bi = i("p", {
|
|
1231
1231
|
_id: "aiChatForm__FieldDescription"
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as r } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useContext as s, createContext as c } from "react";
|
|
4
4
|
import { useInkeepSearch as i } from "./use-inkeep-search.js";
|
|
5
5
|
import { SearchEventsProvider as a } from "../../providers/search-events-provider.js";
|
|
6
6
|
import { Command as h } from "../../atoms/cmdk/index.js";
|
|
7
7
|
import { useInkeepConfig as m } from "../../providers/config-provider.js";
|
|
8
|
-
const t =
|
|
8
|
+
const t = c(void 0), x = (e) => {
|
|
9
9
|
const {
|
|
10
10
|
searchSettings: { defaultQuery: o }
|
|
11
11
|
} = m();
|
|
@@ -14,7 +14,7 @@ const t = s(void 0), x = (e) => {
|
|
|
14
14
|
const n = i();
|
|
15
15
|
return /* @__PURE__ */ r(t.Provider, { value: { ...n, ...o }, children: e });
|
|
16
16
|
}, C = () => {
|
|
17
|
-
const e =
|
|
17
|
+
const e = s(t);
|
|
18
18
|
if (!e)
|
|
19
19
|
throw new Error("useSearch must be used within a SearchProvider");
|
|
20
20
|
return e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),b=require("../atoms/cmdk/index.cjs"),r=require("./factory.cjs"),m=require("../utils/misc.cjs"),u=require("react"),l=require("./embedded-search/search-provider.cjs"),T=require("../atoms/icons/custom-icon.cjs"),qe=require("@radix-ui/react-scroll-area"),Be=require("@radix-ui/react-tabs"),R=require("../providers/config-provider.cjs"),Ke=require("../providers/search-events-provider.cjs"),L=require("../atoms/link.cjs"),S=require("../providers/source-item-provider.cjs"),O=require("../atoms/icons/built-in-icon-renderer.cjs"),He=require("../utils/highlight-emphasis.cjs"),Ne=require("../hooks/use-scrolling-fades.cjs"),Ue=require("../../color-mode/index.cjs"),Qe=require("../atoms/avatars/ai.cjs"),y=require("./modal/modal-provider.cjs"),C=require("../utils/compose-refs.cjs"),E=require("../utils/compose-event-handlers.cjs"),Fe=require("../atoms/shadow/context.cjs"),Ge=require("../atoms/markdown/index.cjs"),j=require("../hooks/use-media-query.cjs"),De=require("./embedded-search/use-search-filter.cjs"),Ve=require("./embedded-search/url-query.cjs"),A=require("../constants/search.cjs"),We=require("./modal/widget-auto-focus.cjs");function K(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 f=K(qe),x=K(Be),$e=r.ikp("div",{_id:"aiSearchWrapper"}),H=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{isHidden:i,hasContent:s}=l.useSearch(),n=j.useMediaQuery("(max-width: 768px)"),a=y.useModal();return c.jsx($e,{"data-hidden":m.dataAttr(i),"data-has-content":m.dataAttr(s),"data-in-modal":m.dataAttr(!!a),"data-mobile":m.dataAttr(n),"data-view":t,"data-dual-pane-search-expanded":m.dataAttr(s&&t==="dual-pane"&&!i),...e})},ze=r.ikp("div",{_id:"aiSearchRoot"}),N=e=>{const{isHidden:t}=l.useSearch(),i=j.useMediaQuery("(max-width: 768px)");return c.jsx(ze,{"data-hidden":m.dataAttr(t),"data-mobile":m.dataAttr(i),...e})},U=r.ikp(b.Command.List,{_id:"aiSearchContent"}),Q=u.forwardRef((e,t)=>{const i=b.useCommandState(s=>s.value);return c.jsx(U,{"aria-activedescendant":`aiSearchResults__Item-${i}`,...e,ref:t})}),F=r.ikp("div",{_id:"aiSearchInputGroup"}),G=r.ikp(T.CustomIcon,{_id:"aiSearchInputIcon",iconKey:"search"}),Je=r.ikp(b.Command.Input,{_id:"aiSearchInput"}),D=u.forwardRef(({onInput:e,...t},i)=>{const{inputRef:s,shouldAutoFocusInput:n}=l.useSearch(),a=b.useCommandState(v=>v.value),o=j.useMediaQuery("(max-width: 768px)"),{searchSettings:d}=R.useInkeepConfig(),I=u.useMemo(()=>d.placeholder||(o?"Search...":"Search for anything..."),[d.placeholder,o]),p=C.useComposedRefs(i,s);return We.useWidgetAutoFocus("search",s,n),De.useSearchFetch(),c.jsx(Je,{ref:p,placeholder:I,"aria-activedescendant":`aiSearchResults__Item-${a}`,...t})}),Xe=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchLoading",iconSettings:{builtIn:"LuLoaderCircle"}}),V=e=>{const{loading:t}=l.useSearch();return t?c.jsx(Xe,{...e}):null},Ye=r.ikp(b.Command.Item,{_id:"aiAskAITrigger",value:A.ASK_AI_TRIGGER_VALUE}),W=e=>{const{results:t,tab:i}=l.useSearch(),s=b.useCommandStore(),n=t[i]?.[0]?.id??"NONE";return c.jsx(Ye,{...e,id:`aiSearchResults__Item-${A.ASK_AI_TRIGGER_VALUE}`,tabIndex:0,onPointerLeave:()=>s.setState("value",n,!0)})},Ze=r.ikp("img",{_id:"aiAskAITrigger__Icon"}),$=e=>{const{aiChatSettings:t}=R.useInkeepConfig(),{aiAssistantAvatar:i}=t??{},s=typeof i=="string"?i:i?.light,n=(typeof i=="string"?i:i?.dark)??s,a=Ue.useColorModeValue(s,n),[o,d]=u.useState(a);u.useEffect(()=>{d(a)},[a]);const I=()=>{d(null)};return c.jsx(Ze,{asChild:!0,...e,children:o?c.jsx("img",{src:o,alt:"AI Avatar","data-type":"image",onError:E.composeEventHandlers(I),...e}):c.jsx(Qe.default,{"data-type":"icon",...e})})},z=r.ikp("span",{_id:"aiAskAITrigger__Label"}),J=r.ikp("span",{_id:"aiAskAITrigger__Query"}),X=r.ikp(T.CustomIcon,{_id:"aiAskAITrigger__Indicator",iconKey:"openLinkInSameTab"}),Y=r.ikp("span",{_id:"aiAskAITrigger__IndicatorText"}),et=r.ikp(x.Root,{_id:"aiSearchResults"}),Z=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{tab:i,setTab:s,hasContent:n,isHidden:a,disableTransition:o,results:d,defaultTab:I}=l.useSearch(),p=b.useCommandStore(),v=u.useCallback(h=>{o(),s(h);const P=d[h][0]?d[h][0]?.id:void 0;p.setState("value",P,!0)},[d,o]);return u.useEffect(()=>{let h=i in d?i:Object.keys(d)[0];if(!d[h]?.length){const g=Object.keys(d).find(k=>d[k]?.length);g?h=g:h=I}if(!h)return;s(h);const P=d[h]?.[0];P&&p.setState("value",P.id,!0)},[d]),c.jsx(et,{value:i,onValueChange:v,"data-has-content":m.dataAttr(n),"data-dual-pane-search-expanded":m.dataAttr(n&&t==="dual-pane"&&!a),...e})},tt=r.ikp("div",{_id:"aiSearchResults__Loading"}),ee=e=>{const{loading:t,resultsList:i}=l.useSearch();return!t||i.length>0?null:c.jsx(tt,{...e})},it=r.ikp(b.Command.Empty,{_id:"aiSearchResults__Empty"}),te=e=>{const t=b.useCommandState(o=>o.search),{loading:i,results:s,tab:n}=l.useSearch(),a=s[n]?.length;return i||!t||a?null:c.jsx(it,{children:"No results found.",...e})},rt=r.ikp(x.List,{_id:"aiSearchResults__TabList"}),ie=e=>{const{children:t,...i}=e,{searchSettings:{tabs:s}}=R.useInkeepConfig(),{results:n,loading:a,resultsList:o}=l.useSearch();if(a&&o.length===0)return null;const d=Object.keys(n);return!s.length||!d.length?null:c.jsx(rt,{tabIndex:-1,children:m.maybeRender(t,d),...i})},st=r.ikp(x.Trigger,{_id:"aiSearchResults__Tab"}),re=u.forwardRef((e,t)=>{const i=u.useRef(null),s=C.useComposedRefs(t,i),{tab:n,onClick:a,...o}=e,{results:d,tab:I,inputRef:p}=l.useSearch(),v=d[n].length,h=n===I,P=()=>{p.current?.focus()},g=Fe.useShadow();return u.useEffect(()=>{h&&g?.shadowHost?.shadowRoot?.activeElement?.hasAttribute("ikp-tab")&&i.current?.focus()},[h]),c.jsx(st,{ref:s,"ikp-tab":"",tabIndex:h?0:-1,value:n,children:`${n} (${v})`,onClick:E.composeEventHandlers(a,P),...o})}),se=r.ikp("div",{_id:"aiSearchResults__Content"}),nt=r.ikp(f.Root,{_id:"aiSearchResults__ScrollArea"}),ne=e=>{const{loading:t,resultsList:i}=l.useSearch();return t&&i.length===0?null:c.jsx(nt,{tabIndex:-1,...e})},at=r.ikp(f.Viewport,{_id:"aiSearchResults__ScrollAreaViewport"}),ae=u.forwardRef(({children:e,...t},i)=>{const s=Ne.useScrollingFades(),n=C.useComposedRefs(i,s),{tab:a}=l.useSearch();return u.useEffect(()=>{a&&s.current?.scrollTo({top:0,behavior:"auto"})},[a]),c.jsx(at,{ref:n,tabIndex:-1,children:c.jsx("div",{tabIndex:-1,style:{display:"grid"},children:e}),...t})}),ct=r.ikp(f.ScrollAreaScrollbar,{_id:"aiSearchResults__ScrollAreaScrollbar"}),dt=r.ikp(f.ScrollAreaThumb,{_id:"aiSearchResults__ScrollAreaThumb"}),ot=r.ikp(f.Corner,{_id:"aiSearchResults__ScrollAreaCorner"}),ut=r.ikp(x.Content,{_id:"aiSearchResults__List"}),ce=e=>{const{children:t,...i}=e,{results:s,tab:n}=l.useSearch(),a=s[n]??[];return c.jsx(ut,{value:n,"data-has-results":m.dataAttr(a.length>0),"aria-label":"Search results",children:m.maybeRender(t,a),tabIndex:-1,...i})},lt=r.ikp(b.Command.Item,{_id:"aiSearchResults__Item",asChild:!0}),de=u.forwardRef(({item:e,onClick:t,onSelect:i,children:s,...n},a)=>{const{searchSettings:{shouldOpenLinksInNewTab:o,view:d,searchQueryParamKey:I}}=R.useInkeepConfig(),{logEvent:p}=Ke.useSearchEvents(),v=b.useCommandState(_=>_.search),{transitionsDisabled:h}=l.useSearch(),P=b.useCommandState(_=>_.value),g=u.useRef(null),k=y.useModal(),q=C.useComposedRefs(a,g),Ce=u.useCallback(_=>{_.trigger==="keyboard"&&g.current?.click()},[]),w=u.useMemo(()=>e.shouldOpenInNewTab!==void 0?e.shouldOpenInNewTab:o,[e.shouldOpenInNewTab,o]),xe=u.useCallback(_=>{p({eventName:"search_result_clicked",properties:{searchQuery:v,title:e.title,url:e.url}});const Me=_.metaKey||_.ctrlKey;k?.isOpen&&!Me&&!w&&k.setOpen(!1)},[p,v,e.title,e.url,k,w]),B=P===e.id,Le=P==="NONE"||P===A.ASK_AI_TRIGGER_VALUE,Oe=B||Le,je=u.useMemo(()=>({href:I?Ve.getUrlWithQuery(e.url,v,I):e.url,isExternal:w,appendToUrl:e.appendToUrl,children:s,id:`aiSearchResults__Item-${e.id}`}),[e.url,w,e.appendToUrl,s,e.id,I,v]);return c.jsx(S.SourceItemProvider,{source:{...e,isExternal:w},children:c.jsx(lt,{ref:q,value:e.id,"data-type":e.type,"data-breadcrumbs":!!e.breadcrumbs?.length,"data-disable-transitions":m.dataAttr(h),"data-view":d,onSelect:E.composeEventHandlers(i,Ce),onClick:E.composeEventHandlers(t,xe),"data-selected":m.dataAttr(B),tabIndex:Oe?0:-1,...n,children:c.jsx(L.LinkWithQueryParams,{...je})})})}),mt=r.ikp("div",{_id:"aiSearchResults__ItemBreadcrumbs"}),M=e=>{const{source:t}=S.useSourceItem(),{tab:i}=l.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 c.jsx(mt,{"aria-hidden":"true",children:m.maybeRender(s,o),...n})},oe=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemBreadcrumbIcon",iconKey:"breadcrumbSeparator"}),ht=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchResults__ItemIcon"}),ue=e=>{const{source:t}=S.useSourceItem();return t.icon?c.jsx(ht,{iconSettings:t.icon,"data-type":t.type,...e}):null},It=r.ikp("span",{_id:"aiSearchResults__ItemTitle"}),le=e=>{const{source:t}=S.useSourceItem();return c.jsx(It,{"data-type":t.type,children:t.title,...e})},vt=r.ikp("span",{_id:"aiSearchResults__ItemTag"}),me=e=>{const{source:t}=S.useSourceItem();return c.jsx(vt,{"data-type":t.type,children:t.tag,...e})},St=r.ikp("span",{_id:"aiSearchResults__ItemDescription"}),he=e=>{const{source:t}=S.useSourceItem(),{children:i,...s}=e,n=u.useMemo(()=>t.description?He.highlightEmphasis(t.description):[],[t.description]);return n.length?c.jsx(St,{"data-type":t.type,"aria-hidden":"true",children:m.maybeRender(i,n),...s}):null},bt=r.ikp("span",{_id:"aiSearchResults__ItemDescriptionPart"}),Ie=e=>{const{part:t,...i}=e,{source:s}=S.useSourceItem();return typeof t=="string"?t:c.jsx(bt,{"data-type":s.type,children:t.content,"data-highlighted":m.dataAttr(t.highlighted),...i})},pt=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemIndicator"}),ve=e=>{const{source:t}=S.useSourceItem(),{searchSettings:{view:i}}=R.useInkeepConfig();return c.jsx(pt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab","data-view":i,...e})},Pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview","aria-hidden":!0}),Se=e=>{const{searchSettings:{view:t,shouldOpenLinksInNewTab:i}}=R.useInkeepConfig(),{results:s,tab:n}=l.useSearch(),a=b.useCommandState(v=>v.value),o=s[n]??[],d=u.useRef(null),I=u.useMemo(()=>{if(a===A.ASK_AI_TRIGGER_VALUE)return d.current;const v=o.find(h=>h.id===a);return d.current=v,v},[a]);if(t!=="dual-pane"||a===A.ASK_AI_TRIGGER_VALUE||!I)return null;const p=I.shouldOpenInNewTab!==void 0?I.shouldOpenInNewTab:i;return c.jsx(S.SourceItemProvider,{source:{...I,isExternal:p},children:c.jsx(Pt,{...e})})},Rt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Header"}),_t=r.ikp(L.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Heading"}),be=e=>{const{source:t}=S.useSourceItem(),i=y.useModal(),s=u.useCallback(n=>{const a=n.metaKey||n.ctrlKey;i?.isOpen&&!a&&!t.isExternal&&i.setOpen(!1)},[i,t.isExternal]);return c.jsx(_t,{href:t.url,isExternal:t.isExternal,appendToUrl:t.appendToUrl,"data-type":t.type,onClick:E.composeEventHandlers(e.onClick,s),...e})},gt=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Title"}),pe=e=>{const{source:t}=S.useSourceItem();return c.jsx(gt,{children:t.title,...e})},kt=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemPreview__Title__LinkIcon",iconKey:"openLinkInNewTab"}),Pe=e=>{const{source:t}=S.useSourceItem();return c.jsx(kt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab",...e})},Et=r.ikp(M,{_id:"aiSearchResults__ItemPreview__Breadcrumbs"}),Re=r.ikp(oe,{_id:"aiSearchResults__ItemPreview__BreadcrumbIcon"}),Tt=r.ikp(Ge.Markdown,{_id:"aiSearchResults__ItemPreview__Body"}),_e=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch(),s=i.find(a=>a.id===t.id),{searchSettings:{shouldOpenLinksInNewTab:n}}=R.useInkeepConfig();return s?c.jsx(Tt,{shouldOpenLinksInNewTab:n,children:s.preview,...e}):null},wt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Outline"}),ge=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch();return i.find(a=>a.id===t.id)?.headings?.length?c.jsx(wt,{...e}):null},ke=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__Title",children:"On this page"}),At=r.ikp("ul",{_id:"aiSearchResults__ItemPreview__Outline__List"}),Ee=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch(),n=i.find(d=>d.id===t.id)?.headings;if(!n?.length)return null;const{children:a,...o}=e;return c.jsx(At,{children:m.maybeRender(a,n),...o})},ft=r.ikp(L.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Outline__Item"}),Te=e=>{const{searchSettings:{shouldOpenLinksInNewTab:t}}=R.useInkeepConfig(),i=y.useModal(),s=u.useCallback(n=>{const a=n.metaKey||n.ctrlKey;i?.isOpen&&!a&&!t&&i.setOpen(!1)},[i,t]);return c.jsx(ft,{isExternal:t,onClick:E.composeEventHandlers(e.onClick,s),...e})},we=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemPreview__Outline__ItemIcon",iconKey:"newLine"}),yt=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__ItemText"}),Ae=e=>c.jsx(yt,{...e}),fe=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchResults__ItemPreview__Outline__ItemLinkIcon",iconSettings:{builtIn:"LuLink"}}),Ct=r.ikp("div",{_id:"aiSearchFooter"}),ye=e=>{const{hasContent:t}=l.useSearch();return c.jsx(Ct,{"data-has-results":m.dataAttr(t),...e})},xt=r.ikp("div",{_id:"aiSearchTagline__Container"}),Lt=r.ikp("span",{_id:"aiSearchTagline__Text",children:"Powered by"}),Ot=r.ikp("a",{_id:"aiSearchTagline__Logo",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer","aria-label":"Inkeep"});exports.Provider=l.SearchProvider;exports.AskAITrigger=W;exports.AskAITriggerIcon=$;exports.AskAITriggerIndicator=X;exports.AskAITriggerIndicatorText=Y;exports.AskAITriggerLabel=z;exports.AskAITriggerQuery=J;exports.Content=Q;exports.EmbeddedSearchInputIcon=G;exports.EmbeddedSearchPrimitiveAskAITrigger=W;exports.EmbeddedSearchPrimitiveAskAITriggerIcon=$;exports.EmbeddedSearchPrimitiveAskAITriggerIndicator=X;exports.EmbeddedSearchPrimitiveAskAITriggerIndicatorText=Y;exports.EmbeddedSearchPrimitiveAskAITriggerLabel=z;exports.EmbeddedSearchPrimitiveAskAITriggerQuery=J;exports.EmbeddedSearchPrimitiveContent=Q;exports.EmbeddedSearchPrimitiveFooter=ye;exports.EmbeddedSearchPrimitiveInput=D;exports.EmbeddedSearchPrimitiveInputGroup=F;exports.EmbeddedSearchPrimitiveLoading=V;exports.EmbeddedSearchPrimitiveResults=Z;exports.EmbeddedSearchPrimitiveResultsContent=se;exports.EmbeddedSearchPrimitiveResultsEmpty=te;exports.EmbeddedSearchPrimitiveResultsItem=de;exports.EmbeddedSearchPrimitiveResultsItemBreadcrumbs=M;exports.EmbeddedSearchPrimitiveResultsItemDescription=he;exports.EmbeddedSearchPrimitiveResultsItemDescriptionPart=Ie;exports.EmbeddedSearchPrimitiveResultsItemIcon=ue;exports.EmbeddedSearchPrimitiveResultsItemIndicator=ve;exports.EmbeddedSearchPrimitiveResultsItemPreview=Se;exports.EmbeddedSearchPrimitiveResultsItemPreviewBody=_e;exports.EmbeddedSearchPrimitiveResultsItemPreviewBreadcrumbIcon=Re;exports.EmbeddedSearchPrimitiveResultsItemPreviewHeading=be;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutline=ge;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItem=Te;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemIcon=we;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemLinkIcon=fe;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemText=Ae;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineList=Ee;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineTitle=ke;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitle=pe;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitleLinkIcon=Pe;exports.EmbeddedSearchPrimitiveResultsItemTag=me;exports.EmbeddedSearchPrimitiveResultsItemTitle=le;exports.EmbeddedSearchPrimitiveResultsList=ce;exports.EmbeddedSearchPrimitiveResultsLoading=ee;exports.EmbeddedSearchPrimitiveResultsScrollArea=ne;exports.EmbeddedSearchPrimitiveResultsScrollAreaViewport=ae;exports.EmbeddedSearchPrimitiveResultsTab=re;exports.EmbeddedSearchPrimitiveResultsTabList=ie;exports.EmbeddedSearchPrimitiveRoot=N;exports.EmbeddedSearchPrimitiveWrapper=H;exports.Footer=ye;exports.Input=D;exports.InputGroup=F;exports.InputIcon=G;exports.Loading=V;exports.PrimitiveContent=U;exports.Results=Z;exports.ResultsContent=se;exports.ResultsEmpty=te;exports.ResultsItem=de;exports.ResultsItemBreadcrumbIcon=oe;exports.ResultsItemBreadcrumbs=M;exports.ResultsItemDescription=he;exports.ResultsItemDescriptionPart=Ie;exports.ResultsItemIcon=ue;exports.ResultsItemIndicator=ve;exports.ResultsItemPreview=Se;exports.ResultsItemPreviewBody=_e;exports.ResultsItemPreviewBreadcrumbIcon=Re;exports.ResultsItemPreviewBreadcrumbs=Et;exports.ResultsItemPreviewHeader=Rt;exports.ResultsItemPreviewHeading=be;exports.ResultsItemPreviewOutline=ge;exports.ResultsItemPreviewOutlineItem=Te;exports.ResultsItemPreviewOutlineItemIcon=we;exports.ResultsItemPreviewOutlineItemLinkIcon=fe;exports.ResultsItemPreviewOutlineItemText=Ae;exports.ResultsItemPreviewOutlineList=Ee;exports.ResultsItemPreviewOutlineTitle=ke;exports.ResultsItemPreviewTitle=pe;exports.ResultsItemPreviewTitleLinkIcon=Pe;exports.ResultsItemTag=me;exports.ResultsItemTitle=le;exports.ResultsList=ce;exports.ResultsLoading=ee;exports.ResultsScrollArea=ne;exports.ResultsScrollAreaCorner=ot;exports.ResultsScrollAreaScrollbar=ct;exports.ResultsScrollAreaThumb=dt;exports.ResultsScrollAreaViewport=ae;exports.ResultsTab=re;exports.ResultsTabList=ie;exports.Root=N;exports.TaglineContainer=xt;exports.TaglineLogo=Ot;exports.TaglineText=Lt;exports.Wrapper=H;
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),b=require("../atoms/cmdk/index.cjs"),r=require("./factory.cjs"),m=require("../utils/misc.cjs"),u=require("react"),l=require("./embedded-search/search-provider.cjs"),T=require("../atoms/icons/custom-icon.cjs"),qe=require("@radix-ui/react-scroll-area"),Be=require("@radix-ui/react-tabs"),R=require("../providers/config-provider.cjs"),Ke=require("../providers/search-events-provider.cjs"),L=require("../atoms/link.cjs"),S=require("../providers/source-item-provider.cjs"),O=require("../atoms/icons/built-in-icon-renderer.cjs"),He=require("../utils/highlight-emphasis.cjs"),Ne=require("../hooks/use-scrolling-fades.cjs"),Ue=require("../../color-mode/index.cjs"),Qe=require("../atoms/avatars/ai.cjs"),y=require("./modal/modal-provider.cjs"),C=require("../utils/compose-refs.cjs"),E=require("../utils/compose-event-handlers.cjs"),Fe=require("../atoms/shadow/context.cjs"),Ge=require("../atoms/markdown/index.cjs"),j=require("../hooks/use-media-query.cjs"),De=require("./embedded-search/use-search-filter.cjs"),Ve=require("./embedded-search/url-query.cjs"),A=require("../constants/search.cjs"),We=require("./modal/widget-auto-focus.cjs");function K(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 f=K(qe),x=K(Be),$e=r.ikp("div",{_id:"aiSearchWrapper"}),H=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{isHidden:i,hasContent:s}=l.useSearch(),n=j.useMediaQuery("(max-width: 768px)"),a=y.useModal();return c.jsx($e,{"data-hidden":m.dataAttr(i),"data-has-content":m.dataAttr(s),"data-in-modal":m.dataAttr(!!a),"data-mobile":m.dataAttr(n),"data-view":t,"data-dual-pane-search-expanded":m.dataAttr(s&&t==="dual-pane"&&!i),...e})},ze=r.ikp("div",{_id:"aiSearchRoot"}),N=e=>{const{isHidden:t}=l.useSearch(),i=j.useMediaQuery("(max-width: 768px)");return c.jsx(ze,{"data-hidden":m.dataAttr(t),"data-mobile":m.dataAttr(i),...e})},U=r.ikp(b.Command.List,{_id:"aiSearchContent"}),Q=u.forwardRef((e,t)=>{const i=b.useCommandState(s=>s.value);return c.jsx(U,{"aria-activedescendant":`aiSearchResults__Item-${i}`,...e,ref:t})}),F=r.ikp("div",{_id:"aiSearchInputGroup"}),G=r.ikp(T.CustomIcon,{_id:"aiSearchInputIcon",iconKey:"search"}),Je=r.ikp(b.Command.Input,{_id:"aiSearchInput"}),D=u.forwardRef(({onInput:e,...t},i)=>{const{inputRef:s,shouldAutoFocusInput:n}=l.useSearch(),a=b.useCommandState(v=>v.value),o=j.useMediaQuery("(max-width: 768px)"),{searchSettings:d}=R.useInkeepConfig(),I=u.useMemo(()=>d.placeholder||(o?"Search...":"Search for anything..."),[d.placeholder,o]),p=C.useComposedRefs(i,s);return We.useWidgetAutoFocus("search",s,n),De.useSearchFetch(),c.jsx(Je,{ref:p,placeholder:I,"aria-activedescendant":`aiSearchResults__Item-${a}`,...t})}),Xe=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchLoading",iconSettings:{builtIn:"LuLoaderCircle"}}),V=e=>{const{loading:t}=l.useSearch();return t?c.jsx(Xe,{...e}):null},Ye=r.ikp(b.Command.Item,{_id:"aiAskAITrigger",value:A.ASK_AI_TRIGGER_VALUE}),W=e=>{const{results:t,tab:i}=l.useSearch(),s=b.useCommandStore(),n=t[i]?.[0]?.id??"NONE";return c.jsx(Ye,{...e,id:`aiSearchResults__Item-${A.ASK_AI_TRIGGER_VALUE}`,tabIndex:0,onPointerLeave:()=>s.setState("value",n,!0)})},Ze=r.ikp("img",{_id:"aiAskAITrigger__Icon"}),$=e=>{const{aiChatSettings:t}=R.useInkeepConfig(),{aiAssistantAvatar:i}=t??{},s=typeof i=="string"?i:i?.light,n=(typeof i=="string"?i:i?.dark)??s,a=Ue.useColorModeValue(s,n),[o,d]=u.useState(a);u.useEffect(()=>{d(a)},[a]);const I=()=>{d(null)};return c.jsx(Ze,{asChild:!0,...e,children:o?c.jsx("img",{src:o,alt:"AI Avatar","data-type":"image",onError:E.composeEventHandlers(I),...e}):c.jsx(Qe.default,{"data-type":"icon",...e})})},z=r.ikp("span",{_id:"aiAskAITrigger__Label"}),J=r.ikp("span",{_id:"aiAskAITrigger__Query"}),X=r.ikp(T.CustomIcon,{_id:"aiAskAITrigger__Indicator",iconKey:"openLinkInSameTab"}),Y=r.ikp("span",{_id:"aiAskAITrigger__IndicatorText"}),et=r.ikp(x.Root,{_id:"aiSearchResults"}),Z=e=>{const{searchSettings:{view:t}}=R.useInkeepConfig(),{tab:i,setTab:s,hasContent:n,isHidden:a,disableTransition:o,results:d,defaultTab:I}=l.useSearch(),p=b.useCommandStore(),v=u.useCallback(h=>{o(),s(h);const P=d[h][0]?d[h][0]?.id:void 0;p.setState("value",P,!0)},[d,o]);return u.useEffect(()=>{let h=i in d?i:Object.keys(d)[0];if(!d[h]?.length){const g=Object.keys(d).find(k=>d[k]?.length);g?h=g:h=I}if(!h)return;s(h);const P=d[h]?.[0];P&&p.setState("value",P.id,!0)},[d]),c.jsx(et,{value:i,onValueChange:v,"data-has-content":m.dataAttr(n),"data-dual-pane-search-expanded":m.dataAttr(n&&t==="dual-pane"&&!a),...e})},tt=r.ikp("div",{_id:"aiSearchResults__Loading"}),ee=e=>{const{loading:t,resultsList:i}=l.useSearch();return!t||i.length>0?null:c.jsx(tt,{...e})},it=r.ikp(b.Command.Empty,{_id:"aiSearchResults__Empty"}),te=e=>{const t=b.useCommandState(o=>o.search),{loading:i,results:s,tab:n}=l.useSearch(),a=s[n]?.length;return i||!t||a?null:c.jsx(it,{children:"No results found.",...e})},rt=r.ikp(x.List,{_id:"aiSearchResults__TabList"}),ie=e=>{const{children:t,...i}=e,{searchSettings:{tabs:s}}=R.useInkeepConfig(),{results:n,loading:a,resultsList:o}=l.useSearch();if(a&&o.length===0)return null;const d=Object.keys(n);return!s.length||!d.length?null:c.jsx(rt,{tabIndex:-1,children:m.maybeRender(t,d),...i})},st=r.ikp(x.Trigger,{_id:"aiSearchResults__Tab"}),re=u.forwardRef((e,t)=>{const i=u.useRef(null),s=C.useComposedRefs(t,i),{tab:n,onClick:a,...o}=e,{results:d,tab:I,inputRef:p}=l.useSearch(),v=d[n].length,h=n===I,P=()=>{p.current?.focus()},g=Fe.useShadow();return u.useEffect(()=>{h&&g?.shadowHost?.shadowRoot?.activeElement?.hasAttribute("ikp-tab")&&i.current?.focus()},[h]),c.jsx(st,{ref:s,"ikp-tab":"",tabIndex:h?0:-1,value:n,children:`${n} (${v})`,onClick:E.composeEventHandlers(a,P),...o})}),se=r.ikp("div",{_id:"aiSearchResults__Content"}),nt=r.ikp(f.Root,{_id:"aiSearchResults__ScrollArea"}),ne=e=>{const{loading:t,resultsList:i}=l.useSearch();return t&&i.length===0?null:c.jsx(nt,{tabIndex:-1,...e})},at=r.ikp(f.Viewport,{_id:"aiSearchResults__ScrollAreaViewport"}),ae=u.forwardRef(({children:e,...t},i)=>{const s=Ne.useScrollingFades(),n=C.useComposedRefs(i,s),{tab:a}=l.useSearch();return u.useEffect(()=>{a&&s.current?.scrollTo({top:0,behavior:"auto"})},[a]),c.jsx(at,{ref:n,tabIndex:-1,children:c.jsx("div",{tabIndex:-1,style:{display:"grid"},children:e}),...t})}),ct=r.ikp(f.ScrollAreaScrollbar,{_id:"aiSearchResults__ScrollAreaScrollbar"}),dt=r.ikp(f.ScrollAreaThumb,{_id:"aiSearchResults__ScrollAreaThumb"}),ot=r.ikp(f.Corner,{_id:"aiSearchResults__ScrollAreaCorner"}),ut=r.ikp(x.Content,{_id:"aiSearchResults__List"}),ce=e=>{const{children:t,...i}=e,{results:s,tab:n}=l.useSearch(),a=s[n]??[];return c.jsx(ut,{value:n,"data-has-results":m.dataAttr(a.length>0),"aria-label":"Search results",children:m.maybeRender(t,a),tabIndex:-1,...i})},lt=r.ikp(b.Command.Item,{_id:"aiSearchResults__Item",asChild:!0}),de=u.forwardRef(({item:e,onClick:t,onSelect:i,children:s,...n},a)=>{const{searchSettings:{shouldOpenLinksInNewTab:o,view:d,searchQueryParamKey:I}}=R.useInkeepConfig(),{logEvent:p}=Ke.useSearchEvents(),v=b.useCommandState(_=>_.search),{transitionsDisabled:h}=l.useSearch(),P=b.useCommandState(_=>_.value),g=u.useRef(null),k=y.useModal(),q=C.useComposedRefs(a,g),Ce=u.useCallback(_=>{_.trigger==="keyboard"&&g.current?.click()},[]),w=u.useMemo(()=>e.shouldOpenInNewTab!==void 0?e.shouldOpenInNewTab:o,[e.shouldOpenInNewTab,o]),xe=u.useCallback(_=>{p({eventName:"search_result_clicked",properties:{searchQuery:v,title:e.title,url:e.url}});const Me=_.metaKey||_.ctrlKey;k?.isOpen&&!Me&&!w&&k.setOpen(!1)},[p,v,e.title,e.url,k,w]),B=P===e.id,Le=P==="NONE"||P===A.ASK_AI_TRIGGER_VALUE,Oe=B||Le,je=u.useMemo(()=>({href:I?Ve.getUrlWithQuery(e.url,v,I):e.url,isExternal:w,appendToUrl:e.appendToUrl,children:s,id:`aiSearchResults__Item-${e.id}`}),[e.url,w,e.appendToUrl,s,e.id,I,v]);return c.jsx(S.SourceItemProvider,{source:{...e,isExternal:w},children:c.jsx(lt,{ref:q,value:e.id,"data-type":e.type,"data-breadcrumbs":!!e.breadcrumbs?.length,"data-disable-transitions":m.dataAttr(h),"data-view":d,onSelect:E.composeEventHandlers(i,Ce),onClick:E.composeEventHandlers(t,xe),"data-selected":m.dataAttr(B),tabIndex:Oe?0:-1,...n,children:c.jsx(L.LinkWithQueryParams,{...je})})})}),mt=r.ikp("div",{_id:"aiSearchResults__ItemBreadcrumbs"}),M=e=>{const{source:t}=S.useSourceItem(),{tab:i}=l.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 c.jsx(mt,{"aria-hidden":"true",children:m.maybeRender(s,o),...n})},oe=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemBreadcrumbIcon",iconKey:"breadcrumbSeparator"}),ht=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchResults__ItemIcon"}),ue=e=>{const{source:t}=S.useSourceItem();return t.icon?c.jsx(ht,{iconSettings:t.icon,"data-type":t.type,...e}):null},It=r.ikp("span",{_id:"aiSearchResults__ItemTitle"}),le=e=>{const{source:t}=S.useSourceItem();return c.jsx(It,{"data-type":t.type,children:t.title,...e})},vt=r.ikp("span",{_id:"aiSearchResults__ItemTag"}),me=e=>{const{source:t}=S.useSourceItem();return c.jsx(vt,{"data-type":t.type,children:t.tag,...e})},St=r.ikp("span",{_id:"aiSearchResults__ItemDescription"}),he=e=>{const{source:t}=S.useSourceItem(),{children:i,...s}=e,n=u.useMemo(()=>t.description?He.highlightEmphasis(t.description):[],[t.description]);return n.length?c.jsx(St,{"data-type":t.type,"aria-hidden":"true",children:m.maybeRender(i,n),...s}):null},bt=r.ikp("span",{_id:"aiSearchResults__ItemDescriptionPart"}),Ie=e=>{const{descriptionPart:t,...i}=e,{source:s}=S.useSourceItem();return typeof t=="string"?t:c.jsx(bt,{"data-type":s.type,children:t.content,"data-highlighted":m.dataAttr(t.highlighted),...i})},pt=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemIndicator"}),ve=e=>{const{source:t}=S.useSourceItem(),{searchSettings:{view:i}}=R.useInkeepConfig();return c.jsx(pt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab","data-view":i,...e})},Pt=r.ikp("div",{_id:"aiSearchResults__ItemPreview","aria-hidden":!0}),Se=e=>{const{searchSettings:{view:t,shouldOpenLinksInNewTab:i}}=R.useInkeepConfig(),{results:s,tab:n}=l.useSearch(),a=b.useCommandState(v=>v.value),o=s[n]??[],d=u.useRef(null),I=u.useMemo(()=>{if(a===A.ASK_AI_TRIGGER_VALUE)return d.current;const v=o.find(h=>h.id===a);return d.current=v,v},[a]);if(t!=="dual-pane"||a===A.ASK_AI_TRIGGER_VALUE||!I)return null;const p=I.shouldOpenInNewTab!==void 0?I.shouldOpenInNewTab:i;return c.jsx(S.SourceItemProvider,{source:{...I,isExternal:p},children:c.jsx(Pt,{...e})})},Rt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Header"}),_t=r.ikp(L.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Heading"}),be=e=>{const{source:t}=S.useSourceItem(),i=y.useModal(),s=u.useCallback(n=>{const a=n.metaKey||n.ctrlKey;i?.isOpen&&!a&&!t.isExternal&&i.setOpen(!1)},[i,t.isExternal]);return c.jsx(_t,{href:t.url,isExternal:t.isExternal,appendToUrl:t.appendToUrl,"data-type":t.type,onClick:E.composeEventHandlers(e.onClick,s),...e})},gt=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Title"}),pe=e=>{const{source:t}=S.useSourceItem();return c.jsx(gt,{children:t.title,...e})},kt=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemPreview__Title__LinkIcon",iconKey:"openLinkInNewTab"}),Pe=e=>{const{source:t}=S.useSourceItem();return c.jsx(kt,{iconKey:t.isExternal?"openLinkInNewTab":"openLinkInSameTab",...e})},Et=r.ikp(M,{_id:"aiSearchResults__ItemPreview__Breadcrumbs"}),Re=r.ikp(oe,{_id:"aiSearchResults__ItemPreview__BreadcrumbIcon"}),Tt=r.ikp(Ge.Markdown,{_id:"aiSearchResults__ItemPreview__Body"}),_e=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch(),s=i.find(a=>a.id===t.id),{searchSettings:{shouldOpenLinksInNewTab:n}}=R.useInkeepConfig();return s?c.jsx(Tt,{shouldOpenLinksInNewTab:n,children:s.preview,...e}):null},wt=r.ikp("div",{_id:"aiSearchResults__ItemPreview__Outline"}),ge=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch();return i.find(a=>a.id===t.id)?.headings?.length?c.jsx(wt,{...e}):null},ke=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__Title",children:"On this page"}),At=r.ikp("ul",{_id:"aiSearchResults__ItemPreview__Outline__List"}),Ee=e=>{const{source:t}=S.useSourceItem(),{resultsList:i}=l.useSearch(),n=i.find(d=>d.id===t.id)?.headings;if(!n?.length)return null;const{children:a,...o}=e;return c.jsx(At,{children:m.maybeRender(a,n),...o})},ft=r.ikp(L.LinkWithQueryParams,{_id:"aiSearchResults__ItemPreview__Outline__Item"}),Te=e=>{const{searchSettings:{shouldOpenLinksInNewTab:t}}=R.useInkeepConfig(),i=y.useModal(),s=u.useCallback(n=>{const a=n.metaKey||n.ctrlKey;i?.isOpen&&!a&&!t&&i.setOpen(!1)},[i,t]);return c.jsx(ft,{isExternal:t,onClick:E.composeEventHandlers(e.onClick,s),...e})},we=r.ikp(T.CustomIcon,{_id:"aiSearchResults__ItemPreview__Outline__ItemIcon",iconKey:"newLine"}),yt=r.ikp("span",{_id:"aiSearchResults__ItemPreview__Outline__ItemText"}),Ae=e=>c.jsx(yt,{...e}),fe=r.ikp(O.BuiltInIconRenderer,{_id:"aiSearchResults__ItemPreview__Outline__ItemLinkIcon",iconSettings:{builtIn:"LuLink"}}),Ct=r.ikp("div",{_id:"aiSearchFooter"}),ye=e=>{const{hasContent:t}=l.useSearch();return c.jsx(Ct,{"data-has-results":m.dataAttr(t),...e})},xt=r.ikp("div",{_id:"aiSearchTagline__Container"}),Lt=r.ikp("span",{_id:"aiSearchTagline__Text",children:"Powered by"}),Ot=r.ikp("a",{_id:"aiSearchTagline__Logo",href:"https://www.inkeep.com/",target:"_blank",rel:"noopener noreferrer","aria-label":"Inkeep"});exports.Provider=l.SearchProvider;exports.AskAITrigger=W;exports.AskAITriggerIcon=$;exports.AskAITriggerIndicator=X;exports.AskAITriggerIndicatorText=Y;exports.AskAITriggerLabel=z;exports.AskAITriggerQuery=J;exports.Content=Q;exports.EmbeddedSearchInputIcon=G;exports.EmbeddedSearchPrimitiveAskAITrigger=W;exports.EmbeddedSearchPrimitiveAskAITriggerIcon=$;exports.EmbeddedSearchPrimitiveAskAITriggerIndicator=X;exports.EmbeddedSearchPrimitiveAskAITriggerIndicatorText=Y;exports.EmbeddedSearchPrimitiveAskAITriggerLabel=z;exports.EmbeddedSearchPrimitiveAskAITriggerQuery=J;exports.EmbeddedSearchPrimitiveContent=Q;exports.EmbeddedSearchPrimitiveFooter=ye;exports.EmbeddedSearchPrimitiveInput=D;exports.EmbeddedSearchPrimitiveInputGroup=F;exports.EmbeddedSearchPrimitiveLoading=V;exports.EmbeddedSearchPrimitiveResults=Z;exports.EmbeddedSearchPrimitiveResultsContent=se;exports.EmbeddedSearchPrimitiveResultsEmpty=te;exports.EmbeddedSearchPrimitiveResultsItem=de;exports.EmbeddedSearchPrimitiveResultsItemBreadcrumbs=M;exports.EmbeddedSearchPrimitiveResultsItemDescription=he;exports.EmbeddedSearchPrimitiveResultsItemDescriptionPart=Ie;exports.EmbeddedSearchPrimitiveResultsItemIcon=ue;exports.EmbeddedSearchPrimitiveResultsItemIndicator=ve;exports.EmbeddedSearchPrimitiveResultsItemPreview=Se;exports.EmbeddedSearchPrimitiveResultsItemPreviewBody=_e;exports.EmbeddedSearchPrimitiveResultsItemPreviewBreadcrumbIcon=Re;exports.EmbeddedSearchPrimitiveResultsItemPreviewHeading=be;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutline=ge;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItem=Te;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemIcon=we;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemLinkIcon=fe;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineItemText=Ae;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineList=Ee;exports.EmbeddedSearchPrimitiveResultsItemPreviewOutlineTitle=ke;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitle=pe;exports.EmbeddedSearchPrimitiveResultsItemPreviewTitleLinkIcon=Pe;exports.EmbeddedSearchPrimitiveResultsItemTag=me;exports.EmbeddedSearchPrimitiveResultsItemTitle=le;exports.EmbeddedSearchPrimitiveResultsList=ce;exports.EmbeddedSearchPrimitiveResultsLoading=ee;exports.EmbeddedSearchPrimitiveResultsScrollArea=ne;exports.EmbeddedSearchPrimitiveResultsScrollAreaViewport=ae;exports.EmbeddedSearchPrimitiveResultsTab=re;exports.EmbeddedSearchPrimitiveResultsTabList=ie;exports.EmbeddedSearchPrimitiveRoot=N;exports.EmbeddedSearchPrimitiveWrapper=H;exports.Footer=ye;exports.Input=D;exports.InputGroup=F;exports.InputIcon=G;exports.Loading=V;exports.PrimitiveContent=U;exports.Results=Z;exports.ResultsContent=se;exports.ResultsEmpty=te;exports.ResultsItem=de;exports.ResultsItemBreadcrumbIcon=oe;exports.ResultsItemBreadcrumbs=M;exports.ResultsItemDescription=he;exports.ResultsItemDescriptionPart=Ie;exports.ResultsItemIcon=ue;exports.ResultsItemIndicator=ve;exports.ResultsItemPreview=Se;exports.ResultsItemPreviewBody=_e;exports.ResultsItemPreviewBreadcrumbIcon=Re;exports.ResultsItemPreviewBreadcrumbs=Et;exports.ResultsItemPreviewHeader=Rt;exports.ResultsItemPreviewHeading=be;exports.ResultsItemPreviewOutline=ge;exports.ResultsItemPreviewOutlineItem=Te;exports.ResultsItemPreviewOutlineItemIcon=we;exports.ResultsItemPreviewOutlineItemLinkIcon=fe;exports.ResultsItemPreviewOutlineItemText=Ae;exports.ResultsItemPreviewOutlineList=Ee;exports.ResultsItemPreviewOutlineTitle=ke;exports.ResultsItemPreviewTitle=pe;exports.ResultsItemPreviewTitleLinkIcon=Pe;exports.ResultsItemTag=me;exports.ResultsItemTitle=le;exports.ResultsList=ce;exports.ResultsLoading=ee;exports.ResultsScrollArea=ne;exports.ResultsScrollAreaCorner=ot;exports.ResultsScrollAreaScrollbar=ct;exports.ResultsScrollAreaThumb=dt;exports.ResultsScrollAreaViewport=ae;exports.ResultsTab=re;exports.ResultsTabList=ie;exports.Root=N;exports.TaglineContainer=xt;exports.TaglineLogo=Ot;exports.TaglineText=Lt;exports.Wrapper=H;
|
|
@@ -191,7 +191,7 @@ export interface EmbeddedSearchPrimitiveResultsItemDescriptionProps extends Omit
|
|
|
191
191
|
export declare const EmbeddedSearchPrimitiveResultsItemDescription: (props: EmbeddedSearchPrimitiveResultsItemDescriptionProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
192
192
|
declare const PrimitiveResultsItemDescriptionPart: ForwardRefExoticComponent< PolymorphicProps & Omit< DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "_id"> & Partial<Pick< DetailedHTMLProps<HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "_id">>>;
|
|
193
193
|
export interface EmbeddedSearchPrimitiveResultsItemDescriptionPartProps extends ComponentPropsWithRef<typeof PrimitiveResultsItemDescriptionPart> {
|
|
194
|
-
|
|
194
|
+
descriptionPart: DescriptionPart;
|
|
195
195
|
}
|
|
196
196
|
export declare const EmbeddedSearchPrimitiveResultsItemDescriptionPart: (props: EmbeddedSearchPrimitiveResultsItemDescriptionPartProps) => string | import("react/jsx-runtime").JSX.Element;
|
|
197
197
|
declare const PrimitiveResultsItemIndicator: ForwardRefExoticComponent< PolymorphicProps & Omit< CustomIconProps, "_id"> & Partial<Pick< CustomIconProps, "_id">>>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as o } from "react/jsx-runtime";
|
|
3
|
-
import { useCommandState as g,
|
|
3
|
+
import { useCommandState as g, useCommandStore as V, Command as y } from "../atoms/cmdk/index.js";
|
|
4
4
|
import { ikp as i } from "./factory.js";
|
|
5
5
|
import { dataAttr as I, maybeRender as L } from "../utils/misc.js";
|
|
6
|
-
import { forwardRef as C,
|
|
6
|
+
import { forwardRef as C, useState as J, useEffect as x, useMemo as E, useCallback as A, useRef as N } from "react";
|
|
7
7
|
import { useSearch as d } from "./embedded-search/search-provider.js";
|
|
8
8
|
import { SearchProvider as vs } from "./embedded-search/search-provider.js";
|
|
9
9
|
import { CustomIcon as f } from "../atoms/icons/custom-icon.js";
|
|
@@ -354,7 +354,7 @@ const oe = i("div", {
|
|
|
354
354
|
}, Le = i("span", {
|
|
355
355
|
_id: "aiSearchResults__ItemDescriptionPart"
|
|
356
356
|
}), Gt = (e) => {
|
|
357
|
-
const {
|
|
357
|
+
const { descriptionPart: t, ...s } = e, { source: r } = v();
|
|
358
358
|
return typeof t == "string" ? t : /* @__PURE__ */ o(
|
|
359
359
|
Le,
|
|
360
360
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as r } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
4
|
-
const o =
|
|
3
|
+
import { useContext as n, createContext as c } from "react";
|
|
4
|
+
const o = c(void 0), d = ({ children: t, modal: e }) => /* @__PURE__ */ r(o.Provider, { value: e, children: t }), i = () => n(o);
|
|
5
5
|
export {
|
|
6
6
|
d as ModalProvider,
|
|
7
7
|
i as useModal
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as e } from "react/jsx-runtime";
|
|
3
|
-
import { Overlay as d, Root as s,
|
|
3
|
+
import { Overlay as d, Root as s, Close as m, Content as c } from "../atoms/dialog.js";
|
|
4
4
|
import { ikp as n } from "./factory.js";
|
|
5
5
|
import { CustomIcon as p } from "../atoms/icons/custom-icon.js";
|
|
6
6
|
import { useInkeepModal as C } from "./modal/use-inkeep-modal.js";
|
|
@@ -22,13 +22,13 @@ const O = n(s, {
|
|
|
22
22
|
) });
|
|
23
23
|
}, H = n(d, {
|
|
24
24
|
_id: "modal__Overlay"
|
|
25
|
-
}), y = n(
|
|
25
|
+
}), y = n(c, {
|
|
26
26
|
_id: "modal__Content",
|
|
27
27
|
"aria-describedby": void 0
|
|
28
28
|
}), K = (o) => {
|
|
29
29
|
const t = v("(max-width: 768px)");
|
|
30
30
|
return /* @__PURE__ */ e(y, { "data-mobile": _(t), tabIndex: -1, ...o });
|
|
31
|
-
}, b = n(
|
|
31
|
+
}, b = n(m, {
|
|
32
32
|
_id: "modal__Close",
|
|
33
33
|
children: /* @__PURE__ */ e(p, { iconKey: "close" })
|
|
34
34
|
}), Q = (o) => f() ? /* @__PURE__ */ e(b, { ...o }) : null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as o } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef as n } from "react";
|
|
3
3
|
import { ikp as a } from "../factory.js";
|
|
4
|
-
import {
|
|
4
|
+
import { useSidebarChat as m, useInkeepSidebarChat as p, SidebarChatProvider as c } from "../../providers/sidebar-chat-provider.js";
|
|
5
5
|
import { useSidebarChatResizer as h } from "./use-sidebar-chat-resizer.js";
|
|
6
6
|
import { Presence as u } from "../presence.js";
|
|
7
7
|
import { dataAttr as C } from "../../utils/misc.js";
|
|
@@ -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 l=require("react/jsx-runtime"),t=require("react"),p=require("./config-provider.cjs"),u=t.createContext(void 0),g=({children:e})=>{const{baseSettings:s,componentType:n}=p.useInkeepConfig(),{tags:o,analyticsProperties:r}=s,i="0.16.1",c=t.useMemo(()=>({widgetLibraryVersion:i,componentType:n,tags:o}),[n,o,i]),v={logEvent:t.useCallback(async a=>{const d={...c,...a.properties,...r},E={eventName:a.eventName,properties:d};return s.onEvent?.(E)},[s,c,r])};return l.jsx(u.Provider,{value:v,children:e})},m=()=>{const e=t.useContext(u);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=g;exports.useBaseEvents=m;
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import { useMemo as
|
|
4
|
-
import { useInkeepConfig as
|
|
5
|
-
const
|
|
6
|
-
const { baseSettings: t, componentType: o } =
|
|
2
|
+
import { jsx as u } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo as E, useCallback as d, useContext as l, createContext as g } from "react";
|
|
4
|
+
import { useInkeepConfig as x } from "./config-provider.js";
|
|
5
|
+
const c = g(void 0), b = ({ children: e }) => {
|
|
6
|
+
const { baseSettings: t, componentType: o } = x(), { tags: s, analyticsProperties: n } = t, r = "0.16.1", i = E(
|
|
7
7
|
() => ({
|
|
8
|
-
widgetLibraryVersion:
|
|
8
|
+
widgetLibraryVersion: r,
|
|
9
9
|
componentType: o,
|
|
10
10
|
tags: s
|
|
11
11
|
}),
|
|
12
|
-
[o, s]
|
|
13
|
-
),
|
|
14
|
-
async (
|
|
15
|
-
const
|
|
16
|
-
...
|
|
17
|
-
...
|
|
12
|
+
[o, s, r]
|
|
13
|
+
), v = { logEvent: d(
|
|
14
|
+
async (a) => {
|
|
15
|
+
const m = {
|
|
16
|
+
...i,
|
|
17
|
+
...a.properties,
|
|
18
18
|
...n
|
|
19
|
-
},
|
|
20
|
-
eventName:
|
|
21
|
-
properties:
|
|
19
|
+
}, p = {
|
|
20
|
+
eventName: a.eventName,
|
|
21
|
+
properties: m
|
|
22
22
|
};
|
|
23
|
-
return t.onEvent?.(
|
|
23
|
+
return t.onEvent?.(p);
|
|
24
24
|
},
|
|
25
|
-
[t,
|
|
25
|
+
[t, i, n]
|
|
26
26
|
) };
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
-
},
|
|
29
|
-
const e = l(
|
|
27
|
+
return /* @__PURE__ */ u(c.Provider, { value: v, children: e });
|
|
28
|
+
}, w = () => {
|
|
29
|
+
const e = l(c);
|
|
30
30
|
if (!e)
|
|
31
31
|
throw new Error("useBaseEvents must be used within a BaseEventsProvider");
|
|
32
32
|
return e;
|
|
33
33
|
};
|
|
34
34
|
export {
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
b as BaseEventsProvider,
|
|
36
|
+
w as useBaseEvents
|
|
37
37
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useContext as o, createContext as u } from "react";
|
|
4
4
|
import { useInkeepOpenState as b } from "../hooks/use-inkeep-open-state.js";
|
|
5
5
|
const t = u(void 0), i = ({ children: e, value: r }) => /* @__PURE__ */ n(t.Provider, { value: r, children: e }), h = () => {
|
|
6
6
|
const e = o(t);
|
|
@@ -17,7 +17,7 @@ export declare function useChatFormState(): {
|
|
|
17
17
|
}> | undefined;
|
|
18
18
|
getFields: (conversationId?: string) => FormField[];
|
|
19
19
|
errors: FieldErrors<Record<string, any>>;
|
|
20
|
-
control: Control<Record<string, any>, any
|
|
20
|
+
control: Control<Record<string, any>, any, Record<string, any>>;
|
|
21
21
|
defaultValues: Record<string, any>;
|
|
22
22
|
};
|
|
23
23
|
export declare const ChatFormProvider: React.FC<{
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as N } from "react/jsx-runtime";
|
|
3
|
-
import { useState as d, useCallback as a, useMemo as v, useEffect as
|
|
3
|
+
import { useContext as P, useState as d, useCallback as a, useMemo as v, useEffect as T, createContext as k } from "react";
|
|
4
4
|
import { useForm as G } from "react-hook-form";
|
|
5
5
|
import { useModal as W } from "../components/modal/modal-provider.js";
|
|
6
6
|
import { getFormDefaultValues as j } from "../utils/form.js";
|
|
7
7
|
import { useBaseEvents as A } from "./base-events-provider.js";
|
|
8
|
-
const B = "root.serverError", y =
|
|
8
|
+
const B = "root.serverError", y = k(void 0);
|
|
9
9
|
function D() {
|
|
10
10
|
const [e, c] = d(null), [u, f] = d(null), [w, p] = d(!1), h = W(), { logEvent: b } = A(), x = a(
|
|
11
11
|
(o, t) => {
|
|
@@ -37,7 +37,7 @@ function D() {
|
|
|
37
37
|
} = G({
|
|
38
38
|
defaultValues: n
|
|
39
39
|
});
|
|
40
|
-
|
|
40
|
+
T(() => {
|
|
41
41
|
n && E(n);
|
|
42
42
|
}, [E, n]);
|
|
43
43
|
const F = a(
|
|
@@ -97,7 +97,7 @@ const U = ({ children: e }) => {
|
|
|
97
97
|
const c = D();
|
|
98
98
|
return /* @__PURE__ */ N(y.Provider, { value: c, children: e });
|
|
99
99
|
}, X = () => {
|
|
100
|
-
const e =
|
|
100
|
+
const e = P(y);
|
|
101
101
|
if (!e)
|
|
102
102
|
throw new Error("useChatForm must be used within a ChatFormProvider");
|
|
103
103
|
return e;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as se } from "react/jsx-runtime";
|
|
3
|
-
import {
|
|
3
|
+
import { useContext as re, useState as h, useRef as c, useEffect as H, useCallback as S, createContext as oe } from "react";
|
|
4
4
|
import { useChat as ie } from "../components/embedded-chat/chat-provider.js";
|
|
5
5
|
import { useInkeepConfig as ae } from "./config-provider.js";
|
|
6
6
|
import { useInkeepApiClient as ce } from "../hooks/use-inkeep-api-client.js";
|
|
7
|
-
const z =
|
|
7
|
+
const z = oe(void 0), q = 25;
|
|
8
8
|
function ue(e) {
|
|
9
9
|
const {
|
|
10
10
|
stop: u,
|
|
@@ -99,7 +99,7 @@ const ge = ({ layout: e, children: u }) => {
|
|
|
99
99
|
const f = ue(e);
|
|
100
100
|
return /* @__PURE__ */ se(z.Provider, { value: f, children: typeof u == "function" ? u(f) : u });
|
|
101
101
|
}, ve = () => {
|
|
102
|
-
const e =
|
|
102
|
+
const e = re(z);
|
|
103
103
|
if (!e)
|
|
104
104
|
throw new Error("useChatHistory must be used within a ChatHistoryProvider");
|
|
105
105
|
return e;
|