@anker-in/campaign-ui 0.1.6 → 0.1.8

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 (74) hide show
  1. package/dist/cjs/components/animation/CodeEditor.d.ts +7 -0
  2. package/dist/cjs/components/animation/CodeEditor.js +2 -0
  3. package/dist/cjs/components/animation/CodeEditor.js.map +7 -0
  4. package/dist/cjs/components/animation/Preview.d.ts +5 -0
  5. package/dist/cjs/components/animation/Preview.js +2 -0
  6. package/dist/cjs/components/animation/Preview.js.map +7 -0
  7. package/dist/cjs/components/animation/bannerAni.d.ts +16 -0
  8. package/dist/cjs/components/animation/bannerAni.js +59 -0
  9. package/dist/cjs/components/animation/bannerAni.js.map +7 -0
  10. package/dist/cjs/components/animation/libs.d.js +2 -0
  11. package/dist/cjs/components/animation/libs.d.js.map +7 -0
  12. package/dist/cjs/components/animation/textAni.d.ts +9 -0
  13. package/dist/cjs/components/animation/textAni.js +2 -0
  14. package/dist/cjs/components/animation/textAni.js.map +7 -0
  15. package/dist/cjs/components/chat/Messages.d.ts +1 -1
  16. package/dist/cjs/components/chat/action.d.ts +1 -3
  17. package/dist/cjs/components/chat/action.js +1 -1
  18. package/dist/cjs/components/chat/action.js.map +3 -3
  19. package/dist/cjs/components/chat/index.d.ts +0 -10
  20. package/dist/cjs/components/chat/index.js +1 -1
  21. package/dist/cjs/components/chat/index.js.map +3 -3
  22. package/dist/cjs/components/chat/messages.js +1 -1
  23. package/dist/cjs/components/chat/messages.js.map +3 -3
  24. package/dist/cjs/components/chat/props.d.ts +0 -1
  25. package/dist/cjs/components/chat/props.js +1 -1
  26. package/dist/cjs/components/chat/props.js.map +1 -1
  27. package/dist/cjs/components/chat/utils.d.ts +2 -1
  28. package/dist/cjs/components/chat/utils.js +1 -1
  29. package/dist/cjs/components/chat/utils.js.map +3 -3
  30. package/dist/cjs/components/index.d.ts +0 -1
  31. package/dist/cjs/components/index.js +1 -1
  32. package/dist/cjs/components/index.js.map +3 -3
  33. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  34. package/dist/esm/components/animation/CodeEditor.d.ts +7 -0
  35. package/dist/esm/components/animation/CodeEditor.js +2 -0
  36. package/dist/esm/components/animation/CodeEditor.js.map +7 -0
  37. package/dist/esm/components/animation/Preview.d.ts +5 -0
  38. package/dist/esm/components/animation/Preview.js +2 -0
  39. package/dist/esm/components/animation/Preview.js.map +7 -0
  40. package/dist/esm/components/animation/bannerAni.d.ts +16 -0
  41. package/dist/esm/components/animation/bannerAni.js +59 -0
  42. package/dist/esm/components/animation/bannerAni.js.map +7 -0
  43. package/dist/esm/components/animation/libs.d.js +2 -0
  44. package/dist/esm/components/animation/libs.d.js.map +7 -0
  45. package/dist/esm/components/animation/textAni.d.ts +9 -0
  46. package/dist/esm/components/animation/textAni.js +2 -0
  47. package/dist/esm/components/animation/textAni.js.map +7 -0
  48. package/dist/esm/components/chat/Messages.d.ts +1 -1
  49. package/dist/esm/components/chat/action.d.ts +1 -3
  50. package/dist/esm/components/chat/action.js +1 -1
  51. package/dist/esm/components/chat/action.js.map +3 -3
  52. package/dist/esm/components/chat/index.d.ts +0 -10
  53. package/dist/esm/components/chat/index.js +1 -1
  54. package/dist/esm/components/chat/index.js.map +3 -3
  55. package/dist/esm/components/chat/messages.js +1 -1
  56. package/dist/esm/components/chat/messages.js.map +3 -3
  57. package/dist/esm/components/chat/props.d.ts +0 -1
  58. package/dist/esm/components/chat/props.js.map +1 -1
  59. package/dist/esm/components/chat/utils.d.ts +2 -1
  60. package/dist/esm/components/chat/utils.js +1 -1
  61. package/dist/esm/components/chat/utils.js.map +3 -3
  62. package/dist/esm/components/index.d.ts +0 -1
  63. package/dist/esm/components/index.js +1 -1
  64. package/dist/esm/components/index.js.map +3 -3
  65. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +11 -7
  67. package/src/components/chat/action.tsx +0 -24
  68. package/src/components/chat/index.tsx +2 -18
  69. package/src/components/chat/messages.tsx +1 -5
  70. package/src/components/chat/props.ts +0 -1
  71. package/src/components/index.ts +0 -3
  72. package/src/helpers/index.ts +2 -0
  73. package/src/helpers/utils.ts +8 -0
  74. package/src/components/chat/utils.ts +0 -3
