@pickaxeproject/react 0.0.15 → 0.0.17

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 (61) hide show
  1. package/dist/cjs/common/renderer.js +1 -1
  2. package/dist/cjs/components/Icons/spark.svg.js +1 -0
  3. package/dist/cjs/components/Pickaxe/Chat/History/Message.js +1 -1
  4. package/dist/cjs/components/Pickaxe/Chat/History/index.js +1 -1
  5. package/dist/cjs/components/Pickaxe/Chat/Input.js +1 -1
  6. package/dist/cjs/components/Pickaxe/Form/Head.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/History/Container.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Form/History/Item.js +1 -1
  9. package/dist/cjs/components/Pickaxe/Form/History/Response.js +1 -1
  10. package/dist/cjs/components/Pickaxe/InfoModal.js +1 -1
  11. package/dist/cjs/components/Pickaxe/common/PickaxeCopyButton.js +1 -0
  12. package/dist/cjs/components/Pickaxe/common/PickaxeIcon.js +1 -0
  13. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown.js +1 -0
  14. package/dist/cjs/components/Pickaxe/common/PickaxeSimpleButton.js +1 -0
  15. package/dist/cjs/hooks/pickaxe/useActions.js +1 -0
  16. package/dist/cjs/hooks/pickaxe/useLinkPreviews.js +1 -0
  17. package/dist/cjs/index.js +1 -1
  18. package/dist/cjs/src/common/renderer.d.ts +4 -2
  19. package/dist/cjs/src/components/Pickaxe/common/PickaxeCopyButton.d.ts +8 -0
  20. package/dist/{esm/src/components/Core → cjs/src/components/Pickaxe/common}/PickaxeIcon.d.ts +2 -1
  21. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown.d.ts +13 -0
  22. package/dist/cjs/src/components/Pickaxe/common/PickaxeSimpleButton.d.ts +10 -0
  23. package/dist/cjs/src/hooks/pickaxe/useActions.d.ts +8 -0
  24. package/dist/cjs/src/hooks/pickaxe/useLinkPreviews.d.ts +6 -0
  25. package/dist/cjs/src/index.d.ts +2 -0
  26. package/dist/esm/common/renderer.js +1 -1
  27. package/dist/esm/components/Icons/spark.svg.js +1 -0
  28. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  29. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  30. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  31. package/dist/esm/components/Pickaxe/Form/Head.js +1 -1
  32. package/dist/esm/components/Pickaxe/Form/History/Container.js +1 -1
  33. package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
  34. package/dist/esm/components/Pickaxe/Form/History/Response.js +1 -1
  35. package/dist/esm/components/Pickaxe/InfoModal.js +1 -1
  36. package/dist/esm/components/Pickaxe/common/PickaxeCopyButton.js +1 -0
  37. package/dist/esm/components/Pickaxe/common/PickaxeIcon.js +1 -0
  38. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown.js +1 -0
  39. package/dist/esm/components/Pickaxe/common/PickaxeSimpleButton.js +1 -0
  40. package/dist/esm/hooks/pickaxe/useActions.js +1 -0
  41. package/dist/esm/hooks/pickaxe/useLinkPreviews.js +1 -0
  42. package/dist/esm/index.js +1 -1
  43. package/dist/esm/src/common/renderer.d.ts +4 -2
  44. package/dist/esm/src/components/Pickaxe/common/PickaxeCopyButton.d.ts +8 -0
  45. package/dist/{cjs/src/components/Core → esm/src/components/Pickaxe/common}/PickaxeIcon.d.ts +2 -1
  46. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown.d.ts +13 -0
  47. package/dist/esm/src/components/Pickaxe/common/PickaxeSimpleButton.d.ts +10 -0
  48. package/dist/esm/src/hooks/pickaxe/useActions.d.ts +8 -0
  49. package/dist/esm/src/hooks/pickaxe/useLinkPreviews.d.ts +6 -0
  50. package/dist/esm/src/index.d.ts +2 -0
  51. package/package.json +1 -1
  52. package/dist/cjs/components/Core/CopyButton.js +0 -1
  53. package/dist/cjs/components/Core/MarkdownRenderer.js +0 -1
  54. package/dist/cjs/components/Core/PickaxeIcon.js +0 -1
  55. package/dist/cjs/src/components/Core/CopyButton.d.ts +0 -10
  56. package/dist/cjs/src/components/Core/MarkdownRenderer.d.ts +0 -13
  57. package/dist/esm/components/Core/CopyButton.js +0 -1
  58. package/dist/esm/components/Core/MarkdownRenderer.js +0 -1
  59. package/dist/esm/components/Core/PickaxeIcon.js +0 -1
  60. package/dist/esm/src/components/Core/CopyButton.d.ts +0 -10
  61. package/dist/esm/src/components/Core/MarkdownRenderer.d.ts +0 -13
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("marked"),t=require("prismjs");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("prismjs/components/prism-css"),require("prismjs/components/prism-javascript"),require("prismjs/components/prism-markdown"),require("prismjs/components/prism-markup"),require("prismjs/components/prism-python");var n=r(t);exports.renderer=({textColor:t="#000000",accentColor:r="#228DD7",centerMedia:l=!0,forceMobile:i=!1}={textColor:"#000000",accentColor:"#228DD7",centerMedia:!0,forceMobile:!1})=>{const o=new e.marked.Renderer,a=o.link;o.link=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href,n=t.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(n&&(null==n?void 0:n[1]))return l?`<div style="display: flex; justify-content: center; width: 100%; height: 315px; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <iframe src="https://www.youtube.com/embed/${n[1]}" \n style="width: 100%; max-width: 560px; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`:`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${n[1]}" \n style="width: 100%; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`;if(null!==t.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/))return l?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; width: 100%; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto;">`;let i=a.call(o,e);return i=i.replace(/^<a /,`<a style="color: ${r};" target="_blank" rel="noopener noreferrer" `),i},o.heading=({depth:e,text:r})=>1===e?`<h1 style="\n font-size: 2em;\n line-height: 1;\n color: ${t};\n "><b>${r}</b></h1>`:2===e?`<h2 style="\n font-size: 1.25em;\n color: ${t};\n "><b>${r}</b></h2>`:`<h${e} style="\n color: ${t};\n "><b>${r}</b></h${e}>`;const s=o.list;o.list=e=>{let t=s.call(o,e);return t=t.replace(/<\/p>\s*<\/li>/g,"</li>"),t=t.replace(/<li>\s*<p>/g,"<li>"),t=t.replace(/^<ol/,'<ol style="\n list-style: decimal inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t=t.replace(/^<ul/,'<ul style="\n list-style: disc inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t};const d=o.listitem;o.listitem=e=>{let t=d.call(o,e);return t=t.replace(/<li/,'<li style="\n margin-bottom: 4px;\n "'),t};const c=o.table;o.table=e=>{let t=c.call(o,e);return t=t.replace(/<table/,'<table style="margin-top: .5em; font-size: 16px;" class="table-auto"'),t};const p=o.tablecell;o.tablecell=e=>{let r=p.call(o,e);return r=r.replace(/<td/,`<td class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n color: ${t};\n "`),r=r.replace(/<th/,`<th class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n font-weight: 600;\n color: ${t};\n "`),r};const m=o.code;o.code=e=>{const t=m.call(o,e);return e.lang&&n.default.languages[e.lang]?`<div class="bg-[#EFF1F3] dark:bg-[#161b22]" style="position: relative; overflow: hidden;"><pre style="\n padding: .75em;\n border-radius: 0.25em;\n font-size: 16px;\n overflow: auto;\n max-width: ${window.innerWidth-100}px;\n">\n <code class="language-${e.lang}">\n${n.default.highlight(e.text,n.default.languages[e.lang],e.lang)}\n</code>\n<button class="copy-code-button bg-[#d0d7de] dark:bg-[#30363d] text-[#1f2328] dark:text-[#e6edf3]" \nstyle="\n position: absolute;\n top: -20px;\n right: 0;\n padding: .25em 1.4em .25em .5em;\n border-radius: 0 0 0 0.25em;\n font-size: ${i?"12":"14"}px;\n cursor: pointer;\n user-select: none;\n border: none;\n outline: none;\n z-index: 1;\n">\n Copy\n</button></pre></div>`:t};const u=o.codespan;o.codespan=e=>u.call(o,e).replace(/<code/,`<code class="bg-[#EFF1F3] dark:bg-[#161b22] text-[#1f2328] dark:text-[#e6edf3]" style="\n padding: 0 .25em 0 .25em;\n border-radius: 0.25em;\n font-size: ${i?"14px":"16px"};\n margin-left: 2px;\n "`);const b=o.blockquote;return o.blockquote=e=>b.call(o,e).replace(/<blockquote/,'<blockquote class="border-l-[#D0D7DE] dark:border-l-[#30363D] text-[#656d76] dark:text-[#8b8b8b]" style="\n border-left-width: 4px;\n padding-left: 1em;\n "'),o.image=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href;return l?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">`},o};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("marked"),t=require("prismjs");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("prismjs/components/prism-css"),require("prismjs/components/prism-javascript"),require("prismjs/components/prism-markdown"),require("prismjs/components/prism-markup"),require("prismjs/components/prism-python");var n=r(t);exports.renderer=({theme:t="light",accentColor:r="#228DD7",centerMedia:i=!0,forceMobile:l=!1,linkPreviews:a=!1,actions:o=!1}={theme:"light",accentColor:"#228DD7",centerMedia:!1,forceMobile:!1,linkPreviews:!1,actions:!1})=>{const s=new e.marked.Renderer,d=s.link;s.link=e=>{const n=e.href.startsWith("www.")?`https://${e.href}`:e.href,l=n.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(l&&(null==l?void 0:l[1]))return i?`<div style="display: flex; justify-content: center; width: 100%; height: 315px; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <iframe src="https://www.youtube.com/embed/${l[1]}" \n style="width: 100%; max-width: 560px; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`:`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${l[1]}" \n style="width: 100%; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`;if(null!==n.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/))return i?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${n}" alt="${e.text}" style="max-width:300px; width: 100%; height:auto; border-radius: 8px;">\n </div>`:`<img src="${n}" alt="${e.text}" style="max-width:300px; height:auto;">`;if(o&&n.includes("pickaxe")&&(n.includes("/api/fn/result")||n.includes("/api/function_call_results")))return`<dotlottie-wc src="${"dark"===t?"https://lottie.host/328aa2a8-b160-4124-a40c-5847f58da813/Vl0EK9lnJc.lottie":"https://lottie.host/6fd1b0ad-8816-4800-b511-3a259947a9b2/kh7G1Fz1HB.lottie"}" data-fn-url="${n}" class="marked-link-function-calling-loader" style="max-width:150px; width: 100%; height:150px; border: none; background: transparent;" autoplay loop></dotlottie-wc>`;let c=d.call(s,e);return c=c.replace(/^<a /,`<a style="color: ${r};" target="_blank" rel="noopener noreferrer"${a?' class="marked-link-possible-preview-render"':""}`),c},s.heading=({depth:e,text:t})=>1===e?`<h1 style="\n font-size: 2em;\n line-height: 1;\n "><b>${t}</b></h1>`:2===e?`<h2 style="\n font-size: 1.25em;\n "><b>${t}</b></h2>`:`<h${e} style="\n "><b>${t}</b></h${e}>`;const c=s.list;s.list=e=>{let t=c.call(s,e);return t=t.replace(/<\/p>\s*<\/li>/g,"</li>"),t=t.replace(/<li>\s*<p>/g,"<li>"),t=t.replace(/^<ol/,'<ol style="\n list-style: decimal inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t=t.replace(/^<ul/,'<ul style="\n list-style: disc inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t};const p=s.listitem;s.listitem=e=>{let t=p.call(s,e);return t=t.replace(/<li/,'<li style="\n margin-bottom: 4px;\n "'),t};const m=s.table;s.table=e=>{let t=m.call(s,e);return t=t.replace(/<table/,'<table style="margin-top: .5em; font-size: 16px;" class="table-auto"'),t};const u=s.tablecell;s.tablecell=e=>{let t=u.call(s,e);return t=t.replace(/<td/,'<td class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n "'),t=t.replace(/<th/,'<th class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n font-weight: 600;\n "'),t};const h=s.code;s.code=e=>{const t=h.call(s,e);return e.lang&&n.default.languages[e.lang]?`<div class="bg-[#EFF1F3] dark:bg-[#161b22]" style="position: relative; overflow: hidden;"><pre style="\n padding: .75em;\n border-radius: 0.25em;\n font-size: 16px;\n overflow: auto;\n max-width: ${window.innerWidth-100}px;\n">\n <code class="language-${e.lang}">\n${n.default.highlight(e.text,n.default.languages[e.lang],e.lang)}\n</code>\n<button class="copy-code-button bg-[#d0d7de] dark:bg-[#30363d] text-[#1f2328] dark:text-[#e6edf3]" \nstyle="\n position: absolute;\n top: -20px;\n right: 0;\n padding: .25em 1.4em .25em .5em;\n border-radius: 0 0 0 0.25em;\n font-size: ${l?"12":"14"}px;\n cursor: pointer;\n user-select: none;\n border: none;\n outline: none;\n z-index: 1;\n">\n Copy\n</button></pre></div>`:t};const b=s.codespan;s.codespan=e=>b.call(s,e).replace(/<code/,`<code class="bg-[#EFF1F3] dark:bg-[#161b22] text-[#1f2328] dark:text-[#e6edf3]" style="\n padding: 0 .25em 0 .25em;\n border-radius: 0.25em;\n font-size: ${l?"14px":"16px"};\n margin-left: 2px;\n "`);const g=s.blockquote;return s.blockquote=e=>g.call(s,e).replace(/<blockquote/,'<blockquote class="border-l-[#D0D7DE] dark:border-l-[#30363D] text-[#656d76] dark:text-[#8b8b8b]" style="\n border-left-width: 4px;\n padding-left: 1em;\n "'),s.image=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href;return i?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">`},s};
@@ -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,n,o=e(require("react"));function a(){return a=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},a.apply(null,arguments)}var c=e=>o.createElement("svg",a({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},e),r||(r=o.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v3M12 18v3M3 12h3M18 12h3"})),t||(t=o.createElement("circle",{cx:12,cy:12,r:2,stroke:"currentColor",strokeWidth:2})),n||(n=o.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M18 8h-1.2a.8.8 0 0 1-.8-.8V6M6 8h1.2a.8.8 0 0 0 .8-.8V6M18 16h-1.2a.8.8 0 0 0-.8.8V18M6 16h1.2a.8.8 0 0 1 .8.8V18"})));exports.default=c;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../Core/PickaxeIcon.js"),t=require("../../../Core/CopyButton.js"),l=require("../../../Core/MarkdownRenderer.js");exports.default=({message:r})=>{var c;const{formId:i,pickaxe:x}=s.usePickaxeContext(),o=null!==(c=null==x?void 0:x.chaticon)&&void 0!==c?c:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${i}.png`;return"assistant"===r.role?e.jsx("div",Object.assign({className:"flex max-w-[80%] flex-col max-[767px]:max-w-full"},{children:e.jsxs("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==o&&e.jsx(a.default,{src:o,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6"}),e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded bg-blue-100/50 px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e.jsx(l.default,{className:"relative max-[767px]:text-sm",html:r.content})})),e.jsx("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e.jsx(t.default,{text:r.content})}))]}))]}))})):"user"===r.role?e.jsx("div",Object.assign({className:"flex max-w-[80%] gap-x-3 justify-self-end max-[767px]:max-w-full max-[767px]:pl-9"},{children:e.jsx("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded bg-white px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e.jsx(l.default,{className:"relative max-[767px]:text-sm",html:r.content})}))})):e.jsx("div",{})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../common/PickaxeIcon.js"),t=require("../../common/PickaxeMarkdown.js"),l=require("../../common/PickaxeCopyButton.js");exports.default=({message:c})=>{var o;const{formId:r,pickaxe:x,colors:i}=s.usePickaxeContext(),n=null!==(o=null==x?void 0:x.chaticon)&&void 0!==o?o:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${r}.png`;return"assistant"===c.role?e.jsx("div",Object.assign({className:"flex max-w-[80%] flex-col max-[767px]:max-w-full"},{children:e.jsxs("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==n&&e.jsx(a.default,{src:n,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:i.text}),e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",style:{backgroundColor:i.secondary+"80",color:i.secondaryText}},{children:e.jsx(t.default,{className:"relative max-[767px]:text-sm",html:c.content})})),e.jsx("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e.jsx(l.default,{color:i.accent,text:c.content})}))]}))]}))})):"user"===c.role?e.jsx("div",Object.assign({className:"flex max-w-[80%] gap-x-3 justify-self-end max-[767px]:max-w-full max-[767px]:pl-9"},{children:e.jsx("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e.jsx(t.default,{className:"relative max-[767px]:text-sm",html:c.content})}))})):e.jsx("div",{})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/pickaxe/useConversation.js"),i=require("../../../Icons/circle-info.svg.js"),c=require("../../../Core/PickaxeIcon.js"),n=require("../../Addons/Scroll/ScrollLockView.js"),r=require("../../InfoModal.js"),o=require("./Message.js"),d=require("../../../../common/cn.js"),x=require("../../../Core/HtmlRenderer.js");exports.default=()=>{var u;const{pickaxe:m,colors:j,isNewChat:f}=a.usePickaxeContext(),{messages:p,status:g,error:h}=t.useResponseContext(),b=l.useConversation(),[v,w]=s.useState(!1),N=s.useMemo((()=>!!b.data&&!(b.data.messages.length<=1)),[b.data]),y=s.useMemo((()=>b.isSuccess&&f&&!N),[b.isSuccess,f,N]);return e.jsxs("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[v&&e.jsx(r.default,{isOpen:v,onChangeIsOpen:w}),e.jsxs("div",Object.assign({className:d.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",y&&"top-1/3 opacity-100")},{children:[e.jsx(c.default,{src:null==m?void 0:m.coverphoto,alt:`${null==m?void 0:m.formtitle}'s Profile Picture`,width:64,height:64,className:"h-16 w-16 rounded-full"}),e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[e.jsxs("h2",Object.assign({className:"mt-6 text-center text-lg font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==m?void 0:m.formtitle.slice(0,130)}${(null!==(u=null==m?void 0:m.formtitle)&&void 0!==u?u:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>w(!0)},{children:e.jsx(i.default,{className:"h-5 w-5 shrink-0",style:{color:j.accent}})}))]})),e.jsx("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==m?void 0:m.formdescription}))]}))]})),e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:b.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-gray-200"}),e.jsx("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-gray-200"}),e.jsx("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-gray-200"})]})):b.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:"relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-10 max-[767px]:pt-6"},{children:[b.data.messages.map(((s,a)=>e.jsx(o.default,{message:s},a))),p.map(((s,a)=>e.jsx(o.default,{message:s},a))),"fetching"===g?e.jsxs("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==m?void 0:m.chaticon)&&e.jsx(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"}),e.jsxs("div",Object.assign({className:"flex items-center gap-x-2 rounded bg-blue-100/50 px-4 py-4"},{children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full bg-black/60"}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full bg-black/60"}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full bg-black/60"})]}))]})):h?e.jsxs("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[e.jsx(i.default,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),e.jsx(x.default,{className:"x-4 py-2 font-semibold text-red-500",html:h})]})):null,e.jsx(n.default,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),t=require("../../../../hooks/pickaxe/useResponseContext.js"),l=require("../../../../hooks/pickaxe/useConversation.js"),i=require("../../../Icons/circle-info.svg.js"),o=require("../../common/PickaxeIcon.js"),c=require("../../../Core/HtmlRenderer.js"),n=require("../../Addons/Scroll/ScrollLockView.js"),r=require("../../InfoModal.js"),d=require("./Message.js"),x=require("../../../../common/cn.js");exports.default=()=>{var u;const{pickaxe:m,colors:j,isNewChat:f}=a.usePickaxeContext(),{messages:p,status:g,error:h}=t.useResponseContext(),v=l.useConversation(),[b,w]=s.useState(!1),N=s.useMemo((()=>!!v.data&&!(v.data.messages.length<=1)),[v.data]),y=s.useMemo((()=>v.isSuccess&&f&&!N),[v.isSuccess,f,N]);return e.jsxs("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[b&&e.jsx(r.default,{isOpen:b,onChangeIsOpen:w}),e.jsxs("div",Object.assign({className:x.default("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",y&&"top-1/3 opacity-100")},{children:[e.jsx(o.default,{src:null==m?void 0:m.coverphoto,alt:`${null==m?void 0:m.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[e.jsxs("h2",Object.assign({className:"mt-6 text-center text-lg font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==m?void 0:m.formtitle.slice(0,130)}${(null!==(u=null==m?void 0:m.formtitle)&&void 0!==u?u:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>w(!0)},{children:e.jsx(i.default,{className:"h-5 w-5 shrink-0",style:{color:j.accent}})}))]})),e.jsx("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==m?void 0:m.formdescription}))]}))]})),e.jsx("div",Object.assign({className:"flex w-full justify-center"},{children:v.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]"}),e.jsx("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]"}),e.jsx("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]"})]})):v.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:"relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-10 max-[767px]:pt-6"},{children:[v.data.messages.map(((s,a)=>e.jsx(d.default,{message:s},a))),p.map(((s,a)=>e.jsx(d.default,{message:s},a))),"fetching"===g?e.jsxs("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==m?void 0:m.chaticon)&&e.jsx(o.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e.jsxs("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:j.secondary+"80",color:j.secondaryText}},{children:[e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:j.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:j.secondaryText}}),e.jsx("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:j.secondaryText}})]}))]})):h?e.jsxs("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[e.jsx(i.default,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),e.jsx(c.default,{className:"x-4 py-2 font-semibold text-red-500",html:h})]})):null,e.jsx(n.default,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),s=require("react/jsx-runtime"),t=require("react"),r=require("../../../hooks/core/useMediaQuery.js"),o=require("../../../hooks/pickaxe/usePickaxeContext.js"),a=require("../../../hooks/pickaxe/useResponseContext.js"),i=require("../../../hooks/pickaxe/useConversation.js"),n=require("../../../hooks/pickaxe/useSubmit.js"),l=require("../../../hooks/pickaxe/useSubmitResult.js"),d=require("../Addons/Document/hooks/useDocument.js"),u=require("../Addons/Scroll/hooks/useScroll.js"),c=require("../../../common/documents.js"),m=require("../../../common/api/streamer.js"),p=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"),h=require("../../Icons/attach.svg.js"),x=require("../../Icons/send.svg.js"),f=require("../Addons/IceBreaker/index.js"),g=require("../../../common/error.js"),v=require("../../../common/cn.js");exports.default=()=>{var j,b,w,y;const{formId:k,chatId:I,pickaxe:q,colors:S,isNewChat:D,setIsNewChat:A}=o.usePickaxeContext(),{messages:_,status:C,setMessage:N,setStatus:R,setError:E}=a.useResponseContext(),{documents:O,isUploading:M,isImageUploadAllowed:U,upsertDocuments:z,onFileUpload:B,onEditDocumentByDocId:F}=d.useDocument(),{isScrollIncreasing:P,scrollToBottom:T,scrollStart:K,scrollEnd:L}=u.useScroll(),Q=i.useConversation(),W=n.useSubmit(),H=l.useSubmitResult(),[Y,G]=t.useState(""),J=t.useRef(null),[V]=r.useMediaQuery("(max-width: 767px)"),X=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(M)return;E(""),A(!1);const e=null!=s?s:Y;if(!e||"fetching"===C||"streaming"===C)return;const t=new Date;G("");const r="enduserupload"===(null==q?void 0:q.documentuploadtype),o=O.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),a=o.length?o[o.length-1].documentId:"";R("fetching"),N({id:_.length+1,role:"user",content:e});const{success:i,data:n,usedDocumentIds:l,newDocumentId:d,newDocumentName:u,isInsertedFile:c,error:p}=yield W.mutateAsync(Object.assign({formId:k,responseId:I,value:e},r&&a&&{documentId:a}));if(!i)throw new Error(null!=p?p:"An error occurred, please try again.");c&&a&&F({documentId:a,isInsertedAsRaw:!0}),d&&u&&z([{type:"website",id:u,name:u,status:"finished",documentId:d}]),K(),T();const h=(yield m.streamer({formId:k,responseId:I,data:n})).body;if(!h)throw new Error("Streaming error");const x=h.getReader(),f=new TextDecoder;let g="",v=!0;for(;v;){const{value:e,done:s}=yield x.read();v=!s;if(g+=f.decode(e),g)R("streaming"),N({id:_.length+2,role:"assistant",content:g}),P&&T();else if(!v&&!g)throw new Error("Server error")}const j=new Date;g&&(T(),R("idle"),yield H.mutateAsync({formId:k,responseId:I,documentIds:l,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:g,sentAt:j}]}))}catch(e){let s=g.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later."),E(s),T()}finally{R("idle"),L()}}));return s.jsxs("div",Object.assign({className:"relative flex w-full flex-col max-[767px]:fixed max-[767px]:bottom-0 max-[767px]:left-0"},{children:[D&&q&&!Q.isLoading&&(null!==(b=null===(j=Q.data)||void 0===j?void 0:j.messages.length)&&void 0!==b?b:0)<=1&&q.icebreakers&&q.icebreakers.length>0&&s.jsx(f.default,{data:null!==(w=q.icebreakers)&&void 0!==w?w:[],style:{color:"#000000"},isMobile:V,onSend:X}),s.jsxs("div",Object.assign({className:"flex min-h-[56px] items-end gap-x-2 bg-white px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==q?void 0:q.documentuploadtype)&&s.jsxs("div",Object.assign({className:"tooltip"},{children:[s.jsx("input",{id:"file-upload",ref:J,type:"file",accept:[...c.allowedFileMimeTypes,...U?c.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield B(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:M,onClick:()=>{var e;return null===(e=J.current)||void 0===e?void 0:e.click()}},{children:s.jsx(h.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:S.accent}})}))]})),s.jsx(p.default,{className:v.default("max-h-60 w-full resize-none border-black bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!Y.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:Y,placeholder:null!==(y=null==q?void 0:q.placeholdertext)&&void 0!==y?y:"What do you want to talk about?",onChange:e=>G(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),X())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==C||M,onClick:()=>X()},{children:s.jsx(x.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:S.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"),a=require("../../../hooks/pickaxe/useResponseContext.js"),n=require("../../../hooks/studio/useStyleInput.js"),i=require("../../../hooks/pickaxe/useConversation.js"),l=require("../../../hooks/pickaxe/useSubmit.js"),d=require("../../../hooks/pickaxe/useSubmitResult.js"),u=require("../Addons/Document/hooks/useDocument.js"),c=require("../Addons/Scroll/hooks/useScroll.js"),m=require("../../../common/documents.js"),p=require("../../../common/api/streamer.js"),h=require("../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js"),x=require("../../Icons/attach.svg.js"),f=require("../../Icons/send.svg.js"),g=require("../Addons/IceBreaker/index.js"),y=require("../../../common/error.js"),j=require("../../../common/cn.js");exports.default=()=>{var v,b,w,k;const{formId:I,chatId:q,pickaxe:S,colors:D,isNewChat:A,setIsNewChat:C}=r.usePickaxeContext(),{messages:_,status:N,setMessages:R,setStatus:E,setError:O}=a.useResponseContext(),{documents:M,isUploading:U,isImageUploadAllowed:T,upsertDocuments:z,onFileUpload:B,onEditDocumentByDocId:F}=u.useDocument(),{isScrollIncreasing:P,scrollToBottom:K,scrollStart:L,scrollEnd:Q}=c.useScroll(),W=i.useConversation(),H=l.useSubmit(),Y=d.useSubmitResult(),[G,J]=t.useState(""),V=t.useRef(null),[X]=o.useMediaQuery("(max-width: 767px)"),Z=n.useStyleInput(),$=s=>e.__awaiter(void 0,void 0,void 0,(function*(){try{if(U)return;O(""),C(!1);const e=null!=s?s:G;if(!e||"fetching"===N||"streaming"===N)return;const t=new Date;J("");const o="enduserupload"===(null==S?void 0:S.documentuploadtype),r=M.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),a=r.length?r[r.length-1].documentId:"";E("fetching");const n=[..._,{id:_.length+1,role:"user",content:e}];R(n);const{success:i,data:l,usedDocumentIds:d,newDocumentId:u,newDocumentName:c,isInsertedFile:m,error:h}=yield H.mutateAsync(Object.assign({formId:I,responseId:q,value:e},o&&a&&{documentId:a}));if(!i)throw new Error(null!=h?h:"An error occurred, please try again.");m&&a&&F({documentId:a,isInsertedAsRaw:!0}),u&&c&&z([{type:"website",id:c,name:c,status:"finished",documentId:u}]),L(),K();const x=(yield p.streamer({formId:I,responseId:q,data:l})).body;if(!x)throw new Error("Streaming error");const f=x.getReader(),g=new TextDecoder,y=n.length;let j="",v=!0;for(E("streaming");v;){const{value:e,done:s}=yield f.read();v=!s;if(j+=g.decode(e),j)R([...n.slice(0,y),{id:_.length+1,role:"assistant",content:j}]),P&&K();else if(!v&&!j)throw new Error("Server error")}const b=new Date;j&&(K(),E("idle"),yield Y.mutateAsync({formId:I,responseId:q,documentIds:d,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:j,sentAt:b}]}))}catch(e){let s=y.default(e);s.includes("Unexpected token 'A',")&&(s="Oops! We're experiencing high traffic at the moment. Please try again later."),O(s),K()}finally{E("idle"),Q()}}));return s.jsxs("div",Object.assign({className:"relative flex w-full flex-col max-[767px]:fixed max-[767px]:bottom-0 max-[767px]:left-0"},{children:[A&&S&&!W.isLoading&&(null!==(b=null===(v=W.data)||void 0===v?void 0:v.messages.length)&&void 0!==b?b:0)<=1&&S.icebreakers&&S.icebreakers.length>0&&s.jsx(g.default,{data:null!==(w=S.icebreakers)&&void 0!==w?w:[],style:{backgroundColor:D.secondary,color:D.secondaryText},isMobile:X,onSend:$}),s.jsxs("div",Object.assign({style:Z,className:"flex min-h-[56px] items-end gap-x-2 bg-white 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:V,type:"file",accept:[...m.allowedFileMimeTypes,...T?m.allowedImageMimeTypes:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:s=>e.__awaiter(void 0,void 0,void 0,(function*(){yield B(Array.from(s.target.files||[])),s.target.value=""}))}),s.jsx("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:U,onClick:()=>{var e;return null===(e=V.current)||void 0===e?void 0:e.click()}},{children:s.jsx(x.default,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:D.accent}})}))]})),s.jsx(h.default,{className:j.default("max-h-60 w-full resize-none border-black bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!G.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:G,placeholder:null!==(k=null==S?void 0:S.placeholdertext)&&void 0!==k?k:"What do you want to talk about?",onChange:e=>J(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),$())}}),s.jsx("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==N||U,onClick:()=>$()},{children:s.jsx(f.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"),t=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../Icons/circle-info.svg.js"),l=require("../../Core/PickaxeIcon.js"),o=require("../InfoModal.js");exports.default=()=>{var r;const{pickaxe:c}=i.usePickaxeContext(),[n,a]=t.useState(!1);return e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[n&&e.jsx(o.default,{isOpen:n,onChangeIsOpen:a}),e.jsx(l.default,{src:null==c?void 0:c.coverphoto,alt:`${null==c?void 0:c.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsxs("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==c?void 0:c.formtitle.slice(0,130)}${(null!==(r=null==c?void 0:c.formtitle)&&void 0!==r?r:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>a(!0)},{children:e.jsx(s.default,{className:"h-5 w-5 shrink-0 text-c-blue"})}))]})),e.jsx("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==c?void 0:c.formdescription}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),i=require("../../../hooks/pickaxe/usePickaxeContext.js"),s=require("../../Icons/circle-info.svg.js"),l=require("../common/PickaxeIcon.js"),o=require("../InfoModal.js");exports.default=()=>{var c;const{pickaxe:n,colors:r}=i.usePickaxeContext(),[a,u]=t.useState(!1);return e.jsxs("div",Object.assign({className:"flex flex-col items-center"},{children:[a&&e.jsx(o.default,{isOpen:a,onChangeIsOpen:u}),e.jsx(l.default,{src:null==n?void 0:n.coverphoto,alt:`${null==n?void 0:n.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsxs("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==n?void 0:n.formtitle.slice(0,130)}${(null!==(c=null==n?void 0:n.formtitle)&&void 0!==c?c:"").length>130?"...":""}`,e.jsx("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>u(!0)},{children:e.jsx(s.default,{className:"h-5 w-5 shrink-0",style:{color:r.accent}})}))]})),e.jsx("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==n?void 0:n.formdescription}))]}))};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("react-intersection-observer"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useHistory.js"),t=require("../../../Icons/spinner-circle.svg.js"),n=require("./Item.js");exports.default=()=>{var l;const{colors:c,isShowHistory:o}=a.usePickaxeContext(),x=r.useHistory({enabled:o}),{ref:u}=i.useInView({onChange(e){e&&x.hasNextPage&&x.fetchNextPage()}});return o&&x.isLoading?e.jsx("div",{className:"w-full min-h-[300px] animate-pulse bg-gray-200"}):x.isError?e.jsx("div",{}):o?e.jsxs("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(l=x.data)||void 0===l?void 0:l.pages.map(((i,a)=>e.jsx(s.Fragment,{children:i.data.map((i=>e.jsx(s.Fragment,{children:e.jsx(n.default,{item:i})},i.responseId)))},a))),e.jsx("div",Object.assign({className:"flex items-center justify-center"},{children:x.isFetchingNextPage?e.jsx(t.default,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:c.accent}}):x.hasNextPage?e.jsx("div",{ref:u,className:"invisible h-14 w-14"}):null}))]})):null};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),i=require("react-intersection-observer"),a=require("../../../../hooks/pickaxe/usePickaxeContext.js"),r=require("../../../../hooks/pickaxe/useHistory.js"),t=require("../../../Icons/spinner-circle.svg.js"),n=require("./Item.js");exports.default=()=>{var l;const{colors:c,isShowHistory:o}=a.usePickaxeContext(),x=r.useHistory({enabled:o}),{ref:u}=i.useInView({onChange(e){e&&x.hasNextPage&&x.fetchNextPage()}});return o&&x.isLoading?e.jsx("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]"}):x.isError?e.jsx("div",{}):o?e.jsxs("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(l=x.data)||void 0===l?void 0:l.pages.map(((i,a)=>e.jsx(s.Fragment,{children:i.data.map((i=>e.jsx(s.Fragment,{children:e.jsx(n.default,{item:i})},i.responseId)))},a))),e.jsx("div",Object.assign({className:"flex items-center justify-center"},{children:x.isFetchingNextPage?e.jsx(t.default,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:c.accent}}):x.hasNextPage?e.jsx("div",{ref:u,className:"invisible h-14 w-14"}):null}))]})):null};
@@ -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"),l=require("date-fns"),r=require("../../../Icons/message-square-notes.svg.js"),a=require("../../../Icons/visitor.svg.js"),i=require("../../../Core/PickaxeIcon.js"),n=require("../../../Core/CopyButton.js"),o=require("../../../Core/MarkdownRenderer.js");exports.default=({item:c})=>{const{pickaxe:d,colors:u,setChatId:x,setIsNewChat:h}=t.usePickaxeContext(),m=s.useMemo((()=>l.format(c.createdAt,"hh:mm a MMM dd, yy")),[c]),p=s.useMemo((()=>c&&c.messages?c.messages.length:0),[c]),f=s.useMemo((()=>{var e,s,t,l;if("form"===c.type){return(null!==(e=c.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!==(l=null===(t=null===(s=c.messages)||void 0===s?void 0:s[0])||void 0===t?void 0:t.message)&&void 0!==l?l:""}),[c]),j=s.useMemo((()=>{var e,s,t,l;return"form"===c.type?null!==(e=c.questionResponse)&&void 0!==e?e:"":null!==(l=null===(t=null===(s=c.messages)||void 0===s?void 0:s[1])||void 0===t?void 0:t.message)&&void 0!==l?l:""}),[c]);return e.jsxs("div",Object.assign({className:"flex flex-co transition hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(a.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:`${c.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:f.length<280}),e.jsx("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:f}}),e.jsx("label",Object.assign({htmlFor:`${c.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:u.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${c.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:u.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:u.secondary,color:u.secondaryText}},{children:[e.jsx(i.default,{src:null==d?void 0:d.chaticon,alt:`${null==d?void 0:d.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1"}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(o.default,{className:"overflow-x-auto pb-2 font-light opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:j}),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==d?void 0:d.enablechatresponses)&&e.jsxs("button",Object.assign({className:"flex items-center gap-x-1 hover:cursor-pointer hover:text-c-blue",onClick:()=>{return e=c.responseId,h(!1),void x(e);var e}},{children:[e.jsx(r.default,{className:"h-4 w-4"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:p+1}))]})),e.jsx(n.default,{text:j})]})),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:m}))}))]}))]}))]}))]}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../../../hooks/pickaxe/usePickaxeContext.js"),l=require("date-fns"),a=require("../../../Icons/message-square-notes.svg.js"),i=require("../../../Icons/visitor.svg.js"),o=require("../../common/PickaxeIcon.js"),r=require("../../common/PickaxeMarkdown.js"),n=require("../../common/PickaxeSimpleButton.js"),c=require("../../common/PickaxeCopyButton.js");exports.default=({item:d})=>{const{pickaxe:m,colors:x,setChatId:u,setIsNewChat:h}=t.usePickaxeContext(),p=s.useMemo((()=>l.format(d.createdAt,"hh:mm a MMM dd, yy")),[d]),j=s.useMemo((()=>d&&d.messages?d.messages.length:0),[d]),f=s.useMemo((()=>{var e,s,t,l;if("form"===d.type){return(null!==(e=d.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!==(l=null===(t=null===(s=d.messages)||void 0===s?void 0:s[0])||void 0===t?void 0:t.message)&&void 0!==l?l:""}),[d]),g=s.useMemo((()=>{var e,s,t,l;return"form"===d.type?null!==(e=d.questionResponse)&&void 0!==e?e:"":null!==(l=null===(t=null===(s=d.messages)||void 0===s?void 0:s[1])||void 0===t?void 0:t.message)&&void 0!==l?l:""}),[d]);return e.jsxs("div",Object.assign({className:"flex flex-co transition hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{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:`${d.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:f.length<280}),e.jsx("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:f}}),e.jsx("label",Object.assign({htmlFor:`${d.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"})),e.jsx("label",Object.assign({htmlFor:`${d.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.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:x.secondary,color:x.secondaryText}},{children:[e.jsx(o.default,{src:null==m?void 0:m.chaticon,alt:`${null==m?void 0:m.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:x.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(r.default,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:g}),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(n.default,Object.assign({color:x.accent,onClick:()=>{return e=d.responseId,h(!1),void u(e);var e}},{children:[e.jsx(a.default,{className:"h-4 w-4 shrink-0"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:j+1}))]})),e.jsx(c.default,{color:x.accent,text:g})]})),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:p}))}))]}))]}))]}))]}))};
@@ -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"),r=require("../../../../hooks/pickaxe/useResponseContext.js"),a=require("date-fns"),l=require("../../../Icons/message-square-notes.svg.js"),n=require("../../../Icons/visitor.svg.js"),o=require("../../../Core/PickaxeIcon.js"),i=require("../../../Core/CopyButton.js"),c=require("../../../Core/MarkdownRenderer.js"),d=require("../../Addons/Scroll/ScrollLockView.js");exports.default=()=>{var x;const{pickaxe:h,colors:p,setChatId:u,setIsNewChat:m}=t.usePickaxeContext(),{response:j}=r.useResponseContext(),f=s.useMemo((()=>j?a.format(j.createdAt,"hh:mm a MMM dd, yy"):a.format(new Date,"hh:mm a MMM dd, yy")),[j]),b=s.useMemo((()=>{var e;if(!j)return"";return(null!==(e=j.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("")}),[j]);return j?e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(n.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:`${j.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:b.length<280}),e.jsx("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:b}}),e.jsx("label",Object.assign({htmlFor:`${j.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:p.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${j.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:p.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:p.secondary,color:p.secondaryText}},{children:[e.jsx(o.default,{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"}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(c.default,{className:"overflow-x-auto pb-2 font-light opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:j.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==h?void 0:h.enablechatresponses)&&e.jsxs("button",Object.assign({className:"flex items-center gap-x-1 hover:cursor-pointer hover:text-c-blue",onClick:()=>{return e=j.responseId,m(!1),void u(e);var e}},{children:[e.jsx(l.default,{className:"h-4 w-4"}),e.jsx("p",Object.assign({className:"text-sm font-semibold"},{children:j.messages.length+1}))]})),e.jsx(i.default,{text:null!==(x=j.questionResponse)&&void 0!==x?x:""})]})),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}))}))]}))]}))]})),e.jsx(d.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"),l=require("../../../Icons/message-square-notes.svg.js"),o=require("../../../Icons/visitor.svg.js"),n=require("../../common/PickaxeIcon.js"),c=require("../../common/PickaxeMarkdown.js"),i=require("../../common/PickaxeSimpleButton.js"),d=require("../../Addons/Scroll/ScrollLockView.js"),x=require("../../common/PickaxeCopyButton.js");exports.default=()=>{var h;const{pickaxe:u,colors:p,setChatId:m,setIsNewChat:j}=t.usePickaxeContext(),{response:f}=a.useResponseContext(),g=s.useMemo((()=>f?r.format(f.createdAt,"hh:mm a MMM dd, yy"):r.format(new Date,"hh:mm a MMM dd, yy")),[f]),b=s.useMemo((()=>{var e;if(!f)return"";return(null!==(e=f.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("")}),[f]);return f?e.jsxs("div",Object.assign({className:"flex flex-col shadow-black transition hover:shadow"},{children:[e.jsxs("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:p.primary,color:p.text}},{children:[e.jsx("div",Object.assign({className:"shrink-0 pt-1"},{children:e.jsx(o.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:`${f.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:b.length<280}),e.jsx("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:b}}),e.jsx("label",Object.assign({htmlFor:`${f.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:p.accent}},{children:"See input"})),e.jsx("label",Object.assign({htmlFor:`${f.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:flex hover:cursor-pointer",style:{color:p.accent}},{children:"Hide input"}))]}))]})),e.jsxs("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:p.secondary,color:p.secondaryText}},{children:[e.jsx(n.default,{src:null==u?void 0:u.chaticon,alt:`${null==u?void 0:u.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6 pt-1",textColor:p.secondaryText}),e.jsxs("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[e.jsx(c.default,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:f.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==u?void 0:u.enablechatresponses)&&e.jsxs(i.default,Object.assign({color:p.accent,onClick:()=>{return e=f.responseId,j(!1),void m(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:f.messages.length+1}))]})),e.jsx(x.default,{color:p.accent,text:null!==(h=f.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:g}))}))]}))]}))]})),e.jsx(d.default,{})]})):null};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../hooks/pickaxe/usePickaxeContext.js"),t=require("../Icons/x.svg.js"),i=require("../Core/Modal/index.js"),l=require("../Core/Modal/Body.js"),a=require("../Core/PickaxeIcon.js");exports.default=({isOpen:c,onChangeIsOpen:r})=>{const{pickaxe:n}=s.usePickaxeContext();return e.jsx(i.default,Object.assign({isOpen:c,onChange:r},{children:e.jsxs(l.default,Object.assign({className:"relative flex w-full max-w-[480px] flex-col px-8 py-[26px] max-[767px]:max-w-full",avoidOverflow:!0},{children:[e.jsx("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e.jsx("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>r(!1)},{children:e.jsx(t.default,{className:"h-6 w-6 shrink-0"})}))})),e.jsx("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:e.jsxs("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e.jsx(a.default,{src:null==n?void 0:n.coverphoto,alt:`${null==n?void 0:n.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsx("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:null==n?void 0:n.formtitle})),e.jsx("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==n?void 0:n.formdescription}))]}))}))]}))}))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("../../hooks/pickaxe/usePickaxeContext.js"),t=require("../Icons/x.svg.js"),i=require("../Core/Modal/index.js"),l=require("../Core/Modal/Body.js"),a=require("./common/PickaxeIcon.js");exports.default=({isOpen:c,onChangeIsOpen:n})=>{const{pickaxe:o}=s.usePickaxeContext();return e.jsx(i.default,Object.assign({isOpen:c,onChange:n},{children:e.jsxs(l.default,Object.assign({className:"relative flex w-full max-w-[480px] flex-col px-8 py-[26px] max-[767px]:max-w-full",avoidOverflow:!0},{children:[e.jsx("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e.jsx("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>n(!1)},{children:e.jsx(t.default,{className:"h-6 w-6 shrink-0"})}))})),e.jsx("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:e.jsxs("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e.jsx(a.default,{src:null==o?void 0:o.coverphoto,alt:`${null==o?void 0:o.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e.jsx("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:null==o?void 0:o.formtitle})),e.jsx("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==o?void 0:o.formdescription}))]}))}))]}))}))};
@@ -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"),s=require("copy-to-clipboard"),o=require("../../Icons/copied.svg.js"),a=require("../../Icons/copy.svg.js"),i=require("./PickaxeSimpleButton.js"),c=require("../../../common/cn.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=l(s);exports.default=({color:s,text:l="",className:u,iconClassName:f})=>{const[d,m]=r.useState(l),[p,h]=r.useState(!1),[j,y]=r.useState(!1);r.useEffect((()=>{m(l)}),[l]);return t.jsx(i.default,Object.assign({color:s},u&&{className:u},{isForceColor:j,onClick:()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(p)return;h(!0);const t=null!==(e=[...Array.from(l.matchAll(/https:\/\/streaming\.pickaxeproject\.com\/api\/function_call_results\?.*?&name=[^&]+/g)),...Array.from(l.matchAll(/https:\/\/utils\.pickaxe\.chat\/api\/fn\/result\?.*?&name=[^&]+/g))].map((e=>e[0])))&&void 0!==e?e:[],r=[];if(t.length){for(const e of t)try{const t=yield fetch(e),s=yield t.json(),o=s.text||s.url||"";r.push(o)}catch(e){console.error(e)}r.length&&m(r.join("\n"))}n.default(r.length>0?r.join("\n"):d),h(!1),y(!0),yield new Promise((e=>setTimeout(e,1500)))}catch(e){console.error(e)}finally{h(!1),y(!1)}}))},{children:p||j?t.jsx(o.default,{className:c.default("w-4 h-4 shrink-0",f)}):t.jsx(a.default,{className:c.default("w-4 h-4 shrink-0",f)})}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),t=require("../../Icons/spark.svg.js"),r=require("../../../common/cn.js");exports.default=({src:a,alt:i,width:c=24,height:l=24,className:d,textColor:n,isLoading:h})=>{const[o,u]=s.useState(!1),g=a||"";return h?e.jsx("div",{className:r.default("shrink-0 animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",d),style:{width:c,height:l}}):n&&"https://pickaxe.chat/builder/assets/images/pickaxe-chaticons/chaticon2.png"===g?e.jsx(t.default,{className:r.default("h-6 w-6 shrink-0",d),style:{color:n}}):"NONE"===g?null:!g||o?e.jsx("div",{className:r.default("shrink-0 rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",d),style:{width:c,height:l}}):e.jsx("div",Object.assign({className:"relative shrink-0 rounded",style:{width:c,height:l}},{children:e.jsx("img",{src:g,alt:i||"Pickaxe's Profile Picture",width:c,height:l,className:r.default("select-none rounded object-cover",d),draggable:!1,onError:()=>u(!0)})}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("marked"),n=require("../../../common/renderer.js"),o=require("../../../hooks/pickaxe/usePickaxeContext.js"),c=require("../../../hooks/pickaxe/useLinkPreviews.js"),s=require("../../../hooks/pickaxe/useActions.js"),i=require("marked-katex-extension"),a=require("copy-to-clipboard"),u=require("../../Core/HtmlRenderer.js");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=l(i),m=l(a);r.marked.use(d.default({throwOnError:!1,output:"mathml"}));exports.default=({html:i,className:a,style:l,marked:d,renderer:h,onClick:p})=>{const{styles:f,colors:k}=o.usePickaxeContext(),v=t.useRef(null);c.useLinkPreviews(v,{theme:f.theme}),s.useActions(v,{theme:f.theme,accentColor:k.accent,accentTextColor:k.accentText}),t.useEffect((()=>{const e=v.current;if(!e)return;const t=e=>{var t,r,n;const o=e.target.closest(".copy-code-button");if(o){const e=null!==(n=null===(r=null===(t=o.parentElement)||void 0===t?void 0:t.querySelector("code"))||void 0===r?void 0:r.textContent)&&void 0!==n?n:"";if(!e)return;m.default(e)}};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[v]);const b=t.useMemo((()=>{let e=i||"";const t=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return t&&t.forEach((t=>{var r;const n=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(r=t.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===r?void 0:r[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(t,n)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e))}),[i]);return e.jsx("div",Object.assign({ref:v},{children:e.jsx(u.default,{html:r.marked.parse(b,Object.assign({gfm:!0,breaks:!0,renderer:n.renderer(Object.assign(Object.assign({},h),{theme:f.theme,accentColor:k.accent,centerMedia:!1,linkPreviews:!0,actions:!0}))},d)).toString(),className:a,style:l,onClick:p})}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../../_virtual/_tslib.js"),r=require("react/jsx-runtime"),o=require("../../../hooks/core/useHover.js"),s=require("../../../common/cn.js");exports.default=({color:t,children:i,className:c,isForceColor:l,onClick:n})=>{const u=o.useHover(),{isHover:a}=u,j=e.__rest(u,["isHover"]);return r.jsx("button",Object.assign({className:s.default("flex items-center gap-1 outline-none",c)},(a||l)&&{style:{color:t}},n&&{onClick:e=>{e.stopPropagation(),n()}},j,{children:i}))};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react"),n=require("marked"),o=require("../../common/renderer.js"),r=require("../../common/api/streamer.js"),i=require("../../common/api/utils.js");const l=(t,r)=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,i;const l=t.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e));return yield n.marked.parse(l,{gfm:!0,breaks:!0,renderer:o.renderer({theme:null!==(e=null==r?void 0:r.theme)&&void 0!==e?e:"light",accentColor:null!==(i=null==r?void 0:r.accentColor)&&void 0!==i?i:"#228DD7",centerMedia:!1,linkPreviews:!0,actions:!0})})})),s=(t,n)=>e.__awaiter(void 0,void 0,void 0,(function*(){try{yield i.default.post("/fn/update",{id:t,data:n})}catch(e){console.error("[updateCache] error",e)}}));exports.useActions=(n,o)=>{t.useEffect((()=>{const t=null==n?void 0:n.current;if(!t)return;const i=new MutationObserver((()=>e.__awaiter(void 0,void 0,void 0,(function*(){var e,t,n,i,d,a,c;const u=document.querySelectorAll(".marked-link-function-calling-loader");for(const m of u){if(m.dataset.processed)continue;"development"===process.env.NODE_ENV&&console.log("[useActions] getting action",m.href);const u=null!==(n=null!==(t=null===(e=m.parentElement)||void 0===e?void 0:e.parentElement)&&void 0!==t?t:m.parentElement)&&void 0!==n?n:null;if(!u){console.error("[useActions] missing message container");continue}const p=null!==(i=m.getAttribute("alt"))&&void 0!==i?i:m.getAttribute("data-fn-url");if(!p){console.error("[useActions] missing fn result url");continue}const v=yield fetch(p);if(200!==v.status){console.error("[useActions] failed fetching result:",v);continue}const f=yield v.json();if(f.error)console.error("[useActions] error in req:",f.error);else if(f.fcid)"development"===process.env.NODE_ENV&&console.log("[useActions] waiting for fn call to complete");else{if(f.url){m.remove();const e=document.createElement("img");e.src=f.url,e.alt=null!==(d=f.prompt)&&void 0!==d?d:"Generated Image",e.style.marginTop="1em",e.style.borderRadius="4px",e.style.width="100%",u.appendChild(e);const t=document.createElement("div");t.style.marginTop="1em",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="flex-end",t.style.gap="0.5em",t.style.width="100%";const n=document.createElement("button");n.innerHTML='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M21 21H3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n<path d="M7 10L12 15L17 10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n<path d="M12 15V3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n',n.style.padding=".5em",n.style.backgroundColor="#228DD7",n.style.color=null!==(a=null==o?void 0:o.accentTextColor)&&void 0!==a?a:"#FFFFFF",n.style.textAlign="center",n.style.textDecoration="none",n.style.borderRadius="4px",n.style.fontSize="16px",n.style.fontWeight="bold",n.style.boxShadow="0 2px 5px rgba(0, 0, 0, 0.2)",n.style.transition="background-color 0.3s ease",n.addEventListener("mouseover",(function(){var e;n.style.backgroundColor=(null!==(e=null==o?void 0:o.accentColor)&&void 0!==e?e:"#228DD7")+"CC"})),n.addEventListener("mouseout",(function(){var e;n.style.backgroundColor=null!==(e=null==o?void 0:o.accentColor)&&void 0!==e?e:"#228DD7"})),n.addEventListener("click",(function(e){var t;e.preventDefault();const n=document.createElement("a");n.href=null!==(t=f.url)&&void 0!==t?t:"",n.download="generated_image.png",n.click()})),t.appendChild(n),u.appendChild(t)}if(f.text){m.remove();const e=document.createElement("div");e.style.marginTop="1em",e.innerHTML=yield l(f.text),u.appendChild(e)}if(f.button_link){m.remove();const e=document.createElement("a");e.href=f.button_link,e.target="_blank",e.classList.add("link-preview-button"),e.textContent=f.button_text||"",e.style.display="inline-block",e.style.padding="10px 20px",e.style.backgroundColor="#228DD7",e.style.color="#ffffff",e.style.textAlign="center",e.style.textDecoration="none",e.style.borderRadius="4px",e.style.fontSize="16px",e.style.fontWeight="bold",e.style.boxShadow="0 2px 5px rgba(0, 0, 0, 0.2)",e.style.transition="background-color 0.3s ease",e.addEventListener("mouseover",(function(){e.style.backgroundColor="#489dd9"})),e.addEventListener("mouseout",(function(){e.style.backgroundColor="#228DD7"})),u.appendChild(document.createElement("br")),u.appendChild(e)}if(f.openaidata&&!f.text){const e=null!==(c=new URL(p).searchParams.get("id"))&&void 0!==c?c:f.call_id,t=null==f?void 0:f.actionId;m.remove();const n=f.formId;if(!n){console.error("Missing formId from result data");continue}const o=f.responseId;if(!o){console.error("Missing responseId from result data");continue}const i=(yield r.streamer({formId:n,responseId:o,data:f.openaidata})).body;if(!i){console.error("Streaming error, no response body");continue}let d=!0,a="";const v=document.createElement("div");v.style.marginTop="1em",v.dataset.actionId=t,u.appendChild(v);const g=i.getReader(),y=new TextDecoder;for(;d;){const{value:e,done:t}=yield g.read();d=!t;a+=y.decode(e),"marked"in window?v.innerHTML=yield l(a):v.textContent=a}const b=null!=e?e:f.call_id;b&&(yield s(b,Object.assign(Object.assign({},f),{text:a})))}}}}))));return i.observe(t,{childList:!0,subtree:!0}),()=>{i.disconnect()}}),[n])};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react"),r=require("../../common/api/utils.js"),o=require("../../common/error.js");const i=e=>{setTimeout((()=>{e.style.opacity="1",e.style.transform="scale(1)"}),50)},n=e=>{e.onmouseover=()=>{e.style.transform="scale(.99)"},e.onmouseout=()=>{e.style.transform="scale(1)"}},s=t=>e.__awaiter(void 0,void 0,void 0,(function*(){try{const e=yield r.default.get(`/metadata?url=${encodeURIComponent(t)}`);return e.data}catch(e){const t=o.default(e);return console.error("[fetchMetadata] error",t),null}}));exports.useLinkPreviews=(r,o)=>{t.useEffect((()=>{const t=null==r?void 0:r.current;if(!t)return;const a=new MutationObserver((()=>e.__awaiter(void 0,void 0,void 0,(function*(){const e=t.querySelectorAll(".marked-link-possible-preview-render");for(const t of e){"development"===process.env.NODE_ENV&&console.log("[useLinkPreviews] getting preview for",t.href),t.classList.remove("marked-link-possible-preview-render");const e=t.closest(".chat-message");if(!e)continue;if(e.querySelector(`div[data-href="${t.href}"]`))continue;const r=yield s(t.href);if(!r||!r.image||!r.title)continue;const a=document.createElement("div");a.setAttribute("style","display: flex; margin-top: 2em; text-decoration: none;"),a.dataset.href=t.href,a.dataset.processed="true";const l=o?"dark"===o.theme:document.documentElement.classList.contains("dark"),d=document.createElement("a");if(d.href=t.href,d.setAttribute("target","_blank"),d.setAttribute("style",`display: flex; position: relative; flex-direction: column; border-radius: 20px; border-bottom-left-radius: 10px; width: 100%; max-width: 220px; background-color: #${l?"000000":"E9E9EB"}; overflow: hidden;`),r.image&&(r.image.startsWith("http")||r.image.startsWith("data:image")||r.image.startsWith("blob:"))){const e=document.createElement("div");e.setAttribute("style",`position: relative; flex-grow: 1; width: 100%; overflow: hidden; background-image: url("${r.image}"); background-size: cover; background-position: center; height: 90px;`),d.appendChild(e)}const c=document.createElement("div");c.setAttribute("style","display: flex; flex-direction: column; padding: 0.25em 1em; gap: 0.2em;");const u=document.createElement("p");u.textContent=r.title,u.setAttribute("style","font-size: 14px; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),c.appendChild(u);const m=document.createElement("p");m.textContent=r.href,m.setAttribute("style","opacity: 0.6; font-size: 14px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),c.appendChild(m),d.appendChild(c),a.appendChild(d);const p=t.closest(".chat-message");p&&(p.querySelector(`div[data-href="${t.href}"]`)||(p.appendChild(a),i(d),n(d)))}}))));return a.observe(t,{childList:!0,subtree:!0}),()=>{a.disconnect()}}),[r])};
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./components/Pickaxe/index.js"),s=require("./components/Pickaxe/Provider.js"),o=require("./components/Pickaxe/ResponseProvider.js"),t=require("./hooks/pickaxe/useConversation.js"),i=require("./hooks/pickaxe/useHistory.js"),r=require("./hooks/pickaxe/usePickaxe.js"),u=require("./hooks/pickaxe/usePickaxeContext.js"),x=require("./hooks/pickaxe/useResponseContext.js"),n=require("./hooks/pickaxe/useSubmit.js"),c=require("./hooks/pickaxe/useSubmitDocument.js"),k=require("./hooks/pickaxe/useSubmitResult.js");exports.Pickaxe=e.Pickaxe,exports.PickaxeContext=s.PickaxeContext,exports.PickaxeProvider=s.PickaxeProvider,exports.ResponseContext=o.ResponseContext,exports.useConversation=t.useConversation,exports.useHistory=i.useHistory,exports.usePickaxe=r.usePickaxe,exports.usePickaxeContext=u.usePickaxeContext,exports.useResponseContext=x.useResponseContext,exports.useSubmit=n.useSubmit,exports.useSubmitDocument=c.useSubmitDocument,exports.useSubmitResult=k.useSubmitResult;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./components/Pickaxe/index.js"),s=require("./components/Pickaxe/Provider.js"),o=require("./components/Pickaxe/ResponseProvider.js"),i=require("./hooks/pickaxe/useConversation.js"),t=require("./hooks/pickaxe/useHistory.js"),r=require("./hooks/pickaxe/usePickaxe.js"),u=require("./hooks/pickaxe/usePickaxeContext.js"),x=require("./hooks/pickaxe/useResponseContext.js"),n=require("./hooks/pickaxe/useSubmit.js"),k=require("./hooks/pickaxe/useSubmitDocument.js"),c=require("./hooks/pickaxe/useSubmitResult.js"),p=require("./hooks/pickaxe/useLinkPreviews.js"),a=require("./hooks/pickaxe/useActions.js");exports.Pickaxe=e.Pickaxe,exports.PickaxeContext=s.PickaxeContext,exports.PickaxeProvider=s.PickaxeProvider,exports.ResponseContext=o.ResponseContext,exports.useConversation=i.useConversation,exports.useHistory=t.useHistory,exports.usePickaxe=r.usePickaxe,exports.usePickaxeContext=u.usePickaxeContext,exports.useResponseContext=x.useResponseContext,exports.useSubmit=n.useSubmit,exports.useSubmitDocument=k.useSubmitDocument,exports.useSubmitResult=c.useSubmitResult,exports.useLinkPreviews=p.useLinkPreviews,exports.useActions=a.useActions;
@@ -4,9 +4,11 @@ import "prismjs/components/prism-markdown";
4
4
  import "prismjs/components/prism-markup";
5
5
  import "prismjs/components/prism-python";
6
6
  export interface RendererOptions {
7
- textColor?: string;
7
+ theme?: "light" | "dark";
8
8
  accentColor?: string;
9
9
  centerMedia?: boolean;
10
10
  forceMobile?: boolean;
11
+ linkPreviews?: boolean;
12
+ actions?: boolean;
11
13
  }
12
- export declare const renderer: ({ textColor, accentColor, centerMedia, forceMobile, }?: RendererOptions) => import("marked").Renderer;
14
+ export declare const renderer: ({ theme, accentColor, centerMedia, forceMobile, linkPreviews, actions, }?: RendererOptions) => import("marked").Renderer;
@@ -0,0 +1,8 @@
1
+ interface PickaxeCopyButtonProps {
2
+ color: string;
3
+ text?: string;
4
+ className?: string;
5
+ iconClassName?: string;
6
+ }
7
+ declare const PickaxeCopyButton: ({ color, text, className, iconClassName, }: PickaxeCopyButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default PickaxeCopyButton;
@@ -4,7 +4,8 @@ interface PickaxeIconProps {
4
4
  width?: number;
5
5
  height?: number;
6
6
  className?: string;
7
+ textColor?: string;
7
8
  isLoading?: boolean;
8
9
  }
9
- declare const PickaxeIcon: ({ src, alt, width, height, className, isLoading, }: PickaxeIconProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ declare const PickaxeIcon: ({ src, alt, width, height, className, textColor, isLoading, }: PickaxeIconProps) => import("react/jsx-runtime").JSX.Element | null;
10
11
  export default PickaxeIcon;
@@ -0,0 +1,13 @@
1
+ import { type CSSProperties } from "react";
2
+ import { type MarkedOptions } from "marked";
3
+ import { type RendererOptions } from "../../../common/renderer";
4
+ interface PickaxeMarkdownProps {
5
+ html?: string | null;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ renderer?: RendererOptions;
9
+ marked?: MarkedOptions;
10
+ onClick?: () => void;
11
+ }
12
+ declare const PickaxeMarkdown: ({ html: _html, className, style, marked: _marked, renderer: _renderer, onClick, }: PickaxeMarkdownProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default PickaxeMarkdown;
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ interface PickaxeSimpleButtonProps {
3
+ color: string;
4
+ children: ReactNode;
5
+ className?: string;
6
+ isForceColor?: boolean;
7
+ onClick?: () => void;
8
+ }
9
+ declare const PickaxeSimpleButton: ({ color, children, className, isForceColor, onClick, }: PickaxeSimpleButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default PickaxeSimpleButton;
@@ -0,0 +1,8 @@
1
+ import { RefObject } from "react";
2
+ interface UseActionsOptions {
3
+ theme?: "light" | "dark";
4
+ accentColor?: string;
5
+ accentTextColor?: string;
6
+ }
7
+ export declare const useActions: (ref: RefObject<HTMLDivElement> | null, opt?: UseActionsOptions) => void;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { RefObject } from "react";
2
+ interface UseLinkPreviewOptions {
3
+ theme?: "light" | "dark";
4
+ }
5
+ export declare const useLinkPreviews: (ref: RefObject<HTMLDivElement> | null, opt?: UseLinkPreviewOptions) => void;
6
+ export {};
@@ -9,3 +9,5 @@ export * from "./hooks/pickaxe/useResponseContext";
9
9
  export * from "./hooks/pickaxe/useSubmit";
10
10
  export * from "./hooks/pickaxe/useSubmitDocument";
11
11
  export * from "./hooks/pickaxe/useSubmitResult";
12
+ export * from "./hooks/pickaxe/useLinkPreviews";
13
+ export * from "./hooks/pickaxe/useActions";
@@ -1 +1 @@
1
- import{marked as e}from"marked";import t from"prismjs";import"prismjs/components/prism-css";import"prismjs/components/prism-javascript";import"prismjs/components/prism-markdown";import"prismjs/components/prism-markup";import"prismjs/components/prism-python";const n=({textColor:n="#000000",accentColor:r="#228DD7",centerMedia:o=!0,forceMobile:l=!1}={textColor:"#000000",accentColor:"#228DD7",centerMedia:!0,forceMobile:!1})=>{const i=new e.Renderer,a=i.link;i.link=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href,n=t.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(n&&(null==n?void 0:n[1]))return o?`<div style="display: flex; justify-content: center; width: 100%; height: 315px; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <iframe src="https://www.youtube.com/embed/${n[1]}" \n style="width: 100%; max-width: 560px; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`:`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${n[1]}" \n style="width: 100%; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`;if(null!==t.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/))return o?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; width: 100%; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto;">`;let l=a.call(i,e);return l=l.replace(/^<a /,`<a style="color: ${r};" target="_blank" rel="noopener noreferrer" `),l},i.heading=({depth:e,text:t})=>1===e?`<h1 style="\n font-size: 2em;\n line-height: 1;\n color: ${n};\n "><b>${t}</b></h1>`:2===e?`<h2 style="\n font-size: 1.25em;\n color: ${n};\n "><b>${t}</b></h2>`:`<h${e} style="\n color: ${n};\n "><b>${t}</b></h${e}>`;const s=i.list;i.list=e=>{let t=s.call(i,e);return t=t.replace(/<\/p>\s*<\/li>/g,"</li>"),t=t.replace(/<li>\s*<p>/g,"<li>"),t=t.replace(/^<ol/,'<ol style="\n list-style: decimal inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t=t.replace(/^<ul/,'<ul style="\n list-style: disc inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t};const d=i.listitem;i.listitem=e=>{let t=d.call(i,e);return t=t.replace(/<li/,'<li style="\n margin-bottom: 4px;\n "'),t};const p=i.table;i.table=e=>{let t=p.call(i,e);return t=t.replace(/<table/,'<table style="margin-top: .5em; font-size: 16px;" class="table-auto"'),t};const c=i.tablecell;i.tablecell=e=>{let t=c.call(i,e);return t=t.replace(/<td/,`<td class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n color: ${n};\n "`),t=t.replace(/<th/,`<th class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n font-weight: 600;\n color: ${n};\n "`),t};const m=i.code;i.code=e=>{const n=m.call(i,e);return e.lang&&t.languages[e.lang]?`<div class="bg-[#EFF1F3] dark:bg-[#161b22]" style="position: relative; overflow: hidden;"><pre style="\n padding: .75em;\n border-radius: 0.25em;\n font-size: 16px;\n overflow: auto;\n max-width: ${window.innerWidth-100}px;\n">\n <code class="language-${e.lang}">\n${t.highlight(e.text,t.languages[e.lang],e.lang)}\n</code>\n<button class="copy-code-button bg-[#d0d7de] dark:bg-[#30363d] text-[#1f2328] dark:text-[#e6edf3]" \nstyle="\n position: absolute;\n top: -20px;\n right: 0;\n padding: .25em 1.4em .25em .5em;\n border-radius: 0 0 0 0.25em;\n font-size: ${l?"12":"14"}px;\n cursor: pointer;\n user-select: none;\n border: none;\n outline: none;\n z-index: 1;\n">\n Copy\n</button></pre></div>`:n};const b=i.codespan;i.codespan=e=>b.call(i,e).replace(/<code/,`<code class="bg-[#EFF1F3] dark:bg-[#161b22] text-[#1f2328] dark:text-[#e6edf3]" style="\n padding: 0 .25em 0 .25em;\n border-radius: 0.25em;\n font-size: ${l?"14px":"16px"};\n margin-left: 2px;\n "`);const h=i.blockquote;return i.blockquote=e=>h.call(i,e).replace(/<blockquote/,'<blockquote class="border-l-[#D0D7DE] dark:border-l-[#30363D] text-[#656d76] dark:text-[#8b8b8b]" style="\n border-left-width: 4px;\n padding-left: 1em;\n "'),i.image=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href;return o?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">`},i};export{n as renderer};
1
+ import{marked as e}from"marked";import t from"prismjs";import"prismjs/components/prism-css";import"prismjs/components/prism-javascript";import"prismjs/components/prism-markdown";import"prismjs/components/prism-markup";import"prismjs/components/prism-python";const n=({theme:n="light",accentColor:r="#228DD7",centerMedia:i=!0,forceMobile:l=!1,linkPreviews:o=!1,actions:a=!1}={theme:"light",accentColor:"#228DD7",centerMedia:!1,forceMobile:!1,linkPreviews:!1,actions:!1})=>{const s=new e.Renderer,d=s.link;s.link=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href,l=t.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com\/watch\?v=|youtu\.be\/)([\w-]+)/i);if(l&&(null==l?void 0:l[1]))return i?`<div style="display: flex; justify-content: center; width: 100%; height: 315px; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <iframe src="https://www.youtube.com/embed/${l[1]}" \n style="width: 100%; max-width: 560px; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`:`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${l[1]}" \n style="width: 100%; height: 100%;" \n frameborder="0" \n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" \n allowfullscreen>\n </iframe>\n</div>`;if(null!==t.match(/\.(jpeg|jpg|gif|bmp|webp|svg|tiff|avif)$/))return i?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; width: 100%; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto;">`;if(a&&t.includes("pickaxe")&&(t.includes("/api/fn/result")||t.includes("/api/function_call_results")))return`<dotlottie-wc src="${"dark"===n?"https://lottie.host/328aa2a8-b160-4124-a40c-5847f58da813/Vl0EK9lnJc.lottie":"https://lottie.host/6fd1b0ad-8816-4800-b511-3a259947a9b2/kh7G1Fz1HB.lottie"}" data-fn-url="${t}" class="marked-link-function-calling-loader" style="max-width:150px; width: 100%; height:150px; border: none; background: transparent;" autoplay loop></dotlottie-wc>`;let c=d.call(s,e);return c=c.replace(/^<a /,`<a style="color: ${r};" target="_blank" rel="noopener noreferrer"${o?' class="marked-link-possible-preview-render"':""}`),c},s.heading=({depth:e,text:t})=>1===e?`<h1 style="\n font-size: 2em;\n line-height: 1;\n "><b>${t}</b></h1>`:2===e?`<h2 style="\n font-size: 1.25em;\n "><b>${t}</b></h2>`:`<h${e} style="\n "><b>${t}</b></h${e}>`;const c=s.list;s.list=e=>{let t=c.call(s,e);return t=t.replace(/<\/p>\s*<\/li>/g,"</li>"),t=t.replace(/<li>\s*<p>/g,"<li>"),t=t.replace(/^<ol/,'<ol style="\n list-style: decimal inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t=t.replace(/^<ul/,'<ul style="\n list-style: disc inside; \n padding-left: 15px; \n margin-top: .5em; \n margin-bottom: 0;\n "'),t};const p=s.listitem;s.listitem=e=>{let t=p.call(s,e);return t=t.replace(/<li/,'<li style="\n margin-bottom: 4px;\n "'),t};const m=s.table;s.table=e=>{let t=m.call(s,e);return t=t.replace(/<table/,'<table style="margin-top: .5em; font-size: 16px;" class="table-auto"'),t};const h=s.tablecell;s.tablecell=e=>{let t=h.call(s,e);return t=t.replace(/<td/,'<td class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n "'),t=t.replace(/<th/,'<th class="border-[#d0d7de] dark:border-[#30363d]" style="\n border-width: 1px;\n padding: 0.25em 0.75em 0.25em 0.75em;\n font-weight: 600;\n "'),t};const b=s.code;s.code=e=>{const n=b.call(s,e);return e.lang&&t.languages[e.lang]?`<div class="bg-[#EFF1F3] dark:bg-[#161b22]" style="position: relative; overflow: hidden;"><pre style="\n padding: .75em;\n border-radius: 0.25em;\n font-size: 16px;\n overflow: auto;\n max-width: ${window.innerWidth-100}px;\n">\n <code class="language-${e.lang}">\n${t.highlight(e.text,t.languages[e.lang],e.lang)}\n</code>\n<button class="copy-code-button bg-[#d0d7de] dark:bg-[#30363d] text-[#1f2328] dark:text-[#e6edf3]" \nstyle="\n position: absolute;\n top: -20px;\n right: 0;\n padding: .25em 1.4em .25em .5em;\n border-radius: 0 0 0 0.25em;\n font-size: ${l?"12":"14"}px;\n cursor: pointer;\n user-select: none;\n border: none;\n outline: none;\n z-index: 1;\n">\n Copy\n</button></pre></div>`:n};const g=s.codespan;s.codespan=e=>g.call(s,e).replace(/<code/,`<code class="bg-[#EFF1F3] dark:bg-[#161b22] text-[#1f2328] dark:text-[#e6edf3]" style="\n padding: 0 .25em 0 .25em;\n border-radius: 0.25em;\n font-size: ${l?"14px":"16px"};\n margin-left: 2px;\n "`);const u=s.blockquote;return s.blockquote=e=>u.call(s,e).replace(/<blockquote/,'<blockquote class="border-l-[#D0D7DE] dark:border-l-[#30363D] text-[#656d76] dark:text-[#8b8b8b]" style="\n border-left-width: 4px;\n padding-left: 1em;\n "'),s.image=e=>{const t=e.href.startsWith("www.")?`https://${e.href}`:e.href;return i?`<div style="display: flex; justify-content: center; width: 100%; margin-top: 2.5rem; margin-bottom: 2.5rem;">\n <img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">\n </div>`:`<img src="${t}" alt="${e.text}" style="max-width:300px; height:auto; border-radius: 8px;">`},s};export{n as renderer};
@@ -0,0 +1 @@
1
+ import*as r from"react";var e,t,n;function o(){return o=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},o.apply(null,arguments)}var a=a=>r.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24"},a),e||(e=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v3M12 18v3M3 12h3M18 12h3"})),t||(t=r.createElement("circle",{cx:12,cy:12,r:2,stroke:"currentColor",strokeWidth:2})),n||(n=r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M18 8h-1.2a.8.8 0 0 1-.8-.8V6M6 8h1.2a.8.8 0 0 0 .8-.8V6M18 16h-1.2a.8.8 0 0 0-.8.8V18M6 16h1.2a.8.8 0 0 1 .8.8V18"})));export{a as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{usePickaxeContext as a}from"../../../../hooks/pickaxe/usePickaxeContext.js";import t from"../../../Core/PickaxeIcon.js";import l from"../../../Core/CopyButton.js";import r from"../../../Core/MarkdownRenderer.js";const o=({message:o})=>{var c;const{formId:i,pickaxe:m}=a(),n=null!==(c=null==m?void 0:m.chaticon)&&void 0!==c?c:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${i}.png`;return"assistant"===o.role?e("div",Object.assign({className:"flex max-w-[80%] flex-col max-[767px]:max-w-full"},{children:s("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==n&&e(t,{src:n,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6"}),s("div",Object.assign({className:"flex flex-col"},{children:[e("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded bg-blue-100/50 px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e(r,{className:"relative max-[767px]:text-sm",html:o.content})})),e("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e(l,{text:o.content})}))]}))]}))})):"user"===o.role?e("div",Object.assign({className:"flex max-w-[80%] gap-x-3 justify-self-end max-[767px]:max-w-full max-[767px]:pl-9"},{children:e("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded bg-white px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e(r,{className:"relative max-[767px]:text-sm",html:o.content})}))})):e("div",{})};export{o as default};
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{usePickaxeContext as s}from"../../../../hooks/pickaxe/usePickaxeContext.js";import o from"../../common/PickaxeIcon.js";import t from"../../common/PickaxeMarkdown.js";import l from"../../common/PickaxeCopyButton.js";const c=({message:c})=>{var r;const{formId:i,pickaxe:m,colors:n}=s(),x=null!==(r=null==m?void 0:m.chaticon)&&void 0!==r?r:`https://prod-pickaxe-assets.s3.us-west-2.amazonaws.com/chaticons/${i}.png`;return"assistant"===c.role?e("div",Object.assign({className:"flex max-w-[80%] flex-col max-[767px]:max-w-full"},{children:a("div",Object.assign({className:"flex gap-x-3"},{children:["NONE"!==x&&e(o,{src:x,alt:"Assistant",width:24,height:24,className:"my-3 h-6 w-6",textColor:n.text}),a("div",Object.assign({className:"flex flex-col"},{children:[e("div",Object.assign({className:"chat-message overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",style:{backgroundColor:n.secondary+"80",color:n.secondaryText}},{children:e(t,{className:"relative max-[767px]:text-sm",html:c.content})})),e("div",Object.assign({className:"mb-2 ml-2 mt-4 flex gap-3"},{children:e(l,{color:n.accent,text:c.content})}))]}))]}))})):"user"===c.role?e("div",Object.assign({className:"flex max-w-[80%] gap-x-3 justify-self-end max-[767px]:max-w-full max-[767px]:pl-9"},{children:e("div",Object.assign({className:"overflow-x-auto overflow-y-hidden rounded px-4 py-3 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]"},{children:e(t,{className:"relative max-[767px]:text-sm",html:c.content})}))})):e("div",{})};export{c as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as a,useMemo as t}from"react";import{usePickaxeContext as l}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as i}from"../../../../hooks/pickaxe/useResponseContext.js";import{useConversation as o}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../../Icons/circle-info.svg.js";import n from"../../../Core/PickaxeIcon.js";import r from"../../Addons/Scroll/ScrollLockView.js";import m from"../../InfoModal.js";import d from"./Message.js";import p from"../../../../common/cn.js";import f from"../../../Core/HtmlRenderer.js";const x=()=>{var x;const{pickaxe:u,colors:g,isNewChat:h}=l(),{messages:b,status:v,error:j}=i(),w=o(),[N,y]=a(!1),k=t((()=>!!w.data&&!(w.data.messages.length<=1)),[w.data]),O=t((()=>w.isSuccess&&h&&!k),[w.isSuccess,h,k]);return e("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[N&&s(m,{isOpen:N,onChangeIsOpen:y}),e("div",Object.assign({className:p("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",O&&"top-1/3 opacity-100")},{children:[s(n,{src:null==u?void 0:u.coverphoto,alt:`${null==u?void 0:u.formtitle}'s Profile Picture`,width:64,height:64,className:"h-16 w-16 rounded-full"}),e("div",Object.assign({className:"flex flex-col items-center"},{children:[e("h2",Object.assign({className:"mt-6 text-center text-lg font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==u?void 0:u.formtitle.slice(0,130)}${(null!==(x=null==u?void 0:u.formtitle)&&void 0!==x?x:"").length>130?"...":""}`,s("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>y(!0)},{children:s(c,{className:"h-5 w-5 shrink-0",style:{color:g.accent}})}))]})),s("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==u?void 0:u.formdescription}))]}))]})),s("div",Object.assign({className:"flex w-full justify-center"},{children:w.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-gray-200"}),s("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-gray-200"}),s("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-gray-200"})]})):w.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:"relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-10 max-[767px]:pt-6"},{children:[w.data.messages.map(((e,a)=>s(d,{message:e},a))),b.map(((e,a)=>s(d,{message:e},a))),"fetching"===v?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==u?void 0:u.chaticon)&&s(n,{src:null==u?void 0:u.chaticon,alt:`${null==u?void 0:u.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded bg-blue-100/50 px-4 py-4"},{children:[s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full bg-black/60"}),s("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full bg-black/60"}),s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full bg-black/60"})]}))]})):j?e("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[s(c,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),s(f,{className:"x-4 py-2 font-semibold text-red-500",html:j})]})):null,s(r,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};export{x as default};
1
+ import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useState as t,useMemo as a}from"react";import{usePickaxeContext as l}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as o}from"../../../../hooks/pickaxe/useResponseContext.js";import{useConversation as i}from"../../../../hooks/pickaxe/useConversation.js";import c from"../../../Icons/circle-info.svg.js";import n from"../../common/PickaxeIcon.js";import r from"../../../Core/HtmlRenderer.js";import m from"../../Addons/Scroll/ScrollLockView.js";import d from"../../InfoModal.js";import p from"./Message.js";import x from"../../../../common/cn.js";const f=()=>{var f;const{pickaxe:u,colors:g,isNewChat:h}=l(),{messages:b,status:v,error:j}=o(),w=i(),[N,y]=t(!1),k=a((()=>!!w.data&&!(w.data.messages.length<=1)),[w.data]),O=a((()=>w.isSuccess&&h&&!k),[w.isSuccess,h,k]);return e("div",Object.assign({className:"relative flex flex-grow flex-col justify-end"},{children:[N&&s(d,{isOpen:N,onChangeIsOpen:y}),e("div",Object.assign({className:x("absolute left-1/2 top-5 flex w-full max-w-[400px] -translate-x-1/2 -translate-y-1/3 transform flex-col items-center px-4 opacity-0 duration-300",O&&"top-1/3 opacity-100")},{children:[s(n,{src:null==u?void 0:u.coverphoto,alt:`${null==u?void 0:u.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("div",Object.assign({className:"flex flex-col items-center"},{children:[e("h2",Object.assign({className:"mt-6 text-center text-lg font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==u?void 0:u.formtitle.slice(0,130)}${(null!==(f=null==u?void 0:u.formtitle)&&void 0!==f?f:"").length>130?"...":""}`,s("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>y(!0)},{children:s(c,{className:"h-5 w-5 shrink-0",style:{color:g.accent}})}))]})),s("p",Object.assign({className:"mt-2 line-clamp-3 whitespace-pre-line max-w-[600px] text-center font-semilight opacity-70"},{children:null==u?void 0:u.formdescription}))]}))]})),s("div",Object.assign({className:"flex w-full justify-center"},{children:w.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]"}),s("div",{className:"h-[150px] w-[70%] animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]"}),s("div",{className:"h-10 w-[50%] animate-pulse justify-self-end rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]"})]})):w.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:"relative grid w-full max-w-[800px] grid-cols-1 gap-y-6 px-4 pt-10 max-[767px]:pt-6"},{children:[w.data.messages.map(((e,t)=>s(p,{message:e},t))),b.map(((e,t)=>s(p,{message:e},t))),"fetching"===v?e("div",Object.assign({className:"flex max-w-[80%] items-center gap-x-3"},{children:["NONE"!==(null==u?void 0:u.chaticon)&&s(n,{src:null==u?void 0:u.chaticon,alt:`${null==u?void 0:u.formtitle}'s Chat Icon`,width:24,height:24,className:"h-6 w-6"}),e("div",Object.assign({className:"flex items-center gap-x-2 rounded px-4 py-4",style:{backgroundColor:g.secondary+"80",color:g.secondaryText}},{children:[s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:g.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot-down rounded-full",style:{backgroundColor:g.secondaryText}}),s("div",{className:"h-1.5 w-1.5 animate-dot rounded-full",style:{backgroundColor:g.secondaryText}})]}))]})):j?e("div",Object.assign({className:"flex max-w-[80%] gap-x-3"},{children:[s(c,{className:"mt-2 h-6 w-6 shrink-0 text-red-500"}),s(r,{className:"x-4 py-2 font-semibold text-red-500",html:j})]})):null,s(m,{className:"absolute bottom-0 left-0 w-full"})]}))}))]}))};export{f as default};
@@ -1 +1 @@
1
- import{__awaiter as e}from"../../../_virtual/_tslib.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useState as s,useRef as r}from"react";import{useMediaQuery as n}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as a}from"../../../hooks/pickaxe/useResponseContext.js";import{useConversation as l}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as d}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as c}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as m}from"../Addons/Document/hooks/useDocument.js";import{useScroll as u}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as p,allowedImageMimeTypes as f}from"../../../common/documents.js";import{streamer as h}from"../../../common/api/streamer.js";import g 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 x from"../../Icons/attach.svg.js";import v from"../../Icons/send.svg.js";import b from"../Addons/IceBreaker/index.js";import k from"../../../common/error.js";import w from"../../../common/cn.js";const y=()=>{var y,I,j,A;const{formId:D,chatId:S,pickaxe:N,colors:C,isNewChat:E,setIsNewChat:O}=i(),{messages:R,status:U,setMessage:_,setStatus:z,setError:B}=a(),{documents:F,isUploading:M,isImageUploadAllowed:K,upsertDocuments:L,onFileUpload:P,onEditDocumentByDocId:T}=m(),{isScrollIncreasing:W,scrollToBottom:H,scrollStart:Q,scrollEnd:Y}=u(),q=l(),G=d(),J=c(),[V,X]=s(""),Z=r(null),[$]=n("(max-width: 767px)"),ee=o=>e(void 0,void 0,void 0,(function*(){try{if(M)return;B(""),O(!1);const e=null!=o?o:V;if(!e||"fetching"===U||"streaming"===U)return;const t=new Date;X("");const s="enduserupload"===(null==N?void 0:N.documentuploadtype),r=F.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";z("fetching"),_({id:R.length+1,role:"user",content:e});const{success:i,data:a,usedDocumentIds:l,newDocumentId:d,newDocumentName:c,isInsertedFile:m,error:u}=yield G.mutateAsync(Object.assign({formId:D,responseId:S,value:e},s&&n&&{documentId:n}));if(!i)throw new Error(null!=u?u:"An error occurred, please try again.");m&&n&&T({documentId:n,isInsertedAsRaw:!0}),d&&c&&L([{type:"website",id:c,name:c,status:"finished",documentId:d}]),Q(),H();const p=(yield h({formId:D,responseId:S,data:a})).body;if(!p)throw new Error("Streaming error");const f=p.getReader(),g=new TextDecoder;let x="",v=!0;for(;v;){const{value:e,done:o}=yield f.read();v=!o;if(x+=g.decode(e),x)z("streaming"),_({id:R.length+2,role:"assistant",content:x}),W&&H();else if(!v&&!x)throw new Error("Server error")}const b=new Date;x&&(H(),z("idle"),yield J.mutateAsync({formId:D,responseId:S,documentIds:l,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:x,sentAt:b}]}))}catch(e){let o=k(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later."),B(o),H()}finally{z("idle"),Y()}}));return o("div",Object.assign({className:"relative flex w-full flex-col max-[767px]:fixed max-[767px]:bottom-0 max-[767px]:left-0"},{children:[E&&N&&!q.isLoading&&(null!==(I=null===(y=q.data)||void 0===y?void 0:y.messages.length)&&void 0!==I?I:0)<=1&&N.icebreakers&&N.icebreakers.length>0&&t(b,{data:null!==(j=N.icebreakers)&&void 0!==j?j:[],style:{color:"#000000"},isMobile:$,onSend:ee}),o("div",Object.assign({className:"flex min-h-[56px] items-end gap-x-2 bg-white px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==N?void 0:N.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:Z,type:"file",accept:[...p,...K?f:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield P(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:M,onClick:()=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.click()}},{children:t(x,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:C.accent}})}))]})),t(g,{className:w("max-h-60 w-full resize-none border-black bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!V.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:V,placeholder:null!==(A=null==N?void 0:N.placeholdertext)&&void 0!==A?A:"What do you want to talk about?",onChange:e=>X(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),ee())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==U||M,onClick:()=>ee()},{children:t(v,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:C.accent}})}))]}))]}))};export{y 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}from"react";import{useMediaQuery as n}from"../../../hooks/core/useMediaQuery.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as a}from"../../../hooks/pickaxe/useResponseContext.js";import{useStyleInput as l}from"../../../hooks/studio/useStyleInput.js";import{useConversation as d}from"../../../hooks/pickaxe/useConversation.js";import{useSubmit as c}from"../../../hooks/pickaxe/useSubmit.js";import{useSubmitResult as m}from"../../../hooks/pickaxe/useSubmitResult.js";import{useDocument as u}from"../Addons/Document/hooks/useDocument.js";import{useScroll as p}from"../Addons/Scroll/hooks/useScroll.js";import{allowedFileMimeTypes as f,allowedImageMimeTypes as h}from"../../../common/documents.js";import{streamer as g}from"../../../common/api/streamer.js";import x from"../../../node_modules/.pnpm/react-textarea-autosize@8.5.7_@types_react@18.3.18_react@18.3.1/node_modules/react-textarea-autosize/dist/react-textarea-autosize.esm.js";import v from"../../Icons/attach.svg.js";import y from"../../Icons/send.svg.js";import b from"../Addons/IceBreaker/index.js";import k from"../../../common/error.js";import w from"../../../common/cn.js";const I=()=>{var I,j,S,A;const{formId:D,chatId:N,pickaxe:C,colors:E,isNewChat:O,setIsNewChat:R}=i(),{messages:U,status:_,setMessages:z,setStatus:B,setError:F}=a(),{documents:M,isUploading:T,isImageUploadAllowed:K,upsertDocuments:L,onFileUpload:P,onEditDocumentByDocId:W}=u(),{isScrollIncreasing:H,scrollToBottom:Q,scrollStart:Y,scrollEnd:q}=p(),G=d(),J=c(),V=m(),[X,Z]=s(""),$=r(null),[ee]=n("(max-width: 767px)"),oe=l(),te=o=>e(void 0,void 0,void 0,(function*(){try{if(T)return;F(""),R(!1);const e=null!=o?o:X;if(!e||"fetching"===_||"streaming"===_)return;const t=new Date;Z("");const s="enduserupload"===(null==C?void 0:C.documentuploadtype),r=M.filter((e=>"finished"===e.status&&!e.isInsertedAsRaw)),n=r.length?r[r.length-1].documentId:"";B("fetching");const i=[...U,{id:U.length+1,role:"user",content:e}];z(i);const{success:a,data:l,usedDocumentIds:d,newDocumentId:c,newDocumentName:m,isInsertedFile:u,error:p}=yield J.mutateAsync(Object.assign({formId:D,responseId:N,value:e},s&&n&&{documentId:n}));if(!a)throw new Error(null!=p?p:"An error occurred, please try again.");u&&n&&W({documentId:n,isInsertedAsRaw:!0}),c&&m&&L([{type:"website",id:m,name:m,status:"finished",documentId:c}]),Y(),Q();const f=(yield g({formId:D,responseId:N,data:l})).body;if(!f)throw new Error("Streaming error");const h=f.getReader(),x=new TextDecoder,v=i.length;let y="",b=!0;for(B("streaming");b;){const{value:e,done:o}=yield h.read();b=!o;if(y+=x.decode(e),y)z([...i.slice(0,v),{id:U.length+1,role:"assistant",content:y}]),H&&Q();else if(!b&&!y)throw new Error("Server error")}const k=new Date;y&&(Q(),B("idle"),yield V.mutateAsync({formId:D,responseId:N,documentIds:d,studioUserId:"USER68RFBSHU4YS2I4L",messages:[{role:"user",message:e,sentAt:t},{role:"assistant",message:y,sentAt:k}]}))}catch(e){let o=k(e);o.includes("Unexpected token 'A',")&&(o="Oops! We're experiencing high traffic at the moment. Please try again later."),F(o),Q()}finally{B("idle"),q()}}));return o("div",Object.assign({className:"relative flex w-full flex-col max-[767px]:fixed max-[767px]:bottom-0 max-[767px]:left-0"},{children:[O&&C&&!G.isLoading&&(null!==(j=null===(I=G.data)||void 0===I?void 0:I.messages.length)&&void 0!==j?j:0)<=1&&C.icebreakers&&C.icebreakers.length>0&&t(b,{data:null!==(S=C.icebreakers)&&void 0!==S?S:[],style:{backgroundColor:E.secondary,color:E.secondaryText},isMobile:ee,onSend:te}),o("div",Object.assign({style:oe,className:"flex min-h-[56px] items-end gap-x-2 bg-white px-4 py-3 pb-[15px] shadow"},{children:["enduserupload"===(null==C?void 0:C.documentuploadtype)&&o("div",Object.assign({className:"tooltip"},{children:[t("input",{id:"file-upload",ref:$,type:"file",accept:[...f,...K?h:[]].join(", "),multiple:!0,hidden:!0,className:"hidden",onChange:o=>e(void 0,void 0,void 0,(function*(){yield P(Array.from(o.target.files||[])),o.target.value=""}))}),t("button",Object.assign({className:"flex items-center disabled:cursor-wait disabled:opacity-50",disabled:T,onClick:()=>{var e;return null===(e=$.current)||void 0===e?void 0:e.click()}},{children:t(v,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:E.accent}})}))]})),t(x,{className:w("max-h-60 w-full resize-none border-black bg-transparent outline-none ring-0 scrollbar scrollbar-thin placeholder:font-semilight",!X.length&&"max-h-6 overflow-hidden text-ellipsis whitespace-nowrap"),value:X,placeholder:null!==(A=null==C?void 0:C.placeholdertext)&&void 0!==A?A:"What do you want to talk about?",onChange:e=>Z(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),te())}}),t("button",Object.assign({className:"outline-none disabled:cursor-default disabled:opacity-50",disabled:"idle"!==_||T,onClick:()=>te()},{children:t(y,{className:"h-6 w-6 shrink-0 stroke-2",style:{color:E.accent}})}))]}))]}))};export{I as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as i}from"react";import{usePickaxeContext as o}from"../../../hooks/pickaxe/usePickaxeContext.js";import l from"../../Icons/circle-info.svg.js";import n from"../../Core/PickaxeIcon.js";import c from"../InfoModal.js";const s=()=>{var s;const{pickaxe:r}=o(),[a,m]=i(!1);return e("div",Object.assign({className:"flex flex-col items-center"},{children:[a&&t(c,{isOpen:a,onChangeIsOpen:m}),t(n,{src:null==r?void 0:r.coverphoto,alt:`${null==r?void 0:r.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==r?void 0:r.formtitle.slice(0,130)}${(null!==(s=null==r?void 0:r.formtitle)&&void 0!==s?s:"").length>130?"...":""}`,t("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>m(!0)},{children:t(l,{className:"h-5 w-5 shrink-0 text-c-blue"})}))]})),t("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==r?void 0:r.formdescription}))]}))};export{s as default};
1
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useState as t}from"react";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import l from"../../Icons/circle-info.svg.js";import c from"../common/PickaxeIcon.js";import n from"../InfoModal.js";const s=()=>{var s;const{pickaxe:r,colors:a}=i(),[m,p]=t(!1);return e("div",Object.assign({className:"flex flex-col items-center"},{children:[m&&o(n,{isOpen:m,onChangeIsOpen:p}),o(c,{src:null==r?void 0:r.coverphoto,alt:`${null==r?void 0:r.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:[`${null==r?void 0:r.formtitle.slice(0,130)}${(null!==(s=null==r?void 0:r.formtitle)&&void 0!==s?s:"").length>130?"...":""}`,o("button",Object.assign({className:"ml-2 inline-block outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>p(!0)},{children:o(l,{className:"h-5 w-5 shrink-0",style:{color:a.accent}})}))]})),o("p",Object.assign({className:"mt-2 max-w-[600px] line-clamp-3 whitespace-pre-line text-center font-semilight opacity-70"},{children:null==r?void 0:r.formdescription}))]}))};export{s as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as i}from"react";import{useInView as a}from"react-intersection-observer";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useHistory as r}from"../../../../hooks/pickaxe/useHistory.js";import o from"../../../Icons/spinner-circle.svg.js";import n from"./Item.js";const c=()=>{var c;const{colors:l,isShowHistory:m}=t(),p=r({enabled:m}),{ref:d}=a({onChange(e){e&&p.hasNextPage&&p.fetchNextPage()}});return m&&p.isLoading?e("div",{className:"w-full min-h-[300px] animate-pulse bg-gray-200"}):p.isError?e("div",{}):m?s("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(c=p.data)||void 0===c?void 0:c.pages.map(((s,a)=>e(i,{children:s.data.map((s=>e(i,{children:e(n,{item:s})},s.responseId)))},a))),e("div",Object.assign({className:"flex items-center justify-center"},{children:p.isFetchingNextPage?e(o,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:l.accent}}):p.hasNextPage?e("div",{ref:d,className:"invisible h-14 w-14"}):null}))]})):null};export{c as default};
1
+ import{jsx as e,jsxs as s}from"react/jsx-runtime";import{Fragment as i}from"react";import{useInView as a}from"react-intersection-observer";import{usePickaxeContext as t}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useHistory as r}from"../../../../hooks/pickaxe/useHistory.js";import o from"../../../Icons/spinner-circle.svg.js";import n from"./Item.js";const c=()=>{var c;const{colors:l,isShowHistory:m}=t(),p=r({enabled:m}),{ref:d}=a({onChange(e){e&&p.hasNextPage&&p.fetchNextPage()}});return m&&p.isLoading?e("div",{className:"w-full min-h-[300px] animate-pulse bg-[#E5E7EB] dark:bg-[#1E1E1F]"}):p.isError?e("div",{}):m?s("div",Object.assign({className:"flex flex-col gap-y-8"},{children:[null===(c=p.data)||void 0===c?void 0:c.pages.map(((s,a)=>e(i,{children:s.data.map((s=>e(i,{children:e(n,{item:s})},s.responseId)))},a))),e("div",Object.assign({className:"flex items-center justify-center"},{children:p.isFetchingNextPage?e(o,{className:"my-10 h-14 w-14 animate-spin animate-spin text-gray-300",style:{fill:l.accent}}):p.hasNextPage?e("div",{ref:d,className:"invisible h-14 w-14"}):null}))]})):null};export{c as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{format as l}from"date-fns";import r from"../../../Icons/message-square-notes.svg.js";import a from"../../../Icons/visitor.svg.js";import i from"../../../Core/PickaxeIcon.js";import n from"../../../Core/CopyButton.js";import c from"../../../Core/MarkdownRenderer.js";const d=({item:d})=>{const{pickaxe:m,colors:p,setChatId:h,setIsNewChat:f}=o(),u=t((()=>l(d.createdAt,"hh:mm a MMM dd, yy")),[d]),g=t((()=>d&&d.messages?d.messages.length:0),[d]),x=t((()=>{var e,s,t,o;if("form"===d.type){return(null!==(e=d.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!==(o=null===(t=null===(s=d.messages)||void 0===s?void 0:s[0])||void 0===t?void 0:t.message)&&void 0!==o?o:""}),[d]),v=t((()=>{var e,s,t,o;return"form"===d.type?null!==(e=d.questionResponse)&&void 0!==e?e:"":null!==(o=null===(t=null===(s=d.messages)||void 0===s?void 0:s[1])||void 0===t?void 0:t.message)&&void 0!==o?o:""}),[d]);return e("div",Object.assign({className:"flex flex-co transition hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(a,{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:`${d.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:x.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:x}}),s("label",Object.assign({htmlFor:`${d.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:hidden hover:cursor-pointer",style:{color:p.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${d.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold peer-checked:flex hover:cursor-pointer",style:{color:p.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:p.secondary,color:p.secondaryText}},{children:[s(i,{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"}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(c,{className:"overflow-x-auto pb-2 font-light opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:v}),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==m?void 0:m.enablechatresponses)&&e("button",Object.assign({className:"flex items-center gap-x-1 hover:cursor-pointer hover:text-c-blue",onClick:()=>{return e=d.responseId,f(!1),void h(e);var e}},{children:[s(r,{className:"h-4 w-4"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:g+1}))]})),s(n,{text:v})]})),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:u}))}))]}))]}))]}))]}))};export{d 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 l}from"date-fns";import i from"../../../Icons/message-square-notes.svg.js";import a from"../../../Icons/visitor.svg.js";import n from"../../common/PickaxeIcon.js";import r from"../../common/PickaxeMarkdown.js";import c from"../../common/PickaxeSimpleButton.js";import d from"../../common/PickaxeCopyButton.js";const m=({item:m})=>{const{pickaxe:p,colors:h,setChatId:f,setIsNewChat:x}=t(),u=o((()=>l(m.createdAt,"hh:mm a MMM dd, yy")),[m]),g=o((()=>m&&m.messages?m.messages.length:0),[m]),v=o((()=>{var e,s,o,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===(o=null===(s=m.messages)||void 0===s?void 0:s[0])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[m]),b=o((()=>{var e,s,o,t;return"form"===m.type?null!==(e=m.questionResponse)&&void 0!==e?e:"":null!==(t=null===(o=null===(s=m.messages)||void 0===s?void 0:s[1])||void 0===o?void 0:o.message)&&void 0!==t?t:""}),[m]);return e("div",Object.assign({className:"flex flex-co transition hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(a,{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:`${m.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),s("div",{className:"danger-html hidden flex-col peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),s("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"})),s("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("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:h.secondary,color:h.secondaryText}},{children:[s(n,{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 pt-1",textColor:h.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(r,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:b}),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==p?void 0:p.enablechatresponses)&&e(c,Object.assign({color:h.accent,onClick:()=>{return e=m.responseId,x(!1),void f(e);var e}},{children:[s(i,{className:"h-4 w-4 shrink-0"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:g+1}))]})),s(d,{color:h.accent,text:b})]})),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:u}))}))]}))]}))]}))]}))};export{m as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as s}from"react/jsx-runtime";import{useMemo as t}from"react";import{usePickaxeContext as o}from"../../../../hooks/pickaxe/usePickaxeContext.js";import{useResponseContext as r}from"../../../../hooks/pickaxe/useResponseContext.js";import{format as l}from"date-fns";import a from"../../../Icons/message-square-notes.svg.js";import n from"../../../Icons/visitor.svg.js";import i from"../../../Core/PickaxeIcon.js";import c from"../../../Core/CopyButton.js";import d from"../../../Core/MarkdownRenderer.js";import p from"../../Addons/Scroll/ScrollLockView.js";const m=()=>{var m;const{pickaxe:h,colors:x,setChatId:f,setIsNewChat:u}=o(),{response:g}=r(),b=t((()=>l(g?g.createdAt:new Date,"hh:mm a MMM dd, yy")),[g]),v=t((()=>{var e;if(!g)return"";return(null!==(e=g.questions)&&void 0!==e?e:[]).map((e=>`<div style="display: flex; flex-direction: column; margin-bottom: 1em;">\n <p style="font-weight: 500;">${e.question}</p>\n <p>${e.answer||"n/a"}</p>\n</div>`)).join("")}),[g]);return g?e("div",Object.assign({className:"flex flex-col shadow-black transition hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden bg-white px-4 py-5"},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(n,{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:`${g.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:v.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:v}}),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:"mt-1 flex shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] peer-checked:hidden hover:cursor-pointer",style:{color:x.accent}},{children:"See input"})),s("label",Object.assign({htmlFor:`${g.responseId}-input`,className:"hidden shrink-0 whitespace-nowrap text-sm font-semibold text-[#228DD7] 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(i,{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"}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(d,{className:"overflow-x-auto pb-2 font-light opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:g.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==h?void 0:h.enablechatresponses)&&e("button",Object.assign({className:"flex items-center gap-x-1 hover:cursor-pointer hover:text-c-blue",onClick:()=>{return e=g.responseId,u(!1),void f(e);var e}},{children:[s(a,{className:"h-4 w-4"}),s("p",Object.assign({className:"text-sm font-semibold"},{children:g.messages.length+1}))]})),s(c,{text:null!==(m=g.questionResponse)&&void 0!==m?m:""})]})),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:b}))}))]}))]}))]})),s(p,{})]})):null};export{m 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 r}from"../../../../hooks/pickaxe/useResponseContext.js";import{format as a}from"date-fns";import l from"../../../Icons/message-square-notes.svg.js";import n from"../../../Icons/visitor.svg.js";import c from"../../common/PickaxeIcon.js";import i from"../../common/PickaxeMarkdown.js";import m from"../../common/PickaxeSimpleButton.js";import d from"../../Addons/Scroll/ScrollLockView.js";import p from"../../common/PickaxeCopyButton.js";const h=()=>{var h;const{pickaxe:x,colors:f,setChatId:u,setIsNewChat:g}=t(),{response:b}=r(),v=o((()=>a(b?b.createdAt:new Date,"hh:mm a MMM dd, yy")),[b]),k=o((()=>{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("div",Object.assign({className:"flex flex-col shadow-black transition hover:shadow"},{children:[e("div",Object.assign({className:"flex gap-x-3 overflow-hidden px-4 py-5",style:{backgroundColor:f.primary,color:f.text}},{children:[s("div",Object.assign({className:"shrink-0 pt-1"},{children:s(n,{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:`${b.responseId}-input`,type:"checkbox",className:"peer hidden",defaultChecked:k.length<280}),s("div",{className:"danger-html hidden flex-col opacity-50 peer-checked:flex",dangerouslySetInnerHTML:{__html:k}}),s("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:f.accent}},{children:"See input"})),s("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:f.accent}},{children:"Hide input"}))]}))]})),e("div",Object.assign({className:"flex gap-x-3 px-4 py-5",style:{backgroundColor:f.secondary,color:f.secondaryText}},{children:[s(c,{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:f.secondaryText}),e("div",Object.assign({className:"flex w-full flex-col gap-y-2 overflow-hidden"},{children:[s(i,{className:"overflow-x-auto pb-2 font-semilight opacity-90 scrollbar-thin scrollbar-track-white scrollbar-thumb-[#4A4A4B]",html:b.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==x?void 0:x.enablechatresponses)&&e(m,Object.assign({color:f.accent,onClick:()=>{return e=b.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.messages.length+1}))]})),s(p,{color:f.accent,text:null!==(h=b.questionResponse)&&void 0!==h?h:""})]})),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}))}))]}))]}))]})),s(d,{})]})):null};export{h as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{usePickaxeContext as i}from"../../hooks/pickaxe/usePickaxeContext.js";import s from"../Icons/x.svg.js";import o from"../Core/Modal/index.js";import l from"../Core/Modal/Body.js";import a from"../Core/PickaxeIcon.js";const c=({isOpen:c,onChangeIsOpen:n})=>{const{pickaxe:r}=i();return e(o,Object.assign({isOpen:c,onChange:n},{children:t(l,Object.assign({className:"relative flex w-full max-w-[480px] flex-col px-8 py-[26px] max-[767px]:max-w-full",avoidOverflow:!0},{children:[e("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>n(!1)},{children:e(s,{className:"h-6 w-6 shrink-0"})}))})),e("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:t("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e(a,{src:null==r?void 0:r.coverphoto,alt:`${null==r?void 0:r.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:null==r?void 0:r.formtitle})),e("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==r?void 0:r.formdescription}))]}))}))]}))}))};export{c as default};
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{usePickaxeContext as i}from"../../hooks/pickaxe/usePickaxeContext.js";import s from"../Icons/x.svg.js";import o from"../Core/Modal/index.js";import l from"../Core/Modal/Body.js";import a from"./common/PickaxeIcon.js";const c=({isOpen:c,onChangeIsOpen:n})=>{const{pickaxe:r}=i();return e(o,Object.assign({isOpen:c,onChange:n},{children:t(l,Object.assign({className:"relative flex w-full max-w-[480px] flex-col px-8 py-[26px] max-[767px]:max-w-full",avoidOverflow:!0},{children:[e("div",Object.assign({className:"flex items-start justify-end gap-4"},{children:e("button",Object.assign({className:"outline-none hover:opacity-70 hover:duration-300 active:opacity-100",onClick:()=>n(!1)},{children:e(s,{className:"h-6 w-6 shrink-0"})}))})),e("div",Object.assign({className:"mt-8 flex flex-col items-center"},{children:t("div",Object.assign({className:"flex w-full max-w-[360px] flex-col items-center text-center"},{children:[e(a,{src:null==r?void 0:r.coverphoto,alt:`${null==r?void 0:r.formtitle}'s Profile Picture`,width:90,height:90,className:"h-[90px] w-[90px] rounded-full"}),e("h2",Object.assign({className:"mt-6 text-center text-[18px] font-semibold opacity-70 max-[767px]:text-base"},{children:null==r?void 0:r.formtitle})),e("p",Object.assign({className:"mt-4 font-semilight opacity-70"},{children:null==r?void 0:r.formdescription}))]}))}))]}))}))};export{c as default};
@@ -0,0 +1 @@
1
+ import{__awaiter as o}from"../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";import{useState as t,useEffect as c}from"react";import i from"copy-to-clipboard";import e from"../../Icons/copied.svg.js";import s from"../../Icons/copy.svg.js";import n from"./PickaxeSimpleButton.js";import l from"../../../common/cn.js";const m=({color:m,text:a="",className:p,iconClassName:f})=>{const[h,u]=t(a),[d,j]=t(!1),[y,g]=t(!1);c((()=>{u(a)}),[a]);return r(n,Object.assign({color:m},p&&{className:p},{isForceColor:y,onClick:()=>o(void 0,void 0,void 0,(function*(){var o;try{if(d)return;j(!0);const r=null!==(o=[...Array.from(a.matchAll(/https:\/\/streaming\.pickaxeproject\.com\/api\/function_call_results\?.*?&name=[^&]+/g)),...Array.from(a.matchAll(/https:\/\/utils\.pickaxe\.chat\/api\/fn\/result\?.*?&name=[^&]+/g))].map((o=>o[0])))&&void 0!==o?o:[],t=[];if(r.length){for(const o of r)try{const r=yield fetch(o),c=yield r.json(),i=c.text||c.url||"";t.push(i)}catch(o){console.error(o)}t.length&&u(t.join("\n"))}i(t.length>0?t.join("\n"):h),j(!1),g(!0),yield new Promise((o=>setTimeout(o,1500)))}catch(o){console.error(o)}finally{j(!1),g(!1)}}))},{children:r(d||y?e:s,{className:l("w-4 h-4 shrink-0",f)})}))};export{m as default};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useState as s}from"react";import t from"../../Icons/spark.svg.js";import r from"../../../common/cn.js";const i=({src:i,alt:a,width:o=24,height:c=24,className:n,textColor:h,isLoading:l})=>{const[d,m]=s(!1),g=i||"";return l?e("div",{className:r("shrink-0 animate-pulse rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",n),style:{width:o,height:c}}):h&&"https://pickaxe.chat/builder/assets/images/pickaxe-chaticons/chaticon2.png"===g?e(t,{className:r("h-6 w-6 shrink-0",n),style:{color:h}}):"NONE"===g?null:e("div",!g||d?{className:r("shrink-0 rounded bg-[#E5E7EB] dark:bg-[#1E1E1F]",n),style:{width:o,height:c}}:Object.assign({className:"relative shrink-0 rounded",style:{width:o,height:c}},{children:e("img",{src:g,alt:a||"Pickaxe's Profile Picture",width:o,height:c,className:r("select-none rounded object-cover",n),draggable:!1,onError:()=>m(!0)})}))};export{i as default};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useRef as t,useEffect as r,useMemo as o}from"react";import{marked as c}from"marked";import{renderer as n}from"../../../common/renderer.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useLinkPreviews as s}from"../../../hooks/pickaxe/useLinkPreviews.js";import{useActions as m}from"../../../hooks/pickaxe/useActions.js";import a from"marked-katex-extension";import l from"copy-to-clipboard";import d from"../../Core/HtmlRenderer.js";c.use(a({throwOnError:!1,output:"mathml"}));const u=({html:a,className:u,style:p,marked:h,renderer:f,onClick:b})=>{const{styles:k,colors:v}=i(),w=t(null);s(w,{theme:k.theme}),m(w,{theme:k.theme,accentColor:v.accent,accentTextColor:v.accentText}),r((()=>{const e=w.current;if(!e)return;const t=e=>{var t,r,o;const c=e.target.closest(".copy-code-button");if(c){const e=null!==(o=null===(r=null===(t=c.parentElement)||void 0===t?void 0:t.querySelector("code"))||void 0===r?void 0:r.textContent)&&void 0!==o?o:"";if(!e)return;l(e)}};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[w]);const y=o((()=>{let e=a||"";const t=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return t&&t.forEach((t=>{var r;const o=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(r=t.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===r?void 0:r[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(t,o)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e))}),[a]);return e("div",Object.assign({ref:w},{children:e(d,{html:c.parse(y,Object.assign({gfm:!0,breaks:!0,renderer:n(Object.assign(Object.assign({},f),{theme:k.theme,accentColor:v.accent,centerMedia:!1,linkPreviews:!0,actions:!0}))},h)).toString(),className:u,style:p,onClick:b})}))};export{u as default};
@@ -0,0 +1 @@
1
+ import{__rest as o}from"../../../_virtual/_tslib.js";import{jsx as r}from"react/jsx-runtime";import{useHover as e}from"../../../hooks/core/useHover.js";import s from"../../../common/cn.js";const t=({color:t,children:i,className:c,isForceColor:n,onClick:l})=>{const m=e(),{isHover:a}=m,p=o(m,["isHover"]);return r("button",Object.assign({className:s("flex items-center gap-1 outline-none",c)},(a||n)&&{style:{color:t}},l&&{onClick:o=>{o.stopPropagation(),l()}},p,{children:i}))};export{t as default};
@@ -0,0 +1 @@
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{useEffect as t}from"react";import{marked as o}from"marked";import{renderer as n}from"../../common/renderer.js";import{streamer as r}from"../../common/api/streamer.js";import l from"../../common/api/utils.js";const i=(t,r)=>e(void 0,void 0,void 0,(function*(){var e,l;const i=t.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e));return yield o.parse(i,{gfm:!0,breaks:!0,renderer:n({theme:null!==(e=null==r?void 0:r.theme)&&void 0!==e?e:"light",accentColor:null!==(l=null==r?void 0:r.accentColor)&&void 0!==l?l:"#228DD7",centerMedia:!1,linkPreviews:!0,actions:!0})})})),s=(t,o)=>e(void 0,void 0,void 0,(function*(){try{yield l.post("/fn/update",{id:t,data:o})}catch(e){console.error("[updateCache] error",e)}})),d=(o,n)=>{t((()=>{const t=null==o?void 0:o.current;if(!t)return;const l=new MutationObserver((()=>e(void 0,void 0,void 0,(function*(){var e,t,o,l,d,c,a;const u=document.querySelectorAll(".marked-link-function-calling-loader");for(const m of u){if(m.dataset.processed)continue;"development"===process.env.NODE_ENV&&console.log("[useActions] getting action",m.href);const u=null!==(o=null!==(t=null===(e=m.parentElement)||void 0===e?void 0:e.parentElement)&&void 0!==t?t:m.parentElement)&&void 0!==o?o:null;if(!u){console.error("[useActions] missing message container");continue}const p=null!==(l=m.getAttribute("alt"))&&void 0!==l?l:m.getAttribute("data-fn-url");if(!p){console.error("[useActions] missing fn result url");continue}const f=yield fetch(p);if(200!==f.status){console.error("[useActions] failed fetching result:",f);continue}const v=yield f.json();if(v.error)console.error("[useActions] error in req:",v.error);else if(v.fcid)"development"===process.env.NODE_ENV&&console.log("[useActions] waiting for fn call to complete");else{if(v.url){m.remove();const e=document.createElement("img");e.src=v.url,e.alt=null!==(d=v.prompt)&&void 0!==d?d:"Generated Image",e.style.marginTop="1em",e.style.borderRadius="4px",e.style.width="100%",u.appendChild(e);const t=document.createElement("div");t.style.marginTop="1em",t.style.display="flex",t.style.alignItems="center",t.style.justifyContent="flex-end",t.style.gap="0.5em",t.style.width="100%";const o=document.createElement("button");o.innerHTML='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M21 21H3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n<path d="M7 10L12 15L17 10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n<path d="M12 15V3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>\n</svg>\n',o.style.padding=".5em",o.style.backgroundColor="#228DD7",o.style.color=null!==(c=null==n?void 0:n.accentTextColor)&&void 0!==c?c:"#FFFFFF",o.style.textAlign="center",o.style.textDecoration="none",o.style.borderRadius="4px",o.style.fontSize="16px",o.style.fontWeight="bold",o.style.boxShadow="0 2px 5px rgba(0, 0, 0, 0.2)",o.style.transition="background-color 0.3s ease",o.addEventListener("mouseover",(function(){var e;o.style.backgroundColor=(null!==(e=null==n?void 0:n.accentColor)&&void 0!==e?e:"#228DD7")+"CC"})),o.addEventListener("mouseout",(function(){var e;o.style.backgroundColor=null!==(e=null==n?void 0:n.accentColor)&&void 0!==e?e:"#228DD7"})),o.addEventListener("click",(function(e){var t;e.preventDefault();const o=document.createElement("a");o.href=null!==(t=v.url)&&void 0!==t?t:"",o.download="generated_image.png",o.click()})),t.appendChild(o),u.appendChild(t)}if(v.text){m.remove();const e=document.createElement("div");e.style.marginTop="1em",e.innerHTML=yield i(v.text),u.appendChild(e)}if(v.button_link){m.remove();const e=document.createElement("a");e.href=v.button_link,e.target="_blank",e.classList.add("link-preview-button"),e.textContent=v.button_text||"",e.style.display="inline-block",e.style.padding="10px 20px",e.style.backgroundColor="#228DD7",e.style.color="#ffffff",e.style.textAlign="center",e.style.textDecoration="none",e.style.borderRadius="4px",e.style.fontSize="16px",e.style.fontWeight="bold",e.style.boxShadow="0 2px 5px rgba(0, 0, 0, 0.2)",e.style.transition="background-color 0.3s ease",e.addEventListener("mouseover",(function(){e.style.backgroundColor="#489dd9"})),e.addEventListener("mouseout",(function(){e.style.backgroundColor="#228DD7"})),u.appendChild(document.createElement("br")),u.appendChild(e)}if(v.openaidata&&!v.text){const e=null!==(a=new URL(p).searchParams.get("id"))&&void 0!==a?a:v.call_id,t=null==v?void 0:v.actionId;m.remove();const o=v.formId;if(!o){console.error("Missing formId from result data");continue}const n=v.responseId;if(!n){console.error("Missing responseId from result data");continue}const l=(yield r({formId:o,responseId:n,data:v.openaidata})).body;if(!l){console.error("Streaming error, no response body");continue}let d=!0,c="";const f=document.createElement("div");f.style.marginTop="1em",f.dataset.actionId=t,u.appendChild(f);const g=l.getReader(),y=new TextDecoder;for(;d;){const{value:e,done:t}=yield g.read();d=!t;c+=y.decode(e),"marked"in window?f.innerHTML=yield i(c):f.textContent=c}const b=null!=e?e:v.call_id;b&&(yield s(b,Object.assign(Object.assign({},v),{text:c})))}}}}))));return l.observe(t,{childList:!0,subtree:!0}),()=>{l.disconnect()}}),[o])};export{d as useActions};
@@ -0,0 +1 @@
1
+ import{__awaiter as e}from"../../_virtual/_tslib.js";import{useEffect as t}from"react";import o from"../../common/api/utils.js";import r from"../../common/error.js";const i=e=>{setTimeout((()=>{e.style.opacity="1",e.style.transform="scale(1)"}),50)},n=e=>{e.onmouseover=()=>{e.style.transform="scale(.99)"},e.onmouseout=()=>{e.style.transform="scale(1)"}},s=t=>e(void 0,void 0,void 0,(function*(){try{const e=yield o.get(`/metadata?url=${encodeURIComponent(t)}`);return e.data}catch(e){const t=r(e);return console.error("[fetchMetadata] error",t),null}})),a=(o,r)=>{t((()=>{const t=null==o?void 0:o.current;if(!t)return;const a=new MutationObserver((()=>e(void 0,void 0,void 0,(function*(){const e=t.querySelectorAll(".marked-link-possible-preview-render");for(const t of e){"development"===process.env.NODE_ENV&&console.log("[useLinkPreviews] getting preview for",t.href),t.classList.remove("marked-link-possible-preview-render");const e=t.closest(".chat-message");if(!e)continue;if(e.querySelector(`div[data-href="${t.href}"]`))continue;const o=yield s(t.href);if(!o||!o.image||!o.title)continue;const a=document.createElement("div");a.setAttribute("style","display: flex; margin-top: 2em; text-decoration: none;"),a.dataset.href=t.href,a.dataset.processed="true";const l=r?"dark"===r.theme:document.documentElement.classList.contains("dark"),d=document.createElement("a");if(d.href=t.href,d.setAttribute("target","_blank"),d.setAttribute("style",`display: flex; position: relative; flex-direction: column; border-radius: 20px; border-bottom-left-radius: 10px; width: 100%; max-width: 220px; background-color: #${l?"000000":"E9E9EB"}; overflow: hidden;`),o.image&&(o.image.startsWith("http")||o.image.startsWith("data:image")||o.image.startsWith("blob:"))){const e=document.createElement("div");e.setAttribute("style",`position: relative; flex-grow: 1; width: 100%; overflow: hidden; background-image: url("${o.image}"); background-size: cover; background-position: center; height: 90px;`),d.appendChild(e)}const c=document.createElement("div");c.setAttribute("style","display: flex; flex-direction: column; padding: 0.25em 1em; gap: 0.2em;");const m=document.createElement("p");m.textContent=o.title,m.setAttribute("style","font-size: 14px; font-weight: 600; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),c.appendChild(m);const p=document.createElement("p");p.textContent=o.href,p.setAttribute("style","opacity: 0.6; font-size: 14px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"),c.appendChild(p),d.appendChild(c),a.appendChild(d);const u=t.closest(".chat-message");u&&(u.querySelector(`div[data-href="${t.href}"]`)||(u.appendChild(a),i(d),n(d)))}}))));return a.observe(t,{childList:!0,subtree:!0}),()=>{a.disconnect()}}),[o])};export{a as useLinkPreviews};
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useSubmit}from"./hooks/pickaxe/useSubmit.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";export{useSubmitResult}from"./hooks/pickaxe/useSubmitResult.js";
1
+ export{Pickaxe}from"./components/Pickaxe/index.js";export{PickaxeContext,PickaxeProvider}from"./components/Pickaxe/Provider.js";export{ResponseContext}from"./components/Pickaxe/ResponseProvider.js";export{useConversation}from"./hooks/pickaxe/useConversation.js";export{useHistory}from"./hooks/pickaxe/useHistory.js";export{usePickaxe}from"./hooks/pickaxe/usePickaxe.js";export{usePickaxeContext}from"./hooks/pickaxe/usePickaxeContext.js";export{useResponseContext}from"./hooks/pickaxe/useResponseContext.js";export{useSubmit}from"./hooks/pickaxe/useSubmit.js";export{useSubmitDocument}from"./hooks/pickaxe/useSubmitDocument.js";export{useSubmitResult}from"./hooks/pickaxe/useSubmitResult.js";export{useLinkPreviews}from"./hooks/pickaxe/useLinkPreviews.js";export{useActions}from"./hooks/pickaxe/useActions.js";
@@ -4,9 +4,11 @@ import "prismjs/components/prism-markdown";
4
4
  import "prismjs/components/prism-markup";
5
5
  import "prismjs/components/prism-python";
6
6
  export interface RendererOptions {
7
- textColor?: string;
7
+ theme?: "light" | "dark";
8
8
  accentColor?: string;
9
9
  centerMedia?: boolean;
10
10
  forceMobile?: boolean;
11
+ linkPreviews?: boolean;
12
+ actions?: boolean;
11
13
  }
12
- export declare const renderer: ({ textColor, accentColor, centerMedia, forceMobile, }?: RendererOptions) => import("marked").Renderer;
14
+ export declare const renderer: ({ theme, accentColor, centerMedia, forceMobile, linkPreviews, actions, }?: RendererOptions) => import("marked").Renderer;
@@ -0,0 +1,8 @@
1
+ interface PickaxeCopyButtonProps {
2
+ color: string;
3
+ text?: string;
4
+ className?: string;
5
+ iconClassName?: string;
6
+ }
7
+ declare const PickaxeCopyButton: ({ color, text, className, iconClassName, }: PickaxeCopyButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export default PickaxeCopyButton;
@@ -4,7 +4,8 @@ interface PickaxeIconProps {
4
4
  width?: number;
5
5
  height?: number;
6
6
  className?: string;
7
+ textColor?: string;
7
8
  isLoading?: boolean;
8
9
  }
9
- declare const PickaxeIcon: ({ src, alt, width, height, className, isLoading, }: PickaxeIconProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ declare const PickaxeIcon: ({ src, alt, width, height, className, textColor, isLoading, }: PickaxeIconProps) => import("react/jsx-runtime").JSX.Element | null;
10
11
  export default PickaxeIcon;
@@ -0,0 +1,13 @@
1
+ import { type CSSProperties } from "react";
2
+ import { type MarkedOptions } from "marked";
3
+ import { type RendererOptions } from "../../../common/renderer";
4
+ interface PickaxeMarkdownProps {
5
+ html?: string | null;
6
+ className?: string;
7
+ style?: CSSProperties;
8
+ renderer?: RendererOptions;
9
+ marked?: MarkedOptions;
10
+ onClick?: () => void;
11
+ }
12
+ declare const PickaxeMarkdown: ({ html: _html, className, style, marked: _marked, renderer: _renderer, onClick, }: PickaxeMarkdownProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default PickaxeMarkdown;
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ interface PickaxeSimpleButtonProps {
3
+ color: string;
4
+ children: ReactNode;
5
+ className?: string;
6
+ isForceColor?: boolean;
7
+ onClick?: () => void;
8
+ }
9
+ declare const PickaxeSimpleButton: ({ color, children, className, isForceColor, onClick, }: PickaxeSimpleButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default PickaxeSimpleButton;
@@ -0,0 +1,8 @@
1
+ import { RefObject } from "react";
2
+ interface UseActionsOptions {
3
+ theme?: "light" | "dark";
4
+ accentColor?: string;
5
+ accentTextColor?: string;
6
+ }
7
+ export declare const useActions: (ref: RefObject<HTMLDivElement> | null, opt?: UseActionsOptions) => void;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { RefObject } from "react";
2
+ interface UseLinkPreviewOptions {
3
+ theme?: "light" | "dark";
4
+ }
5
+ export declare const useLinkPreviews: (ref: RefObject<HTMLDivElement> | null, opt?: UseLinkPreviewOptions) => void;
6
+ export {};
@@ -9,3 +9,5 @@ export * from "./hooks/pickaxe/useResponseContext";
9
9
  export * from "./hooks/pickaxe/useSubmit";
10
10
  export * from "./hooks/pickaxe/useSubmitDocument";
11
11
  export * from "./hooks/pickaxe/useSubmitResult";
12
+ export * from "./hooks/pickaxe/useLinkPreviews";
13
+ export * from "./hooks/pickaxe/useActions";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pickaxeproject/react",
3
- "version": "0.0.15",
3
+ "version": "0.0.17",
4
4
  "description": "Client utility library for Pickaxe",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),o=require("copy-to-clipboard"),i=require("../Icons/copied.svg.js"),a=require("../Icons/copy.svg.js"),s=require("../../common/cn.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=n(o);exports.default=o=>{var{className:n="",inactiveColor:l="text-[#6A747C] hover:text-[#228DD7]",activeColor:u="text-[#228DD7]",size:f=16,text:d=""}=o,h=e.__rest(o,["className","inactiveColor","activeColor","size","text"]);const[p,m]=r.useState(d),[v,j]=r.useState(!1);r.useEffect((()=>{m(d)}),[d]);return t.jsx("button",Object.assign({style:Object.assign(Object.assign({},h),{width:`${f}px`,height:`${f}px`,cursor:v?"default":"pointer"}),className:s.default("outline-none hover:duration-300",n),onClick:t=>{t.preventDefault(),t.stopPropagation(),e.__awaiter(void 0,void 0,void 0,(function*(){var e;try{if(v)return;j(!0);const t=null!==(e=[...Array.from(d.matchAll(/https:\/\/streaming\.pickaxeproject\.com\/api\/function_call_results\?.*?&name=[^&]+/g)),...Array.from(d.matchAll(/https:\/\/utils\.pickaxe\.chat\/api\/fn\/result\?.*?&name=[^&]+/g))].map((e=>e[0])))&&void 0!==e?e:[],r=[];if(t.length){for(const e of t)try{const t=yield fetch(e),o=yield t.json(),i=o.text||o.url||"";r.push(i)}catch(e){console.error(e)}r.length&&m(r.join("\n"))}c.default(r.length>0?r.join("\n"):p),yield new Promise((e=>setTimeout(e,1500))),j(!1)}catch(e){console.error(e)}finally{j(!1)}}))}},{children:v?t.jsx(i.default,{className:s.default(u),width:f,height:f}):t.jsx(a.default,{className:s.default(l),width:f,height:f})}))};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("marked"),n=require("../../common/renderer.js"),o=require("marked-katex-extension"),c=require("copy-to-clipboard"),i=require("./HtmlRenderer.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=u(o),l=u(c);t.marked.use(a.default({throwOnError:!1,output:"mathml"}));exports.default=({html:o,className:c,style:u,marked:a,renderer:s,onClick:d})=>{const m=r.useRef(null);r.useEffect((()=>{const e=m.current;if(!e)return;const r=e=>{var r,t,n;const o=e.target.closest(".copy-code-button");if(o){const e=null!==(n=null===(t=null===(r=o.parentElement)||void 0===r?void 0:r.querySelector("code"))||void 0===t?void 0:t.textContent)&&void 0!==n?n:"";if(!e)return;l.default(e)}};return e.addEventListener("click",r),()=>{e.removeEventListener("click",r)}}),[m]);const f=r.useMemo((()=>{let e=o||"";const r=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return r&&r.forEach((r=>{var t;const n=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(t=r.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===t?void 0:t[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(r,n)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))}),[o]);return e.jsx("div",Object.assign({ref:m},{children:e.jsx(i.default,{html:t.marked.parse(f,Object.assign({gfm:!0,renderer:n.renderer(s),breaks:!0},a)).toString(),className:c,style:u,onClick:d})}))};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),s=require("../../common/cn.js");exports.default=({src:r,alt:a,width:i=24,height:d=24,className:l,isLoading:c})=>{const[n,o]=t.useState(!1),u=r||"";return c?e.jsx("div",{className:s.default("shrink-0 animate-pulse rounded bg-c-skeleton dark:bg-c-skeleton-dark",l),style:{width:i,height:d}}):"NONE"===u?null:!u||n?e.jsx("div",{className:s.default("shrink-0 rounded bg-c-skeleton dark:bg-c-skeleton-dark",l),style:{width:i,height:d}}):e.jsx("div",Object.assign({className:"relative shrink-0 rounded",style:{width:i,height:d}},{children:e.jsx("img",{src:u,alt:a||"Pickaxe's Profile Picture",width:i,height:d,className:s.default("select-none rounded object-cover",l),draggable:!1,onError:()=>o(!0)})}))};
@@ -1,10 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- interface CopyButtonProps extends CSSProperties {
3
- className?: string;
4
- inactiveColor?: string;
5
- activeColor?: string;
6
- size?: number;
7
- text?: string;
8
- }
9
- declare const CopyButton: ({ className, inactiveColor, activeColor, size, text, ...props }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
10
- export default CopyButton;
@@ -1,13 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- import { type MarkedOptions } from "marked";
3
- import { type RendererOptions } from "../../common/renderer";
4
- interface MarkdownRendererProps {
5
- html?: string | null;
6
- className?: string;
7
- style?: CSSProperties;
8
- renderer?: RendererOptions;
9
- marked?: MarkedOptions;
10
- onClick?: () => void;
11
- }
12
- declare const MarkdownRenderer: ({ html: _html, className, style, marked: _marked, renderer: _renderer, onClick, }: MarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
13
- export default MarkdownRenderer;
@@ -1 +0,0 @@
1
- import{__rest as t,__awaiter as o}from"../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import{useState as r,useEffect as i}from"react";import s from"copy-to-clipboard";import n from"../Icons/copied.svg.js";import a from"../Icons/copy.svg.js";import c from"../../common/cn.js";const l=l=>{var{className:m="",inactiveColor:p="text-[#6A747C] hover:text-[#228DD7]",activeColor:h="text-[#228DD7]",size:f=16,text:u=""}=l,d=t(l,["className","inactiveColor","activeColor","size","text"]);const[v,g]=r(u),[j,x]=r(!1);i((()=>{g(u)}),[u]);return e("button",Object.assign({style:Object.assign(Object.assign({},d),{width:`${f}px`,height:`${f}px`,cursor:j?"default":"pointer"}),className:c("outline-none hover:duration-300",m),onClick:t=>{t.preventDefault(),t.stopPropagation(),o(void 0,void 0,void 0,(function*(){var t;try{if(j)return;x(!0);const o=null!==(t=[...Array.from(u.matchAll(/https:\/\/streaming\.pickaxeproject\.com\/api\/function_call_results\?.*?&name=[^&]+/g)),...Array.from(u.matchAll(/https:\/\/utils\.pickaxe\.chat\/api\/fn\/result\?.*?&name=[^&]+/g))].map((t=>t[0])))&&void 0!==t?t:[],e=[];if(o.length){for(const t of o)try{const o=yield fetch(t),r=yield o.json(),i=r.text||r.url||"";e.push(i)}catch(t){console.error(t)}e.length&&g(e.join("\n"))}s(e.length>0?e.join("\n"):v),yield new Promise((t=>setTimeout(t,1500))),x(!1)}catch(t){console.error(t)}finally{x(!1)}}))}},{children:j?e(n,{className:c(h),width:f,height:f}):e(a,{className:c(p),width:f,height:f})}))};export{l as default};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as r,useEffect as t,useMemo as o}from"react";import{marked as n}from"marked";import{renderer as c}from"../../common/renderer.js";import i from"marked-katex-extension";import m from"copy-to-clipboard";import a from"./HtmlRenderer.js";n.use(i({throwOnError:!1,output:"mathml"}));const l=({html:i,className:l,style:s,marked:d,renderer:u,onClick:p})=>{const f=r(null);t((()=>{const e=f.current;if(!e)return;const r=e=>{var r,t,o;const n=e.target.closest(".copy-code-button");if(n){const e=null!==(o=null===(t=null===(r=n.parentElement)||void 0===r?void 0:r.querySelector("code"))||void 0===t?void 0:t.textContent)&&void 0!==o?o:"";if(!e)return;m(e)}};return e.addEventListener("click",r),()=>{e.removeEventListener("click",r)}}),[f]);const h=o((()=>{let e=i||"";const r=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return r&&r.forEach((r=>{var t;const o=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(t=r.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===t?void 0:t[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(r,o)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,r)=>r?"\n\n<br/>\n":e))}),[i]);return e("div",Object.assign({ref:f},{children:e(a,{html:n.parse(h,Object.assign({gfm:!0,renderer:c(u),breaks:!0},d)).toString(),className:l,style:s,onClick:p})}))};export{l as default};
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useState as t}from"react";import r from"../../common/cn.js";const s=({src:s,alt:i,width:a=24,height:o=24,className:n,isLoading:c})=>{const[d,l]=t(!1),h=s||"";return c?e("div",{className:r("shrink-0 animate-pulse rounded bg-c-skeleton dark:bg-c-skeleton-dark",n),style:{width:a,height:o}}):"NONE"===h?null:e("div",!h||d?{className:r("shrink-0 rounded bg-c-skeleton dark:bg-c-skeleton-dark",n),style:{width:a,height:o}}:Object.assign({className:"relative shrink-0 rounded",style:{width:a,height:o}},{children:e("img",{src:h,alt:i||"Pickaxe's Profile Picture",width:a,height:o,className:r("select-none rounded object-cover",n),draggable:!1,onError:()=>l(!0)})}))};export{s as default};
@@ -1,10 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- interface CopyButtonProps extends CSSProperties {
3
- className?: string;
4
- inactiveColor?: string;
5
- activeColor?: string;
6
- size?: number;
7
- text?: string;
8
- }
9
- declare const CopyButton: ({ className, inactiveColor, activeColor, size, text, ...props }: CopyButtonProps) => import("react/jsx-runtime").JSX.Element;
10
- export default CopyButton;
@@ -1,13 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- import { type MarkedOptions } from "marked";
3
- import { type RendererOptions } from "../../common/renderer";
4
- interface MarkdownRendererProps {
5
- html?: string | null;
6
- className?: string;
7
- style?: CSSProperties;
8
- renderer?: RendererOptions;
9
- marked?: MarkedOptions;
10
- onClick?: () => void;
11
- }
12
- declare const MarkdownRenderer: ({ html: _html, className, style, marked: _marked, renderer: _renderer, onClick, }: MarkdownRendererProps) => import("react/jsx-runtime").JSX.Element;
13
- export default MarkdownRenderer;