@pickaxeproject/react 0.0.36 → 0.0.38

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 (77) hide show
  1. package/dist/cjs/common/api/streamer.js +1 -1
  2. package/dist/cjs/common/utils.js +1 -1
  3. package/dist/cjs/components/Core/Modal/CloseButton.js +1 -0
  4. package/dist/cjs/components/Icons/download.svg.js +1 -0
  5. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/History/Item.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Form/History/Response.js +1 -1
  9. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  10. package/dist/cjs/components/Pickaxe/Provider.js +1 -1
  11. package/dist/cjs/components/Pickaxe/ResponseProvider.js +1 -1
  12. package/dist/cjs/components/Pickaxe/common/PickaxeLottie.js +1 -0
  13. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.js +1 -0
  14. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/Code/index.js +1 -0
  15. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/Iframe/index.js +1 -0
  16. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/ImgModal.js +1 -0
  17. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.js +1 -0
  18. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/P/index.js +1 -0
  19. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.js +1 -0
  20. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  21. package/dist/cjs/components/Pickaxe/index.js +1 -1
  22. package/dist/cjs/src/common/utils.d.ts +1 -0
  23. package/dist/cjs/src/components/Pickaxe/Provider.d.ts +8 -4
  24. package/dist/cjs/src/components/Pickaxe/ResponseProvider.d.ts +0 -1
  25. package/dist/cjs/src/components/Pickaxe/common/PickaxeLottie.d.ts +7 -0
  26. package/dist/{esm/src/components/Pickaxe/common/PickaxeMarkdown/A.d.ts → cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.d.ts} +1 -1
  27. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Code/index.d.ts +4 -0
  28. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Iframe/index.d.ts +4 -0
  29. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/ImgModal.d.ts +8 -0
  30. package/dist/{esm/src/components/Pickaxe/common/PickaxeMarkdown/Img.d.ts → cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.d.ts} +1 -1
  31. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/P/index.d.ts +4 -0
  32. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.d.ts +5 -0
  33. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +2 -2
  34. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +1 -1
  35. package/dist/cjs/src/hooks/pickaxe/usePickaxeContext.d.ts +3 -1
  36. package/dist/cjs/src/hooks/pickaxe/useResponseContext.d.ts +0 -1
  37. package/dist/esm/common/api/streamer.js +1 -1
  38. package/dist/esm/common/utils.js +1 -1
  39. package/dist/esm/components/Core/Modal/CloseButton.js +1 -0
  40. package/dist/esm/components/Icons/download.svg.js +1 -0
  41. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  42. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  43. package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
  44. package/dist/esm/components/Pickaxe/Form/History/Response.js +1 -1
  45. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  46. package/dist/esm/components/Pickaxe/Provider.js +1 -1
  47. package/dist/esm/components/Pickaxe/ResponseProvider.js +1 -1
  48. package/dist/esm/components/Pickaxe/common/PickaxeLottie.js +1 -0
  49. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.js +1 -0
  50. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/Code/index.js +1 -0
  51. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/Iframe/index.js +1 -0
  52. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/ImgModal.js +1 -0
  53. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.js +1 -0
  54. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/P/index.js +1 -0
  55. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.js +1 -0
  56. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -1
  57. package/dist/esm/components/Pickaxe/index.js +1 -1
  58. package/dist/esm/src/common/utils.d.ts +1 -0
  59. package/dist/esm/src/components/Pickaxe/Provider.d.ts +8 -4
  60. package/dist/esm/src/components/Pickaxe/ResponseProvider.d.ts +0 -1
  61. package/dist/esm/src/components/Pickaxe/common/PickaxeLottie.d.ts +7 -0
  62. package/dist/{cjs/src/components/Pickaxe/common/PickaxeMarkdown/A.d.ts → esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/A/index.d.ts} +1 -1
  63. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Code/index.d.ts +4 -0
  64. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Iframe/index.d.ts +4 -0
  65. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/ImgModal.d.ts +8 -0
  66. package/dist/{cjs/src/components/Pickaxe/common/PickaxeMarkdown/Img.d.ts → esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/Img/index.d.ts} +1 -1
  67. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/P/index.d.ts +4 -0
  68. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Custom/common/Action.d.ts +5 -0
  69. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +2 -2
  70. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +1 -1
  71. package/dist/esm/src/hooks/pickaxe/usePickaxeContext.d.ts +3 -1
  72. package/dist/esm/src/hooks/pickaxe/useResponseContext.d.ts +0 -1
  73. package/package.json +5 -2
  74. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/A.js +0 -1
  75. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Img.js +0 -1
  76. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/A.js +0 -1
  77. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Img.js +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js");exports.streamer=r=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield fetch(`${process.env.NEXT_PUBLIC_API_UTILS_URL}/streamer`,{method:"POST",body:JSON.stringify(r)});if(200!==e.status){const r=yield e.json();throw new Error(r.detail)}return e}));
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js");exports.streamer=r=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=yield fetch(`${process.env.NEXT_PUBLIC_API_UTILS_URL}/streamer`,{method:"POST",body:JSON.stringify(r)});if(200!==e.status){const r=yield e.json();throw new Error(r.error)}return e}));
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.extractUrlsFromText=t=>{const e=t.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(e))},exports.generateId=(t,e="",r="")=>{let o="";for(let e=0;e<t;e++){o+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return e+o+r},exports.randomStr=(t,e=!1)=>{let r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";e&&(r=r.replace(/[0-9]/g,""));let o="";for(let e=0;e<t;e++)o+=r.charAt(Math.floor(Math.random()*r.length));return o};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.extractUrlsFromText=t=>{const r=t.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(r))},exports.generateId=(t,r="",e="")=>{let o="";for(let r=0;r<t;r++){o+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return r+o+e},exports.getContrastColor=t=>{if(!t)return"#FFFFFF";return(299*parseInt(t.substring(1,2),16)+587*parseInt(t.substring(3,2),16)+114*parseInt(t.substring(5,2),16))/1e3>=128?"#000000":"#FFFFFF"},exports.randomStr=(t,r=!1)=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";r&&(e=e.replace(/[0-9]/g,""));let o="";for(let r=0;r<t;r++)o+=e.charAt(Math.floor(Math.random()*e.length));return o};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./index.js"),r=require("../../Icons/x.svg.js"),n=require("../../../common/cn.js");exports.default=({className:o,iconClassName:a,icon:i,onClick:c})=>{const{setIsOpen:u}=s.useContext(t.ModalContext);return e.jsx("button",Object.assign({className:n.default("outline-none hover:opacity-70 hover:duration-300 active:opacity-100",o),onClick:()=>{u(!1),c&&c()}},{children:i||e.jsx(r.default,{className:n.default("h-6 w-6 shrink-0",a)})}))};
@@ -0,0 +1 @@
1
+ "use strict";function e(e){if(e&&e.__esModule)return e;var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}Object.defineProperty(exports,"__esModule",{value:!0});var r,t=e(require("react"));function n(){return n=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)({}).hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},n.apply(null,arguments)}var o=e=>t.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),r||(r=t.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21H3M7 10l5 5 5-5M12 15V3"})));exports.default=o;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/studio/useStyleFontSize.js"),i=require("../../../../hooks/pickaxe/useConversation.js"),o=require("../../../Icons/circle-info.svg.js"),r=require("../../common/PickaxeIcon.js"),c=require("../../../Core/ErrorAlert.js"),n=require("../../Addons/Scroll/ScrollLockView.js"),d=require("../../common/PickaxeInfoModal.js"),x=require("../../common/PickaxeUpgradeCard.js"),u=require("./Message.js"),m=require("../../../../common/cn.js");exports.default=()=>{var j;const{pickaxe:p,styles:f,colors:g,isNewChat:h,responsiveBy:v,setChatId:b}=a.usePickaxeContext(),{messages:y,status:w,limitData:k,error:E}=t.useResponseContext(),N=i.useConversation(),[O,C]=s.useState(!1),q=l.useStyleFontSize({type:"body"}),S=s.useMemo((()=>!!N.data&&!(N.data.messages.length<=1)),[N.data]),P=s.useMemo((()=>N.isSuccess&&h&&!S),[N.isSuccess,h,S]);return e.jsxs("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[O&&e.jsx(d.default,{isOpen:O,onChangeIsOpen:C}),e.jsxs("div",Object.assign({className:m.default("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",P&&"top-1/3 opacity-100")},{children:[e.jsx("button",Object.assign({className:"duration-300 hover:opacity-90 active:opacity-100 outline-none",onClick:()=>b("")},{children:e.jsx(r.default,{src:null==p?void 0:p.coverphoto,alt:`${null==p?void 0:p.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"})})),e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[e.jsxs("h2",Object.assign({className:m.default("mt-6 text-center font-semibold opacity-70","viewport"===v?"min-[767px]:text-lg":"@[767px]/pickaxe-root:text-lg")},{children:[`${null==p?void 0:p.formtitle.slice(0,130)}${(null!==(j=null==p?void 0:p.formtitle)&&void 0!==j?j:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>C(!0)},{children:e.jsx(o.default,{className:"h-5 w-5 shrink-0",style:{color:g.accent}})}))]})),e.jsx("p",Object.assign({className:q("mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70")},{children:null==p?void 0:p.formdescription}))]}))]})),e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:N.isLoading?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[e.jsx("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===f.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===f.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===f.theme?"#1E1E1F":"#E5E7EB"}})]})):N.isError?e.jsx("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e.jsxs("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e.jsxs("div",Object.assign({className:"flex flex-col w-full"},{children:[e.jsxs("div",Object.assign({className:m.default("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6","viewport"===v?"min-[767px]:pt-10":"@[767px]/pickaxe-root:pt-10")},{children:[N.data.messages.map(((s,a)=>e.jsx(u.default,{message:s},a))),y.map(((s,a)=>e.jsx(u.default,{message:s},a))),"fetching"===w?e.jsxs("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==p?void 0:p.chaticon)&&e.jsx(r.default,{src:null==p?void 0:p.chaticon,alt:`${null==p?void 0:p.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e.jsxs("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:g.secondary+"80",color:g.secondaryText}},{children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:g.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:g.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:g.secondaryText}})]}))]})):k?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(x.default,{})})):E?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(c.default,{error:E})})):null]})),e.jsx(n.default,{className:"w-full"})]}))}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/studio/useStyleFontSize.js"),i=require("../../../../hooks/pickaxe/useConversation.js"),o=require("../../../Icons/circle-info.svg.js"),r=require("../../common/PickaxeIcon.js"),c=require("../../../Core/ErrorAlert.js"),n=require("../../Addons/Scroll/ScrollLockView.js"),d=require("../../common/PickaxeInfoModal.js"),x=require("../../common/PickaxeUpgradeCard.js"),u=require("./Message.js"),m=require("../../../../common/cn.js");exports.default=()=>{var p,j;const{pickaxe:f,styles:g,colors:h,isNewChat:v,responsiveBy:b,setChatId:y}=t.usePickaxeContext(),{messages:w,status:k,limitData:E,error:N}=a.useResponseContext(),C=i.useConversation(),[O,q]=s.useState(!1),S=l.useStyleFontSize({type:"body"}),P=s.useMemo((()=>!!C.data&&!(C.data.messages.length<=1)),[C.data]),F=s.useMemo((()=>C.isSuccess&&v&&!P),[C.isSuccess,v,P]);return e.jsxs("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[O&&e.jsx(d.default,{isOpen:O,onChangeIsOpen:q}),e.jsxs("div",Object.assign({className:m.default("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",F&&"top-1/3 opacity-100")},{children:[e.jsx("button",Object.assign({className:"duration-300 hover:opacity-90 active:opacity-100 outline-none",onClick:()=>y("")},{children:e.jsx(r.default,{src:null==f?void 0:f.coverphoto,alt:`${null==f?void 0:f.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"})})),e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[e.jsxs("h2",Object.assign({className:m.default("mt-6 text-center font-semibold opacity-70","viewport"===b?"min-[767px]:text-lg":"@[767px]/pickaxe-root:text-lg")},{children:[`${null==f?void 0:f.formtitle.slice(0,130)}${(null!==(p=null==f?void 0:f.formtitle)&&void 0!==p?p:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>q(!0)},{children:e.jsx(o.default,{className:"h-5 w-5 shrink-0",style:{color:h.accent}})}))]})),e.jsx("p",Object.assign({className:S("mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70")},{children:null==f?void 0:f.formdescription}))]}))]})),e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:C.isLoading?e.jsxs("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[e.jsx("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}}),e.jsx("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===g.theme?"#1E1E1F":"#E5E7EB"}})]})):C.isError?e.jsx("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e.jsxs("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",e.jsx("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e.jsxs("div",Object.assign({className:"flex flex-col w-full"},{children:[e.jsxs("div",Object.assign({className:m.default("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6","viewport"===b?"min-[767px]:pt-10":"@[767px]/pickaxe-root:pt-10")},{children:[C.data.messages.map(((s,t)=>e.jsx(u.default,{message:s},t))),w.map(((s,t)=>e.jsx(u.default,{message:s},t))),"fetching"===k?e.jsxs("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==f?void 0:f.chaticon)&&e.jsx(r.default,{src:null!==(j=null==f?void 0:f.chaticon)&&void 0!==j?j:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${null==f?void 0:f.formid}.png`,alt:`${null==f?void 0:f.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6",textColor:h.text}),e.jsxs("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:h.secondary+"80",color:h.secondaryText}},{children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:h.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:h.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:h.secondaryText}})]}))]})):E?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(x.default,{})})):N?e.jsx("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:e.jsx(c.default,{error:N})})):null]})),e.jsx(n.default,{className:"w-full"})]}))}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),d=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../../../hooks/pickaxe/useSubmitResult.js"),c=require("../Addons/Document/hooks/useDocument.js"),m=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../../../common/documents.js"),h=require("../../../common/api/streamer.js"),x=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),g=require("../../Icons/attach.svg.js"),f=require("../../Icons/send.svg.js"),v=require("../Addons/IceBreaker/index.js"),b=require("../../../common/error.js"),j=require("../../../common/cn.js");exports.default=()=>{var y;const{formId:k,chatId:I,userId:w,studioUserId:q,pickaxe:S,colors:D,responsiveBy:O,isNewChat:N,isForceMobile:_,setIsNewChat:A,setIsShowIceBreaker:C}=r.usePickaxeContext(),{messages:E,status:M,limits:R,setMessages:U,setStatus:z,setLimitData:F,setError:B}=i.useResponseContext(),{documents:T,isUploading:P,isImageUploadAllowed:L,upsertDocuments:K,onFileUpload:Q,onEditDocumentByDocId:W}=c.useDocument(),{isScrollIncreasing:V,scrollToBottom:G,scrollStart:H,scrollEnd:J}=m.useScroll(),X=l.useConversation(),Y=d.useSubmit(),Z=u.useSubmitResult(),[$,ee]=t.useState(""),se=t.useRef(null),[te]=o.useMediaQuery("(max-width: 767px)"),oe=n.useStyleInput(),re=a.useStyleFontSize({type:"body"}),ie=t.useMemo((()=>{var e,s,t;return!!N&&(!!S&&(!X.isLoading&&(!((null!==(s=null===(e=X.data)||void 0===e?void 0:e.messages.length)&&void 0!==s?s:0)>1)&&!!(null===(t=S.icebreakers)||void 0===t?void 0:t.length))))}),[S,N,X.data,X.isLoading]);t.useEffect((()=>{C(ie)}),[ie]);const ne=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(P)return;F(null),B(""),A(!1);const e=null!=s?s:$;if(!e||"fetching"===M||"streaming"===M)return;const t=new Date;ee("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=T.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),i=r.length?r[r.length-1].documentId:"";z("fetching");const n=[...E,{id:E.length+1,role:"user",content:e}];U(n),H(),G();const{success:a,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:p}=yield Y.mutateAsync(Object.assign(Object.assign({formId:k,responseId:I,value:e},o&&i&&{documentId:i}),q&&{studioUserId:q}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");m&&i&&W({documentId:i,isInsertedAsRaw:!0}),u&&c&&K([{type:"website",id:c,name:c,status:"finished",documentId:u}]),G();const x=(yield h.streamer({formId:k,responseId:I,data:l})).body;if(!x)throw new Error("Streaming error");const g=x.getReader(),f=new TextDecoder,v=n.length;let b="",j=!0;for(z("streaming");j;){const{value:e,done:s}=yield g.read();j=!s;if(b+=f.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",b),b)U([...n.slice(0,v),{id:E.length+1,role:"assistant",content:b}]),V&&G();else if(!j&&!b)throw new Error("Server error")}const y=new Date;b&&(G(),z("idle"),yield Z.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:k,responseId:I,documentIds:d},w&&{userId:w}),q&&{studioUserId:q}),q&&(null==S?void 0:S.studioid)&&{studioId:S.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:b,sentAt:y}]})))}catch(e){let s=b.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(R).find((([e])=>s.includes(e)));t?F(t[1]):B(s),G()}finally{z("idle"),J()}}));return s.jsxs("div",Object.assign({className:j.default("fixed flex w-full flex-col bottom-0 left-0","viewport"===O?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[ie&&s.jsx(v.default,{data:(null==S?void 0:S.icebreakers)||[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:_||te,onSend:ne}),s.jsxs("div",Object.assign({style:oe,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==S?void 0:S.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:se,type:"file",accept:[...p.allowedFileMimeTypes,...L?p.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield Q(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:P,onClick:()=>{var e;return null===(e=se.current)||void 0===e?void 0:e.click()}},{children:s.jsx(g.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(x.default,{className:j.default(re("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!$.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:$,placeholder:null!==(y=null==S?void 0:S.placeholdertext)&&void 0!==y?y:"What do you want to talk about?",onChange:e=>ee(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ne())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==M||P,onClick:()=>ne()},{children:s.jsx(f.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../hooks/core/useMediaQuery.js"),r=require("../../../hooks/pickaxe/usePickaxeContext.js"),i=require("../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../hooks/studio/useStyleInput.js"),a=require("../../../hooks/studio/useStyleFontSize.js"),l=require("../../../hooks/pickaxe/useConversation.js"),d=require("../../../hooks/pickaxe/useSubmit.js"),u=require("../../../hooks/pickaxe/useSubmitResult.js"),c=require("../Addons/Document/hooks/useDocument.js"),m=require("../Addons/Scroll/hooks/useScroll.js"),p=require("../../../common/documents.js"),h=require("../../../common/api/streamer.js"),x=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),f=require("../../Icons/attach.svg.js"),g=require("../../Icons/send.svg.js"),v=require("../Addons/IceBreaker/index.js"),b=require("../../../common/error.js"),j=require("../../../common/cn.js");exports.default=()=>{var y;const{formId:k,chatId:I,userId:w,studioUserId:q,pickaxe:S,colors:D,responsiveBy:O,isNewChat:C,forceMobile:N,setIsNewChat:_,setIsShowIceBreaker:A,onGenerateComplete:E}=r.usePickaxeContext(),{messages:M,status:R,limits:U,setMessages:z,setStatus:B,setLimitData:F,setError:T}=i.useResponseContext(),{documents:P,isUploading:L,isImageUploadAllowed:K,upsertDocuments:Q,onFileUpload:W,onEditDocumentByDocId:G}=c.useDocument(),{isScrollIncreasing:V,scrollToBottom:H,scrollStart:J,scrollEnd:X}=m.useScroll(),Y=l.useConversation(),Z=d.useSubmit(),$=u.useSubmitResult(),[ee,se]=t.useState(""),te=t.useRef(null),[oe]=o.useMediaQuery("(max-width: 767px)"),re=n.useStyleInput(),ie=a.useStyleFontSize({type:"body"}),ne=t.useMemo((()=>{var e,s,t;return!!C&&(!!S&&(!Y.isLoading&&(!((null!==(s=null===(e=Y.data)||void 0===e?void 0:e.messages.length)&&void 0!==s?s:0)>1)&&!!(null===(t=S.icebreakers)||void 0===t?void 0:t.length))))}),[S,C,Y.data,Y.isLoading]);t.useEffect((()=>{A(ne)}),[ne]);const ae=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(L)return;F(null),T(""),_(!1);const e=null!=s?s:ee;if(!e||"fetching"===R||"streaming"===R)return;const t=new Date;se("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=P.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),i=r.length?r[r.length-1].documentId:"";B("fetching");const n=[...M,{id:M.length+1,role:"user",content:e}];z(n),J(),H();const{success:a,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:p}=yield Z.mutateAsync(Object.assign(Object.assign({formId:k,responseId:I,value:e},o&&i&&{documentId:i}),q&&{studioUserId:q}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");m&&i&&G({documentId:i,isInsertedAsRaw:!0}),u&&c&&Q([{type:"website",id:c,name:c,status:"finished",documentId:u}]),H();const x=(yield h.streamer({formId:k,responseId:I,data:l})).body;if(!x)throw new Error("Streaming error");const f=x.getReader(),g=new TextDecoder,v=n.length;let b="",j=!0;for(B("streaming");j;){const{value:e,done:s}=yield f.read();j=!s;if(b+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",b),b)z([...n.slice(0,v),{id:M.length+1,role:"assistant",content:b}]),V&&H();else if(!j&&!b)throw new Error("Server error")}const y=new Date;b&&(H(),B("idle"),yield $.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:k,responseId:I,documentIds:d},w&&{userId:w}),q&&{studioUserId:q}),q&&(null==S?void 0:S.studioid)&&{studioId:S.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:b,sentAt:y}]})),null==E||E(I))}catch(e){let s=b.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(U).find((([e])=>s.includes(e)));t?F(t[1]):T(s),H()}finally{B("idle"),X()}}));return s.jsxs("div",Object.assign({className:j.default("fixed flex w-full flex-col bottom-0 left-0","viewport"===O?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[ne&&s.jsx(v.default,{data:(null==S?void 0:S.icebreakers)||[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:N||oe,onSend:ae}),s.jsxs("div",Object.assign({style:re,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==S?void 0:S.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:te,type:"file",accept:[...p.allowedFileMimeTypes,...K?p.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield W(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:L,onClick:()=>{var e;return null===(e=te.current)||void 0===e?void 0:e.click()}},{children:s.jsx(f.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(x.default,{className:j.default(ie("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ee.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ee,placeholder:null!==(y=null==S?void 0:S.placeholdertext)&&void 0!==y?y:"What do you want to talk about?",onChange:e=>se(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ae())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==R||L,onClick:()=>ae()},{children:s.jsx(g.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("date-fns"),r=require("../../common/PickaxeMarkdown/index.js"),l=require("../../common/PickaxeMarkdown/Renderer.js"),o=require("../../../Icons/message-square-notes.svg.js"),i=require("../../../Icons/visitor.svg.js"),n=require("../../common/PickaxeIcon.js"),c=require("../../common/PickaxeSimpleButton.js"),d=require("../../common/PickaxeCopyButton.js");exports.default=({item:m})=>{const{pickaxe:x,styles:u,colors:h,setChatId:p,setIsNewChat:j}=a.usePickaxeContext(),f=s.useMemo((()=>t.format(m.createdAt,"hh:mm a MMM dd, yy")),[m]),g=s.useMemo((()=>m&&m.messages?m.messages.length:0),[m]),v=s.useMemo((()=>{var e,s,a,t;if("form"===m.type){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("")}return null!==(t=null===(a=null===(s=m.messages)||void 0===s?void 0:s[0])||void 0===a?void 0:a.message)&&void 0!==t?t:""}),[m]),b=s.useMemo((()=>{var e,s,a,t;return"form"===m.type?null!==(e=m.questionResponse)&&void 0!==e?e:"":null!==(t=null===(a=null===(s=m.messages)||void 0===s?void 0:s[1])||void 0===a?void 0:a.message)&&void 0!==t?t:""}),[m]);return e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:h.primary,color:h.text}},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(i.default,{className:"h-6 w-6"})})),e.jsxs("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:[e.jsx("input",{id:`${m.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),e.jsx("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),e.jsx("label",Object.assign({htmlFor:`${m.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:h.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${m.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:h.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:h.secondary,color:h.secondaryText}},{children:[e.jsx(n.default,{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:h.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(r.PickaxeMarkdown,Object.assign({theme:u.theme,accentColor:h.accent,linkPreviews:!0,actions:!0},{children:e.jsx(l.PickaxeMarkdownRenderer,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",value:b})})),e.jsxs("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==x?void 0:x.enablechatresponses)&&e.jsxs(c.default,Object.assign({color:h.accent,onClick:()=>{return e=m.responseId,j(!1),void p(e);var e}},{children:[e.jsx(o.default,{className:"h-4 w-4 shrink-0"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:g+1}))]})),e.jsx(d.default,{color:h.accent,text:b})]})),e.jsx("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:e.jsx("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:f}))}))]}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("date-fns"),r=require("../../common/PickaxeMarkdown/index.js"),l=require("../../common/PickaxeMarkdown/Renderer.js"),o=require("../../../Icons/message-square-notes.svg.js"),i=require("../../../Icons/visitor.svg.js"),n=require("../../common/PickaxeIcon.js"),c=require("../../common/PickaxeSimpleButton.js"),d=require("../../common/PickaxeCopyButton.js");exports.default=({item:x})=>{const{pickaxe:m,styles:u,colors:h,setChatId:p,setIsNewChat:j}=a.usePickaxeContext(),f=s.useMemo((()=>t.format(x.createdAt,"hh:mm a MMM dd, yy")),[x]),g=s.useMemo((()=>x&&x.messages?x.messages.length:0),[x]),v=s.useMemo((()=>{var e,s,a,t;if("form"===x.type){return(null!==(e=x.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===(a=null===(s=x.messages)||void 0===s?void 0:s[0])||void 0===a?void 0:a.message)&&void 0!==t?t:""}),[x]),b=s.useMemo((()=>{var e,s,a,t;return"form"===x.type?null!==(e=x.questionResponse)&&void 0!==e?e:"":null!==(t=null===(a=null===(s=x.messages)||void 0===s?void 0:s[1])||void 0===a?void 0:a.message)&&void 0!==t?t:""}),[x]);return e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:h.primary,color:h.text}},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(i.default,{className:"h-6 w-6"})})),e.jsxs("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:[e.jsx("input",{id:`${x.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),e.jsx("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),e.jsx("label",Object.assign({htmlFor:`${x.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:h.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${x.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:h.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:h.secondary,color:h.secondaryText}},{children:[e.jsx(n.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:h.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(r.PickaxeMarkdown,Object.assign({theme:u.theme,accentColor:h.accent,linkPreviews:!0,actions:!0},{children:e.jsx(l.PickaxeMarkdownRenderer,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:b})})),e.jsxs("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==m?void 0:m.enablechatresponses)&&e.jsxs(c.default,Object.assign({color:h.accent,onClick:()=>{return e=x.responseId,j(!1),void p(e);var e}},{children:[e.jsx(o.default,{className:"h-4 w-4 shrink-0"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:g+1}))]})),e.jsx(d.default,{color:h.accent,text:b})]})),e.jsx("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:e.jsx("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:f}))}))]}))]}))]}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("date-fns"),o=require("../../common/PickaxeMarkdown/index.js"),n=require("../../common/PickaxeMarkdown/Renderer.js"),l=require("../../../Icons/message-square-notes.svg.js"),c=require("../../../Icons/visitor.svg.js"),i=require("../../common/PickaxeIcon.js"),d=require("../../common/PickaxeSimpleButton.js"),x=require("../../Addons/Scroll/ScrollLockView.js"),h=require("../../common/PickaxeCopyButton.js");exports.default=()=>{var u;const{pickaxe:m,styles:p,colors:j,setChatId:f,setIsNewChat:g}=t.usePickaxeContext(),{response:b}=a.useResponseContext(),k=s.useMemo((()=>b?r.format(b.createdAt,"hh:mm a MMM dd, yy"):r.format(new Date,"hh:mm a MMM dd, yy")),[b]),v=s.useMemo((()=>{var e;if(!b)return"";return(null!==(e=b.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("")}),[b]);return b?e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:j.primary,color:j.text}},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(c.default,{className:"h-6 w-6"})})),e.jsxs("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[e.jsx("input",{id:`${b.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),e.jsx("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),e.jsx("label",Object.assign({htmlFor:`${b.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:j.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${b.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:j.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:j.secondary,color:j.secondaryText}},{children:[e.jsx(i.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:j.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(o.PickaxeMarkdown,Object.assign({theme:p.theme,accentColor:j.accent,linkPreviews:!0,actions:!0},{children:e.jsx(n.PickaxeMarkdownRenderer,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",value:b.questionResponse})})),e.jsxs("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==m?void 0:m.enablechatresponses)&&e.jsxs(d.default,Object.assign({color:j.accent,onClick:()=>{return e=b.responseId,g(!1),void f(e);var e}},{children:[e.jsx(l.default,{className:"h-4 w-4 shrink-0"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:b.messages.length+1}))]})),e.jsx(h.default,{color:j.accent,text:null!==(u=b.questionResponse)&&void 0!==u?u:""})]})),e.jsx("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:e.jsx("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:k}))}))]}))]}))]})),e.jsx(x.default,{})]})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../../hooks/pickaxe/useResponseContext.js"),r=require("date-fns"),n=require("../../common/PickaxeMarkdown/index.js"),o=require("../../common/PickaxeMarkdown/Renderer.js"),l=require("../../../Icons/message-square-notes.svg.js"),i=require("../../../Icons/visitor.svg.js"),c=require("../../common/PickaxeIcon.js"),d=require("../../common/PickaxeSimpleButton.js"),x=require("../../Addons/Scroll/ScrollLockView.js"),u=require("../../common/PickaxeCopyButton.js");exports.default=()=>{var h;const{pickaxe:m,styles:p,colors:j,setChatId:f,setIsNewChat:g}=t.usePickaxeContext(),{response:b}=a.useResponseContext(),k=s.useMemo((()=>b?r.format(b.createdAt,"hh:mm a MMM dd, yy"):r.format(new Date,"hh:mm a MMM dd, yy")),[b]),v=s.useMemo((()=>{var e;if(!b)return"";return(null!==(e=b.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("")}),[b]);return b?e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition duration-300 hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:j.primary,color:j.text}},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(i.default,{className:"h-6 w-6"})})),e.jsxs("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[e.jsx("input",{id:`${b.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),e.jsx("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),e.jsx("label",Object.assign({htmlFor:`${b.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:j.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${b.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:j.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:j.secondary,color:j.secondaryText}},{children:[e.jsx(c.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:j.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(n.PickaxeMarkdown,Object.assign({theme:p.theme,accentColor:j.accent,linkPreviews:!0,actions:!0},{children:e.jsx(o.PickaxeMarkdownRenderer,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:b.questionResponse})})),e.jsxs("div",Object.assign({className:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},{children:[e.jsxs("div",Object.assign({className:"flex items-center gap-3"},{children:[(null==m?void 0:m.enablechatresponses)&&e.jsxs(d.default,Object.assign({color:j.accent,onClick:()=>{return e=b.responseId,g(!1),void f(e);var e}},{children:[e.jsx(l.default,{className:"h-4 w-4 shrink-0"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:b.messages.length+1}))]})),e.jsx(u.default,{color:j.accent,text:null!==(h=b.questionResponse)&&void 0!==h?h:""})]})),e.jsx("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:e.jsx("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:k}))}))]}))]}))]})),e.jsx(x.default,{})]})):null};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),n=require("../../../../hooks/pickaxe/useSubmitResult.js"),u=require("../../Addons/Document/hooks/useDocument.js"),a=require("../../Addons/Scroll/hooks/useScroll.js"),d=require("../../../../common/api/streamer.js"),l=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{const{formId:x,userId:h,studioUserId:w,pickaxe:j,isShowHistory:b,responsiveBy:q,setIsShowHistory:v}=o.usePickaxeContext(),{status:k,limits:I,setResponse:y,setStatus:O,setLimitData:S,setError:E}=r.useResponseContext(),{documents:R,websiteLink:D,isUploading:P,onWebsiteUpload:U,setDocumentError:C}=u.useDocument(),{isScrollIncreasing:A,scrollToContainer:_,scrollToBottom:N,scrollStart:T,scrollEnd:L}=a.useScroll(),B=i.useSubmit(),H=n.useSubmitResult(),[M,W]=t.useState(!1);return s.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[s.jsx(m.default,Object.assign({className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||M||"fetching"===k||"streaming"===k,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(P||M||"fetching"===k||"streaming"===k)return;S(null),C("");const s="enduserupload"===(null==j?void 0:j.documentuploadtype),t=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),o=R.filter((e=>"finished"===e.status)),r=l.extractUrlsFromText(D),i=R.map((e=>e.name)),n=r.filter((e=>!i.includes(e)));if(n.length){const e=n[n.length-1],s=yield U(e);s&&(o.push(s),W(!0),yield new Promise((e=>setTimeout(e,5e3))),W(!1))}else if(t&&s&&!o.length)return void C("Please paste a valid website/video link or drag a file to add to the knowledge base.");E("");const u=["Multiple Choice","Checkbox"];for(const e of f){if(c.encode(e.input).length>e.maxLength&&!u.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const a=o.length?o[o.length-1]:null;let m={};f.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==a?void 0:a.name)||"":e.input}))),O("fetching");const{success:p,responseId:g,data:b,usedDocumentIds:q,rawUserInput:v,error:I}=yield B.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:m},s&&a&&{documentId:null!==(e=a.documentId)&&void 0!==e?e:""}),w&&{studioUserId:w}));if(!p)throw new Error(null!=I?I:"An error occurred, please try again.");T();const _=(yield d.streamer({formId:x,responseId:g,data:b})).body;if(!_)throw new Error("Streaming error");const L=_.getReader(),F=new TextDecoder;let K="",V=!0;y(null);const Y=f.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;V;){const{value:e,done:s}=yield L.read();V=!s;if(K+=F.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",K),K)O("streaming"),y({formId:x,responseId:g,documentIds:q,messages:[],questions:Y,questionPrompt:v,questionResponse:K,createdAt:new Date}),A&&N();else if(!V&&!K)throw new Error("Server error")}K&&(N(),O("idle"),yield H.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:g,documentIds:q},h&&{userId:h}),w&&{studioUserId:w}),w&&(null==j?void 0:j.studioid)&&{studioId:j.studioid}),{questions:Y,questionPrompt:v,questionResponse:K})))}catch(e){let s=p.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(I).find((([e])=>s.includes(e)));t?S(t[1]):E(s),W(!1),_()}finally{O("idle"),L()}}))},{children:M?"Processing...":P?"Uploading...":"fetching"===k||"streaming"===k?"Loading...":"Submit"})),!b&&s.jsx(m.default,Object.assign({variant:"transparent-text",className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),o=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../../hooks/pickaxe/useSubmit.js"),n=require("../../../../hooks/pickaxe/useSubmitResult.js"),u=require("../../Addons/Document/hooks/useDocument.js"),l=require("../../Addons/Scroll/hooks/useScroll.js"),a=require("../../../../common/api/streamer.js"),d=require("../../../../common/utils.js"),c=require("@nem035/gpt-3-encoder"),m=require("../../common/PickaxeButton.js"),p=require("../../../../common/error.js"),g=require("../../../../common/cn.js");exports.default=({questions:f})=>{const{formId:x,userId:h,studioUserId:w,pickaxe:j,isShowHistory:b,responsiveBy:q,setIsShowHistory:v,onGenerateComplete:k}=o.usePickaxeContext(),{status:I,limits:y,setResponse:O,setStatus:S,setLimitData:E,setError:R}=r.useResponseContext(),{documents:C,websiteLink:D,isUploading:P,onWebsiteUpload:U,setDocumentError:A}=u.useDocument(),{isScrollIncreasing:_,scrollToContainer:N,scrollToBottom:T,scrollStart:L,scrollEnd:B}=l.useScroll(),H=i.useSubmit(),M=n.useSubmitResult(),[W,F]=t.useState(!1);return s.jsxs("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[s.jsx(m.default,Object.assign({className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||W||"fetching"===I||"streaming"===I,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(P||W||"fetching"===I||"streaming"===I)return;E(null),A("");const s="enduserupload"===(null==j?void 0:j.documentuploadtype),t=f.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),o=C.filter((e=>"finished"===e.status)),r=d.extractUrlsFromText(D),i=C.map((e=>e.name)),n=r.filter((e=>!i.includes(e)));if(n.length){const e=n[n.length-1],s=yield U(e);s&&(o.push(s),F(!0),yield new Promise((e=>setTimeout(e,5e3))),F(!1))}else if(t&&s&&!o.length)return void A("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const u=["Multiple Choice","Checkbox"];for(const e of f){if(c.encode(e.input).length>e.maxLength&&!u.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=o.length?o[o.length-1]:null;let m={};f.forEach((e=>m=Object.assign(Object.assign({},m),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),S("fetching");const{success:p,responseId:g,data:b,usedDocumentIds:q,rawUserInput:v,error:y}=yield H.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:m},s&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),w&&{studioUserId:w}));if(!p)throw new Error(null!=y?y:"An error occurred, please try again.");L();const N=(yield a.streamer({formId:x,responseId:g,data:b})).body;if(!N)throw new Error("Streaming error");const B=N.getReader(),G=new TextDecoder;let K="",V=!0;O(null);const Y=f.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;V;){const{value:e,done:s}=yield B.read();V=!s;if(K+=G.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",K),K)S("streaming"),O({formId:x,responseId:g,documentIds:q,messages:[],questions:Y,questionPrompt:v,questionResponse:K,createdAt:new Date}),_&&T();else if(!V&&!K)throw new Error("Server error")}K&&(T(),S("idle"),yield M.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:g,documentIds:q},h&&{userId:h}),w&&{studioUserId:w}),w&&(null==j?void 0:j.studioid)&&{studioId:j.studioid}),{questions:Y,questionPrompt:v,questionResponse:K})),null==k||k(g))}catch(e){let s=p.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(y).find((([e])=>s.includes(e)));t?E(t[1]):R(s),F(!1),N()}finally{S("idle"),B()}}))},{children:W?"Processing...":P?"Uploading...":"fetching"===I||"streaming"===I?"Loading...":"Submit"})),!b&&s.jsx(m.default,Object.assign({variant:"transparent-text",className:g.default("w-full","viewport"===q?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("./Addons/Document/Provider.js"),r=require("./ResponseProvider.js");const i=s.createContext({});exports.PickaxeContext=i,exports.PickaxeProvider=({userId:o="",studioUserId:a="",styles:c,colors:d,responsiveBy:n="viewport",limits:l={},isForceMobile:u=!1,children:F})=>{const[x,h]=s.useState(""),[I,S]=s.useState(""),[y,j]=s.useState(null),[m,p]=s.useState(!0),[v,b]=s.useState(!0),[P,f]=s.useState(!1);return e.jsx(i.Provider,Object.assign({value:{formId:x,chatId:I,userId:o,studioUserId:a,pickaxe:y,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},c),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},d),responsiveBy:n,isNewChat:m,isShowIceBreaker:v,isShowHistory:P,isForceMobile:u,setFormId:h,setChatId:S,setPickaxe:j,setIsNewChat:p,setIsShowIceBreaker:b,setIsShowHistory:f}},{children:e.jsx(r.default,Object.assign({limits:l},{children:e.jsx(t.default,{children:F})}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("./Addons/Document/Provider.js"),r=require("./ResponseProvider.js");const o=t.createContext({});exports.PickaxeContext=o,exports.PickaxeProvider=({children:i,userId:a="",studioUserId:n="",styles:c,colors:d,responsiveBy:l="viewport",limits:u={},loadFont:F=!0,forceMobile:x=!1,onGenerateComplete:h})=>{const[I,S]=t.useState(""),[j,m]=t.useState(""),[p,y]=t.useState(null),[b,f]=t.useState(!0),[v,P]=t.useState(!0),[k,w]=t.useState(!1);return e.jsx(o.Provider,Object.assign({value:Object.assign({formId:I,chatId:j,userId:a,studioUserId:n,pickaxe:p,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},c),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},d),responsiveBy:l,isNewChat:b,isShowIceBreaker:v,isShowHistory:k,loadFont:F,forceMobile:x,setFormId:S,setChatId:m,setPickaxe:y,setIsNewChat:f,setIsShowIceBreaker:P,setIsShowHistory:w},h&&{onGenerateComplete:h})},{children:e.jsx(r.default,Object.assign({limits:u},{children:e.jsx(s.default,{children:i})}))}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");const s=t.createContext({});exports.ResponseContext=s,exports.default=({limits:r,children:a})=>{const[i,n]=t.useState([]),[u,o]=t.useState(null),[l,c]=t.useState("idle"),[d,g]=t.useState(null),[p,m]=t.useState(""),[x,S]=t.useState(!1);return e.jsx(s.Provider,Object.assign({value:{messages:i,response:u,status:l,limits:r,limitData:d,error:p,isGenerating:x,setMessages:n,setResponse:o,setStatus:c,setLimitData:g,setError:m,setIsGenerating:S,setMessage:e=>{n((t=>t.map(((t,s)=>s===e.id?Object.assign(Object.assign({},t),e):t))))}}},{children:a}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");const s=t.createContext({});exports.ResponseContext=s,exports.default=({limits:r,children:a})=>{const[i,n]=t.useState([]),[u,o]=t.useState(null),[l,c]=t.useState("idle"),[d,p]=t.useState(null),[x,S]=t.useState(""),[m,g]=t.useState(!1);return e.jsx(s.Provider,Object.assign({value:{messages:i,response:u,status:l,limits:r,limitData:d,error:x,isGenerating:m,setMessages:n,setResponse:o,setStatus:c,setLimitData:p,setError:S,setIsGenerating:g}},{children:a}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("@tanstack/react-query"),i=require("react");function n(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}const u=i.lazy((()=>Promise.resolve().then((function(){return n(require("lottie-react"))}))));exports.PickaxeLottie=s=>{var{getJson:a,id:o,ref:c}=s,d=e.__rest(s,["getJson","id","ref"]);const{data:l}=r.useQuery({queryKey:[o],queryFn:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return Promise.resolve().then((function(){return n(require("lottie-react"))})),a()})),enabled:"undefined"!=typeof window});return l?t.jsx(i.Suspense,Object.assign({fallback:t.jsx("div",{style:{height:d.height,width:d.width}})},{children:t.jsx(u,Object.assign({animationData:l},d))})):t.jsx("div",{style:{height:d.height,width:d.width}})};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/usePickaxeMarkdownContext.js"),r=require("../common/Action.js"),s=require("../Img/index.js");exports.default=({node:i,href:n="",children:o})=>{const{accentColor:a,linkPreviews:l,actions:c}=t.usePickaxeMarkdownContext(),u=(n||"").startsWith("www.")?`https://${n}`:n,d=u.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(d&&(null==d?void 0:d[1]))return e.jsx("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e.jsx("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${d[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return u.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e.jsx(s.default,{src:u,alt:"string"==typeof o?o:"Markdown Image"}):c&&u.includes("pickaxe")&&(u.includes("/api/fn/result")||u.includes("/api/function_call_results"))?e.jsx(r.default,{jobUrl:u}):e.jsx("a",Object.assign({href:u,target:"_blank",rel:"noopener noreferrer"},l&&{className:"marked-link-possible-preview-render"},{style:{color:a,fontWeight:600}},{children:o}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),s=require("react-syntax-highlighter"),a=require("../../hooks/usePickaxeMarkdownContext.js");exports.default=t=>{var{node:i,children:n,className:c}=t,l=e.__rest(t,["node","children","className"]);const{syntaxTheme:u}=a.usePickaxeMarkdownContext(),o=/language-(\w+)/.exec(c||"");return o?r.jsx(s.Prism,Object.assign({},l,{PreTag:"div",language:o[1],style:u,showLineNumbers:!0},{children:String(n).replace(/\n$/,"")})):r.jsx("code",Object.assign({},l,{className:c},{children:n}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),r=require("react/jsx-runtime");exports.default=t=>{var{node:i,title:l="Random Iframe",children:s}=t,a=e.__rest(t,["node","title","children"]);return r.jsx("iframe",Object.assign({title:l,style:{borderRadius:"8px"},allowFullScreen:!0},a,{children:s}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../../Core/Modal/index.js"),o=require("../../../../../Core/Modal/Body.js"),t=require("../../../../../Core/Modal/CloseButton.js");exports.default=({children:l,isOpen:a,onChangeIsOpen:i})=>{const{colors:n}=s.usePickaxeContext();return e.jsx(r.default,Object.assign({isOpen:a,onChange:i},{children:e.jsxs(o.default,Object.assign({className:"border-0 w-full h-full",style:{backgroundColor:n.primary,color:n.text,borderColor:n.text+"4D"},avoidOverflow:!0},{children:[e.jsx("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e.jsx(t.default,{})})),e.jsx("div",Object.assign({className:"mt-4 flex flex-col flex-grow"},{children:l}))]}))}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),o=require("react/jsx-runtime"),r=require("react"),s=require("../../hooks/usePickaxeMarkdownContext.js"),t=require("../../../../../../hooks/core/useHover.js"),i=require("framer-motion"),n=require("../../../../../../common/utils.js"),a=require("../../../../../Icons/download.svg.js"),l=require("../../../PickaxeCopyButton.js"),d=require("./ImgModal.js");exports.default=({node:c,src:u,alt:x})=>{const{accentColor:p}=s.usePickaxeMarkdownContext(),[b,g]=r.useState(!1),[h,j]=r.useState(!1),m=t.useHover(),{isHover:k}=m,v=e.__rest(m,["isHover"]),w={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},y=()=>o.jsxs("div",Object.assign({style:{position:"relative"}},{children:[o.jsxs(i.motion.div,Object.assign({initial:"hidden",animate:k?"visible":"hidden",variants:w,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p||"#000000"},whileTap:{scale:.95},onClick:e=>{e.stopPropagation(),window.open(u,"_blank")}},{children:o.jsx(a.default,{width:24,height:24,style:{color:n.getContrastColor(p||"#000000"),flexShrink:0}})})),o.jsx(i.motion.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:p+"07"},whileHover:{backgroundColor:p||"#000000"},whileTap:{scale:.95},onClick:e=>e.stopPropagation()},{children:o.jsx(l.default,{color:n.getContrastColor(p||"#000000"),iconClassName:"w-6 h-6",text:u||""})}))]})),o.jsx("img",{src:u,alt:x,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:k?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>g(!0),onClick:()=>j(!0)})]}));return o.jsxs("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:k?"translateY(-5px)":"translateY(0)"}},v,{children:[b?o.jsx("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):o.jsx(y,{}),h&&o.jsx(d.default,Object.assign({isOpen:h,onChangeIsOpen:j},{children:o.jsx(y,{})}))]}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/usePickaxeMarkdownContext.js"),s=require("../common/Action.js");exports.default=({node:n,children:i})=>{const{actions:l}=t.usePickaxeMarkdownContext();if(l&&"string"==typeof i&&i.includes("pickaxe")&&(i.includes("/api/fn/result")||i.includes("/api/function_call_results"))){const t=i.replace(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g,""),n=i.match(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g);return e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx("p",Object.assign({style:{fontWeight:350}},{children:t})),e.jsx(s.default,{jobUrl:(null==n?void 0:n[0])||""})]}))}return e.jsx("p",Object.assign({style:{fontWeight:350}},{children:i}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),i=require("@tanstack/react-query"),o=require("../../hooks/usePickaxeMarkdownContext.js"),a=require("../../../../../../common/lotties/loader-black.js"),n=require("../../../../../../common/lotties/loader-white.js"),s=require("../../../PickaxeLottie.js"),d=require("../../../../../../common/api/streamer.js"),c=require("../../Renderer.js"),l=require("framer-motion"),u=require("../../../../../../common/api/utils.js"),m=require("../../../../../../common/error.js");exports.default=({jobUrl:v})=>{var j,p,x,y;const{theme:f}=o.usePickaxeMarkdownContext(),[h,b]=r.useState(""),[g,k]=r.useState(""),q=r.useRef(null),w=i.useQuery({queryKey:[v],queryFn:()=>(t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(!t||t.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(t);return yield e.json()}catch(e){const t=m.default(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",t),{success:!1,error:t}}})))(v),enabled:"undefined"!=typeof window,retry:10,onSuccess:t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(k(""),!t.success)return;if("text"in t)return void b(t.text||"");if(!("fcid"in t)){const e=(yield d.streamer({formId:t.formId,responseId:t.responseId,data:t.encodedData})).body;if(!e)return;let r=!0,i="";const o=e.getReader(),a=new TextDecoder;for(;r;){const{value:e,done:t}=yield o.read();r=!t;i+=a.decode(e),b(i)}return b(i),yield u.default.post("/fn/update",{id:t.jobId,data:Object.assign(Object.assign({},t),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),w.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${v}>`)}catch(e){k(m.default(e))}}))});return t.jsx("div",Object.assign({ref:q,className:"pxe-action"},{children:t.jsx(l.AnimatePresence,{children:g||w.error||(null===(j=w.data)||void 0===j?void 0:j.error)?t.jsxs(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[t.jsx("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:g||(null===(p=w.data)||void 0===p?void 0:p.error)||"Failed to process, please try again."})),(null===(x=w.data)||void 0===x?void 0:x.traceback)&&t.jsxs(t.Fragment,{children:[t.jsxs("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),t.jsx(c.PickaxeMarkdownRenderer,{value:`\`\`\`js\n${null===(y=w.data)||void 0===y?void 0:y.traceback}\n\`\`\``})]})]})):h?t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:t.jsx(c.PickaxeMarkdownRenderer,{value:h})})):t.jsx(l.motion.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:t.jsx(s.PickaxeLottie,{id:"dark"===f?"loader-white":"loader-black",getJson:()=>e.__awaiter(void 0,void 0,void 0,(function*(){return"dark"===f?n.loaderWhite:a.loaderBlack})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../../_virtual/_tslib.js"),i=require("react/jsx-runtime"),r=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),s=require("react-syntax-highlighter"),n=require("react-markdown"),l=require("remark-gfm"),d=require("remark-math"),a=require("rehype-katex"),c=require("./A.js"),o=require("./Img.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var g=h(n),m=h(l),u=h(d),j=h(a);exports.PickaxeMarkdownRenderer=({className:n,style:l,value:d})=>{const{theme:a,syntaxTheme:h}=t.usePickaxeMarkdownContext(),x=r.useRef(null),b={h1:({node:e,children:r})=>i.jsx("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:r})),h2:({node:e,children:r})=>i.jsx("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:r})),h3:({node:e,children:r})=>i.jsx("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:r})),h4:({node:e,children:r})=>i.jsx("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:r})),h5:({node:e,children:r})=>i.jsx("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:r})),p:({node:e,children:r})=>i.jsx("p",Object.assign({style:{fontWeight:350}},{children:r})),a:c.default,ol:({node:e,children:r})=>i.jsx("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:r})),ul:({node:e,children:r})=>i.jsx("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:r})),li:({node:e,children:r})=>i.jsx("li",{children:r}),table:({children:e})=>i.jsx("div",Object.assign({className:"overflow-auto"},{children:i.jsx("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:e}))})),th:({node:e,children:r})=>i.jsx("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:r})),tr:({node:e,children:r})=>i.jsx("tr",Object.assign({style:{border:"dark"===a?"1px solid #30363D":"1px solid #D0D7DE"}},{children:r})),td:({node:e,children:r})=>i.jsx("td",Object.assign({style:{padding:"0.75em 1em"}},{children:r})),code:r=>{var{node:t,children:n,className:l}=r,d=e.__rest(r,["node","children","className"]);const a=/language-(\w+)/.exec(l||"");return a?i.jsx(s.Prism,Object.assign({},d,{PreTag:"div",language:a[1],style:h,showLineNumbers:!0},{children:String(n).replace(/\n$/,"")})):i.jsx("code",Object.assign({},d,{className:l},{children:n}))},blockquote:({node:e,children:r})=>i.jsx("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===a?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===a?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:r})),img:o.default};return i.jsx("div",Object.assign({className:"pxe-markdown",ref:x,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},l)},{children:i.jsx(g.default,Object.assign({},n&&{className:n},{components:b,remarkPlugins:[m.default,u.default],rehypePlugins:[j.default]},{children:(null!=d?d:"").replace(/\u200B/g,"")}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("./hooks/usePickaxeMarkdownContext.js"),r=require("react-markdown"),s=require("remark-gfm"),n=require("remark-math"),l=require("rehype-katex"),d=require("./Custom/A/index.js"),a=require("./Custom/P/index.js"),o=require("./Custom/Img/index.js"),c=require("./Custom/Iframe/index.js"),h=require("./Custom/Code/index.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=u(r),j=u(s),x=u(n),g=u(l);exports.PickaxeMarkdownRenderer=({className:r,style:s,value:n})=>{const{theme:l}=t.usePickaxeMarkdownContext(),u=i.useRef(null),f={h1:({node:i,children:t})=>e.jsx("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:i,children:t})=>e.jsx("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:i,children:t})=>e.jsx("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:i,children:t})=>e.jsx("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:i,children:t})=>e.jsx("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:a.default,a:d.default,ol:({node:i,children:t})=>e.jsx("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:i,children:t})=>e.jsx("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:i,children:t})=>e.jsx("li",{children:t}),table:({children:i})=>e.jsx("div",Object.assign({className:"overflow-auto"},{children:e.jsx("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:i}))})),th:({node:i,children:t})=>e.jsx("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:i,children:t})=>e.jsx("tr",Object.assign({style:{border:"dark"===l?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:i,children:t})=>e.jsx("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:h.default,blockquote:({node:i,children:t})=>e.jsx("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===l?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===l?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:o.default,iframe:c.default};return e.jsx("div",Object.assign({className:"pxe-markdown",ref:u,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},s)},{children:e.jsx(m.default,Object.assign({},r&&{className:r},{components:f,remarkPlugins:[j.default,x.default],rehypePlugins:[g.default]},{children:(null!=n?n:"").replace(/\u200B/g,"")}))}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("../../hooks/pickaxe/usePickaxe.js"),a=require("react"),t=require("../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../common/utils.js"),c=require("./Addons/Scroll/Provider.js"),i=require("./Chat/index.js"),o=require("./Form/index.js"),l=require("../../common/cn.js");exports.Pickaxe=({formId:u,className:d})=>{const{chatId:x,styles:n,colors:f,setFormId:j,setChatId:k,setPickaxe:m}=t.usePickaxeContext(),h=r.usePickaxe();return a.useEffect((()=>{j(u)}),[u]),a.useEffect((()=>{h.data&&(k(h.data.chatflag?s.generateId(15):""),m(h.data))}),[h.data]),h.data?e.jsx("div",Object.assign({className:l.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full",d,"dark"===n.theme&&"dark"),style:{backgroundColor:f.primary,color:f.text}},{children:x?e.jsx(c.default,{children:e.jsx(i.default,{})}):e.jsx(c.default,{children:e.jsx(o.default,{})})})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../../hooks/pickaxe/usePickaxe.js"),r=require("react"),s=require("../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../hooks/pickaxe/useResponseContext.js"),o=require("../../common/utils.js"),i=require("webfontloader"),l=require("./Addons/Scroll/Provider.js"),u=require("./Chat/index.js"),n=require("./Form/index.js"),d=require("../../common/cn.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=c(i);exports.Pickaxe=({formId:i,className:c})=>{const{chatId:x,styles:j,colors:k,loadFont:m,setFormId:p,setChatId:h,setPickaxe:q}=s.usePickaxeContext(),{setMessages:P,setResponse:g}=a.useResponseContext(),[y,C]=r.useState(!1),v=t.usePickaxe();return r.useEffect((()=>{p(i)}),[i]),r.useEffect((()=>{if(!v.data)return;const e=v.data.chatflag;h(e?o.generateId(15):""),e?P([]):g(null),q(v.data)}),[v.data]),r.useEffect((()=>{"undefined"!=typeof window&&(y||m&&"Real Head Pro"!==j.font&&(f.default.load({google:{families:[j.font]}}),C(!0)))}),[j.font,y]),v.data?e.jsx("div",Object.assign({className:d.default("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full",c,"dark"===j.theme&&"dark"),style:{backgroundColor:k.primary,color:k.text,fontFamily:j.font}},{children:x?e.jsx(l.default,{children:e.jsx(u.default,{})}):e.jsx(l.default,{children:e.jsx(n.default,{})})})):null};
@@ -1,3 +1,4 @@
1
1
  export declare const generateId: (length: number, prefix?: string, suffix?: string) => string;
2
2
  export declare const randomStr: (len: number, charOnly?: boolean) => string;
3
3
  export declare const extractUrlsFromText: (text: string) => string[];
4
+ export declare const getContrastColor: (hex: string) => "#FFFFFF" | "#000000";
@@ -34,24 +34,28 @@ type PickaxeContextType = {
34
34
  isNewChat: boolean;
35
35
  isShowIceBreaker: boolean;
36
36
  isShowHistory: boolean;
37
- isForceMobile: boolean;
37
+ loadFont: boolean;
38
+ forceMobile: boolean;
38
39
  setFormId: SetState<string>;
39
40
  setChatId: SetState<string>;
40
41
  setPickaxe: SetState<Pickaxe | null>;
41
42
  setIsNewChat: SetState<boolean>;
42
43
  setIsShowIceBreaker: SetState<boolean>;
43
44
  setIsShowHistory: SetState<boolean>;
45
+ onGenerateComplete?: (responseId: string) => void;
44
46
  };
45
47
  export interface IPickaxeProviderProps {
48
+ children: ReactNode;
46
49
  userId?: string;
47
50
  studioUserId?: string;
48
51
  styles?: Partial<PickaxeProviderStyles>;
49
52
  colors?: Partial<PickaxeProviderColors>;
50
53
  responsiveBy?: PickaxeResponsiveBy;
51
54
  limits?: Record<string, PickaxeLimitData>;
52
- isForceMobile?: boolean;
53
- children: ReactNode;
55
+ loadFont?: boolean;
56
+ forceMobile?: boolean;
57
+ onGenerateComplete?: (responseId: string) => void;
54
58
  }
55
59
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
56
- export declare const PickaxeProvider: ({ userId, studioUserId, styles, colors, responsiveBy, limits, isForceMobile, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
60
+ export declare const PickaxeProvider: ({ children, userId, studioUserId, styles, colors, responsiveBy, limits, loadFont, forceMobile, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
57
61
  export {};
@@ -17,7 +17,6 @@ type ResponseContextType = {
17
17
  error: string;
18
18
  isGenerating: boolean;
19
19
  setMessages: SetState<MemoryStoredChatMessage[]>;
20
- setMessage: (message: MemoryStoredChatMessage) => void;
21
20
  setResponse: SetState<MemoryStoredResponse | null>;
22
21
  setStatus: SetState<ResponseStatus>;
23
22
  setLimitData: SetState<PickaxeLimitData | null>;
@@ -0,0 +1,7 @@
1
+ import { type LottieComponentProps } from "lottie-react";
2
+ interface PickaxeLottieProps<T extends Record<string, unknown>> {
3
+ getJson: () => Promise<T>;
4
+ id: string;
5
+ }
6
+ export declare const PickaxeLottie: <T extends Record<string, unknown>>({ getJson, id, ref: _, ...props }: PickaxeLottieProps<T> & Omit<LottieComponentProps, "animationData">) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -1,4 +1,4 @@
1
1
  import type { FC, ComponentPropsWithoutRef } from "react";
2
- import type { Node } from "./Renderer";
2
+ import type { Node } from "../../Renderer";
3
3
  declare const A: FC<ComponentPropsWithoutRef<"a"> & Node>;
4
4
  export default A;
@@ -0,0 +1,4 @@
1
+ import { type FC, type ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const Code: FC<ComponentPropsWithoutRef<"code"> & Node>;
4
+ export default Code;
@@ -0,0 +1,4 @@
1
+ import type { FC, ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const Iframe: FC<ComponentPropsWithoutRef<"iframe"> & Node>;
4
+ export default Iframe;
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from "react";
2
+ interface ImgModalProps {
3
+ children?: ReactNode;
4
+ isOpen: boolean;
5
+ onChangeIsOpen: (isOpen: boolean) => void;
6
+ }
7
+ declare const ImgModal: ({ children, isOpen, onChangeIsOpen }: ImgModalProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default ImgModal;
@@ -1,4 +1,4 @@
1
1
  import { type FC, type ComponentPropsWithoutRef } from "react";
2
- import type { Node } from "./Renderer";
2
+ import type { Node } from "../../Renderer";
3
3
  declare const Img: FC<ComponentPropsWithoutRef<"img"> & Node>;
4
4
  export default Img;
@@ -0,0 +1,4 @@
1
+ import type { FC, ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const P: FC<ComponentPropsWithoutRef<"p"> & Node>;
4
+ export default P;
@@ -0,0 +1,5 @@
1
+ interface ActionProps {
2
+ jobUrl: string;
3
+ }
4
+ declare const Action: ({ jobUrl }: ActionProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default Action;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  export declare const usePickaxeMarkdownContext: () => {
3
- theme?: ("light" | "dark") | undefined;
3
+ theme?: import("..").PickaxeMarkdownTheme | undefined;
4
4
  syntaxTheme?: Record<string, import("react").CSSProperties> | undefined;
5
5
  accentColor?: string | undefined;
6
6
  linkPreviews?: boolean | undefined;
7
7
  actions?: boolean | undefined;
8
- setTheme?: import("../../../../../types/common").SetState<"light" | "dark"> | undefined;
8
+ setTheme?: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme> | undefined;
9
9
  setAccentColor?: import("../../../../../types/common").SetState<string> | undefined;
10
10
  setLinkPreviews?: import("../../../../../types/common").SetState<boolean> | undefined;
11
11
  setActions?: import("../../../../../types/common").SetState<boolean> | undefined;
@@ -1,6 +1,6 @@
1
1
  import type { SetState } from "../../../../types/common";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
- type PickaxeMarkdownTheme = "light" | "dark";
3
+ export type PickaxeMarkdownTheme = "light" | "dark";
4
4
  type PickaxeMarkdownContextType = {
5
5
  theme?: PickaxeMarkdownTheme;
6
6
  syntaxTheme?: Record<string, CSSProperties>;
@@ -10,11 +10,13 @@ export declare const usePickaxeContext: () => {
10
10
  isNewChat: boolean;
11
11
  isShowIceBreaker: boolean;
12
12
  isShowHistory: boolean;
13
- isForceMobile: boolean;
13
+ loadFont: boolean;
14
+ forceMobile: boolean;
14
15
  setFormId: import("../../types/common").SetState<string>;
15
16
  setChatId: import("../../types/common").SetState<string>;
16
17
  setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").Pickaxe | null>;
17
18
  setIsNewChat: import("../../types/common").SetState<boolean>;
18
19
  setIsShowIceBreaker: import("../../types/common").SetState<boolean>;
19
20
  setIsShowHistory: import("../../types/common").SetState<boolean>;
21
+ onGenerateComplete?: ((responseId: string) => void) | undefined;
20
22
  };
@@ -7,7 +7,6 @@ export declare const useResponseContext: () => {
7
7
  error: string;
8
8
  isGenerating: boolean;
9
9
  setMessages: import("../../types/common").SetState<import("../../types/chat").MemoryStoredChatMessage[]>;
10
- setMessage: (message: import("../../types/chat").MemoryStoredChatMessage) => void;
11
10
  setResponse: import("../../types/common").SetState<import("../../types/form").MemoryStoredResponse | null>;
12
11
  setStatus: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").ResponseStatus>;
13
12
  setLimitData: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").PickaxeLimitData | null>;
@@ -1 +1 @@
1
- import{__awaiter as t}from"../../_virtual/_tslib.js";const o=o=>t(void 0,void 0,void 0,(function*(){const t=yield fetch(`${process.env.NEXT_PUBLIC_API_UTILS_URL}/streamer`,{method:"POST",body:JSON.stringify(o)});if(200!==t.status){const o=yield t.json();throw new Error(o.detail)}return t}));export{o as streamer};
1
+ import{__awaiter as o}from"../../_virtual/_tslib.js";const r=r=>o(void 0,void 0,void 0,(function*(){const o=yield fetch(`${process.env.NEXT_PUBLIC_API_UTILS_URL}/streamer`,{method:"POST",body:JSON.stringify(r)});if(200!==o.status){const r=yield o.json();throw new Error(r.error)}return o}));export{r as streamer};
@@ -1 +1 @@
1
- const t=(t,r="",e="")=>{let o="";for(let r=0;r<t;r++){o+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return r+o+e},r=(t,r=!1)=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";r&&(e=e.replace(/[0-9]/g,""));let o="";for(let r=0;r<t;r++)o+=e.charAt(Math.floor(Math.random()*e.length));return o},e=t=>{const r=t.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(r))};export{e as extractUrlsFromText,t as generateId,r as randomStr};
1
+ const t=(t,r="",e="")=>{let n="";for(let r=0;r<t;r++){n+="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[Math.floor(36*Math.random())]}return r+n+e},r=(t,r=!1)=>{let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";r&&(e=e.replace(/[0-9]/g,""));let n="";for(let r=0;r<t;r++)n+=e.charAt(Math.floor(Math.random()*e.length));return n},e=t=>{const r=t.match(/(https?:\/\/[^\s]+)/g)||[];return Array.from(new Set(r))},n=t=>{if(!t)return"#FFFFFF";return(299*parseInt(t.substring(1,2),16)+587*parseInt(t.substring(3,2),16)+114*parseInt(t.substring(5,2),16))/1e3>=128?"#000000":"#FFFFFF"};export{e as extractUrlsFromText,t as generateId,n as getContrastColor,r as randomStr};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{useContext as s}from"react";import{ModalContext as t}from"./index.js";import n from"../../Icons/x.svg.js";import r from"../../../common/cn.js";const e=({className:e,iconClassName:c,icon:i,onClick:a})=>{const{setIsOpen:m}=s(t);return o("button",Object.assign({className:r("outline-none hover:opacity-70 hover:duration-300 active:opacity-100",e),onClick:()=>{m(!1),a&&a()}},{children:i||o(n,{className:r("h-6 w-6 shrink-0",c)})}))};export{e as default};
@@ -0,0 +1 @@
1
+ import*as r from"react";var e;function t(){return t=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)({}).hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},t.apply(null,arguments)}var n=n=>r.createElement("svg",t({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},n),e||(e=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21H3M7 10l5 5 5-5M12 15V3"})));export{n as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as t,useMemo as a}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as l}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as r}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../../Icons/circle-info.svg.js";import n from"../../common/PickaxeIcon.js";import m from"../../../Core/ErrorAlert.js";import d from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeInfoModal.js";import x from"../../common/PickaxeUpgradeCard.js";import u from"./Message.js";import f from"../../../../common/cn.js";const g=()=>{var g;const{pickaxe:h,styles:v,colors:b,isNewChat:j,responsiveBy:y,setChatId:w}=o(),{messages:k,status:E,limitData:N,error:O}=i(),C=r(),[B,F]=t(!1),P=l({type:"body"}),S=a((()=>!!C.data&&!(C.data.messages.length<=1)),[C.data]),I=a((()=>C.isSuccess&&j&&!S),[C.isSuccess,j,S]);return e("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[B&&s(p,{isOpen:B,onChangeIsOpen:F}),e("div",Object.assign({className:f("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",I&&"top-1/3 opacity-100")},{children:[s("button",Object.assign({className:"duration-300 hover:opacity-90 active:opacity-100 outline-none",onClick:()=>w("")},{children:s(n,{src:null==h?void 0:h.coverphoto,alt:`${null==h?void 0:h.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"})})),e("div",Object.assign({className:"flex flex-col items-center"},{children:[e("h2",Object.assign({className:f("mt-6 text-center font-semibold opacity-70","viewport"===y?"min-[767px]:text-lg":"@[767px]/pickaxe-root:text-lg")},{children:[`${null==h?void 0:h.formtitle.slice(0,130)}${(null!==(g=null==h?void 0:h.formtitle)&&void 0!==g?g:"").length>130?"...":""}`,s("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>F(!0)},{children:s(c,{className:"h-5 w-5 shrink-0",style:{color:b.accent}})}))]})),s("p",Object.assign({className:P("mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70")},{children:null==h?void 0:h.formdescription}))]}))]})),s("div",Object.assign({className:"flex w-full justify-center"},{children:C.isLoading?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[s("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===v.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===v.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===v.theme?"#1E1E1F":"#E5E7EB"}})]})):C.isError?s("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e("div",Object.assign({className:"flex flex-col w-full"},{children:[e("div",Object.assign({className:f("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6","viewport"===y?"min-[767px]:pt-10":"@[767px]/pickaxe-root:pt-10")},{children:[C.data.messages.map(((e,t)=>s(u,{message:e},t))),k.map(((e,t)=>s(u,{message:e},t))),"fetching"===E?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==h?void 0:h.chaticon)&&s(n,{src:null==h?void 0:h.chaticon,alt:`${null==h?void 0:h.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:b.secondary+"80",color:b.secondaryText}},{children:[s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:b.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:b.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:b.secondaryText}})]}))]})):N?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(x,{})})):O?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(m,{error:O})})):null]})),s(d,{className:"w-full"})]}))}))]}))};export{g as default};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as t,useMemo as o}from"react";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useStyleFontSize as l}from"../../../../hooks/studio/useStyleFontSize.js";import{useConversation as c}from"../../../../hooks/pickaxe/useConversation.js";import r from"../../../Icons/circle-info.svg.js";import n from"../../common/PickaxeIcon.js";import d from"../../../Core/ErrorAlert.js";import m from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeInfoModal.js";import x from"../../common/PickaxeUpgradeCard.js";import u from"./Message.js";import f from"../../../../common/cn.js";const g=()=>{var g,h;const{pickaxe:v,styles:b,colors:j,isNewChat:w,responsiveBy:y,setChatId:k}=a(),{messages:E,status:N,limitData:O,error:C}=i(),B=c(),[F,P]=t(!1),S=l({type:"body"}),I=o((()=>!!B.data&&!(B.data.messages.length<=1)),[B.data]),$=o((()=>B.isSuccess&&w&&!I),[B.isSuccess,w,I]);return e("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[F&&s(p,{isOpen:F,onChangeIsOpen:P}),e("div",Object.assign({className:f("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",$&&"top-1/3 opacity-100")},{children:[s("button",Object.assign({className:"duration-300 hover:opacity-90 active:opacity-100 outline-none",onClick:()=>k("")},{children:s(n,{src:null==v?void 0:v.coverphoto,alt:`${null==v?void 0:v.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"})})),e("div",Object.assign({className:"flex flex-col items-center"},{children:[e("h2",Object.assign({className:f("mt-6 text-center font-semibold opacity-70","viewport"===y?"min-[767px]:text-lg":"@[767px]/pickaxe-root:text-lg")},{children:[`${null==v?void 0:v.formtitle.slice(0,130)}${(null!==(g=null==v?void 0:v.formtitle)&&void 0!==g?g:"").length>130?"...":""}`,s("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>P(!0)},{children:s(r,{className:"h-5 w-5 shrink-0",style:{color:j.accent}})}))]})),s("p",Object.assign({className:S("mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70")},{children:null==v?void 0:v.formdescription}))]}))]})),s("div",Object.assign({className:"flex w-full justify-center"},{children:B.isLoading?e("div",Object.assign({className:"grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-6 pt-10"},{children:[s("div",{className:"h-10 w-[70%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===b.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===b.theme?"#1E1E1F":"#E5E7EB"}}),s("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",style:{backgroundColor:"dark"===b.theme?"#1E1E1F":"#E5E7EB"}})]})):B.isError?s("div",Object.assign({className:"flex w-full max-w-[800px] justify-center pt-10"},{children:e("p",Object.assign({className:"text-center text-xl font-semibold"},{children:["Something went wrong. Please try again, or"," ",s("a",Object.assign({href:"mailto:info@pickaxeproject.com?subject=Help"},{children:"contact us"}))," ","for help."]}))})):e("div",Object.assign({className:"flex flex-col w-full"},{children:[e("div",Object.assign({className:f("relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-6","viewport"===y?"min-[767px]:pt-10":"@[767px]/pickaxe-root:pt-10")},{children:[B.data.messages.map(((e,t)=>s(u,{message:e},t))),E.map(((e,t)=>s(u,{message:e},t))),"fetching"===N?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==v?void 0:v.chaticon)&&s(n,{src:null!==(h=null==v?void 0:v.chaticon)&&void 0!==h?h:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${null==v?void 0:v.formid}.png`,alt:`${null==v?void 0:v.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6",textColor:j.text}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:j.secondary+"80",color:j.secondaryText}},{children:[s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:j.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:j.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:j.secondaryText}})]}))]})):O?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(x,{})})):C?s("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:s(d,{error:C})})):null]})),s(m,{className:"w-full"})]}))}))]}))};export{g as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r,useMemo as i,useEffect as n}from"react";import{useMediaQuery as a}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as c}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as p}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as f}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as v,allowedImageMimeTypes as x}from"../../../common/documents.js";import{streamer as b}from"../../../common/api/streamer.js";import y from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import k from"../../Icons/attach.svg.js";import I from"../../Icons/send.svg.js";import j from"../Addons/IceBreaker/index.js";import w from"../../../common/error.js";import D from"../../../common/cn.js";const N=()=>{var N;const{formId:O,chatId:S,userId:A,studioUserId:C,pickaxe:E,colors:_,responsiveBy:U,isNewChat:R,isForceMobile:z,setIsNewChat:B,setIsShowIceBreaker:F}=l(),{messages:M,status:L,limits:T,setMessages:K,setStatus:P,setLimitData:W,setError:Q}=d(),{documents:V,isUploading:q,isImageUploadAllowed:G,upsertDocuments:H,onFileUpload:J,onEditDocumentByDocId:X}=h(),{isScrollIncreasing:Y,scrollToBottom:Z,scrollStart:$,scrollEnd:ee}=g(),oe=u(),te=p(),se=f(),[re,ie]=s(""),ne=r(null),[ae]=a("(max-width: 767px)"),le=c(),de=m({type:"body"}),ce=i((()=>{var e,o,t;return!!R&&(!!E&&(!oe.isLoading&&(!((null!==(o=null===(e=oe.data)||void 0===e?void 0:e.messages.length)&&void 0!==o?o:0)>1)&&!!(null===(t=E.icebreakers)||void 0===t?void 0:t.length))))}),[E,R,oe.data,oe.isLoading]);n((()=>{F(ce)}),[ce]);const me=o=>e(void 0,void 0,void 0,(function*(){try{if(q)return;W(null),Q(""),B(!1);const e=null!=o?o:re;if(!e||"fetching"===L||"streaming"===L)return;const t=new Date;ie("");const s="enduserupload"===(null==E?void 0:E.documentuploadtype),r=V.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),i=r.length?r[r.length-1].documentId:"";P("fetching");const n=[...M,{id:M.length+1,role:"user",content:e}];K(n),$(),Z();const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield te.mutateAsync(Object.assign(Object.assign({formId:O,responseId:S,value:e},s&&i&&{documentId:i}),C&&{studioUserId:C}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&i&&X({documentId:i,isInsertedAsRaw:!0}),c&&m&&H([{type:"website",id:m,name:m,status:"finished",documentId:c}]),Z();const f=(yield b({formId:O,responseId:S,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),g=new TextDecoder,v=n.length;let x="",y=!0;for(P("streaming");y;){const{value:e,done:o}=yield h.read();y=!o;if(x+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",x),x)K([...n.slice(0,v),{id:M.length+1,role:"assistant",content:x}]),Y&&Z();else if(!y&&!x)throw new Error("Server error")}const k=new Date;x&&(Z(),P("idle"),yield se.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:O,responseId:S,documentIds:d},A&&{userId:A}),C&&{studioUserId:C}),C&&(null==E?void 0:E.studioid)&&{studioId:E.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:x,sentAt:k}]})))}catch(e){let o=w(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(T).find((([e])=>o.includes(e)));t?W(t[1]):Q(o),Z()}finally{P("idle"),ee()}}));return o("div",Object.assign({className:D("fixed flex w-full flex-col bottom-0 left-0","viewport"===U?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[ce&&t(j,{data:(null==E?void 0:E.icebreakers)||[],style:{backgroundColor:_.secondary,color:_.secondaryText},isMobile:z||ae,onSend:me}),o("div",Object.assign({style:le,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==E?void 0:E.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:ne,type:"file",accept:[...v,...G?x:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield J(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:q,onClick:()=>{var e;return null===(e=ne.current)||void 0===e?void 0:e.click()}},{children:t(k,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]})),t(y,{className:D(de("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!re.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:re,placeholder:null!==(N=null==E?void 0:E.placeholdertext)&&void 0!==N?N:"What do you want to talk about?",onChange:e=>ie(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),me())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==L||q,onClick:()=>me()},{children:t(I,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]}))]}))};export{N as default};
1
+ import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r,useMemo as n,useEffect as i}from"react";import{useMediaQuery as a}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as l}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as d}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as c}from"../../../hooks/studio/useStyleInput.js";import{useStyleFontSize as m}from"../../../hooks/studio/useStyleFontSize.js";import{useConversation as u}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as p}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as f}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as h}from"../Addons/Document/hooks/useDocument.js";import{useScroll as g}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as v,allowedImageMimeTypes as x}from"../../../common/documents.js";import{streamer as b}from"../../../common/api/streamer.js";import y from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import k from"../../Icons/attach.svg.js";import I from"../../Icons/send.svg.js";import j from"../Addons/IceBreaker/index.js";import w from"../../../common/error.js";import D from"../../../common/cn.js";const N=()=>{var N;const{formId:O,chatId:S,userId:A,studioUserId:C,pickaxe:E,colors:_,responsiveBy:U,isNewChat:R,forceMobile:z,setIsNewChat:B,setIsShowIceBreaker:M,onGenerateComplete:F}=l(),{messages:L,status:T,limits:K,setMessages:P,setStatus:W,setLimitData:G,setError:Q}=d(),{documents:V,isUploading:q,isImageUploadAllowed:H,upsertDocuments:J,onFileUpload:X,onEditDocumentByDocId:Y}=h(),{isScrollIncreasing:Z,scrollToBottom:$,scrollStart:ee,scrollEnd:oe}=g(),te=u(),se=p(),re=f(),[ne,ie]=s(""),ae=r(null),[le]=a("(max-width: 767px)"),de=c(),ce=m({type:"body"}),me=n((()=>{var e,o,t;return!!R&&(!!E&&(!te.isLoading&&(!((null!==(o=null===(e=te.data)||void 0===e?void 0:e.messages.length)&&void 0!==o?o:0)>1)&&!!(null===(t=E.icebreakers)||void 0===t?void 0:t.length))))}),[E,R,te.data,te.isLoading]);i((()=>{M(me)}),[me]);const ue=o=>e(void 0,void 0,void 0,(function*(){try{if(q)return;G(null),Q(""),B(!1);const e=null!=o?o:ne;if(!e||"fetching"===T||"streaming"===T)return;const t=new Date;ie("");const s="enduserupload"===(null==E?void 0:E.documentuploadtype),r=V.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";W("fetching");const i=[...L,{id:L.length+1,role:"user",content:e}];P(i),ee(),$();const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield se.mutateAsync(Object.assign(Object.assign({formId:O,responseId:S,value:e},s&&n&&{documentId:n}),C&&{studioUserId:C}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&n&&Y({documentId:n,isInsertedAsRaw:!0}),c&&m&&J([{type:"website",id:m,name:m,status:"finished",documentId:c}]),$();const f=(yield b({formId:O,responseId:S,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),g=new TextDecoder,v=i.length;let x="",y=!0;for(W("streaming");y;){const{value:e,done:o}=yield h.read();y=!o;if(x+=g.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",x),x)P([...i.slice(0,v),{id:L.length+1,role:"assistant",content:x}]),Z&&$();else if(!y&&!x)throw new Error("Server error")}const k=new Date;x&&($(),W("idle"),yield re.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:O,responseId:S,documentIds:d},A&&{userId:A}),C&&{studioUserId:C}),C&&(null==E?void 0:E.studioid)&&{studioId:E.studioid}),{messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:x,sentAt:k}]})),null==F||F(S))}catch(e){let o=w(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(K).find((([e])=>o.includes(e)));t?G(t[1]):Q(o),$()}finally{W("idle"),oe()}}));return o("div",Object.assign({className:D("fixed flex w-full flex-col bottom-0 left-0","viewport"===U?"min-[767px]:relative min-[767px]:bottom-auto min-[767px]:left-auto":"absolute @[767px]/pickaxe-root:relative @[767px]/pickaxe-root:bottom-auto @[767px]/pickaxe-root:left-auto")},{children:[me&&t(j,{data:(null==E?void 0:E.icebreakers)||[],style:{backgroundColor:_.secondary,color:_.secondaryText},isMobile:z||le,onSend:ue}),o("div",Object.assign({style:de,className:"flex min-h-[56px] items-end gap-x-2 px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==E?void 0:E.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:ae,type:"file",accept:[...v,...H?x:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield X(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:q,onClick:()=>{var e;return null===(e=ae.current)||void 0===e?void 0:e.click()}},{children:t(k,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]})),t(y,{className:D(ce("max-h-60 w-full resize-none border-transparent bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight"),!ne.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:ne,placeholder:null!==(N=null==E?void 0:E.placeholdertext)&&void 0!==N?N:"What do you want to talk about?",onChange:e=>ie(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ue())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==T||q,onClick:()=>ue()},{children:t(I,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:_.accent}})}))]}))]}))};export{N 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{format as a}from"date-fns";import{PickaxeMarkdown as l}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as i}from"../../common/PickaxeMarkdown/Renderer.js";import n from"../../../Icons/message-square-notes.svg.js";import r from"../../../Icons/visitor.svg.js";import c from"../../common/PickaxeIcon.js";import d from"../../common/PickaxeSimpleButton.js";import m from"../../common/PickaxeCopyButton.js";const p=({item:p})=>{const{pickaxe:h,styles:f,colors:x,setChatId:u,setIsNewChat:g}=t(),v=o((()=>a(p.createdAt,"hh:mm a MMM dd, yy")),[p]),b=o((()=>p&&p.messages?p.messages.length:0),[p]),y=o((()=>{var e,s,o,t;if("form"===p.type){return(null!==(e=p.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=p.messages)||void 0===s?void 0:s[0])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[p]),k=o((()=>{var e,s,o,t;return"form"===p.type?null!==(e=p.questionResponse)&&void 0!==e?e:"":null!==(t=null===(o=null===(s=p.messages)||void 0===s?void 0:s[1])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[p]);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:x.primary,color:x.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(r,{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:`${p.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:y.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:y}}),s("label",Object.assign({htmlFor:`${p.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:x.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${p.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:x.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:x.secondary,color:x.secondaryText}},{children:[s(c,{src:null==h?void 0:h.chaticon,alt:`${null==h?void 0:h.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:x.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(l,Object.assign({theme:f.theme,accentColor:x.accent,linkPreviews:!0,actions:!0},{children:s(i,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",value:k})})),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==h?void 0:h.enablechatresponses)&&e(d,Object.assign({color:x.accent,onClick:()=>{return e=p.responseId,g(!1),void u(e);var e}},{children:[s(n,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:b+1}))]})),s(m,{color:x.accent,text:k})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:v}))}))]}))]}))]}))]}))};export{p 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{format as n}from"date-fns";import{PickaxeMarkdown as a}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as i}from"../../common/PickaxeMarkdown/Renderer.js";import l from"../../../Icons/message-square-notes.svg.js";import r from"../../../Icons/visitor.svg.js";import c from"../../common/PickaxeIcon.js";import d from"../../common/PickaxeSimpleButton.js";import m from"../../common/PickaxeCopyButton.js";const p=({item:p})=>{const{pickaxe:h,styles:f,colors:x,setChatId:u,setIsNewChat:g}=t(),v=o((()=>n(p.createdAt,"hh:mm a MMM dd, yy")),[p]),b=o((()=>p&&p.messages?p.messages.length:0),[p]),y=o((()=>{var e,s,o,t;if("form"===p.type){return(null!==(e=p.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=p.messages)||void 0===s?void 0:s[0])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[p]),j=o((()=>{var e,s,o,t;return"form"===p.type?null!==(e=p.questionResponse)&&void 0!==e?e:"":null!==(t=null===(o=null===(s=p.messages)||void 0===s?void 0:s[1])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[p]);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:x.primary,color:x.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(r,{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:`${p.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:y.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:y}}),s("label",Object.assign({htmlFor:`${p.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:x.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${p.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:x.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:x.secondary,color:x.secondaryText}},{children:[s(c,{src:null==h?void 0:h.chaticon,alt:`${null==h?void 0:h.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:x.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(a,Object.assign({theme:f.theme,accentColor:x.accent,linkPreviews:!0,actions:!0},{children:s(i,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:j})})),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==h?void 0:h.enablechatresponses)&&e(d,Object.assign({color:x.accent,onClick:()=>{return e=p.responseId,g(!1),void u(e);var e}},{children:[s(l,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:b+1}))]})),s(m,{color:x.accent,text:j})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:v}))}))]}))]}))]}))]}))};export{p 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 r}from"../../../../hooks/pickaxe/useResponseContext.js";import{format as n}from"date-fns";import{PickaxeMarkdown as a}from"../../common/PickaxeMarkdown/index.js";import{PickaxeMarkdownRenderer as c}from"../../common/PickaxeMarkdown/Renderer.js";import i from"../../../Icons/message-square-notes.svg.js";import l from"../../../Icons/visitor.svg.js";import m from"../../common/PickaxeIcon.js";import d from"../../common/PickaxeSimpleButton.js";import p from"../../Addons/Scroll/ScrollLockView.js";import h from"../../common/PickaxeCopyButton.js";const x=()=>{var x;const{pickaxe:f,styles:u,colors:g,setChatId:b,setIsNewChat:v}=t(),{response:k}=r(),j=o((()=>n(k?k.createdAt:new Date,"hh:mm a MMM dd, yy")),[k]),w=o((()=>{var e;if(!k)return"";return(null!==(e=k.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("")}),[k]);return k?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:g.primary,color:g.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(l,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[s("input",{id:`${k.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:w.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:w}}),s("label",Object.assign({htmlFor:`${k.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:g.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${k.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:g.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:g.secondary,color:g.secondaryText}},{children:[s(m,{src:null==f?void 0:f.chaticon,alt:`${null==f?void 0:f.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:g.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(a,Object.assign({theme:u.theme,accentColor:g.accent,linkPreviews:!0,actions:!0},{children:s(c,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",value:k.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==f?void 0:f.enablechatresponses)&&e(d,Object.assign({color:g.accent,onClick:()=>{return e=k.responseId,v(!1),void b(e);var e}},{children:[s(i,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:k.messages.length+1}))]})),s(h,{color:g.accent,text:null!==(x=k.questionResponse)&&void 0!==x?x:""})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:j}))}))]}))]}))]})),s(p,{})]})):null};export{x 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{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 i from"../../../Icons/message-square-notes.svg.js";import l from"../../../Icons/visitor.svg.js";import m from"../../common/PickaxeIcon.js";import d from"../../common/PickaxeSimpleButton.js";import p from"../../Addons/Scroll/ScrollLockView.js";import h from"../../common/PickaxeCopyButton.js";const x=()=>{var x;const{pickaxe:f,styles:u,colors:g,setChatId:b,setIsNewChat:v}=t(),{response:k}=n(),j=o((()=>r(k?k.createdAt:new Date,"hh:mm a MMM dd, yy")),[k]),y=o((()=>{var e;if(!k)return"";return(null!==(e=k.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("")}),[k]);return k?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:g.primary,color:g.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(l,{className:"h-6 w-6"})})),e("div",Object.assign({className:"flex flex-col gap-y-1 overflow-x-auto pb-[6px] scrollbar-track-gray-100 scrollbar-thumb-[#4A4A4B] lg:max-w-[520px] lg:scrollbar-thin"},{children:[s("input",{id:`${k.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:y.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:y}}),s("label",Object.assign({htmlFor:`${k.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:g.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${k.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:g.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:g.secondary,color:g.secondaryText}},{children:[s(m,{src:null==f?void 0:f.chaticon,alt:`${null==f?void 0:f.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:g.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(a,Object.assign({theme:u.theme,accentColor:g.accent,linkPreviews:!0,actions:!0},{children:s(c,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar scrollbar-thin",value:k.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==f?void 0:f.enablechatresponses)&&e(d,Object.assign({color:g.accent,onClick:()=>{return e=k.responseId,v(!1),void b(e);var e}},{children:[s(i,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:k.messages.length+1}))]})),s(h,{color:g.accent,text:null!==(x=k.questionResponse)&&void 0!==x?x:""})]})),s("div",Object.assign({className:"flex shrink-0 grow justify-end"},{children:s("p",Object.assign({className:"text-sm font-semibold uppercase opacity-30"},{children:j}))}))]}))]}))]})),s(p,{})]})):null};export{x as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as n}from"../../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as d}from"../../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as a}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as l}from"../../Addons/Scroll/hooks/useScroll.js";import{streamer as m}from"../../../../common/api/streamer.js";import{extractUrlsFromText as c}from"../../../../common/utils.js";import{encode as u}from"@nem035/gpt-3-encoder";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{const{formId:x,userId:w,studioUserId:j,pickaxe:b,isShowHistory:I,responsiveBy:k,setIsShowHistory:v}=i(),{status:y,limits:O,setResponse:S,setStatus:q,setLimitData:E,setError:D}=r(),{documents:R,websiteLink:U,isUploading:P,onWebsiteUpload:A,setDocumentError:C}=a(),{isScrollIncreasing:N,scrollToContainer:L,scrollToBottom:T,scrollStart:B,scrollEnd:_}=l(),H=n(),W=d(),[K,M]=s(!1);return o("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[t(p,Object.assign({className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||K||"fetching"===y||"streaming"===y,onClick:()=>e(void 0,void 0,void 0,(function*(){var e;try{if(P||K||"fetching"===y||"streaming"===y)return;E(null),C("");const o="enduserupload"===(null==b?void 0:b.documentuploadtype),t=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),s=R.filter((e=>"finished"===e.status)),i=c(U),r=R.map((e=>e.name)),n=i.filter((e=>!r.includes(e)));if(n.length){const e=n[n.length-1],o=yield A(e);o&&(s.push(o),M(!0),yield new Promise((e=>setTimeout(e,5e3))),M(!1))}else if(t&&o&&!s.length)return void C("Please paste a valid website/video link or drag a file to add to the knowledge base.");D("");const d=["Multiple Choice","Checkbox"];for(const e of h){if(u(e.input).length>e.maxLength&&!d.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const a=s.length?s[s.length-1]:null;let l={};h.forEach((e=>l=Object.assign(Object.assign({},l),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==a?void 0:a.name)||"":e.input}))),q("fetching");const{success:p,responseId:f,data:g,usedDocumentIds:I,rawUserInput:k,error:v}=yield H.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:l},o&&a&&{documentId:null!==(e=a.documentId)&&void 0!==e?e:""}),j&&{studioUserId:j}));if(!p)throw new Error(null!=v?v:"An error occurred, please try again.");B();const O=(yield m({formId:x,responseId:f,data:g})).body;if(!O)throw new Error("Streaming error");const L=O.getReader(),_=new TextDecoder;let V="",Y=!0;S(null);const z=h.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;Y;){const{value:e,done:o}=yield L.read();Y=!o;if(V+=_.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",V),V)q("streaming"),S({formId:x,responseId:f,documentIds:I,messages:[],questions:z,questionPrompt:k,questionResponse:V,createdAt:new Date}),N&&T();else if(!Y&&!V)throw new Error("Server error")}V&&(T(),q("idle"),yield W.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:f,documentIds:I},w&&{userId:w}),j&&{studioUserId:j}),j&&(null==b?void 0:b.studioid)&&{studioId:b.studioid}),{questions:z,questionPrompt:k,questionResponse:V})))}catch(e){let o=f(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(O).find((([e])=>o.includes(e)));t?E(t[1]):D(o),M(!1),L()}finally{q("idle"),_()}}))},{children:K?"Processing...":P?"Uploading...":"fetching"===y||"streaming"===y?"Loading...":"Submit"})),!I&&t(p,Object.assign({variant:"transparent-text",className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};export{h as default};
1
+ import{__awaiter as e}from"../../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s}from"react";import{usePickaxeContext as i}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{useSubmit as n}from"../../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as d}from"../../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as l}from"../../Addons/Document/hooks/useDocument.js";import{useScroll as a}from"../../Addons/Scroll/hooks/useScroll.js";import{streamer as m}from"../../../../common/api/streamer.js";import{extractUrlsFromText as c}from"../../../../common/utils.js";import{encode as u}from"@nem035/gpt-3-encoder";import p from"../../common/PickaxeButton.js";import f from"../../../../common/error.js";import g from"../../../../common/cn.js";const h=({questions:h})=>{const{formId:x,userId:w,studioUserId:j,pickaxe:b,isShowHistory:I,responsiveBy:k,setIsShowHistory:v,onGenerateComplete:y}=i(),{status:O,limits:S,setResponse:q,setStatus:E,setLimitData:D,setError:R}=r(),{documents:U,websiteLink:C,isUploading:P,onWebsiteUpload:A,setDocumentError:N}=l(),{isScrollIncreasing:L,scrollToContainer:T,scrollToBottom:B,scrollStart:_,scrollEnd:H}=a(),W=n(),G=d(),[K,M]=s(!1);return o("div",Object.assign({className:"mt-4 flex flex-wrap gap-2"},{children:[t(p,Object.assign({className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),isDisabled:P||K||"fetching"===O||"streaming"===O,onClick:()=>e(void 0,void 0,void 0,(function*(){var e;try{if(P||K||"fetching"===O||"streaming"===O)return;D(null),N("");const o="enduserupload"===(null==b?void 0:b.documentuploadtype),t=h.some((e=>"userinput:documentupload"===e.id&&e.isRequired)),s=U.filter((e=>"finished"===e.status)),i=c(C),r=U.map((e=>e.name)),n=i.filter((e=>!r.includes(e)));if(n.length){const e=n[n.length-1],o=yield A(e);o&&(s.push(o),M(!0),yield new Promise((e=>setTimeout(e,5e3))),M(!1))}else if(t&&o&&!s.length)return void N("Please paste a valid website/video link or drag a file to add to the knowledge base.");R("");const d=["Multiple Choice","Checkbox"];for(const e of h){if(u(e.input).length>e.maxLength&&!d.includes(e.type))throw new Error("One or more of your responses is too long!");if(e.isRequired&&!e.input.trim()&&"userinput:documentupload"!==e.id)throw new Error("You must fill out all required fields.")}const l=s.length?s[s.length-1]:null;let a={};h.forEach((e=>a=Object.assign(Object.assign({},a),{[e.id]:"Knowledge Upload"===e.type||e.id.includes("documentupload")?(null==l?void 0:l.name)||"":e.input}))),E("fetching");const{success:p,responseId:f,data:g,usedDocumentIds:I,rawUserInput:k,error:v}=yield W.mutateAsync(Object.assign(Object.assign({formId:x,valueObj:a},o&&l&&{documentId:null!==(e=l.documentId)&&void 0!==e?e:""}),j&&{studioUserId:j}));if(!p)throw new Error(null!=v?v:"An error occurred, please try again.");_();const S=(yield m({formId:x,responseId:f,data:g})).body;if(!S)throw new Error("Streaming error");const T=S.getReader(),H=new TextDecoder;let V="",Y=!0;q(null);const z=h.map((e=>({id:e.id,question:e.main,answer:e.input})));for(;Y;){const{value:e,done:o}=yield T.read();Y=!o;if(V+=H.decode(e),"development"===process.env.NODE_ENV&&console.log("[streamingResult]",V),V)E("streaming"),q({formId:x,responseId:f,documentIds:I,messages:[],questions:z,questionPrompt:k,questionResponse:V,createdAt:new Date}),L&&B();else if(!Y&&!V)throw new Error("Server error")}V&&(B(),E("idle"),yield G.mutateAsync(Object.assign(Object.assign(Object.assign(Object.assign({formId:x,responseId:f,documentIds:I},w&&{userId:w}),j&&{studioUserId:j}),j&&(null==b?void 0:b.studioid)&&{studioId:b.studioid}),{questions:z,questionPrompt:k,questionResponse:V})),null==y||y(f))}catch(e){let o=f(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later.");const t=Object.entries(S).find((([e])=>o.includes(e)));t?D(t[1]):R(o),M(!1),T()}finally{E("idle"),H()}}))},{children:K?"Processing...":P?"Uploading...":"fetching"===O||"streaming"===O?"Loading...":"Submit"})),!I&&t(p,Object.assign({variant:"transparent-text",className:g("w-full","viewport"===k?"min-[767px]:max-w-[176px]":"@[767px]/pickaxe-root:max-w-[176px]"),onClick:()=>v(!0)},{children:"See history"}))]}))};export{h as default};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as r}from"react";import t from"./Addons/Document/Provider.js";import o from"./ResponseProvider.js";const i=s({}),c=({userId:s="",studioUserId:c="",styles:n,colors:d,responsiveBy:a="viewport",limits:l={},isForceMobile:F=!1,children:m})=>{const[h,I]=r(""),[p,u]=r(""),[y,f]=r(null),[b,x]=r(!0),[j,v]=r(!0),[w,S]=r(!1);return e(i.Provider,Object.assign({value:{formId:h,chatId:p,userId:s,studioUserId:c,pickaxe:y,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},n),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},d),responsiveBy:a,isNewChat:b,isShowIceBreaker:j,isShowHistory:w,isForceMobile:F,setFormId:I,setChatId:u,setPickaxe:f,setIsNewChat:x,setIsShowIceBreaker:v,setIsShowHistory:S}},{children:e(o,Object.assign({limits:l},{children:e(t,{children:m})}))}))};export{i as PickaxeContext,c as PickaxeProvider};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as o,useState as r}from"react";import t from"./Addons/Document/Provider.js";import s from"./ResponseProvider.js";const i=o({}),n=({children:o,userId:n="",studioUserId:c="",styles:a,colors:d,responsiveBy:l="viewport",limits:m={},loadFont:F=!0,forceMobile:h=!1,onGenerateComplete:p})=>{const[I,f]=r(""),[u,y]=r(""),[b,j]=r(null),[x,v]=r(!0),[w,S]=r(!0),[g,k]=r(!1);return e(i.Provider,Object.assign({value:Object.assign({formId:I,chatId:u,userId:n,studioUserId:c,pickaxe:b,styles:Object.assign({theme:"light",font:"Real Head Pro",fontSize:"md",formFieldStyle:"box",btnStyle:"filled",outlineThickness:1,cornerRadius:4},a),colors:Object.assign({primary:"#F6F8FA",text:"#000000",secondary:"#FFFFFF",secondaryText:"#000000",accent:"#228DD7",accentText:"#FFFFFF",error:"#EF4444"},d),responsiveBy:l,isNewChat:x,isShowIceBreaker:w,isShowHistory:g,loadFont:F,forceMobile:h,setFormId:f,setChatId:y,setPickaxe:j,setIsNewChat:v,setIsShowIceBreaker:S,setIsShowHistory:k},p&&{onGenerateComplete:p})},{children:e(s,Object.assign({limits:m},{children:e(t,{children:o})}))}))};export{i as PickaxeContext,n as PickaxeProvider};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as t}from"react";const r=s({}),i=({limits:s,children:i})=>{const[a,n]=t([]),[l,o]=t(null),[m,c]=t("idle"),[g,u]=t(null),[d,p]=t(""),[j,b]=t(!1);return e(r.Provider,Object.assign({value:{messages:a,response:l,status:m,limits:s,limitData:g,error:d,isGenerating:j,setMessages:n,setResponse:o,setStatus:c,setLimitData:u,setError:p,setIsGenerating:b,setMessage:e=>{n((s=>s.map(((s,t)=>t===e.id?Object.assign(Object.assign({},s),e):s))))}}},{children:i}))};export{r as ResponseContext,i as default};
1
+ import{jsx as e}from"react/jsx-runtime";import{createContext as s,useState as t}from"react";const r=s({}),i=({limits:s,children:i})=>{const[a,n]=t([]),[l,o]=t(null),[m,u]=t("idle"),[c,d]=t(null),[g,p]=t(""),[f,h]=t(!1);return e(r.Provider,Object.assign({value:{messages:a,response:l,status:m,limits:s,limitData:c,error:g,isGenerating:f,setMessages:n,setResponse:o,setStatus:u,setLimitData:d,setError:p,setIsGenerating:h}},{children:i}))};export{r as ResponseContext,i as default};
@@ -0,0 +1 @@
1
+ import{__rest as t,__awaiter as i}from"../../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import{useQuery as r}from"@tanstack/react-query";import{Suspense as o,lazy as a}from"react";const n=a((()=>import("lottie-react"))),d=a=>{var{getJson:d,id:s,ref:c}=a,h=t(a,["getJson","id","ref"]);const{data:m}=r({queryKey:[s],queryFn:()=>i(void 0,void 0,void 0,(function*(){return import("lottie-react"),d()})),enabled:"undefined"!=typeof window});return m?e(o,Object.assign({fallback:e("div",{style:{height:h.height,width:h.width}})},{children:e(n,Object.assign({animationData:m},h))})):e("div",{style:{height:h.height,width:h.width}})};export{d as PickaxeLottie};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{usePickaxeMarkdownContext as t}from"../../hooks/usePickaxeMarkdownContext.js";import r from"../common/Action.js";import i from"../Img/index.js";const o=({node:o,href:n="",children:s})=>{const{accentColor:a,linkPreviews:l,actions:c}=t(),m=(n||"").startsWith("www.")?`https://${n}`:n,d=m.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(d&&(null==d?void 0:d[1]))return e("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${d[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return m.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e(i,{src:m,alt:"string"==typeof s?s:"Markdown Image"}):c&&m.includes("pickaxe")&&(m.includes("/api/fn/result")||m.includes("/api/function_call_results"))?e(r,{jobUrl:m}):e("a",Object.assign({href:m,target:"_blank",rel:"noopener noreferrer"},l&&{className:"marked-link-possible-preview-render"},{style:{color:a,fontWeight:600}},{children:s}))};export{o as default};
@@ -0,0 +1 @@
1
+ import{__rest as e}from"../../../../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";import{Prism as a}from"react-syntax-highlighter";import{usePickaxeMarkdownContext as s}from"../../hooks/usePickaxeMarkdownContext.js";const t=t=>{var{node:n,children:i,className:o}=t,c=e(t,["node","children","className"]);const{syntaxTheme:l}=s(),m=/language-(\w+)/.exec(o||"");return m?r(a,Object.assign({},c,{PreTag:"div",language:m[1],style:l,showLineNumbers:!0},{children:String(i).replace(/\n$/,"")})):r("code",Object.assign({},c,{className:o},{children:i}))};export{t as default};
@@ -0,0 +1 @@
1
+ import{__rest as e}from"../../../../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";const t=t=>{var{node:i,title:l="Random Iframe",children:a}=t,n=e(t,["node","title","children"]);return r("iframe",Object.assign({title:l,style:{borderRadius:"8px"},allowFullScreen:!0},n,{children:a}))};export{t as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{usePickaxeContext as r}from"../../../../../../hooks/pickaxe/usePickaxeContext.js";import s from"../../../../../Core/Modal/index.js";import t from"../../../../../Core/Modal/Body.js";import l from"../../../../../Core/Modal/CloseButton.js";const i=({children:i,isOpen:a,onChangeIsOpen:n})=>{const{colors:c}=r();return e(s,Object.assign({isOpen:a,onChange:n},{children:o(t,Object.assign({className:"border-0 w-full h-full",style:{backgroundColor:c.primary,color:c.text,borderColor:c.text+"4D"},avoidOverflow:!0},{children:[e("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e(l,{})})),e("div",Object.assign({className:"mt-4 flex flex-col flex-grow"},{children:i}))]}))}))};export{i as default};
@@ -0,0 +1 @@
1
+ import{__rest as o}from"../../../../../../_virtual/_tslib.js";import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeMarkdownContext as t}from"../../hooks/usePickaxeMarkdownContext.js";import{useHover as n}from"../../../../../../hooks/core/useHover.js";import{motion as s}from"framer-motion";import{getContrastColor as a}from"../../../../../../common/utils.js";import l from"../../../../../Icons/download.svg.js";import d from"../../../PickaxeCopyButton.js";import p from"./ImgModal.js";const c=({node:c,src:m,alt:b})=>{const{accentColor:h}=t(),[g,x]=i(!1),[u,f]=i(!1),k=n(),{isHover:w}=k,y=o(k,["isHover"]),v={hidden:{opacity:0,y:-10,pointerEvents:"none"},visible:{opacity:1,y:0,pointerEvents:"auto"}},j=()=>e("div",Object.assign({style:{position:"relative"}},{children:[e(s.div,Object.assign({initial:"hidden",animate:w?"visible":"hidden",variants:v,style:{position:"absolute",display:"flex",gap:"0.4rem",top:"10px",right:"10px",color:"#FFF"}},{children:[r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h||"#000000"},whileTap:{scale:.95},onClick:o=>{o.stopPropagation(),window.open(m,"_blank")}},{children:r(l,{width:24,height:24,style:{color:a(h||"#000000"),flexShrink:0}})})),r(s.button,Object.assign({style:{outline:"none",padding:"0.5rem 0.65rem",borderRadius:"4px",boxShadow:"0px 4px 6px rgba(0, 0, 0, 0.1)",transition:"background-color 0.2s ease",backgroundColor:h+"07"},whileHover:{backgroundColor:h||"#000000"},whileTap:{scale:.95},onClick:o=>o.stopPropagation()},{children:r(d,{color:a(h||"#000000"),iconClassName:"w-6 h-6",text:m||""})}))]})),r("img",{src:m,alt:b,style:{borderRadius:"8px",width:"100%",transition:"box-shadow 0.3s ease",boxShadow:w?"inset 0px 4px 10px rgba(0, 0, 0, 0.5)":"none"},onError:()=>x(!0),onClick:()=>f(!0)})]}));return e("div",Object.assign({style:{marginTop:"2rem",marginBottom:"2rem",display:"flex",width:"100%",justifyContent:"center",overflow:"hidden",borderRadius:"8px",transition:"transform 0.3s ease, box-shadow 0.3s ease",transform:w?"translateY(-5px)":"translateY(0)"}},y,{children:[g?r("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):r(j,{}),u&&r(p,Object.assign({isOpen:u,onChangeIsOpen:f},{children:r(j,{})}))]}))};export{c as default};
@@ -0,0 +1 @@
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{usePickaxeMarkdownContext as n}from"../../hooks/usePickaxeMarkdownContext.js";import s from"../common/Action.js";const i=({node:i,children:l})=>{const{actions:c}=n();if(c&&"string"==typeof l&&l.includes("pickaxe")&&(l.includes("/api/fn/result")||l.includes("/api/function_call_results"))){const n=l.replace(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g,""),i=l.match(/https:\/\/\S*(\/api\/fn\/result|\/api\/function_call_results)\S*/g);return t("div",Object.assign({className:"flex flex-col"},{children:[e("p",Object.assign({style:{fontWeight:350}},{children:n})),e(s,{jobUrl:(null==i?void 0:i[0])||""})]}))}return e("p",Object.assign({style:{fontWeight:350}},{children:l}))};export{i as default};
@@ -0,0 +1 @@
1
+ import{__awaiter as e}from"../../../../../../_virtual/_tslib.js";import{jsx as o,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as r,useRef as n}from"react";import{useQuery as a}from"@tanstack/react-query";import{usePickaxeMarkdownContext as d}from"../../hooks/usePickaxeMarkdownContext.js";import{loaderBlack as c}from"../../../../../../common/lotties/loader-black.js";import{loaderWhite as s}from"../../../../../../common/lotties/loader-white.js";import{PickaxeLottie as l}from"../../../PickaxeLottie.js";import{streamer as m}from"../../../../../../common/api/streamer.js";import{PickaxeMarkdownRenderer as p}from"../../Renderer.js";import{AnimatePresence as u,motion as f}from"framer-motion";import v from"../../../../../../common/api/utils.js";import y from"../../../../../../common/error.js";const h=({jobUrl:h})=>{var j,b,g,x;const{theme:k}=d(),[w,O]=r(""),[F,N]=r(""),E=n(null),I=a({queryKey:[h],queryFn:()=>(o=>e(void 0,void 0,void 0,(function*(){try{if(!o||o.includes("undefined"))throw new Error("Invalid action job URL");const e=yield fetch(o);return yield e.json()}catch(e){const o=y(e);return"development"===process.env.NODE_ENV&&console.error("[getJobResult]",o),{success:!1,error:o}}})))(h),enabled:"undefined"!=typeof window,retry:10,onSuccess:o=>e(void 0,void 0,void 0,(function*(){try{if(N(""),!o.success)return;if("text"in o)return void O(o.text||"");if(!("fcid"in o)){const e=(yield m({formId:o.formId,responseId:o.responseId,data:o.encodedData})).body;if(!e)return;let t=!0,i="";const r=e.getReader(),n=new TextDecoder;for(;t;){const{value:e,done:o}=yield r.read();t=!o;i+=n.decode(e),O(i)}return O(i),yield v.post("/fn/update",{id:o.jobId,data:Object.assign(Object.assign({},o),{text:i})}),void console.log("[Action] streaming done")}yield new Promise((e=>setTimeout(e,3e3))),I.refetch(),"development"===process.env.NODE_ENV&&console.log(`[Action] refetching <${h}>`)}catch(e){N(y(e))}}))});return o("div",Object.assign({ref:E,className:"pxe-action"},{children:o(u,{children:F||I.error||(null===(j=I.data)||void 0===j?void 0:j.error)?t(f.div,Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:[o("blockquote",Object.assign({style:{lineHeight:"20px",borderLeft:"4px solid #FF0000",color:"#FF0000",paddingLeft:"1rem",marginBottom:"1rem"}},{children:F||(null===(b=I.data)||void 0===b?void 0:b.error)||"Failed to process, please try again."})),(null===(g=I.data)||void 0===g?void 0:g.traceback)&&t(i,{children:[t("p",Object.assign({style:{color:"#FF0000"}},{children:["Traceback:"," "]})),o(p,{value:`\`\`\`js\n${null===(x=I.data)||void 0===x?void 0:x.traceback}\n\`\`\``})]})]})):o(f.div,w?Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3},className:"mt-4"},{children:o(p,{value:w})}):Object.assign({initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.3}},{children:o(l,{id:"dark"===k?"loader-white":"loader-black",getJson:()=>e(void 0,void 0,void 0,(function*(){return"dark"===k?s:c})),autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}})}))})}))};export{h as default};
@@ -1 +1 @@
1
- import{__rest as e}from"../../../../_virtual/_tslib.js";import{jsx as i}from"react/jsx-runtime";import{useRef as t}from"react";import{usePickaxeMarkdownContext as n}from"./hooks/usePickaxeMarkdownContext.js";import{Prism as r}from"react-syntax-highlighter";import l from"react-markdown";import s from"remark-gfm";import o from"remark-math";import d from"rehype-katex";import c from"./A.js";import a from"./Img.js";const m=({className:m,style:h,value:g})=>{const{theme:p,syntaxTheme:b}=n(),f=t(null),y={h1:({node:e,children:t})=>i("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:e,children:t})=>i("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:e,children:t})=>i("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:e,children:t})=>i("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:e,children:t})=>i("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:({node:e,children:t})=>i("p",Object.assign({style:{fontWeight:350}},{children:t})),a:c,ol:({node:e,children:t})=>i("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:e,children:t})=>i("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:e,children:t})=>i("li",{children:t}),table:({children:e})=>i("div",Object.assign({className:"overflow-auto"},{children:i("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:e}))})),th:({node:e,children:t})=>i("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:e,children:t})=>i("tr",Object.assign({style:{border:"dark"===p?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:e,children:t})=>i("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:t=>{var{node:n,children:l,className:s}=t,o=e(t,["node","children","className"]);const d=/language-(\w+)/.exec(s||"");return d?i(r,Object.assign({},o,{PreTag:"div",language:d[1],style:b,showLineNumbers:!0},{children:String(l).replace(/\n$/,"")})):i("code",Object.assign({},o,{className:s},{children:l}))},blockquote:({node:e,children:t})=>i("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===p?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===p?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:a};return i("div",Object.assign({className:"pxe-markdown",ref:f,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},h)},{children:i(l,Object.assign({},m&&{className:m},{components:y,remarkPlugins:[s,o],rehypePlugins:[d]},{children:(null!=g?g:"").replace(/\u200B/g,"")}))}))};export{m as PickaxeMarkdownRenderer};
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as i}from"react";import{usePickaxeMarkdownContext as t}from"./hooks/usePickaxeMarkdownContext.js";import r from"react-markdown";import n from"remark-gfm";import l from"remark-math";import s from"rehype-katex";import o from"./Custom/A/index.js";import d from"./Custom/P/index.js";import m from"./Custom/Img/index.js";import c from"./Custom/Iframe/index.js";import a from"./Custom/Code/index.js";const h=({className:h,style:g,value:p})=>{const{theme:f}=t(),b=i(null),j={h1:({node:i,children:t})=>e("h1",Object.assign({style:{fontSize:"2.25rem",lineHeight:"2.5rem"}},{children:t})),h2:({node:i,children:t})=>e("h2",Object.assign({style:{fontSize:"1.875rem",lineHeight:"2.25rem"}},{children:t})),h3:({node:i,children:t})=>e("h3",Object.assign({style:{fontSize:"1.5rem",lineHeight:"2rem"}},{children:t})),h4:({node:i,children:t})=>e("h4",Object.assign({className:"mt-2 text-xl",style:{fontSize:"1.25rem",lineHeight:"1.75rem"}},{children:t})),h5:({node:i,children:t})=>e("h5",Object.assign({style:{fontSize:"1.125rem",lineHeight:"1.75rem"}},{children:t})),p:d,a:o,ol:({node:i,children:t})=>e("ol",Object.assign({style:{listStyleType:"decimal",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),ul:({node:i,children:t})=>e("ul",Object.assign({style:{listStyleType:"disc",listStylePosition:"inside",paddingLeft:"1.5rem"}},{children:t})),li:({node:i,children:t})=>e("li",{children:t}),table:({children:i})=>e("div",Object.assign({className:"overflow-auto"},{children:e("table",Object.assign({style:{tableLayout:"fixed",fontSize:"0.875rem",lineHeight:"1.24rem"}},{children:i}))})),th:({node:i,children:t})=>e("th",Object.assign({style:{padding:"0.75em 1em",fontWeight:600,textAlign:"left"}},{children:t})),tr:({node:i,children:t})=>e("tr",Object.assign({style:{border:"dark"===f?"1px solid #30363D":"1px solid #D0D7DE"}},{children:t})),td:({node:i,children:t})=>e("td",Object.assign({style:{padding:"0.75em 1em"}},{children:t})),code:a,blockquote:({node:i,children:t})=>e("blockquote",Object.assign({style:{lineHeight:"15px",borderLeft:"dark"===f?"4px solid #30363D":"4px solid #D0D7DE",color:"dark"===f?"#8B8B8B":"#656D76",paddingLeft:"1rem",marginBottom:"1rem"}},{children:t})),img:m,iframe:c};return e("div",Object.assign({className:"pxe-markdown",ref:b,style:Object.assign({position:"relative",whiteSpace:"pre-wrap"},g)},{children:e(r,Object.assign({},h&&{className:h},{components:j,remarkPlugins:[n,l],rehypePlugins:[s]},{children:(null!=p?p:"").replace(/\u200B/g,"")}))}))};export{h as PickaxeMarkdownRenderer};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{usePickaxe as r}from"../../hooks/pickaxe/usePickaxe.js";import{useEffect as t}from"react";import{usePickaxeContext as e}from"../../hooks/pickaxe/usePickaxeContext.js";import{generateId as a}from"../../common/utils.js";import m from"./Addons/Scroll/Provider.js";import s from"./Chat/index.js";import i from"./Form/index.js";import c from"../../common/cn.js";const l=({formId:l,className:d})=>{const{chatId:n,styles:f,colors:x,setFormId:p,setChatId:h,setPickaxe:k}=e(),j=r();return t((()=>{p(l)}),[l]),t((()=>{j.data&&(h(j.data.chatflag?a(15):""),k(j.data))}),[j.data]),j.data?o("div",Object.assign({className:c("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full",d,"dark"===f.theme&&"dark"),style:{backgroundColor:x.primary,color:x.text}},{children:o(m,n?{children:o(s,{})}:{children:o(i,{})})})):null};export{l as Pickaxe};
1
+ import{jsx as o}from"react/jsx-runtime";import{usePickaxe as e}from"../../hooks/pickaxe/usePickaxe.js";import{useState as t,useEffect as r}from"react";import{usePickaxeContext as a}from"../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as s}from"../../hooks/pickaxe/useResponseContext.js";import{generateId as i}from"../../common/utils.js";import m from"webfontloader";import n from"./Addons/Scroll/Provider.js";import l from"./Chat/index.js";import c from"./Form/index.js";import d from"../../common/cn.js";const f=({formId:f,className:p})=>{const{chatId:x,styles:k,colors:u,loadFont:h,setFormId:j,setChatId:g,setPickaxe:w}=a(),{setMessages:y,setResponse:C}=s(),[P,F]=t(!1),I=e();return r((()=>{j(f)}),[f]),r((()=>{if(!I.data)return;const o=I.data.chatflag;g(o?i(15):""),o?y([]):C(null),w(I.data)}),[I.data]),r((()=>{"undefined"!=typeof window&&(P||h&&"Real Head Pro"!==k.font&&(m.load({google:{families:[k.font]}}),F(!0)))}),[k.font,P]),I.data?o("div",Object.assign({className:d("relative @container/pickaxe-root flex flex-col flex-grow w-full h-full",p,"dark"===k.theme&&"dark"),style:{backgroundColor:u.primary,color:u.text,fontFamily:k.font}},{children:o(n,x?{children:o(l,{})}:{children:o(c,{})})})):null};export{f as Pickaxe};
@@ -1,3 +1,4 @@
1
1
  export declare const generateId: (length: number, prefix?: string, suffix?: string) => string;
2
2
  export declare const randomStr: (len: number, charOnly?: boolean) => string;
3
3
  export declare const extractUrlsFromText: (text: string) => string[];
4
+ export declare const getContrastColor: (hex: string) => "#FFFFFF" | "#000000";
@@ -34,24 +34,28 @@ type PickaxeContextType = {
34
34
  isNewChat: boolean;
35
35
  isShowIceBreaker: boolean;
36
36
  isShowHistory: boolean;
37
- isForceMobile: boolean;
37
+ loadFont: boolean;
38
+ forceMobile: boolean;
38
39
  setFormId: SetState<string>;
39
40
  setChatId: SetState<string>;
40
41
  setPickaxe: SetState<Pickaxe | null>;
41
42
  setIsNewChat: SetState<boolean>;
42
43
  setIsShowIceBreaker: SetState<boolean>;
43
44
  setIsShowHistory: SetState<boolean>;
45
+ onGenerateComplete?: (responseId: string) => void;
44
46
  };
45
47
  export interface IPickaxeProviderProps {
48
+ children: ReactNode;
46
49
  userId?: string;
47
50
  studioUserId?: string;
48
51
  styles?: Partial<PickaxeProviderStyles>;
49
52
  colors?: Partial<PickaxeProviderColors>;
50
53
  responsiveBy?: PickaxeResponsiveBy;
51
54
  limits?: Record<string, PickaxeLimitData>;
52
- isForceMobile?: boolean;
53
- children: ReactNode;
55
+ loadFont?: boolean;
56
+ forceMobile?: boolean;
57
+ onGenerateComplete?: (responseId: string) => void;
54
58
  }
55
59
  export declare const PickaxeContext: import("react").Context<PickaxeContextType>;
56
- export declare const PickaxeProvider: ({ userId, studioUserId, styles, colors, responsiveBy, limits, isForceMobile, children, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
60
+ export declare const PickaxeProvider: ({ children, userId, studioUserId, styles, colors, responsiveBy, limits, loadFont, forceMobile, onGenerateComplete, }: IPickaxeProviderProps) => import("react/jsx-runtime").JSX.Element;
57
61
  export {};
@@ -17,7 +17,6 @@ type ResponseContextType = {
17
17
  error: string;
18
18
  isGenerating: boolean;
19
19
  setMessages: SetState<MemoryStoredChatMessage[]>;
20
- setMessage: (message: MemoryStoredChatMessage) => void;
21
20
  setResponse: SetState<MemoryStoredResponse | null>;
22
21
  setStatus: SetState<ResponseStatus>;
23
22
  setLimitData: SetState<PickaxeLimitData | null>;
@@ -0,0 +1,7 @@
1
+ import { type LottieComponentProps } from "lottie-react";
2
+ interface PickaxeLottieProps<T extends Record<string, unknown>> {
3
+ getJson: () => Promise<T>;
4
+ id: string;
5
+ }
6
+ export declare const PickaxeLottie: <T extends Record<string, unknown>>({ getJson, id, ref: _, ...props }: PickaxeLottieProps<T> & Omit<LottieComponentProps, "animationData">) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -1,4 +1,4 @@
1
1
  import type { FC, ComponentPropsWithoutRef } from "react";
2
- import type { Node } from "./Renderer";
2
+ import type { Node } from "../../Renderer";
3
3
  declare const A: FC<ComponentPropsWithoutRef<"a"> & Node>;
4
4
  export default A;
@@ -0,0 +1,4 @@
1
+ import { type FC, type ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const Code: FC<ComponentPropsWithoutRef<"code"> & Node>;
4
+ export default Code;
@@ -0,0 +1,4 @@
1
+ import type { FC, ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const Iframe: FC<ComponentPropsWithoutRef<"iframe"> & Node>;
4
+ export default Iframe;
@@ -0,0 +1,8 @@
1
+ import type { ReactNode } from "react";
2
+ interface ImgModalProps {
3
+ children?: ReactNode;
4
+ isOpen: boolean;
5
+ onChangeIsOpen: (isOpen: boolean) => void;
6
+ }
7
+ declare const ImgModal: ({ children, isOpen, onChangeIsOpen }: ImgModalProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default ImgModal;
@@ -1,4 +1,4 @@
1
1
  import { type FC, type ComponentPropsWithoutRef } from "react";
2
- import type { Node } from "./Renderer";
2
+ import type { Node } from "../../Renderer";
3
3
  declare const Img: FC<ComponentPropsWithoutRef<"img"> & Node>;
4
4
  export default Img;
@@ -0,0 +1,4 @@
1
+ import type { FC, ComponentPropsWithoutRef } from "react";
2
+ import type { Node } from "../../Renderer";
3
+ declare const P: FC<ComponentPropsWithoutRef<"p"> & Node>;
4
+ export default P;
@@ -0,0 +1,5 @@
1
+ interface ActionProps {
2
+ jobUrl: string;
3
+ }
4
+ declare const Action: ({ jobUrl }: ActionProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default Action;
@@ -1,11 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  export declare const usePickaxeMarkdownContext: () => {
3
- theme?: ("light" | "dark") | undefined;
3
+ theme?: import("..").PickaxeMarkdownTheme | undefined;
4
4
  syntaxTheme?: Record<string, import("react").CSSProperties> | undefined;
5
5
  accentColor?: string | undefined;
6
6
  linkPreviews?: boolean | undefined;
7
7
  actions?: boolean | undefined;
8
- setTheme?: import("../../../../../types/common").SetState<"light" | "dark"> | undefined;
8
+ setTheme?: import("../../../../../types/common").SetState<import("..").PickaxeMarkdownTheme> | undefined;
9
9
  setAccentColor?: import("../../../../../types/common").SetState<string> | undefined;
10
10
  setLinkPreviews?: import("../../../../../types/common").SetState<boolean> | undefined;
11
11
  setActions?: import("../../../../../types/common").SetState<boolean> | undefined;
@@ -1,6 +1,6 @@
1
1
  import type { SetState } from "../../../../types/common";
2
2
  import { type CSSProperties, type ReactNode } from "react";
3
- type PickaxeMarkdownTheme = "light" | "dark";
3
+ export type PickaxeMarkdownTheme = "light" | "dark";
4
4
  type PickaxeMarkdownContextType = {
5
5
  theme?: PickaxeMarkdownTheme;
6
6
  syntaxTheme?: Record<string, CSSProperties>;
@@ -10,11 +10,13 @@ export declare const usePickaxeContext: () => {
10
10
  isNewChat: boolean;
11
11
  isShowIceBreaker: boolean;
12
12
  isShowHistory: boolean;
13
- isForceMobile: boolean;
13
+ loadFont: boolean;
14
+ forceMobile: boolean;
14
15
  setFormId: import("../../types/common").SetState<string>;
15
16
  setChatId: import("../../types/common").SetState<string>;
16
17
  setPickaxe: import("../../types/common").SetState<import("../../types/pickaxe").Pickaxe | null>;
17
18
  setIsNewChat: import("../../types/common").SetState<boolean>;
18
19
  setIsShowIceBreaker: import("../../types/common").SetState<boolean>;
19
20
  setIsShowHistory: import("../../types/common").SetState<boolean>;
21
+ onGenerateComplete?: ((responseId: string) => void) | undefined;
20
22
  };
@@ -7,7 +7,6 @@ export declare const useResponseContext: () => {
7
7
  error: string;
8
8
  isGenerating: boolean;
9
9
  setMessages: import("../../types/common").SetState<import("../../types/chat").MemoryStoredChatMessage[]>;
10
- setMessage: (message: import("../../types/chat").MemoryStoredChatMessage) => void;
11
10
  setResponse: import("../../types/common").SetState<import("../../types/form").MemoryStoredResponse | null>;
12
11
  setStatus: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").ResponseStatus>;
13
12
  setLimitData: import("../../types/common").SetState<import("../../components/Pickaxe/ResponseProvider").PickaxeLimitData | null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "0.0.36",
3
+ "version": "0.0.38",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",
@@ -70,6 +70,7 @@
70
70
  "@types/react": "^18.0.26",
71
71
  "@types/react-dom": "^18.0.10",
72
72
  "@types/react-syntax-highlighter": "^15.5.13",
73
+ "@types/webfontloader": "^1.6.38",
73
74
  "@typescript-eslint/eslint-plugin": "^5.48.1",
74
75
  "@typescript-eslint/parser": "^5.48.1",
75
76
  "@zerollup/ts-transform-paths": "^1.7.18",
@@ -123,6 +124,7 @@
123
124
  "vite": "^6.0.7",
124
125
  "vite-plugin-svgr": "^4.3.0",
125
126
  "vite-tsconfig-paths": "^5.1.4",
127
+ "webfontloader": "^1.6.28",
126
128
  "webpack": "^5.75.0",
127
129
  "webpack-cli": "^5.0.1"
128
130
  },
@@ -150,7 +152,8 @@
150
152
  "remark-gfm": "^4.0.0",
151
153
  "remark-math": "^6.0.0",
152
154
  "tailwind-merge": "^2.6.0",
153
- "tailwind-scrollbar": "^3.1.0"
155
+ "tailwind-scrollbar": "^3.1.0",
156
+ "webfontloader": "^1.6.28"
154
157
  },
155
158
  "engines": {
156
159
  "node": ">=18"
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("./hooks/usePickaxeMarkdownContext.js"),r=require("../../../../common/lotties/loader-black.js"),i=require("../../../../common/lotties/loader-white.js"),s=require("lottie-react"),a=require("./Img.js");exports.default=({node:o,href:n="",children:l})=>{const{theme:c,accentColor:d,linkPreviews:u,actions:m}=t.usePickaxeMarkdownContext(),{View:h}=s.useLottie({animationData:"dark"===c?i.loaderWhite:r.loaderBlack,autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}}),p=(n||"").startsWith("www.")?`https://${n}`:n,w=p.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(w&&(null==w?void 0:w[1]))return e.jsx("div",Object.assign({style:{marginTop:"2.5rem",marginBottom:"2.5rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e.jsx("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${w[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return p.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e.jsx(a.default,{src:p,alt:"string"==typeof l?l:"Markdown Image"}):m&&p.includes("pickaxe")&&(p.includes("/api/fn/result")||p.includes("/api/function_call_results"))?e.jsx("div",Object.assign({className:"marked-link-function-calling-loader",style:{width:"100%",maxWidth:"150px",minHeight:"150px"}},{children:h})):e.jsx("a",Object.assign({href:p,target:"_blank",rel:"noopener noreferrer"},u&&{className:"marked-link-possible-preview-render"},{style:{color:d,fontWeight:600}},{children:l}))};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");exports.default=({node:r,src:s,alt:i})=>{const[n,a]=t.useState(!1);return e.jsx("div",Object.assign({style:{marginTop:"2.5rem",marginBottom:"2.5rem",display:"flex",width:"100%",justifyContent:"center"}},{children:n?e.jsx("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):e.jsx("img",{src:s,alt:i,style:{borderRadius:"8px",maxWidth:"680px"},onError:()=>a(!0)})}))};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{usePickaxeMarkdownContext as t}from"./hooks/usePickaxeMarkdownContext.js";import{loaderBlack as i}from"../../../../common/lotties/loader-black.js";import{loaderWhite as r}from"../../../../common/lotties/loader-white.js";import{useLottie as o}from"lottie-react";import n from"./Img.js";const a=({node:a,href:s="",children:l})=>{const{theme:m,accentColor:c,linkPreviews:d,actions:p}=t(),{View:h}=o({animationData:"dark"===m?r:i,autoplay:!0,loop:!0,style:{cursor:"default",pointerEvents:"none",width:"100%",maxWidth:"150px",height:"150px"}}),u=(s||"").startsWith("www.")?`https://${s}`:s,f=u.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(f&&(null==f?void 0:f[1]))return e("div",Object.assign({style:{marginTop:"2.5rem",marginBottom:"2.5rem",display:"flex",width:"100%",justifyContent:"center"}},{children:e("iframe",Object.assign({title:"youtube-embed",src:`https://www.youtube.com/embed/${f[1]}`,style:{width:"100%",maxWidth:"560px"},allowFullScreen:!0},{children:"Iframe not supported, use a different browser."}))}));return u.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/)?e(n,{src:u,alt:"string"==typeof l?l:"Markdown Image"}):p&&u.includes("pickaxe")&&(u.includes("/api/fn/result")||u.includes("/api/function_call_results"))?e("div",Object.assign({className:"marked-link-function-calling-loader",style:{width:"100%",maxWidth:"150px",minHeight:"150px"}},{children:h})):e("a",Object.assign({href:u,target:"_blank",rel:"noopener noreferrer"},d&&{className:"marked-link-possible-preview-render"},{style:{color:c,fontWeight:600}},{children:l}))};export{a as default};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{useState as e}from"react";const r=({node:r,src:i,alt:n})=>{const[o,s]=e(!1);return t("div",Object.assign({style:{marginTop:"2.5rem",marginBottom:"2.5rem",display:"flex",width:"100%",justifyContent:"center"}},{children:o?t("p",Object.assign({style:{userSelect:"none",opacity:.5,fontStyle:"italic"}},{children:"[Image link is broken]"})):t("img",{src:i,alt:n,style:{borderRadius:"8px",maxWidth:"680px"},onError:()=>s(!0)})}))};export{r as default};