@pickaxeproject/react 0.0.18 → 0.0.20
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/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/Head.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/Questions/Document.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/Questions/Input.js +1 -1
- package/dist/cjs/components/Pickaxe/Form/index.js +1 -1
- package/dist/cjs/components/Pickaxe/Provider.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeButton.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeInfoModal.js +1 -1
- package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown.js +1 -1
- package/dist/cjs/hooks/studio/useStyleFontSize.js +1 -0
- package/dist/cjs/src/components/Pickaxe/Provider.d.ts +3 -1
- package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
- package/dist/cjs/src/hooks/studio/useStyleFontSize.d.ts +11 -0
- package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
- package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
- package/dist/esm/components/Pickaxe/Form/Head.js +1 -1
- package/dist/esm/components/Pickaxe/Form/Questions/Document.js +1 -1
- package/dist/esm/components/Pickaxe/Form/Questions/Input.js +1 -1
- package/dist/esm/components/Pickaxe/Form/index.js +1 -1
- package/dist/esm/components/Pickaxe/Provider.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeButton.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeInfoModal.js +1 -1
- package/dist/esm/components/Pickaxe/common/PickaxeMarkdown.js +1 -1
- package/dist/esm/hooks/studio/useStyleFontSize.js +1 -0
- package/dist/esm/src/components/Pickaxe/Provider.d.ts +3 -1
- package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +1 -0
- package/dist/esm/src/hooks/studio/useStyleFontSize.d.ts +11 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../hooks/pickaxe/usePickaxeContext.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../common/PickaxeIcon.js"),a=require("../../common/PickaxeMarkdown.js"),l=require("../../common/PickaxeCopyButton.js"),c=require("../../../../common/cn.js");exports.default=({message:o})=>{var r;const{formId:i,pickaxe:n,colors:x,forceMobile:m}=s.usePickaxeContext(),d=null!==(r=null==n?void 0:n.chaticon)&&void 0!==r?r:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${i}.png`;return"assistant"===o.role?e.jsx("div",Object.assign({className:c.default("flex flex-col min-[767px]:max-w-[80%]",m&&"max-w-[100%]")},{children:e.jsxs("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==d&&e.jsx(t.default,{src:d,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:x.text}),e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",style:{backgroundColor:x.secondary+"80",color:x.secondaryText}},{children:e.jsx(a.default,{className:c.default("relative text-sm min-[767px]:text-base",m&&"text-sm"),html:o.content})})),e.jsx("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e.jsx(l.default,{color:x.accent,text:o.content})}))]}))]}))})):"user"===o.role?e.jsx("div",Object.assign({className:c.default("flex gap-x-3 justify-self-end min-[767px]:max-w-[80%] pl-9 min-[767px]:pl-0",m&&"max-w-[100%] pl-9")},{children:e.jsx("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e.jsx(a.default,{className:c.default("relative text-sm min-[767px]:text-base",m&&"text-sm"),html:o.content})}))})):e.jsx("div",{})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/pickaxe/useConversation.js"),i=require("../../../Icons/circle-info.svg.js"),o=require("../../common/PickaxeIcon.js"),r=require("../../../Core/HtmlRenderer.js"),c=require("../../Addons/Scroll/ScrollLockView.js"),n=require("../../common/PickaxeInfoModal.js"),d=require("./Message.js"),x=require("../../../../common/cn.js");exports.default=()=>{var u;const{pickaxe:m,styles:j,colors:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/pickaxe/useConversation.js"),i=require("../../../Icons/circle-info.svg.js"),o=require("../../common/PickaxeIcon.js"),r=require("../../../Core/HtmlRenderer.js"),c=require("../../Addons/Scroll/ScrollLockView.js"),n=require("../../common/PickaxeInfoModal.js"),d=require("./Message.js"),x=require("../../../../common/cn.js");exports.default=()=>{var u;const{pickaxe:m,styles:j,colors:f,isNewChat:p,forceMobile:g}=a.usePickaxeContext(),{messages:h,status:b,error:v}=t.useResponseContext(),w=l.useConversation(),[y,E]=s.useState(!1),k=s.useMemo((()=>!!w.data&&!(w.data.messages.length<=1)),[w.data]),N=s.useMemo((()=>w.isSuccess&&p&&!k),[w.isSuccess,p,k]);return e.jsxs("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[y&&e.jsx(n.default,{isOpen:y,onChangeIsOpen:E}),e.jsxs("div",Object.assign({className:x.default("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",N&&"top-1/3 opacity-100")},{children:[e.jsx(o.default,{src:null==m?void 0:m.coverphoto,alt:`${null==m?void 0:m.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[e.jsxs("h2",Object.assign({className:x.default("mt-6 text-center font-semibold opacity-70 min-[767px]:text-lg",g&&"text-base")},{children:[`${null==m?void 0:m.formtitle.slice(0,130)}${(null!==(u=null==m?void 0:m.formtitle)&&void 0!==u?u:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>E(!0)},{children:e.jsx(i.default,{className:"h-5 w-5 shrink-0",style:{color:f.accent}})}))]})),e.jsx("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==m?void 0:m.formdescription}))]}))]})),e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:w.isLoading?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[e.jsx("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===j.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===j.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===j.theme?"#1E1E1F":"#E5E7EB"}})]})):w.isError?e.jsx("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e.jsxs("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e.jsxs("div",Object.assign({className:x.default("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6 min-[767px]:pt-10",g&&"pt-6")},{children:[w.data.messages.map(((s,a)=>e.jsx(d.default,{message:s},a))),h.map(((s,a)=>e.jsx(d.default,{message:s},a))),"fetching"===b?e.jsxs("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==m?void 0:m.chaticon)&&e.jsx(o.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e.jsxs("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:f.secondary+"80",color:f.secondaryText}},{children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:f.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:f.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:f.secondaryText}})]}))]})):v?e.jsxs("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[e.jsx(i.default,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),e.jsx(r.default,{className:"x-4 py-2 font-semibold text-red-500",html:v})]})):null,e.jsx(c.default,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};
|
|
@@ -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"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),n=require("../../../hooks/pickaxe/useResponseContext.js"),a=require("../../../hooks/studio/useStyleInput.js"),i=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useSubmit.js"),d=require("../../../hooks/pickaxe/useSubmitResult.js"),u=require("../Addons/Document/hooks/useDocument.js"),c=require("../Addons/Scroll/hooks/useScroll.js"),m=require("../../../common/documents.js"),p=require("../../../common/api/streamer.js"),h=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),n=require("../../../hooks/pickaxe/useResponseContext.js"),a=require("../../../hooks/studio/useStyleInput.js"),i=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useSubmit.js"),d=require("../../../hooks/pickaxe/useSubmitResult.js"),u=require("../Addons/Document/hooks/useDocument.js"),c=require("../Addons/Scroll/hooks/useScroll.js"),m=require("../../../common/documents.js"),p=require("../../../common/api/streamer.js"),h=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),f=require("../../Icons/attach.svg.js"),x=require("../../Icons/send.svg.js"),g=require("../Addons/IceBreaker/index.js"),y=require("../../../common/error.js"),b=require("../../../common/cn.js");exports.default=()=>{var j,v,w,k;const{formId:I,chatId:q,pickaxe:S,colors:D,isNewChat:A,forceMobile:C,setIsNewChat:_}=r.usePickaxeContext(),{messages:N,status:R,setMessages:E,setStatus:M,setError:O}=n.useResponseContext(),{documents:U,isUploading:T,isImageUploadAllowed:z,upsertDocuments:B,onFileUpload:F,onEditDocumentByDocId:P}=u.useDocument(),{isScrollIncreasing:K,scrollToBottom:L,scrollStart:Q,scrollEnd:W}=c.useScroll(),H=i.useConversation(),Y=l.useSubmit(),G=d.useSubmitResult(),[J,V]=t.useState(""),X=t.useRef(null),[Z]=o.useMediaQuery("(max-width: 767px)"),$=a.useStyleInput(),ee=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(T)return;O(""),_(!1);const e=null!=s?s:J;if(!e||"fetching"===R||"streaming"===R)return;const t=new Date;V("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=U.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";M("fetching");const a=[...N,{id:N.length+1,role:"user",content:e}];E(a);const{success:i,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:h}=yield Y.mutateAsync(Object.assign({formId:I,responseId:q,value:e},o&&n&&{documentId:n}));if(!i)throw new Error(null!=h?h:"An error occurred, please try again.");m&&n&&P({documentId:n,isInsertedAsRaw:!0}),u&&c&&B([{type:"website",id:c,name:c,status:"finished",documentId:u}]),Q(),L();const f=(yield p.streamer({formId:I,responseId:q,data:l})).body;if(!f)throw new Error("Streaming error");const x=f.getReader(),g=new TextDecoder,y=a.length;let b="",j=!0;for(M("streaming");j;){const{value:e,done:s}=yield x.read();j=!s;if(b+=g.decode(e),b)E([...a.slice(0,y),{id:N.length+1,role:"assistant",content:b}]),K&&L();else if(!j&&!b)throw new Error("Server error")}const v=new Date;b&&(L(),M("idle"),yield G.mutateAsync({formId:I,responseId:q,documentIds:d,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:b,sentAt:v}]}))}catch(e){let s=y.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later."),O(s),L()}finally{M("idle"),W()}}));return s.jsxs("div",Object.assign({className:b.default("fixed flex w-full flex-col bottom-0 left-0 min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto",C&&"fixed bottom-0 left-0")},{children:[A&&S&&!H.isLoading&&(null!==(v=null===(j=H.data)||void 0===j?void 0:j.messages.length)&&void 0!==v?v:0)<=1&&S.icebreakers&&S.icebreakers.length>0&&s.jsx(g.default,{data:null!==(w=S.icebreakers)&&void 0!==w?w:[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:Z,onSend:ee}),s.jsxs("div",Object.assign({style:$,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==S?void 0:S.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:X,type:"file",accept:[...m.allowedFileMimeTypes,...z?m.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield F(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:T,onClick:()=>{var e;return null===(e=X.current)||void 0===e?void 0:e.click()}},{children:s.jsx(f.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(h.default,{className:b.default("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!J.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:J,placeholder:null!==(k=null==S?void 0:S.placeholdertext)&&void 0!==k?k:"What do you want to talk about?",onChange:e=>V(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ee())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==R||T,onClick:()=>ee()},{children:s.jsx(x.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]}))]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),l=require("../Addons/Scroll/hooks/useScroll.js"),r=require("../../Core/ScrollArea.js"),t=require("../Addons/Document/List.js"),i=require("./History/index.js"),o=require("./Input.js"),a=require("../../../common/cn.js");exports.default=()=>{const{pickaxe:c,isShowIceBreaker:u,forceMobile:n}=s.usePickaxeContext(),{scrollContainerRef:x}=l.useScroll();return e.jsx("div",Object.assign({className:"relative flex flex-grow flex-col items-center"},{children:e.jsxs("div",Object.assign({className:"relative flex w-full max-w-[800px] flex-grow flex-col"},{children:["enduserupload"===(null==c?void 0:c.documentuploadtype)&&e.jsx(t.default,{className:"absolute z-10 mt-4"}),e.jsx("div",Object.assign({className:a.default("flex w-full flex-grow flex-col pb-[4.5rem] min-[767px]:pb-24",u&&"pb-40 min-[767px]:pb-44",n&&"pb-[4.5rem]",n&&u&&"pb-40")},{children:e.jsx(r.default,Object.assign({ref:x,hideScrollbar:!0},{children:e.jsx(i.default,{})}))})),e.jsx("div",Object.assign({className:a.default("absolute bottom-0 flex w-full justify-center min-[767px]:mt-4 min-[767px]:mb-6",n&&"mt-0 mb-0 bottom-0")},{children:e.jsx(o.default,{})}))]}))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../Icons/circle-info.svg.js"),o=require("../common/PickaxeIcon.js"),l=require("../common/PickaxeInfoModal.js");exports.default=()=>{var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../Icons/circle-info.svg.js"),o=require("../common/PickaxeIcon.js"),l=require("../common/PickaxeInfoModal.js"),c=require("../../../common/cn.js");exports.default=()=>{var n;const{pickaxe:r,colors:a,forceMobile:u}=i.usePickaxeContext(),[x,m]=t.useState(!1);return e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[x&&e.jsx(l.default,{isOpen:x,onChangeIsOpen:m}),e.jsx(o.default,{src:null==r?void 0:r.coverphoto,alt:`${null==r?void 0:r.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsxs("h2",Object.assign({className:c.default("mt-6 text-center min-[767px]:text-[18px] font-semibold opacity-70",u&&"text-base")},{children:[`${null==r?void 0:r.formtitle.slice(0,130)}${(null!==(n=null==r?void 0:r.formtitle)&&void 0!==n?n:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>m(!0)},{children:e.jsx(s.default,{className:"h-5 w-5 shrink-0",style:{color:a.accent}})}))]})),e.jsx("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==r?void 0:r.formdescription}))]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),a=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../../hooks/studio/useStyleInput.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),a=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../../hooks/studio/useStyleInput.js"),n=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../../../common/documents.js"),r=require("../../../Icons/attach.svg.js"),o=require("../../../Icons/check.svg.js"),c=require("../../../Icons/x.svg.js"),d=require("../../../Core/ErrorAlert.js"),u=require("../../Addons/Document/List.js"),j=require("../../../../common/cn.js");exports.default=({field:m,update:b})=>{const{colors:p}=t.usePickaxeContext(),{documentError:x,websiteLink:f,isUploading:g,isImageUploadAllowed:h,setDocumentError:v,setWebsiteLink:y,onFileUpload:w,onWebsiteUpload:k}=n.useDocument({onQuestionChange:e=>{b(Object.assign(Object.assign({},m),e))}}),[N,q]=a.useState(!1),O=a.useRef(null),C=i.useStyleInput();return s.jsxs("div",Object.assign({className:"flex flex-col gap-y-1"},{children:[s.jsxs("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s.jsxs("div",Object.assign({className:"flex items-center gap-2"},{children:[s.jsx("p",Object.assign({className:"text-sm font-semibold opacity-70"},{children:m.main})),m.isRequired&&s.jsx("span",Object.assign({className:"select-none font-semibold",style:{color:p.error}},{children:"*"}))]})),s.jsxs("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s.jsx("input",{ref:O,type:"file",accept:[...l.allowedFileMimeTypes,...h?l.allowedImageMimeTypes:[]].join(", "),id:m.id,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield w(Array.from(s.target.files||[])),s.target.value=""})),disabled:g}),s.jsxs("div",Object.assign({className:j.default("flex items-center justify-between rounded-sm border border-transparent bg-white py-3 pl-4 pr-3 duration-300 ease-in-out transition-all shadow hover:shadow-none",N&&"shadow"),style:C},{children:[s.jsx("input",{type:"text",value:f,className:"w-full outline-none bg-transparent",placeholder:"Paste a website/video link or drag a file",onChange:e=>y(e.target.value),onDrop:s=>e.__awaiter(void 0,void 0,void 0,(function*(){s.preventDefault(),yield w(Array.from(s.dataTransfer.files||[]))})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),k(f))},onFocus:()=>q(!0),onBlur:()=>q(!1)}),s.jsx("div",Object.assign({className:"flex items-center gap-3 pl-4"},{children:f.length>0?s.jsxs(s.Fragment,{children:[s.jsx("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:g,onClick:()=>k(f)},{children:s.jsx(o.default,{className:"h-5 w-5 shrink-0",style:{color:p.accent}})})),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:g,onClick:()=>{y(""),v("")}},{children:s.jsx(c.default,{className:"h-6 w-6 shrink-0",style:{color:p.accent}})}))]}):s.jsx("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:g,onClick:()=>{var e;null===(e=O.current)||void 0===e||e.click()}},{children:s.jsx(r.default,{className:"h-6 w-6 shrink-0",style:{color:p.accent}})}))}))]}))]}))]})),s.jsx(u.default,{className:"mt-2"}),x&&s.jsx(d.default,{error:x,className:"mt-3"})]}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../../hooks/studio/useStyleInput.js"),a=require("@nem035/gpt-3-encoder"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),o=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("../../../../hooks/studio/useStyleInput.js"),a=require("../../../../hooks/studio/useStyleFontSize.js"),n=require("@nem035/gpt-3-encoder"),i=require("../../../Core/Textarea.js"),l=require("../../../../common/cn.js");exports.default=({field:c,update:u})=>{const{colors:d}=t.usePickaxeContext(),{setError:p}=o.useResponseContext(),[x,h]=s.useState(!1),g=r.useStyleInput(),m=a.useStyleFontSize({type:"body"});return e.jsxs("div",Object.assign({className:"group relative flex flex-col gap-y-1"},{children:[e.jsxs("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[e.jsxs("div",Object.assign({className:"flex items-center gap-2"},{children:[e.jsx("p",Object.assign({className:"text-sm font-semibold opacity-70"},{children:c.main})),c.isRequired&&e.jsx("span",Object.assign({className:"select-none font-semibold",style:{color:d.error}},{children:"*"}))]})),e.jsx(i.default,{className:l.default(m("rounded-sm border border-transparent px-4 py-3 duration-300 ease-in-out transition-all shadow hover:shadow-none"),c.maxLength<10&&"max-w-[400px]"),style:g,placeholder:c.example,rows:c.maxLength>500?3:1,value:c.input,tabIndex:c.order,onChange:e=>{p("");const s=n.encode(e).length;u(Object.assign(Object.assign({},c),{input:e,length:s}))},onFocus:()=>h(!0),onBlur:()=>h(!1)})]})),e.jsx("div",Object.assign({className:"pointer-events-none absolute bottom-0 right-0 p-1 px-2"},{children:e.jsxs("p",Object.assign({className:l.default("text-[14px] font-semibold opacity-20 opacity-0 group-hover:opacity-100 group-hover:duration-200",c.length>c.maxLength&&"text-c-red opacity-100",x&&"opacity-100")},{children:[c.length,"/",c.maxLength]}))}))]}))};
|
|
@@ -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("./Head.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),t=require("./Head.js"),i=require("./History/index.js"),l=require("./NewChat.js"),r=require("./Questions/index.js"),a=require("../../../common/cn.js");exports.default=()=>{const{pickaxe:x,forceMobile:c}=s.usePickaxeContext();return e.jsx("div",Object.assign({className:a.default("flex w-full flex-col items-center pt-12 px-4 pb-10 min-[767px]:pb-40",c&&"pb-10")},{children:e.jsxs("div",Object.assign({className:"flex w-full max-w-[700px] flex-col"},{children:[e.jsx(t.default,{}),e.jsxs("div",Object.assign({className:a.default("flex flex-col gap-y-8 min-[767px]:mt-4",c&&"mt-0")},{children:[(null==x?void 0:x.chatflag)?e.jsx(l.default,{}):e.jsx(r.default,{}),e.jsx(i.default,{})]}))]}))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./Addons/Document/Provider.js"),s=require("./ResponseProvider.js");const o=t.createContext({});exports.PickaxeContext=o,exports.PickaxeProvider=({styles:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("./Addons/Document/Provider.js"),s=require("./ResponseProvider.js");const o=t.createContext({});exports.PickaxeContext=o,exports.PickaxeProvider=({styles:i,colors:a,forceMobile:c=!1,children:n})=>{const[d,l]=t.useState(""),[u,F]=t.useState(""),[x,h]=t.useState(null),[S,f]=t.useState(!0),[j,y]=t.useState(!0),[I,P]=t.useState(!1);return e.jsx(o.Provider,Object.assign({value:{formId:d,chatId:u,pickaxe:x,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},i),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},a),isNewChat:S,isShowIceBreaker:j,isShowHistory:I,forceMobile:c,setFormId:l,setChatId:F,setPickaxe:h,setIsNewChat:f,setIsShowIceBreaker:y,setIsShowHistory:P}},{children:e.jsx(s.default,{children:e.jsx(r.default,{children:n})})}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../hooks/studio/useStyleButton.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),o=require("../../Core/Button.js"),i=require("../../../common/cn.js");exports.default=u=>{var{variant:n,className:l}=u,c=e.__rest(u,["variant","className"]);const{styles:y}=s.usePickaxeContext(),j=r.useStyleButton({variant:n}),v=a.useStyleFontSize({type:"button"});return t.jsx(o.default,Object.assign({variant:n,className:i.default(v(),"min-h-[48px]",l,("primary"===n||"secondary"===n)&&"hover:opacity-90","outlined"===y.btnStyle&&"hover:opacity-70"),style:j},c))};
|
|
@@ -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("../../Icons/x.svg.js"),i=require("../../Core/Modal/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../Icons/x.svg.js"),i=require("../../Core/Modal/index.js"),r=require("../../Core/Modal/Body.js"),l=require("./PickaxeIcon.js"),o=require("../../../common/cn.js");exports.default=({isOpen:a,onChangeIsOpen:c})=>{const{pickaxe:n,colors:x,forceMobile:d}=s.usePickaxeContext();return e.jsx(i.default,Object.assign({isOpen:a,onChange:c},{children:e.jsxs(r.default,Object.assign({className:o.default("relative flex flex-col px-8 py-[26px] min-[767px]:max-w-[480px] border-0 min-[767px]:border",d&&"border-0 max-w-[100%]"),style:{backgroundColor:x.primary,borderColor:x.text+"4D"},avoidOverflow:!0},{children:[e.jsx("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e.jsx("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>c(!1)},{children:e.jsx(t.default,{className:"h-6 w-6 shrink-0"})}))})),e.jsx("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:e.jsxs("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e.jsx(l.default,{src:null==n?void 0:n.coverphoto,alt:`${null==n?void 0:n.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsx("h2",Object.assign({className:o.default("mt-6 text-center font-semibold opacity-70 min-[767px]:text-[18px]",d&&"text-base")},{children:null==n?void 0:n.formtitle})),e.jsx("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==n?void 0:n.formdescription}))]}))}))]}))}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("marked"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("marked"),o=require("../../../common/renderer.js"),n=require("../../../hooks/pickaxe/usePickaxeContext.js"),c=require("../../../hooks/pickaxe/useLinkPreviews.js"),s=require("../../../hooks/studio/useStyleFontSize.js"),i=require("../../../hooks/pickaxe/useActions.js"),a=require("marked-katex-extension"),u=require("copy-to-clipboard"),l=require("../../Core/HtmlRenderer.js"),d=require("../../../common/cn.js");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=m(a),p=m(u);r.marked.use(h.default({throwOnError:!1,output:"mathml"}));exports.default=({html:a,className:u,style:m,marked:h,renderer:f,onClick:k})=>{const{styles:v,colors:y}=n.usePickaxeContext(),b=t.useRef(null);c.useLinkPreviews(b,{theme:v.theme}),i.useActions(b,{theme:v.theme,accentColor:y.accent,accentTextColor:y.accentText});const x=s.useStyleFontSize({type:"body"});t.useEffect((()=>{const e=b.current;if(!e)return;const t=e=>{var t,r,o;const n=e.target.closest(".copy-code-button");if(n){const e=null!==(o=null===(r=null===(t=n.parentElement)||void 0===t?void 0:t.querySelector("code"))||void 0===r?void 0:r.textContent)&&void 0!==o?o:"";if(!e)return;p.default(e)}};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[b]);const w=t.useMemo((()=>{let e=a||"";const t=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return t&&t.forEach((t=>{var r;const o=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(r=t.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===r?void 0:r[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(t,o)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e))}),[a]);return e.jsx("div",Object.assign({ref:b},{children:e.jsx(l.default,{html:r.marked.parse(w,Object.assign({gfm:!0,breaks:!0,renderer:o.renderer(Object.assign(Object.assign({},f),{theme:v.theme,accentColor:y.accent,centerMedia:!1,linkPreviews:!0,actions:!0}))},h)).toString(),className:d.default(u,x()),style:m,onClick:k})}))};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var x=require("../pickaxe/usePickaxeContext.js"),t=require("react"),e=require("../../common/cn.js");const p={header:{default:{sm:"text-[16px]",md:"text-[24px]",lg:"max-[899px]:text-[24px] max-[1080px]:text-[36px] text-5xl",xl:"max-[899px]:text-[32px] max-[1080px]:text-[48px] text-[64px]"},landing:{sm:"max-[899px]:text-[16px] max-[1080px]:text-[24px] text-[32px]",md:"max-[899px]:text-[24px] max-[1080px]:text-[48px] text-[56px] leading-[4.5rem] max-[899px]:leading-normal",lg:"max-[899px]:text-[36px] max-[1080px]:text-[64px] text-[72px]",xl:"max-[899px]:text-[48px] max-[1080px]:text-[72px] text-[96px]"}},body:{default:{sm:"text-[14px]",md:"text-[16px]",lg:"max-[889px]:text-[18px] text-[20px]",xl:"max-[889px]:text-[20px] text-[24px]"},landing:{sm:"text-[16px]",md:"max-[899px]:text-[16px] text-[18px]",lg:"max-[889px]:text-[18px] text-[20px]",xl:"max-[889px]:text-[20px] text-[24px]"}},sidenav:{default:{sm:"max-[889px]:text-[12px] text-[14px]",md:"max-[889px]:text-[14px] text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"},landing:{sm:"max-[889px]:text-[12px] text-[14px]",md:"max-[889px]:text-[14px] text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"}},label:{default:{sm:"text-[12px]",md:"text-[14px]",lg:"text-[16px]",xl:"text-[18px]"},landing:{sm:"text-[12px]",md:"text-[14px]",lg:"text-[16px]",xl:"text-[18px]"}},button:{default:{sm:"text-[12px]",md:"text-[14px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"},landing:{sm:"text-[14px]",md:"text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"}}};exports.fontSizeMap=p,exports.useStyleFontSize=({type:a,area:m="default",size:l="md"})=>{const{styles:d}=x.usePickaxeContext(),s=t.useMemo((()=>p[a][m||"default"][d.fontSize||l]),[a,m,l,d]);return x=>e.default(x,s)};
|
|
@@ -29,6 +29,7 @@ type PickaxeContextType = {
|
|
|
29
29
|
isNewChat: boolean;
|
|
30
30
|
isShowIceBreaker: boolean;
|
|
31
31
|
isShowHistory: boolean;
|
|
32
|
+
forceMobile: boolean;
|
|
32
33
|
setFormId: SetState<string>;
|
|
33
34
|
setChatId: SetState<string>;
|
|
34
35
|
setPickaxe: SetState<Pickaxe | null>;
|
|
@@ -39,8 +40,9 @@ type PickaxeContextType = {
|
|
|
39
40
|
export interface IPickaxeProviderProps {
|
|
40
41
|
styles?: Partial<PickaxeProviderStyles>;
|
|
41
42
|
colors?: Partial<PickaxeProviderColors>;
|
|
43
|
+
forceMobile?: boolean;
|
|
42
44
|
children: ReactNode;
|
|
43
45
|
}
|
|
44
46
|
export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
|
|
45
|
-
export declare const PickaxeProvider: ({ styles, colors, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare const PickaxeProvider: ({ styles, colors, forceMobile, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
46
48
|
export {};
|
|
@@ -7,6 +7,7 @@ export declare const usePickaxeContext: () => {
|
|
|
7
7
|
isNewChat: boolean;
|
|
8
8
|
isShowIceBreaker: boolean;
|
|
9
9
|
isShowHistory: boolean;
|
|
10
|
+
forceMobile: boolean;
|
|
10
11
|
setFormId: import("../../types/common").SetState<string>;
|
|
11
12
|
setChatId: import("../../types/common").SetState<string>;
|
|
12
13
|
setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").Pickaxe | null>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StudioFontSize } from "../../types/studio";
|
|
2
|
+
export type FontSizeType = "header" | "body" | "sidenav" | "label" | "button";
|
|
3
|
+
export type FontArea = "default" | "landing";
|
|
4
|
+
export declare const fontSizeMap: Record<FontSizeType, Record<FontArea, Record<StudioFontSize, string>>>;
|
|
5
|
+
interface UseStyleFontSizeOptions {
|
|
6
|
+
type: FontSizeType;
|
|
7
|
+
area?: FontArea;
|
|
8
|
+
size?: StudioFontSize;
|
|
9
|
+
}
|
|
10
|
+
export declare const useStyleFontSize: ({ type, area, size, }: UseStyleFontSizeOptions) => (base?: string) => string;
|
|
11
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as
|
|
1
|
+
import{jsx as e,jsxs as s}from"react/jsx-runtime";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import o from"../../common/PickaxeIcon.js";import a from"../../common/PickaxeMarkdown.js";import c from"../../common/PickaxeCopyButton.js";import l from"../../../../common/cn.js";const r=({message:r})=>{var i;const{formId:m,pickaxe:n,colors:x,forceMobile:d}=t(),p=null!==(i=null==n?void 0:n.chaticon)&&void 0!==i?i:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${m}.png`;return"assistant"===r.role?e("div",Object.assign({className:l("flex flex-col min-[767px]:max-w-[80%]",d&&"max-w-[100%]")},{children:s("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==p&&e(o,{src:p,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:x.text}),s("div",Object.assign({className:"flex flex-col"},{children:[e("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",style:{backgroundColor:x.secondary+"80",color:x.secondaryText}},{children:e(a,{className:l("relative text-sm min-[767px]:text-base",d&&"text-sm"),html:r.content})})),e("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e(c,{color:x.accent,text:r.content})}))]}))]}))})):"user"===r.role?e("div",Object.assign({className:l("flex gap-x-3 justify-self-end min-[767px]:max-w-[80%] pl-9 min-[767px]:pl-0",d&&"max-w-[100%] pl-9")},{children:e("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e(a,{className:l("relative text-sm min-[767px]:text-base",d&&"text-sm"),html:r.content})}))})):e("div",{})};export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as t,useMemo as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as l}from"../../../../hooks/pickaxe/useResponseContext.js";import{useConversation as i}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../../Icons/circle-info.svg.js";import r from"../../common/PickaxeIcon.js";import n from"../../../Core/HtmlRenderer.js";import
|
|
1
|
+
import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as t,useMemo as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as l}from"../../../../hooks/pickaxe/useResponseContext.js";import{useConversation as i}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../../Icons/circle-info.svg.js";import r from"../../common/PickaxeIcon.js";import n from"../../../Core/HtmlRenderer.js";import m from"../../Addons/Scroll/ScrollLockView.js";import d from"../../common/PickaxeInfoModal.js";import p from"./Message.js";import x from"../../../../common/cn.js";const f=()=>{var f;const{pickaxe:u,styles:g,colors:h,isNewChat:b,forceMobile:v}=o(),{messages:j,status:w,error:E}=l(),y=i(),[k,N]=t(!1),O=a((()=>!!y.data&&!(y.data.messages.length<=1)),[y.data]),C=a((()=>y.isSuccess&&b&&!O),[y.isSuccess,b,O]);return e("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[k&&s(d,{isOpen:k,onChangeIsOpen:N}),e("div",Object.assign({className:x("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",C&&"top-1/3 opacity-100")},{children:[s(r,{src:null==u?void 0:u.coverphoto,alt:`${null==u?void 0:u.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("div",Object.assign({className:"flex flex-col items-center"},{children:[e("h2",Object.assign({className:x("mt-6 text-center font-semibold opacity-70 min-[767px]:text-lg",v&&"text-base")},{children:[`${null==u?void 0:u.formtitle.slice(0,130)}${(null!==(f=null==u?void 0:u.formtitle)&&void 0!==f?f:"").length>130?"...":""}`,s("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>N(!0)},{children:s(c,{className:"h-5 w-5 shrink-0",style:{color:h.accent}})}))]})),s("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==u?void 0:u.formdescription}))]}))]})),s("div",Object.assign({className:"flex w-full justify-center"},{children:y.isLoading?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[s("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}})]})):y.isError?s("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e("div",Object.assign({className:x("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6 min-[767px]:pt-10",v&&"pt-6")},{children:[y.data.messages.map(((e,t)=>s(p,{message:e},t))),j.map(((e,t)=>s(p,{message:e},t))),"fetching"===w?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==u?void 0:u.chaticon)&&s(r,{src:null==u?void 0:u.chaticon,alt:`${null==u?void 0:u.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:h.secondary+"80",color:h.secondaryText}},{children:[s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:h.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:h.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:h.secondaryText}})]}))]})):E?e("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[s(c,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),s(n,{className:"x-4 py-2 font-semibold text-red-500",html:E})]})):null,s(m,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r}from"react";import{useMediaQuery as n}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as a}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as l}from"../../../hooks/studio/useStyleInput.js";import{useConversation as d}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as c}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as m}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as u}from"../Addons/Document/hooks/useDocument.js";import{useScroll as p}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as f,allowedImageMimeTypes as h}from"../../../common/documents.js";import{streamer as g}from"../../../common/api/streamer.js";import x from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import
|
|
1
|
+
import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r}from"react";import{useMediaQuery as n}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as a}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as l}from"../../../hooks/studio/useStyleInput.js";import{useConversation as d}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as c}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as m}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as u}from"../Addons/Document/hooks/useDocument.js";import{useScroll as p}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as f,allowedImageMimeTypes as h}from"../../../common/documents.js";import{streamer as g}from"../../../common/api/streamer.js";import x from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import b from"../../Icons/attach.svg.js";import v from"../../Icons/send.svg.js";import y from"../Addons/IceBreaker/index.js";import k from"../../../common/error.js";import w from"../../../common/cn.js";const I=()=>{var I,j,S,A;const{formId:D,chatId:N,pickaxe:C,colors:E,isNewChat:O,forceMobile:R,setIsNewChat:U}=i(),{messages:_,status:z,setMessages:B,setStatus:M,setError:F}=a(),{documents:T,isUploading:K,isImageUploadAllowed:L,upsertDocuments:P,onFileUpload:W,onEditDocumentByDocId:H}=u(),{isScrollIncreasing:Q,scrollToBottom:Y,scrollStart:q,scrollEnd:G}=p(),J=d(),V=c(),X=m(),[Z,$]=s(""),ee=r(null),[oe]=n("(max-width: 767px)"),te=l(),se=o=>e(void 0,void 0,void 0,(function*(){try{if(K)return;F(""),U(!1);const e=null!=o?o:Z;if(!e||"fetching"===z||"streaming"===z)return;const t=new Date;$("");const s="enduserupload"===(null==C?void 0:C.documentuploadtype),r=T.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";M("fetching");const i=[..._,{id:_.length+1,role:"user",content:e}];B(i);const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield V.mutateAsync(Object.assign({formId:D,responseId:N,value:e},s&&n&&{documentId:n}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&n&&H({documentId:n,isInsertedAsRaw:!0}),c&&m&&P([{type:"website",id:m,name:m,status:"finished",documentId:c}]),q(),Y();const f=(yield g({formId:D,responseId:N,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),x=new TextDecoder,b=i.length;let v="",y=!0;for(M("streaming");y;){const{value:e,done:o}=yield h.read();y=!o;if(v+=x.decode(e),v)B([...i.slice(0,b),{id:_.length+1,role:"assistant",content:v}]),Q&&Y();else if(!y&&!v)throw new Error("Server error")}const k=new Date;v&&(Y(),M("idle"),yield X.mutateAsync({formId:D,responseId:N,documentIds:d,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:v,sentAt:k}]}))}catch(e){let o=k(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later."),F(o),Y()}finally{M("idle"),G()}}));return o("div",Object.assign({className:w("fixed flex w-full flex-col bottom-0 left-0 min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto",R&&"fixed bottom-0 left-0")},{children:[O&&C&&!J.isLoading&&(null!==(j=null===(I=J.data)||void 0===I?void 0:I.messages.length)&&void 0!==j?j:0)<=1&&C.icebreakers&&C.icebreakers.length>0&&t(y,{data:null!==(S=C.icebreakers)&&void 0!==S?S:[],style:{backgroundColor:E.secondary,color:E.secondaryText},isMobile:oe,onSend:se}),o("div",Object.assign({style:te,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==C?void 0:C.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:ee,type:"file",accept:[...f,...L?h:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield W(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:K,onClick:()=>{var e;return null===(e=ee.current)||void 0===e?void 0:e.click()}},{children:t(b,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:E.accent}})}))]})),t(x,{className:w("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!Z.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:Z,placeholder:null!==(A=null==C?void 0:C.placeholdertext)&&void 0!==A?A:"What do you want to talk about?",onChange:e=>$(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),se())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==z||K,onClick:()=>se()},{children:t(v,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:E.accent}})}))]}))]}))};export{I as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useScroll as l}from"../Addons/Scroll/hooks/useScroll.js";import s from"../../Core/ScrollArea.js";import t from"../Addons/Document/List.js";import i from"./History/index.js";import
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useScroll as l}from"../Addons/Scroll/hooks/useScroll.js";import s from"../../Core/ScrollArea.js";import t from"../Addons/Document/List.js";import i from"./History/index.js";import m from"./Input.js";import c from"../../../common/cn.js";const n=()=>{const{pickaxe:n,isShowIceBreaker:a,forceMobile:f}=r(),{scrollContainerRef:p}=l();return e("div",Object.assign({className:"relative flex flex-grow flex-col items-center"},{children:o("div",Object.assign({className:"relative flex w-full max-w-[800px] flex-grow flex-col"},{children:["enduserupload"===(null==n?void 0:n.documentuploadtype)&&e(t,{className:"absolute z-10 mt-4"}),e("div",Object.assign({className:c("flex w-full flex-grow flex-col pb-[4.5rem] min-[767px]:pb-24",a&&"pb-40 min-[767px]:pb-44",f&&"pb-[4.5rem]",f&&a&&"pb-40")},{children:e(s,Object.assign({ref:p,hideScrollbar:!0},{children:e(i,{})}))})),e("div",Object.assign({className:c("absolute bottom-0 flex w-full justify-center min-[767px]:mt-4 min-[767px]:mb-6",f&&"mt-0 mb-0 bottom-0")},{children:e(m,{})}))]}))}))};export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t}from"react";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import c from"../../Icons/circle-info.svg.js";import
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t}from"react";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import c from"../../Icons/circle-info.svg.js";import n from"../common/PickaxeIcon.js";import l from"../common/PickaxeInfoModal.js";import r from"../../../common/cn.js";const s=()=>{var s;const{pickaxe:a,colors:m,forceMobile:p}=i(),[f,x]=t(!1);return e("div",Object.assign({className:"flex flex-col items-center"},{children:[f&&o(l,{isOpen:f,onChangeIsOpen:x}),o(n,{src:null==a?void 0:a.coverphoto,alt:`${null==a?void 0:a.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:r("mt-6 text-center min-[767px]:text-[18px] font-semibold opacity-70",p&&"text-base")},{children:[`${null==a?void 0:a.formtitle.slice(0,130)}${(null!==(s=null==a?void 0:a.formtitle)&&void 0!==s?s:"").length>130?"...":""}`,o("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>x(!0)},{children:o(c,{className:"h-5 w-5 shrink-0",style:{color:m.accent}})}))]})),o("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==a?void 0:a.formdescription}))]}))};export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as o,Fragment as t}from"react/jsx-runtime";import{useState as i,useRef as a}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleInput as r}from"../../../../hooks/studio/useStyleInput.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{allowedFileMimeTypes as c,allowedImageMimeTypes as d}from"../../../../common/documents.js";import m from"../../../Icons/attach.svg.js";import p from"../../../Icons/check.svg.js";import u from"../../../Icons/x.svg.js";import
|
|
1
|
+
import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as s,jsx as o,Fragment as t}from"react/jsx-runtime";import{useState as i,useRef as a}from"react";import{usePickaxeContext as n}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleInput as r}from"../../../../hooks/studio/useStyleInput.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{allowedFileMimeTypes as c,allowedImageMimeTypes as d}from"../../../../common/documents.js";import m from"../../../Icons/attach.svg.js";import p from"../../../Icons/check.svg.js";import u from"../../../Icons/x.svg.js";import f from"../../../Core/ErrorAlert.js";import b from"../../Addons/Document/List.js";import h from"../../../../common/cn.js";const g=({field:g,update:j})=>{const{colors:v}=n(),{documentError:y,websiteLink:N,isUploading:k,isImageUploadAllowed:x,setDocumentError:w,setWebsiteLink:O,onFileUpload:C,onWebsiteUpload:D}=l({onQuestionChange:e=>{j(Object.assign(Object.assign({},g),e))}}),[A,I]=i(!1),E=a(null),U=r();return s("div",Object.assign({className:"flex flex-col gap-y-1"},{children:[s("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[s("div",Object.assign({className:"flex items-center gap-2"},{children:[o("p",Object.assign({className:"text-sm font-semibold opacity-70"},{children:g.main})),g.isRequired&&o("span",Object.assign({className:"select-none font-semibold",style:{color:v.error}},{children:"*"}))]})),s("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[o("input",{ref:E,type:"file",accept:[...c,...x?d:[]].join(", "),id:g.id,hidden:!0,className:"hidden",onChange:s=>e(void 0,void 0,void 0,(function*(){yield C(Array.from(s.target.files||[])),s.target.value=""})),disabled:k}),s("div",Object.assign({className:h("flex items-center justify-between rounded-sm border border-transparent bg-white py-3 pl-4 pr-3 duration-300 ease-in-out transition-all shadow hover:shadow-none",A&&"shadow"),style:U},{children:[o("input",{type:"text",value:N,className:"w-full outline-none bg-transparent",placeholder:"Paste a website/video link or drag a file",onChange:e=>O(e.target.value),onDrop:s=>e(void 0,void 0,void 0,(function*(){s.preventDefault(),yield C(Array.from(s.dataTransfer.files||[]))})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),D(N))},onFocus:()=>I(!0),onBlur:()=>I(!1)}),o("div",Object.assign({className:"flex items-center gap-3 pl-4"},{children:N.length>0?s(t,{children:[o("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:k,onClick:()=>D(N)},{children:o(p,{className:"h-5 w-5 shrink-0",style:{color:v.accent}})})),o("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:k,onClick:()=>{O(""),w("")}},{children:o(u,{className:"h-6 w-6 shrink-0",style:{color:v.accent}})}))]}):o("button",Object.assign({className:"outline-none disabled:cursor-wait disabled:opacity-80",disabled:k,onClick:()=>{var e;null===(e=E.current)||void 0===e||e.click()}},{children:o(m,{className:"h-6 w-6 shrink-0",style:{color:v.accent}})}))}))]}))]}))]})),o(b,{className:"mt-2"}),y&&o(f,{error:y,className:"mt-3"})]}))};export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t}from"react";import{usePickaxeContext as s}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as a}from"../../../../hooks/studio/useStyleInput.js";import{
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t}from"react";import{usePickaxeContext as s}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as a}from"../../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as n}from"../../../../hooks/studio/useStyleFontSize.js";import{encode as i}from"@nem035/gpt-3-encoder";import c from"../../../Core/Textarea.js";import l from"../../../../common/cn.js";const m=({field:m,update:p})=>{const{colors:d}=s(),{setError:h}=r(),[x,g]=t(!1),u=a(),f=n({type:"body"});return e("div",Object.assign({className:"group relative flex flex-col gap-y-1"},{children:[e("div",Object.assign({className:"flex flex-col gap-y-2"},{children:[e("div",Object.assign({className:"flex items-center gap-2"},{children:[o("p",Object.assign({className:"text-sm font-semibold opacity-70"},{children:m.main})),m.isRequired&&o("span",Object.assign({className:"select-none font-semibold",style:{color:d.error}},{children:"*"}))]})),o(c,{className:l(f("rounded-sm border border-transparent px-4 py-3 duration-300 ease-in-out transition-all shadow hover:shadow-none"),m.maxLength<10&&"max-w-[400px]"),style:u,placeholder:m.example,rows:m.maxLength>500?3:1,value:m.input,tabIndex:m.order,onChange:e=>{h("");const o=i(e).length;p(Object.assign(Object.assign({},m),{input:e,length:o}))},onFocus:()=>g(!0),onBlur:()=>g(!1)})]})),o("div",Object.assign({className:"pointer-events-none absolute bottom-0 right-0 p-1 px-2"},{children:e("p",Object.assign({className:l("text-[14px] font-semibold opacity-20 opacity-0 group-hover:opacity-100 group-hover:duration-200",m.length>m.maxLength&&"text-c-red opacity-100",x&&"opacity-100")},{children:[m.length,"/",m.maxLength]}))}))]}))};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import s from"./Head.js";import t from"./History/index.js";import m from"./NewChat.js";import r from"./Questions/index.js";import l from"../../../common/cn.js";const c=()=>{const{pickaxe:c,forceMobile:a}=i();return e("div",Object.assign({className:l("flex w-full flex-col items-center pt-12 px-4 pb-10 min-[767px]:pb-40",a&&"pb-10")},{children:o("div",Object.assign({className:"flex w-full max-w-[700px] flex-col"},{children:[e(s,{}),o("div",Object.assign({className:l("flex flex-col gap-y-8 min-[767px]:mt-4",a&&"mt-0")},{children:[(null==c?void 0:c.chatflag)?e(m,{}):e(r,{}),e(t,{})]}))]}))}))};export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{createContext as r,useState as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{createContext as r,useState as o}from"react";import t from"./Addons/Document/Provider.js";import s from"./ResponseProvider.js";const i=r({}),c=({styles:r,colors:c,forceMobile:n=!1,children:a})=>{const[l,d]=o(""),[F,m]=o(""),[h,f]=o(null),[y,I]=o(!0),[p,x]=o(!0),[b,u]=o(!1);return e(i.Provider,Object.assign({value:{formId:l,chatId:F,pickaxe:h,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},r),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},c),isNewChat:y,isShowIceBreaker:p,isShowHistory:b,forceMobile:n,setFormId:d,setChatId:m,setPickaxe:f,setIsNewChat:I,setIsShowIceBreaker:x,setIsShowHistory:u}},{children:e(s,{children:e(t,{children:a})})}))};export{i as PickaxeContext,c as PickaxeProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__rest as t}from"../../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleButton as s}from"../../../hooks/studio/useStyleButton.js";import a from"../../Core/Button.js";import
|
|
1
|
+
import{__rest as t}from"../../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleButton as s}from"../../../hooks/studio/useStyleButton.js";import{useStyleFontSize as e}from"../../../hooks/studio/useStyleFontSize.js";import a from"../../Core/Button.js";import i from"../../../common/cn.js";const m=m=>{var{variant:n,className:c}=m,p=t(m,["variant","className"]);const{styles:u}=r(),l=s({variant:n}),y=e({type:"button"});return o(a,Object.assign({variant:n,className:i(y(),"min-h-[48px]",c,("primary"===n||"secondary"===n)&&"hover:opacity-90","outlined"===u.btnStyle&&"hover:opacity-70"),style:l},p))};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as t}from"../../../hooks/pickaxe/usePickaxeContext.js";import i from"../../Icons/x.svg.js";import s from"../../Core/Modal/index.js";import
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as t}from"../../../hooks/pickaxe/usePickaxeContext.js";import i from"../../Icons/x.svg.js";import s from"../../Core/Modal/index.js";import r from"../../Core/Modal/Body.js";import l from"./PickaxeIcon.js";import n from"../../../common/cn.js";const c=({isOpen:c,onChangeIsOpen:a})=>{const{pickaxe:m,colors:x,forceMobile:d}=t();return e(s,Object.assign({isOpen:c,onChange:a},{children:o(r,Object.assign({className:n("relative flex flex-col px-8 py-[26px] min-[767px]:max-w-[480px] border-0 min-[767px]:border",d&&"border-0 max-w-[100%]"),style:{backgroundColor:x.primary,borderColor:x.text+"4D"},avoidOverflow:!0},{children:[e("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>a(!1)},{children:e(i,{className:"h-6 w-6 shrink-0"})}))})),e("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:o("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e(l,{src:null==m?void 0:m.coverphoto,alt:`${null==m?void 0:m.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:n("mt-6 text-center font-semibold opacity-70 min-[767px]:text-[18px]",d&&"text-base")},{children:null==m?void 0:m.formtitle})),e("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==m?void 0:m.formdescription}))]}))}))]}))}))};export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{useRef as t,useEffect as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{useRef as t,useEffect as o,useMemo as r}from"react";import{marked as n}from"marked";import{renderer as c}from"../../../common/renderer.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useLinkPreviews as s}from"../../../hooks/pickaxe/useLinkPreviews.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useActions as a}from"../../../hooks/pickaxe/useActions.js";import l from"marked-katex-extension";import d from"copy-to-clipboard";import u from"../../Core/HtmlRenderer.js";import p from"../../../common/cn.js";n.use(l({throwOnError:!1,output:"mathml"}));const h=({html:l,className:h,style:f,marked:b,renderer:k,onClick:y})=>{const{styles:v,colors:w}=i(),x=t(null);s(x,{theme:v.theme}),a(x,{theme:v.theme,accentColor:w.accent,accentTextColor:w.accentText});const g=m({type:"body"});o((()=>{const e=x.current;if(!e)return;const t=e=>{var t,o,r;const n=e.target.closest(".copy-code-button");if(n){const e=null!==(r=null===(o=null===(t=n.parentElement)||void 0===t?void 0:t.querySelector("code"))||void 0===o?void 0:o.textContent)&&void 0!==r?r:"";if(!e)return;d(e)}};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[x]);const j=r((()=>{let e=l||"";const t=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return t&&t.forEach((t=>{var o;const r=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(o=t.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===o?void 0:o[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(t,r)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e))}),[l]);return e("div",Object.assign({ref:x},{children:e(u,{html:n.parse(j,Object.assign({gfm:!0,breaks:!0,renderer:c(Object.assign(Object.assign({},k),{theme:v.theme,accentColor:w.accent,centerMedia:!1,linkPreviews:!0,actions:!0}))},b)).toString(),className:p(h,g()),style:f,onClick:y})}))};export{h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{usePickaxeContext as x}from"../pickaxe/usePickaxeContext.js";import{useMemo as t}from"react";import p from"../../common/cn.js";const e={header:{default:{sm:"text-[16px]",md:"text-[24px]",lg:"max-[899px]:text-[24px] max-[1080px]:text-[36px] text-5xl",xl:"max-[899px]:text-[32px] max-[1080px]:text-[48px] text-[64px]"},landing:{sm:"max-[899px]:text-[16px] max-[1080px]:text-[24px] text-[32px]",md:"max-[899px]:text-[24px] max-[1080px]:text-[48px] text-[56px] leading-[4.5rem] max-[899px]:leading-normal",lg:"max-[899px]:text-[36px] max-[1080px]:text-[64px] text-[72px]",xl:"max-[899px]:text-[48px] max-[1080px]:text-[72px] text-[96px]"}},body:{default:{sm:"text-[14px]",md:"text-[16px]",lg:"max-[889px]:text-[18px] text-[20px]",xl:"max-[889px]:text-[20px] text-[24px]"},landing:{sm:"text-[16px]",md:"max-[899px]:text-[16px] text-[18px]",lg:"max-[889px]:text-[18px] text-[20px]",xl:"max-[889px]:text-[20px] text-[24px]"}},sidenav:{default:{sm:"max-[889px]:text-[12px] text-[14px]",md:"max-[889px]:text-[14px] text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"},landing:{sm:"max-[889px]:text-[12px] text-[14px]",md:"max-[889px]:text-[14px] text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"}},label:{default:{sm:"text-[12px]",md:"text-[14px]",lg:"text-[16px]",xl:"text-[18px]"},landing:{sm:"text-[12px]",md:"text-[14px]",lg:"text-[16px]",xl:"text-[18px]"}},button:{default:{sm:"text-[12px]",md:"text-[14px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"},landing:{sm:"text-[14px]",md:"text-[16px]",lg:"max-[889px]:text-[16px] text-[18px]",xl:"max-[889px]:text-[18px] text-[20px]"}}},m=({type:m,area:a="default",size:l="md"})=>{const{styles:d}=x(),n=t((()=>e[m][a||"default"][d.fontSize||l]),[m,a,l,d]);return x=>p(x,n)};export{e as fontSizeMap,m as useStyleFontSize};
|
|
@@ -29,6 +29,7 @@ type PickaxeContextType = {
|
|
|
29
29
|
isNewChat: boolean;
|
|
30
30
|
isShowIceBreaker: boolean;
|
|
31
31
|
isShowHistory: boolean;
|
|
32
|
+
forceMobile: boolean;
|
|
32
33
|
setFormId: SetState<string>;
|
|
33
34
|
setChatId: SetState<string>;
|
|
34
35
|
setPickaxe: SetState<Pickaxe | null>;
|
|
@@ -39,8 +40,9 @@ type PickaxeContextType = {
|
|
|
39
40
|
export interface IPickaxeProviderProps {
|
|
40
41
|
styles?: Partial<PickaxeProviderStyles>;
|
|
41
42
|
colors?: Partial<PickaxeProviderColors>;
|
|
43
|
+
forceMobile?: boolean;
|
|
42
44
|
children: ReactNode;
|
|
43
45
|
}
|
|
44
46
|
export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
|
|
45
|
-
export declare const PickaxeProvider: ({ styles, colors, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
47
|
+
export declare const PickaxeProvider: ({ styles, colors, forceMobile, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
46
48
|
export {};
|
|
@@ -7,6 +7,7 @@ export declare const usePickaxeContext: () => {
|
|
|
7
7
|
isNewChat: boolean;
|
|
8
8
|
isShowIceBreaker: boolean;
|
|
9
9
|
isShowHistory: boolean;
|
|
10
|
+
forceMobile: boolean;
|
|
10
11
|
setFormId: import("../../types/common").SetState<string>;
|
|
11
12
|
setChatId: import("../../types/common").SetState<string>;
|
|
12
13
|
setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").Pickaxe | null>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { StudioFontSize } from "../../types/studio";
|
|
2
|
+
export type FontSizeType = "header" | "body" | "sidenav" | "label" | "button";
|
|
3
|
+
export type FontArea = "default" | "landing";
|
|
4
|
+
export declare const fontSizeMap: Record<FontSizeType, Record<FontArea, Record<StudioFontSize, string>>>;
|
|
5
|
+
interface UseStyleFontSizeOptions {
|
|
6
|
+
type: FontSizeType;
|
|
7
|
+
area?: FontArea;
|
|
8
|
+
size?: StudioFontSize;
|
|
9
|
+
}
|
|
10
|
+
export declare const useStyleFontSize: ({ type, area, size, }: UseStyleFontSizeOptions) => (base?: string) => string;
|
|
11
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pickaxeproject/react",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.20",
|
|
4
4
|
"description": "Client utility library for Pickaxe",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,8 +34,7 @@
|
|
|
34
34
|
"not op_mini all"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@babel/runtime": "^7.20.7"
|
|
38
|
-
"@storybook/react-vite": "^8.4.7"
|
|
37
|
+
"@babel/runtime": "^7.20.7"
|
|
39
38
|
},
|
|
40
39
|
"devDependencies": {
|
|
41
40
|
"@babel/core": "^7.20.12",
|
|
@@ -61,6 +60,7 @@
|
|
|
61
60
|
"@storybook/addon-themes": "^8.4.7",
|
|
62
61
|
"@storybook/blocks": "8.4.7",
|
|
63
62
|
"@storybook/react": "8.4.7",
|
|
63
|
+
"@storybook/react-vite": "^8.4.7",
|
|
64
64
|
"@storybook/test": "8.4.7",
|
|
65
65
|
"@svgr/rollup": "^8.1.0",
|
|
66
66
|
"@tailwindcss/container-queries": "^0.1.1",
|