@pickaxeproject/react 0.0.28 → 0.0.30

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 (59) hide show
  1. package/dist/cjs/common/lotties/loader-black.js +1 -0
  2. package/dist/cjs/common/lotties/loader-white.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/History/Item.js +1 -1
  7. package/dist/cjs/components/Pickaxe/Form/History/Response.js +1 -1
  8. package/dist/cjs/components/Pickaxe/Form/Questions/Submit.js +1 -1
  9. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/A.js +1 -0
  10. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -0
  11. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.js +1 -0
  12. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown/index.js +1 -0
  13. package/dist/cjs/components/Pickaxe/index.js +1 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/src/common/lotties/loader-black.d.ts +429 -0
  16. package/dist/cjs/src/common/lotties/loader-white.d.ts +429 -0
  17. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/A.d.ts +4 -0
  18. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +10 -0
  19. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +10 -0
  20. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +23 -0
  21. package/dist/cjs/src/index.d.ts +2 -2
  22. package/dist/esm/common/lotties/loader-black.js +1 -0
  23. package/dist/esm/common/lotties/loader-white.js +1 -0
  24. package/dist/esm/components/Pickaxe/Chat/History/Message.js +1 -1
  25. package/dist/esm/components/Pickaxe/Chat/History/index.js +1 -1
  26. package/dist/esm/components/Pickaxe/Chat/Input.js +1 -1
  27. package/dist/esm/components/Pickaxe/Form/History/Item.js +1 -1
  28. package/dist/esm/components/Pickaxe/Form/History/Response.js +1 -1
  29. package/dist/esm/components/Pickaxe/Form/Questions/Submit.js +1 -1
  30. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/A.js +1 -0
  31. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/Renderer.js +1 -0
  32. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.js +1 -0
  33. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown/index.js +1 -0
  34. package/dist/esm/components/Pickaxe/index.js +1 -1
  35. package/dist/esm/index.js +1 -1
  36. package/dist/esm/src/common/lotties/loader-black.d.ts +429 -0
  37. package/dist/esm/src/common/lotties/loader-white.d.ts +429 -0
  38. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/A.d.ts +4 -0
  39. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/Renderer.d.ts +10 -0
  40. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/hooks/usePickaxeMarkdownContext.d.ts +10 -0
  41. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown/index.d.ts +23 -0
  42. package/dist/esm/src/index.d.ts +2 -2
  43. package/package.json +15 -5
  44. package/dist/cjs/common/renderer.js +0 -1
  45. package/dist/cjs/components/Pickaxe/common/PickaxeMarkdown.js +0 -1
  46. package/dist/cjs/hooks/pickaxe/useActions.js +0 -1
  47. package/dist/cjs/hooks/pickaxe/useLinkPreviews.js +0 -1
  48. package/dist/cjs/src/common/renderer.d.ts +0 -14
  49. package/dist/cjs/src/components/Pickaxe/common/PickaxeMarkdown.d.ts +0 -13
  50. package/dist/cjs/src/hooks/pickaxe/useActions.d.ts +0 -8
  51. package/dist/cjs/src/hooks/pickaxe/useLinkPreviews.d.ts +0 -6
  52. package/dist/esm/common/renderer.js +0 -1
  53. package/dist/esm/components/Pickaxe/common/PickaxeMarkdown.js +0 -1
  54. package/dist/esm/hooks/pickaxe/useActions.js +0 -1
  55. package/dist/esm/hooks/pickaxe/useLinkPreviews.js +0 -1
  56. package/dist/esm/src/common/renderer.d.ts +0 -14
  57. package/dist/esm/src/components/Pickaxe/common/PickaxeMarkdown.d.ts +0 -13
  58. package/dist/esm/src/hooks/pickaxe/useActions.d.ts +0 -8
  59. package/dist/esm/src/hooks/pickaxe/useLinkPreviews.d.ts +0 -6
@@ -1 +0,0 @@
1
- import{jsx as e}from"react/jsx-runtime";import{useRef as t,useEffect as o,useMemo as r}from"react";import{marked as n}from"marked";import{renderer as c}from"../../../common/renderer.js";import{usePickaxeContext as i}from"../../../hooks/pickaxe/usePickaxeContext.js";import{useStyleFontSize as s}from"../../../hooks/studio/useStyleFontSize.js";import{useLinkPreviews as m}from"../../../hooks/pickaxe/useLinkPreviews.js";import{useActions as a}from"../../../hooks/pickaxe/useActions.js";import l from"marked-katex-extension";import d from"copy-to-clipboard";import u from"../../Core/HtmlRenderer.js";import p from"../../../common/cn.js";n.use(l({throwOnError:!1,output:"mathml"}));const h=({html:l,className:h,style:f,marked:b,renderer:k,onClick:y})=>{const{styles:v,colors:w}=i(),x=t(null),g=s({type:"body"});m(x,{theme:v.theme}),a(x,{theme:v.theme,accentColor:w.accent,accentTextColor:w.accentText}),o((()=>{const e=x.current;if(!e)return;const t=e=>{var t,o,r;const n=e.target.closest(".copy-code-button");if(n){const e=null!==(r=null===(o=null===(t=n.parentElement)||void 0===t?void 0:t.querySelector("code"))||void 0===o?void 0:o.textContent)&&void 0!==r?r:"";if(!e)return;d(e)}};return e.addEventListener("click",t),()=>{e.removeEventListener("click",t)}}),[x]);const j=r((()=>{let e=l||"";const t=e.match(/<iframe\s+[^>]*src=["']https:\/\/www\.youtube\.com\/embed\/([\w-]+)(\?[^"' >]*)?["'][^>]*><\/iframe>/gi);return t&&t.forEach((t=>{var o;const r=`<div style="width: 100%; height: 315px; max-width: 560px;">\n <iframe src="https://www.youtube.com/embed/${null===(o=t.match(/(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([\w-]+)/))||void 0===o?void 0:o[1]}"\n style="width: 100%; height: 100%;"\n frameborder="0"\n allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"\n allowfullscreen>\n </iframe>\n</div>`;e=e.replace(t,r)})),e.replace(/```[\s\S]*?```|(\n(?=\n))/g,((e,t)=>t?"\n\n<br/>\n":e))}),[l]);return e("div",Object.assign({ref:x},{children:e(u,{html:n.parse(j,Object.assign({gfm:!0,breaks:!0,renderer:c(Object.assign(Object.assign({},k),{theme:v.theme,accentColor:w.accent,centerMedia:!1,linkPreviews:!0,actions:!0}))},b)).toString(),className:p(h,g()),style:f,onClick:y})}))};export{h as default};
@@ -1 +0,0 @@
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};
@@ -1 +0,0 @@
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};
@@ -1,14 +0,0 @@
1
- import "prismjs/components/prism-css";
2
- import "prismjs/components/prism-javascript";
3
- import "prismjs/components/prism-markdown";
4
- import "prismjs/components/prism-markup";
5
- import "prismjs/components/prism-python";
6
- export interface RendererOptions {
7
- theme?: "light" | "dark";
8
- accentColor?: string;
9
- centerMedia?: boolean;
10
- forceMobile?: boolean;
11
- linkPreviews?: boolean;
12
- actions?: boolean;
13
- }
14
- export declare const renderer: ({ theme, accentColor, centerMedia, forceMobile, linkPreviews, actions, }?: RendererOptions) => import("marked").Renderer;
@@ -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 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;
@@ -1,8 +0,0 @@
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 {};
@@ -1,6 +0,0 @@
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 {};