@pickaxeproject/react 2.4.0 → 2.6.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.
Files changed (85) hide show
  1. package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
  2. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  3. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  4. package/dist/cjs/components/Pickaxe/Chat/index.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Form/History/Item.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Form/History/Response.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  8. package/dist/cjs/components/Pickaxe/common/PickaxeHead.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.js +1 -1
  10. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Components/P/index.js +1 -1
  11. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  12. package/dist/cjs/components/Pickaxe/index.js +1 -1
  13. package/dist/cjs/hooks/pickaxe/usePickaxe.js +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/prose.css +1 -1
  16. package/dist/cjs/src/components/EmbedPreview/ChatInput.d.ts +9 -0
  17. package/dist/cjs/src/components/EmbedPreview/FAB.d.ts +10 -0
  18. package/dist/cjs/src/components/EmbedPreview/Inline.d.ts +5 -0
  19. package/dist/cjs/src/components/EmbedPreview/Popup.d.ts +10 -0
  20. package/dist/cjs/src/components/Pickaxe/Chat/Input.d.ts +3 -3
  21. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +37 -5
  22. package/dist/cjs/src/components/Pickaxe/common/PickaxeHead.d.ts +2 -2
  23. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +2 -1
  24. package/dist/cjs/src/hooks/pickaxe/usePickaxe.d.ts +1 -0
  25. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +9 -2
  26. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  27. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  28. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  29. package/dist/esm/components/Pickaxe/Chat/index.js +1 -1
  30. package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
  31. package/dist/esm/components/Pickaxe/Form/History/Response.js +1 -1
  32. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  33. package/dist/esm/components/Pickaxe/common/PickaxeHead.js +1 -1
  34. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/A/index.js +1 -1
  35. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Components/P/index.js +1 -1
  36. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  37. package/dist/esm/components/Pickaxe/index.js +1 -1
  38. package/dist/esm/hooks/pickaxe/usePickaxe.js +1 -1
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/prose.css +1 -1
  41. package/dist/esm/src/components/EmbedPreview/ChatInput.d.ts +9 -0
  42. package/dist/esm/src/components/EmbedPreview/FAB.d.ts +10 -0
  43. package/dist/esm/src/components/EmbedPreview/Inline.d.ts +5 -0
  44. package/dist/esm/src/components/EmbedPreview/Popup.d.ts +10 -0
  45. package/dist/esm/src/components/Pickaxe/Chat/Input.d.ts +3 -3
  46. package/dist/esm/src/components/Pickaxe/Provider.d.ts +37 -5
  47. package/dist/esm/src/components/Pickaxe/common/PickaxeHead.d.ts +2 -2
  48. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +2 -1
  49. package/dist/esm/src/hooks/pickaxe/usePickaxe.d.ts +1 -0
  50. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +9 -2
  51. package/package.json +1 -1
  52. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledAttachmentGrid.d.ts +0 -7
  53. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledIconButton.d.ts +0 -10
  54. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledImagePreview.d.ts +0 -12
  55. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledInputContainer.d.ts +0 -13
  56. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledInputWrapper.d.ts +0 -13
  57. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledRemoveButton.d.ts +0 -13
  58. package/dist/cjs/src/components/Pickaxe/ui/Input/StyledTextareaWrapper.d.ts +0 -8
  59. package/dist/cjs/src/components/Pickaxe/ui/Message/StyledIconWrapper.d.ts +0 -11
  60. package/dist/cjs/src/components/Pickaxe/ui/Message/StyledMessage.d.ts +0 -10
  61. package/dist/cjs/src/components/Pickaxe/ui/Message/StyledMessageBubble.d.ts +0 -14
  62. package/dist/cjs/src/components/Pickaxe/ui/Message/StyledMessageContainer.d.ts +0 -10
  63. package/dist/cjs/src/components/Pickaxe/ui/StyledCopyButton.d.ts +0 -12
  64. package/dist/cjs/src/components/Pickaxe/ui/StyledDocumentCard.d.ts +0 -25
  65. package/dist/cjs/src/components/Pickaxe/ui/StyledIceBreaker.d.ts +0 -20
  66. package/dist/cjs/src/components/Pickaxe/ui/StyledLoadingDots.d.ts +0 -9
  67. package/dist/cjs/src/components/Pickaxe/ui/index.d.ts +0 -20
  68. package/dist/cjs/src/components/Pickaxe/ui/types.d.ts +0 -5
  69. package/dist/esm/src/components/Pickaxe/ui/Input/StyledAttachmentGrid.d.ts +0 -7
  70. package/dist/esm/src/components/Pickaxe/ui/Input/StyledIconButton.d.ts +0 -10
  71. package/dist/esm/src/components/Pickaxe/ui/Input/StyledImagePreview.d.ts +0 -12
  72. package/dist/esm/src/components/Pickaxe/ui/Input/StyledInputContainer.d.ts +0 -13
  73. package/dist/esm/src/components/Pickaxe/ui/Input/StyledInputWrapper.d.ts +0 -13
  74. package/dist/esm/src/components/Pickaxe/ui/Input/StyledRemoveButton.d.ts +0 -13
  75. package/dist/esm/src/components/Pickaxe/ui/Input/StyledTextareaWrapper.d.ts +0 -8
  76. package/dist/esm/src/components/Pickaxe/ui/Message/StyledIconWrapper.d.ts +0 -11
  77. package/dist/esm/src/components/Pickaxe/ui/Message/StyledMessage.d.ts +0 -10
  78. package/dist/esm/src/components/Pickaxe/ui/Message/StyledMessageBubble.d.ts +0 -14
  79. package/dist/esm/src/components/Pickaxe/ui/Message/StyledMessageContainer.d.ts +0 -10
  80. package/dist/esm/src/components/Pickaxe/ui/StyledCopyButton.d.ts +0 -12
  81. package/dist/esm/src/components/Pickaxe/ui/StyledDocumentCard.d.ts +0 -25
  82. package/dist/esm/src/components/Pickaxe/ui/StyledIceBreaker.d.ts +0 -20
  83. package/dist/esm/src/components/Pickaxe/ui/StyledLoadingDots.d.ts +0 -9
  84. package/dist/esm/src/components/Pickaxe/ui/index.d.ts +0 -20
  85. package/dist/esm/src/components/Pickaxe/ui/types.d.ts +0 -5
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useMemo as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as i}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as l}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as n}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as r}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../common/PickaxeIcon.js";import m from"../../../Core/ErrorAlert.js";import d from"../../../Core/Skeleton.js";import f from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeHead.js";import x from"../../common/PickaxeCompactHead.js";import u from"../../common/PickaxeUpgradeCard.js";import h from"./Message.js";import g from"../../common/PickaxeBranding.js";import j from"../../../../common/cn.js";const w=({hideInfo:w,isInputFocused:v})=>{var N;const b=r(),k=n(),{pickaxe:y,colors:C,misc:O,isNewChat:S,isRtl:I,isEmbed:P,setChatId:L}=o(),{scrollContainerRef:E}=l(),{messages:A,status:H,limitData:R,error:$}=t(),{height:z}=i(),D=a((()=>!!b.data&&!(b.data.messages.length<=1)),[b.data]),F=a((()=>!w&&b.isSuccess&&S&&!D),[w,b.isSuccess,S,D]),B=a((()=>{var e,s;return!!A.length&&!(null!==(s=null===(e=null==A?void 0:A[A.length-1])||void 0===e?void 0:e.content)&&void 0!==s?s:"").trim()}),[A]);return e("div",Object.assign({ref:E,className:"flex w-full flex-col items-center overflow-y-auto mb-12 pb-8",style:{height:`calc(${z}px - 74px)`}},{children:s("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px] px-4"},{children:[(F||!P)&&!O.isWhiteLabel&&e(g,{className:j("absolute top-4 right-4",!F&&!P&&"top-2"),animateHover:!0}),e(p,{className:j("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",F&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxLines:2,onIconClick:()=>L("")}),P&&!b.isLoading&&e(x,{className:j("opacity-0 transition-all duration-500 ease-in-out h-0 w-full",!F&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",onIconClick:()=>L("")}),e("div",Object.assign({className:j("flex flex-col mt-6 transition-all duration-300 ease-in-out w-full",P&&!b.isLoading&&!F&&"mt-0")},{children:b.isLoading&&!(null==y?void 0:y.enablechatresponses)?s("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[S&&s("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e(d,{className:"w-[72px] h-[72px]"}),e(d,{className:"h-[20px] mt-6 w-full"}),e(d,{className:"h-[20px] mt-2 w-full"}),e(d,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e(d,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e(d,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e(d,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):b.isError?e("div",Object.assign({className:"flex w-full justify-center"},{children:s("p",Object.assign({className:j(k.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):b.data?s("div",Object.assign({className:"flex flex-col w-full"},{children:[s("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[b.data.messages.map(((s,a)=>e(h,Object.assign({index:a,message:s},0===a&&{isIntroExpand:v}),a))),A.map(((s,a)=>e(h,{index:b.data.messages.length+a,message:s},a))),"fetching"===H||B?e("div",Object.assign({className:j("flex w-full",I?"justify-end":"justify-start")},{children:e("div",Object.assign({className:"flex flex-col"},{children:s("div",Object.assign({className:j("flex gap-x-3",I&&"flex-row-reverse")},{children:["NONE"!==(null==y?void 0:y.chaticon)&&e(c,{src:null!==(N=null==y?void 0:y.chaticon)&&void 0!==N?N:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${null==y?void 0:y.formid}.png`,alt:`${null==y?void 0:y.formtitle}'s Chat Icon`,width:24,height:24,className:"my-3 h-6 w-6",textColor:C.text}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-2"},{children:Array.from({length:3}).map(((s,a)=>e("div",{className:j("h-1.5 w-1.5 animate-dot rounded-full",1===a&&"animate-dot-down"),style:{backgroundColor:C.secondaryText}},a)))}))]}))}))})):R?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e(u,{})})):$?e("div",Object.assign({className:j("flex items-center gap-x-3",I?"justify-end":"justify-start")},{children:e(m,{error:$})})):null]})),e(f,{className:"w-full"})]})):null}))]}))}))};export{w as default};
1
+ import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useMemo as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as t}from"../../../../hooks/pickaxe/useResponseContext.js";import{useDimensionContext as i}from"../../../../hooks/pickaxe/useDimensionContext.js";import{useScrollContext as l}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as n}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as r}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../common/PickaxeIcon.js";import m from"../../../Core/ErrorAlert.js";import d from"../../../Core/Skeleton.js";import p from"../../Addons/Scroll/ScrollLockView.js";import f from"../../common/PickaxeHead.js";import x from"../../common/PickaxeCompactHead.js";import u from"../../common/PickaxeUpgradeCard.js";import h from"./Message.js";import g from"../../common/PickaxeBranding.js";import j from"../../../../common/cn.js";const w=({hideInfo:w,isInputFocused:v})=>{var N;const b=r(),k=n(),{pickaxe:y,colors:C,misc:O,isNewChat:S,isRtl:I,isEmbed:P,setChatId:E}=o(),{scrollContainerRef:L}=l(),{messages:A,status:H,limitData:D,error:R}=t(),{height:$}=i(),z=a((()=>!!b.data&&!(b.data.messages.length<=1)),[b.data]),F=a((()=>!w&&b.isSuccess&&S&&!z),[w,b.isSuccess,S,z]),B=a((()=>{var e,s;return!!A.length&&!(null!==(s=null===(e=null==A?void 0:A[A.length-1])||void 0===e?void 0:e.content)&&void 0!==s?s:"").trim()}),[A]);return e("div",Object.assign({ref:L,className:"flex w-full flex-col items-center overflow-y-auto mb-12 pb-8",style:{height:`calc(${$}px - 74px)`}},{children:s("div",Object.assign({className:"relative flex flex-col items-center flex-grow w-full max-w-[800px] px-4"},{children:[(F||!P)&&!O.isWhiteLabel&&e(g,{className:j("absolute top-4 right-4",!F&&!P&&"top-2"),animateHover:!0}),e(f,{className:j("opacity-0 mt-[0%] transition-all duration-500 ease-in-out max-h-0 overflow-hidden max-w-[500px]",F&&"opacity-100 mt-[10%] max-h-[100%]"),iconClassName:"duration-300 hover:opacity-90",maxDescriptionChars:500,onIconClick:()=>E("")}),P&&!b.isLoading&&e(x,{className:j("opacity-0 transition-all duration-500 ease-in-out h-0 w-full",!F&&"opacity-100 h-[56px]"),iconClassName:"duration-300 hover:opacity-90",onIconClick:()=>E("")}),e("div",Object.assign({className:j("flex flex-col mt-6 transition-all duration-300 ease-in-out w-full",P&&!b.isLoading&&!F&&"mt-0")},{children:b.isLoading&&!(null==y?void 0:y.enablechatresponses)?s("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[S&&s("div",Object.assign({className:"flex flex-col items-center w-full"},{children:[e(d,{className:"w-[72px] h-[72px]"}),e(d,{className:"h-[20px] mt-6 w-full"}),e(d,{className:"h-[20px] mt-2 w-full"}),e(d,{className:"h-[20px] mt-2 w-full max-w-[400px]"})]})),e(d,{className:"h-10 w-[70%] animate-pulse justify-self-end rounded"}),e(d,{className:"h-[150px] w-[70%] animate-pulse rounded"}),e(d,{className:"h-10 w-[50%] animate-pulse justify-self-end rounded"})]})):b.isError?e("div",Object.assign({className:"flex w-full justify-center"},{children:s("p",Object.assign({className:j(k.b2,"text-center font-semibold")},{children:["Something went wrong. Please try again, or"," ",e("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help",target:"_blank",rel:"noreferrer"},{children:"contact us"}))," ","for help."]}))})):b.data?s("div",Object.assign({className:"flex flex-col w-full"},{children:[s("div",Object.assign({className:"grid grid-cols-1 gap-y-6 w-full"},{children:[b.data.messages.map(((s,a)=>e(h,Object.assign({index:a,message:s},0===a&&{isIntroExpand:v}),a))),A.map(((s,a)=>e(h,{index:b.data.messages.length+a,message:s},a))),"fetching"===H||B?e("div",Object.assign({className:j("flex w-full",I?"justify-end":"justify-start")},{children:e("div",Object.assign({className:"flex flex-col"},{children:s("div",Object.assign({className:j("flex gap-x-3",I&&"flex-row-reverse")},{children:["NONE"!==(null==y?void 0:y.chaticon)&&e(c,{src:null!==(N=null==y?void 0:y.chaticon)&&void 0!==N?N:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${null==y?void 0:y.formid}.png`,alt:`${null==y?void 0:y.formtitle}'s Chat Icon`,width:24,height:24,className:"my-3 h-6 w-6",textColor:C.text}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-2"},{children:Array.from({length:3}).map(((s,a)=>e("div",{className:j("h-1.5 w-1.5 animate-dot rounded-full",1===a&&"animate-dot-down"),style:{backgroundColor:C.secondaryText}},a)))}))]}))}))})):D?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e(u,{})})):R?e("div",Object.assign({className:j("flex items-center gap-x-3",I?"justify-end":"justify-start")},{children:e(m,{error:R})})):null]})),e(p,{className:"w-full"})]})):null}))]}))}))};export{w as default};
@@ -1 +1 @@
1
- import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useState as r,useRef as i,useMemo as n,useEffect as l,Fragment as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as u}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as f}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{useHover as b}from"../../../hooks/core/useHover.js";import{formatBytes as v}from"../../../common/utils.js";import{allowedFileMimeTypes as x,allowedImageMimeTypes as y}from"../../../common/documents.js";import{createParser as j}from"eventsource-parser";import k from"../../Icons/attach-vertical.svg.js";import w from"../../Icons/spinner-lines.svg.js";import N from"../../Icons/file.svg.js";import I from"../../Icons/x.svg.js";import O from"../../Icons/arrow-right.svg.js";import C from"../Addons/IceBreaker/index.js";import S from"../../Core/Textarea.js";import R from"../../../common/error.js";import A from"../../../common/cn.js";const T=({isFocused:T,onFocus:U,onBlur:B})=>{var D;const{formId:F,chatId:E,userId:H,studioUserId:z,embedUserId:L,deploymentId:$,pickaxe:G,styles:J,colors:K,responsiveBy:P,isNewChat:W,isRtl:_,setIsNewChat:M,setIsShowIceBreaker:q,onGenerateComplete:Q}=c(),{messages:V,status:X,limits:Y,isGenerating:Z,setMessages:ee,setStatus:te,setLimitData:se,setError:oe}=d(),{documents:re,isUploading:ie,isImageUploadAllowed:ne,setDocuments:le,onFileUpload:ae}=h(),{scrollStartSession:ce,scrollEndSession:de,scrollToBottom:ue}=g({auto:!0}),me=p(),pe=f(),[fe,he]=r(""),ge=i(null),be=b(),{isHover:ve}=be,xe=e(be,["isHover"]),ye=b(),{isHover:je}=ye,ke=e(ye,["isHover"]),we=m(),Ne=u(),Ie=n((()=>{var e,t,s;return!!W&&(!!G&&(!me.isLoading&&(!((null!==(t=null===(e=me.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&!!(null===(s=G.icebreakers)||void 0===s?void 0:s.length))))}),[G,W,me.data,me.isLoading]),Oe=e=>t(void 0,void 0,void 0,(function*(){try{if("idle"!==X||ie)return;const t=null!=e?e:fe;if(!t)return;oe(""),se(null),he(""),M(!1),te("fetching"),ce(),ue();const s=re.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),o=s.length?s[s.length-1].documentId:"",r="enduserupload"===(null==G?void 0:G.documentuploadtype)&&o,i=[...Array.from(V),Object.assign({id:V.length+1,role:"user",content:t},r&&{documentIds:[o]})];ee(i),ue(),r&&le([]);const n=(yield pe.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:F,responseId:E,value:t},r&&{documentId:o}),H&&{userId:H}),z&&{studioUserId:z}),L&&{embedUserId:L}),$&&{deploymentId:$}))).body;if(!n)throw new Error("Streaming error");const l=i.length,a=new TextDecoder,c=n.getReader();let d="",u=!0,m=!1;const p=j({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=t,ee([...i.slice(0,l),{id:V.length+1,role:"assistant",content:d}])}else if("error"===e.event){const t=JSON.parse(e.data);oe(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(u=!1)}});for(;u;){const{value:e,done:t}=yield c.read();if(t){u=!1;break}const s=a.decode(e);s&&(m||(te("streaming"),m=!0),p.feed(s))}null==Q||Q(E)}catch(e){let t=R(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(Y).find((([e])=>t.includes(e)));s?se(s[1]):oe(t)}finally{ue(),te("idle"),de()}}));return l((()=>{q(Ie)}),[Ie]),s("div",Object.assign({className:"px-4 pb-4 w-full flex flex-col items-center absolute bottom-0 left-0 z-1",dir:_?"rtl":"ltr"},{children:o("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[s("div",Object.assign({className:A("absolute bottom-full",_?"left-0":"right-0")},{children:s("div",Object.assign({className:A("flex flex-col gap-2 pb-4 px-2",_?"justify-start":"justify-end","viewport"===P?_?"min-[767px]:items-start":"min-[767px]:items-end":_?"@[767px]/pickaxe-root:items-start":"@[767px]/pickaxe-root:items-end")},{children:Ie&&!T&&s(C,{data:(null==G?void 0:G.icebreakers)||[],onSend:Oe})}))})),o("div",Object.assign({className:A("flex flex-col gap-y-2 px-4 py-3","block"===J.formFieldStyle&&"shadow"),style:Ne},{children:["idle"===X&&re.length>0&&s("div",Object.assign({className:A("grid grid-cols-1","viewport"===P?"min-[765px]:grid-cols-2":"@[767px]/pickaxe-root:grid-cols-2")},{children:re.map((e=>{var t,r,i;return s(a,{children:"document"===e.type?o("div",Object.assign({className:A("relative gap-x-[10px] flex items-center px-2 h-[56px] border",_&&"flex-row-reverse"),style:{borderRadius:Ne.borderRadius,borderColor:K.secondaryText+"50"}},{children:[s("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:{backgroundColor:K.accent,borderRadius:Ne.borderRadius}},{children:ie?s(w,{className:"w-5 h-5 animate-spin",style:{color:K.accentText}}):s(N,{className:"w-5 h-5",style:{color:K.accentText}})})),o("div",Object.assign({className:A("flex flex-col justify-center truncate",_?"text-right items-end":"text-left items-start")},{children:[s("p",Object.assign({className:(A(we.b3),"font-medium truncate")},{children:e.name})),s("p",Object.assign({className:A(we.b4,"opacity-80 truncate")},{children:v(e.size)}))]})),s("button",Object.assign({type:"button",className:A("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center border outline-none disabled:cursor-default",_?"-left-2 right-auto":"-right-2 left-auto"),style:{backgroundColor:K.accent,borderColor:Ne.backgroundColor},disabled:ie||"idle"!==X,onClick:()=>le([])},{children:s(I,{className:"w-4 h-4",style:{color:K.accentText}})}))]})):"image"===e.type?o("div",Object.assign({className:"relative h-[56px] w-[56px] bg-stone-100",style:{borderRadius:Ne.borderRadius}},{children:["finished"===e.status?s("img",{style:{borderRadius:Ne.borderRadius},className:"object-cover w-full h-full",src:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/documentinterrogation/${null===(t=e.documentId)||void 0===t?void 0:t.split("-")[2]}/${null===(r=e.documentId)||void 0===r?void 0:r.split("-")[1]}.${null===(i=e.documentId)||void 0===i?void 0:i.split("-")[2]}`,alt:""}):s("div",{className:"h-full w-full animate-pulse",style:{borderRadius:Ne.borderRadius,backgroundColor:K.secondary}}),s("button",Object.assign({type:"button",className:A("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center border outline-none disabled:cursor-default",_?"-left-2 right-auto":"-right-2 left-auto"),style:{backgroundColor:K.accent,borderColor:Ne.backgroundColor},disabled:ie||"idle"!==X,onClick:()=>le([])},{children:s(I,{className:"w-4 h-4",style:{color:K.accentText}})}))]})):null},e.id)}))})),o("div",Object.assign({className:A("flex items-end gap-x-2",_&&"flex-row-reverse")},{children:[s(S,{className:A(we.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!fe.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",_?"text-right":"text-left"),value:fe,placeholder:_?"بماذا تريد أن تتحدث؟":null!==(D=null==G?void 0:G.placeholdertext)&&void 0!==D?D:"What do you want to talk about?",onChange:e=>he(e),onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ie||"idle"!==X||Oe()))},onFocus:U,onBlur:B,dir:_?"rtl":"ltr"}),o("div",Object.assign({className:A("flex items-center gap-x-2")},{children:["enduserupload"===(null==G?void 0:G.documentuploadtype)&&o("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:je?K.accent+"10":void 0},disabled:ie||"idle"!==X,onClick:()=>{var e;return null===(e=ge.current)||void 0===e?void 0:e.click()}},ke,{children:[s("input",{id:"file-upload",ref:ge,type:"file",accept:[...x,...ne?y:[]].join(", "),multiple:!1,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){yield ae(Array.from(e.target.files||[])),e.target.value=""}))}),s(k,{className:"h-6 w-6 shrink-0 duration-200 transition-colors ease-in-out",style:{color:je?K.accent:K.accent+"80"}})]})),s("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:(ve||fe.length||re.length&&re.every((e=>"finished"===e.status)))&&!Z?K.accent:K.accent+"10"},disabled:ie||"idle"!==X,onClick:()=>Oe()},xe,{children:s(O,{className:A("h-6 w-6 shrink-0 duration-200 transition-colors ease-in-out",_&&"transform scale-x-[-1]"),style:{color:(ve||fe.length||re.length&&re.every((e=>"finished"===e.status)))&&!Z?K.accentText:K.accent+"80"}})}))]}))]}))]}))]}))}))};export{T as default};
1
+ import{__rest as e,__awaiter as t}from"../../../_virtual/_tslib.js";import{jsx as s,jsxs as o}from"react/jsx-runtime";import{useState as r,useRef as i,useMemo as n,useEffect as l,Fragment as a}from"react";import{usePickaxeContext as c}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as u}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as p}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as f}from"../../../hooks/pickaxe/useSubmit.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{useHover as b}from"../../../hooks/core/useHover.js";import{formatBytes as v}from"../../../common/utils.js";import{allowedFileMimeTypes as x,allowedImageMimeTypes as y}from"../../../common/documents.js";import{createParser as j}from"eventsource-parser";import k from"../../Icons/attach-vertical.svg.js";import w from"../../Icons/spinner-lines.svg.js";import N from"../../Icons/file.svg.js";import I from"../../Icons/x.svg.js";import O from"../../Icons/arrow-right.svg.js";import C from"../Addons/IceBreaker/index.js";import S from"../../Core/Textarea.js";import R from"../../../common/error.js";import T from"../../../common/cn.js";const A=({isFocused:A,onFocus:U,onBlur:B})=>{var D;const{formId:F,chatId:E,userId:H,studioUserId:z,embedUserId:L,deploymentId:$,deploymentType:G,pickaxe:J,styles:K,colors:P,responsiveBy:W,isNewChat:_,isRtl:M,setIsNewChat:q,setIsShowIceBreaker:Q,onGenerateComplete:V}=c(),{messages:X,status:Y,limits:Z,isGenerating:ee,setMessages:te,setStatus:se,setLimitData:oe,setError:re}=d(),{documents:ie,isUploading:ne,isImageUploadAllowed:le,setDocuments:ae,onFileUpload:ce}=h(),{scrollStartSession:de,scrollEndSession:ue,scrollToBottom:me}=g({auto:!0}),pe=p(),fe=f(),[he,ge]=r(""),be=i(null),ve=b(),{isHover:xe}=ve,ye=e(ve,["isHover"]),je=b(),{isHover:ke}=je,we=e(je,["isHover"]),Ne=m(),Ie=u(),Oe=n((()=>{var e,t,s;return!!_&&(!!J&&(!pe.isLoading&&(!((null!==(t=null===(e=pe.data)||void 0===e?void 0:e.messages.length)&&void 0!==t?t:0)>1)&&!!(null===(s=J.icebreakers)||void 0===s?void 0:s.length))))}),[J,_,pe.data,pe.isLoading]),Ce=e=>t(void 0,void 0,void 0,(function*(){try{if("idle"!==Y||ne)return;const t=null!=e?e:he;if(!t)return;re(""),oe(null),ge(""),q(!1),se("fetching"),de(),me();const s=ie.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),o=s.length?s[s.length-1].documentId:"",r="enduserupload"===(null==J?void 0:J.documentuploadtype)&&o,i=[...Array.from(X),Object.assign({id:X.length+1,role:"user",content:t},r&&{documentIds:[o]})];te(i),me(),r&&ae([]);const n=(yield fe.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({formId:F,responseId:E,value:t},r&&{documentId:o}),H&&{userId:H}),z&&{studioUserId:z}),L&&{embedUserId:L}),$&&{deploymentId:$}))).body;if(!n)throw new Error("Streaming error");const l=i.length,a=new TextDecoder,c=n.getReader();let d="",u=!0,m=!1;const p=j({onEvent:e=>{if("delta"===e.event){const t=JSON.parse(e.data).token.replace(/\u200B/g,"");d+=t,te([...i.slice(0,l),{id:X.length+1,role:"assistant",content:d}])}else if("error"===e.event){const t=JSON.parse(e.data);re(t.error||"Something went wrong, please try again.")}else"stop"===e.event&&(u=!1)}});for(;u;){const{value:e,done:t}=yield c.read();if(t){u=!1;break}const s=a.decode(e);s&&(m||(se("streaming"),m=!0),p.feed(s))}null==V||V(E)}catch(e){let t=R(e)||"";t&&!t.includes("Unexpected token 'A',")||(t="Oops! We're experiencing high traffic at the moment. Please try again later.");const s=Object.entries(Z).find((([e])=>t.includes(e)));s?oe(s[1]):re(t)}finally{me(),se("idle"),ue()}}));return l((()=>{Q(Oe)}),[Oe]),s("div",Object.assign({className:T("w-full flex flex-col items-center absolute bottom-0 left-0 z-1",!("chat-input"===G&&_)&&"px-4 pb-4"),dir:M?"rtl":"ltr"},{children:o("div",Object.assign({className:"relative flex flex-col max-w-[800px] w-full"},{children:[!("chat-input"===G&&_)&&s("div",Object.assign({className:T("absolute bottom-full",M?"left-0":"right-0")},{children:s("div",Object.assign({className:T("flex flex-col gap-2 pb-4 px-2",M?"justify-start":"justify-end","viewport"===W?M?"min-[767px]:items-start":"min-[767px]:items-end":M?"@[767px]/pickaxe-root:items-start":"@[767px]/pickaxe-root:items-end")},{children:Oe&&!A&&s(C,{data:(null==J?void 0:J.icebreakers)||[],onSend:Ce})}))})),o("div",Object.assign({className:T("flex flex-col gap-y-2 px-4 py-3","block"===K.formFieldStyle&&"shadow"),style:Ie},{children:["idle"===Y&&ie.length>0&&s("div",Object.assign({className:T("grid grid-cols-1","viewport"===W?"min-[765px]:grid-cols-2":"@[767px]/pickaxe-root:grid-cols-2")},{children:ie.map((e=>{var t,r,i;return s(a,{children:"document"===e.type?o("div",Object.assign({className:T("relative gap-x-[10px] flex items-center px-2 h-[56px] border",M&&"flex-row-reverse"),style:{borderRadius:Ie.borderRadius,borderColor:P.secondaryText+"50"}},{children:[s("div",Object.assign({className:"w-10 h-10 flex items-center justify-center shrink-0",style:{backgroundColor:P.accent,borderRadius:Ie.borderRadius}},{children:ne?s(w,{className:"w-5 h-5 animate-spin",style:{color:P.accentText}}):s(N,{className:"w-5 h-5",style:{color:P.accentText}})})),o("div",Object.assign({className:T("flex flex-col justify-center truncate",M?"text-right items-end":"text-left items-start")},{children:[s("p",Object.assign({className:(T(Ne.b3),"font-medium truncate")},{children:e.name})),s("p",Object.assign({className:T(Ne.b4,"opacity-80 truncate")},{children:v(e.size)}))]})),s("button",Object.assign({type:"button",className:T("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center border outline-none disabled:cursor-default",M?"-left-2 right-auto":"-right-2 left-auto"),style:{backgroundColor:P.accent,borderColor:Ie.backgroundColor},disabled:ne||"idle"!==Y,onClick:()=>ae([])},{children:s(I,{className:"w-4 h-4",style:{color:P.accentText}})}))]})):"image"===e.type?o("div",Object.assign({className:"relative h-[56px] w-[56px] bg-stone-100",style:{borderRadius:Ie.borderRadius}},{children:["finished"===e.status?s("img",{style:{borderRadius:Ie.borderRadius},className:"object-cover w-full h-full",src:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/documentinterrogation/${null===(t=e.documentId)||void 0===t?void 0:t.split("-")[2]}/${null===(r=e.documentId)||void 0===r?void 0:r.split("-")[1]}.${null===(i=e.documentId)||void 0===i?void 0:i.split("-")[2]}`,alt:""}):s("div",{className:"h-full w-full animate-pulse",style:{borderRadius:Ie.borderRadius,backgroundColor:P.secondary}}),s("button",Object.assign({type:"button",className:T("absolute w-5 h-5 rounded-full -top-2 flex items-center justify-center border outline-none disabled:cursor-default",M?"-left-2 right-auto":"-right-2 left-auto"),style:{backgroundColor:P.accent,borderColor:Ie.backgroundColor},disabled:ne||"idle"!==Y,onClick:()=>ae([])},{children:s(I,{className:"w-4 h-4",style:{color:P.accentText}})}))]})):null},e.id)}))})),o("div",Object.assign({className:T("flex items-end gap-x-2",M&&"flex-row-reverse")},{children:[s(S,Object.assign({className:T(Ne.i1,"max-h-60 min-h-[27px] w-full border-transparent bg-transparent",!he.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap",M?"text-right":"text-left"),value:he,placeholder:M?"بماذا تريد أن تتحدث؟":null!==(D=null==J?void 0:J.placeholdertext)&&void 0!==D?D:"What do you want to talk about?",onChange:e=>ge(e),onKeyDown:e=>{"Enter"===e.key&&(e.shiftKey||(e.preventDefault(),ne||"idle"!==Y||Ce()))}},U&&{onFocus:U},B&&{onBlur:B},{dir:M?"rtl":"ltr"})),o("div",Object.assign({className:T("flex items-center gap-x-2")},{children:["enduserupload"===(null==J?void 0:J.documentuploadtype)&&o("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full transition-colors duration-200 ease-in-out",style:{backgroundColor:ke?P.accent+"10":void 0},disabled:ne||"idle"!==Y,onClick:()=>{var e;return null===(e=be.current)||void 0===e?void 0:e.click()}},we,{children:[s("input",{id:"file-upload",ref:be,type:"file",accept:[...x,...le?y:[]].join(", "),multiple:!1,hidden:!0,className:"hidden",onChange:e=>t(void 0,void 0,void 0,(function*(){q(!1),yield ce(Array.from(e.target.files||[])),e.target.value=""}))}),s(k,{className:"h-6 w-6 shrink-0 duration-200 transition-colors ease-in-out",style:{color:ke?P.accent:P.accent+"80"}})]})),s("button",Object.assign({className:"outline-none disabled:cursor-default w-8 h-8 flex items-center justify-center rounded-full duration-200 transition-colors ease-in-out",style:{backgroundColor:(xe||he.length||ie.length&&ie.every((e=>"finished"===e.status)))&&!ee?P.accent:P.accent+"10"},disabled:ne||"idle"!==Y,onClick:()=>Ce()},ye,{children:s(O,{className:T("h-6 w-6 shrink-0 duration-200 transition-colors ease-in-out",M&&"transform scale-x-[-1]"),style:{color:(xe||he.length||ie.length&&ie.every((e=>"finished"===e.status)))&&!ee?P.accentText:P.accent+"80"}})}))]}))]}))]}))]}))}))};export{A as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as o,useRef as r,useEffect as n}from"react";import{useDimensionContext as s}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as i}from"../Addons/Document/hooks/useDocument.js";import c from"./History/index.js";import m from"./Input.js";const u=()=>{const{width:u,height:f,setDimension:d}=s(),{setDocuments:p}=i(),[a,h]=o(!1),l=r(null);return n((()=>()=>{p([])}),[]),n((()=>{if(!l.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;d(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(l.current),()=>{e.disconnect()}}),[l.current]),e("div",Object.assign({ref:l,className:"flex flex-grow flex-col items-center"},{children:[t(c,{hideInfo:f<=545||u<=500||a,isInputFocused:a}),t(m,{isFocused:a,onFocus:()=>h(!0),onBlur:()=>h(!1)})]}))};export{u as default};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useState as o,useRef as s,useEffect as r}from"react";import{usePickaxeContext as n}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useDimensionContext as i}from"../../../hooks/pickaxe/useDimensionContext.js";import{useDocument as c}from"../Addons/Document/hooks/useDocument.js";import m from"./History/index.js";import u from"./Input.js";const f=()=>{const{deploymentType:f,isNewChat:a}=n(),{width:l,height:d,setDimension:p}=i(),{setDocuments:x}=c(),[h,j]=o(!1),g=s(null);return r((()=>()=>{x([])}),[]),r((()=>{if(!g.current)return;const e=new ResizeObserver((e=>{for(const t of e){const{width:e,height:o}=t.contentRect;p(parseInt(e.toFixed(0)),parseInt(o.toFixed(0)))}}));return e.observe(g.current),()=>{e.disconnect()}}),[g.current]),"chat-input"===f&&a?e("div",Object.assign({className:"relative flex flex-grow flex-col items-center"},{children:e(u,{})})):t("div",Object.assign({ref:g,className:"flex flex-grow flex-col items-center"},{children:[e(m,{hideInfo:d<=545||l<=500||h,isInputFocused:h}),e(u,{isFocused:h,onFocus:()=>j(!0),onBlur:()=>j(!1)})]}))};export{f as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as o}from"react";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as i}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{format as r}from"date-fns";import{PickaxeMarkdown as a}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as c}from"../../common/PickaxeMarkdown/Renderer.js";import m from"../../../Icons/message-square-notes.svg.js";import d from"../../../Icons/visitor.svg.js";import p from"../../common/PickaxeIcon.js";import h from"../../common/PickaxeSimpleButton.js";import u from"../../common/PickaxeCopyButton.js";import f from"../../../../common/cn.js";const g=({item:g})=>{const{pickaxe:x,styles:v,colors:b,misc:j,translations:k,isRtl:y,setChatId:w,setIsNewChat:N}=t(),{setMessages:O}=n(),{setDocuments:C}=l(),I=i(),M=o((()=>r(g.createdAt,"hh:mm a MMM dd, yy")),[g]),P=o((()=>g&&g.messages?g.messages.length:0),[g]),$=o((()=>{var e,s,o,t;if("form"===g.type){return(null!==(e=g.questions)&&void 0!==e?e:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||"n/a"}</p>\n</div>`)).join("")}return null!==(t=null===(o=null===(s=g.messages)||void 0===s?void 0:s[0])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[g]),S=o((()=>{var e,s,o,t;return"form"===g.type?null!==(e=g.questionResponse)&&void 0!==e?e:"":null!==(t=null===(o=null===(s=g.messages)||void 0===s?void 0:s[1])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[g]);return e("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:b.primary,color:b.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(d,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-1.5 scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[s("input",{id:`${g.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:$.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:$}}),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:f(I.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold peer-checked:hidden hover:cursor-pointer"),style:{color:b.accent}},{children:(null==k?void 0:k["see-input"])||"See input"})),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:f(I.b3,"hidden shrink-0 whitespace-nowrap font-semibold peer-checked:flex hover:cursor-pointer"),style:{color:b.accent}},{children:(null==k?void 0:k["hide-input"])||"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:b.secondary,color:b.secondaryText}},{children:[j.isChatImage&&s(p,{src:null==x?void 0:x.chaticon,alt:`${null==x?void 0:x.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:b.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(a,Object.assign({theme:v.theme,accentColor:b.accent,actions:!0},y&&{rtl:!0},{children:s(c,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:S})})),e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==x?void 0:x.enablechatresponses)&&e(h,Object.assign({color:b.accent,onClick:()=>{return e=g.responseId,C([]),O([]),N(!1),void w(e);var e}},{children:[s(m,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:f(I.b3,"font-semibold")},{children:P+1}))]})),s(u,{color:b.accent,text:S})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:f(I.b3,"font-semibold uppercase opacity-30")},{children:M}))}))]}))]}))]}))]}))};export{g as default};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as o}from"react";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as l}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as n}from"../../Addons/Document/hooks/useDocument.js";import{format as a}from"date-fns";import{PickaxeMarkdown as r}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as c}from"../../common/PickaxeMarkdown/Renderer.js";import d from"../../../Icons/message-square-notes.svg.js";import m from"../../../Icons/visitor.svg.js";import p from"../../common/PickaxeIcon.js";import h from"../../common/PickaxeSimpleButton.js";import u from"../../common/PickaxeCopyButton.js";import f from"../../../../common/cn.js";const g=({item:g})=>{const{pickaxe:x,styles:b,colors:v,misc:j,translations:k,disableHtml:y,disableJs:w,disableCss:N,isRtl:C,setChatId:O,setIsNewChat:I}=t(),{setMessages:M}=i(),{setDocuments:P}=n(),$=l(),S=o((()=>a(g.createdAt,"hh:mm a MMM dd, yy")),[g]),q=o((()=>g&&g.messages?g.messages.length:0),[g]),A=o((()=>{var e,s,o,t;if("form"===g.type){return(null!==(e=g.questions)&&void 0!==e?e:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||"n/a"}</p>\n</div>`)).join("")}return null!==(t=null===(o=null===(s=g.messages)||void 0===s?void 0:s[0])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[g]),H=o((()=>{var e,s,o,t;return"form"===g.type?null!==(e=g.questionResponse)&&void 0!==e?e:"":null!==(t=null===(o=null===(s=g.messages)||void 0===s?void 0:s[1])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[g]);return e("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:v.primary,color:v.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(m,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-1.5 scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[s("input",{id:`${g.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:A.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:A}}),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:f($.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold peer-checked:hidden hover:cursor-pointer"),style:{color:v.accent}},{children:(null==k?void 0:k["see-input"])||"See input"})),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:f($.b3,"hidden shrink-0 whitespace-nowrap font-semibold peer-checked:flex hover:cursor-pointer"),style:{color:v.accent}},{children:(null==k?void 0:k["hide-input"])||"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:v.secondary,color:v.secondaryText}},{children:[j.isChatImage&&s(p,{src:null==x?void 0:x.chaticon,alt:`${null==x?void 0:x.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:v.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(r,Object.assign({theme:b.theme,accentColor:v.accent,actions:!0},C&&{rtl:!0},y&&{disableHtml:!0},w&&{disableJs:!0},N&&{disableCss:!0},{children:s(c,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:H})})),e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==x?void 0:x.enablechatresponses)&&e(h,Object.assign({color:v.accent,onClick:()=>{return e=g.responseId,P([]),M([]),I(!1),void O(e);var e}},{children:[s(d,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:f($.b3,"font-semibold")},{children:q+1}))]})),s(u,{color:v.accent,text:H})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:f($.b3,"font-semibold uppercase opacity-30")},{children:S}))}))]}))]}))]}))]}))};export{g as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useMemo as s}from"react";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useScrollContext as r}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as i}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{PickaxeMarkdown as c}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as a}from"../../common/PickaxeMarkdown/Renderer.js";import{format as m}from"date-fns";import d from"../../../Icons/message-square-notes.svg.js";import p from"../../../Icons/visitor.svg.js";import h from"../../common/PickaxeIcon.js";import f from"../../common/PickaxeCopyButton.js";import u from"../../common/PickaxeSimpleButton.js";import x from"../../Addons/Scroll/ScrollLockView.js";import b from"../../../../common/cn.js";const g=()=>{var g;const{pickaxe:v,styles:j,colors:k,misc:y,translations:w,isRtl:N,setChatId:C,setIsNewChat:O}=t(),{response:I}=n(),{scrollTargetRef:S}=r(),{setDocuments:D}=l(),M=i(),P=s((()=>m(I?I.sentAt:new Date,"hh:mm a MMM dd, yy")),[I]),R=s((()=>{var e;if(!I)return"";return(null!==(e=I.questions)&&void 0!==e?e:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||"n/a"}</p>\n</div>`)).join("")}),[I]);return I?e("div",Object.assign({ref:S,className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:k.primary,color:k.text}},{children:[o("div",Object.assign({className:"shrink-0 pt-1"},{children:o(p,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar scrollbar-thin"},{children:[o("input",{id:`${I.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:R.length<280}),o("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:R}}),o("label",Object.assign({htmlFor:`${I.responseId}-input`,className:b(M.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer"),style:{color:k.accent}},{children:(null==w?void 0:w["see-input"])||"See input"})),o("label",Object.assign({htmlFor:`${I.responseId}-input`,className:b(M.b3,"hidden shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer"),style:{color:k.accent}},{children:(null==w?void 0:w["hide-input"])||"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:k.secondary,color:k.secondaryText}},{children:[y.isChatImage&&o(h,{src:null==v?void 0:v.chaticon,alt:`${null==v?void 0:v.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:k.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[o(c,Object.assign({theme:j.theme,accentColor:k.accent,actions:!0},N&&{rtl:!0},{children:o(a,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:I.questionResponse})})),e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==v?void 0:v.enablechatresponses)&&e(u,Object.assign({color:k.accent,onClick:()=>{return e=I.responseId,D([]),O(!1),void C(e);var e}},{children:[o(d,{className:"pxe-h-4 pxe-w-4 pxe-shrink-0"}),o("p",Object.assign({className:b(M.b3,"pxe-font-semibold")},{children:I.messageCount+1}))]})),o(f,{color:k.accent,text:null!==(g=I.questionResponse)&&void 0!==g?g:""})]})),o("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:o("p",Object.assign({className:b(M.b3,"font-semibold uppercase opacity-30")},{children:P}))}))]}))]}))]})),o(x,{className:"w-full"})]})):null};export{g as default};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as o}from"react";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as n}from"../../../../hooks/pickaxe/useResponseContext.js";import{useScrollContext as i}from"../../Addons/Scroll/hooks/useScrollContext.js";import{useStyleFontSize as l}from"../../../../hooks/studio/useStyleFontSize.js";import{useDocument as r}from"../../Addons/Document/hooks/useDocument.js";import{PickaxeMarkdown as a}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as c}from"../../common/PickaxeMarkdown/Renderer.js";import{format as m}from"date-fns";import d from"../../../Icons/message-square-notes.svg.js";import p from"../../../Icons/visitor.svg.js";import h from"../../common/PickaxeIcon.js";import f from"../../common/PickaxeCopyButton.js";import u from"../../common/PickaxeSimpleButton.js";import x from"../../Addons/Scroll/ScrollLockView.js";import b from"../../../../common/cn.js";const g=()=>{var g;const{pickaxe:v,styles:j,colors:k,misc:y,translations:w,disableHtml:N,disableJs:C,disableCss:O,isRtl:I,setChatId:S,setIsNewChat:D}=t(),{response:M}=n(),{scrollTargetRef:P}=i(),{setDocuments:R}=r(),$=l(),q=o((()=>m(M?M.sentAt:new Date,"hh:mm a MMM dd, yy")),[M]),A=o((()=>{var e;if(!M)return"";return(null!==(e=M.questions)&&void 0!==e?e:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||"n/a"}</p>\n</div>`)).join("")}),[M]);return M?e("div",Object.assign({ref:P,className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:k.primary,color:k.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(p,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar scrollbar-thin"},{children:[s("input",{id:`${M.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:A.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:A}}),s("label",Object.assign({htmlFor:`${M.responseId}-input`,className:b($.b3,"mt-1 flex shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer"),style:{color:k.accent}},{children:(null==w?void 0:w["see-input"])||"See input"})),s("label",Object.assign({htmlFor:`${M.responseId}-input`,className:b($.b3,"hidden shrink-0 whitespace-nowrap font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer"),style:{color:k.accent}},{children:(null==w?void 0:w["hide-input"])||"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:k.secondary,color:k.secondaryText}},{children:[y.isChatImage&&s(h,{src:null==v?void 0:v.chaticon,alt:`${null==v?void 0:v.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:k.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(a,Object.assign({theme:j.theme,accentColor:k.accent,actions:!0},I&&{rtl:!0},N&&{disableHtml:!0},C&&{disableJs:!0},O&&{disableCss:!0},{children:s(c,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:M.questionResponse})})),e("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==v?void 0:v.enablechatresponses)&&e(u,Object.assign({color:k.accent,onClick:()=>{return e=M.responseId,R([]),D(!1),void S(e);var e}},{children:[s(d,{className:"pxe-h-4 pxe-w-4 pxe-shrink-0"}),s("p",Object.assign({className:b($.b3,"pxe-font-semibold")},{children:M.messageCount+1}))]})),s(f,{color:k.accent,text:null!==(g=M.questionResponse)&&void 0!==g?g:""})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:b($.b3,"font-semibold uppercase opacity-30")},{children:q}))}))]}))]}))]})),s(x,{className:"w-full"})]})):null};export{g as default};
@@ -1 +1 @@
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
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as o}from"react/jsx-runtime";import{createContext as i,useState as s,useEffect as t}from"react";import r from"./Addons/Document/Provider.js";import n from"./ResponseProvider.js";import d from"./DimensionProvider.js";const l=i({}),a=({children:i,userId:a="",studioUserId:c="",deploymentId:m="",embedUserId:p="",deploymentType:f,deploymentDimensions:b,deploymentMisc:y,styles:h,colors:u,limits:F={},misc:I={isWhiteLabel:!0,isProfileImage:!0,isChatImage:!0,isTitle:!0,isDescription:!0,isHistory:!0},translations:g,responsiveBy:v="viewport",forceMobile:w=!1,disableHtml:x=!1,disableJs:P=!1,disableCss:j=!1,loadFont:D=!0,isRtl:S=!1,isEmbed:k=!1,isDropShadow:C=!1,onGenerateComplete:H})=>{const[O,R]=s(""),[T,U]=s(""),[B,L]=s(null),[M,E]=s(!1),[N,A]=s(!0),[G,J]=s(!0);return t((()=>{E(!1)}),[null==h?void 0:h.font]),t((()=>{e(void 0,void 0,void 0,(function*(){if("undefined"!=typeof window&&D&&!M&&(null==h?void 0:h.font)&&"Real Head Pro"!==h.font)try{(yield import("webfontloader")).default.load({google:{families:[h.font]},active:()=>{E(!0)},inactive:()=>{console.error("[pxe] failed to load font {styles.font}"),E(!0)}})}catch(e){console.error("[pxe] failed to load font:",e),E(!0)}}))}),[D,M,null==h?void 0:h.font]),o(l.Provider,Object.assign({value:Object.assign({formId:O,chatId:T,userId:a,studioUserId:c,embedUserId:p,deploymentId:m,deploymentType:f,deploymentDimensions:b,deploymentMisc:y,pickaxe:B,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"},u),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"},g),responsiveBy:v,forceMobile:w,loadFont:D,disableHtml:x,disableJs:P,disableCss:j,isFontLoaded:M,isNewChat:N,isShowIceBreaker:G,isRtl:S,isEmbed:k,isDropShadow:C,setIsFontLoaded:E,setFormId:R,setChatId:U,setPickaxe:L,setIsNewChat:A,setIsShowIceBreaker:J},H&&{onGenerateComplete:H})},{children:o(n,Object.assign({limits:F},{children:o(d,{children:o(r,{children:i})})}))}))};export{l as PickaxeContext,a as PickaxeProvider};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as i}from"react/jsx-runtime";import{useState as o,useMemo as t}from"react";import{usePickaxeContext as s}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as r}from"../../../hooks/studio/useStyleFontSize.js";import{PickaxeMarkdownRenderer as c}from"./PickaxeMarkdown/Renderer.js";import n from"./PickaxeIcon.js";import l from"./PickaxeInfoModal.js";import{PickaxeMarkdown as a}from"./PickaxeMarkdown/index.js";import m from"../../../common/cn.js";const p=({className:p,iconClassName:d,maxLines:f,onIconClick:x})=>{const{pickaxe:h,styles:u,colors:k,misc:j,isRtl:g}=s(),[v,P]=o(!1),C=r(),O=t((()=>({title:(null==h?void 0:h.formtitle)||"",description:(null==h?void 0:h.formdescription)||""})),[h]);return e("div",Object.assign({className:m("flex flex-col items-center",p)},{children:[v&&i(l,{isOpen:v,onChangeIsOpen:P}),j.isProfileImage&&i(n,Object.assign({src:null==h?void 0:h.coverphoto,alt:`${null==h?void 0:h.formtitle}'s Profile Picture`,width:72,height:72,className:m("h-[72px] w-[72px] rounded-full",d,!!x&&"cursor-pointer")},x&&{onClick:x})),j.isTitle&&!!O.title&&i("h2",Object.assign({className:m(C.h2,"mt-6 text-center font-semilight opacity-90",!f&&"line-clamp-2")},{children:null==h?void 0:h.formtitle})),j.isDescription&&!!O.description&&i(a,Object.assign({theme:u.theme,accentColor:k.accent},g&&{rtl:!0},{children:i(c,Object.assign({className:"mt-2 text-center",value:O.description},f&&{maxLines:f},{onExpandClick:()=>P(!0)}))}))]}))};export{p as default};
1
+ import{jsxs as e,jsx as i}from"react/jsx-runtime";import{useState as s,useMemo as t}from"react";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as r}from"../../../hooks/studio/useStyleFontSize.js";import{PickaxeMarkdownRenderer as l}from"./PickaxeMarkdown/Renderer.js";import c from"./PickaxeIcon.js";import n from"./PickaxeInfoModal.js";import{PickaxeMarkdown as a}from"./PickaxeMarkdown/index.js";import m from"../../../common/cn.js";const d=({className:d,iconClassName:p,maxDescriptionChars:f,onIconClick:x})=>{const{pickaxe:h,styles:u,colors:k,misc:j,disableHtml:b,disableJs:C,disableCss:g,isRtl:v}=o(),[P,O]=s(!1),N=r(),I=t((()=>({title:(null==h?void 0:h.formtitle)||"",description:(null==h?void 0:h.formdescription)||""})),[h]);return e("div",Object.assign({className:m("flex flex-col items-center",d)},{children:[P&&i(n,{isOpen:P,onChangeIsOpen:O}),j.isProfileImage&&i(c,Object.assign({src:null==h?void 0:h.coverphoto,alt:`${null==h?void 0:h.formtitle}'s Profile Picture`,width:72,height:72,className:m("h-[72px] w-[72px] rounded-full",p,!!x&&"cursor-pointer")},x&&{onClick:x})),j.isTitle&&!!I.title&&i("h2",Object.assign({className:m(N.h2,"mt-6 text-center font-semilight opacity-90",!f&&"line-clamp-2")},{children:null==h?void 0:h.formtitle})),j.isDescription&&!!I.description&&i(a,Object.assign({theme:u.theme,accentColor:k.accent},v&&{rtl:!0},b&&{disableHtml:!0},C&&{disableJs:!0},g&&{disableCss:!0},{children:i(l,Object.assign({className:"mt-2 text-center",value:I.description},f&&{maxDescriptionChars:f},{onExpandClick:()=>O(!0)}))}))]}))};export{d as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeMarkdownContext as r}from"../../hooks/usePickaxeMarkdownContext.js";import{Img as o}from"../Img/index.js";import i from"../common/Action.js";import a from"./Audio.js";import s from"./Html/index.js";const n=({href:n="",children:l})=>{const{accentColor:c,actions:m}=r(),p=t((()=>{if(!n)return"";return n.startsWith("http://")?`https://${n.slice(7)}`:n.startsWith("www.")?`https://${n}`:n}),[n]),u=t((()=>{var e;const t=p.match(/(?:https?:\/\/)?(?:www\.)?loom\.com\/(?:share|embed)\/([\w-]+)/i);return t&&null!==(e=null==t?void 0:t[1])&&void 0!==e?e:null}),[p]),d=t((()=>{var e;const t=p.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);return t&&null!==(e=null==t?void 0:t[1])&&void 0!==e?e:null}),[p]),f=t((()=>p.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif|png|jfif|pjpeg|pjp)$/)),[p]),w=t((()=>p.includes("action_generated_files")&&p.match(/\.(mp3|wav|ogg|flac|aac|wma|alac|m4a|aiff|ape|au|mid|midi|opus)$/)),[p]),h=t((()=>p.includes("action_generated_files")&&p.match(/\.html$/)),[p]),b=t((()=>m&&p.includes("pickaxe")&&(p.includes("/api/fn/result")||p.includes("/api/function_call_results"))),[m,p]);return u?e("div",Object.assign({className:"pxe-markdown-loom"},{children:e("iframe",Object.assign({title:"loom-embed",src:`https://www.loom.com/embed/${u}`,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))})):d?e("div",Object.assign({className:"pxe-markdown-youtube"},{children:e("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${d}`,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))})):f?e(o,{src:p,alt:"string"==typeof l?l:"Markdown Image"}):w?e(a,{url:p}):h?e(s,{url:p}):b?e(i,{jobUrl:p}):e("a",Object.assign({href:p,target:"_blank",rel:"noopener noreferrer",style:{color:c}},{children:l}))};export{n as A};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeMarkdownContext as r}from"../../hooks/usePickaxeMarkdownContext.js";import{Img as o}from"../Img/index.js";import i from"../common/Action.js";import s from"./Audio.js";import a from"./Html/index.js";const m=({href:m="",children:c})=>{const{accentColor:n,actions:l}=r(),p=t((()=>{if(!m)return"";return m.startsWith("http://")?`https://${m.slice(7)}`:m.startsWith("www.")?`https://${m}`:m}),[m]),d=t((()=>{const e=p.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(e)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${e[1]}`};const t=p.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(t)return{title:"loom-embed",src:`https://www.loom.com/embed/${t[1]}`};const r=p.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(r)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${r[1]}`};const o=p.match(/streamable\.com\/([\w-]+)/i);return o?{title:"streamable-embed",src:`https://streamable.com/e/${o[1]}`}:null}),[p]),u=t((()=>p.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif|png|jfif|pjpeg|pjp)$/)),[p]),f=t((()=>p.includes("action_generated_files")&&p.match(/\.(mp3|wav|ogg|flac|aac|wma|alac|m4a|aiff|ape|au|mid|midi|opus)$/)),[p]),h=t((()=>p.includes("action_generated_files")&&p.match(/\.html$/)),[p]),b=t((()=>l&&p.includes("pickaxe")&&(p.includes("/api/fn/result")||p.includes("/api/function_call_results"))),[l,p]);return d?e("div",Object.assign({className:"pxe-markdown-video"},{children:e("iframe",Object.assign({title:d.title,src:d.src,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))})):u?e(o,{src:p,alt:"string"==typeof c?c:"Markdown Image"}):f?e(s,{url:p}):h?e(a,{url:p}):b?e(i,{jobUrl:p}):e("a",Object.assign({href:p,target:"_blank",rel:"noopener noreferrer",style:{color:n}},{children:c}))};export{m as A};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useMemo as r}from"react";import{usePickaxeMarkdownContext as i}from"../../hooks/usePickaxeMarkdownContext.js";import l from"../common/Action.js";const n=({children:n})=>{const{actions:o}=i(),s=r((()=>{var e;if("string"!=typeof n)return null;const t=n.match(/(?:https?:\/\/)?(?:www\.)?loom\.com\/(?:share|embed)\/([\w-]+)/i);return t&&null!==(e=null==t?void 0:t[1])&&void 0!==e?e:null}),[n]),c=r((()=>{var e;if("string"!=typeof n)return null;const t=n.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);return t&&null!==(e=null==t?void 0:t[1])&&void 0!==e?e:null}),[n]);if(s)return e("div",Object.assign({className:"pxe-markdown-loom"},{children:e("iframe",Object.assign({title:"loom-embed",src:`https://www.loom.com/embed/${s}`,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))}));if(c)return e("div",Object.assign({className:"pxe-markdown-youtube"},{children:e("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${c}`,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))}));if(o&&"string"==typeof n&&n.includes("pickaxe")&&(n.includes("/api/fn/result")||n.includes("/api/function_call_results"))){const r=n.replace(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g,""),i=n.match(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g);return t("div",Object.assign({style:{display:"flex",flexDirection:"column"}},{children:[e("p",{children:r}),e(l,{jobUrl:(null==i?void 0:i[0])||""})]}))}return e("p",{children:n})};export{n as P};
1
+ import{jsx as e}from"react/jsx-runtime";import{useMemo as t}from"react";const r=({children:r})=>{const o=t((()=>{if("string"!=typeof r)return null;const e=r.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(e)return{title:"youtube-embed",src:`https://www.youtube.com/embed/${e[1]}`};const t=r.match(/loom\.com\/(?:share|embed)\/([\w-]+)/i);if(t)return{title:"loom-embed",src:`https://www.loom.com/embed/${t[1]}`};const o=r.match(/vimeo\.com\/(?:video\/)?(\d+)/i);if(o)return{title:"vimeo-embed",src:`https://player.vimeo.com/video/${o[1]}`};const m=r.match(/streamable\.com\/([\w-]+)/i);return m?{title:"streamable-embed",src:`https://streamable.com/e/${m[1]}`}:null}),[r]);return o?e("div",Object.assign({className:"pxe-markdown-video"},{children:e("iframe",Object.assign({title:o.title,src:o.src,allowFullScreen:!0,style:{width:"100%",maxWidth:"560px",aspectRatio:"16 / 9"}},{children:"Iframe not supported, use a different browser."}))})):e("p",{children:r})};export{r as P};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsxs as r,jsx as n}from"react/jsx-runtime";import{useState as t,useRef as o,useMemo as s,useEffect as i}from"react";import{usePickaxeMarkdownContext as m}from"./hooks/usePickaxeMarkdownContext.js";import{rehypeSanitize as a,rehypePickaxeAction as l}from"./utils/custom-plugins.js";import p from"react-markdown";import c from"remark-gfm";import d from"remark-math";import h from"rehype-katex";import f from"rehype-raw";import{A as u}from"./Components/A/index.js";import{P as g}from"./Components/P/index.js";import{Img as x}from"./Components/Img/index.js";import{Iframe as b}from"./Components/Iframe/index.js";import{Code as j}from"./Components/Code/index.js";import{H1 as C,H2 as k,H3 as w,H4 as v,H5 as y}from"./Components/Headings/index.js";import{Ol as O,Ul as $,Li as S}from"./Components/List/index.js";import{Table as A,Th as L,Tr as M,Td as N}from"./Components/Table/index.js";import{Hr as P,Br as H,Blockquote as I}from"./Components/Others/index.js";import{ActionCaption as T,ActionFinished as B,ActionError as E}from"./Components/Action/index.js";import J from"../../../../common/cn.js";const R=({className:R,style:W,children:_,value:q,maxLines:z,multiLineBreaks:D,recursion:F,onExpandClick:G})=>{const{accentColor:K,rtl:Q,disableHtml:U,disableJs:V,disableCss:X}=m(),[Y,Z]=t({width:0,height:0}),[ee,re]=t(null),ne=o(null),te=s((()=>{if(!q)return"";let e=q.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\[\s\S]*?\\]/g,(e=>"$$"+e.substring(2,e.length-2)+"$$")).replace(/\\\(\s*[\s\S]*?\s*\\\)/g,(e=>"$$"+e.substring(2,e.length-2)+"$$")),D&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[q,D]);i((()=>{if(!z)return void re(null);if(!ne.current||!te||ee)return;const e=ne.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),n=z*r;if(!(Y.height>n))return;const t=Math.floor(Y.width/8),o=Math.floor(t*z);re(te.slice(0,o)+'<span class="pxe-expand-btn">...</span>')}),[te,z,Y,ee]);const oe={h1:C,h2:k,h3:w,h4:v,h5:y,p:g,a:u,img:x,iframe:b,code:j,ol:O,ul:$,li:S,table:A,th:L,tr:M,td:N,hr:P,br:H,blockquote:I,span:r=>{var{children:t}=r,o=e(r,["children"]);return"pxe-expand-btn"===o.className?n("span",Object.assign({},o,{style:Object.assign({display:"inline",fontWeight:500,color:K,marginLeft:".25rem",userSelect:"none"},G&&{cursor:"pointer"})},G&&{onClick:G},{children:t})):n("span",Object.assign({},o,{children:t}))},ActionCaption:T,ActionFinished:B,ActionError:E};i((()=>{if(!ne.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:n}=r.contentRect;Z({width:e,height:n})}}));return e.observe(ne.current),()=>{e.disconnect()}}),[]);const se=ee||te;return r("div",Object.assign({className:"pxe-markdown",ref:ne,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem"},W)},Q&&{dir:"rtl"},{children:[n(p,Object.assign({className:J(!F&&"pxe-prose",R),components:oe,remarkPlugins:[c,[d,{singleDollarTextMath:!1}]],rehypePlugins:[h,...U?[]:[f],[a,{disableJs:V,disableCss:X}],l]},{children:se})),_]}))};export{R as PickaxeMarkdownRenderer};
1
+ import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsxs as r,jsx as n}from"react/jsx-runtime";import{useState as t,useRef as o,useMemo as s,useEffect as i}from"react";import{usePickaxeMarkdownContext as m}from"./hooks/usePickaxeMarkdownContext.js";import{rehypeSanitize as a,rehypePickaxeAction as l}from"./utils/custom-plugins.js";import p from"react-markdown";import c from"remark-gfm";import d from"remark-math";import h from"rehype-katex";import f from"rehype-raw";import{A as u}from"./Components/A/index.js";import{P as g}from"./Components/P/index.js";import{Img as x}from"./Components/Img/index.js";import{Iframe as b}from"./Components/Iframe/index.js";import{Code as j}from"./Components/Code/index.js";import{H1 as C,H2 as k,H3 as w,H4 as v,H5 as y}from"./Components/Headings/index.js";import{Ol as O,Ul as $,Li as S}from"./Components/List/index.js";import{Table as A,Th as L,Tr as M,Td as N}from"./Components/Table/index.js";import{Hr as P,Br as H,Blockquote as I}from"./Components/Others/index.js";import{ActionCaption as T,ActionFinished as B,ActionError as E}from"./Components/Action/index.js";import J from"../../../../common/cn.js";const R=({className:R,style:W,children:_,value:q,maxLines:z,maxChars:D,multiLineBreaks:F,recursion:G,onExpandClick:K})=>{const{accentColor:Q,rtl:U,disableHtml:V,disableJs:X,disableCss:Y}=m(),[Z,ee]=t({width:0,height:0}),[re,ne]=t(null),te=o(null),oe=s((()=>{if(!q)return"";let e=q.trim();return e=e.replace(/<!--[\s\S]*?-->/g,""),e=e.replace(/\u200B/g,""),e=e.replace(/\\[\s\S]*?\\]/g,(e=>"$$"+e.substring(2,e.length-2)+"$$")).replace(/\\\(\s*[\s\S]*?\s*\\\)/g,(e=>"$$"+e.substring(2,e.length-2)+"$$")),F&&(e=e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))),e||""}),[q,F]);i((()=>{if(D)return void ne(oe.length>D?oe.slice(0,D)+'<span class="pxe-expand-btn">...</span>':null);if(!z)return void ne(null);if(!te.current||!oe||re)return;const e=te.current,r=parseInt(window.getComputedStyle(e).lineHeight,10),n=z*r;if(!(Z.height>n))return;const t=Math.floor(Z.width/8),o=Math.floor(t*z);ne(oe.slice(0,o)+'<span class="pxe-expand-btn">...</span>')}),[oe,z,D,Z,re]);const se={h1:C,h2:k,h3:w,h4:v,h5:y,p:g,a:u,img:x,iframe:b,code:j,ol:O,ul:$,li:S,table:A,th:L,tr:M,td:N,hr:P,br:H,blockquote:I,span:r=>{var{children:t}=r,o=e(r,["children"]);return"pxe-expand-btn"===o.className?n("span",Object.assign({},o,{style:Object.assign({display:"inline",fontWeight:500,color:Q,marginLeft:".25rem",userSelect:"none"},K&&{cursor:"pointer"})},K&&{onClick:K},{children:t})):n("span",Object.assign({},o,{children:t}))},ActionCaption:T,ActionFinished:B,ActionError:E};i((()=>{if(!te.current)return;const e=new ResizeObserver((e=>{for(const r of e){const{width:e,height:n}=r.contentRect;ee({width:e,height:n})}}));return e.observe(te.current),()=>{e.disconnect()}}),[]);const ie=re||oe;return r("div",Object.assign({className:"pxe-markdown",ref:te,style:Object.assign({position:"relative",overflowWrap:"break-word",display:"grid",gridTemplateColumns:"repeat(1, minmax(0, 1fr))",gap:".625rem"},W)},U&&{dir:"rtl"},{children:[n(p,Object.assign({className:J(!G&&"pxe-prose",R),components:se,remarkPlugins:[c,[d,{singleDollarTextMath:!1}]],rehypePlugins:[h,...V?[]:[f],[a,{disableJs:X,disableCss:Y}],l]},{children:ie})),_]}))};export{R as PickaxeMarkdownRenderer};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{jsx as o,jsxs as t,Fragment as l}from"react/jsx-runtime";import{usePickaxe as s}from"../../hooks/pickaxe/usePickaxe.js";import{useState as a,useEffect as i}from"react";import{usePickaxeContext as r}from"../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as m}from"../../hooks/pickaxe/useResponseContext.js";import{generateId as n}from"../../common/utils.js";import c from"./Addons/Scroll/Provider.js";import d from"../Core/Skeleton.js";import p from"./Chat/index.js";import f from"./Form/index.js";import x from"../../common/cn.js";const u=({formId:u,className:h})=>{const{chatId:w,styles:j,colors:k,loadFont:g,responsiveBy:v,isFontLoaded:b,setFormId:N,setChatId:y,setPickaxe:C,setIsFontLoaded:F}=r(),{setMessages:P,setResponse:I,setError:O,setLimitData:L,setStatus:R}=m(),[S,H]=a(!1),_=s();return i((()=>{N(u)}),[u]),i((()=>{if(!_.data)return;const e=_.data.chatflag;y(e?n(15):""),e?P([]):I(null),O(""),L(null),C(_.data),H(!0)}),[_.data]),i((()=>{P([]),I(null),R("idle"),L(null),O("")}),[w]),i((()=>{e(void 0,void 0,void 0,(function*(){"undefined"!=typeof window&&(b||g&&"Real Head Pro"!==j.font&&((yield import("webfontloader")).default.load({google:{families:[j.font]}}),F(!0)))}))}),[j.font,g,b]),_.data?o("div",Object.assign({className:x("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full",h,"dark"===j.theme&&"dark"),style:Object.assign({backgroundColor:k.primary,color:k.text},j.font&&"Real Head Pro"!==j.font&&{fontFamily:j.font})},{children:_.isLoading||!S?o("div",Object.assign({className:x("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===v?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:t("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[o(d,{className:"w-[72px] h-[72px]"}),o(d,{className:"h-[20px] mt-6 w-full"}),o(d,{className:"h-[20px] mt-2 w-full"}),o(d,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),o("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:o(d,{className:x("w-full min-h-[48px]","viewport"===v?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):o(l,{children:o(c,w?{children:o(p,{})}:{children:o(f,{})})})})):null};export{u as Pickaxe};
1
+ import{jsx as e,jsxs as t,Fragment as o}from"react/jsx-runtime";import{usePickaxe as s}from"../../hooks/pickaxe/usePickaxe.js";import{useState as l,useEffect as a}from"react";import{usePickaxeContext as r}from"../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../hooks/pickaxe/useResponseContext.js";import{generateId as m}from"../../common/utils.js";import c from"./Addons/Scroll/Provider.js";import n from"../Core/Skeleton.js";import p from"./Chat/index.js";import x from"./Form/index.js";import f from"../../common/cn.js";const d=({formId:d,className:u})=>{const{chatId:h,styles:w,colors:k,responsiveBy:j,deploymentType:g,isNewChat:N,setFormId:b,setChatId:v,setPickaxe:y}=r(),{setMessages:C,setResponse:O,setError:P,setLimitData:I,setStatus:F}=i(),[R,S]=l(!1),L=s();return a((()=>{b(d)}),[d]),a((()=>{if(!L.data)return;const e=L.data.chatflag;v(e?m(15):""),e?C([]):O(null),P(""),I(null),y(L.data),S(!0)}),[L.data]),a((()=>{C([]),O(null),F("idle"),I(null),P("")}),[h]),L.data?e("div",Object.assign({className:f("relative @container/pickaxe-root flex flex-col flex-grow w-full",!g&&"h-full","popup"===g&&h&&"h-full","dark"===w.theme&&"dark",u),style:Object.assign({backgroundColor:"chat-input"===g&&N?"transparent":k.primary,color:k.text},w.font&&"Real Head Pro"!==w.font&&{fontFamily:w.font})},{children:L.isLoading||!R?e("div",Object.assign({className:f("flex items-center flex-col w-full pt-12 px-4 pb-10","viewport"===j?"min-[767px]:pb-40":"@[767px]/pickaxe-root:pb-40")},{children:t("div",Object.assign({className:"flex w-full items-center max-w-[700px] flex-col"},{children:[e(n,{className:"w-[72px] h-[72px]"}),e(n,{className:"h-[20px] mt-6 w-full"}),e(n,{className:"h-[20px] mt-2 w-full"}),e(n,{className:"h-[20px] mt-2 w-full max-w-[400px]"}),e("div",Object.assign({className:"flex flex-col gap-y-8 w-full mt-6"},{children:e(n,{className:f("w-full min-h-[48px]","viewport"===j?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]")})}))]}))})):e(o,{children:e(c,h?{children:e(p,{})}:{children:e(x,{})})})})):null};export{d as Pickaxe};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../_virtual/_tslib.js";import{useQuery as o}from"@tanstack/react-query";import{usePickaxeContext as r}from"./usePickaxeContext.js";const t=()=>{const{formId:t}=r();return o({queryKey:["form",t],queryFn:()=>e(void 0,void 0,void 0,(function*(){return(o=>e(void 0,void 0,void 0,(function*(){if(!o)return null;const e=yield fetch(`${process.env.NEXT_PUBLIC_API_URL}/pickaxe?formid=${o}`,{method:"GET",headers:{"Content-Type":"application/json"}}),{success:r,data:t,error:i}=yield e.json();if(!r)throw new Error(i||"Failed to fetch pickaxe");return t})))(t)})),enabled:!!t,staleTime:18e4})};export{t as usePickaxe};
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{useQuery as o}from"@tanstack/react-query";import{usePickaxeContext as r}from"./usePickaxeContext.js";const t=o=>e(void 0,void 0,void 0,(function*(){if(!o)return null;const e=yield fetch(`${process.env.NEXT_PUBLIC_API_URL}/pickaxe?formid=${o}`,{method:"GET",headers:{"Content-Type":"application/json"}}),{success:r,data:t,error:i}=yield e.json();if(!r)throw new Error(i||"Failed to fetch pickaxe");return t})),i=()=>{const{formId:i}=r();return o({queryKey:["form",i],queryFn:()=>e(void 0,void 0,void 0,(function*(){return t(i)})),enabled:!!i,staleTime:18e4})},n=r=>o({queryKey:["form",r],queryFn:()=>e(void 0,void 0,void 0,(function*(){return t(r)})),enabled:!!r,staleTime:18e4});export{n as useInstantPickaxe,i as usePickaxe};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{PickaxeMarkdown,PickaxeMarkdownContext}from"./components/Pickaxe/common/PickaxeMarkdown/index.js";export{PickaxeMarkdownRenderer}from"./components/Pickaxe/common/PickaxeMarkdown/Renderer.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useDimensionContext}from"./hooks/pickaxe/useDimensionContext.js";export{useSubmit}from"./hooks/pickaxe/useSubmit.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";
1
+ export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{PickaxeMarkdown,PickaxeMarkdownContext}from"./components/Pickaxe/common/PickaxeMarkdown/index.js";export{PickaxeMarkdownRenderer}from"./components/Pickaxe/common/PickaxeMarkdown/Renderer.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{useInstantPickaxe,usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useDimensionContext}from"./hooks/pickaxe/useDimensionContext.js";export{useSubmit}from"./hooks/pickaxe/useSubmit.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";
@@ -1 +1 @@
1
- .pxe-prose p{font-weight:350}.pxe-prose p:not(:only-child){margin-bottom:.75rem}.pxe-prose a{font-weight:600;text-decoration:underline;text-underline-offset:.2rem}.pxe-prose iframe{margin-bottom:1.5rem}.pxe-prose blockquote{margin-bottom:2.5rem;padding-bottom:.25rem;padding-left:1rem;padding-top:.25rem}.pxe-prose hr{margin-bottom:1.5rem}.pxe-prose .pxe-markdown-image,.pxe-prose .pxe-markdown-loom{margin-bottom:1.5rem;margin-top:1.5rem}.pxe-prose .pxe-markdown-loom,.pxe-prose .pxe-markdown-youtube{display:flex;justify-content:center;width:100%}.pxe-prose .pxe-markdown-youtube{margin-bottom:1.5rem;margin-top:1.5rem}.pxe-prose .pxe-markdown-code{margin-bottom:1.5rem}.pxe-prose ol{list-style-type:decimal}.pxe-prose ol,.pxe-prose ul{list-style-position:inside;margin-bottom:1.5rem;padding-left:1rem}.pxe-prose ul{list-style-type:disc}.pxe-prose li{margin:10px 10px 14px}.pxe-prose li>p{display:inline}.pxe-prose .pxe-markdown-table{margin-bottom:2.5rem;overflow:auto;position:relative}.pxe-prose table{font-size:.875rem;line-height:1.24rem;table-layout:fixed}.pxe-prose th{font-weight:600;text-align:left}.pxe-prose td,.pxe-prose th{padding:.75em 1em}.pxe-prose h1{font-size:2.25rem;line-height:2.5rem;margin-bottom:1.5rem}.pxe-prose h2{font-size:1.875rem;line-height:2.25rem;margin-bottom:1.5rem}.pxe-prose h3{font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.pxe-prose h4{font-size:1.25rem}.pxe-prose h4,.pxe-prose h5{line-height:1.75rem;margin-bottom:1rem}.pxe-prose h5{font-size:1.125rem}.pxe-prose h2:not(:first-child){margin-top:2.5rem}.pxe-prose h3:not(:first-child),.pxe-prose h4:not(:first-child),.pxe-prose>pre:not(:first-child){margin-top:1rem}.pxe-prose .pxe-markdown-code{display:flex;flex-direction:column}.pxe-prose .pxe-markdown-code>div:first-child{background-color:#1d1f21;border-radius:.3em;display:flex;flex-direction:column;max-width:min-content;padding-top:1em;position:relative}.pxe-prose .pxe-markdown-code>div:first-child>div:first-child{display:flex;justify-content:flex-end;padding:0 1em}.pxe-prose .pxe-markdown-code>div:first-child>div:last-child{overflow:auto}.pxe-prose .pxe-action[data-action-id]:not(:nth-child(2)){margin-top:1rem}.pxe-prose .pxe-markdown-code-inline{background-color:#1d1f21;border-radius:.3em;color:#fff;font-size:10pt;padding:.15em .4em}.pxe-link-previews{display:flex;flex-direction:column;gap:2rem}.pxe-prose>p:first-child>.pxe-markdown-image,.pxe-prose>p:first-child>.pxe-markdown-youtube{margin-top:0}.pxe-prose .pxe-blink{animation:blink 1s ease-in-out infinite}.pxe-prose .pxe-red{color:red}.pxe-prose .pxe-action-error{display:flex;flex-direction:column}.pxe-prose .pxe-animated-token{animation:fadeIn .3s ease-out forwards;display:inline-block;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}
1
+ .pxe-prose p{font-weight:350}.pxe-prose p:not(:only-child){margin-bottom:.75rem}.pxe-prose a{font-weight:600;text-decoration:underline;text-underline-offset:.2rem}.pxe-prose iframe{margin-bottom:1.5rem}.pxe-prose blockquote{margin-bottom:2.5rem;padding-bottom:.25rem;padding-left:1rem;padding-top:.25rem}.pxe-prose hr{margin-bottom:1.5rem}.pxe-prose .pxe-markdown-image,.pxe-prose .pxe-markdown-video{margin-bottom:1.5rem;margin-top:1.5rem}.pxe-prose .pxe-markdown-video{display:flex;justify-content:center;width:100%}.pxe-prose .pxe-markdown-code{margin-bottom:1.5rem}.pxe-prose ol{list-style-type:decimal}.pxe-prose ol,.pxe-prose ul{list-style-position:inside;margin-bottom:1.5rem;padding-left:1rem}.pxe-prose ul{list-style-type:disc}.pxe-prose li{margin:10px 10px 14px}.pxe-prose li>p{display:inline}.pxe-prose .pxe-markdown-table{margin-bottom:2.5rem;overflow:auto;position:relative}.pxe-prose table{font-size:.875rem;line-height:1.24rem;table-layout:fixed}.pxe-prose th{font-weight:600;text-align:left}.pxe-prose td,.pxe-prose th{padding:.75em 1em}.pxe-prose h1{font-size:2.25rem;line-height:2.5rem;margin-bottom:1.5rem}.pxe-prose h2{font-size:1.875rem;line-height:2.25rem;margin-bottom:1.5rem}.pxe-prose h3{font-size:1.5rem;line-height:2rem;margin-bottom:1.5rem}.pxe-prose h4{font-size:1.25rem}.pxe-prose h4,.pxe-prose h5{line-height:1.75rem;margin-bottom:1rem}.pxe-prose h5{font-size:1.125rem}.pxe-prose h2:not(:first-child){margin-top:2.5rem}.pxe-prose h3:not(:first-child),.pxe-prose h4:not(:first-child),.pxe-prose>pre:not(:first-child){margin-top:1rem}.pxe-prose .pxe-markdown-code{display:flex;flex-direction:column}.pxe-prose .pxe-markdown-code>div:first-child{background-color:#1d1f21;border-radius:.3em;display:flex;flex-direction:column;max-width:min-content;padding-top:1em;position:relative}.pxe-prose .pxe-markdown-code>div:first-child>div:first-child{display:flex;justify-content:flex-end;padding:0 1em}.pxe-prose .pxe-markdown-code>div:first-child>div:last-child{overflow:auto}.pxe-prose .pxe-action[data-action-id]:not(:nth-child(2)){margin-top:1rem}.pxe-prose .pxe-markdown-code-inline{background-color:#1d1f21;border-radius:.3em;color:#fff;font-size:10pt;padding:.15em .4em}.pxe-link-previews{display:flex;flex-direction:column;gap:2rem}.pxe-prose>p:first-child>.pxe-markdown-image,.pxe-prose>p:first-child>.pxe-markdown-video{margin-top:0}.pxe-prose .pxe-blink{animation:blink 1s ease-in-out infinite}.pxe-prose .pxe-red{color:red}.pxe-prose .pxe-action-error{display:flex;flex-direction:column}.pxe-prose .pxe-animated-token{animation:fadeIn .3s ease-out forwards;display:inline-block;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateX(5px)}to{opacity:1;transform:translateX(0)}}@keyframes blink{0%{opacity:1}50%{opacity:.5}to{opacity:1}}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from "react";
2
+ import { PickaxeProps } from "../Pickaxe";
3
+ import { IPickaxeProviderProps } from "../Pickaxe/Provider";
4
+ type ChatInputProps = PickaxeProps & Omit<IPickaxeProviderProps, "deploymentType">;
5
+ export declare const ChatInput: ({ formId, className, ...props }: ChatInputProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const ChatInputWrapper: ({ children }: {
7
+ children: ReactNode;
8
+ }) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { SetState } from "../../types/common";
2
+ import { PickaxeProps } from "../Pickaxe";
3
+ import { IPickaxeProviderProps } from "../Pickaxe/Provider";
4
+ type FABProps = PickaxeProps & Omit<IPickaxeProviderProps, "deploymentType">;
5
+ export declare const FAB: ({ formId, className, ...props }: FABProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const FABButton: ({ isOpen, setIsOpen, }: {
7
+ isOpen: boolean;
8
+ setIsOpen: SetState<boolean>;
9
+ }) => import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
@@ -0,0 +1,5 @@
1
+ import { PickaxeProps } from "../Pickaxe";
2
+ import { IPickaxeProviderProps } from "../Pickaxe/Provider";
3
+ type InlineProps = PickaxeProps & Omit<IPickaxeProviderProps, "deploymentType">;
4
+ export declare const Inline: ({ formId, className, ...props }: InlineProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,10 @@
1
+ import type { SetState } from "../../types/common";
2
+ import { PickaxeProps } from "../Pickaxe";
3
+ import { IPickaxeProviderProps } from "../Pickaxe/Provider";
4
+ type PopupProps = PickaxeProps & Omit<IPickaxeProviderProps, "deploymentType">;
5
+ export declare const Popup: ({ formId, className, ...props }: PopupProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const PopupCTAButton: ({ formId, setIsOpen, }: {
7
+ formId: string;
8
+ setIsOpen: SetState<boolean>;
9
+ }) => import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
@@ -1,7 +1,7 @@
1
1
  interface InputProps {
2
- isFocused: boolean;
3
- onFocus: () => void;
4
- onBlur: () => void;
2
+ isFocused?: boolean;
3
+ onFocus?: () => void;
4
+ onBlur?: () => void;
5
5
  }
6
6
  declare const Input: ({ isFocused, onFocus, onBlur }: InputProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export default Input;
@@ -33,13 +33,34 @@ export type PickaxeMisc = {
33
33
  isDescription: boolean;
34
34
  isHistory?: boolean;
35
35
  };
36
+ export type PickaxeDeploymentEmbedType = "inline" | "fab" | "popup" | "chat-input";
37
+ export type PickaxeDeploymentDimensions = {
38
+ width: {
39
+ value: number;
40
+ unit: "%" | "px";
41
+ };
42
+ maxWidth: number;
43
+ height: {
44
+ value: number;
45
+ unit: "px" | "auto";
46
+ };
47
+ minHeight: number;
48
+ maxHeight: number;
49
+ };
50
+ export type PickaxeDeploymentMisc = {
51
+ popupText?: string;
52
+ fabImage?: string;
53
+ };
36
54
  type PickaxeContextType = {
37
55
  formId: string;
38
56
  chatId: string;
39
57
  userId: string;
40
58
  studioUserId: string;
41
- deploymentId: string;
42
59
  embedUserId: string;
60
+ deploymentId: string;
61
+ deploymentType?: PickaxeDeploymentEmbedType;
62
+ deploymentDimensions?: PickaxeDeploymentDimensions;
63
+ deploymentMisc?: PickaxeDeploymentMisc;
43
64
  pickaxe: LimitedPickaxe | null;
44
65
  styles: PickaxeProviderStyles;
45
66
  colors: PickaxeProviderColors;
@@ -48,11 +69,15 @@ type PickaxeContextType = {
48
69
  responsiveBy: PickaxeResponsiveBy;
49
70
  forceMobile: boolean;
50
71
  loadFont: boolean;
72
+ disableHtml: boolean;
73
+ disableJs: boolean;
74
+ disableCss: boolean;
51
75
  isFontLoaded: boolean;
52
76
  isNewChat: boolean;
53
77
  isShowIceBreaker: boolean;
54
- isEmbed: boolean;
55
78
  isRtl: boolean;
79
+ isEmbed: boolean;
80
+ isDropShadow: boolean;
56
81
  setFormId: SetState<string>;
57
82
  setChatId: SetState<string>;
58
83
  setPickaxe: SetState<LimitedPickaxe | null>;
@@ -65,8 +90,11 @@ export interface IPickaxeProviderProps {
65
90
  children: ReactNode;
66
91
  userId?: string;
67
92
  studioUserId?: string;
68
- deploymentId?: string;
69
93
  embedUserId?: string;
94
+ deploymentId?: string;
95
+ deploymentType?: PickaxeDeploymentEmbedType;
96
+ deploymentDimensions?: PickaxeDeploymentDimensions;
97
+ deploymentMisc?: PickaxeDeploymentMisc;
70
98
  styles?: Partial<PickaxeProviderStyles>;
71
99
  colors?: Partial<PickaxeProviderColors>;
72
100
  limits?: Record<string, PickaxeLimitData>;
@@ -75,10 +103,14 @@ export interface IPickaxeProviderProps {
75
103
  responsiveBy?: PickaxeResponsiveBy;
76
104
  forceMobile?: boolean;
77
105
  loadFont?: boolean;
78
- isEmbed?: boolean;
106
+ disableHtml?: boolean;
107
+ disableJs?: boolean;
108
+ disableCss?: boolean;
79
109
  isRtl?: boolean;
110
+ isEmbed?: boolean;
111
+ isDropShadow?: boolean;
80
112
  onGenerateComplete?: (responseId: string) => void;
81
113
  }
82
114
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
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;
115
+ export declare const PickaxeProvider: ({ children, userId, studioUserId, deploymentId, embedUserId, deploymentType, deploymentDimensions, deploymentMisc, styles, colors, limits, misc, translations, responsiveBy, forceMobile, disableHtml, disableJs, disableCss, loadFont, isRtl, isEmbed, isDropShadow, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
84
116
  export {};
@@ -1,8 +1,8 @@
1
1
  interface PickaxeHeadProps {
2
2
  className?: string;
3
3
  iconClassName?: string;
4
- maxLines?: number;
4
+ maxDescriptionChars?: number;
5
5
  onIconClick?: () => void;
6
6
  }
7
- declare const PickaxeHead: ({ className, iconClassName, maxLines, onIconClick, }: PickaxeHeadProps) => import("react/jsx-runtime").JSX.Element;
7
+ declare const PickaxeHead: ({ className, iconClassName, maxDescriptionChars, onIconClick, }: PickaxeHeadProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export default PickaxeHead;
@@ -5,8 +5,9 @@ export interface PickaxeMarkdownRendererProps {
5
5
  children?: ReactNode;
6
6
  value?: string | null;
7
7
  maxLines?: number;
8
+ maxChars?: number;
8
9
  multiLineBreaks?: boolean;
9
10
  recursion?: boolean;
10
11
  onExpandClick?: () => void;
11
12
  }
12
- export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, multiLineBreaks, recursion, onExpandClick, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const PickaxeMarkdownRenderer: ({ className, style, children: _children, value, maxLines, maxChars, multiLineBreaks, recursion, onExpandClick, }: PickaxeMarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,3 @@
1
1
  import type { LimitedPickaxe } from "../../types/pickaxe";
2
2
  export declare const usePickaxe: () => import("@tanstack/react-query").UseQueryResult<LimitedPickaxe | null, Error>;
3
+ export declare const useInstantPickaxe: (formId: string) => import("@tanstack/react-query").UseQueryResult<LimitedPickaxe | null, Error>;
@@ -3,8 +3,11 @@ export declare const usePickaxeContext: () => {
3
3
  chatId: string;
4
4
  userId: string;
5
5
  studioUserId: string;
6
- deploymentId: string;
7
6
  embedUserId: string;
7
+ deploymentId: string;
8
+ deploymentType?: import("../../components/Pickaxe/Provider").PickaxeDeploymentEmbedType | undefined;
9
+ deploymentDimensions?: import("../../components/Pickaxe/Provider").PickaxeDeploymentDimensions | undefined;
10
+ deploymentMisc?: import("../../components/Pickaxe/Provider").PickaxeDeploymentMisc | undefined;
8
11
  pickaxe: import("../../types/pickaxe").LimitedPickaxe | null;
9
12
  styles: import("../../components/Pickaxe/Provider").PickaxeProviderStyles;
10
13
  colors: import("../../components/Pickaxe/Provider").PickaxeProviderColors;
@@ -13,11 +16,15 @@ export declare const usePickaxeContext: () => {
13
16
  responsiveBy: import("../../components/Pickaxe/Provider").PickaxeResponsiveBy;
14
17
  forceMobile: boolean;
15
18
  loadFont: boolean;
19
+ disableHtml: boolean;
20
+ disableJs: boolean;
21
+ disableCss: boolean;
16
22
  isFontLoaded: boolean;
17
23
  isNewChat: boolean;
18
24
  isShowIceBreaker: boolean;
19
- isEmbed: boolean;
20
25
  isRtl: boolean;
26
+ isEmbed: boolean;
27
+ isDropShadow: boolean;
21
28
  setFormId: import("../../types/common").SetState<string>;
22
29
  setChatId: import("../../types/common").SetState<string>;
23
30
  setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").LimitedPickaxe | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "2.4.0",
3
+ "version": "2.6.0",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledAttachmentGridProps extends BaseStyleProps {
4
- children: React.ReactNode;
5
- columns?: number;
6
- }
7
- export declare const StyledAttachmentGrid: React.FC<StyledAttachmentGridProps>;
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledIconButtonProps extends BaseStyleProps {
4
- children: React.ReactNode;
5
- onClick?: () => void;
6
- disabled?: boolean;
7
- backgroundColor?: string;
8
- hoverProps?: any;
9
- }
10
- export declare const StyledIconButton: React.FC<StyledIconButtonProps>;
@@ -1,12 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledImagePreviewProps extends BaseStyleProps {
4
- src?: string;
5
- alt?: string;
6
- size?: string;
7
- borderRadius?: string | number;
8
- backgroundColor?: string;
9
- isLoading?: boolean;
10
- removeButton?: React.ReactNode;
11
- }
12
- export declare const StyledImagePreview: React.FC<StyledImagePreviewProps>;
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledInputContainerProps extends BaseStyleProps {
4
- children: React.ReactNode;
5
- maxWidth?: string;
6
- backgroundColor?: string;
7
- borderColor?: string;
8
- borderRadius?: string | number;
9
- padding?: string;
10
- boxShadow?: boolean;
11
- gap?: string;
12
- }
13
- export declare const StyledInputContainer: React.FC<StyledInputContainerProps>;
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledInputWrapperProps extends BaseStyleProps {
4
- children: React.ReactNode;
5
- position?: "fixed" | "absolute" | "relative";
6
- bottom?: string;
7
- padding?: string;
8
- width?: string;
9
- backgroundColor?: string;
10
- zIndex?: number;
11
- isRtl?: boolean;
12
- }
13
- export declare const StyledInputWrapper: React.FC<StyledInputWrapperProps>;
@@ -1,13 +0,0 @@
1
- import React from "react";
2
- import { BaseStyleProps } from "../types";
3
- export interface StyledRemoveButtonProps extends BaseStyleProps {
4
- children: React.ReactNode;
5
- onClick: () => void;
6
- disabled?: boolean;
7
- size?: string;
8
- backgroundColor?: string;
9
- borderColor?: string;
10
- position?: "top-right" | "top-left";
11
- isRtl?: boolean;
12
- }
13
- export declare const StyledRemoveButton: React.FC<StyledRemoveButtonProps>;