@pickaxeproject/react 6.0.1-6 → 6.0.1-7

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../Addons/Auth/hooks/useAuthContext.js"),a=require("../../../hooks/pickaxe/useDimensionContext.js"),r=require("../Addons/Document/hooks/useDocument.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),l=require("./History/index.js"),c=require("./Input.js"),u=require("../../Icons/attach-vertical.svg.js"),d=require("../../../common/cn.js"),m=require("../../../common/api/pickaxe.js"),x=require("lucide-react"),f=require("uuid"),h=require("../../Icons/trash-2.svg.js"),p=require("../../Icons/pencil.svg.js"),v=require("../../../hooks/pickaxe/useResponseContext.js");const g=({text:e,icon:s,className:n,onClick:i})=>t.jsx("div",Object.assign({onClick:i,className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",n)},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[s&&t.jsx("img",{src:s,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),j=({text:n,className:i,onRename:a,onDelete:r,isDarkGlass:o})=>{const[l,c]=s.useState(!1),[u,m]=s.useState(!1),[f,v]=s.useState(n),[g,j]=s.useState(!1),b=s.useRef(null),w=s.useRef(null);s.useEffect((()=>{u||v(n)}),[n,u]),s.useEffect((()=>{const e=e=>{w.current&&!w.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const k=()=>e.__awaiter(void 0,void 0,void 0,(function*(){f.trim()&&(j(!0),yield a(f),j(!1),m(!1))})),y=()=>{v(n),m(!1)};return t.jsxs("div",Object.assign({ref:w,className:"relative z-40 h-full shrink min-w-0"},{children:[t.jsx("div",Object.assign({className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",i),onClick:e=>{e.stopPropagation(),u||l?l&&c(!1):c(!0)}},{children:u?t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[t.jsx("input",{autoFocus:!0,type:"text",value:f,onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key&&k(),"Escape"===e.key&&y()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),t.jsx("button",Object.assign({onClick:k,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.Check,{className:"h-4 w-4"})})),t.jsx("button",Object.assign({onClick:y,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.X,{className:"h-4 w-4"})}))]})):t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),t.jsx(x.MoreHorizontal,{className:d.default("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),l&&t.jsxs("div",Object.assign({className:d.default("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",o?"bg-[#313131] text-white":"bg-white text-black"),ref:b},{children:[t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),m(!0)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b border-current hover:opacity-70"},{children:[t.jsx(p.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),r()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[t.jsx(h.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))};exports.default=()=>{const{deploymentType:x,isNewChat:h,setIsNewChat:p,sessionId:b,setSessionId:w,pickaxeId:k,sender:y,pickaxe:N,styles:C,isEmbed:D}=n.usePickaxeContext(),{isSent:O}=i.useAuthContext(),{width:_,height:S,setDimension:I}=a.useDimensionContext(),{setDocuments:q,onFileUpload:E}=r.useDocument(),{isGenerating:P,messages:z}=v.useResponseContext(),F=o.useStyleFontSize(),[R,A]=s.useState(0),[T,H]=s.useState(!1),[G,L]=s.useState(!1),M=s.useRef(null),B=s.useRef(null),K=s.useRef(0),[U,X]=s.useState(null),[J,Q]=s.useState(!1),V="chat-input"===x&&h&&!O;s.useEffect((()=>()=>{q([])}),[]);const W=s.useCallback((()=>{if(!k||!y)return;const t=(s=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield m.default.post("/get_pickaxe_conversation",{sessionId:b,userId:y});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void Z(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}s<20&&setTimeout((()=>t(s+1)),3e3)}));t()}),[k,y,b]);s.useEffect((()=>{P||h||!b||W()}),[P,h,b,W]),s.useEffect((()=>{if(!M.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;I(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(M.current),()=>{e.disconnect()}}),[M.current]);const[Y,Z]=s.useState("New Chat"),$=(null==N?void 0:N.formtitle)||"Pickaxe",ee=(null==N?void 0:N.coverphoto)||void 0,[te,se]=s.useState(!1);s.useEffect((()=>{const e=!V&&!D&&C.portalTheme&&(z.filter((e=>"user"===e.role)).length>0||T||!h);se(null!=e&&e)}),[z,T,h]);return t.jsxs("div",Object.assign({ref:M,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),K.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&L(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),K.current-=1,0===K.current&&L(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),L(!1),K.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(p(!1),yield E(e))}))},{children:[G&&t.jsxs("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[t.jsx("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:t.jsx(u.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:d.default(F.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),t.jsx("p",Object.assign({className:d.default(F.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),V?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[te&&t.jsxs("div",Object.assign({className:d.default("direct-link"===x?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===C.portalTheme?"glass-dark ":"")},{children:[t.jsx(g,{text:$,icon:ee}),h||"New Chat"===Y?t.jsx(g,{text:Y}):t.jsx(j,{text:Y,sessionId:b,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b)try{yield m.default.post("/edit_conversation_name",{sessionId:b,name:t,userId:y}),Z(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b&&window.confirm("Are you sure you want to delete this conversation?"))try{yield m.default.post("/delete_pickaxe_conversation",{sessionId:b,userId:y}),p(!0),w(f.v4()),Z("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===C.portalTheme})]})),t.jsx(l.default,{additionalScrollHeight:R,isForceHideInfo:S<=545||_<=350||T,isInputFocused:T,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){B.current&&B.current.onSubmit(t)})),smitheryAuthData:U,resubmitPrompt:()=>{X(null),Q(!0)}}),t.jsx(c.default,{ref:B,onFocus:()=>H(!0),onBlur:()=>H(!1),onInputHeightChange:A,initSmitheryAuthData:e=>X(e),resubmitPrompt:J})]})]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("react"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../Addons/Auth/hooks/useAuthContext.js"),a=require("../../../hooks/pickaxe/useDimensionContext.js"),r=require("../Addons/Document/hooks/useDocument.js"),o=require("../../../hooks/studio/useStyleFontSize.js"),l=require("./History/index.js"),c=require("./Input.js"),u=require("../../Icons/attach-vertical.svg.js"),d=require("../../../common/cn.js"),m=require("../../../common/api/pickaxe.js"),x=require("lucide-react"),f=require("uuid"),h=require("../../Icons/trash-2.svg.js"),p=require("../../Icons/pencil.svg.js"),v=require("../../../hooks/pickaxe/useResponseContext.js");const g=({text:e,icon:s,className:n,onClick:i})=>t.jsx("div",Object.assign({onClick:i,className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",n)},{children:t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[s&&t.jsx("img",{src:s,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),j=({text:n,className:i,onRename:a,onDelete:r,isDarkGlass:o})=>{const[l,c]=s.useState(!1),[u,m]=s.useState(!1),[f,v]=s.useState(n),[g,j]=s.useState(!1),b=s.useRef(null),w=s.useRef(null);s.useEffect((()=>{u||v(n)}),[n,u]),s.useEffect((()=>{const e=e=>{w.current&&!w.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const k=()=>e.__awaiter(void 0,void 0,void 0,(function*(){f.trim()&&(j(!0),yield a(f),j(!1),m(!1))})),y=()=>{v(n),m(!1)};return t.jsxs("div",Object.assign({ref:w,className:"relative z-40 h-full shrink min-w-0"},{children:[t.jsx("div",Object.assign({className:d.default("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",i),onClick:e=>{e.stopPropagation(),u||l?l&&c(!1):c(!0)}},{children:u?t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[t.jsx("input",{autoFocus:!0,type:"text",value:f,onChange:e=>v(e.target.value),onKeyDown:e=>{"Enter"===e.key&&k(),"Escape"===e.key&&y()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),t.jsx("button",Object.assign({onClick:k,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.Check,{className:"h-4 w-4"})})),t.jsx("button",Object.assign({onClick:y,disabled:g,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:t.jsx(x.X,{className:"h-4 w-4"})}))]})):t.jsxs("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[t.jsx("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),t.jsx(x.MoreHorizontal,{className:d.default("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),l&&t.jsxs("div",Object.assign({className:d.default("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",o?"bg-[#313131] text-white":"bg-white text-black"),ref:b},{children:[t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),m(!0)},className:d.default("w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b hover:opacity-70",o?"border-current":"border-[#EBEAEB]")},{children:[t.jsx(p.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t.jsxs("button",Object.assign({onClick:e=>{e.stopPropagation(),c(!1),r()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[t.jsx(h.default,{className:"h-4 w-4"}),t.jsx("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))};exports.default=()=>{const{deploymentType:x,isNewChat:h,setIsNewChat:p,sessionId:b,setSessionId:w,pickaxeId:k,sender:y,pickaxe:N,styles:C,isEmbed:D}=n.usePickaxeContext(),{isSent:O}=i.useAuthContext(),{width:_,height:S,setDimension:I}=a.useDimensionContext(),{setDocuments:q,onFileUpload:E}=r.useDocument(),{isGenerating:P,messages:z}=v.useResponseContext(),F=o.useStyleFontSize(),[R,A]=s.useState(0),[T,H]=s.useState(!1),[B,G]=s.useState(!1),L=s.useRef(null),M=s.useRef(null),K=s.useRef(0),[U,X]=s.useState(null),[J,Q]=s.useState(!1),V="chat-input"===x&&h&&!O;s.useEffect((()=>()=>{q([])}),[]);const W=s.useCallback((()=>{if(!k||!y)return;const t=(s=0)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{const t=yield m.default.post("/get_pickaxe_conversation",{sessionId:b,userId:y});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void Z(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}s<20&&setTimeout((()=>t(s+1)),3e3)}));t()}),[k,y,b]);s.useEffect((()=>{P||h||!b||W()}),[P,h,b,W]),s.useEffect((()=>{if(!L.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:s}=t.contentRect;I(parseInt(e.toFixed(0)),parseInt(s.toFixed(0)))}}));return e.observe(L.current),()=>{e.disconnect()}}),[L.current]);const[Y,Z]=s.useState("New Chat"),$=(null==N?void 0:N.formtitle)||"Pickaxe",ee=(null==N?void 0:N.coverphoto)||void 0,[te,se]=s.useState(!1);s.useEffect((()=>{const e=!V&&!D&&C.portalTheme&&(z.filter((e=>"user"===e.role)).length>0||T||!h);se(null!=e&&e)}),[z,T,h]);return t.jsxs("div",Object.assign({ref:L,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),K.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&G(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),K.current-=1,0===K.current&&G(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e.__awaiter(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),G(!1),K.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(p(!1),yield E(e))}))},{children:[B&&t.jsxs("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[t.jsx("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:t.jsx(u.default,{className:"h-10 w-10"})})),t.jsx("h3",Object.assign({className:d.default(F.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),t.jsx("p",Object.assign({className:d.default(F.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),V?t.jsx(c.default,{}):t.jsxs(t.Fragment,{children:[te&&t.jsxs("div",Object.assign({className:d.default("direct-link"===x?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===C.portalTheme?"glass-dark ":"")},{children:[t.jsx(g,{text:$,icon:ee}),h||"New Chat"===Y?t.jsx(g,{text:Y}):t.jsx(j,{text:Y,sessionId:b,onRename:t=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b)try{yield m.default.post("/edit_conversation_name",{sessionId:b,name:t,userId:y}),Z(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e.__awaiter(void 0,void 0,void 0,(function*(){if(b&&window.confirm("Are you sure you want to delete this conversation?"))try{yield m.default.post("/delete_pickaxe_conversation",{sessionId:b,userId:y}),p(!0),w(f.v4()),Z("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===C.portalTheme})]})),t.jsx(l.default,{additionalScrollHeight:R,isForceHideInfo:S<=545||_<=350||T,isInputFocused:T,onSubmit:t=>e.__awaiter(void 0,void 0,void 0,(function*(){M.current&&M.current.onSubmit(t)})),smitheryAuthData:U,resubmitPrompt:()=>{X(null),Q(!0)}}),t.jsx(c.default,{ref:M,onFocus:()=>H(!0),onBlur:()=>H(!1),onInputHeightChange:A,initSmitheryAuthData:e=>X(e),resubmitPrompt:J})]})]}))};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as i,useRef as s,useEffect as r,useCallback as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useStyleFontSize as u}from"../../../hooks/studio/useStyleFontSize.js";import p from"./History/index.js";import h from"./Input.js";import f from"../../Icons/attach-vertical.svg.js";import x from"../../../common/cn.js";import g from"../../../common/api/pickaxe.js";import{Check as v,X as b,MoreHorizontal as w}from"lucide-react";import{v4 as k}from"uuid";import j from"../../Icons/trash-2.svg.js";import y from"../../Icons/pencil.svg.js";import{useResponseContext as N}from"../../../hooks/pickaxe/useResponseContext.js";const O=({text:e,icon:n,className:i,onClick:s})=>o("div",Object.assign({onClick:s,className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",i)},{children:t("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[n&&o("img",{src:n,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),D=({text:n,className:a,onRename:c,onDelete:l,isDarkGlass:d})=>{const[m,u]=i(!1),[p,h]=i(!1),[f,g]=i(n),[k,N]=i(!1),O=s(null),D=s(null);r((()=>{p||g(n)}),[n,p]),r((()=>{const e=e=>{D.current&&!D.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const C=()=>e(void 0,void 0,void 0,(function*(){f.trim()&&(N(!0),yield c(f),N(!1),h(!1))})),I=()=>{g(n),h(!1)};return t("div",Object.assign({ref:D,className:"relative z-40 h-full shrink min-w-0"},{children:[o("div",Object.assign({className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",a),onClick:e=>{e.stopPropagation(),p||m?m&&u(!1):u(!0)}},{children:t("div",p?Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:f,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(),"Escape"===e.key&&I()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),o("button",Object.assign({onClick:C,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(v,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:I,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(b,{className:"h-4 w-4"})}))]}):Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),o(w,{className:x("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),m&&t("div",Object.assign({className:x("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",d?"bg-[#313131] text-white":"bg-white text-black"),ref:O},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),h(!0)},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b border-current hover:opacity-70"},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),l()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[o(j,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))},C=()=>{const{deploymentType:v,isNewChat:b,setIsNewChat:w,sessionId:j,setSessionId:y,pickaxeId:C,sender:I,pickaxe:P,styles:z,isEmbed:F}=c(),{isSent:A}=l(),{width:E,height:T,setDimension:S}=d(),{setDocuments:_,onFileUpload:R}=m(),{isGenerating:H,messages:G}=N(),L=u(),[B,K]=i(0),[U,q]=i(!1),[J,M]=i(!1),Q=s(null),V=s(null),W=s(0),[X,Y]=i(null),[Z,$]=i(!1),ee="chat-input"===v&&b&&!A;r((()=>()=>{_([])}),[]);const te=a((()=>{if(!C||!I)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield g.post("/get_pickaxe_conversation",{sessionId:j,userId:I});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void ne(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[C,I,j]);r((()=>{H||b||!j||te()}),[H,b,j,te]),r((()=>{if(!Q.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;S(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(Q.current),()=>{e.disconnect()}}),[Q.current]);const[oe,ne]=i("New Chat"),ie=(null==P?void 0:P.formtitle)||"Pickaxe",se=(null==P?void 0:P.coverphoto)||void 0,[re,ae]=i(!1);r((()=>{const e=!ee&&!F&&z.portalTheme&&(G.filter((e=>"user"===e.role)).length>0||U||!b);ae(null!=e&&e)}),[G,U,b]);return t("div",Object.assign({ref:Q,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),W.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&M(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),W.current-=1,0===W.current&&M(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),M(!1),W.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(w(!1),yield R(e))}))},{children:[J&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(f,{className:"h-10 w-10"})})),o("h3",Object.assign({className:x(L.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),o("p",Object.assign({className:x(L.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),ee?o(h,{}):t(n,{children:[re&&t("div",Object.assign({className:x("direct-link"===v?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===z.portalTheme?"glass-dark ":"")},{children:[o(O,{text:ie,icon:se}),b||"New Chat"===oe?o(O,{text:oe}):o(D,{text:oe,sessionId:j,onRename:t=>e(void 0,void 0,void 0,(function*(){if(j)try{yield g.post("/edit_conversation_name",{sessionId:j,name:t,userId:I}),ne(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(j&&window.confirm("Are you sure you want to delete this conversation?"))try{yield g.post("/delete_pickaxe_conversation",{sessionId:j,userId:I}),w(!0),y(k()),ne("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===z.portalTheme})]})),o(p,{additionalScrollHeight:B,isForceHideInfo:T<=545||E<=350||U,isInputFocused:U,onSubmit:t=>e(void 0,void 0,void 0,(function*(){V.current&&V.current.onSubmit(t)})),smitheryAuthData:X,resubmitPrompt:()=>{Y(null),$(!0)}}),o(h,{ref:V,onFocus:()=>q(!0),onBlur:()=>q(!1),onInputHeightChange:K,initSmitheryAuthData:e=>Y(e),resubmitPrompt:Z})]})]}))};export{C as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as t,jsx as o,Fragment as n}from"react/jsx-runtime";import{useState as i,useRef as s,useEffect as r,useCallback as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useAuthContext as l}from"../Addons/Auth/hooks/useAuthContext.js";import{useDimensionContext as d}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useStyleFontSize as u}from"../../../hooks/studio/useStyleFontSize.js";import p from"./History/index.js";import h from"./Input.js";import f from"../../Icons/attach-vertical.svg.js";import x from"../../../common/cn.js";import g from"../../../common/api/pickaxe.js";import{Check as v,X as b,MoreHorizontal as w}from"lucide-react";import{v4 as k}from"uuid";import j from"../../Icons/trash-2.svg.js";import y from"../../Icons/pencil.svg.js";import{useResponseContext as N}from"../../../hooks/pickaxe/useResponseContext.js";const O=({text:e,icon:n,className:i,onClick:s})=>o("div",Object.assign({onClick:s,className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 transition-all duration-200 cursor-pointer","glass",i)},{children:t("div",Object.assign({className:"flex items-center gap-2 z-20 min-w-0"},{children:[n&&o("img",{src:n,alt:"",className:"h-5 w-5 shrink-0 rounded-full object-cover"}),o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate max-w-[80px] md:max-w-[150px]"},{children:e}))]}))})),D=({text:n,className:a,onRename:c,onDelete:l,isDarkGlass:d})=>{const[m,u]=i(!1),[p,h]=i(!1),[f,g]=i(n),[k,N]=i(!1),O=s(null),D=s(null);r((()=>{p||g(n)}),[n,p]),r((()=>{const e=e=>{D.current&&!D.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)}),[]);const C=()=>e(void 0,void 0,void 0,(function*(){f.trim()&&(N(!0),yield c(f),N(!1),h(!1))})),I=()=>{g(n),h(!1)};return t("div",Object.assign({ref:D,className:"relative z-40 h-full shrink min-w-0"},{children:[o("div",Object.assign({className:x("relative flex items-center justify-center px-3 py-2 md:px-4 md:py-3 h-full shrink min-w-0 overflow-visible transition-all duration-200 cursor-pointer group","glass",a),onClick:e=>{e.stopPropagation(),p||m?m&&u(!1):u(!0)}},{children:t("div",p?Object.assign({className:"flex items-center gap-2 z-20 min-w-[100px] md:min-w-[140px]",onClick:e=>e.stopPropagation()},{children:[o("input",{autoFocus:!0,type:"text",value:f,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&C(),"Escape"===e.key&&I()},className:"bg-transparent border-b border-current text-xs md:text-sm font-medium focus:outline-none w-full min-w-[60px] md:min-w-[80px]",style:{color:"inherit"}}),o("button",Object.assign({onClick:C,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(v,{className:"h-4 w-4"})})),o("button",Object.assign({onClick:I,disabled:k,className:"p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 shrink-0"},{children:o(b,{className:"h-4 w-4"})}))]}):Object.assign({className:"flex items-center gap-2 z-20 min-w-0 max-w-[140px] md:max-w-[200px]"},{children:[o("p",Object.assign({className:"text-xs md:text-sm font-medium truncate"},{children:n})),o(w,{className:x("h-4 w-4 opacity-50 group-hover:opacity-100 transition-opacity shrink-0")})]}))})),m&&t("div",Object.assign({className:x("absolute top-full right-0 mt-2 w-48 shadow-xl z-50 rounded-[16px] overflow-hidden animate-in fade-in zoom-in-95 duration-100",d?"bg-[#313131] text-white":"bg-white text-black"),ref:O},{children:[t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),h(!0)},className:x("w-full text-left px-4 py-3 flex items-center gap-3 transition-colors border-b hover:opacity-70",d?"border-current":"border-[#EBEAEB]")},{children:[o(y,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Rename chat"}))]})),t("button",Object.assign({onClick:e=>{e.stopPropagation(),u(!1),l()},className:"w-full text-left px-4 py-3 flex items-center gap-3 transition-colors hover:opacity-70"},{children:[o(j,{className:"h-4 w-4"}),o("span",Object.assign({className:"font-medium text-sm"},{children:"Delete chat"}))]}))]}))]}))},C=()=>{const{deploymentType:v,isNewChat:b,setIsNewChat:w,sessionId:j,setSessionId:y,pickaxeId:C,sender:I,pickaxe:E,styles:P,isEmbed:z}=c(),{isSent:F}=l(),{width:A,height:T,setDimension:S}=d(),{setDocuments:_,onFileUpload:R}=m(),{isGenerating:H,messages:B}=N(),G=u(),[L,K]=i(0),[U,q]=i(!1),[J,M]=i(!1),Q=s(null),V=s(null),W=s(0),[X,Y]=i(null),[Z,$]=i(!1),ee="chat-input"===v&&b&&!F;r((()=>()=>{_([])}),[]);const te=a((()=>{if(!C||!I)return;const t=(o=0)=>e(void 0,void 0,void 0,(function*(){var e;try{const t=yield g.post("/get_pickaxe_conversation",{sessionId:j,userId:I});if(t.data&&t.data.success){const e=t.data.title;if(e&&"Conversation Title"!==e)return void ne(e)}else console.error("Failed to load conversation:",null===(e=t.data)||void 0===e?void 0:e.error)}catch(e){console.error("Error fetching conversation:",e)}o<20&&setTimeout((()=>t(o+1)),3e3)}));t()}),[C,I,j]);r((()=>{H||b||!j||te()}),[H,b,j,te]),r((()=>{if(!Q.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;S(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(Q.current),()=>{e.disconnect()}}),[Q.current]);const[oe,ne]=i("New Chat"),ie=(null==E?void 0:E.formtitle)||"Pickaxe",se=(null==E?void 0:E.coverphoto)||void 0,[re,ae]=i(!1);r((()=>{const e=!ee&&!z&&P.portalTheme&&(B.filter((e=>"user"===e.role)).length>0||U||!b);ae(null!=e&&e)}),[B,U,b]);return t("div",Object.assign({ref:Q,className:"relative flex h-full w-full flex-col items-center overflow-hidden",onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),W.current+=1,e.dataTransfer.items&&e.dataTransfer.items.length>0&&M(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),W.current-=1,0===W.current&&M(!1)},onDragOver:e=>{e.preventDefault(),e.stopPropagation()},onDrop:t=>e(void 0,void 0,void 0,(function*(){t.preventDefault(),t.stopPropagation(),M(!1),W.current=0;const e=Array.from(t.dataTransfer.files||[]);e.length>0&&(w(!1),yield R(e))}))},{children:[J&&t("div",Object.assign({className:"absolute inset-0 z-50 flex flex-col items-center justify-center rounded-lg bg-white/80 backdrop-blur-sm transition-all duration-300"},{children:[o("div",Object.assign({className:"flex h-24 w-24 items-center justify-center rounded-full bg-white shadow-lg animate-bounce text-black"},{children:o(f,{className:"h-10 w-10"})})),o("h3",Object.assign({className:x(G.h3,"mt-6 font-semibold text-c-primary text-black")},{children:"Drop files to upload"})),o("p",Object.assign({className:x(G.b2,"mt-2 opacity-60 text-black")},{children:"Add anything to the conversation"}))]})),ee?o(h,{}):t(n,{children:[re&&t("div",Object.assign({className:x("direct-link"===v?"absolute top-4 left-4 md:top-6 md:left-6 z-40 flex items-center gap-2 animate-in fade-in slide-in-from-top-4 duration-500":"w-full max-w-3xl mt-6 px-4 md:px-0 flex justify-start z-30 mb-4 animate-in fade-in slide-in-from-top-4 duration-500 gap-2","dark"===P.portalTheme?"glass-dark ":"")},{children:[o(O,{text:ie,icon:se}),b||"New Chat"===oe?o(O,{text:oe}):o(D,{text:oe,sessionId:j,onRename:t=>e(void 0,void 0,void 0,(function*(){if(j)try{yield g.post("/edit_conversation_name",{sessionId:j,name:t,userId:I}),ne(t)}catch(e){console.error("Error renaming chat:",e),alert("Failed to rename chat.")}})),onDelete:()=>e(void 0,void 0,void 0,(function*(){if(j&&window.confirm("Are you sure you want to delete this conversation?"))try{yield g.post("/delete_pickaxe_conversation",{sessionId:j,userId:I}),w(!0),y(k()),ne("New Chat")}catch(e){console.error("Error deleting chat:",e),alert("Failed to delete chat.")}})),isDarkGlass:"dark"===P.portalTheme})]})),o(p,{additionalScrollHeight:L,isForceHideInfo:T<=545||A<=350||U,isInputFocused:U,onSubmit:t=>e(void 0,void 0,void 0,(function*(){V.current&&V.current.onSubmit(t)})),smitheryAuthData:X,resubmitPrompt:()=>{Y(null),$(!0)}}),o(h,{ref:V,onFocus:()=>q(!0),onBlur:()=>q(!1),onInputHeightChange:K,initSmitheryAuthData:e=>Y(e),resubmitPrompt:Z})]})]}))};export{C as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "6.0.1-6",
3
+ "version": "6.0.1-7",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",