@pickaxeproject/react 2.1.11 → 2.2.0

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("react/jsx-runtime"),s=require("react"),a=require("react-intersection-observer"),r=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../../hooks/pickaxe/useHistory.js"),t=require("../../../Icons/spinner-circle.svg.js"),n=require("./Item.js");exports.default=()=>{var l;const{styles:c,colors:o,isShowHistory:u}=r.usePickaxeContext(),x=i.useHistory({enabled:u}),{ref:d}=a.useInView({onChange(e){e&&x.hasNextPage&&x.fetchNextPage()}});return u&&x.isLoading?e.jsx("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===c.theme?"#1E1E1F":"#E5E7EB"}}):x.isError?e.jsx("div",{}):u?e.jsxs("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(l=x.data)||void 0===l?void 0:l.pages.map(((a,r)=>e.jsx(s.Fragment,{children:a.data.map((a=>e.jsx(s.Fragment,{children:e.jsx(n.default,{item:a})},a.responseId)))},r))),e.jsx("div",Object.assign({className:"flex items-center justify-center"},{children:x.isFetchingNextPage?e.jsx(t.default,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:o.accent}}):x.hasNextPage?e.jsx("div",{ref:d,className:"invisible h-14 w-14"}):null}))]})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("react-intersection-observer"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useHistory.js"),t=require("../../../Icons/spinner-circle.svg.js"),n=require("./Item.js");exports.default=()=>{var l,c;const{styles:o,colors:u,misc:x}=a.usePickaxeContext(),d=r.useHistory({enabled:null===(l=x.isHistory)||void 0===l||l}),{ref:m}=i.useInView({onChange(e){e&&d.hasNextPage&&d.fetchNextPage()}});return d.isLoading?e.jsx("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===o.theme?"#1E1E1F":"#E5E7EB"}}):d.isError?e.jsx("div",{}):e.jsxs("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(c=d.data)||void 0===c?void 0:c.pages.map(((i,a)=>e.jsx(s.Fragment,{children:i.data.map((i=>e.jsx(s.Fragment,{children:e.jsx(n.default,{item:i})},i.responseId)))},a))),e.jsx("div",Object.assign({className:"flex items-center justify-center"},{children:d.isFetchingNextPage?e.jsx(t.default,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:u.accent}}):d.hasNextPage?e.jsx("div",{ref:m,className:"invisible h-14 w-14"}):null}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../common/utils.js"),a=require("../common/PickaxeButton.js"),r=require("../common/PickaxeBranding.js"),o=require("../../../common/cn.js");exports.default=()=>{const{misc:n,translations:x,responsiveBy:l,isShowHistory:c,setChatId:u,setIsNewChat:p,setIsShowHistory:d}=s.usePickaxeContext(),{setMessages:m}=t.useResponseContext();return e.jsxs("div",Object.assign({className:o.default("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===l?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[e.jsxs("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[e.jsx(a.default,Object.assign({className:o.default("w-full","viewport"===l?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>{return e=i.generateId(20),m([]),u(e),void p(!0);var e}},{children:(null==x?void 0:x["new-chat"])||"New chat"})),n.isHistory&&!c&&e.jsx(a.default,Object.assign({variant:"transparent-text",className:o.default("w-full","viewport"===l?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>d(!0)},{children:(null==x?void 0:x["see-history"])||"See history"}))]})),!n.isWhiteLabel&&e.jsx("div",Object.assign({className:"flex justify-end pr-3"},{children:e.jsx(r.default,{})}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../common/utils.js"),r=require("../common/PickaxeButton.js"),a=require("../common/PickaxeBranding.js"),n=require("../../../common/cn.js");exports.default=()=>{const{misc:o,translations:x,responsiveBy:c,setChatId:l,setIsNewChat:u}=s.usePickaxeContext(),{setMessages:p}=t.useResponseContext();return e.jsxs("div",Object.assign({className:n.default("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===c?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[e.jsx("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:e.jsx(r.default,Object.assign({className:n.default("w-full","viewport"===c?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>{return e=i.generateId(20),p([]),l(e),void u(!0);var e}},{children:(null==x?void 0:x["new-chat"])||"New chat"}))})),!o.isWhiteLabel&&e.jsx("div",Object.assign({className:"flex justify-end pr-3"},{children:e.jsx(a.default,{})}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),n=require("../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),r=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../Addons/Scroll/hooks/useScroll.js"),a=require("../../../../common/utils.js"),d=require("@nem035/gpt-3-encoder"),u=require("eventsource-parser"),c=require("../../common/PickaxeBranding.js"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{var h;const{formId:x,userId:b,studioUserId:j,embedUserId:v,deploymentId:w,pickaxe:y,misc:k,translations:q,responsiveBy:I,isShowHistory:O,setChatId:S,setIsShowHistory:C,setIsNewChat:P,onGenerateComplete:U}=n.usePickaxeContext(),{status:D,limits:E,isGenerating:R,setResponse:N,setMessages:_,setStatus:A,setLimitData:L,setError:T}=o.useResponseContext(),{documents:B,websiteLink:H,isUploading:M,onWebsiteUpload:W,setDocumentError:G}=r.useDocument(),{scrollStartSession:J,scrollEndSession:F,scrollToTarget:K}=l.useScroll({auto:!(null==y?void 0:y.enablechatresponses)}),X=i.useSubmit(),[Y,z]=t.useState(!1);return s.jsxs("div",Object.assign({className:g.default("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===I?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[s.jsxs("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[s.jsx(m.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:M||"idle"!==D||R||Y,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if("idle"!==D||M||Y)return;T(""),L(null),G(""),N(null);const e=["Multiple Choice","Checkbox"];for(const s of f){if(d.encode(s.input).length>s.maxLength&&!e.includes(s.type))throw new Error("One or more of your responses is too long!");if(s.isRequired&&!s.input.trim()&&"userinput:documentupload"!==s.id)throw new Error("You must fill out all required fields.")}const s=B.filter((e=>"finished"===e.status)),t=B.map((e=>e.name)),n="enduserupload"===(null==y?void 0:y.documentuploadtype),o=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),i=a.extractUrlsFromText(H).filter((e=>!t.includes(e)));if(i.length){const e=i[i.length-1];z(!0);const t=yield W(e);t&&(s.push(t),yield new Promise((e=>setTimeout(e,5e3)))),z(!1)}else if(o&&n&&!s.length)return void G("Please paste a valid website/video link or drag a file to add to the knowledge base.");const r=s.length?s[s.length-1]:null,l=n&&r&&"finished"===r.status;let c={};f.forEach((e=>c=Object.assign(Object.assign({},c),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==r?void 0:r.name)||"":e.input}))),A("fetching"),J(),K();const m=yield X.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,valueObj:c},l&&{documentId:r.documentId}),b&&{userId:b}),j&&{studioUserId:j}),v&&{embedUserId:v}),w&&{deploymentId:w})),p=m.body;if(!p)throw new Error("Streaming error");const g=m.headers.get("X-Pickaxe-Response-Id");if(!g)throw new Error("Response ID not found");const h=new TextDecoder,k=p.getReader();let q="",I=!0,O=!1;const C=u.createParser({onEvent:e=>{if("delta"===e.event){const s=JSON.parse(e.data).token.replace(/\u200B/g,"");q+=s,N({formId:x,responseId:g,documentIds:r&&r.documentId?[r.documentId]:[],questions:f.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:q,messageCount:0,sentAt:new Date}),(null==y?void 0:y.enablechatresponses)&&_([{id:0,role:"assistant",content:q}])}else if("error"===e.event){const s=JSON.parse(e.data);T(s.error||"Something went wrong, please try again.")}else"stop"===e.event&&(I=!1)}});for(;I;){const{value:e,done:s}=yield k.read();if(s){I=!1;break}const t=h.decode(e);t&&(O||(A("streaming"),O=!0,(null==y?void 0:y.enablechatresponses)&&(S(g),P(!1))),C.feed(t))}null==U||U(g)}catch(e){let s=p.default(e)||"";s&&!s.includes("Unexpected token 'A',")||(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(E).find((([e])=>s.includes(e)));t?L(t[1]):T(s),K()}finally{A("idle"),z(!1),F()}}))},{children:Y?(null==q?void 0:q.processing)||"Processing...":M?(null==q?void 0:q.uploading)||"Uploading...":"fetching"===D||"streaming"===D?(null==q?void 0:q.loading)||"Loading...":null!==(h=null==y?void 0:y.submittext)&&void 0!==h?h:"Submit"})),k.isHistory&&!O&&s.jsx(m.default,Object.assign({variant:"transparent-text",className:"px-4",onClick:()=>C(!0)},{children:(null==q?void 0:q["see-history"])||"See history"}))]})),!k.isWhiteLabel&&s.jsx("div",Object.assign({className:"flex justify-end pr-3"},{children:s.jsx(c.default,{})}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),n=require("../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),r=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../Addons/Scroll/hooks/useScroll.js"),a=require("../../../../common/utils.js"),d=require("@nem035/gpt-3-encoder"),u=require("eventsource-parser"),c=require("../../common/PickaxeBranding.js"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{var x;const{formId:h,userId:b,studioUserId:j,embedUserId:v,deploymentId:w,pickaxe:k,misc:q,translations:I,responsiveBy:y,setChatId:O,setIsNewChat:S,onGenerateComplete:C}=n.usePickaxeContext(),{status:P,limits:U,isGenerating:D,setResponse:E,setMessages:R,setStatus:N,setLimitData:_,setError:A}=o.useResponseContext(),{documents:L,websiteLink:T,isUploading:B,onWebsiteUpload:M,setDocumentError:W}=r.useDocument(),{scrollStartSession:G,scrollEndSession:J,scrollToTarget:F}=l.useScroll({auto:!(null==k?void 0:k.enablechatresponses)}),K=i.useSubmit(),[X,Y]=t.useState(!1);return s.jsxs("div",Object.assign({className:g.default("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===y?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[s.jsx("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:s.jsx(m.default,Object.assign({className:"px-5 min-h-[42px]",isDisabled:B||"idle"!==P||D||X,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if("idle"!==P||B||X)return;A(""),_(null),W(""),E(null);const e=["Multiple Choice","Checkbox"];for(const s of f){if(d.encode(s.input).length>s.maxLength&&!e.includes(s.type))throw new Error("One or more of your responses is too long!");if(s.isRequired&&!s.input.trim()&&"userinput:documentupload"!==s.id)throw new Error("You must fill out all required fields.")}const s=L.filter((e=>"finished"===e.status)),t=L.map((e=>e.name)),n="enduserupload"===(null==k?void 0:k.documentuploadtype),o=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),i=a.extractUrlsFromText(T).filter((e=>!t.includes(e)));if(i.length){const e=i[i.length-1];Y(!0);const t=yield M(e);t&&(s.push(t),yield new Promise((e=>setTimeout(e,5e3)))),Y(!1)}else if(o&&n&&!s.length)return void W("Please paste a valid website/video link or drag a file to add to the knowledge base.");const r=s.length?s[s.length-1]:null,l=n&&r&&"finished"===r.status;let c={};f.forEach((e=>c=Object.assign(Object.assign({},c),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==r?void 0:r.name)||"":e.input}))),N("fetching"),G(),F();const m=yield K.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:h,valueObj:c},l&&{documentId:r.documentId}),b&&{userId:b}),j&&{studioUserId:j}),v&&{embedUserId:v}),w&&{deploymentId:w})),p=m.body;if(!p)throw new Error("Streaming error");const g=m.headers.get("X-Pickaxe-Response-Id");if(!g)throw new Error("Response ID not found");const x=new TextDecoder,q=p.getReader();let I="",y=!0,U=!1;const D=u.createParser({onEvent:e=>{if("delta"===e.event){const s=JSON.parse(e.data).token.replace(/\u200B/g,"");I+=s,E({formId:h,responseId:g,documentIds:r&&r.documentId?[r.documentId]:[],questions:f.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:I,messageCount:0,sentAt:new Date}),(null==k?void 0:k.enablechatresponses)&&R([{id:0,role:"assistant",content:I}])}else if("error"===e.event){const s=JSON.parse(e.data);A(s.error||"Something went wrong, please try again.")}else"stop"===e.event&&(y=!1)}});for(;y;){const{value:e,done:s}=yield q.read();if(s){y=!1;break}const t=x.decode(e);t&&(U||(N("streaming"),U=!0,(null==k?void 0:k.enablechatresponses)&&(O(g),S(!1))),D.feed(t))}null==C||C(g)}catch(e){let s=p.default(e)||"";s&&!s.includes("Unexpected token 'A',")||(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(U).find((([e])=>s.includes(e)));t?_(t[1]):A(s),F()}finally{N("idle"),Y(!1),J()}}))},{children:X?(null==I?void 0:I.processing)||"Processing...":B?(null==I?void 0:I.uploading)||"Uploading...":"fetching"===P||"streaming"===P?(null==I?void 0:I.loading)||"Loading...":null!==(x=null==k?void 0:k.submittext)&&void 0!==x?x:"Submit"}))})),!q.isWhiteLabel&&s.jsx("div",Object.assign({className:"flex justify-end pr-3"},{children:s.jsx(c.default,{})}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./Addons/Document/Provider.js"),i=require("./ResponseProvider.js"),r=require("./DimensionProvider.js");const o=s.createContext({});exports.PickaxeContext=o,exports.PickaxeProvider=({children:a,isRtl:n=!1,userId:d="",studioUserId:l="",deploymentId:c="",embedUserId:u="",styles:p,colors:h,limits:m={},misc:F={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:b,responsiveBy:x="viewport",isEmbed:I=!1,forceMobile:y=!1,loadFont:f=!0,onGenerateComplete:g})=>{const[S,j]=s.useState(""),[P,v]=s.useState(""),[w,k]=s.useState(null),[C,O]=s.useState(!1),[q,D]=s.useState(!0),[H,R]=s.useState(!0),[U,B]=s.useState(!1);return s.useEffect((()=>{O(!1)}),[null==p?void 0:p.font]),e.jsx(o.Provider,Object.assign({value:Object.assign({formId:S,isRtl:n,chatId:P,userId:d,studioUserId:l,deploymentId:c,embedUserId:u,pickaxe:w,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},p),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},h),misc:F,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website"},b),responsiveBy:x,isFontLoaded:C,isNewChat:q,isShowIceBreaker:H,isShowHistory:U,loadFont:f,forceMobile:y,isEmbed:I,setIsFontLoaded:O,setFormId:j,setChatId:v,setPickaxe:k,setIsNewChat:D,setIsShowIceBreaker:R,setIsShowHistory:B},g&&{onGenerateComplete:g})},{children:e.jsx(i.default,Object.assign({limits:m},{children:e.jsx(r.default,{children:e.jsx(t.default,{children:a})})}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./Addons/Document/Provider.js"),i=require("./ResponseProvider.js"),r=require("./DimensionProvider.js");const o=s.createContext({});exports.PickaxeContext=o,exports.PickaxeProvider=({children:a,userId:n="",studioUserId:d="",deploymentId:l="",embedUserId:c="",styles:u,colors:p,limits:m={},misc:h={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:F,responsiveBy:b="viewport",forceMobile:x=!1,loadFont:I=!0,isEmbed:f=!1,isRtl:y=!1,onGenerateComplete:g})=>{const[j,P]=s.useState(""),[v,S]=s.useState(""),[w,k]=s.useState(null),[C,O]=s.useState(!1),[q,D]=s.useState(!0),[R,U]=s.useState(!0);return s.useEffect((()=>{O(!1)}),[null==u?void 0:u.font]),e.jsx(o.Provider,Object.assign({value:Object.assign({formId:j,chatId:v,userId:n,studioUserId:d,deploymentId:l,embedUserId:c,pickaxe:w,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},u),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},p),misc:h,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website"},F),responsiveBy:b,forceMobile:x,loadFont:I,isFontLoaded:C,isNewChat:q,isShowIceBreaker:R,isEmbed:f,isRtl:y,setIsFontLoaded:O,setFormId:P,setChatId:S,setPickaxe:k,setIsNewChat:D,setIsShowIceBreaker:U},g&&{onGenerateComplete:g})},{children:e.jsx(i.default,Object.assign({limits:m},{children:e.jsx(r.default,{children:e.jsx(t.default,{children:a})})}))}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");const s=t.createContext({});exports.ResponseContext=s,exports.default=({limits:r,children:a})=>{const[i,n]=t.useState([]),[u,o]=t.useState(null),[l,c]=t.useState("idle"),[d,m]=t.useState(null),[p,x]=t.useState("");return e.jsx(s.Provider,Object.assign({value:{messages:i,response:u,status:l,limits:r,limitData:d,error:p,isGenerating:"fetching"===l||"streaming"===l,setMessages:n,setResponse:o,setStatus:c,setLimitData:m,setError:x}},{children:a}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("../../hooks/pickaxe/usePickaxeContext.js");const r=t.createContext({});exports.ResponseContext=r,exports.default=({limits:a,children:i})=>{const{chatId:u}=s.usePickaxeContext(),[n,l]=t.useState([]),[o,c]=t.useState(null),[x,d]=t.useState("idle"),[p,m]=t.useState(null),[g,S]=t.useState("");return t.useEffect((()=>{l([]),c(null),d("idle"),m(null),S("")}),[u]),e.jsx(r.Provider,Object.assign({value:{messages:n,response:o,status:x,limits:a,limitData:p,error:g,isGenerating:"fetching"===x||"streaming"===x,setMessages:l,setResponse:c,setStatus:d,setLimitData:m,setError:S}},{children:i}))};
@@ -1,2 +1,2 @@
1
- declare const Container: () => import("react/jsx-runtime").JSX.Element | null;
1
+ declare const Container: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default Container;
@@ -35,7 +35,6 @@ export type PickaxeMisc = {
35
35
  };
36
36
  type PickaxeContextType = {
37
37
  formId: string;
38
- isRtl?: boolean;
39
38
  chatId: string;
40
39
  userId: string;
41
40
  studioUserId: string;
@@ -47,20 +46,19 @@ type PickaxeContextType = {
47
46
  misc: PickaxeMisc;
48
47
  translations: PickaxeTranslations;
49
48
  responsiveBy: PickaxeResponsiveBy;
49
+ forceMobile: boolean;
50
+ loadFont: boolean;
50
51
  isFontLoaded: boolean;
51
52
  isNewChat: boolean;
52
53
  isShowIceBreaker: boolean;
53
- isShowHistory: boolean;
54
54
  isEmbed: boolean;
55
- forceMobile: boolean;
56
- loadFont: boolean;
55
+ isRtl?: boolean;
57
56
  setFormId: SetState<string>;
58
57
  setChatId: SetState<string>;
59
58
  setPickaxe: SetState<LimitedPickaxe | null>;
60
59
  setIsFontLoaded: SetState<boolean>;
61
60
  setIsNewChat: SetState<boolean>;
62
61
  setIsShowIceBreaker: SetState<boolean>;
63
- setIsShowHistory: SetState<boolean>;
64
62
  onGenerateComplete?: (responseId: string) => void;
65
63
  };
66
64
  export interface IPickaxeProviderProps {
@@ -82,5 +80,5 @@ export interface IPickaxeProviderProps {
82
80
  onGenerateComplete?: (responseId: string) => void;
83
81
  }
84
82
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
85
- export declare const PickaxeProvider: ({ children, isRtl, userId, studioUserId, deploymentId, embedUserId, styles, colors, limits, misc, translations, responsiveBy, isEmbed, forceMobile, loadFont, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
83
+ export declare const PickaxeProvider: ({ children, userId, studioUserId, deploymentId, embedUserId, styles, colors, limits, misc, translations, responsiveBy, forceMobile, loadFont, isEmbed, isRtl, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
86
84
  export {};
@@ -1,6 +1,5 @@
1
1
  export declare const usePickaxeContext: () => {
2
2
  formId: string;
3
- isRtl?: boolean | undefined;
4
3
  chatId: string;
5
4
  userId: string;
6
5
  studioUserId: string;
@@ -12,19 +11,18 @@ export declare const usePickaxeContext: () => {
12
11
  misc: import("../../components/Pickaxe/Provider").PickaxeMisc;
13
12
  translations: import("../../components/Pickaxe/Provider").PickaxeTranslations;
14
13
  responsiveBy: import("../../components/Pickaxe/Provider").PickaxeResponsiveBy;
14
+ forceMobile: boolean;
15
+ loadFont: boolean;
15
16
  isFontLoaded: boolean;
16
17
  isNewChat: boolean;
17
18
  isShowIceBreaker: boolean;
18
- isShowHistory: boolean;
19
19
  isEmbed: boolean;
20
- forceMobile: boolean;
21
- loadFont: boolean;
20
+ isRtl?: boolean | undefined;
22
21
  setFormId: import("../../types/common").SetState<string>;
23
22
  setChatId: import("../../types/common").SetState<string>;
24
23
  setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").LimitedPickaxe | null>;
25
24
  setIsFontLoaded: import("../../types/common").SetState<boolean>;
26
25
  setIsNewChat: import("../../types/common").SetState<boolean>;
27
26
  setIsShowIceBreaker: import("../../types/common").SetState<boolean>;
28
- setIsShowHistory: import("../../types/common").SetState<boolean>;
29
27
  onGenerateComplete?: ((responseId: string) => void) | undefined;
30
28
  };
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as a}from"react";import{useInView as i}from"react-intersection-observer";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useHistory as r}from"../../../../hooks/pickaxe/useHistory.js";import o from"../../../Icons/spinner-circle.svg.js";import n from"./Item.js";const l=()=>{var l;const{styles:c,colors:m,isShowHistory:d}=t(),p=r({enabled:d}),{ref:f}=i({onChange(e){e&&p.hasNextPage&&p.fetchNextPage()}});return d&&p.isLoading?e("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===c.theme?"#1E1E1F":"#E5E7EB"}}):p.isError?e("div",{}):d?s("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(l=p.data)||void 0===l?void 0:l.pages.map(((s,i)=>e(a,{children:s.data.map((s=>e(a,{children:e(n,{item:s})},s.responseId)))},i))),e("div",Object.assign({className:"flex items-center justify-center"},{children:p.isFetchingNextPage?e(o,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:m.accent}}):p.hasNextPage?e("div",{ref:f,className:"invisible h-14 w-14"}):null}))]})):null};export{l as default};
1
+ import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as i}from"react";import{useInView as a}from"react-intersection-observer";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useHistory as r}from"../../../../hooks/pickaxe/useHistory.js";import o from"../../../Icons/spinner-circle.svg.js";import n from"./Item.js";const c=()=>{var c,l;const{styles:m,colors:d,misc:p}=t(),f=r({enabled:null===(c=p.isHistory)||void 0===c||c}),{ref:g}=a({onChange(e){e&&f.hasNextPage&&f.fetchNextPage()}});return f.isLoading?e("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===m.theme?"#1E1E1F":"#E5E7EB"}}):f.isError?e("div",{}):s("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(l=f.data)||void 0===l?void 0:l.pages.map(((s,a)=>e(i,{children:s.data.map((s=>e(i,{children:e(n,{item:s})},s.responseId)))},a))),e("div",Object.assign({className:"flex items-center justify-center"},{children:f.isFetchingNextPage?e(o,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:d.accent}}):f.hasNextPage?e("div",{ref:g,className:"invisible h-14 w-14"}):null}))]}))};export{c as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../hooks/pickaxe/useResponseContext.js";import{generateId as i}from"../../../common/utils.js";import r from"../common/PickaxeButton.js";import a from"../common/PickaxeBranding.js";import n from"../../../common/cn.js";const c=()=>{const{misc:c,translations:m,responsiveBy:x,isShowHistory:l,setChatId:p,setIsNewChat:f,setIsShowHistory:w}=o(),{setMessages:h}=t();return e("div",Object.assign({className:n("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===x?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[e("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[s(r,Object.assign({className:n("w-full","viewport"===x?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>{return e=i(20),h([]),p(e),void f(!0);var e}},{children:(null==m?void 0:m["new-chat"])||"New chat"})),c.isHistory&&!l&&s(r,Object.assign({variant:"transparent-text",className:n("w-full","viewport"===x?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>w(!0)},{children:(null==m?void 0:m["see-history"])||"See history"}))]})),!c.isWhiteLabel&&s("div",Object.assign({className:"flex justify-end pr-3"},{children:s(a,{})}))]}))};export{c as default};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../hooks/pickaxe/useResponseContext.js";import{generateId as i}from"../../../common/utils.js";import r from"../common/PickaxeButton.js";import a from"../common/PickaxeBranding.js";import n from"../../../common/cn.js";const m=()=>{const{misc:m,translations:c,responsiveBy:x,setChatId:l,setIsNewChat:p}=o(),{setMessages:f}=t();return e("div",Object.assign({className:n("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===x?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[s("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:s(r,Object.assign({className:n("w-full","viewport"===x?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>{return e=i(20),f([]),l(e),void p(!0);var e}},{children:(null==c?void 0:c["new-chat"])||"New chat"}))})),!m.isWhiteLabel&&s("div",Object.assign({className:"flex justify-end pr-3"},{children:s(a,{})}))]}))};export{m as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as r}from"../../../../hooks/pickaxe/useSubmit.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as a}from"../../Addons/Scroll/hooks/useScroll.js";import{extractUrlsFromText as d}from"../../../../common/utils.js";import{encode as c}from"@nem035/gpt-3-encoder";import{createParser as m}from"eventsource-parser";import u from"../../common/PickaxeBranding.js";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{var x;const{formId:b,userId:v,studioUserId:j,embedUserId:w,deploymentId:y,pickaxe:k,misc:I,translations:O,responsiveBy:S,isShowHistory:C,setChatId:E,setIsShowHistory:U,setIsNewChat:D,onGenerateComplete:N}=n(),{status:P,limits:R,isGenerating:q,setResponse:A,setMessages:L,setStatus:B,setLimitData:T,setError:H}=i(),{documents:W,websiteLink:G,isUploading:J,onWebsiteUpload:M,setDocumentError:_}=l(),{scrollStartSession:K,scrollEndSession:X,scrollToTarget:Y}=a({auto:!(null==k?void 0:k.enablechatresponses)}),z=r(),[F,Q]=s(!1);return t("div",Object.assign({className:g("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===S?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[t("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:[o(p,Object.assign({className:"px-5 min-h-[42px]",isDisabled:J||"idle"!==P||q||F,onClick:()=>e(void 0,void 0,void 0,(function*(){try{if("idle"!==P||J||F)return;H(""),T(null),_(""),A(null);const e=["Multiple Choice","Checkbox"];for(const t of h){if(c(t.input).length>t.maxLength&&!e.includes(t.type))throw new Error("One or more of your responses is too long!");if(t.isRequired&&!t.input.trim()&&"userinput:documentupload"!==t.id)throw new Error("You must fill out all required fields.")}const t=W.filter((e=>"finished"===e.status)),o=W.map((e=>e.name)),s="enduserupload"===(null==k?void 0:k.documentuploadtype),n=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),i=d(G).filter((e=>!o.includes(e)));if(i.length){const e=i[i.length-1];Q(!0);const o=yield M(e);o&&(t.push(o),yield new Promise((e=>setTimeout(e,5e3)))),Q(!1)}else if(n&&s&&!t.length)return void _("Please paste a valid website/video link or drag a file to add to the knowledge base.");const r=t.length?t[t.length-1]:null,l=s&&r&&"finished"===r.status;let a={};h.forEach((e=>a=Object.assign(Object.assign({},a),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==r?void 0:r.name)||"":e.input}))),B("fetching"),K(),Y();const u=yield z.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:b,valueObj:a},l&&{documentId:r.documentId}),v&&{userId:v}),j&&{studioUserId:j}),w&&{embedUserId:w}),y&&{deploymentId:y})),p=u.body;if(!p)throw new Error("Streaming error");const f=u.headers.get("X-Pickaxe-Response-Id");if(!f)throw new Error("Response ID not found");const g=new TextDecoder,x=p.getReader();let I="",O=!0,S=!1;const C=m({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");I+=t,A({formId:b,responseId:f,documentIds:r&&r.documentId?[r.documentId]:[],questions:h.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:I,messageCount:0,sentAt:new Date}),(null==k?void 0:k.enablechatresponses)&&L([{id:0,role:"assistant",content:I}])}else if("error"===e.event){const t=JSON.parse(e.data);H(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(O=!1)}});for(;O;){const{value:e,done:t}=yield x.read();if(t){O=!1;break}const o=g.decode(e);o&&(S||(B("streaming"),S=!0,(null==k?void 0:k.enablechatresponses)&&(E(f),D(!1))),C.feed(o))}null==N||N(f)}catch(e){let t=f(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const o=Object.entries(R).find((([e])=>t.includes(e)));o?T(o[1]):H(t),Y()}finally{B("idle"),Q(!1),X()}}))},{children:F?(null==O?void 0:O.processing)||"Processing...":J?(null==O?void 0:O.uploading)||"Uploading...":"fetching"===P||"streaming"===P?(null==O?void 0:O.loading)||"Loading...":null!==(x=null==k?void 0:k.submittext)&&void 0!==x?x:"Submit"})),I.isHistory&&!C&&o(p,Object.assign({variant:"transparent-text",className:"px-4",onClick:()=>U(!0)},{children:(null==O?void 0:O["see-history"])||"See history"}))]})),!I.isWhiteLabel&&o("div",Object.assign({className:"flex justify-end pr-3"},{children:o(u,{})}))]}))};export{h as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as r}from"../../../../hooks/pickaxe/useSubmit.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as a}from"../../Addons/Scroll/hooks/useScroll.js";import{extractUrlsFromText as d}from"../../../../common/utils.js";import{encode as c}from"@nem035/gpt-3-encoder";import{createParser as m}from"eventsource-parser";import u from"../../common/PickaxeBranding.js";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{var b;const{formId:x,userId:v,studioUserId:j,embedUserId:w,deploymentId:k,pickaxe:I,misc:y,translations:O,responsiveBy:S,setChatId:C,setIsNewChat:E,onGenerateComplete:U}=n(),{status:D,limits:P,isGenerating:R,setResponse:q,setMessages:N,setStatus:A,setLimitData:L,setError:B}=i(),{documents:T,websiteLink:W,isUploading:G,onWebsiteUpload:J,setDocumentError:M}=l(),{scrollStartSession:_,scrollEndSession:K,scrollToTarget:X}=a({auto:!(null==I?void 0:I.enablechatresponses)}),Y=r(),[z,F]=s(!1);return o("div",Object.assign({className:g("mt-4 flex flex-wrap flex-col justify-between gap-2","viewport"===S?"min-[767px]:flex-row":"@[767px]/pickaxe-root:flex-row")},{children:[t("div",Object.assign({className:"flex items-center flex-grow flex-wrap gap-2"},{children:t(p,Object.assign({className:"px-5 min-h-[42px]",isDisabled:G||"idle"!==D||R||z,onClick:()=>e(void 0,void 0,void 0,(function*(){try{if("idle"!==D||G||z)return;B(""),L(null),M(""),q(null);const e=["Multiple Choice","Checkbox"];for(const o of h){if(c(o.input).length>o.maxLength&&!e.includes(o.type))throw new Error("One or more of your responses is too long!");if(o.isRequired&&!o.input.trim()&&"userinput:documentupload"!==o.id)throw new Error("You must fill out all required fields.")}const o=T.filter((e=>"finished"===e.status)),t=T.map((e=>e.name)),s="enduserupload"===(null==I?void 0:I.documentuploadtype),n=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),i=d(W).filter((e=>!t.includes(e)));if(i.length){const e=i[i.length-1];F(!0);const t=yield J(e);t&&(o.push(t),yield new Promise((e=>setTimeout(e,5e3)))),F(!1)}else if(n&&s&&!o.length)return void M("Please paste a valid website/video link or drag a file to add to the knowledge base.");const r=o.length?o[o.length-1]:null,l=s&&r&&"finished"===r.status;let a={};h.forEach((e=>a=Object.assign(Object.assign({},a),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==r?void 0:r.name)||"":e.input}))),A("fetching"),_(),X();const u=yield Y.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,valueObj:a},l&&{documentId:r.documentId}),v&&{userId:v}),j&&{studioUserId:j}),w&&{embedUserId:w}),k&&{deploymentId:k})),p=u.body;if(!p)throw new Error("Streaming error");const f=u.headers.get("X-Pickaxe-Response-Id");if(!f)throw new Error("Response ID not found");const g=new TextDecoder,b=p.getReader();let y="",O=!0,S=!1;const P=m({onEvent:e=>{if("delta"===e.event){const o=JSON.parse(e.data).token.replace(/\u200B/g,"");y+=o,q({formId:x,responseId:f,documentIds:r&&r.documentId?[r.documentId]:[],questions:h.map((e=>({id:e.id,question:e.main,answer:e.input}))),questionResponse:y,messageCount:0,sentAt:new Date}),(null==I?void 0:I.enablechatresponses)&&N([{id:0,role:"assistant",content:y}])}else if("error"===e.event){const o=JSON.parse(e.data);B(o.error||"Something went wrong, please try again.")}else"stop"===e.event&&(O=!1)}});for(;O;){const{value:e,done:o}=yield b.read();if(o){O=!1;break}const t=g.decode(e);t&&(S||(A("streaming"),S=!0,(null==I?void 0:I.enablechatresponses)&&(C(f),E(!1))),P.feed(t))}null==U||U(f)}catch(e){let o=f(e)||"";o&&!o.includes("Unexpected token 'A',")||(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(P).find((([e])=>o.includes(e)));t?L(t[1]):B(o),X()}finally{A("idle"),F(!1),K()}}))},{children:z?(null==O?void 0:O.processing)||"Processing...":G?(null==O?void 0:O.uploading)||"Uploading...":"fetching"===D||"streaming"===D?(null==O?void 0:O.loading)||"Loading...":null!==(b=null==I?void 0:I.submittext)&&void 0!==b?b:"Submit"}))})),!y.isWhiteLabel&&t("div",Object.assign({className:"flex justify-end pr-3"},{children:t(u,{})}))]}))};export{h as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as i,useEffect as o}from"react";import t from"./Addons/Document/Provider.js";import r from"./ResponseProvider.js";import n from"./DimensionProvider.js";const d=s({}),a=({children:s,isRtl:a=!1,userId:l="",studioUserId:c="",deploymentId:m="",embedUserId:p="",styles:h,colors:F,limits:b={},misc:I={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:y,responsiveBy:u="viewport",isEmbed:f=!1,forceMobile:g=!1,loadFont:w=!0,onGenerateComplete:P})=>{const[j,v]=i(""),[x,S]=i(""),[k,C]=i(null),[O,D]=i(!1),[H,R]=i(!0),[U,B]=i(!0),[L,T]=i(!1);return o((()=>{D(!1)}),[null==h?void 0:h.font]),e(d.Provider,Object.assign({value:Object.assign({formId:j,isRtl:a,chatId:x,userId:l,studioUserId:c,deploymentId:m,embedUserId:p,pickaxe:k,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},h),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},F),misc:I,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website"},y),responsiveBy:u,isFontLoaded:O,isNewChat:H,isShowIceBreaker:U,isShowHistory:L,loadFont:w,forceMobile:g,isEmbed:f,setIsFontLoaded:D,setFormId:v,setChatId:S,setPickaxe:C,setIsNewChat:R,setIsShowIceBreaker:B,setIsShowHistory:T},P&&{onGenerateComplete:P})},{children:e(r,Object.assign({limits:b},{children:e(n,{children:e(t,{children:s})})}))}))};export{d as PickaxeContext,a as PickaxeProvider};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as i,useState as s,useEffect as o}from"react";import t from"./Addons/Document/Provider.js";import r from"./ResponseProvider.js";import n from"./DimensionProvider.js";const d=i({}),a=({children:i,userId:a="",studioUserId:l="",deploymentId:c="",embedUserId:m="",styles:p,colors:h,limits:F={},misc:b={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:I,responsiveBy:u="viewport",forceMobile:f=!1,loadFont:g=!0,isEmbed:y=!1,isRtl:w=!1,onGenerateComplete:P})=>{const[j,v]=s(""),[x,k]=s(""),[S,C]=s(null),[O,D]=s(!1),[R,U]=s(!0),[B,L]=s(!0);return o((()=>{D(!1)}),[null==p?void 0:p.font]),e(d.Provider,Object.assign({value:Object.assign({formId:j,chatId:x,userId:a,studioUserId:l,deploymentId:c,embedUserId:m,pickaxe:S,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},p),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},h),misc:b,translations:Object.assign({"new-chat":"New chat","see-history":"See history","see-input":"See input","hide-input":"Hide input",processing:"Processing...",uploading:"Uploading...",loading:"Loading...","powered-by-pickaxe":"Powered by Pickaxe","form-doc-placeholder":"Paste a website/video link or drag a file",website:"Website"},I),responsiveBy:u,forceMobile:f,loadFont:g,isFontLoaded:O,isNewChat:R,isShowIceBreaker:B,isEmbed:y,isRtl:w,setIsFontLoaded:D,setFormId:v,setChatId:k,setPickaxe:C,setIsNewChat:U,setIsShowIceBreaker:L},P&&{onGenerateComplete:P})},{children:e(r,Object.assign({limits:F},{children:e(n,{children:e(t,{children:i})})}))}))};export{d as PickaxeContext,a as PickaxeProvider};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as t,useState as s}from"react";const r=t({}),i=({limits:t,children:i})=>{const[a,n]=s([]),[l,o]=s(null),[m,c]=s("idle"),[u,g]=s(null),[d,p]=s("");return e(r.Provider,Object.assign({value:{messages:a,response:l,status:m,limits:t,limitData:u,error:d,isGenerating:"fetching"===m||"streaming"===m,setMessages:n,setResponse:o,setStatus:c,setLimitData:g,setError:p}},{children:i}))};export{r as ResponseContext,i as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as t,useState as s,useEffect as r}from"react";import{usePickaxeContext as i}from"../../hooks/pickaxe/usePickaxeContext.js";const a=t({}),n=({limits:t,children:n})=>{const{chatId:l}=i(),[o,m]=s([]),[c,u]=s(null),[d,p]=s("idle"),[g,f]=s(null),[h,x]=s("");return r((()=>{m([]),u(null),p("idle"),f(null),x("")}),[l]),e(a.Provider,Object.assign({value:{messages:o,response:c,status:d,limits:t,limitData:g,error:h,isGenerating:"fetching"===d||"streaming"===d,setMessages:m,setResponse:u,setStatus:p,setLimitData:f,setError:x}},{children:n}))};export{a as ResponseContext,n as default};
@@ -1,2 +1,2 @@
1
- declare const Container: () => import("react/jsx-runtime").JSX.Element | null;
1
+ declare const Container: () => import("react/jsx-runtime").JSX.Element;
2
2
  export default Container;
@@ -35,7 +35,6 @@ export type PickaxeMisc = {
35
35
  };
36
36
  type PickaxeContextType = {
37
37
  formId: string;
38
- isRtl?: boolean;
39
38
  chatId: string;
40
39
  userId: string;
41
40
  studioUserId: string;
@@ -47,20 +46,19 @@ type PickaxeContextType = {
47
46
  misc: PickaxeMisc;
48
47
  translations: PickaxeTranslations;
49
48
  responsiveBy: PickaxeResponsiveBy;
49
+ forceMobile: boolean;
50
+ loadFont: boolean;
50
51
  isFontLoaded: boolean;
51
52
  isNewChat: boolean;
52
53
  isShowIceBreaker: boolean;
53
- isShowHistory: boolean;
54
54
  isEmbed: boolean;
55
- forceMobile: boolean;
56
- loadFont: boolean;
55
+ isRtl?: boolean;
57
56
  setFormId: SetState<string>;
58
57
  setChatId: SetState<string>;
59
58
  setPickaxe: SetState<LimitedPickaxe | null>;
60
59
  setIsFontLoaded: SetState<boolean>;
61
60
  setIsNewChat: SetState<boolean>;
62
61
  setIsShowIceBreaker: SetState<boolean>;
63
- setIsShowHistory: SetState<boolean>;
64
62
  onGenerateComplete?: (responseId: string) => void;
65
63
  };
66
64
  export interface IPickaxeProviderProps {
@@ -82,5 +80,5 @@ export interface IPickaxeProviderProps {
82
80
  onGenerateComplete?: (responseId: string) => void;
83
81
  }
84
82
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
85
- export declare const PickaxeProvider: ({ children, isRtl, userId, studioUserId, deploymentId, embedUserId, styles, colors, limits, misc, translations, responsiveBy, isEmbed, forceMobile, loadFont, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
83
+ export declare const PickaxeProvider: ({ children, userId, studioUserId, deploymentId, embedUserId, styles, colors, limits, misc, translations, responsiveBy, forceMobile, loadFont, isEmbed, isRtl, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
86
84
  export {};
@@ -1,6 +1,5 @@
1
1
  export declare const usePickaxeContext: () => {
2
2
  formId: string;
3
- isRtl?: boolean | undefined;
4
3
  chatId: string;
5
4
  userId: string;
6
5
  studioUserId: string;
@@ -12,19 +11,18 @@ export declare const usePickaxeContext: () => {
12
11
  misc: import("../../components/Pickaxe/Provider").PickaxeMisc;
13
12
  translations: import("../../components/Pickaxe/Provider").PickaxeTranslations;
14
13
  responsiveBy: import("../../components/Pickaxe/Provider").PickaxeResponsiveBy;
14
+ forceMobile: boolean;
15
+ loadFont: boolean;
15
16
  isFontLoaded: boolean;
16
17
  isNewChat: boolean;
17
18
  isShowIceBreaker: boolean;
18
- isShowHistory: boolean;
19
19
  isEmbed: boolean;
20
- forceMobile: boolean;
21
- loadFont: boolean;
20
+ isRtl?: boolean | undefined;
22
21
  setFormId: import("../../types/common").SetState<string>;
23
22
  setChatId: import("../../types/common").SetState<string>;
24
23
  setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").LimitedPickaxe | null>;
25
24
  setIsFontLoaded: import("../../types/common").SetState<boolean>;
26
25
  setIsNewChat: import("../../types/common").SetState<boolean>;
27
26
  setIsShowIceBreaker: import("../../types/common").SetState<boolean>;
28
- setIsShowHistory: import("../../types/common").SetState<boolean>;
29
27
  onGenerateComplete?: ((responseId: string) => void) | undefined;
30
28
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "2.1.11",
3
+ "version": "2.2.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",