@@ -0,0 +1,7 @@
1
+ declare const CodeEditor: ({ htmlCode, styleCode, jsCode, handleCodeChange, }: {
2
+ htmlCode: string;
3
+ styleCode: string;
4
+ jsCode: string;
5
+ handleCodeChange: any;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export default CodeEditor;
@@ -0,0 +1,2 @@
1
+ "use strict";var u=Object.create;var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var v=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty;var w=(e,a)=>{for(var t in a)s(e,t,{get:a[t],enumerable:!0})},r=(e,a,t,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of f(a))!L.call(e,n)&&n!==t&&s(e,n,{get:()=>a[n],enumerable:!(c=m(a,n))||c.enumerable});return e};var x=(e,a,t)=>(t=e!=null?u(v(e)):{},r(a||!e||!e.__esModule?s(t,"default",{value:e,enumerable:!0}):t,e)),C=e=>r(s({},"__esModule",{value:!0}),e);var z={};w(z,{default:()=>M});module.exports=C(z);var l=require("react/jsx-runtime"),h=require("react"),g=require("../../helpers/index.js"),d=x(require("@monaco-editor/react"));const y=({htmlCode:e,styleCode:a,jsCode:t,handleCodeChange:c})=>(0,l.jsx)("div",{className:"flex flex-col bg-[#000] gap-[5px]",children:[{type:"html",label:"HTML",language:"html",code:e,icon:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="none" d="M0 0h24v24H0z"></path><path fill="#e74d4d" d="M12 18.178l4.62-1.256.623-6.778H9.026L8.822 7.89h8.626l.227-2.211H6.325l.636 6.678h7.82l-.261 2.866-2.52.667-2.52-.667-.158-1.844h-2.27l.329 3.544L12 18.178zM3 2h18l-1.623 18L12 22l-7.377-2L3 2z"></path></svg>'},{type:"css",label:"CSS",language:"css",code:a,icon:'<svg t="1730629714840" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6769" width="20" height="20"><path d="M384 611.456 384 497.216c0-15.136 6.688-29.44 18.848-40.288 12.16-10.848 28.192-16.832 45.152-16.832l0-57.12c-70.4 0-128 51.392-128 114.208l0 85.664c0 15.776-14.336 28.544-32 28.544l-32 0 0 57.12 32 0c17.664 0 32 12.8 32 28.544l0 85.664c0 62.816 57.6 114.208 128 114.208l0-57.12c-16.96 0-32.992-5.984-45.152-16.832-12.16-10.848-18.848-25.152-18.848-40.288l0-114.24c0-15.776-14.336-28.544-32-28.544C369.664 640 384 627.2 384 611.456zM640 668.544l0 114.24c0 15.136-6.688 29.44-18.848 40.288-12.16 10.848-28.192 16.832-45.152 16.832l0 57.12c70.4 0 128-51.392 128-114.208l0-85.664c0-15.776 14.336-28.544 32-28.544l32 0 0-57.12-32 0c-17.664 0-32-12.8-32-28.544L704 497.216c0-62.816-57.6-114.208-128-114.208l0 57.12c16.96 0 32.992 5.984 45.152 16.832 12.16 10.848 18.848 25.152 18.848 40.288l0 114.24c0 15.776 14.336 28.544 32 28.544C654.336 640 640 652.8 640 668.544zM903.424 199.424l-142.88-142.848C729.472 25.44 668 0 624 0L144 0C100 0 64 36 64 80l0 864c0 44 36 80 80 80l736 0c44 0 80-36 80-80L960 336C960 292 934.528 230.528 903.424 199.424zM858.176 244.672c3.136 3.136 6.24 6.976 9.28 11.328L704 256 704 92.544c4.352 3.04 8.192 6.144 11.328 9.28L858.176 244.672zM896 944c0 8.672-7.328 16-16 16L144 960c-8.672 0-16-7.328-16-16L128 80c0-8.672 7.328-16 16-16l480 0c4.832 0 10.24 0.608 16 1.696L640 320l254.304 0c1.088 5.76 1.696 11.168 1.696 16L896 944z" fill="#1296db" p-id="6770"></path></svg>'},{type:"js",label:"JS",language:"javascript",code:t,icon:'<svg t="1730629587097" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5557" width="20" height="20"><path d="M707.072 648.448c-15.36 8.704-36.864 13.312-63.488 13.312-30.208 0-52.224-5.632-66.56-15.872-15.872-11.776-25.6-31.744-29.696-59.392h-59.392c2.56 46.592 19.456 80.384 50.176 101.888 25.088 17.408 60.416 26.112 105.472 26.112 46.592 0 82.944-9.728 108.544-28.16 25.6-18.944 38.4-45.056 38.4-77.824 0-33.792-15.872-59.904-47.616-78.848-14.336-8.192-46.08-20.48-95.744-35.84-33.792-10.752-54.784-18.432-62.464-22.528-17.408-9.216-25.6-22.016-25.6-37.376 0-17.408 7.168-30.208 22.528-37.888 12.288-6.656 29.696-9.728 52.736-9.728 26.624 0 47.104 4.608 60.416 14.848 13.312 9.728 23.04 26.112 28.16 48.64h59.392c-3.584-39.936-18.432-69.632-44.032-88.576-24.064-17.92-57.856-26.624-100.864-26.624-39.424 0-71.68 8.704-97.28 26.624-27.648 18.432-40.96 44.032-40.96 76.288s13.824 56.832 41.984 73.728c10.752 6.144 38.912 16.384 83.968 30.72 40.448 12.288 64 20.48 71.168 24.064 22.528 11.264 34.304 26.624 34.304 46.08 0 15.36-8.192 27.136-23.552 36.352zM884.864 223.84L557.984 34.56a101.088 101.088 0 0 0-101.056 0L130.24 223.872a101.12 101.12 0 0 0-50.24 87.2v401.312c0 36.384 19.712 70.016 51.424 87.872l117.792 66.176c1.28 0.704 2.688 0.768 4.032 1.312 15.648 7.616 34.272 11.52 57.472 11.52 42.496 0 75.36-15.52 94.816-37.024 17.408-20.48 26.112-51.2 26.112-93.184V341.76h-59.904v405.248c0 26.112-4.608 45.056-13.824 56.832-9.216 11.776-24.064 17.92-44.032 17.92-2.688 0-18.656-4.096-31.2-9.408l-0.16-0.032c-0.736-0.48-1.184-1.248-1.952-1.664l-117.76-66.176A36.96 36.96 0 0 1 144 712.352v-401.28c0-13.088 7.04-25.28 18.336-31.84l326.656-189.28a36.8 36.8 0 0 1 36.896 0l326.88 189.28c11.328 6.592 18.368 18.784 18.368 31.872V713.6c0 12.864-6.88 24.96-17.92 31.552L537.472 933.824a36.8 36.8 0 0 1-36.896 0.512l-67.168-37.76a32 32 0 1 0-31.392 55.808l67.2 37.76a100.832 100.832 0 0 0 101.056-1.376l315.744-188.672a101.216 101.216 0 0 0 49.088-86.496V311.072a100.992 100.992 0 0 0-50.24-87.232z" fill="#fcd002" p-id="5558"></path></svg>'}]?.map(o=>(0,l.jsx)(b,{data:o,code:o?.code||"",language:o?.language||"html",handleCodeChange:c}))});var M=y;const b=({data:e,code:a,language:t,handleCodeChange:c})=>{const n=(0,d.useMonaco)(),o=(0,h.useRef)(null),O={selectOnLineNumbers:!0,automaticLayout:!0,formatOnType:!0,formatOnPaste:!0,minimap:{enabled:!1}},p=(i,H)=>{o.current=i,i.updateOptions({selectOnLineNumbers:!0,automaticLayout:!0,formatOnType:!0,formatOnPaste:!0,minimap:{enabled:!1}})};return(0,l.jsxs)("div",{className:"flex-1",children:[(0,l.jsxs)("a",{className:(0,g.cn)("flex gap-[5px] max-w-[170px] w-full py-[2px] px-[14px] rounded-t-[4px] cursor-pointer bg-[#1e1e1e] text-[#fff]"),children:[(0,l.jsx)("div",{dangerouslySetInnerHTML:{__html:e?.icon}}),(0,l.jsx)("span",{children:e?.label})]}),(0,l.jsx)(d.default,{height:"28vh",defaultLanguage:t,defaultValue:a,theme:"vs-dark",onMount:p})]})};
2
+ //# sourceMappingURL=CodeEditor.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/animation/CodeEditor.tsx"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport { useEffect, useState, useRef } from 'react'\nimport { cn } from '../../helpers/index.js'\nimport Editor, { useMonaco } from '@monaco-editor/react'\n\nconst CodeEditor = ({\n htmlCode,\n styleCode,\n jsCode,\n handleCodeChange,\n}: {\n htmlCode: string\n styleCode: string\n jsCode: string\n handleCodeChange: any\n}) => {\n const codeData = [\n {\n type: 'html',\n label: 'HTML',\n language: 'html',\n code: htmlCode,\n icon: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\"><path fill=\"none\" d=\"M0 0h24v24H0z\"></path><path fill=\"#e74d4d\" d=\"M12 18.178l4.62-1.256.623-6.778H9.026L8.822 7.89h8.626l.227-2.211H6.325l.636 6.678h7.82l-.261 2.866-2.52.667-2.52-.667-.158-1.844h-2.27l.329 3.544L12 18.178zM3 2h18l-1.623 18L12 22l-7.377-2L3 2z\"></path></svg>',\n },\n {\n type: 'css',\n label: 'CSS',\n language: 'css',\n code: styleCode,\n icon: '<svg t=\"1730629714840\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"6769\" width=\"20\" height=\"20\"><path d=\"M384 611.456 384 497.216c0-15.136 6.688-29.44 18.848-40.288 12.16-10.848 28.192-16.832 45.152-16.832l0-57.12c-70.4 0-128 51.392-128 114.208l0 85.664c0 15.776-14.336 28.544-32 28.544l-32 0 0 57.12 32 0c17.664 0 32 12.8 32 28.544l0 85.664c0 62.816 57.6 114.208 128 114.208l0-57.12c-16.96 0-32.992-5.984-45.152-16.832-12.16-10.848-18.848-25.152-18.848-40.288l0-114.24c0-15.776-14.336-28.544-32-28.544C369.664 640 384 627.2 384 611.456zM640 668.544l0 114.24c0 15.136-6.688 29.44-18.848 40.288-12.16 10.848-28.192 16.832-45.152 16.832l0 57.12c70.4 0 128-51.392 128-114.208l0-85.664c0-15.776 14.336-28.544 32-28.544l32 0 0-57.12-32 0c-17.664 0-32-12.8-32-28.544L704 497.216c0-62.816-57.6-114.208-128-114.208l0 57.12c16.96 0 32.992 5.984 45.152 16.832 12.16 10.848 18.848 25.152 18.848 40.288l0 114.24c0 15.776 14.336 28.544 32 28.544C654.336 640 640 652.8 640 668.544zM903.424 199.424l-142.88-142.848C729.472 25.44 668 0 624 0L144 0C100 0 64 36 64 80l0 864c0 44 36 80 80 80l736 0c44 0 80-36 80-80L960 336C960 292 934.528 230.528 903.424 199.424zM858.176 244.672c3.136 3.136 6.24 6.976 9.28 11.328L704 256 704 92.544c4.352 3.04 8.192 6.144 11.328 9.28L858.176 244.672zM896 944c0 8.672-7.328 16-16 16L144 960c-8.672 0-16-7.328-16-16L128 80c0-8.672 7.328-16 16-16l480 0c4.832 0 10.24 0.608 16 1.696L640 320l254.304 0c1.088 5.76 1.696 11.168 1.696 16L896 944z\" fill=\"#1296db\" p-id=\"6770\"></path></svg>',\n },\n {\n type: 'js',\n label: 'JS',\n language: 'javascript',\n code: jsCode,\n icon: '<svg t=\"1730629587097\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"5557\" width=\"20\" height=\"20\"><path d=\"M707.072 648.448c-15.36 8.704-36.864 13.312-63.488 13.312-30.208 0-52.224-5.632-66.56-15.872-15.872-11.776-25.6-31.744-29.696-59.392h-59.392c2.56 46.592 19.456 80.384 50.176 101.888 25.088 17.408 60.416 26.112 105.472 26.112 46.592 0 82.944-9.728 108.544-28.16 25.6-18.944 38.4-45.056 38.4-77.824 0-33.792-15.872-59.904-47.616-78.848-14.336-8.192-46.08-20.48-95.744-35.84-33.792-10.752-54.784-18.432-62.464-22.528-17.408-9.216-25.6-22.016-25.6-37.376 0-17.408 7.168-30.208 22.528-37.888 12.288-6.656 29.696-9.728 52.736-9.728 26.624 0 47.104 4.608 60.416 14.848 13.312 9.728 23.04 26.112 28.16 48.64h59.392c-3.584-39.936-18.432-69.632-44.032-88.576-24.064-17.92-57.856-26.624-100.864-26.624-39.424 0-71.68 8.704-97.28 26.624-27.648 18.432-40.96 44.032-40.96 76.288s13.824 56.832 41.984 73.728c10.752 6.144 38.912 16.384 83.968 30.72 40.448 12.288 64 20.48 71.168 24.064 22.528 11.264 34.304 26.624 34.304 46.08 0 15.36-8.192 27.136-23.552 36.352zM884.864 223.84L557.984 34.56a101.088 101.088 0 0 0-101.056 0L130.24 223.872a101.12 101.12 0 0 0-50.24 87.2v401.312c0 36.384 19.712 70.016 51.424 87.872l117.792 66.176c1.28 0.704 2.688 0.768 4.032 1.312 15.648 7.616 34.272 11.52 57.472 11.52 42.496 0 75.36-15.52 94.816-37.024 17.408-20.48 26.112-51.2 26.112-93.184V341.76h-59.904v405.248c0 26.112-4.608 45.056-13.824 56.832-9.216 11.776-24.064 17.92-44.032 17.92-2.688 0-18.656-4.096-31.2-9.408l-0.16-0.032c-0.736-0.48-1.184-1.248-1.952-1.664l-117.76-66.176A36.96 36.96 0 0 1 144 712.352v-401.28c0-13.088 7.04-25.28 18.336-31.84l326.656-189.28a36.8 36.8 0 0 1 36.896 0l326.88 189.28c11.328 6.592 18.368 18.784 18.368 31.872V713.6c0 12.864-6.88 24.96-17.92 31.552L537.472 933.824a36.8 36.8 0 0 1-36.896 0.512l-67.168-37.76a32 32 0 1 0-31.392 55.808l67.2 37.76a100.832 100.832 0 0 0 101.056-1.376l315.744-188.672a101.216 101.216 0 0 0 49.088-86.496V311.072a100.992 100.992 0 0 0-50.24-87.232z\" fill=\"#fcd002\" p-id=\"5558\"></path></svg>',\n },\n ]\n return (\n <div className=\"flex flex-col bg-[#000] gap-[5px]\">\n {codeData?.map(item => (\n <CodeItem\n data={item}\n code={item?.code || ''}\n language={item?.language || 'html'}\n handleCodeChange={handleCodeChange}\n />\n ))}\n </div>\n )\n}\nexport default CodeEditor\n\nconst CodeItem = ({\n data,\n code,\n language,\n handleCodeChange,\n}: {\n data: any\n code: string\n language: string\n handleCodeChange: any\n}) => {\n const monaco = useMonaco()\n const editorRef = useRef(null)\n const editorOptions = {\n selectOnLineNumbers: true,\n automaticLayout: true, // \u81EA\u52A8\u9002\u5E94\u5E03\u5C40\n formatOnType: true,\n formatOnPaste: true,\n minimap: {\n enabled: false,\n },\n }\n const handleEditorDidMount = (editor: any, monaco: any) => {\n editorRef.current = editor\n // \u914D\u7F6E\u81EA\u52A8\u683C\u5F0F\u5316\u9009\u9879\n editor.updateOptions({\n selectOnLineNumbers: true,\n automaticLayout: true, // \u81EA\u52A8\u9002\u5E94\u5E03\u5C40\n formatOnType: true,\n formatOnPaste: true,\n minimap: {\n enabled: false,\n },\n })\n }\n // const handleFormatDocument = () => {\n // if (editorRef.current) {\n // editorRef?.current?.getAction('editor.action.formatDocument').run()\n // }\n // }\n return (\n <div className=\"flex-1\">\n <a\n className={cn(\n 'flex gap-[5px] max-w-[170px] w-full py-[2px] px-[14px] rounded-t-[4px] cursor-pointer bg-[#1e1e1e] text-[#fff]'\n )}\n >\n <div dangerouslySetInnerHTML={{ __html: data?.icon }} />\n <span>{data?.label}</span>\n </a>\n <Editor\n height=\"28vh\"\n defaultLanguage={language}\n defaultValue={code}\n theme=\"vs-dark\"\n onMount={handleEditorDidMount}\n />\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA0CQ,IAAAI,EAAA,6BAzCRC,EAA4C,iBAC5CC,EAAmB,kCACnBD,EAAkC,mCAElC,MAAME,EAAa,CAAC,CAClB,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,iBAAAC,CACF,OA8BI,OAAC,OAAI,UAAU,oCACZ,SAzBY,CACf,CACE,KAAM,OACN,MAAO,OACP,SAAU,OACV,KAAMH,EACN,KAAM,yWACR,EACA,CACE,KAAM,MACN,MAAO,MACP,SAAU,MACV,KAAMC,EACN,KAAM,0gDACR,EACA,CACE,KAAM,KACN,MAAO,KACP,SAAU,aACV,KAAMC,EACN,KAAM,oiEACR,CACF,GAGe,IAAIE,MACb,OAACC,EAAA,CACC,KAAMD,EACN,KAAMA,GAAM,MAAQ,GACpB,SAAUA,GAAM,UAAY,OAC5B,iBAAkBD,EACpB,CACD,EACH,EAGJ,IAAOT,EAAQK,EAEf,MAAMM,EAAW,CAAC,CAChB,KAAAC,EACA,KAAAC,EACA,SAAAC,EACA,iBAAAL,CACF,IAKM,CACJ,MAAMM,KAAS,aAAU,EACnBC,KAAY,UAAO,IAAI,EACvBC,EAAgB,CACpB,oBAAqB,GACrB,gBAAiB,GACjB,aAAc,GACd,cAAe,GACf,QAAS,CACP,QAAS,EACX,CACF,EACMC,EAAuB,CAACC,EAAaJ,IAAgB,CACzDC,EAAU,QAAUG,EAEpBA,EAAO,cAAc,CACnB,oBAAqB,GACrB,gBAAiB,GACjB,aAAc,GACd,cAAe,GACf,QAAS,CACP,QAAS,EACX,CACF,CAAC,CACH,EAMA,SACE,QAAC,OAAI,UAAU,SACb,qBAAC,KACC,aAAW,MACT,gHACF,EAEA,oBAAC,OAAI,wBAAyB,CAAE,OAAQP,GAAM,IAAK,EAAG,KACtD,OAAC,QAAM,SAAAA,GAAM,MAAM,GACrB,KACA,OAAC,EAAAQ,QAAA,CACC,OAAO,OACP,gBAAiBN,EACjB,aAAcD,EACd,MAAM,UACN,QAASK,EACX,GACF,CAEJ",
6
+ "names": ["CodeEditor_exports", "__export", "CodeEditor_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "CodeEditor", "htmlCode", "styleCode", "jsCode", "handleCodeChange", "item", "CodeItem", "data", "code", "language", "monaco", "editorRef", "editorOptions", "handleEditorDidMount", "editor", "Editor"]
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface PreviewProps {
2
+ code: string;
3
+ }
4
+ declare const Preview: (props: PreviewProps) => import("react/jsx-runtime").JSX.Element;
5
+ export default Preview;
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var w=(r,e)=>{for(var t in e)o(r,t,{get:e[t],enumerable:!0})},P=(r,e,t,f)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of p(e))!l.call(r,i)&&i!==t&&o(r,i,{get:()=>e[i],enumerable:!(f=n(e,i))||f.enumerable});return r};var a=r=>P(o({},"__esModule",{value:!0}),r);var v={};w(v,{default:()=>u});module.exports=a(v);var c=require("react/jsx-runtime"),s=require("react");const d=r=>{const{code:e}=r,t=(0,s.useRef)(null);return(0,c.jsx)("iframe",{ref:t,title:"preview",style:{width:"100%",height:"100%"}})};var u=d;
2
+ //# sourceMappingURL=Preview.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/animation/Preview.tsx"],
4
+ "sourcesContent": ["/* eslint-disable */\nimport React, { useEffect, useRef } from 'react'\n// import * as Babel from '@babel/standalone'\n\nexport interface PreviewProps {\n code: string\n}\n\nconst Preview = (props: PreviewProps) => {\n const { code } = props\n const iframeRef = useRef(null)\n\n // useEffect(() => {\n // const timeout = setTimeout(() => {\n // const compiledCode = Babel.transform(code, { presets: ['react'] }).code\n // const html = `\n // <!DOCTYPE html>\n // <html>\n // <head></head>\n // <body>\n // <div id=\"root\"></div>\n // <script>\n // ${compiledCode}\n // const App = () => React.createElement('div', null, 'Hello World');\n // ReactDOM.render(React.createElement(App), document.getElementById('root'));\n // </script>\n // </body>\n // </html>\n // `\n // if (iframeRef?.current) iframeRef.current.srcdoc = html\n // }, 500)\n\n // return () => clearTimeout(timeout)\n // }, [code])\n\n return <iframe ref={iframeRef} title=\"preview\" style={{ width: '100%', height: '100%' }} />\n}\n\nexport default Preview\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAmCS,IAAAI,EAAA,6BAlCTC,EAAyC,iBAOzC,MAAMC,EAAWC,GAAwB,CACvC,KAAM,CAAE,KAAAC,CAAK,EAAID,EACXE,KAAY,UAAO,IAAI,EAyB7B,SAAO,OAAC,UAAO,IAAKA,EAAW,MAAM,UAAU,MAAO,CAAE,MAAO,OAAQ,OAAQ,MAAO,EAAG,CAC3F,EAEA,IAAOP,EAAQI",
6
+ "names": ["Preview_exports", "__export", "Preview_default", "__toCommonJS", "import_jsx_runtime", "import_react", "Preview", "props", "code", "iframeRef"]
7
+ }
@@ -0,0 +1,16 @@
1
+ export interface BannerAniProps {
2
+ type: string;
3
+ banner1: string;
4
+ banner2: string;
5
+ link1?: string;
6
+ link2?: string;
7
+ GSAP: any;
8
+ }
9
+ declare global {
10
+ interface Window {
11
+ gsap: any;
12
+ ScrollTrigger: any;
13
+ }
14
+ }
15
+ declare const BannerAni: (props: BannerAniProps) => import("react/jsx-runtime").JSX.Element | undefined;
16
+ export default BannerAni;
@@ -0,0 +1,59 @@
1
+ "use strict";var C=Object.create;var c=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var k=(i,t)=>{for(var a in t)c(i,a,{get:t[a],enumerable:!0})},m=(i,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of T(t))!y.call(i,r)&&r!==a&&c(i,r,{get:()=>t[r],enumerable:!(o=B(t,r))||o.enumerable});return i};var P=(i,t,a)=>(a=i!=null?C(w(i)):{},m(t||!i||!i.__esModule?c(a,"default",{value:i,enumerable:!0}):a,i)),S=i=>m(c({},"__esModule",{value:!0}),i);var F={};k(F,{default:()=>z});module.exports=S(F);var e=require("react/jsx-runtime"),s=require("react"),H=require("../../helpers/index.js"),d=P(require("./CodeEditor.js"));const A=i=>{const{type:t,banner1:a,banner2:o,link1:r,link2:n,GSAP:p}=i,{gsap:g,ScrollTrigger:l}=p;switch((0,s.useEffect)(()=>{switch(g.registerPlugin(l),t){case"\u88C1\u526A\u65B9\u5F0F":g.timeline({scrollTrigger:{trigger:".aniTrigger1",start:"top top",end:"+=100%",pin:!0,scrub:!0}}).to(".aniTrigger1 .aniBgBox",{opacity:"0.5"}).to(".aniTrigger1 .imgCover",{clipPath:"inset(0 0 100%)"},"=");break;case"\u8986\u76D6\u65B9\u5F0F":g.timeline({scrollTrigger:{trigger:".aniTrigger2",start:"top top",end:"+=100%",pin:!0,scrub:!0}}).to(".aniTrigger2 .aniBgBox",{opacity:"0.5"}).to(".aniTrigger2 .imgCover",{top:"0"},"=");break;case"\u4E0A\u63A8\u65B9\u5F0F":g.timeline({scrollTrigger:{trigger:".aniTrigger3",start:"top top",end:"+=100%",pin:!0,scrub:!0}}).to(".aniTrigger3 .aniBgBox",{opacity:"0.5"}).to(".aniTrigger3 .imgCover",{top:"-100%"},"=");break;case"\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F":g.timeline({scrollTrigger:{trigger:".aniTrigger4",start:"top top",end:"+=100%",scrub:!0}}).to(".aniTrigger4 .imgBg img",{y:200});break;default:g.timeline({scrollTrigger:{trigger:".aniTrigger1",start:"top top",end:"+=100%",pin:!0,scrub:!0}}).to(".aniTrigger1 .aniBgBox",{opacity:"0.5"}).to(".aniTrigger1 .imgCover",{clipPath:"inset(0 0 100%)"},"=")}},[]),t){case"\u88C1\u526A\u65B9\u5F0F":return(0,e.jsx)(M,{...i});case"\u8986\u76D6\u65B9\u5F0F":return(0,e.jsxs)("div",{className:"",children:[(0,e.jsx)("h2",{className:"text-[30px] font-[600]",children:t}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["Figma\u94FE\u63A5: ",r]}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: ",n]}),(0,e.jsxs)("div",{className:"relative aniTrigger2",children:[(0,e.jsxs)("div",{className:"imgBg",children:[(0,e.jsx)("div",{className:"aniBgBox absolute top-0 left-0 bottom-0 right-0 bg-[#000] opacity-0"}),(0,e.jsx)("img",{src:a})]}),(0,e.jsx)("div",{className:"imgCover w-full absolute top-[100%]",children:(0,e.jsx)("img",{src:o})})]})]});case"\u4E0A\u63A8\u65B9\u5F0F":return(0,e.jsxs)("div",{className:"",children:[(0,e.jsx)("h2",{className:"text-[30px] font-[600]",children:t}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["Figma\u94FE\u63A5: ",r]}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: ",n]}),(0,e.jsxs)("div",{className:"relative aniTrigger3",children:[(0,e.jsx)("div",{className:"imgBg",children:(0,e.jsx)("img",{src:o})}),(0,e.jsxs)("div",{className:"imgCover w-full absolute top-0",children:[(0,e.jsx)("div",{className:"aniBgBox absolute top-0 left-0 bottom-0 right-0 bg-[#000] opacity-0"}),(0,e.jsx)("img",{src:a})]})]})]});case"\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F":return(0,e.jsxs)("div",{className:"",children:[(0,e.jsx)("h2",{className:"text-[30px] font-[600]",children:t}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["Figma\u94FE\u63A5: ",r]}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: ",n]}),(0,e.jsxs)("div",{className:"relative aniTrigger4 flex gap-[10px] flex-col",children:[(0,e.jsx)("div",{className:"imgBg overflow-hidden",children:(0,e.jsx)("img",{src:a})}),(0,e.jsx)("div",{className:"imgCover",children:(0,e.jsx)("img",{src:o})})]})]})}};var z=A;const M=i=>{const{type:t,banner1:a,banner2:o,link1:r,link2:n}=i,[p,g]=(0,s.useState)(null),[l,v]=(0,s.useState)(!1),x=N=>{console.log("33333",N)},h=(0,s.useRef)(null),[u,E]=(0,s.useState)(`
2
+ <div class="relative aniTrigger1 images">
3
+ <div class="imgBg">
4
+ <img src="${o}" />
5
+ </div>
6
+ <div class="imgCover">
7
+ <div class="aniBgBox"></div>
8
+ <img src="${a}" />
9
+ </div>
10
+ <div class="zhanwei"></div>
11
+ </div>
12
+ `),[f,G]=(0,s.useState)(`
13
+ body {
14
+ margin: 0;
15
+ }
16
+ .zhanwei {
17
+ height: 50vh;
18
+ }
19
+ .images {
20
+ position: relative;
21
+ }
22
+ .images .aniBgBox {
23
+ position: absolute;
24
+ top: 0;
25
+ left: 0;
26
+ height: 100%;
27
+ width: 100%;
28
+ background: #000;
29
+ opacity: 0;
30
+ }
31
+ .images .imgBg,
32
+ .images .imgBg img,
33
+ .images .imgCover,
34
+ .images .imgCover img {
35
+ width: 100%;
36
+ }
37
+ .images .imgCover {
38
+ position: absolute;
39
+ top: 0;
40
+ left: 50%;
41
+ transform: translatex(-50%);
42
+ }
43
+ `),[b,L]=(0,s.useState)(`
44
+ gsap.registerPlugin(ScrollTrigger)
45
+ gsap
46
+ .timeline({
47
+ scrollTrigger: {
48
+ trigger: '.aniTrigger1',
49
+ start: 'top top',
50
+ end: '+=100%',
51
+ // markers: true,
52
+ pin: true,
53
+ scrub: true,
54
+ },
55
+ })
56
+ .to('.aniTrigger1 .aniBgBox', { opacity: '0.5' })
57
+ .to('.aniTrigger1 .imgCover', { clipPath: 'inset(0 0 100%)' }, '=')
58
+ `);return(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)("div",{className:"mb-[20px]",children:[(0,e.jsx)("h2",{className:"text-[30px] font-[600]",children:t}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["Figma\u94FE\u63A5: ",r]}),(0,e.jsxs)("p",{className:"text-[20px] font-[500]",children:["\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: ",n]}),(0,e.jsx)("p",{className:"text-[20px] font-[500]",children:"\u7269\u6599\u5C3A\u5BF8: JPG, PC-1920*950, Mob-390*600"})]}),(0,e.jsxs)("div",{className:"relative",children:[!l&&(0,e.jsxs)("a",{className:"cursor-pointer flex gap-[5px] text-[12px] bg-[#000] bg-opacity-50 p-[5px] rounded-[4px] absolute top-0 left-0",onClick:()=>v(!0),children:[(0,e.jsxs)("svg",{viewBox:"0 0 1024 1024",version:"1.1",xmlns:"http://www.w3.org/2000/svg","p-id":"2334",width:"18",height:"18",children:[(0,e.jsx)("path",{d:"M438.4 849.1l222.7-646.7c0.2-0.5 0.3-1.1 0.4-1.6L438.4 849.1z",opacity:".224","p-id":"2335"}),(0,e.jsx)("path",{d:"M661.2 168.7h-67.5c-3.4 0-6.5 2.2-7.6 5.4L354.7 846c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h67.8c3.4 0 6.5-2.2 7.6-5.4l0.7-2.1 223.1-648.3 7.4-21.4c0.3-0.8 0.4-1.7 0.4-2.6-0.1-4.5-3.6-8.1-8.1-8.1zM954.6 502.1c-0.8-1-1.7-1.9-2.7-2.7l-219-171.3c-3.5-2.7-8.5-2.1-11.2 1.4-1.1 1.4-1.7 3.1-1.7 4.9v81.3c0 2.5 1.1 4.8 3.1 6.3l115 90-115 90c-1.9 1.5-3.1 3.8-3.1 6.3v81.3c0 4.4 3.6 8 8 8 1.8 0 3.5-0.6 4.9-1.7l219-171.3c6.9-5.4 8.2-15.5 2.7-22.5zM291.1 328.1l-219 171.3c-1 0.8-1.9 1.7-2.7 2.7-5.4 7-4.2 17 2.7 22.5l219 171.3c1.4 1.1 3.1 1.7 4.9 1.7 4.4 0 8-3.6 8-8v-81.3c0-2.5-1.1-4.8-3.1-6.3l-115-90 115-90c1.9-1.5 3.1-3.8 3.1-6.3v-81.3c0-1.8-0.6-3.5-1.7-4.9-2.7-3.5-7.7-4.1-11.2-1.4z","p-id":"2336"})]}),"Show Animation Code"]}),(0,e.jsxs)("div",{className:"flex",children:[l&&(0,e.jsx)("div",{className:"w-[30%]",children:(0,e.jsx)(d.default,{htmlCode:u,styleCode:f,jsCode:b,handleCodeChange:x})}),(0,e.jsx)("div",{className:"flex-1 bg-[#e8e8e8] min-h-[100vh]",children:(0,e.jsx)("iframe",{ref:h,title:"preview",style:{width:"100%",height:"100%",border:"none"}})})]})]})]})};
59
+ //# sourceMappingURL=bannerAni.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/animation/bannerAni.tsx"],
4
+ "sourcesContent": ["import { useEffect, useState, useRef } from 'react'\nimport { cn } from '../../helpers/index.js'\n\n// eslint-disable-next-line\n// import { gsap } from 'gsap/dist/gsap'\n// // eslint-disable-next-line\n// import { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\n\nimport CodeEditor from './CodeEditor.js'\n\nexport interface BannerAniProps {\n type: string\n banner1: string\n banner2: string\n link1?: string\n link2?: string\n GSAP: any\n}\ndeclare global {\n interface Window {\n gsap: any\n ScrollTrigger: any\n }\n}\n\nconst BannerAni = (props: BannerAniProps) => {\n const { type, banner1, banner2, link1, link2, GSAP } = props\n\n const { gsap, ScrollTrigger } = GSAP\n useEffect(() => {\n gsap.registerPlugin(ScrollTrigger)\n\n switch (type) {\n case '\u88C1\u526A\u65B9\u5F0F':\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger1',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger1 .aniBgBox', { opacity: '0.5' })\n .to('.aniTrigger1 .imgCover', { clipPath: 'inset(0 0 100%)' }, '=')\n break\n case '\u8986\u76D6\u65B9\u5F0F':\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger2',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger2 .aniBgBox', { opacity: '0.5' })\n .to('.aniTrigger2 .imgCover', { top: '0' }, '=')\n break\n case '\u4E0A\u63A8\u65B9\u5F0F':\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger3',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger3 .aniBgBox', { opacity: '0.5' })\n .to('.aniTrigger3 .imgCover', { top: '-100%' }, '=')\n break\n case '\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F':\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger4',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n // pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger4 .imgBg img', { y: 200 })\n break\n default:\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger1',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger1 .aniBgBox', { opacity: '0.5' })\n .to('.aniTrigger1 .imgCover', { clipPath: 'inset(0 0 100%)' }, '=')\n }\n }, [])\n\n switch (type) {\n case '\u88C1\u526A\u65B9\u5F0F':\n return <BannerAni1 {...props} />\n case '\u8986\u76D6\u65B9\u5F0F':\n return (\n <div className=\"\">\n <h2 className=\"text-[30px] font-[600]\">{type}</h2>\n <p className=\"text-[20px] font-[500]\">Figma\u94FE\u63A5: {link1}</p>\n <p className=\"text-[20px] font-[500]\">\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: {link2}</p>\n <div className=\"relative aniTrigger2\">\n <div className=\"imgBg\">\n <div className=\"aniBgBox absolute top-0 left-0 bottom-0 right-0 bg-[#000] opacity-0\"></div>\n <img src={banner1} />\n </div>\n <div className=\"imgCover w-full absolute top-[100%]\">\n <img src={banner2} />\n </div>\n </div>\n </div>\n )\n case '\u4E0A\u63A8\u65B9\u5F0F':\n return (\n <div className=\"\">\n <h2 className=\"text-[30px] font-[600]\">{type}</h2>\n <p className=\"text-[20px] font-[500]\">Figma\u94FE\u63A5: {link1}</p>\n <p className=\"text-[20px] font-[500]\">\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: {link2}</p>\n <div className=\"relative aniTrigger3\">\n <div className=\"imgBg\">\n <img src={banner2} />\n </div>\n <div className=\"imgCover w-full absolute top-0\">\n <div className=\"aniBgBox absolute top-0 left-0 bottom-0 right-0 bg-[#000] opacity-0\"></div>\n <img src={banner1} />\n </div>\n </div>\n </div>\n )\n case '\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F':\n return (\n <div className=\"\">\n <h2 className=\"text-[30px] font-[600]\">{type}</h2>\n <p className=\"text-[20px] font-[500]\">Figma\u94FE\u63A5: {link1}</p>\n <p className=\"text-[20px] font-[500]\">\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: {link2}</p>\n <div className=\"relative aniTrigger4 flex gap-[10px] flex-col\">\n <div className=\"imgBg overflow-hidden\">\n <img src={banner1} />\n </div>\n <div className=\"imgCover\">\n <img src={banner2} />\n </div>\n </div>\n </div>\n )\n }\n}\n\nexport default BannerAni\n\nconst BannerAni1 = (props: BannerAniProps) => {\n const { type, banner1, banner2, link1, link2 } = props\n const [renderedComponent, setRenderedComponent] = useState(null)\n const [showCode, setShowCode] = useState(false)\n\n const handleCodeChange = (code: string) => {\n console.log('33333', code)\n // try {\n // // \u8FD9\u91CC\u5047\u8BBE\u7528\u6237\u8F93\u5165\u7684\u4EE3\u7801\u662F\u4E00\u4E2A\u51FD\u6570\u7EC4\u4EF6\n // const functionComponent = () => {\n // const codeWithReturn = `return (${code});`\n // return new Function(codeWithReturn)()\n // }\n // const container = document.getElementById('render-container')\n // const root = ReactDOM.createRoot(container)\n // root.render(<functionComponent />)\n // setRenderedComponent(<functionComponent />)\n // } catch (error) {\n // console.error('Error parsing user code:', error)\n // }\n }\n const iframeRef = useRef<HTMLIFrameElement | null>(null)\n const [htmlCode, setHtmlCode] = useState(`\n <div class=\"relative aniTrigger1 images\">\n <div class=\"imgBg\">\n <img src=\"${banner2}\" />\n </div>\n <div class=\"imgCover\">\n <div class=\"aniBgBox\"></div>\n <img src=\"${banner1}\" />\n </div>\n <div class=\"zhanwei\"></div>\n </div>\n `)\n const [styleCode, setStyleCode] = useState(`\n body {\n margin: 0;\n }\n .zhanwei {\n height: 50vh;\n }\n .images {\n position: relative;\n }\n .images .aniBgBox {\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n background: #000;\n opacity: 0;\n }\n .images .imgBg,\n .images .imgBg img,\n .images .imgCover,\n .images .imgCover img {\n width: 100%;\n }\n .images .imgCover {\n position: absolute;\n top: 0;\n left: 50%;\n transform: translatex(-50%);\n }\n `)\n const [jsCode, setJsCode] = useState(`\n gsap.registerPlugin(ScrollTrigger)\n gsap\n .timeline({\n scrollTrigger: {\n trigger: '.aniTrigger1',\n start: 'top top',\n end: '+=100%',\n // markers: true,\n pin: true,\n scrub: true,\n },\n })\n .to('.aniTrigger1 .aniBgBox', { opacity: '0.5' })\n .to('.aniTrigger1 .imgCover', { clipPath: 'inset(0 0 100%)' }, '=')\n `)\n\n return (\n <div className=\"relative\">\n <div className=\"mb-[20px]\">\n <h2 className=\"text-[30px] font-[600]\">{type}</h2>\n <p className=\"text-[20px] font-[500]\">Figma\u94FE\u63A5: {link1}</p>\n <p className=\"text-[20px] font-[500]\">\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: {link2}</p>\n <p className=\"text-[20px] font-[500]\">\u7269\u6599\u5C3A\u5BF8: JPG, PC-1920*950, Mob-390*600</p>\n </div>\n <div className=\"relative\">\n {!showCode && (\n <a\n className=\"cursor-pointer flex gap-[5px] text-[12px] bg-[#000] bg-opacity-50 p-[5px] rounded-[4px] absolute top-0 left-0\"\n onClick={() => setShowCode(true)}\n >\n <svg\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"2334\"\n width=\"18\"\n height=\"18\"\n >\n <path d=\"M438.4 849.1l222.7-646.7c0.2-0.5 0.3-1.1 0.4-1.6L438.4 849.1z\" opacity=\".224\" p-id=\"2335\"></path>\n <path\n d=\"M661.2 168.7h-67.5c-3.4 0-6.5 2.2-7.6 5.4L354.7 846c-0.3 0.8-0.4 1.7-0.4 2.6 0 4.4 3.6 8 8 8h67.8c3.4 0 6.5-2.2 7.6-5.4l0.7-2.1 223.1-648.3 7.4-21.4c0.3-0.8 0.4-1.7 0.4-2.6-0.1-4.5-3.6-8.1-8.1-8.1zM954.6 502.1c-0.8-1-1.7-1.9-2.7-2.7l-219-171.3c-3.5-2.7-8.5-2.1-11.2 1.4-1.1 1.4-1.7 3.1-1.7 4.9v81.3c0 2.5 1.1 4.8 3.1 6.3l115 90-115 90c-1.9 1.5-3.1 3.8-3.1 6.3v81.3c0 4.4 3.6 8 8 8 1.8 0 3.5-0.6 4.9-1.7l219-171.3c6.9-5.4 8.2-15.5 2.7-22.5zM291.1 328.1l-219 171.3c-1 0.8-1.9 1.7-2.7 2.7-5.4 7-4.2 17 2.7 22.5l219 171.3c1.4 1.1 3.1 1.7 4.9 1.7 4.4 0 8-3.6 8-8v-81.3c0-2.5-1.1-4.8-3.1-6.3l-115-90 115-90c1.9-1.5 3.1-3.8 3.1-6.3v-81.3c0-1.8-0.6-3.5-1.7-4.9-2.7-3.5-7.7-4.1-11.2-1.4z\"\n p-id=\"2336\"\n ></path>\n </svg>\n Show Animation Code\n </a>\n )}\n <div className=\"flex\">\n {showCode && (\n <div className=\"w-[30%]\">\n <CodeEditor\n htmlCode={htmlCode}\n styleCode={styleCode}\n jsCode={jsCode}\n handleCodeChange={handleCodeChange}\n />\n </div>\n )}\n <div className=\"flex-1 bg-[#e8e8e8] min-h-[100vh]\">\n <iframe ref={iframeRef} title=\"preview\" style={{ width: '100%', height: '100%', border: 'none' }} />\n </div>\n </div>\n </div>\n </div>\n )\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA+Ga,IAAAI,EAAA,6BA/GbC,EAA4C,iBAC5CC,EAAmB,kCAOnBC,EAAuB,8BAiBvB,MAAMC,EAAaC,GAA0B,CAC3C,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,QAAAC,EAAS,MAAAC,EAAO,MAAAC,EAAO,KAAAC,CAAK,EAAIN,EAEjD,CAAE,KAAAO,EAAM,cAAAC,CAAc,EAAIF,EAiFhC,UAhFA,aAAU,IAAM,CAGd,OAFAC,EAAK,eAAeC,CAAa,EAEzBP,EAAM,CACZ,IAAK,2BACHM,EACG,SAAS,CACR,cAAe,CACb,QAAS,eACT,MAAO,UACP,IAAK,SAEL,IAAK,GACL,MAAO,EACT,CACF,CAAC,EACA,GAAG,yBAA0B,CAAE,QAAS,KAAM,CAAC,EAC/C,GAAG,yBAA0B,CAAE,SAAU,iBAAkB,EAAG,GAAG,EACpE,MACF,IAAK,2BACHA,EACG,SAAS,CACR,cAAe,CACb,QAAS,eACT,MAAO,UACP,IAAK,SAEL,IAAK,GACL,MAAO,EACT,CACF,CAAC,EACA,GAAG,yBAA0B,CAAE,QAAS,KAAM,CAAC,EAC/C,GAAG,yBAA0B,CAAE,IAAK,GAAI,EAAG,GAAG,EACjD,MACF,IAAK,2BACHA,EACG,SAAS,CACR,cAAe,CACb,QAAS,eACT,MAAO,UACP,IAAK,SAEL,IAAK,GACL,MAAO,EACT,CACF,CAAC,EACA,GAAG,yBAA0B,CAAE,QAAS,KAAM,CAAC,EAC/C,GAAG,yBAA0B,CAAE,IAAK,OAAQ,EAAG,GAAG,EACrD,MACF,IAAK,uCACHA,EACG,SAAS,CACR,cAAe,CACb,QAAS,eACT,MAAO,UACP,IAAK,SAGL,MAAO,EACT,CACF,CAAC,EACA,GAAG,0BAA2B,CAAE,EAAG,GAAI,CAAC,EAC3C,MACF,QACEA,EACG,SAAS,CACR,cAAe,CACb,QAAS,eACT,MAAO,UACP,IAAK,SAEL,IAAK,GACL,MAAO,EACT,CACF,CAAC,EACA,GAAG,yBAA0B,CAAE,QAAS,KAAM,CAAC,EAC/C,GAAG,yBAA0B,CAAE,SAAU,iBAAkB,EAAG,GAAG,CACxE,CACF,EAAG,CAAC,CAAC,EAEGN,EAAM,CACZ,IAAK,2BACH,SAAO,OAACQ,EAAA,CAAY,GAAGT,EAAO,EAChC,IAAK,2BACH,SACE,QAAC,OAAI,UAAU,GACb,oBAAC,MAAG,UAAU,yBAA0B,SAAAC,EAAK,KAC7C,QAAC,KAAE,UAAU,yBAAyB,gCAAUG,GAAM,KACtD,QAAC,KAAE,UAAU,yBAAyB,mDAASC,GAAM,KACrD,QAAC,OAAI,UAAU,uBACb,qBAAC,OAAI,UAAU,QACb,oBAAC,OAAI,UAAU,sEAAsE,KACrF,OAAC,OAAI,IAAKH,EAAS,GACrB,KACA,OAAC,OAAI,UAAU,sCACb,mBAAC,OAAI,IAAKC,EAAS,EACrB,GACF,GACF,EAEJ,IAAK,2BACH,SACE,QAAC,OAAI,UAAU,GACb,oBAAC,MAAG,UAAU,yBAA0B,SAAAF,EAAK,KAC7C,QAAC,KAAE,UAAU,yBAAyB,gCAAUG,GAAM,KACtD,QAAC,KAAE,UAAU,yBAAyB,mDAASC,GAAM,KACrD,QAAC,OAAI,UAAU,uBACb,oBAAC,OAAI,UAAU,QACb,mBAAC,OAAI,IAAKF,EAAS,EACrB,KACA,QAAC,OAAI,UAAU,iCACb,oBAAC,OAAI,UAAU,sEAAsE,KACrF,OAAC,OAAI,IAAKD,EAAS,GACrB,GACF,GACF,EAEJ,IAAK,uCACH,SACE,QAAC,OAAI,UAAU,GACb,oBAAC,MAAG,UAAU,yBAA0B,SAAAD,EAAK,KAC7C,QAAC,KAAE,UAAU,yBAAyB,gCAAUG,GAAM,KACtD,QAAC,KAAE,UAAU,yBAAyB,mDAASC,GAAM,KACrD,QAAC,OAAI,UAAU,gDACb,oBAAC,OAAI,UAAU,wBACb,mBAAC,OAAI,IAAKH,EAAS,EACrB,KACA,OAAC,OAAI,UAAU,WACb,mBAAC,OAAI,IAAKC,EAAS,EACrB,GACF,GACF,CAEN,CACF,EAEA,IAAOV,EAAQM,EAEf,MAAMU,EAAcT,GAA0B,CAC5C,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,QAAAC,EAAS,MAAAC,EAAO,MAAAC,CAAM,EAAIL,EAC3C,CAACU,EAAmBC,CAAoB,KAAI,YAAS,IAAI,EACzD,CAACC,EAAUC,CAAW,KAAI,YAAS,EAAK,EAExCC,EAAoBC,GAAiB,CACzC,QAAQ,IAAI,QAASA,CAAI,CAc3B,EACMC,KAAY,UAAiC,IAAI,EACjD,CAACC,EAAUC,CAAW,KAAI,YAAS;AAAA;AAAA;AAAA,oBAGvBf,CAAO;AAAA;AAAA;AAAA;AAAA,oBAIPD,CAAO;AAAA;AAAA;AAAA;AAAA,GAIxB,EACK,CAACiB,EAAWC,CAAY,KAAI,YAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA+B1C,EACK,CAACC,EAAQC,CAAS,KAAI,YAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAelC,EAEH,SACE,QAAC,OAAI,UAAU,WACb,qBAAC,OAAI,UAAU,YACb,oBAAC,MAAG,UAAU,yBAA0B,SAAArB,EAAK,KAC7C,QAAC,KAAE,UAAU,yBAAyB,gCAAUG,GAAM,KACtD,QAAC,KAAE,UAAU,yBAAyB,mDAASC,GAAM,KACrD,OAAC,KAAE,UAAU,yBAAyB,mEAAmC,GAC3E,KACA,QAAC,OAAI,UAAU,WACZ,WAACO,MACA,QAAC,KACC,UAAU,gHACV,QAAS,IAAMC,EAAY,EAAI,EAE/B,qBAAC,OACC,QAAQ,gBACR,QAAQ,MACR,MAAM,6BACN,OAAK,OACL,MAAM,KACN,OAAO,KAEP,oBAAC,QAAK,EAAE,gEAAgE,QAAQ,OAAO,OAAK,OAAO,KACnG,OAAC,QACC,EAAE,yqBACF,OAAK,OACN,GACH,EAAM,uBAER,KAEF,QAAC,OAAI,UAAU,OACZ,UAAAD,MACC,OAAC,OAAI,UAAU,UACb,mBAAC,EAAAW,QAAA,CACC,SAAUN,EACV,UAAWE,EACX,OAAQE,EACR,iBAAkBP,EACpB,EACF,KAEF,OAAC,OAAI,UAAU,oCACb,mBAAC,UAAO,IAAKE,EAAW,MAAM,UAAU,MAAO,CAAE,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,MAAO,EAAG,EACpG,GACF,GACF,GACF,CAEJ",
6
+ "names": ["bannerAni_exports", "__export", "bannerAni_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_helpers", "import_CodeEditor", "BannerAni", "props", "type", "banner1", "banner2", "link1", "link2", "GSAP", "gsap", "ScrollTrigger", "BannerAni1", "renderedComponent", "setRenderedComponent", "showCode", "setShowCode", "handleCodeChange", "code", "iframeRef", "htmlCode", "setHtmlCode", "styleCode", "setStyleCode", "jsCode", "setJsCode", "CodeEditor"]
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=libs.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ export interface TextAniProps {
2
+ type: string;
3
+ link1?: string;
4
+ link2?: string;
5
+ banner1?: string;
6
+ banner2?: string;
7
+ }
8
+ declare const TextAni: (props: TextAniProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default TextAni;
@@ -0,0 +1,2 @@
1
+ "use strict";var o=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var p=(t,e)=>{for(var n in e)o(t,n,{get:e[n],enumerable:!0})},m=(t,e,n,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of d(e))!w.call(t,r)&&r!==n&&o(t,r,{get:()=>e[r],enumerable:!(i=u(e,r))||i.enumerable});return t};var g=t=>m(o({},"__esModule",{value:!0}),t);var x={};p(x,{default:()=>f});module.exports=g(x);var a=require("react/jsx-runtime"),s=require("react"),W=require("react-codepen-embed");const h=t=>{const{type:e,link1:n,link2:i}=t,r=(0,s.useMemo)(()=>{const c=window.innerWidth>1920?1920:window.innerWidth;return 900/1920*c},[]),l=(0,s.useMemo)(()=>{switch(e){case"\u88C1\u526A\u65B9\u5F0F":return"RwxbWKZ";case"\u8986\u76D6\u65B9\u5F0F":return"MWrgywr";case"\u4E0A\u63A8\u65B9\u5F0F":return"gOoYLjL";case"\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F":return"WNVZNwJ";default:return"RwxbWKZ"}},[e]);return(0,a.jsx)("div",{className:"max-w-[1920px] mx-auto",children:(0,a.jsx)("iframe",{height:r,style:{width:"100%"},scrolling:"no",title:"\u573A\u666F\u5207\u6362\u52A8\u753B\u4E4B\u88C1\u526A",src:`https://codepen.io/cynthiaisme/embed/${l}?default-tab=result&editable=true`,frameBorder:"no",loading:"lazy",allowTransparency:!0,allowFullScreen:!0})})};var f=h;
2
+ //# sourceMappingURL=textAni.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/animation/textAni.tsx"],
4
+ "sourcesContent": ["import { useMemo, useState } from 'react'\nimport Codepen from 'react-codepen-embed'\n// import CodeEditor from './CodeEditor.js'\n// import Preview from './Preview.js'\n\nexport interface TextAniProps {\n type: string\n link1?: string\n link2?: string\n banner1?: string\n banner2?: string\n}\n\nconst TextAni = (props: TextAniProps) => {\n const { type, link1, link2 } = props\n const H = useMemo(() => {\n const w = window.innerWidth > 1920 ? 1920 : window.innerWidth\n return (900 / 1920) * w\n }, [])\n const hash = useMemo(() => {\n switch (type) {\n case '\u88C1\u526A\u65B9\u5F0F':\n return 'RwxbWKZ'\n case '\u8986\u76D6\u65B9\u5F0F':\n return 'MWrgywr'\n case '\u4E0A\u63A8\u65B9\u5F0F':\n return 'gOoYLjL'\n case '\u4E0A\u79FB\u89C6\u5DEE\u65B9\u5F0F':\n return 'WNVZNwJ'\n default:\n return 'RwxbWKZ'\n }\n }, [type])\n\n return (\n <div className=\"max-w-[1920px] mx-auto\">\n <iframe\n height={H}\n style={{ width: '100%' }}\n scrolling=\"no\"\n title=\"\u573A\u666F\u5207\u6362\u52A8\u753B\u4E4B\u88C1\u526A\"\n src={`https://codepen.io/cynthiaisme/embed/${hash}?default-tab=result&editable=true`}\n frameBorder=\"no\"\n loading=\"lazy\"\n allowTransparency={true}\n allowFullScreen={true}\n ></iframe>\n {/* <div className=\"mt-[50px]\">\n <p className=\"text-[20px] font-[500]\">Figma\u94FE\u63A5: {link1}</p>\n <p className=\"text-[20px] font-[500]\">\u7EBF\u4E0A\u53C2\u8003\u94FE\u63A5: {link2}</p>\n <p className=\"text-[20px] font-[500]\">\u7269\u6599\u89C4\u683C: PC-1920*1080; MOB-390*600</p>\n </div> */}\n </div>\n )\n}\n\nexport default TextAni\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAoCM,IAAAI,EAAA,6BApCNC,EAAkC,iBAClCC,EAAoB,+BAYpB,MAAMC,EAAWC,GAAwB,CACvC,KAAM,CAAE,KAAAC,EAAM,MAAAC,EAAO,MAAAC,CAAM,EAAIH,EACzBI,KAAI,WAAQ,IAAM,CACtB,MAAMC,EAAI,OAAO,WAAa,KAAO,KAAO,OAAO,WACnD,MAAQ,KAAM,KAAQA,CACxB,EAAG,CAAC,CAAC,EACCC,KAAO,WAAQ,IAAM,CACzB,OAAQL,EAAM,CACZ,IAAK,2BACH,MAAO,UACT,IAAK,2BACH,MAAO,UACT,IAAK,2BACH,MAAO,UACT,IAAK,uCACH,MAAO,UACT,QACE,MAAO,SACX,CACF,EAAG,CAACA,CAAI,CAAC,EAET,SACE,OAAC,OAAI,UAAU,yBACb,mBAAC,UACC,OAAQG,EACR,MAAO,CAAE,MAAO,MAAO,EACvB,UAAU,KACV,MAAM,yDACN,IAAK,wCAAwCE,CAAI,oCACjD,YAAY,KACZ,QAAQ,OACR,kBAAmB,GACnB,gBAAiB,GAClB,EAMH,CAEJ,EAEA,IAAOZ,EAAQK",
6
+ "names": ["textAni_exports", "__export", "textAni_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_codepen_embed", "TextAni", "props", "type", "link1", "link2", "H", "w", "hash"]
7
+ }
@@ -1,3 +1,3 @@
1
1
  import type { MessagesProps } from './props.js';
2
- declare const Messages: ({ messages, inProgress, ResponseButton, messagesCallback, children }: MessagesProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Messages: ({ messages, inProgress, ResponseButton, children }: MessagesProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Messages;
@@ -10,8 +10,6 @@ export interface ActionProps {
10
10
  start?: string;
11
11
  history: Message[];
12
12
  addtocartHandler?: (_args: any) => Promise<any>;
13
- commonRender?: string | ((_props: any) => React.ReactElement);
14
- pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement);
15
13
  gotocheckoutRender?: string | ((_props: any) => React.ReactElement);
16
14
  gotocartRender?: string | ((_props: any) => React.ReactElement);
17
15
  addtocartRender?: string | ((_props: any) => React.ReactElement);
@@ -20,5 +18,5 @@ export interface ActionProps {
20
18
  productRenderTipMessage?: string;
21
19
  children?: React.ReactNode;
22
20
  }
23
- export declare const CopilotAction: ({ start, history, addtocartHandler, commonRender, pointsExchangeCouponRender, gotocheckoutRender, gotocartRender, addtocartRender, productRender, signupRender, children, }: ActionProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const CopilotAction: ({ start, history, addtocartHandler, gotocheckoutRender, gotocartRender, addtocartRender, productRender, signupRender, children, }: ActionProps) => import("react/jsx-runtime").JSX.Element;
24
22
  export {};
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var J=Object.prototype.hasOwnProperty;var M=(r,n)=>{for(var s in n)m(r,s,{get:n[s],enumerable:!0})},O=(r,n,s,d)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of S(n))!J.call(r,o)&&o!==s&&m(r,o,{get:()=>n[o],enumerable:!(d=E(n,o))||d.enumerable});return r};var k=r=>O(m({},"__esModule",{value:!0}),r);var A={};M(A,{CopilotAction:()=>x});module.exports=k(A);var a=require("react/jsx-runtime"),T=require("react"),l=require("react"),t=require("@copilotkit/react-core"),c=require("@copilotkit/runtime-client-gql");const x=({start:r,history:n,addtocartHandler:s,commonRender:d,pointsExchangeCouponRender:o,gotocheckoutRender:u,gotocartRender:h,addtocartRender:y,productRender:R,signupRender:f,children:_})=>{const{setMessages:N,appendMessage:C,isLoading:w}=(0,t.useCopilotChat)();return(0,l.useEffect)(()=>{const e=n?.filter(p=>p?.content||p?.arguments);if(e?.length>0){const p=e?.map(i=>{if(i?.name&&i?.arguments){const v=i?.arguments?.map(g=>g?{...g,ishistory:!0}:{});return new c.ActionExecutionMessage({name:i?.name,arguments:v,scope:i?.scope})}return new c.TextMessage({...i,role:i?.role==="user"?c.Role.User:c.Role.Assistant})});N(p)}},[n]),(0,t.useCopilotAction)({name:"go_to_checkout",description:"go to cart",parameters:[{sku:"",handle:""}],render:u||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"common_action",description:"common action",parameters:[{act:""}],render:d||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"points_exchange_coupon",description:"points exchange coupon",parameters:[{act:""}],render:o||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"go_to_cart",description:"go to cart",parameters:[{sku:"",handle:""}],render:h||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"add_to_cart",description:"add to cart",parameters:[{sku:"",handle:""}],render:y||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){s&&s(e)}}),(0,t.useCopilotAction)({name:"show_product_card",description:"product card",parameters:[{sku:"",handle:""}],render:R||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){console.log("show_product_card-props",e)}}),(0,t.useCopilotAction)({name:"signup",description:"signup",parameters:[{name:"signup"}],render:f||(e=>(0,a.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotReadable)({description:"Today's date",value:new Date().toLocaleDateString()}),(0,a.jsx)("div",{children:_})};
1
+ "use strict";var g=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var k=(r,n)=>{for(var a in n)g(r,a,{get:n[a],enumerable:!0})},v=(r,n,a,d)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of E(n))!M.call(r,s)&&s!==a&&g(r,s,{get:()=>n[s],enumerable:!(d=N(n,s))||d.enumerable});return r};var A=r=>v(g({},"__esModule",{value:!0}),r);var w={};k(w,{CopilotAction:()=>S});module.exports=A(w);var i=require("react/jsx-runtime"),x=require("react"),l=require("react"),t=require("@copilotkit/react-core"),c=require("@copilotkit/runtime-client-gql");const S=({start:r,history:n,addtocartHandler:a,gotocheckoutRender:d,gotocartRender:s,addtocartRender:u,productRender:h,signupRender:y,children:f})=>{const{setMessages:R,appendMessage:C,isLoading:J}=(0,t.useCopilotChat)();return(0,l.useEffect)(()=>{const e=n?.filter(p=>p?.content||p?.arguments);if(e?.length>0){const p=e?.map(o=>{if(o?.name&&o?.arguments){const _=o?.arguments?.map(m=>m?{...m,ishistory:!0}:{});return new c.ActionExecutionMessage({name:o?.name,arguments:_,scope:o?.scope})}return new c.TextMessage({...o,role:o?.role==="user"?c.Role.User:c.Role.Assistant})});R(p)}},[n]),(0,t.useCopilotAction)({name:"go_to_checkout",description:"go to cart",parameters:[{sku:"",handle:""}],render:d||(e=>(0,i.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"go_to_cart",description:"go to cart",parameters:[{sku:"",handle:""}],render:s||(e=>(0,i.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotAction)({name:"add_to_cart",description:"add to cart",parameters:[{sku:"",handle:""}],render:u||(e=>(0,i.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){a&&a(e)}}),(0,t.useCopilotAction)({name:"show_product_card",description:"product card",parameters:[{sku:"",handle:""}],render:h||(e=>(0,i.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(e){console.log("show_product_card-props",e)}}),(0,t.useCopilotAction)({name:"signup",description:"signup",parameters:[{name:"signup"}],render:y||(e=>(0,i.jsx)("div",{className:"hidden",children:JSON.stringify(e)})),handler:function(){}}),(0,t.useCopilotReadable)({description:"Today's date",value:new Date().toLocaleDateString()}),(0,i.jsx)("div",{children:f})};
2
2
  //# sourceMappingURL=action.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/chat/action.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { useEffect } from 'react'\nimport { useCopilotChat, useCopilotAction, useCopilotReadable } from '@copilotkit/react-core'\nimport { Role, ActionExecutionMessage, TextMessage } from '@copilotkit/runtime-client-gql'\n\ninterface Message {\n content: string\n role: string\n name?: string\n scope?: any\n arguments?: any\n}\n\nexport interface ActionProps {\n start?: string\n history: Message[]\n addtocartHandler?: (_args: any) => Promise<any>\n commonRender?: string | ((_props: any) => React.ReactElement)\n pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement)\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n signupRender?: string | ((_props: any) => React.ReactElement)\n productRender?: string | ((_props: any) => React.ReactElement)\n productRenderTipMessage?: string\n children?: React.ReactNode\n}\n\nexport const CopilotAction = ({\n start,\n history,\n addtocartHandler,\n commonRender,\n pointsExchangeCouponRender,\n gotocheckoutRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n children,\n}: ActionProps) => {\n const { setMessages, appendMessage, isLoading } = useCopilotChat()\n\n useEffect(() => {\n const originhistory = history?.filter(value => value?.content || value?.arguments)\n if (originhistory?.length > 0) {\n const content = originhistory?.map(value => {\n if (value?.name && value?.arguments) {\n const args = value?.arguments?.map((item: any) => (item ? { ...item, ishistory: true } : {}))\n return new ActionExecutionMessage({\n name: value?.name,\n arguments: args,\n scope: value?.scope,\n })\n }\n return new TextMessage({\n ...value,\n role: value?.role === 'user' ? Role.User : Role.Assistant,\n })\n })\n setMessages(content)\n }\n }, [history])\n\n useCopilotAction({\n name: 'go_to_checkout',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocheckoutRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'common_action',\n description: 'common action',\n parameters: [{ act: '' }] as any,\n render: commonRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('common_action', props)\n },\n })\n\n useCopilotAction({\n name: 'points_exchange_coupon',\n description: 'points exchange coupon',\n parameters: [{ act: '' }] as any,\n render: pointsExchangeCouponRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('points_exchange_coupon', props)\n },\n })\n\n useCopilotAction({\n name: 'go_to_cart',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'add_to_cart',\n description: 'add to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: addtocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n addtocartHandler && addtocartHandler(props)\n },\n })\n\n useCopilotAction({\n name: 'show_product_card',\n description: 'product card',\n parameters: [{ sku: '', handle: '' }] as any,\n render: productRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n console.log('show_product_card-props', props)\n // const ishistory = props?.find((item: { ishistory: any }) => item?.ishistory)\n // if (!ishistory) {\n // const content = new TextMessage({\n // content: 'show product card',\n // role: Role.Assistant,\n // })\n // appendMessage(content)\n // }\n },\n })\n\n useCopilotAction({\n name: 'signup',\n description: 'signup',\n parameters: [\n {\n name: 'signup',\n },\n ] as any,\n render: signupRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('signup-props', props)\n },\n })\n\n useCopilotReadable({\n description: \"Today's date\",\n value: new Date().toLocaleDateString(),\n })\n\n return <div>{children}</div>\n}\n"],
5
- "mappings": "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",
6
- "names": ["action_exports", "__export", "CopilotAction", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_runtime_client_gql", "start", "history", "addtocartHandler", "commonRender", "pointsExchangeCouponRender", "gotocheckoutRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "children", "setMessages", "appendMessage", "isLoading", "originhistory", "value", "content", "args", "item", "props"]
4
+ "sourcesContent": ["import React from 'react'\nimport { useEffect } from 'react'\nimport { useCopilotChat, useCopilotAction, useCopilotReadable } from '@copilotkit/react-core'\nimport { Role, ActionExecutionMessage, TextMessage } from '@copilotkit/runtime-client-gql'\n\ninterface Message {\n content: string\n role: string\n name?: string\n scope?: any\n arguments?: any\n}\n\nexport interface ActionProps {\n start?: string\n history: Message[]\n addtocartHandler?: (_args: any) => Promise<any>\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n signupRender?: string | ((_props: any) => React.ReactElement)\n productRender?: string | ((_props: any) => React.ReactElement)\n productRenderTipMessage?: string\n children?: React.ReactNode\n}\n\nexport const CopilotAction = ({\n start,\n history,\n addtocartHandler,\n gotocheckoutRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n children,\n}: ActionProps) => {\n const { setMessages, appendMessage, isLoading } = useCopilotChat()\n\n useEffect(() => {\n const originhistory = history?.filter(value => value?.content || value?.arguments)\n if (originhistory?.length > 0) {\n const content = originhistory?.map(value => {\n if (value?.name && value?.arguments) {\n const args = value?.arguments?.map((item: any) => (item ? { ...item, ishistory: true } : {}))\n return new ActionExecutionMessage({\n name: value?.name,\n arguments: args,\n scope: value?.scope,\n })\n }\n return new TextMessage({\n ...value,\n role: value?.role === 'user' ? Role.User : Role.Assistant,\n })\n })\n setMessages(content)\n }\n }, [history])\n\n useCopilotAction({\n name: 'go_to_checkout',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocheckoutRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'go_to_cart',\n description: 'go to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: gotocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('buynow-props', props)\n },\n })\n\n useCopilotAction({\n name: 'add_to_cart',\n description: 'add to cart',\n parameters: [{ sku: '', handle: '' }] as any,\n render: addtocartRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n addtocartHandler && addtocartHandler(props)\n },\n })\n\n useCopilotAction({\n name: 'show_product_card',\n description: 'product card',\n parameters: [{ sku: '', handle: '' }] as any,\n render: productRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function (props) {\n console.log('show_product_card-props', props)\n // const ishistory = props?.find((item: { ishistory: any }) => item?.ishistory)\n // if (!ishistory) {\n // const content = new TextMessage({\n // content: 'show product card',\n // role: Role.Assistant,\n // })\n // appendMessage(content)\n // }\n },\n })\n\n useCopilotAction({\n name: 'signup',\n description: 'signup',\n parameters: [\n {\n name: 'signup',\n },\n ] as any,\n render: signupRender || (props => <div className=\"hidden\">{JSON.stringify(props)}</div>),\n handler: function () {\n // console.log('signup-props', props)\n },\n })\n\n useCopilotReadable({\n description: \"Today's date\",\n value: new Date().toLocaleDateString(),\n })\n\n return <div>{children}</div>\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,GAgE4C,IAAAI,EAAA,6BAhE5CC,EAAkB,iBAClBA,EAA0B,iBAC1BC,EAAqE,kCACrEC,EAA0D,0CAuBnD,MAAML,EAAgB,CAAC,CAC5B,MAAAM,EACA,QAAAC,EACA,iBAAAC,EACA,mBAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,aAAAC,EACA,SAAAC,CACF,IAAmB,CACjB,KAAM,CAAE,YAAAC,EAAa,cAAAC,EAAe,UAAAC,CAAU,KAAI,kBAAe,EAEjE,sBAAU,IAAM,CACd,MAAMC,EAAgBX,GAAS,OAAOY,GAASA,GAAO,SAAWA,GAAO,SAAS,EACjF,GAAID,GAAe,OAAS,EAAG,CAC7B,MAAME,EAAUF,GAAe,IAAIC,GAAS,CAC1C,GAAIA,GAAO,MAAQA,GAAO,UAAW,CACnC,MAAME,EAAOF,GAAO,WAAW,IAAKG,GAAeA,EAAO,CAAE,GAAGA,EAAM,UAAW,EAAK,EAAI,CAAC,CAAE,EAC5F,OAAO,IAAI,yBAAuB,CAChC,KAAMH,GAAO,KACb,UAAWE,EACX,MAAOF,GAAO,KAChB,CAAC,CACH,CACA,OAAO,IAAI,cAAY,CACrB,GAAGA,EACH,KAAMA,GAAO,OAAS,OAAS,OAAK,KAAO,OAAK,SAClD,CAAC,CACH,CAAC,EACDJ,EAAYK,CAAO,CACrB,CACF,EAAG,CAACb,CAAO,CAAC,KAEZ,oBAAiB,CACf,KAAM,iBACN,YAAa,aACb,WAAY,CAAC,CAAE,IAAK,GAAI,OAAQ,EAAG,CAAC,EACpC,OAAQE,IAAuBc,MAAS,OAAC,OAAI,UAAU,SAAU,cAAK,UAAUA,CAAK,EAAE,GACvF,QAAS,UAAY,CAErB,CACF,CAAC,KAED,oBAAiB,CACf,KAAM,aACN,YAAa,aACb,WAAY,CAAC,CAAE,IAAK,GAAI,OAAQ,EAAG,CAAC,EACpC,OAAQb,IAAmBa,MAAS,OAAC,OAAI,UAAU,SAAU,cAAK,UAAUA,CAAK,EAAE,GACnF,QAAS,UAAY,CAErB,CACF,CAAC,KAED,oBAAiB,CACf,KAAM,cACN,YAAa,cACb,WAAY,CAAC,CAAE,IAAK,GAAI,OAAQ,EAAG,CAAC,EACpC,OAAQZ,IAAoBY,MAAS,OAAC,OAAI,UAAU,SAAU,cAAK,UAAUA,CAAK,EAAE,GACpF,QAAS,SAAUA,EAAO,CACxBf,GAAoBA,EAAiBe,CAAK,CAC5C,CACF,CAAC,KAED,oBAAiB,CACf,KAAM,oBACN,YAAa,eACb,WAAY,CAAC,CAAE,IAAK,GAAI,OAAQ,EAAG,CAAC,EACpC,OAAQX,IAAkBW,MAAS,OAAC,OAAI,UAAU,SAAU,cAAK,UAAUA,CAAK,EAAE,GAClF,QAAS,SAAUA,EAAO,CACxB,QAAQ,IAAI,0BAA2BA,CAAK,CAS9C,CACF,CAAC,KAED,oBAAiB,CACf,KAAM,SACN,YAAa,SACb,WAAY,CACV,CACE,KAAM,QACR,CACF,EACA,OAAQV,IAAiBU,MAAS,OAAC,OAAI,UAAU,SAAU,cAAK,UAAUA,CAAK,EAAE,GACjF,QAAS,UAAY,CAErB,CACF,CAAC,KAED,sBAAmB,CACjB,YAAa,eACb,MAAO,IAAI,KAAK,EAAE,mBAAmB,CACvC,CAAC,KAEM,OAAC,OAAK,SAAAT,EAAS,CACxB",
6
+ "names": ["action_exports", "__export", "CopilotAction", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_runtime_client_gql", "start", "history", "addtocartHandler", "gotocheckoutRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "children", "setMessages", "appendMessage", "isLoading", "originhistory", "value", "content", "args", "item", "props"]
7
7
  }
@@ -23,16 +23,6 @@ export interface ChatProps {
23
23
  * unfollow: ResponseButton 在聊天框底部
24
24
  */
25
25
  showResponseButton?: string | boolean;
26
- /** messages 的回调事件
27
- * 每次生成/接受新的messages,会将 整个 messages list 传递给外部
28
- */
29
- messagesCallback?: (_messages: any) => void;
30
- /** 通用 action 的触发事件
31
- */
32
- commonRender?: string | ((_props: any) => React.ReactElement);
33
- /** 通用 积分 换 Coupon 的触发事件
34
- */
35
- pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement);
36
26
  /** 跳转 checkout action 卡片,接受参数: {"status":"complete","args":[{"sku":["A3936031"],"handle":"space-a40-a3936031"}],"result":""}
37
27
  * 后端接口文档:https://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb
38
28
  */
@@ -1,2 +1,2 @@
1
- "use strict";var st=Object.create;var f=Object.defineProperty;var nt=Object.getOwnPropertyDescriptor;var rt=Object.getOwnPropertyNames;var at=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var pt=(e,s)=>{for(var n in s)f(e,n,{get:s[n],enumerable:!0})},B=(e,s,n,p)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of rt(s))!it.call(e,a)&&a!==n&&f(e,a,{get:()=>s[a],enumerable:!(p=nt(s,a))||p.enumerable});return e};var g=(e,s,n)=>(n=e!=null?st(at(e)):{},B(s||!e||!e.__esModule?f(n,"default",{value:e,enumerable:!0}):n,e)),ct=e=>B(f({},"__esModule",{value:!0}),e);var gt={};pt(gt,{default:()=>lt});module.exports=ct(gt);var o=require("react/jsx-runtime"),w=require("react"),r=require("react"),x=require("@copilotkit/react-core"),O=require("@copilotkit/react-ui"),v=g(require("./button.js")),S=g(require("./messages.js")),M=g(require("./response.js")),$=g(require("./suggestions.js")),q=require("./action.js"),E=g(require("../../helpers/fetcher.js"));const ut=e=>{const{title:s,runtimeUrl:n,popup:p,shopifyDomain:a,userId:c="",account:d="",prologue:D="",locale:m="",query:u="",messagesCallback:K,showResponseButton:_,gotocheckoutRender:N,commonRender:H,pointsExchangeCouponRender:I,gotocartRender:U,addtocartRender:G,productRender:A,signupRender:F,addtocartHandler:L,style:z,className:J="",lang:R}=e,[Q,V]=R?.popupTipTimeout||[3e3,6e3],[P,h]=(0,r.useState)(!1),[y,W]=(0,r.useState)(!1),[l,X]=(0,r.useState)(D),[Y,C]=(0,r.useState)([]),[k,Z]=(0,r.useState)([]),T=(0,w.useMemo)(()=>({"x-user-id":c||"","x-shopify-domain":a,"x-member-ship":d,"x-user-locale":m}),[c,a,d,m]),j=(0,r.useCallback)(async()=>{const t=await(0,E.default)({url:`${n}/copilotkit/start${u}`,method:"GET",headers:T});C(t?.suggested_questions?.map(i=>({message:i,title:i}))||[]),X(t?.opening_statement||""),Z(t?.history||[])},[c,a,d,m,u]),tt=(0,r.useCallback)(async()=>{const t=await(0,E.default)({url:`${n}/copilotkit/suggested_questions${u}`,method:"GET",headers:T});C(t?.suggested_questions?.data?.map(i=>({message:i,title:i}))||[])},[c,a,d,m,u]),et=()=>{P||h(!0),setTimeout(()=>{h(!1)},V)};return(0,r.useEffect)(()=>{const t=setTimeout(()=>{et()},Q);return()=>{clearTimeout(t)}},[]),(0,o.jsx)("div",{className:J,style:z||{},children:c&&n&&(0,o.jsx)(x.CopilotKit,{runtimeUrl:`${n}/copilotkit/chat${u}`,showDevConsole:!1,headers:T,children:(0,o.jsx)(O.CopilotPopup,{...p,showResponseButton:_!=="follow",labels:{title:s||"DTC Live Chat",initial:l||""},instructions:l||"",onInProgress:t=>{y&&t&&C([]),y&&!t&&tt()},Messages:({messages:t,inProgress:i})=>(0,o.jsx)(S.default,{messages:t,inProgress:i,messagesCallback:K,ResponseButton:_==="follow"?(0,o.jsx)(M.default,{}):void 0,children:(0,o.jsx)($.default,{currentSuggestions:Y})}),Button:({open:t,setOpen:i})=>{const ot=p?.Button||v.default;(0,r.useEffect)(()=>{W(t)},[t]);const b=(0,r.useCallback)(()=>{i(!t),h(!1),(!l||!k?.length)&&j()},[l]);return(0,o.jsxs)(o.Fragment,{children:[R?.popupTip&&P&&!y&&(0,o.jsx)("div",{className:"copilotKitPopup copilotKitPopupTip",children:(0,o.jsx)("button",{onClick:b,"aria-label":"Open Chat",className:"copilotKitPopupTipContent",children:R?.popupTip})}),(0,o.jsx)(ot,{open:t,setOpen:b})]})},children:(0,o.jsx)(q.CopilotAction,{start:l,history:k,commonRender:H,pointsExchangeCouponRender:I,gotocartRender:U,gotocheckoutRender:N,addtocartRender:G,signupRender:F,productRender:A,addtocartHandler:L,productRenderTipMessage:R?.productRenderTipMessage})})})})};var lt=ut;
1
+ "use strict";var tt=Object.create;var R=Object.defineProperty;var et=Object.getOwnPropertyDescriptor;var ot=Object.getOwnPropertyNames;var st=Object.getPrototypeOf,nt=Object.prototype.hasOwnProperty;var rt=(e,s)=>{for(var n in s)R(e,n,{get:s[n],enumerable:!0})},E=(e,s,n,p)=>{if(s&&typeof s=="object"||typeof s=="function")for(let i of ot(s))!nt.call(e,i)&&i!==n&&R(e,i,{get:()=>s[i],enumerable:!(p=et(s,i))||p.enumerable});return e};var l=(e,s,n)=>(n=e!=null?tt(st(e)):{},E(s||!e||!e.__esModule?R(n,"default",{value:e,enumerable:!0}):n,e)),it=e=>E(R({},"__esModule",{value:!0}),e);var ut={};rt(ut,{default:()=>pt});module.exports=it(ut);var o=require("react/jsx-runtime"),O=require("react"),r=require("react"),b=require("@copilotkit/react-core"),S=require("@copilotkit/react-ui"),v=l(require("./button.js")),M=l(require("./messages.js")),$=l(require("./response.js")),q=l(require("./suggestions.js")),x=require("./action.js"),P=l(require("../../helpers/fetcher.js"));const at=e=>{const{title:s,runtimeUrl:n,popup:p,shopifyDomain:i,userId:u="",account:g="",prologue:D="",locale:d="",query:f="",showResponseButton:_,gotocheckoutRender:K,gotocartRender:N,addtocartRender:H,productRender:I,signupRender:U,addtocartHandler:G,style:A,className:F="",lang:m}=e,[L,z]=m?.popupTipTimeout||[3e3,6e3],[B,h]=(0,r.useState)(!1),[y,J]=(0,r.useState)(!1),[c,Q]=(0,r.useState)(D),[V,T]=(0,r.useState)([]),[k,W]=(0,r.useState)([]),C=(0,O.useMemo)(()=>({"x-user-id":u||"","x-shopify-domain":i,"x-member-ship":g,"x-user-locale":d}),[u,i,g,d]),X=(0,r.useCallback)(async()=>{const t=await(0,P.default)({url:`${n}/copilotkit/start${f}`,method:"GET",headers:C});T(t?.suggested_questions?.map(a=>({message:a,title:a}))||[]),Q(t?.opening_statement||""),W(t?.history||[])},[u,i,g,d]),Y=(0,r.useCallback)(async()=>{const t=await(0,P.default)({url:`${n}/copilotkit/suggested_questions${f}`,method:"GET",headers:C});T(t?.suggested_questions?.data?.map(a=>({message:a,title:a}))||[])},[u,i,g,d]),Z=()=>{B||h(!0),setTimeout(()=>{h(!1)},z)};return(0,r.useEffect)(()=>{const t=setTimeout(()=>{Z()},L);return()=>{clearTimeout(t)}},[]),(0,o.jsx)("div",{className:F,style:A||{},children:u&&n&&(0,o.jsx)(b.CopilotKit,{runtimeUrl:`${n}/copilotkit/chat${f}`,showDevConsole:!1,headers:C,children:(0,o.jsx)(S.CopilotPopup,{...p,showResponseButton:_!=="follow",labels:{title:s||"DTC Live Chat",initial:c||""},instructions:c||"",onInProgress:t=>{y&&t&&T([]),y&&!t&&Y()},Messages:({messages:t,inProgress:a})=>(0,o.jsx)(M.default,{messages:t,inProgress:a,ResponseButton:_==="follow"?(0,o.jsx)($.default,{}):void 0,children:(0,o.jsx)(q.default,{currentSuggestions:V})}),Button:({open:t,setOpen:a})=>{const j=p?.Button||v.default;(0,r.useEffect)(()=>{J(t)},[t]);const w=(0,r.useCallback)(()=>{a(!t),h(!1),(!c||!k?.length)&&X()},[c]);return(0,o.jsxs)(o.Fragment,{children:[m?.popupTip&&B&&!y&&(0,o.jsx)("div",{className:"copilotKitPopup copilotKitPopupTip",children:(0,o.jsx)("button",{onClick:w,"aria-label":"Open Chat",className:"copilotKitPopupTipContent",children:m?.popupTip})}),(0,o.jsx)(j,{open:t,setOpen:w})]})},children:(0,o.jsx)(x.CopilotAction,{start:c,history:k,gotocartRender:N,gotocheckoutRender:K,addtocartRender:H,signupRender:U,productRender:I,addtocartHandler:G,productRenderTipMessage:m?.productRenderTipMessage})})})})};var pt=at;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/chat/index.tsx"],
4
- "sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo } from 'react'\nimport { useCallback, useState, useEffect } from 'react'\nimport { CopilotKit } from '@copilotkit/react-core'\nimport { CopilotPopup } from '@copilotkit/react-ui'\nimport DefaultButton from './button.js'\nimport Messages from './messages.js'\nimport ResponseButton from './response.js'\nimport Suggestions from './suggestions.js'\nimport { CopilotAction } from './action.js'\nimport fetcher from '../../helpers/fetcher.js'\n\nexport interface ChatProps {\n title: string\n runtimeUrl: string\n shopifyDomain: string\n /** GA \u7684 client id\n */\n userId: string\n /** \u662F\u5426\u767B\u9646\u7528\u6237 0 or 1\n */\n account?: string\n /** \u7528\u6237\u6D4F\u89C8\u5668\u8BED\u8A00\n */\n locale?: string\n /** \u5F00\u573A\u767D\n */\n prologue?: string\n /** ?a=1&b=2\n */\n query?: string\n /** 'follow' or 'unfollow' | true or false\n * follow: ResponseButton \u4F1A\u8DDF\u968F\u5728 messages \u7684\u540E\u8FB9\n * unfollow: ResponseButton \u5728\u804A\u5929\u6846\u5E95\u90E8\n */\n showResponseButton?: string | boolean\n /** messages \u7684\u56DE\u8C03\u4E8B\u4EF6\n * \u6BCF\u6B21\u751F\u6210/\u63A5\u53D7\u65B0\u7684messages\uFF0C\u4F1A\u5C06 \u6574\u4E2A messages list \u4F20\u9012\u7ED9\u5916\u90E8\n */\n messagesCallback?: (_messages: any) => void\n /** \u901A\u7528 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n commonRender?: string | ((_props: any) => React.ReactElement)\n /** \u901A\u7528 \u79EF\u5206 \u6362 Coupon \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement)\n /** \u8DF3\u8F6C checkout action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n addtocartHandler?: (_args: any) => Promise<any>\n /** \u52A0\u8D2D\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u8BA2\u9605\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n signupRender?: string | ((_props: any) => React.ReactElement)\n /** \u4EA7\u54C1\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n productRender?: string | ((_props: any) => React.ReactElement)\n /** CopilotPopup \u81EA\u5B9A\u4E49\u53C2\u6570\uFF0C\u53C2\u8003\uFF1Ahttps://docs.copilotkit.ai/reference/components/CopilotPopup */\n popup?: any\n /** \u6587\u6848\uFF0C{\"productRenderTipMessage\": \"\",\"popupTip\": \"Hi ! Welcome to soundcore Innovations live chat\uFF01\", \"popupTipTimeout\": [3000, 6000]} */\n lang?: any\n /** \u53C2\u8003\u6B64\u6587\u6863\uFF1Ahttps://docs.copilotkit.ai/concepts/customize-look-and-feel */\n style?: any\n className?: string\n}\n\nconst Chat = (props: ChatProps) => {\n const {\n title,\n runtimeUrl,\n popup,\n shopifyDomain,\n userId = '',\n account = '',\n prologue = '',\n locale = '',\n query = '',\n messagesCallback,\n showResponseButton,\n gotocheckoutRender,\n commonRender,\n pointsExchangeCouponRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n addtocartHandler,\n style,\n className = '',\n lang,\n } = props\n const [autoTipOpen, autoTipClose] = lang?.popupTipTimeout || [3000, 6000]\n\n const [openTip, setOpenTip] = useState(false)\n const [openPopup, setOpenPopup] = useState(false)\n const [start, setstart] = useState(prologue)\n const [currentSuggestions, setCurrentSuggestions] = useState([])\n const [history, sethistory] = useState<[{ content: string; role: string }] | []>([])\n\n const headers = useMemo(\n () => ({\n 'x-user-id': userId || '',\n 'x-shopify-domain': shopifyDomain,\n 'x-member-ship': account,\n 'x-user-locale': locale,\n }),\n [userId, shopifyDomain, account, locale]\n )\n\n const getStart = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/start${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(result?.suggested_questions?.map((item: string) => ({ message: item, title: item })) || [])\n setstart(result?.opening_statement || '')\n sethistory(result?.history || [])\n }, [userId, shopifyDomain, account, locale, query])\n\n const getSuggestions = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/suggested_questions${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(\n result?.suggested_questions?.data?.map((item: string) => ({ message: item, title: item })) || []\n )\n }, [userId, shopifyDomain, account, locale, query])\n\n const setOpenTipFn = () => {\n if (!openTip) setOpenTip(true)\n setTimeout(() => {\n setOpenTip(false)\n }, autoTipClose)\n }\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setOpenTipFn()\n }, autoTipOpen)\n\n return () => {\n clearTimeout(timer)\n }\n }, [])\n\n return (\n <div className={className} style={style || {}}>\n {userId && runtimeUrl && (\n <CopilotKit runtimeUrl={`${runtimeUrl}/copilotkit/chat${query}`} showDevConsole={false} headers={headers}>\n <CopilotPopup\n {...popup}\n showResponseButton={showResponseButton !== 'follow'}\n labels={{\n title: title || 'DTC Live Chat',\n initial: start || '',\n }}\n instructions={start || ''}\n onInProgress={load => {\n if (openPopup && load) setCurrentSuggestions([])\n if (openPopup && !load) getSuggestions()\n }}\n Messages={({ messages, inProgress }) => (\n <Messages\n messages={messages}\n inProgress={inProgress}\n messagesCallback={messagesCallback}\n ResponseButton={showResponseButton === 'follow' ? <ResponseButton /> : undefined}\n >\n <Suggestions currentSuggestions={currentSuggestions} />\n </Messages>\n )}\n Button={({ open, setOpen: setOpenDefault }) => {\n const Button = popup?.Button || DefaultButton\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setOpenPopup(open)\n }, [open])\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const setOpen = useCallback(() => {\n setOpenDefault(!open)\n setOpenTip(false)\n if (!start || !history?.length) getStart()\n }, [start])\n\n return (\n <>\n {lang?.popupTip && openTip && !openPopup && (\n <div className=\"copilotKitPopup copilotKitPopupTip\">\n <button onClick={setOpen} aria-label=\"Open Chat\" className=\"copilotKitPopupTipContent\">\n {lang?.popupTip}\n </button>\n </div>\n )}\n <Button open={open} setOpen={setOpen} />\n </>\n )\n }}\n >\n <CopilotAction\n start={start}\n history={history}\n commonRender={commonRender}\n pointsExchangeCouponRender={pointsExchangeCouponRender}\n gotocartRender={gotocartRender}\n gotocheckoutRender={gotocheckoutRender}\n addtocartRender={addtocartRender}\n signupRender={signupRender}\n productRender={productRender}\n addtocartHandler={addtocartHandler}\n productRenderTipMessage={lang?.productRenderTipMessage}\n />\n </CopilotPopup>\n </CopilotKit>\n )}\n </div>\n )\n}\n\nexport default Chat\n"],
5
- "mappings": "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",
6
- "names": ["chat_exports", "__export", "chat_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_react_ui", "import_button", "import_messages", "import_response", "import_suggestions", "import_action", "import_fetcher", "Chat", "props", "title", "runtimeUrl", "popup", "shopifyDomain", "userId", "account", "prologue", "locale", "query", "messagesCallback", "showResponseButton", "gotocheckoutRender", "commonRender", "pointsExchangeCouponRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "addtocartHandler", "style", "className", "lang", "autoTipOpen", "autoTipClose", "openTip", "setOpenTip", "openPopup", "setOpenPopup", "start", "setstart", "currentSuggestions", "setCurrentSuggestions", "history", "sethistory", "headers", "getStart", "result", "fetcher", "item", "getSuggestions", "setOpenTipFn", "timer", "load", "messages", "inProgress", "Messages", "ResponseButton", "Suggestions", "open", "setOpenDefault", "Button", "DefaultButton", "setOpen"]
4
+ "sourcesContent": ["/* eslint-disable react-hooks/exhaustive-deps */\nimport React, { useMemo } from 'react'\nimport { useCallback, useState, useEffect } from 'react'\nimport { CopilotKit } from '@copilotkit/react-core'\nimport { CopilotPopup } from '@copilotkit/react-ui'\nimport DefaultButton from './button.js'\nimport Messages from './messages.js'\nimport ResponseButton from './response.js'\nimport Suggestions from './suggestions.js'\nimport { CopilotAction } from './action.js'\nimport fetcher from '../../helpers/fetcher.js'\n\nexport interface ChatProps {\n title: string\n runtimeUrl: string\n shopifyDomain: string\n /** GA \u7684 client id\n */\n userId: string\n /** \u662F\u5426\u767B\u9646\u7528\u6237 0 or 1\n */\n account?: string\n /** \u7528\u6237\u6D4F\u89C8\u5668\u8BED\u8A00\n */\n locale?: string\n /** \u5F00\u573A\u767D\n */\n prologue?: string\n /** ?a=1&b=2\n */\n query?: string\n /** 'follow' or 'unfollow' | true or false\n * follow: ResponseButton \u4F1A\u8DDF\u968F\u5728 messages \u7684\u540E\u8FB9\n * unfollow: ResponseButton \u5728\u804A\u5929\u6846\u5E95\u90E8\n */\n showResponseButton?: string | boolean\n /** \u8DF3\u8F6C checkout action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocheckoutRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n gotocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u6253\u5F00\u8D2D\u7269\u8F66 action \u7684\u89E6\u53D1\u4E8B\u4EF6\n */\n addtocartHandler?: (_args: any) => Promise<any>\n /** \u52A0\u8D2D\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n addtocartRender?: string | ((_props: any) => React.ReactElement)\n /** \u8BA2\u9605\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n signupRender?: string | ((_props: any) => React.ReactElement)\n /** \u4EA7\u54C1\u5361\u7247\uFF0C\u63A5\u53D7\u53C2\u6570\uFF1A {\"status\":\"complete\",\"args\":[{\"sku\":[\"A3936031\"],\"handle\":\"space-a40-a3936031\"}],\"result\":\"\"}\n * \u540E\u7AEF\u63A5\u53E3\u6587\u6863\uFF1Ahttps://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb\n */\n productRender?: string | ((_props: any) => React.ReactElement)\n /** CopilotPopup \u81EA\u5B9A\u4E49\u53C2\u6570\uFF0C\u53C2\u8003\uFF1Ahttps://docs.copilotkit.ai/reference/components/CopilotPopup */\n popup?: any\n /** \u6587\u6848\uFF0C{\"productRenderTipMessage\": \"\",\"popupTip\": \"Hi ! Welcome to soundcore Innovations live chat\uFF01\", \"popupTipTimeout\": [3000, 6000]} */\n lang?: any\n /** \u53C2\u8003\u6B64\u6587\u6863\uFF1Ahttps://docs.copilotkit.ai/concepts/customize-look-and-feel */\n style?: any\n className?: string\n}\n\nconst Chat = (props: ChatProps) => {\n const {\n title,\n runtimeUrl,\n popup,\n shopifyDomain,\n userId = '',\n account = '',\n prologue = '',\n locale = '',\n query = '',\n showResponseButton,\n gotocheckoutRender,\n gotocartRender,\n addtocartRender,\n productRender,\n signupRender,\n addtocartHandler,\n style,\n className = '',\n lang,\n } = props\n const [autoTipOpen, autoTipClose] = lang?.popupTipTimeout || [3000, 6000]\n\n const [openTip, setOpenTip] = useState(false)\n const [openPopup, setOpenPopup] = useState(false)\n const [start, setstart] = useState(prologue)\n const [currentSuggestions, setCurrentSuggestions] = useState([])\n const [history, sethistory] = useState<[{ content: string; role: string }] | []>([])\n\n const headers = useMemo(\n () => ({\n 'x-user-id': userId || '',\n 'x-shopify-domain': shopifyDomain,\n 'x-member-ship': account,\n 'x-user-locale': locale,\n }),\n [userId, shopifyDomain, account, locale]\n )\n\n const getStart = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/start${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(result?.suggested_questions?.map((item: string) => ({ message: item, title: item })) || [])\n setstart(result?.opening_statement || '')\n sethistory(result?.history || [])\n }, [userId, shopifyDomain, account, locale])\n\n const getSuggestions = useCallback(async () => {\n const result = await fetcher({\n url: `${runtimeUrl}/copilotkit/suggested_questions${query}`,\n method: 'GET',\n headers,\n })\n\n setCurrentSuggestions(\n result?.suggested_questions?.data?.map((item: string) => ({ message: item, title: item })) || []\n )\n }, [userId, shopifyDomain, account, locale])\n\n const setOpenTipFn = () => {\n if (!openTip) setOpenTip(true)\n setTimeout(() => {\n setOpenTip(false)\n }, autoTipClose)\n }\n\n useEffect(() => {\n const timer = setTimeout(() => {\n setOpenTipFn()\n }, autoTipOpen)\n\n return () => {\n clearTimeout(timer)\n }\n }, [])\n\n return (\n <div className={className} style={style || {}}>\n {userId && runtimeUrl && (\n <CopilotKit runtimeUrl={`${runtimeUrl}/copilotkit/chat${query}`} showDevConsole={false} headers={headers}>\n <CopilotPopup\n {...popup}\n showResponseButton={showResponseButton !== 'follow'}\n labels={{\n title: title || 'DTC Live Chat',\n initial: start || '',\n }}\n instructions={start || ''}\n onInProgress={load => {\n if (openPopup && load) setCurrentSuggestions([])\n if (openPopup && !load) getSuggestions()\n }}\n Messages={({ messages, inProgress }) => (\n <Messages\n messages={messages}\n inProgress={inProgress}\n ResponseButton={showResponseButton === 'follow' ? <ResponseButton /> : undefined}\n >\n <Suggestions currentSuggestions={currentSuggestions} />\n </Messages>\n )}\n Button={({ open, setOpen: setOpenDefault }) => {\n const Button = popup?.Button || DefaultButton\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(() => {\n setOpenPopup(open)\n }, [open])\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const setOpen = useCallback(() => {\n setOpenDefault(!open)\n setOpenTip(false)\n if (!start || !history?.length) getStart()\n }, [start])\n\n return (\n <>\n {lang?.popupTip && openTip && !openPopup && (\n <div className=\"copilotKitPopup copilotKitPopupTip\">\n <button onClick={setOpen} aria-label=\"Open Chat\" className=\"copilotKitPopupTipContent\">\n {lang?.popupTip}\n </button>\n </div>\n )}\n <Button open={open} setOpen={setOpen} />\n </>\n )\n }}\n >\n <CopilotAction\n start={start}\n history={history}\n gotocartRender={gotocartRender}\n gotocheckoutRender={gotocheckoutRender}\n addtocartRender={addtocartRender}\n signupRender={signupRender}\n productRender={productRender}\n addtocartHandler={addtocartHandler}\n productRenderTipMessage={lang?.productRenderTipMessage}\n />\n </CopilotPopup>\n </CopilotKit>\n )}\n </div>\n )\n}\n\nexport default Chat\n"],
5
+ "mappings": "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",
6
+ "names": ["chat_exports", "__export", "chat_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_react_ui", "import_button", "import_messages", "import_response", "import_suggestions", "import_action", "import_fetcher", "Chat", "props", "title", "runtimeUrl", "popup", "shopifyDomain", "userId", "account", "prologue", "locale", "query", "showResponseButton", "gotocheckoutRender", "gotocartRender", "addtocartRender", "productRender", "signupRender", "addtocartHandler", "style", "className", "lang", "autoTipOpen", "autoTipClose", "openTip", "setOpenTip", "openPopup", "setOpenPopup", "start", "setstart", "currentSuggestions", "setCurrentSuggestions", "history", "sethistory", "headers", "getStart", "result", "fetcher", "item", "getSuggestions", "setOpenTipFn", "timer", "load", "messages", "inProgress", "Messages", "ResponseButton", "Suggestions", "open", "setOpenDefault", "Button", "DefaultButton", "setOpen"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var k=Object.create;var g=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var S=(t,s)=>{for(var o in s)g(t,o,{get:s[o],enumerable:!0})},A=(t,s,o,d)=>{if(s&&typeof s=="object"||typeof s=="function")for(let c of T(s))!H.call(t,c)&&c!==o&&g(t,c,{get:()=>s[c],enumerable:!(d=L(s,c))||d.enumerable});return t};var b=(t,s,o)=>(o=t!=null?k(w(t)):{},A(s||!t||!t.__esModule?g(o,"default",{value:t,enumerable:!0}):o,t)),B=t=>A(g({},"__esModule",{value:!0}),t);var q={};S(q,{default:()=>P});module.exports=B(q);var n=require("react/jsx-runtime"),r=b(require("react")),x=require("@copilotkit/react-ui"),N=require("./markdown.js"),C=require("@copilotkit/react-core"),i=require("@copilotkit/runtime-client-gql");const F=({messages:t,inProgress:s,ResponseButton:o,messagesCallback:d,children:c})=>{const[m,p]=(0,r.useState)(!0),{chatComponentsCache:y}=(0,C.useCopilotContext)(),u=(0,x.useChatContext)();t=[...(0,r.useMemo)(()=>D(u.labels.initial),[u.labels.initial]),...t];const R={};for(let e=0;e<t.length;e++)if(t[e]instanceof i.ActionExecutionMessage){const l=t[e].id,a=t.find(f=>f instanceof i.ResultMessage&&f.actionExecutionId===l);a&&(R[l]=i.ResultMessage.decodeResult(a.result||""))}const E=r.default.useRef(null),h=r.default.useRef(null),K=()=>{E.current&&E.current.scrollIntoView({behavior:"auto"})};return(0,r.useEffect)(()=>{K()},[t]),(0,r.useEffect)(()=>{d&&d(t)},[t]),(0,r.useEffect)(()=>{const e=document.querySelector(".copilotKitInput textarea");e&&e.addEventListener("click",function(){e.value&&document.activeElement===e?p(!1):(p(!0),K())}),e&&e.addEventListener("input",function(){e.value&&document.activeElement===e?p(!1):(p(!0),K())})},[]),(0,r.useEffect)(()=>{const e=h.current;m&&e?(e.style.maxHeight="500px",e.style.overflow="visible"):!m&&e&&(e.style.maxHeight="0",e.style.overflow="hidden")},[m]),(0,n.jsxs)("div",{className:"copilotKitMessages",children:[t.map((e,l)=>{const a=l===t.length-1;if(e instanceof i.TextMessage&&e.role==="user")return(0,n.jsx)("div",{className:"copilotKitMessage copilotKitUserMessage",children:e.content},l);if(e instanceof i.TextMessage&&e.role=="assistant")return(0,n.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:a&&s&&!e.content?u.icons.spinnerIcon:(0,n.jsx)(N.Markdown,{content:e.content})},l);if(e instanceof i.ActionExecutionMessage)if(y.current!==null&&y.current[e.name]){const f=y.current[e.name];if(typeof f=="string")return a&&s?(0,n.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[u.icons.spinnerIcon," ",(0,n.jsx)("span",{className:"inProgressLabel",children:f})]},l):null;{const I=e.arguments;let M="inProgress";R[e.id]!==void 0?M="complete":e.status.code!==i.MessageStatusCode.Pending&&(M="executing");const v=f({status:M,args:I,result:R[e.id]});return!v&&M==="complete"?null:typeof v=="string"?(0,n.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[a&&s&&u.icons.spinnerIcon," ",v]},l):(0,n.jsx)("div",{className:"copilotKitCustomAssistantMessage",children:v},l)}}else return!s||!a?null:(0,n.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:u.icons.spinnerIcon},l)}),(0,n.jsx)("div",{className:"responseButtonBox",children:o}),(0,n.jsx)("footer",{ref:E,children:(0,n.jsx)("div",{className:"copilotKitMessagesFooter",ref:h,children:c})})]})};function D(t){let s=[];return t&&(Array.isArray(t)?s.push(...t):s.push(t)),s.map(o=>new i.TextMessage({role:i.Role.Assistant,content:o}))}var P=F;
1
+ "use strict";var k=Object.create;var g=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var w=(t,s)=>{for(var o in s)g(t,o,{get:s[o],enumerable:!0})},h=(t,s,o,d)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of L(s))!b.call(t,a)&&a!==o&&g(t,a,{get:()=>s[a],enumerable:!(d=I(s,a))||d.enumerable});return t};var H=(t,s,o)=>(o=t!=null?k(T(t)):{},h(s||!t||!t.__esModule?g(o,"default",{value:t,enumerable:!0}):o,t)),S=t=>h(g({},"__esModule",{value:!0}),t);var P={};w(P,{default:()=>D});module.exports=S(P);var n=require("react/jsx-runtime"),r=H(require("react")),A=require("@copilotkit/react-ui"),x=require("./markdown.js"),C=require("@copilotkit/react-core"),i=require("@copilotkit/runtime-client-gql");const B=({messages:t,inProgress:s,ResponseButton:o,children:d})=>{const[a,p]=(0,r.useState)(!0),{chatComponentsCache:m}=(0,C.useCopilotContext)(),u=(0,A.useChatContext)();t=[...(0,r.useMemo)(()=>F(u.labels.initial),[u.labels.initial]),...t];const y={};for(let e=0;e<t.length;e++)if(t[e]instanceof i.ActionExecutionMessage){const l=t[e].id,c=t.find(f=>f instanceof i.ResultMessage&&f.actionExecutionId===l);c&&(y[l]=i.ResultMessage.decodeResult(c.result||""))}const R=r.default.useRef(null),K=r.default.useRef(null),E=()=>{R.current&&R.current.scrollIntoView({behavior:"auto"})};return(0,r.useEffect)(()=>{E()},[t]),(0,r.useEffect)(()=>{const e=document.querySelector(".copilotKitInput textarea");e&&e.addEventListener("click",function(){e.value&&document.activeElement===e?p(!1):(p(!0),E())}),e&&e.addEventListener("input",function(){e.value&&document.activeElement===e?p(!1):(p(!0),E())})},[]),(0,r.useEffect)(()=>{const e=K.current;a&&e?(e.style.maxHeight="500px",e.style.overflow="visible"):!a&&e&&(e.style.maxHeight="0",e.style.overflow="hidden")},[a]),(0,n.jsxs)("div",{className:"copilotKitMessages",children:[t.map((e,l)=>{const c=l===t.length-1;if(e instanceof i.TextMessage&&e.role==="user")return(0,n.jsx)("div",{className:"copilotKitMessage copilotKitUserMessage",children:e.content},l);if(e instanceof i.TextMessage&&e.role=="assistant")return(0,n.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:c&&s&&!e.content?u.icons.spinnerIcon:(0,n.jsx)(x.Markdown,{content:e.content})},l);if(e instanceof i.ActionExecutionMessage)if(m.current!==null&&m.current[e.name]){const f=m.current[e.name];if(typeof f=="string")return c&&s?(0,n.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[u.icons.spinnerIcon," ",(0,n.jsx)("span",{className:"inProgressLabel",children:f})]},l):null;{const N=e.arguments;let M="inProgress";y[e.id]!==void 0?M="complete":e.status.code!==i.MessageStatusCode.Pending&&(M="executing");const v=f({status:M,args:N,result:y[e.id]});return!v&&M==="complete"?null:typeof v=="string"?(0,n.jsxs)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:[c&&s&&u.icons.spinnerIcon," ",v]},l):(0,n.jsx)("div",{className:"copilotKitCustomAssistantMessage",children:v},l)}}else return!s||!c?null:(0,n.jsx)("div",{className:"copilotKitMessage copilotKitAssistantMessage",children:u.icons.spinnerIcon},l)}),(0,n.jsx)("div",{className:"responseButtonBox",children:o}),(0,n.jsx)("footer",{ref:R,children:(0,n.jsx)("div",{className:"copilotKitMessagesFooter",ref:K,children:d})})]})};function F(t){let s=[];return t&&(Array.isArray(t)?s.push(...t):s.push(t)),s.map(o=>new i.TextMessage({role:i.Role.Assistant,content:o}))}var D=B;
2
2
  //# sourceMappingURL=messages.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/chat/messages.tsx"],
4
- "sourcesContent": ["import React, { useEffect, useMemo, useState } from 'react'\nimport type { MessagesProps } from './props.js'\nimport { useChatContext } from '@copilotkit/react-ui'\nimport { Markdown } from './markdown.js'\nimport { type RenderFunctionStatus, useCopilotContext } from '@copilotkit/react-core'\nimport {\n MessageStatusCode,\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n Role,\n} from '@copilotkit/runtime-client-gql'\n\nconst Messages = ({ messages, inProgress, ResponseButton, messagesCallback, children }: MessagesProps) => {\n const [isExpanded, setIsExpanded] = useState(true)\n\n const { chatComponentsCache } = useCopilotContext()\n\n const context = useChatContext()\n const initialMessages = useMemo(() => makeInitialMessages(context.labels.initial), [context.labels.initial])\n messages = [...initialMessages, ...messages]\n\n const functionResults: Record<string, string> = {}\n\n for (let i = 0; i < messages.length; i++) {\n if (messages[i] instanceof ActionExecutionMessage) {\n const id = messages[i].id\n const resultMessage: ResultMessage | undefined = messages.find(\n message => message instanceof ResultMessage && message.actionExecutionId === id\n ) as ResultMessage | undefined\n\n if (resultMessage) {\n functionResults[id] = ResultMessage.decodeResult(resultMessage.result || '')\n }\n }\n }\n\n const messagesEndRef = React.useRef<HTMLDivElement>(null)\n const messagesEndChildRef = React.useRef<HTMLDivElement>(null)\n\n const scrollToBottom = () => {\n if (messagesEndRef.current) {\n messagesEndRef.current.scrollIntoView({\n behavior: 'auto',\n })\n }\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [messages])\n\n useEffect(() => {\n if (messagesCallback) messagesCallback(messages)\n }, [messages])\n\n useEffect(() => {\n const textarea = document.querySelector('.copilotKitInput textarea') as HTMLTextAreaElement\n\n textarea &&\n textarea.addEventListener('click', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n textarea &&\n textarea.addEventListener('input', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n }, [])\n\n useEffect(() => {\n const content = messagesEndChildRef.current\n if (isExpanded && content) {\n content.style.maxHeight = '500px'\n content.style.overflow = 'visible'\n } else if (!isExpanded && content) {\n content.style.maxHeight = '0'\n content.style.overflow = 'hidden'\n }\n }, [isExpanded])\n\n return (\n <div className=\"copilotKitMessages\">\n {messages.map((message, index) => {\n const isCurrentMessage = index === messages.length - 1\n\n if (message instanceof TextMessage && message.role === 'user') {\n return (\n <div key={index} className=\"copilotKitMessage copilotKitUserMessage\">\n {message.content}\n </div>\n )\n } else if (message instanceof TextMessage && message.role == 'assistant') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && !message.content ? (\n context.icons.spinnerIcon\n ) : (\n <Markdown content={message.content} />\n )}\n </div>\n )\n } else if (message instanceof ActionExecutionMessage) {\n if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {\n const render = chatComponentsCache.current[message.name]\n // render a static string\n if (typeof render === 'string') {\n // when render is static, we show it only when in progress\n if (isCurrentMessage && inProgress) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon} <span className=\"inProgressLabel\">{render}</span>\n </div>\n )\n }\n // Done - silent by default to avoid a series of \"done\" messages\n else {\n return null\n }\n }\n // render is a function\n else {\n const args = message.arguments\n\n let status: RenderFunctionStatus = 'inProgress'\n\n if (functionResults[message.id] !== undefined) {\n status = 'complete'\n } else if (message.status.code !== MessageStatusCode.Pending) {\n status = 'executing'\n }\n\n const toRender = render({\n status: status as any,\n args,\n result: functionResults[message.id],\n })\n\n // No result and complete: stay silent\n if (!toRender && status === 'complete') {\n return null\n }\n\n if (typeof toRender === 'string') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon} {toRender}\n </div>\n )\n } else {\n return (\n <div key={index} className=\"copilotKitCustomAssistantMessage\">\n {toRender}\n </div>\n )\n }\n }\n }\n // No render function found- show the default message\n else if (!inProgress || !isCurrentMessage) {\n // Done - silent by default to avoid a series of \"done\" messages\n return null\n } else {\n // In progress\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n )\n }\n }\n })}\n <div className=\"responseButtonBox\">{ResponseButton}</div>\n <footer ref={messagesEndRef}>\n <div className=\"copilotKitMessagesFooter\" ref={messagesEndChildRef}>\n {children}\n </div>\n </footer>\n </div>\n )\n}\n\nfunction makeInitialMessages(initial?: string | string[]): Message[] {\n let initialArray: string[] = []\n if (initial) {\n if (Array.isArray(initial)) {\n initialArray.push(...initial)\n } else {\n initialArray.push(initial)\n }\n }\n\n return initialArray.map(\n message =>\n new TextMessage({\n role: Role.Assistant,\n content: message,\n })\n )\n}\n\nexport default Messages\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAkGY,IAAAI,EAAA,6BAlGZC,EAAoD,oBAEpDC,EAA+B,gCAC/BC,EAAyB,yBACzBC,EAA6D,kCAC7DC,EAOO,0CAEP,MAAMC,EAAW,CAAC,CAAE,SAAAC,EAAU,WAAAC,EAAY,eAAAC,EAAgB,iBAAAC,EAAkB,SAAAC,CAAS,IAAqB,CACxG,KAAM,CAACC,EAAYC,CAAa,KAAI,YAAS,EAAI,EAE3C,CAAE,oBAAAC,CAAoB,KAAI,qBAAkB,EAE5CC,KAAU,kBAAe,EAE/BR,EAAW,CAAC,MADY,WAAQ,IAAMS,EAAoBD,EAAQ,OAAO,OAAO,EAAG,CAACA,EAAQ,OAAO,OAAO,CAAC,EAC3E,GAAGR,CAAQ,EAE3C,MAAMU,EAA0C,CAAC,EAEjD,QAASC,EAAI,EAAGA,EAAIX,EAAS,OAAQW,IACnC,GAAIX,EAASW,CAAC,YAAa,yBAAwB,CACjD,MAAMC,EAAKZ,EAASW,CAAC,EAAE,GACjBE,EAA2Cb,EAAS,KACxDc,GAAWA,aAAmB,iBAAiBA,EAAQ,oBAAsBF,CAC/E,EAEIC,IACFH,EAAgBE,CAAE,EAAI,gBAAc,aAAaC,EAAc,QAAU,EAAE,EAE/E,CAGF,MAAME,EAAiB,EAAAC,QAAM,OAAuB,IAAI,EAClDC,EAAsB,EAAAD,QAAM,OAAuB,IAAI,EAEvDE,EAAiB,IAAM,CACvBH,EAAe,SACjBA,EAAe,QAAQ,eAAe,CACpC,SAAU,MACZ,CAAC,CAEL,EAEA,sBAAU,IAAM,CACdG,EAAe,CACjB,EAAG,CAAClB,CAAQ,CAAC,KAEb,aAAU,IAAM,CACVG,GAAkBA,EAAiBH,CAAQ,CACjD,EAAG,CAACA,CAAQ,CAAC,KAEb,aAAU,IAAM,CACd,MAAMmB,EAAW,SAAS,cAAc,2BAA2B,EAEnEA,GACEA,EAAS,iBAAiB,QAAS,UAAY,CACzCA,EAAS,OAAS,SAAS,gBAAkBA,EAC/Cb,EAAc,EAAK,GAEnBA,EAAc,EAAI,EAClBY,EAAe,EAEnB,CAAC,EACHC,GACEA,EAAS,iBAAiB,QAAS,UAAY,CACzCA,EAAS,OAAS,SAAS,gBAAkBA,EAC/Cb,EAAc,EAAK,GAEnBA,EAAc,EAAI,EAClBY,EAAe,EAEnB,CAAC,CACL,EAAG,CAAC,CAAC,KAEL,aAAU,IAAM,CACd,MAAME,EAAUH,EAAoB,QAChCZ,GAAce,GAChBA,EAAQ,MAAM,UAAY,QAC1BA,EAAQ,MAAM,SAAW,WAChB,CAACf,GAAce,IACxBA,EAAQ,MAAM,UAAY,IAC1BA,EAAQ,MAAM,SAAW,SAE7B,EAAG,CAACf,CAAU,CAAC,KAGb,QAAC,OAAI,UAAU,qBACZ,UAAAL,EAAS,IAAI,CAACc,EAASO,IAAU,CAChC,MAAMC,EAAmBD,IAAUrB,EAAS,OAAS,EAErD,GAAIc,aAAmB,eAAeA,EAAQ,OAAS,OACrD,SACE,OAAC,OAAgB,UAAU,0CACxB,SAAAA,EAAQ,SADDO,CAEV,EAEG,GAAIP,aAAmB,eAAeA,EAAQ,MAAQ,YAC3D,SACE,OAAC,OAAgB,UAAW,+CACzB,SAAAQ,GAAoBrB,GAAc,CAACa,EAAQ,QAC1CN,EAAQ,MAAM,eAEd,OAAC,YAAS,QAASM,EAAQ,QAAS,GAJ9BO,CAMV,EAEG,GAAIP,aAAmB,yBAC5B,GAAIP,EAAoB,UAAY,MAAQA,EAAoB,QAAQO,EAAQ,IAAI,EAAG,CACrF,MAAMS,EAAShB,EAAoB,QAAQO,EAAQ,IAAI,EAEvD,GAAI,OAAOS,GAAW,SAEpB,OAAID,GAAoBrB,KAEpB,QAAC,OAAgB,UAAW,+CACzB,UAAAO,EAAQ,MAAM,YAAY,OAAC,OAAC,QAAK,UAAU,kBAAmB,SAAAe,EAAO,IAD9DF,CAEV,EAKK,KAIN,CACH,MAAMG,EAAOV,EAAQ,UAErB,IAAIW,EAA+B,aAE/Bf,EAAgBI,EAAQ,EAAE,IAAM,OAClCW,EAAS,WACAX,EAAQ,OAAO,OAAS,oBAAkB,UACnDW,EAAS,aAGX,MAAMC,EAAWH,EAAO,CACtB,OAAQE,EACR,KAAAD,EACA,OAAQd,EAAgBI,EAAQ,EAAE,CACpC,CAAC,EAGD,MAAI,CAACY,GAAYD,IAAW,WACnB,KAGL,OAAOC,GAAa,YAEpB,QAAC,OAAgB,UAAW,+CACzB,UAAAJ,GAAoBrB,GAAcO,EAAQ,MAAM,YAAY,IAAEkB,IADvDL,CAEV,KAIA,OAAC,OAAgB,UAAU,mCACxB,SAAAK,GADOL,CAEV,CAGN,CACF,KAEK,OAAI,CAACpB,GAAc,CAACqB,EAEhB,QAIL,OAAC,OAAgB,UAAW,+CACzB,SAAAd,EAAQ,MAAM,aADPa,CAEV,CAIR,CAAC,KACD,OAAC,OAAI,UAAU,oBAAqB,SAAAnB,EAAe,KACnD,OAAC,UAAO,IAAKa,EACX,mBAAC,OAAI,UAAU,2BAA2B,IAAKE,EAC5C,SAAAb,EACH,EACF,GACF,CAEJ,EAEA,SAASK,EAAoBkB,EAAwC,CACnE,IAAIC,EAAyB,CAAC,EAC9B,OAAID,IACE,MAAM,QAAQA,CAAO,EACvBC,EAAa,KAAK,GAAGD,CAAO,EAE5BC,EAAa,KAAKD,CAAO,GAItBC,EAAa,IAClBd,GACE,IAAI,cAAY,CACd,KAAM,OAAK,UACX,QAASA,CACX,CAAC,CACL,CACF,CAEA,IAAOvB,EAAQQ",
6
- "names": ["messages_exports", "__export", "messages_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_ui", "import_markdown", "import_react_core", "import_runtime_client_gql", "Messages", "messages", "inProgress", "ResponseButton", "messagesCallback", "children", "isExpanded", "setIsExpanded", "chatComponentsCache", "context", "makeInitialMessages", "functionResults", "i", "id", "resultMessage", "message", "messagesEndRef", "React", "messagesEndChildRef", "scrollToBottom", "textarea", "content", "index", "isCurrentMessage", "render", "args", "status", "toRender", "initial", "initialArray"]
4
+ "sourcesContent": ["import React, { useEffect, useMemo, useState } from 'react'\nimport type { MessagesProps } from './props.js'\nimport { useChatContext } from '@copilotkit/react-ui'\nimport { Markdown } from './markdown.js'\nimport { type RenderFunctionStatus, useCopilotContext } from '@copilotkit/react-core'\nimport {\n MessageStatusCode,\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n Role,\n} from '@copilotkit/runtime-client-gql'\n\nconst Messages = ({ messages, inProgress, ResponseButton, children }: MessagesProps) => {\n const [isExpanded, setIsExpanded] = useState(true)\n\n const { chatComponentsCache } = useCopilotContext()\n\n const context = useChatContext()\n const initialMessages = useMemo(() => makeInitialMessages(context.labels.initial), [context.labels.initial])\n messages = [...initialMessages, ...messages]\n\n const functionResults: Record<string, string> = {}\n\n for (let i = 0; i < messages.length; i++) {\n if (messages[i] instanceof ActionExecutionMessage) {\n const id = messages[i].id\n const resultMessage: ResultMessage | undefined = messages.find(\n message => message instanceof ResultMessage && message.actionExecutionId === id\n ) as ResultMessage | undefined\n\n if (resultMessage) {\n functionResults[id] = ResultMessage.decodeResult(resultMessage.result || '')\n }\n }\n }\n\n const messagesEndRef = React.useRef<HTMLDivElement>(null)\n const messagesEndChildRef = React.useRef<HTMLDivElement>(null)\n\n const scrollToBottom = () => {\n if (messagesEndRef.current) {\n messagesEndRef.current.scrollIntoView({\n behavior: 'auto',\n })\n }\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [messages])\n\n useEffect(() => {\n const textarea = document.querySelector('.copilotKitInput textarea') as HTMLTextAreaElement\n\n textarea &&\n textarea.addEventListener('click', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n textarea &&\n textarea.addEventListener('input', function () {\n if (textarea.value && document.activeElement === textarea) {\n setIsExpanded(false)\n } else {\n setIsExpanded(true)\n scrollToBottom()\n }\n })\n }, [])\n\n useEffect(() => {\n const content = messagesEndChildRef.current\n if (isExpanded && content) {\n content.style.maxHeight = '500px'\n content.style.overflow = 'visible'\n } else if (!isExpanded && content) {\n content.style.maxHeight = '0'\n content.style.overflow = 'hidden'\n }\n }, [isExpanded])\n\n return (\n <div className=\"copilotKitMessages\">\n {messages.map((message, index) => {\n const isCurrentMessage = index === messages.length - 1\n\n if (message instanceof TextMessage && message.role === 'user') {\n return (\n <div key={index} className=\"copilotKitMessage copilotKitUserMessage\">\n {message.content}\n </div>\n )\n } else if (message instanceof TextMessage && message.role == 'assistant') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && !message.content ? (\n context.icons.spinnerIcon\n ) : (\n <Markdown content={message.content} />\n )}\n </div>\n )\n } else if (message instanceof ActionExecutionMessage) {\n if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {\n const render = chatComponentsCache.current[message.name]\n // render a static string\n if (typeof render === 'string') {\n // when render is static, we show it only when in progress\n if (isCurrentMessage && inProgress) {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon} <span className=\"inProgressLabel\">{render}</span>\n </div>\n )\n }\n // Done - silent by default to avoid a series of \"done\" messages\n else {\n return null\n }\n }\n // render is a function\n else {\n const args = message.arguments\n\n let status: RenderFunctionStatus = 'inProgress'\n\n if (functionResults[message.id] !== undefined) {\n status = 'complete'\n } else if (message.status.code !== MessageStatusCode.Pending) {\n status = 'executing'\n }\n\n const toRender = render({\n status: status as any,\n args,\n result: functionResults[message.id],\n })\n\n // No result and complete: stay silent\n if (!toRender && status === 'complete') {\n return null\n }\n\n if (typeof toRender === 'string') {\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {isCurrentMessage && inProgress && context.icons.spinnerIcon} {toRender}\n </div>\n )\n } else {\n return (\n <div key={index} className=\"copilotKitCustomAssistantMessage\">\n {toRender}\n </div>\n )\n }\n }\n }\n // No render function found- show the default message\n else if (!inProgress || !isCurrentMessage) {\n // Done - silent by default to avoid a series of \"done\" messages\n return null\n } else {\n // In progress\n return (\n <div key={index} className={`copilotKitMessage copilotKitAssistantMessage`}>\n {context.icons.spinnerIcon}\n </div>\n )\n }\n }\n })}\n <div className=\"responseButtonBox\">{ResponseButton}</div>\n <footer ref={messagesEndRef}>\n <div className=\"copilotKitMessagesFooter\" ref={messagesEndChildRef}>\n {children}\n </div>\n </footer>\n </div>\n )\n}\n\nfunction makeInitialMessages(initial?: string | string[]): Message[] {\n let initialArray: string[] = []\n if (initial) {\n if (Array.isArray(initial)) {\n initialArray.push(...initial)\n } else {\n initialArray.push(initial)\n }\n }\n\n return initialArray.map(\n message =>\n new TextMessage({\n role: Role.Assistant,\n content: message,\n })\n )\n}\n\nexport default Messages\n"],
5
+ "mappings": "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",
6
+ "names": ["messages_exports", "__export", "messages_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_ui", "import_markdown", "import_react_core", "import_runtime_client_gql", "Messages", "messages", "inProgress", "ResponseButton", "children", "isExpanded", "setIsExpanded", "chatComponentsCache", "context", "makeInitialMessages", "functionResults", "i", "id", "resultMessage", "message", "messagesEndRef", "React", "messagesEndChildRef", "scrollToBottom", "textarea", "content", "index", "isCurrentMessage", "render", "args", "status", "toRender", "initial", "initialArray"]
7
7
  }
@@ -30,7 +30,6 @@ export interface MessagesProps {
30
30
  inProgress: boolean;
31
31
  ResponseButton?: React.ReactElement;
32
32
  children?: React.ReactNode;
33
- messagesCallback?: (messages: any) => void;
34
33
  }
35
34
  export interface InputProps {
36
35
  inProgress: boolean;