@anker-in/campaign-ui 0.1.7 → 0.1.9
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.
- package/dist/cjs/components/animation/CodeEditor.d.ts +7 -0
- package/dist/cjs/components/animation/CodeEditor.js +2 -0
- package/dist/cjs/components/animation/CodeEditor.js.map +7 -0
- package/dist/cjs/components/animation/Preview.d.ts +5 -0
- package/dist/cjs/components/animation/Preview.js +2 -0
- package/dist/cjs/components/animation/Preview.js.map +7 -0
- package/dist/cjs/components/animation/bannerAni.d.ts +16 -0
- package/dist/cjs/components/animation/bannerAni.js +59 -0
- package/dist/cjs/components/animation/bannerAni.js.map +7 -0
- package/dist/cjs/components/animation/libs.d.js +2 -0
- package/dist/cjs/components/animation/libs.d.js.map +7 -0
- package/dist/cjs/components/animation/textAni.d.ts +9 -0
- package/dist/cjs/components/animation/textAni.js +2 -0
- package/dist/cjs/components/animation/textAni.js.map +7 -0
- package/dist/cjs/components/chat/Messages.d.ts +1 -1
- package/dist/cjs/components/chat/action.d.ts +1 -4
- package/dist/cjs/components/chat/action.js +1 -1
- package/dist/cjs/components/chat/action.js.map +3 -3
- package/dist/cjs/components/chat/index.d.ts +0 -13
- package/dist/cjs/components/chat/index.js +1 -1
- package/dist/cjs/components/chat/index.js.map +3 -3
- package/dist/cjs/components/chat/messages.js +1 -1
- package/dist/cjs/components/chat/messages.js.map +3 -3
- package/dist/cjs/components/chat/props.d.ts +0 -1
- package/dist/cjs/components/chat/props.js +1 -1
- package/dist/cjs/components/chat/props.js.map +1 -1
- package/dist/cjs/components/index.d.ts +0 -1
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/components/animation/CodeEditor.d.ts +7 -0
- package/dist/esm/components/animation/CodeEditor.js +2 -0
- package/dist/esm/components/animation/CodeEditor.js.map +7 -0
- package/dist/esm/components/animation/Preview.d.ts +5 -0
- package/dist/esm/components/animation/Preview.js +2 -0
- package/dist/esm/components/animation/Preview.js.map +7 -0
- package/dist/esm/components/animation/bannerAni.d.ts +16 -0
- package/dist/esm/components/animation/bannerAni.js +59 -0
- package/dist/esm/components/animation/bannerAni.js.map +7 -0
- package/dist/esm/components/animation/libs.d.js +2 -0
- package/dist/esm/components/animation/libs.d.js.map +7 -0
- package/dist/esm/components/animation/textAni.d.ts +9 -0
- package/dist/esm/components/animation/textAni.js +2 -0
- package/dist/esm/components/animation/textAni.js.map +7 -0
- package/dist/esm/components/chat/Messages.d.ts +1 -1
- package/dist/esm/components/chat/action.d.ts +1 -4
- package/dist/esm/components/chat/action.js +1 -1
- package/dist/esm/components/chat/action.js.map +3 -3
- package/dist/esm/components/chat/index.d.ts +0 -13
- package/dist/esm/components/chat/index.js +1 -1
- package/dist/esm/components/chat/index.js.map +3 -3
- package/dist/esm/components/chat/messages.js +1 -1
- package/dist/esm/components/chat/messages.js.map +3 -3
- package/dist/esm/components/chat/props.d.ts +0 -1
- package/dist/esm/components/chat/props.js.map +1 -1
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +3 -3
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -7
- package/src/components/chat/action.tsx +1 -41
- package/src/components/chat/index.tsx +4 -24
- package/src/components/chat/messages.tsx +1 -5
- package/src/components/chat/props.ts +0 -1
- package/src/components/index.ts +0 -10
- package/src/helpers/index.ts +2 -0
- package/src/helpers/utils.ts +8 -0
- package/src/components/chat/utils.ts +0 -4
|
@@ -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,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": "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",
|
|
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";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,
|
|
2
|
+
declare const Messages: ({ messages, inProgress, ResponseButton, children }: MessagesProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default Messages;
|
|
@@ -10,16 +10,13 @@ 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);
|
|
18
16
|
signupRender?: string | ((_props: any) => React.ReactElement);
|
|
19
|
-
shulexRender?: string | ((_props: any) => React.ReactElement);
|
|
20
17
|
productRender?: string | ((_props: any) => React.ReactElement);
|
|
21
18
|
productRenderTipMessage?: string;
|
|
22
19
|
children?: React.ReactNode;
|
|
23
20
|
}
|
|
24
|
-
export declare const CopilotAction: ({ start, history, addtocartHandler,
|
|
21
|
+
export declare const CopilotAction: ({ start, history, addtocartHandler, gotocheckoutRender, gotocartRender, addtocartRender, productRender, signupRender, children, }: ActionProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
22
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
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
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,mBAAAE,IAAA,eAAAC,EAAAH,
|
|
6
|
-
"names": ["action_exports", "__export", "CopilotAction", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_core", "import_runtime_client_gql", "start", "history", "addtocartHandler", "
|
|
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,19 +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
|
-
/** shulex的 action 的触发事件
|
|
34
|
-
*/
|
|
35
|
-
shulexRender?: string | ((_props: any) => React.ReactElement);
|
|
36
|
-
/** 通用 积分 换 Coupon 的触发事件
|
|
37
|
-
*/
|
|
38
|
-
pointsExchangeCouponRender?: string | ((_props: any) => React.ReactElement);
|
|
39
26
|
/** 跳转 checkout action 卡片,接受参数: {"status":"complete","args":[{"sku":["A3936031"],"handle":"space-a40-a3936031"}],"result":""}
|
|
40
27
|
* 后端接口文档:https://anker-in.feishu.cn/wiki/DOYJwE9oxipWmYk072ncnJNznBb
|
|
41
28
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
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 /**
|
|
5
|
-
"mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,
|
|
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", "
|
|
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
|
|
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,
|
|
5
|
-
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,
|
|
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", "
|
|
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
|
}
|