bi-sdk-react 0.0.8 → 0.0.10

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 (30) hide show
  1. package/dist/es/js/bi-sdk.es.js +14 -10
  2. package/dist/types/components/context/PageContext.d.ts +18 -0
  3. package/dist/types/components/index.d.ts +2 -2
  4. package/dist/types/components/plugins/@antd/item-props/HtmlProps.d.ts +1 -0
  5. package/dist/types/components/plugins/@antd/items/HtmlRender.d.ts +1 -0
  6. package/dist/types/components/utils.d.ts +1 -0
  7. package/dist/umd/js/bi-sdk.umd.min.js +13 -9
  8. package/package.json +1 -1
  9. package/src/components/PageDesigner.tsx +4 -4
  10. package/src/components/context/{DesignerContext.tsx → PageContext.tsx} +8 -8
  11. package/src/components/dnd/DropContainer.tsx +2 -2
  12. package/src/components/index.ts +3 -2
  13. package/src/components/layout/PageCanvas.tsx +2 -2
  14. package/src/components/layout/PageItem.tsx +2 -2
  15. package/src/components/panel/AiPanel.tsx +30 -22
  16. package/src/components/panel/CascadePanel.tsx +2 -2
  17. package/src/components/panel/CodePanel.tsx +2 -2
  18. package/src/components/panel/ComponentPanel.tsx +2 -2
  19. package/src/components/panel/DatasourcePanel.tsx +2 -2
  20. package/src/components/panel/LayerPanel.tsx +2 -2
  21. package/src/components/panel/PropertiesPanel.tsx +2 -2
  22. package/src/components/panel/ScriptPanel.tsx +2 -2
  23. package/src/components/panel/VariablesPanel.tsx +2 -2
  24. package/src/components/plugins/@antd/item-props/HtmlProps.tsx +13 -5
  25. package/src/components/plugins/@antd/items/CardRender.tsx +1 -1
  26. package/src/components/plugins/@antd/items/ColRender.tsx +2 -2
  27. package/src/components/plugins/@antd/items/HtmlRender.tsx +3 -1
  28. package/src/components/plugins/@antd/items/RowRender.tsx +2 -2
  29. package/src/components/plugins/@antd/items/SpaceRender.tsx +2 -2
  30. package/src/components/utils.ts +19 -3
@@ -1,5 +1,5 @@
1
1
  /*! For license information please see bi-sdk.umd.min.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons"),require("echarts"),require("styled-components"),require("react"),require("antd"),require("uuid"),require("dayjs"),require("@monaco-editor/react")):"function"==typeof define&&define.amd?define(["@ant-design/icons","echarts","styled-components","react","antd","uuid","dayjs","@monaco-editor/react"],t):"object"==typeof exports?exports.BiSdk=t(require("@ant-design/icons"),require("echarts"),require("styled-components"),require("react"),require("antd"),require("uuid"),require("dayjs"),require("@monaco-editor/react")):e.BiSdk=t(e["@ant-design/icons"],e.echarts,e["styled-components"],e.react,e.antd,e.uuid,e.dayjs,e["@monaco-editor/react"])}(this,(e,t,l,n,r,a,i,o)=>(()=>{var s={290(e,t,l){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var r in t=arguments[l])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.bindAll=void 0;var r=l(352);function a(e){if(void 0!==e)return"boolean"==typeof e?{capture:e}:e}t.bindAll=function(e,t,l){var i=t.map(function(t){var i=null==l?t:n(n({},t),{options:n(n({},a(l)),a(t.options))});return(0,r.bind)(e,i)});return function(){i.forEach(function(e){return e()})}}},352(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bind=void 0,t.bind=function(e,t){var l=t.type,n=t.listener,r=t.options;return e.addEventListener(l,n,r),function(){e.removeEventListener(l,n,r)}}},951(e,t,l){"use strict";t.bindAll=t.bind=void 0;var n=l(352);Object.defineProperty(t,"bind",{enumerable:!0,get:function(){return n.bind}});var r=l(290);Object.defineProperty(t,"bindAll",{enumerable:!0,get:function(){return r.bindAll}})},965(e,t,l){"use strict";var n=l(426),r={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var l,a,i,o,s,d,c,u,p=!1;t||(t={}),i=t.debug||!1;try{if(s=n(),d=document.createRange(),c=document.getSelection(),(u=document.createElement("span")).textContent=e,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",function(l){if(l.stopPropagation(),t.format)if(l.preventDefault(),void 0===l.clipboardData){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var n=r[t.format]||r.default;window.clipboardData.setData(n,e)}else l.clipboardData.clearData(),l.clipboardData.setData(t.format,e);t.onCopy&&(l.preventDefault(),t.onCopy(l.clipboardData))}),document.body.appendChild(u),d.selectNodeContents(u),c.addRange(d),!document.execCommand("copy"))throw Error("copy command was unsuccessful");p=!0}catch(n){i&&console.error("unable to copy using execCommand: ",n),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),p=!0}catch(n){i&&console.error("unable to copy using clipboardData: ",n),i&&console.error("falling back to prompt"),l="message"in t?t.message:"Copy to clipboard: #{key}, Enter",a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C",o=l.replace(/#{\s*key\s*}/g,a),window.prompt(o,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(d):c.removeAllRanges()),u&&document.body.removeChild(u),s()}return p}},20(e,t,l){"use strict";var n=l(155),r=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,o=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function d(e,t,l){var n,a={},d=null,c=null;for(n in void 0!==l&&(d=""+l),void 0!==t.key&&(d=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,n)&&!s.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===a[n]&&(a[n]=t[n]);return{$$typeof:r,type:e,key:d,ref:c,props:a,_owner:o.current}}t.Fragment=a,t.jsx=d,t.jsxs=d},848(e,t,l){"use strict";e.exports=l(20)},426(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,l=[],n=0;n<e.rangeCount;n++)l.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||l.forEach(function(t){e.addRange(t)}),t&&t.focus()}}},375(t){"use strict";t.exports=e},247(e){"use strict";e.exports=o},59(e){"use strict";e.exports=r},185(e){"use strict";e.exports=i},190(e){"use strict";e.exports=t},155(e){"use strict";e.exports=n},694(e){"use strict";e.exports=l},315(e){"use strict";e.exports=a}},d={};function c(e){var t=d[e];if(void 0!==t)return t.exports;var l=d[e]={exports:{}};return s[e].call(l.exports,l,l.exports,c),l.exports}c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},c.d=(e,t)=>{for(var l in t)c.o(t,l)&&!c.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})},c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{"use strict";c.r(u),c.d(u,{EnvContext:()=>ex,DesignerContext:()=>eo,PageCanvas:()=>ev,PageSchema:()=>o.PageSchema,PageDesigner:()=>tu,PluginType:()=>o.PluginType,plugins:()=>tO,PropEditorProps:()=>s.PropEditorProps,handleCallback:()=>ez,DropContainer:()=>em});var e,t,l,n,r,a,i,o={};c.r(o),c.d(o,{P:()=>tp});var s={};c.r(s);var d=c(848),p=c(155),m=c.n(p),x=c(694),h=c.n(x);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function g(e,t){if(e){if("string"==typeof e)return f(e,t);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?f(e,t):void 0}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var n,r,a,i,o=[],s=!0,d=!1;try{if(a=(l=l.call(e)).next,0===t){if(Object(l)!==l)return;s=!1}else for(;!(s=(n=a.call(l)).done)&&(o.push(n.value),o.length!==t);s=!0);}catch(e){d=!0,r=e}finally{try{if(!s&&null!=l.return&&(i=l.return(),Object(i)!==i))return}finally{if(d)throw r}}return o}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var j=c(951),y="data-pdnd-honey-pot";function b(e){return e instanceof Element&&e.hasAttribute(y)}function w(e){var t=v(document.elementsFromPoint(e.x,e.y),2),l=t[0],n=t[1];return l?b(l)?null!=n?n:null:l:null}function C(e){return(C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S(e,t,l){var n;return(n=function(e,t){if("object"!=C(e)||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=C(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==C(n)?n:n+"")in e)?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function I(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function z(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?I(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):I(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function k(e){var t,l,n,r,a={x:Math.min((r={x:Math.max((n={x:(l={x:Math.floor((t=e.client).x),y:Math.floor(t.y)}).x-1,y:l.y-1}).x,0),y:Math.max(n.y,0)}).x,window.innerWidth-2),y:Math.min(r.y,window.innerHeight-2)};return DOMRect.fromRect({x:a.x,y:a.y,width:2,height:2})}function O(e){var t=e.clientRect;return{left:"".concat(t.left,"px"),top:"".concat(t.top,"px"),width:"".concat(t.width,"px"),height:"".concat(t.height,"px")}}function N(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e){var t=null;return function(){if(!t){for(var l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];t={result:e.apply(this,n)}}return t.result}}var R=T(function(){return navigator.userAgent.includes("Firefox")}),F=T(function(){var e=navigator.userAgent;return e.includes("AppleWebKit")&&!e.includes("Chrome")}),D={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};if("undefined"!=typeof window&&F()){var E=A();(0,j.bindAll)(window,[{type:"dragstart",listener:function(){E.enterCount=0,E.isOverWindow=!0}},{type:"drop",listener:B},{type:"dragend",listener:B},{type:"dragenter",listener:function(e){E.isOverWindow||0!==E.enterCount||(e[D.isEnteringWindow]=!0),E.isOverWindow=!0,E.enterCount++}},{type:"dragleave",listener:function(e){E.enterCount--,E.isOverWindow&&0===E.enterCount&&(e[D.isLeavingWindow]=!0,E.isOverWindow=!1)}}],{capture:!0})}function A(){return{enterCount:0,isOverWindow:!1}}function B(){E=A()}function M(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var L=(e=function(e){return e()},t=[],l=null,(n=function(){for(var n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];t=r,l||(l=requestAnimationFrame(function(){l=null,e.apply(void 0,t)}))}).cancel=function(){l&&(cancelAnimationFrame(l),l=null)},n),P=(r=null,{schedule:function(e){r={frameId:requestAnimationFrame(function(){r=null,e()}),fn:e}},flush:function(){r&&(cancelAnimationFrame(r.frameId),r.fn(),r=null)}}),$={isActive:!1};function Y(){return!$.isActive}function H(e){var t,l=e.event,n=null==(t=e.current[0])?void 0:t.dropEffect;null!=n&&l.dataTransfer&&(l.dataTransfer.dropEffect=n)}var q=function(e){var t=e.event,l=e.dragType,n=e.getDropTargetsOver,r=e.dispatchEvent;if(Y()){var a,i,o=function(e){var t=e.event,l=e.dragType,n=e.getDropTargetsOver,r=M(t);if("external"===l.startedFrom)return{input:r,dropTargets:[]};var a=n({input:r,source:l.payload,target:t.target,current:[]});return{input:r,dropTargets:a}}({event:t,dragType:l,getDropTargetsOver:n});$.isActive=!0;var s={current:o};H({event:t,current:o.dropTargets});var d=function(e){var t=e.source,l=e.initial,n=e.dispatchEvent,r={dropTargets:[]};function a(e){n(e),r={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var n=e.nativeSetDragImage,i={current:l,previous:r,initial:l};a({eventName:"onGenerateDragPreview",payload:{source:t,location:i,nativeSetDragImage:n}}),P.schedule(function(){a({eventName:"onDragStart",payload:{source:t,location:i}})})},dragUpdate:function(e){var n=e.current;P.flush(),L.cancel(),a({eventName:"onDropTargetChange",payload:{source:t,location:{initial:l,previous:r,current:n}}})},drag:function(e){var n=e.current;L(function(){P.flush(),a({eventName:"onDrag",payload:{source:t,location:{initial:l,previous:r,current:n}}})})},drop:function(e){var n=e.current,i=e.updatedSourcePayload;P.flush(),L.cancel(),a({eventName:"onDrop",payload:{source:null!=i?i:t,location:{current:n,previous:r,initial:l}}})}}}({source:l.payload,dispatchEvent:r,initial:o}),c=(0,j.bindAll)(window,[{type:"dragover",listener:function(e){p(e),d.drag({current:s.current})}},{type:"dragenter",listener:p},{type:"dragleave",listener:function(e){(function(e){var t=e.dragLeave,l=t.type,n=t.relatedTarget;return"dragleave"===l&&(F()?!!F()&&t.hasOwnProperty(D.isLeavingWindow):null==n||(R()?"nodeName"in n&&n.ownerDocument!==document:n instanceof HTMLIFrameElement))})({dragLeave:e})&&(u({input:s.current.input,dropTargets:[]}),"external"===l.startedFrom&&m())}},{type:"drop",listener:function(e){(s.current={dropTargets:s.current.dropTargets,input:M(e)},s.current.dropTargets.length)?(e.preventDefault(),H({event:e,current:s.current.dropTargets}),d.drop({current:s.current,updatedSourcePayload:"external"===l.type?l.getDropPayload(e):null}),x()):m()}},{type:"dragend",listener:function(e){s.current={dropTargets:s.current.dropTargets,input:M(e)},m()}}].concat(N([{type:"pointermove",listener:(i=0,function(){i<20?i++:a()})},{type:"pointerdown",listener:a=m}])),{capture:!0});d.start({nativeSetDragImage:t.dataTransfer?t.dataTransfer.setDragImage.bind(t.dataTransfer):null})}function u(e){var t=function(e){var t=e.current,l=e.next;if(t.length!==l.length)return!0;for(var n=0;n<t.length;n++)if(t[n].element!==l[n].element)return!0;return!1}({current:s.current.dropTargets,next:e.dropTargets});s.current=e,t&&d.dragUpdate({current:s.current})}function p(e){var t=M(e),r=n({target:b(e.target)?w({x:t.clientX,y:t.clientY}):e.target,input:t,source:l.payload,current:s.current.dropTargets});r.length&&(e.preventDefault(),H({event:e,current:r})),u({dropTargets:r,input:t})}function m(){s.current.dropTargets.length&&u({dropTargets:[],input:s.current.input}),d.drop({current:s.current,updatedSourcePayload:null}),x()}function x(){$.isActive=!1,c()}},G=new Map;function U(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return function(){t.forEach(function(e){return e()})}}function _(e,t){var l=t.attribute,n=t.value;return e.setAttribute(l,n),function(){return e.removeAttribute(l)}}function K(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function W(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?K(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):K(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function J(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=function(e,t){if(e){if("string"==typeof e)return X(e,void 0);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?X(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==l.return||l.return()}finally{if(o)throw a}}}}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function V(e){return e.slice(0).reverse()}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function Z(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}var ee=T(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),et="text/plain",el=new WeakMap,en=(a=null,{bindEvents:function(){return a=null,(0,j.bind)(window,{type:"pointermove",listener:function(e){a={x:e.clientX,y:e.clientY}},options:{capture:!0}})},getOnPostDispatch:function(){var e=null;return function(t){var l=t.eventName,n=t.payload;if("onDragStart"===l){var r,i,o,s=n.location.initial.input,d=null!=a?a:{x:s.clientX,y:s.clientY};(r=document.createElement("div")).setAttribute(y,"true"),i=k({client:d}),Object.assign(r.style,z(z({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},O({clientRect:i})),{},{pointerEvents:"auto",zIndex:0x7fffffff})),document.body.appendChild(r),o=(0,j.bind)(window,{type:"pointermove",listener:function(e){i=k({client:{x:e.clientX,y:e.clientY}}),Object.assign(r.style,O({clientRect:i}))},options:{capture:!0}}),e=function(e){var t,l,n,a=e.current;if(o(),l=(t={client:a,clientRect:i}).client,n=t.clientRect,l.x>=n.x&&l.x<=n.x+n.width&&l.y>=n.y&&l.y<=n.y+n.height)return void r.remove();function s(){d(),r.remove()}var d=(0,j.bindAll)(window,[{type:"pointerdown",listener:s},{type:"pointermove",listener:s},{type:"focusin",listener:s},{type:"focusout",listener:s},{type:"dragstart",listener:s},{type:"dragenter",listener:s},{type:"dragover",listener:s}],{capture:!0})}}if("onDrop"===l){var c,u=n.location.current.input;null==(c=e)||c({current:{x:u.clientX,y:u.clientY}}),e=null,a=null}}}}),er=function(e){var t=e.typeKey,l=e.mount,n=e.dispatchEventToSource,r=e.onPostDispatch,a=e.defaultDropEffect,i=function(){var e=new Set,t=null;function l(e){t&&(!e.canMonitor||e.canMonitor(t.canMonitorArgs))&&t.active.add(e)}return{dispatchEvent:function(n){var r=n.eventName,a=n.payload;if("onGenerateDragPreview"===r){t={canMonitorArgs:{initial:a.location.initial,source:a.source},active:new Set};var i,o=function(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=function(e,t){if(e){if("string"==typeof e)return Q(e,void 0);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?Q(e,void 0):void 0}}(e))){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==l.return||l.return()}finally{if(o)throw a}}}}(e);try{for(o.s();!(i=o.n()).done;){var s=i.value;l(s)}}catch(e){o.e(e)}finally{o.f()}}if(t){for(var d=Array.from(t.active),c=0;c<d.length;c++){var u,p=d[c];t.active.has(p)&&(null==(u=p[r])||u.call(p,a))}"onDrop"===r&&(t.active.clear(),t=null)}},monitorForConsumers:function(n){var r=function(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):Z(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}({},n);return e.add(r),l(r),T(function(){e.delete(r),t&&t.active.delete(r)})}}}(),o=function(e){var t=e.typeKey,l=e.defaultDropEffect,n=new WeakMap,r="data-drop-target-for-".concat(t),a="[".concat(r,"]");function i(e){var t,l=e.eventName,r=e.payload,a=J(r.location.current.dropTargets);try{for(a.s();!(t=a.n()).done;){var i,o=t.value,s=n.get(o.element),d=W(W({},r),{},{self:o});null==s||null==(i=s[l])||i.call(s,d)}}catch(e){a.e(e)}finally{a.f()}}var o={onGenerateDragPreview:i,onDrag:i,onDragStart:i,onDrop:i,onDropTargetChange:function(e){var t,l=e.payload,r=new Set(l.location.current.dropTargets.map(function(e){return e.element})),a=new Set,i=J(l.location.previous.dropTargets);try{for(i.s();!(t=i.n()).done;){var o,s,d=t.value;a.add(d.element);var c=n.get(d.element),u=r.has(d.element),p=W(W({},l),{},{self:d});null==c||null==(o=c.onDropTargetChange)||o.call(c,p),u||null==c||null==(s=c.onDragLeave)||s.call(c,p)}}catch(e){i.e(e)}finally{i.f()}var m,x=J(l.location.current.dropTargets);try{for(x.s();!(m=x.n()).done;){var h,f,g=m.value;if(!a.has(g.element)){var v=W(W({},l),{},{self:g}),j=n.get(g.element);null==j||null==(h=j.onDropTargetChange)||h.call(j,v),null==j||null==(f=j.onDragEnter)||f.call(j,v)}}}catch(e){x.e(e)}finally{x.f()}}};return{dropTargetForConsumers:function(e){return T(U(_(e.element,{attribute:r,value:"true"}),(n.set(e.element,e),function(){return n.delete(e.element)})))},getIsOver:function(e){var t=e.source,r=e.target,i=e.input,o=e.current,s=function e(t){var r,i,o,s,d=t.source,c=t.target,u=t.input,p=t.result,m=void 0===p?[]:p;if(null==c)return m;if(!(c instanceof Element))return c instanceof Node?e({source:d,target:c.parentElement,input:u,result:m}):m;var x=c.closest(a);if(null==x)return m;var h=n.get(x);if(null==h)return m;var f={input:u,source:d,element:h.element};if(h.canDrop&&!h.canDrop(f))return e({source:d,target:h.element.parentElement,input:u,result:m});var g=null!=(r=null==(i=h.getData)?void 0:i.call(h,f))?r:{},v=null!=(o=null==(s=h.getDropEffect)?void 0:s.call(h,f))?o:l,j={data:g,element:h.element,dropEffect:v,isActiveDueToStickiness:!1};return e({source:d,target:h.element.parentElement,input:u,result:[].concat(N(m),[j])})}({source:t,target:r,input:i});if(s.length>=o.length)return s;for(var d=V(o),c=V(s),u=[],p=0;p<d.length;p++){var m,x=d[p],h=c[p];if(null!=h){u.push(h);continue}var f=u[p-1],g=d[p-1];if((null==f?void 0:f.element)!==(null==g?void 0:g.element))break;var v=n.get(x.element);if(!v)break;var j={input:i,source:t,element:v.element};if(v.canDrop&&!v.canDrop(j)||!(null!=(m=v.getIsSticky)&&m.call(v,j)))break;u.push(W(W({},x),{},{isActiveDueToStickiness:!0}))}return V(u)},dispatchEvent:function(e){o[e.eventName](e)}}}({typeKey:t,defaultDropEffect:a});function s(e){null==n||n(e),o.dispatchEvent(e),i.dispatchEvent(e),null==r||r(e)}function d(e){q({event:e.event,dragType:e.dragType,getDropTargetsOver:o.getIsOver,dispatchEvent:s})}return{registerUsage:function(){var e,n;return n=function(e){var t=e.typeKey,l=e.mount,n=G.get(t);if(n)return n.usageCount++,n;var r={typeKey:t,unmount:l(),usageCount:1};return G.set(t,r),r}(e={typeKey:t,mount:function(){return l({canStart:Y,start:d})}}),function(){n.usageCount--,n.usageCount>0||(n.unmount(),G.delete(e.typeKey))}},dropTarget:o.dropTargetForConsumers,monitor:i.monitorForConsumers}}({typeKey:"element",defaultDropEffect:"move",mount:function(e){return U(en.bindEvents(),(0,j.bind)(document,{type:"dragstart",listener:function(t){if(e.canStart(t)&&!t.defaultPrevented&&t.dataTransfer){var l,n,r,a,i,o,s=t.target;if(s instanceof HTMLElement){var d=el.get(s);if(d){var c=M(t),u={element:d.element,dragHandle:null!=(l=d.dragHandle)?l:null,input:c};if(d.canDrag&&!d.canDrag(u))return void t.preventDefault();if(d.dragHandle){var p=w({x:c.clientX,y:c.clientY});if(!d.dragHandle.contains(p))return void t.preventDefault()}var m=null!=(n=null==(r=d.getInitialDataForExternal)?void 0:r.call(d,u))?n:null;if(m)for(var x=0,h=Object.entries(m);x<h.length;x++){var f=v(h[x],2),g=f[0],j=f[1];t.dataTransfer.setData(g,null!=j?j:"")}!ee()||t.dataTransfer.types.includes(et)||t.dataTransfer.types.includes("text/uri-list")||t.dataTransfer.setData(et,"pdnd:android-fallback"),t.dataTransfer.setData("application/vnd.pdnd","");var y={element:d.element,dragHandle:null!=(a=d.dragHandle)?a:null,data:null!=(i=null==(o=d.getInitialData)?void 0:o.call(d,u))?i:{}};e.start({event:t,dragType:{type:"element",payload:y,startedFrom:"internal"}})}}}}}))},dispatchEventToSource:function(e){var t,l,n=e.eventName,r=e.payload;null==(t=el.get(r.source.element))||null==(l=t[n])||l.call(t,r)},onPostDispatch:en.getOnPostDispatch()}),ea=er.dropTarget;function ei(e){return T(U(er.registerUsage(),(el.set(e.element,e),function(){el.delete(e.element)}),_(e.element,{attribute:"draggable",value:"true"})))}er.monitor;let eo=(0,p.createContext)({pageId:"",designable:!1,plugins:[],schema:{info:{},datasources:[],scripts:[],variables:[],items:[]},selectedItem:null,setSchema:()=>{},setSelectedItem:()=>{},updateSelectedItem:()=>{},forceUpdate:()=>{},datasetSelector:void 0,fetch:void 0}),es=e=>{let{pageId:t,designable:l,plugins:n,schema:r,selectedItem:a,setSchema:i,setSelectedItem:o,datasetSelector:s,fetch:c,children:u}=e;return(0,d.jsx)(eo.Provider,{value:{pageId:t,designable:!!l,plugins:n||[],schema:r,selectedItem:a,setSchema:i||(()=>{}),setSelectedItem:o||(()=>{}),updateSelectedItem:e=>{null==o||o(Object.assign(a,e||{})),null==i||i({...r})},datasetSelector:s,fetch:c,forceUpdate:()=>{null==i||i({...r})}},children:u})},ed=e=>{var t;let{item:l,onDelete:n,parentList:r,onListChange:a,index:i}=e,{designable:o,selectedItem:s,setSelectedItem:c,plugins:u}=(0,p.useContext)(eo),[m,x]=(0,p.useState)(!1),h=null==(t=u.find(e=>e.key===l.type))?void 0:t.component;return((0,p.useEffect)(()=>{let e=()=>{if(!t.current)return;let e=document.getElementById(`page-item-${l.id}`);if(!e)return void r();let n=e.getBoundingClientRect();if(0===n.width&&0===n.height){t.current.style.display="none";return}t.current.style.display="flex";let a=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,i=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;t.current.style.top=`${n.top+a-22}px`,t.current.style.left=`${n.left+i-1}px`},t={current:null},r=()=>{if(t.current){let l=t.current.querySelector("a");l&&l.removeEventListener("click",a),document.body.contains(t.current)&&document.body.removeChild(t.current),t.current=null,window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},a=e=>{e.stopPropagation(),n&&n()};if(s&&s===l&&o){let n=document.createElement("div");n.style.position="absolute",n.style.zIndex="1000",n.style.display="flex",n.style.gap="4px";let i=document.createElement("span");i.innerText=l.name||l.type+`(${l.id})`,i.style.background="#1890ff",i.style.color="#fff",i.style.fontSize="12px",i.style.borderTopLeftRadius="4px",i.style.borderTopRightRadius="4px",i.style.padding="2px 8px",i.style.cursor="pointer",i.style.userSelect="none",n.appendChild(i);let o=document.createElement("a");return o.innerText="X",o.style.background="#1890ff",o.style.color="#fff",o.style.fontSize="12px",o.style.borderTopLeftRadius="4px",o.style.borderTopRightRadius="4px",o.style.padding="2px 8px",o.style.cursor="pointer",o.style.userSelect="none",n.appendChild(o),o.addEventListener("click",a),document.body.appendChild(n),t.current=n,e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>r()}},[s,o,l,n]),(0,p.useEffect)(()=>{let e=document.getElementById(`page-item-${l.id}`);if(!e||!o)return;let t=ei({element:e,getInitialData:()=>({id:l.id,index:i,list:r,onListChange:a,data:l}),canDrag:()=>!!o,onDragStart:()=>{x(!0)},onDrop:()=>{x(!1)}}),n=e=>{e.stopPropagation(),c&&c(l)};return o&&e.addEventListener("click",n),()=>{t(),o&&e.removeEventListener("click",n)}},[o,l,i,r]),h)?(0,d.jsx)(h,{id:`page-item-${l.id}`,"data-item-id":l.id,...l.props||{},item:l,className:`page-item-component ${o?"designable":""} ${s===l?"selected":""}`,style:{...l.style||{},opacity:m?.5:1}}):null},ec=h().div`
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@ant-design/icons"),require("echarts"),require("styled-components"),require("react"),require("antd"),require("uuid"),require("dayjs"),require("@monaco-editor/react")):"function"==typeof define&&define.amd?define(["@ant-design/icons","echarts","styled-components","react","antd","uuid","dayjs","@monaco-editor/react"],t):"object"==typeof exports?exports.BiSdk=t(require("@ant-design/icons"),require("echarts"),require("styled-components"),require("react"),require("antd"),require("uuid"),require("dayjs"),require("@monaco-editor/react")):e.BiSdk=t(e["@ant-design/icons"],e.echarts,e["styled-components"],e.react,e.antd,e.uuid,e.dayjs,e["@monaco-editor/react"])}(this,(e,t,l,n,r,a,i,o)=>(()=>{var s={290(e,t,l){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,l=1,n=arguments.length;l<n;l++)for(var r in t=arguments[l])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};Object.defineProperty(t,"__esModule",{value:!0}),t.bindAll=void 0;var r=l(352);function a(e){if(void 0!==e)return"boolean"==typeof e?{capture:e}:e}t.bindAll=function(e,t,l){var i=t.map(function(t){var i=null==l?t:n(n({},t),{options:n(n({},a(l)),a(t.options))});return(0,r.bind)(e,i)});return function(){i.forEach(function(e){return e()})}}},352(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bind=void 0,t.bind=function(e,t){var l=t.type,n=t.listener,r=t.options;return e.addEventListener(l,n,r),function(){e.removeEventListener(l,n,r)}}},951(e,t,l){"use strict";t.bindAll=t.bind=void 0;var n=l(352);Object.defineProperty(t,"bind",{enumerable:!0,get:function(){return n.bind}});var r=l(290);Object.defineProperty(t,"bindAll",{enumerable:!0,get:function(){return r.bindAll}})},965(e,t,l){"use strict";var n=l(426),r={"text/plain":"Text","text/html":"Url",default:"Text"};e.exports=function(e,t){var l,a,i,o,s,d,c,u,p=!1;t||(t={}),i=t.debug||!1;try{if(s=n(),d=document.createRange(),c=document.getSelection(),(u=document.createElement("span")).textContent=e,u.ariaHidden="true",u.style.all="unset",u.style.position="fixed",u.style.top=0,u.style.clip="rect(0, 0, 0, 0)",u.style.whiteSpace="pre",u.style.webkitUserSelect="text",u.style.MozUserSelect="text",u.style.msUserSelect="text",u.style.userSelect="text",u.addEventListener("copy",function(l){if(l.stopPropagation(),t.format)if(l.preventDefault(),void 0===l.clipboardData){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var n=r[t.format]||r.default;window.clipboardData.setData(n,e)}else l.clipboardData.clearData(),l.clipboardData.setData(t.format,e);t.onCopy&&(l.preventDefault(),t.onCopy(l.clipboardData))}),document.body.appendChild(u),d.selectNodeContents(u),c.addRange(d),!document.execCommand("copy"))throw Error("copy command was unsuccessful");p=!0}catch(n){i&&console.error("unable to copy using execCommand: ",n),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),p=!0}catch(n){i&&console.error("unable to copy using clipboardData: ",n),i&&console.error("falling back to prompt"),l="message"in t?t.message:"Copy to clipboard: #{key}, Enter",a=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C",o=l.replace(/#{\s*key\s*}/g,a),window.prompt(o,e)}}finally{c&&("function"==typeof c.removeRange?c.removeRange(d):c.removeAllRanges()),u&&document.body.removeChild(u),s()}return p}},20(e,t,l){"use strict";var n=l(155),r=Symbol.for("react.element"),a=Symbol.for("react.fragment"),i=Object.prototype.hasOwnProperty,o=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function d(e,t,l){var n,a={},d=null,c=null;for(n in void 0!==l&&(d=""+l),void 0!==t.key&&(d=""+t.key),void 0!==t.ref&&(c=t.ref),t)i.call(t,n)&&!s.hasOwnProperty(n)&&(a[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===a[n]&&(a[n]=t[n]);return{$$typeof:r,type:e,key:d,ref:c,props:a,_owner:o.current}}t.Fragment=a,t.jsx=d,t.jsxs=d},848(e,t,l){"use strict";e.exports=l(20)},426(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,l=[],n=0;n<e.rangeCount;n++)l.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null}return e.removeAllRanges(),function(){"Caret"===e.type&&e.removeAllRanges(),e.rangeCount||l.forEach(function(t){e.addRange(t)}),t&&t.focus()}}},375(t){"use strict";t.exports=e},247(e){"use strict";e.exports=o},59(e){"use strict";e.exports=r},185(e){"use strict";e.exports=i},190(e){"use strict";e.exports=t},155(e){"use strict";e.exports=n},694(e){"use strict";e.exports=l},315(e){"use strict";e.exports=a}},d={};function c(e){var t=d[e];if(void 0!==t)return t.exports;var l=d[e]={exports:{}};return s[e].call(l.exports,l,l.exports,c),l.exports}c.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return c.d(t,{a:t}),t},c.d=(e,t)=>{for(var l in t)c.o(t,l)&&!c.o(e,l)&&Object.defineProperty(e,l,{enumerable:!0,get:t[l]})},c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return(()=>{"use strict";c.r(u),c.d(u,{EnvContext:()=>ex,PageCanvas:()=>ev,PageSchema:()=>o.PageSchema,PageContext:()=>eo,PageDesigner:()=>tu,PluginType:()=>o.PluginType,plugins:()=>tO,PropEditorProps:()=>s.PropEditorProps,PageProvider:()=>es,handleCallback:()=>ez,DropContainer:()=>em});var e,t,l,n,r,a,i,o={};c.r(o),c.d(o,{P:()=>tp});var s={};c.r(s);var d=c(848),p=c(155),m=c.n(p),x=c(694),h=c.n(x);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function g(e,t){if(e){if("string"==typeof e)return f(e,t);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?f(e,t):void 0}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var n,r,a,i,o=[],s=!0,d=!1;try{if(a=(l=l.call(e)).next,0===t){if(Object(l)!==l)return;s=!1}else for(;!(s=(n=a.call(l)).done)&&(o.push(n.value),o.length!==t);s=!0);}catch(e){d=!0,r=e}finally{try{if(!s&&null!=l.return&&(i=l.return(),Object(i)!==i))return}finally{if(d)throw r}}return o}}(e,t)||g(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var j=c(951),y="data-pdnd-honey-pot";function b(e){return e instanceof Element&&e.hasAttribute(y)}function w(e){var t=v(document.elementsFromPoint(e.x,e.y),2),l=t[0],n=t[1];return l?b(l)?null!=n?n:null:l:null}function C(e){return(C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function S(e,t,l){var n;return(n=function(e,t){if("object"!=C(e)||!e)return e;var l=e[Symbol.toPrimitive];if(void 0!==l){var n=l.call(e,t||"default");if("object"!=C(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==C(n)?n:n+"")in e)?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function I(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function z(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?I(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):I(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function k(e){var t,l,n,r,a={x:Math.min((r={x:Math.max((n={x:(l={x:Math.floor((t=e.client).x),y:Math.floor(t.y)}).x-1,y:l.y-1}).x,0),y:Math.max(n.y,0)}).x,window.innerWidth-2),y:Math.min(r.y,window.innerHeight-2)};return DOMRect.fromRect({x:a.x,y:a.y,width:2,height:2})}function O(e){var t=e.clientRect;return{left:"".concat(t.left,"px"),top:"".concat(t.top,"px"),width:"".concat(t.width,"px"),height:"".concat(t.height,"px")}}function N(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||g(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e){var t=null;return function(){if(!t){for(var l=arguments.length,n=Array(l),r=0;r<l;r++)n[r]=arguments[r];t={result:e.apply(this,n)}}return t.result}}var R=T(function(){return navigator.userAgent.includes("Firefox")}),F=T(function(){var e=navigator.userAgent;return e.includes("AppleWebKit")&&!e.includes("Chrome")}),D={isLeavingWindow:Symbol("leaving"),isEnteringWindow:Symbol("entering")};if("undefined"!=typeof window&&F()){var E=A();(0,j.bindAll)(window,[{type:"dragstart",listener:function(){E.enterCount=0,E.isOverWindow=!0}},{type:"drop",listener:B},{type:"dragend",listener:B},{type:"dragenter",listener:function(e){E.isOverWindow||0!==E.enterCount||(e[D.isEnteringWindow]=!0),E.isOverWindow=!0,E.enterCount++}},{type:"dragleave",listener:function(e){E.enterCount--,E.isOverWindow&&0===E.enterCount&&(e[D.isLeavingWindow]=!0,E.isOverWindow=!1)}}],{capture:!0})}function A(){return{enterCount:0,isOverWindow:!1}}function B(){E=A()}function M(e){return{altKey:e.altKey,button:e.button,buttons:e.buttons,ctrlKey:e.ctrlKey,metaKey:e.metaKey,shiftKey:e.shiftKey,clientX:e.clientX,clientY:e.clientY,pageX:e.pageX,pageY:e.pageY}}var L=(e=function(e){return e()},t=[],l=null,(n=function(){for(var n=arguments.length,r=Array(n),a=0;a<n;a++)r[a]=arguments[a];t=r,l||(l=requestAnimationFrame(function(){l=null,e.apply(void 0,t)}))}).cancel=function(){l&&(cancelAnimationFrame(l),l=null)},n),P=(r=null,{schedule:function(e){r={frameId:requestAnimationFrame(function(){r=null,e()}),fn:e}},flush:function(){r&&(cancelAnimationFrame(r.frameId),r.fn(),r=null)}}),$={isActive:!1};function Y(){return!$.isActive}function H(e){var t,l=e.event,n=null==(t=e.current[0])?void 0:t.dropEffect;null!=n&&l.dataTransfer&&(l.dataTransfer.dropEffect=n)}var q=function(e){var t=e.event,l=e.dragType,n=e.getDropTargetsOver,r=e.dispatchEvent;if(Y()){var a,i,o=function(e){var t=e.event,l=e.dragType,n=e.getDropTargetsOver,r=M(t);if("external"===l.startedFrom)return{input:r,dropTargets:[]};var a=n({input:r,source:l.payload,target:t.target,current:[]});return{input:r,dropTargets:a}}({event:t,dragType:l,getDropTargetsOver:n});$.isActive=!0;var s={current:o};H({event:t,current:o.dropTargets});var d=function(e){var t=e.source,l=e.initial,n=e.dispatchEvent,r={dropTargets:[]};function a(e){n(e),r={dropTargets:e.payload.location.current.dropTargets}}return{start:function(e){var n=e.nativeSetDragImage,i={current:l,previous:r,initial:l};a({eventName:"onGenerateDragPreview",payload:{source:t,location:i,nativeSetDragImage:n}}),P.schedule(function(){a({eventName:"onDragStart",payload:{source:t,location:i}})})},dragUpdate:function(e){var n=e.current;P.flush(),L.cancel(),a({eventName:"onDropTargetChange",payload:{source:t,location:{initial:l,previous:r,current:n}}})},drag:function(e){var n=e.current;L(function(){P.flush(),a({eventName:"onDrag",payload:{source:t,location:{initial:l,previous:r,current:n}}})})},drop:function(e){var n=e.current,i=e.updatedSourcePayload;P.flush(),L.cancel(),a({eventName:"onDrop",payload:{source:null!=i?i:t,location:{current:n,previous:r,initial:l}}})}}}({source:l.payload,dispatchEvent:r,initial:o}),c=(0,j.bindAll)(window,[{type:"dragover",listener:function(e){p(e),d.drag({current:s.current})}},{type:"dragenter",listener:p},{type:"dragleave",listener:function(e){(function(e){var t=e.dragLeave,l=t.type,n=t.relatedTarget;return"dragleave"===l&&(F()?!!F()&&t.hasOwnProperty(D.isLeavingWindow):null==n||(R()?"nodeName"in n&&n.ownerDocument!==document:n instanceof HTMLIFrameElement))})({dragLeave:e})&&(u({input:s.current.input,dropTargets:[]}),"external"===l.startedFrom&&m())}},{type:"drop",listener:function(e){(s.current={dropTargets:s.current.dropTargets,input:M(e)},s.current.dropTargets.length)?(e.preventDefault(),H({event:e,current:s.current.dropTargets}),d.drop({current:s.current,updatedSourcePayload:"external"===l.type?l.getDropPayload(e):null}),x()):m()}},{type:"dragend",listener:function(e){s.current={dropTargets:s.current.dropTargets,input:M(e)},m()}}].concat(N([{type:"pointermove",listener:(i=0,function(){i<20?i++:a()})},{type:"pointerdown",listener:a=m}])),{capture:!0});d.start({nativeSetDragImage:t.dataTransfer?t.dataTransfer.setDragImage.bind(t.dataTransfer):null})}function u(e){var t=function(e){var t=e.current,l=e.next;if(t.length!==l.length)return!0;for(var n=0;n<t.length;n++)if(t[n].element!==l[n].element)return!0;return!1}({current:s.current.dropTargets,next:e.dropTargets});s.current=e,t&&d.dragUpdate({current:s.current})}function p(e){var t=M(e),r=n({target:b(e.target)?w({x:t.clientX,y:t.clientY}):e.target,input:t,source:l.payload,current:s.current.dropTargets});r.length&&(e.preventDefault(),H({event:e,current:r})),u({dropTargets:r,input:t})}function m(){s.current.dropTargets.length&&u({dropTargets:[],input:s.current.input}),d.drop({current:s.current,updatedSourcePayload:null}),x()}function x(){$.isActive=!1,c()}},G=new Map;function U(){for(var e=arguments.length,t=Array(e),l=0;l<e;l++)t[l]=arguments[l];return function(){t.forEach(function(e){return e()})}}function _(e,t){var l=t.attribute,n=t.value;return e.setAttribute(l,n),function(){return e.removeAttribute(l)}}function K(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}function W(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?K(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):K(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}function J(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=function(e,t){if(e){if("string"==typeof e)return X(e,void 0);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?X(e,void 0):void 0}}(e))||t&&e&&"number"==typeof e.length){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==l.return||l.return()}finally{if(o)throw a}}}}function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function V(e){return e.slice(0).reverse()}function Q(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,n=Array(t);l<t;l++)n[l]=e[l];return n}function Z(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),l.push.apply(l,n)}return l}var ee=T(function(){return navigator.userAgent.toLocaleLowerCase().includes("android")}),et="text/plain",el=new WeakMap,en=(a=null,{bindEvents:function(){return a=null,(0,j.bind)(window,{type:"pointermove",listener:function(e){a={x:e.clientX,y:e.clientY}},options:{capture:!0}})},getOnPostDispatch:function(){var e=null;return function(t){var l=t.eventName,n=t.payload;if("onDragStart"===l){var r,i,o,s=n.location.initial.input,d=null!=a?a:{x:s.clientX,y:s.clientY};(r=document.createElement("div")).setAttribute(y,"true"),i=k({client:d}),Object.assign(r.style,z(z({backgroundColor:"transparent",position:"fixed",padding:0,margin:0,boxSizing:"border-box"},O({clientRect:i})),{},{pointerEvents:"auto",zIndex:0x7fffffff})),document.body.appendChild(r),o=(0,j.bind)(window,{type:"pointermove",listener:function(e){i=k({client:{x:e.clientX,y:e.clientY}}),Object.assign(r.style,O({clientRect:i}))},options:{capture:!0}}),e=function(e){var t,l,n,a=e.current;if(o(),l=(t={client:a,clientRect:i}).client,n=t.clientRect,l.x>=n.x&&l.x<=n.x+n.width&&l.y>=n.y&&l.y<=n.y+n.height)return void r.remove();function s(){d(),r.remove()}var d=(0,j.bindAll)(window,[{type:"pointerdown",listener:s},{type:"pointermove",listener:s},{type:"focusin",listener:s},{type:"focusout",listener:s},{type:"dragstart",listener:s},{type:"dragenter",listener:s},{type:"dragover",listener:s}],{capture:!0})}}if("onDrop"===l){var c,u=n.location.current.input;null==(c=e)||c({current:{x:u.clientX,y:u.clientY}}),e=null,a=null}}}}),er=function(e){var t=e.typeKey,l=e.mount,n=e.dispatchEventToSource,r=e.onPostDispatch,a=e.defaultDropEffect,i=function(){var e=new Set,t=null;function l(e){t&&(!e.canMonitor||e.canMonitor(t.canMonitorArgs))&&t.active.add(e)}return{dispatchEvent:function(n){var r=n.eventName,a=n.payload;if("onGenerateDragPreview"===r){t={canMonitorArgs:{initial:a.location.initial,source:a.source},active:new Set};var i,o=function(e,t){var l="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!l){if(Array.isArray(e)||(l=function(e,t){if(e){if("string"==typeof e)return Q(e,void 0);var l=({}).toString.call(e).slice(8,-1);return"Object"===l&&e.constructor&&(l=e.constructor.name),"Map"===l||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?Q(e,void 0):void 0}}(e))){l&&(e=l);var n=0,r=function(){};return{s:r,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,o=!1;return{s:function(){l=l.call(e)},n:function(){var e=l.next();return i=e.done,e},e:function(e){o=!0,a=e},f:function(){try{i||null==l.return||l.return()}finally{if(o)throw a}}}}(e);try{for(o.s();!(i=o.n()).done;){var s=i.value;l(s)}}catch(e){o.e(e)}finally{o.f()}}if(t){for(var d=Array.from(t.active),c=0;c<d.length;c++){var u,p=d[c];t.active.has(p)&&(null==(u=p[r])||u.call(p,a))}"onDrop"===r&&(t.active.clear(),t=null)}},monitorForConsumers:function(n){var r=function(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?Z(Object(l),!0).forEach(function(t){S(e,t,l[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):Z(Object(l)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))})}return e}({},n);return e.add(r),l(r),T(function(){e.delete(r),t&&t.active.delete(r)})}}}(),o=function(e){var t=e.typeKey,l=e.defaultDropEffect,n=new WeakMap,r="data-drop-target-for-".concat(t),a="[".concat(r,"]");function i(e){var t,l=e.eventName,r=e.payload,a=J(r.location.current.dropTargets);try{for(a.s();!(t=a.n()).done;){var i,o=t.value,s=n.get(o.element),d=W(W({},r),{},{self:o});null==s||null==(i=s[l])||i.call(s,d)}}catch(e){a.e(e)}finally{a.f()}}var o={onGenerateDragPreview:i,onDrag:i,onDragStart:i,onDrop:i,onDropTargetChange:function(e){var t,l=e.payload,r=new Set(l.location.current.dropTargets.map(function(e){return e.element})),a=new Set,i=J(l.location.previous.dropTargets);try{for(i.s();!(t=i.n()).done;){var o,s,d=t.value;a.add(d.element);var c=n.get(d.element),u=r.has(d.element),p=W(W({},l),{},{self:d});null==c||null==(o=c.onDropTargetChange)||o.call(c,p),u||null==c||null==(s=c.onDragLeave)||s.call(c,p)}}catch(e){i.e(e)}finally{i.f()}var m,x=J(l.location.current.dropTargets);try{for(x.s();!(m=x.n()).done;){var h,f,g=m.value;if(!a.has(g.element)){var v=W(W({},l),{},{self:g}),j=n.get(g.element);null==j||null==(h=j.onDropTargetChange)||h.call(j,v),null==j||null==(f=j.onDragEnter)||f.call(j,v)}}}catch(e){x.e(e)}finally{x.f()}}};return{dropTargetForConsumers:function(e){return T(U(_(e.element,{attribute:r,value:"true"}),(n.set(e.element,e),function(){return n.delete(e.element)})))},getIsOver:function(e){var t=e.source,r=e.target,i=e.input,o=e.current,s=function e(t){var r,i,o,s,d=t.source,c=t.target,u=t.input,p=t.result,m=void 0===p?[]:p;if(null==c)return m;if(!(c instanceof Element))return c instanceof Node?e({source:d,target:c.parentElement,input:u,result:m}):m;var x=c.closest(a);if(null==x)return m;var h=n.get(x);if(null==h)return m;var f={input:u,source:d,element:h.element};if(h.canDrop&&!h.canDrop(f))return e({source:d,target:h.element.parentElement,input:u,result:m});var g=null!=(r=null==(i=h.getData)?void 0:i.call(h,f))?r:{},v=null!=(o=null==(s=h.getDropEffect)?void 0:s.call(h,f))?o:l,j={data:g,element:h.element,dropEffect:v,isActiveDueToStickiness:!1};return e({source:d,target:h.element.parentElement,input:u,result:[].concat(N(m),[j])})}({source:t,target:r,input:i});if(s.length>=o.length)return s;for(var d=V(o),c=V(s),u=[],p=0;p<d.length;p++){var m,x=d[p],h=c[p];if(null!=h){u.push(h);continue}var f=u[p-1],g=d[p-1];if((null==f?void 0:f.element)!==(null==g?void 0:g.element))break;var v=n.get(x.element);if(!v)break;var j={input:i,source:t,element:v.element};if(v.canDrop&&!v.canDrop(j)||!(null!=(m=v.getIsSticky)&&m.call(v,j)))break;u.push(W(W({},x),{},{isActiveDueToStickiness:!0}))}return V(u)},dispatchEvent:function(e){o[e.eventName](e)}}}({typeKey:t,defaultDropEffect:a});function s(e){null==n||n(e),o.dispatchEvent(e),i.dispatchEvent(e),null==r||r(e)}function d(e){q({event:e.event,dragType:e.dragType,getDropTargetsOver:o.getIsOver,dispatchEvent:s})}return{registerUsage:function(){var e,n;return n=function(e){var t=e.typeKey,l=e.mount,n=G.get(t);if(n)return n.usageCount++,n;var r={typeKey:t,unmount:l(),usageCount:1};return G.set(t,r),r}(e={typeKey:t,mount:function(){return l({canStart:Y,start:d})}}),function(){n.usageCount--,n.usageCount>0||(n.unmount(),G.delete(e.typeKey))}},dropTarget:o.dropTargetForConsumers,monitor:i.monitorForConsumers}}({typeKey:"element",defaultDropEffect:"move",mount:function(e){return U(en.bindEvents(),(0,j.bind)(document,{type:"dragstart",listener:function(t){if(e.canStart(t)&&!t.defaultPrevented&&t.dataTransfer){var l,n,r,a,i,o,s=t.target;if(s instanceof HTMLElement){var d=el.get(s);if(d){var c=M(t),u={element:d.element,dragHandle:null!=(l=d.dragHandle)?l:null,input:c};if(d.canDrag&&!d.canDrag(u))return void t.preventDefault();if(d.dragHandle){var p=w({x:c.clientX,y:c.clientY});if(!d.dragHandle.contains(p))return void t.preventDefault()}var m=null!=(n=null==(r=d.getInitialDataForExternal)?void 0:r.call(d,u))?n:null;if(m)for(var x=0,h=Object.entries(m);x<h.length;x++){var f=v(h[x],2),g=f[0],j=f[1];t.dataTransfer.setData(g,null!=j?j:"")}!ee()||t.dataTransfer.types.includes(et)||t.dataTransfer.types.includes("text/uri-list")||t.dataTransfer.setData(et,"pdnd:android-fallback"),t.dataTransfer.setData("application/vnd.pdnd","");var y={element:d.element,dragHandle:null!=(a=d.dragHandle)?a:null,data:null!=(i=null==(o=d.getInitialData)?void 0:o.call(d,u))?i:{}};e.start({event:t,dragType:{type:"element",payload:y,startedFrom:"internal"}})}}}}}))},dispatchEventToSource:function(e){var t,l,n=e.eventName,r=e.payload;null==(t=el.get(r.source.element))||null==(l=t[n])||l.call(t,r)},onPostDispatch:en.getOnPostDispatch()}),ea=er.dropTarget;function ei(e){return T(U(er.registerUsage(),(el.set(e.element,e),function(){el.delete(e.element)}),_(e.element,{attribute:"draggable",value:"true"})))}er.monitor;let eo=(0,p.createContext)({pageId:"",designable:!1,plugins:[],schema:{info:{},datasources:[],scripts:[],variables:[],items:[]},selectedItem:null,setSchema:()=>{},setSelectedItem:()=>{},updateSelectedItem:()=>{},forceUpdate:()=>{},datasetSelector:void 0,fetch:void 0}),es=e=>{let{pageId:t,designable:l,plugins:n,schema:r,selectedItem:a,setSchema:i,setSelectedItem:o,datasetSelector:s,fetch:c,children:u}=e;return(0,d.jsx)(eo.Provider,{value:{pageId:t,designable:!!l,plugins:n||[],schema:r,selectedItem:a,setSchema:i||(()=>{}),setSelectedItem:o||(()=>{}),updateSelectedItem:e=>{null==o||o(Object.assign(a,e||{})),null==i||i({...r})},datasetSelector:s,fetch:c,forceUpdate:()=>{null==i||i({...r})}},children:u})},ed=e=>{var t;let{item:l,onDelete:n,parentList:r,onListChange:a,index:i}=e,{designable:o,selectedItem:s,setSelectedItem:c,plugins:u}=(0,p.useContext)(eo),[m,x]=(0,p.useState)(!1),h=null==(t=u.find(e=>e.key===l.type))?void 0:t.component;return((0,p.useEffect)(()=>{let e=()=>{if(!t.current)return;let e=document.getElementById(`page-item-${l.id}`);if(!e)return void r();let n=e.getBoundingClientRect();if(0===n.width&&0===n.height){t.current.style.display="none";return}t.current.style.display="flex";let a=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,i=window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0;t.current.style.top=`${n.top+a-22}px`,t.current.style.left=`${n.left+i-1}px`},t={current:null},r=()=>{if(t.current){let l=t.current.querySelector("a");l&&l.removeEventListener("click",a),document.body.contains(t.current)&&document.body.removeChild(t.current),t.current=null,window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e)}},a=e=>{e.stopPropagation(),n&&n()};if(s&&s===l&&o){let n=document.createElement("div");n.style.position="absolute",n.style.zIndex="1000",n.style.display="flex",n.style.gap="4px";let i=document.createElement("span");i.innerText=l.name||l.type+`(${l.id})`,i.style.background="#1890ff",i.style.color="#fff",i.style.fontSize="12px",i.style.borderTopLeftRadius="4px",i.style.borderTopRightRadius="4px",i.style.padding="2px 8px",i.style.cursor="pointer",i.style.userSelect="none",n.appendChild(i);let o=document.createElement("a");return o.innerText="X",o.style.background="#1890ff",o.style.color="#fff",o.style.fontSize="12px",o.style.borderTopLeftRadius="4px",o.style.borderTopRightRadius="4px",o.style.padding="2px 8px",o.style.cursor="pointer",o.style.userSelect="none",n.appendChild(o),o.addEventListener("click",a),document.body.appendChild(n),t.current=n,e(),window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),()=>r()}},[s,o,l,n]),(0,p.useEffect)(()=>{let e=document.getElementById(`page-item-${l.id}`);if(!e||!o)return;let t=ei({element:e,getInitialData:()=>({id:l.id,index:i,list:r,onListChange:a,data:l}),canDrag:()=>!!o,onDragStart:()=>{x(!0)},onDrop:()=>{x(!1)}}),n=e=>{e.stopPropagation(),c&&c(l)};return o&&e.addEventListener("click",n),()=>{t(),o&&e.removeEventListener("click",n)}},[o,l,i,r]),h)?(0,d.jsx)(h,{id:`page-item-${l.id}`,"data-item-id":l.id,...l.props||{},item:l,className:`page-item-component ${o?"designable":""} ${s===l?"selected":""}`,style:{...l.style||{},opacity:m?.5:1}}):null},ec=h().div`
3
3
  position: absolute;
4
4
  background: #1890ff;
5
5
  pointer-events: none;
@@ -373,7 +373,7 @@
373
373
  .conversation-list li small {
374
374
  white-space: nowrap;
375
375
  }
376
- `,e$=[],eY="bi-design",eH=e=>{let t,l,n,r,a,i,o,{agentList:s=e$,headExtra:c,style:u={},onEffect:x}=e,{pageId:h,fetch:f}=(0,p.useContext)(eo);if(!f)return null;let[g,v]=(0,p.useState)(null),[j,y]=(0,p.useState)([]),[b,w]=(0,p.useState)([]),C=m().useRef(null),S=()=>{setTimeout(()=>{C.current&&C.current.scrollToBottom()},100)},I=()=>{v(null),w([])},z=async e=>{ey.Modal.confirm({title:"确认删除该对话吗?",okText:"确认",cancelText:"取消",onOk:async()=>{var t;await (null==(t=f.ai)?void 0:t.removeConversation(eY,h,e)),y(t=>t.filter(t=>t.id!==e)),w(t=>t.filter(t=>t.conversationId!==e)),g===e&&I()}})},k=async e=>{var t;v(e),y(t=>t.map(t=>({...t,isActived:t.id===e}))),w(await (null==(t=f.ai)?void 0:t.messageList(eY,h,e))||[])},O=async e=>{var t;let l={id:ek(),question:e.message,createdAt:new Date().toISOString(),files:e.files||[],agents:e.agents||[],sending:!0};w(e=>[...e,l]),S();let{id:n,answer:r,createdAt:a,conversation:i}=await (null==(t=f.ai)?void 0:t.chat(eY,h,g,e));v((null==i?void 0:i.id)||""),y(e=>[...e,i||{}]),Object.assign(l,{id:n,answer:r,createdAt:a,conversationId:(null==i?void 0:i.id)||"",sending:!1}),r.effect&&(null==x||x(r.effect)),w(e=>[...e]),S()},N=async e=>{var t;await (null==(t=f.ai)?void 0:t.removeMessage(eY,h,e)),w(t=>t.filter(t=>t.id!==e))},T=(t=new Date,l=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),(n=new Date(t)).setDate(t.getDate()-1),r=[],a=[],i=[],o=[],j.forEach(e=>{let s=new Date(e.createdAt);if(l(s,t))r.push(e);else if(l(s,n))a.push(e);else s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()?i.push(e):o.push(e)}),[{title:"今天",items:r},{title:"昨天",items:a},{title:"本月内",items:i},{title:"很久以前",items:o}].filter(e=>e.items.length>0)),R=async()=>{try{var e,t;let l=await (null==(e=f.ai)?void 0:e.conversationList(eY,h));y(l||[]);let n=null==l?void 0:l.find(e=>e.isActived);if(n){v(n.id);let e=await (null==(t=f.ai)?void 0:t.messageList(eY,h,n.id));w(e||[])}}catch(e){console.error(e)}};return(0,p.useEffect)(()=>{R()},[f]),(0,p.useEffect)(()=>{S()},[]),(0,d.jsxs)(eP,{style:u,children:[(0,d.jsx)(eL,{title:"智能助理",extra:(0,d.jsxs)(ey.Space,{children:[(0,d.jsx)(ey.Tooltip,{title:"新对话",placement:"topRight",children:(0,d.jsx)("a",{onClick:I,children:(0,d.jsx)(ew,{type:"icon-chat-plus"})})}),(0,d.jsx)(ey.Dropdown,{trigger:["click"],styles:{root:{boxShadow:"var(--ant-box-shadow-drawer-up)",backgroundColor:"#ffffff",borderRadius:"var(--ant-border-radius)"}},popupRender:()=>(0,d.jsx)(eU,{children:T.map(e=>(0,d.jsxs)("div",{className:"group",children:[(0,d.jsx)("div",{className:"group-title",children:e.title}),(0,d.jsx)("ul",{className:"group-list",children:e.items.map(e=>(0,d.jsxs)("li",{className:e.isActived?"actived":"",children:[(0,d.jsx)("a",{onClick:()=>k(e.id),children:e.name}),(0,d.jsx)("small",{children:(0,d.jsx)("a",{onClick:()=>z(e.id),children:(0,d.jsx)(ej.DeleteOutlined,{})})})]},e.id))})]},e.title))}),placement:"topRight",children:(0,d.jsx)("a",{children:(0,d.jsx)(ej.HistoryOutlined,{})})}),c]}),style:{width:"initial"}}),(0,d.jsxs)("div",{className:"body",children:[(0,d.jsx)("div",{style:{flex:"1 1 auto",overflowY:"auto"},children:b.length?(0,d.jsx)(eK,{ref:C,list:b,onDeleteMessage:N}):(0,d.jsx)(eG,{})}),0===b.length&&j.length>0&&(0,d.jsx)(ey.Card,{title:"历史记录",size:"small",variant:"borderless",styles:{header:{padding:0,border:"none"},body:{padding:0}},style:{padding:"12px 12px 0 12px"},children:(0,d.jsx)("ul",{className:"conversation-list",children:j.slice(0,3).map(e=>(0,d.jsxs)("li",{children:[(0,d.jsxs)("a",{children:[(0,d.jsx)(ej.MessageOutlined,{}),e.name]}),(0,d.jsx)("small",{children:eO(e.createdAt)})]},e.id))})}),(0,d.jsx)(eB,{agentList:s,style:{padding:12},onUploading:null==f?void 0:f.upload,onSubmit:O})]})]})},eq=h().div`
376
+ `,e$=[],eY="bi-design",eH=e=>{let t,l,n,r,a,i,o,{agentList:s=e$,headExtra:c,style:u={},onEffect:x}=e,{pageId:h,fetch:f}=(0,p.useContext)(eo);if(!f)return null;let[g,v]=(0,p.useState)(null),[j,y]=(0,p.useState)([]),[b,w]=(0,p.useState)([]),C=m().useRef(null),S=()=>{setTimeout(()=>{C.current&&C.current.scrollToBottom()},100)},I=()=>{v(null),w([])},z=async e=>{ey.Modal.confirm({title:"确认删除该对话吗?",okText:"确认",cancelText:"取消",onOk:async()=>{var t;await (null==(t=f.ai)?void 0:t.removeConversation(eY,h,e)),y(t=>t.filter(t=>t.id!==e)),w(t=>t.filter(t=>t.conversationId!==e)),g===e&&I()}})},k=async e=>{var t;v(e),y(t=>t.map(t=>({...t,isActived:t.id===e}))),w(await (null==(t=f.ai)?void 0:t.messageList(eY,h,e))||[])},O=async e=>{var t;let l={id:ek(),question:e.message,createdAt:new Date().toISOString(),files:e.files||[],agents:e.agents||[],sending:!0};w(e=>[...e,l]),S();let n=!g,{id:r,answer:a,createdAt:i,conversation:o}=await (null==(t=f.ai)?void 0:t.chat(eY,h,g,e));v((null==o?void 0:o.id)||""),y(e=>[n?o||{}:null,...e].filter(e=>null!==e)),Object.assign(l,{id:r,answer:a,createdAt:i,conversationId:(null==o?void 0:o.id)||"",sending:!1}),a.effect&&(null==x||x(a.effect)),w(e=>[...e]),S()},N=async e=>{var t;await (null==(t=f.ai)?void 0:t.removeMessage(eY,h,e)),w(t=>t.filter(t=>t.id!==e))},T=(t=new Date,l=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),(n=new Date(t)).setDate(t.getDate()-1),r=[],a=[],i=[],o=[],j.forEach(e=>{let s=new Date(e.createdAt);if(l(s,t))r.push(e);else if(l(s,n))a.push(e);else s.getFullYear()===t.getFullYear()&&s.getMonth()===t.getMonth()?i.push(e):o.push(e)}),[{title:"今天",items:r},{title:"昨天",items:a},{title:"本月内",items:i},{title:"很久以前",items:o}].filter(e=>e.items.length>0)),R=async()=>{try{var e,t;let l=await (null==(e=f.ai)?void 0:e.conversationList(eY,h));y(l||[]);let n=null==l?void 0:l.find(e=>e.isActived);if(n){v(n.id);let e=await (null==(t=f.ai)?void 0:t.messageList(eY,h,n.id));w(e||[])}}catch(e){console.error(e)}};return(0,p.useEffect)(()=>{R()},[f]),(0,p.useEffect)(()=>{S()},[]),(0,d.jsxs)(eP,{style:u,children:[(0,d.jsx)(eL,{title:"智能助理",extra:(0,d.jsxs)(ey.Space,{children:[(0,d.jsx)(ey.Tooltip,{title:"新对话",placement:"topRight",children:(0,d.jsx)("a",{onClick:I,children:(0,d.jsx)(ew,{type:"icon-chat-plus"})})}),(0,d.jsx)(ey.Dropdown,{trigger:["click"],styles:{root:{boxShadow:"var(--ant-box-shadow-drawer-up)",backgroundColor:"#ffffff",borderRadius:"var(--ant-border-radius)"}},popupRender:()=>(0,d.jsx)(eU,{children:T.map(e=>(0,d.jsxs)("div",{className:"group",children:[(0,d.jsx)("div",{className:"group-title",children:e.title}),(0,d.jsx)("ul",{className:"group-list",children:e.items.map(e=>(0,d.jsxs)("li",{className:e.isActived?"actived":"",children:[(0,d.jsx)("a",{onClick:()=>k(e.id),children:e.name}),(0,d.jsx)("small",{children:(0,d.jsx)("a",{onClick:()=>z(e.id),children:(0,d.jsx)(ej.DeleteOutlined,{})})})]},e.id))})]},e.title))}),placement:"topRight",children:(0,d.jsx)("a",{children:(0,d.jsx)(ej.HistoryOutlined,{})})}),c]}),style:{width:"initial"}}),(0,d.jsxs)("div",{className:"body",children:[(0,d.jsx)("div",{style:{flex:"1 1 auto",overflowY:"auto"},children:b.length?(0,d.jsx)(eK,{ref:C,list:b,onDeleteMessage:N}):(0,d.jsx)(eG,{})}),0===b.length&&j.length>0&&(0,d.jsx)(ey.Card,{title:"历史记录",size:"small",variant:"borderless",styles:{header:{padding:0,border:"none"},body:{padding:0}},style:{padding:"12px 12px 0 12px"},children:(0,d.jsx)("ul",{className:"conversation-list",children:j.slice(0,3).map(e=>(0,d.jsxs)("li",{children:[(0,d.jsxs)("a",{children:[(0,d.jsx)(ej.MessageOutlined,{}),e.name]}),(0,d.jsx)("small",{children:eO(e.createdAt)})]},e.id))})}),(0,d.jsx)(eB,{agentList:s,style:{padding:12},onUploading:null==f?void 0:f.upload,onSubmit:O})]})]})},eq=h().div`
377
377
  flex: 1 1 auto;
378
378
  display: flex;
379
379
  align-items: center;
@@ -492,8 +492,6 @@
492
492
  background: var(--ant-color-bg-container);
493
493
 
494
494
  .user-message {
495
- background: var(--ant-color-primary-bg);
496
- padding: 8px 10px;
497
495
  max-width: 90%;
498
496
  margin: 10px 0 10px auto;
499
497
  position: relative;
@@ -512,7 +510,13 @@
512
510
  .msg-header {
513
511
  justify-content: flex-end;
514
512
  color: var(--ant-color-text-tertiary);
515
- padding: 4px 0 8px 0;
513
+ padding: 4px 10px 8px 10px;
514
+ }
515
+
516
+ .msg-section {
517
+ background: var(--ant-color-primary-bg);
518
+ padding: 8px 10px;
519
+ border-radius: var(--ant-border-radius);
516
520
  }
517
521
  }
518
522
  .assistant-message {
@@ -596,7 +600,7 @@
596
600
  }
597
601
  }
598
602
  }
599
- `,eK=(0,p.forwardRef)((e,t)=>{let{list:l,onDeleteMessage:n}=e,r=(0,p.useRef)(null),a=()=>{setTimeout(()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},100)};return(0,p.useImperativeHandle)(t,()=>({scrollToBottom:a})),(0,d.jsx)(e_,{className:"message-list",ref:r,children:l.map(e=>{var t,l,r,a,i,o,s,c,u;return(0,d.jsxs)("div",{className:"msg",children:[(0,d.jsxs)("div",{className:"user-message",children:[(0,d.jsx)(ey.Space,{size:4,orientation:"vertical",className:"msg-tools",children:(0,d.jsx)(ey.Popconfirm,{title:"确认删除吗?",okText:"确认",cancelText:"取消",onConfirm:()=>n(e.id),children:(0,d.jsx)(ey.Tooltip,{title:"删除",children:(0,d.jsx)(ey.Button,{type:"link",size:"small",icon:(0,d.jsx)(ej.DeleteOutlined,{})})})})}),(0,d.jsx)("div",{className:"msg-header",children:(0,d.jsx)("span",{children:eO(e.createdAt)})}),(0,d.jsx)("div",{className:"msg-content",children:e.question}),(null==(t=e.files)?void 0:t.length)||(null==(l=e.agents)?void 0:l.length)?(0,d.jsxs)("div",{className:"msg-meta",children:[null==(r=e.files)?void 0:r.map(e=>(0,d.jsxs)(ey.Tag,{color:"processing",children:[(0,d.jsx)(ew,{type:"icon-paper-clip"})," ",e.name]},e.id)),null==(a=e.agents)?void 0:a.map(e=>(0,d.jsxs)(ey.Tag,{color:"blue",children:[(0,d.jsx)(ew,{type:"icon-at"})," ",e.name]},e.id))]}):null]}),(0,d.jsxs)("div",{className:"assistant-message",children:[(0,d.jsx)("div",{className:"msg-header",children:(0,d.jsxs)("span",{className:"msg-title",children:[(0,d.jsx)(ej.RobotOutlined,{})," 智能助理"]})}),(0,d.jsx)("div",{className:"msg-section",children:e.sending?(0,d.jsx)(ey.Skeleton,{active:!0}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"msg-content",children:(null==(i=e.answer)?void 0:i.answer)||""}),!!(null==(s=e.answer)||null==(o=s.plans)?void 0:o.length)&&(0,d.jsxs)("details",{className:"msg-ai-meta",open:!0,children:[(0,d.jsx)("summary",{className:"msg-ai-meta-title",children:"PLANS:"}),(0,d.jsx)("div",{className:"msg-ai-meta-list",children:e.answer.plans.map((e,t)=>(0,d.jsx)(ey.Tooltip,{title:e.description,children:(0,d.jsx)(ey.Tag,{color:"blue",children:e.name})},t))})]}),!!(null==(u=e.answer)||null==(c=u.extra)?void 0:c.length)&&(0,d.jsxs)("details",{className:"msg-ai-meta",open:!0,children:[(0,d.jsx)("summary",{className:"msg-ai-meta-title",children:"ACTIONS:"}),(0,d.jsx)("div",{className:"msg-ai-meta-list vertical",children:e.answer.extra.map((e,t)=>(0,d.jsxs)("div",{className:"msg-ai-meta-list-item",children:[(0,d.jsx)(ey.Tag,{color:"gold",children:e.element}),(0,d.jsx)("span",{children:e.action})]},t))})]})]})})]})]},e.id)})})}),eW=h().div`
603
+ `,eK=(0,p.forwardRef)((e,t)=>{let{list:l,onDeleteMessage:n}=e,r=(0,p.useRef)(null),a=()=>{setTimeout(()=>{r.current&&(r.current.scrollTop=r.current.scrollHeight)},100)};return(0,p.useImperativeHandle)(t,()=>({scrollToBottom:a})),(0,d.jsx)(e_,{className:"message-list",ref:r,children:l.map(e=>{var t,l,r,a,i,o,s,c,u;return(0,d.jsxs)("div",{className:"msg",children:[(0,d.jsxs)("div",{className:"user-message",children:[(0,d.jsx)(ey.Space,{size:4,orientation:"vertical",className:"msg-tools",children:(0,d.jsx)(ey.Popconfirm,{title:"确认删除吗?",okText:"确认",cancelText:"取消",onConfirm:()=>n(e.id),children:(0,d.jsx)(ey.Tooltip,{title:"删除",children:(0,d.jsx)(ey.Button,{type:"link",size:"small",icon:(0,d.jsx)(ej.DeleteOutlined,{})})})})}),(0,d.jsx)("div",{className:"msg-header",children:(0,d.jsx)("span",{children:eO(e.createdAt)})}),(0,d.jsxs)("div",{className:"msg-section",children:[(0,d.jsx)("div",{className:"msg-content",children:e.question}),(null==(t=e.files)?void 0:t.length)||(null==(l=e.agents)?void 0:l.length)?(0,d.jsxs)("div",{className:"msg-meta",children:[null==(r=e.files)?void 0:r.map(e=>(0,d.jsxs)(ey.Tag,{color:"processing",children:[(0,d.jsx)(ew,{type:"icon-paper-clip"})," ",e.name]},e.id)),null==(a=e.agents)?void 0:a.map(e=>(0,d.jsxs)(ey.Tag,{color:"blue",children:[(0,d.jsx)(ew,{type:"icon-at"})," ",e.name]},e.id))]}):null]})]}),(0,d.jsxs)("div",{className:"assistant-message",children:[(0,d.jsx)("div",{className:"msg-header",children:(0,d.jsxs)("span",{className:"msg-title",children:[(0,d.jsx)(ej.RobotOutlined,{})," 智能助理"]})}),(0,d.jsx)("div",{className:"msg-section",children:e.sending?(0,d.jsx)(ey.Skeleton,{active:!0}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"msg-content",children:(null==(i=e.answer)?void 0:i.answer)||""}),!!(null==(s=e.answer)||null==(o=s.plans)?void 0:o.length)&&(0,d.jsxs)("details",{className:"msg-ai-meta",open:!0,children:[(0,d.jsx)("summary",{className:"msg-ai-meta-title",children:"PLANS:"}),(0,d.jsx)("div",{className:"msg-ai-meta-list",children:e.answer.plans.map((e,t)=>(0,d.jsx)(ey.Tooltip,{title:e.description,children:(0,d.jsx)(ey.Tag,{color:"blue",children:e.name})},t))})]}),!!(null==(u=e.answer)||null==(c=u.extra)?void 0:c.length)&&(0,d.jsxs)("details",{className:"msg-ai-meta",open:!0,children:[(0,d.jsx)("summary",{className:"msg-ai-meta-title",children:"ACTIONS:"}),(0,d.jsx)("div",{className:"msg-ai-meta-list vertical",children:e.answer.extra.map((e,t)=>(0,d.jsxs)("div",{className:"msg-ai-meta-list-item",children:[(0,d.jsx)(ey.Tag,{color:"gold",children:e.element}),(0,d.jsx)("span",{children:e.action})]},t))})]})]})})]})]},e.id)})})}),eW=h().div`
600
604
  display: flex;
601
605
  flex-direction: column;
602
606
  height: 100%;
@@ -896,7 +900,7 @@
896
900
  flex-direction: column;
897
901
  gap: 12px;
898
902
  padding: 12px;
899
- height: calc(100% - 40px);
903
+ height: calc(100% - 49px);
900
904
  }
901
905
  .left-pane-tabs > label,
902
906
  .right-pane-tabs > label {
@@ -1020,7 +1024,7 @@
1020
1024
  const module = undefined;
1021
1025
  const exports = undefined;
1022
1026
  ${e.customRender}
1023
- `)(console,Math,Date,Array,Object,String,Number,Boolean,t,l,n):e.render})),g=()=>{console.log("callback table",eS(m,l))};return(0,p.useEffect)(()=>{x({id:l.id,callback:g})},[]),(0,d.jsx)(ey.Table,{id:t,dataSource:n,columns:f,pagination:h,bordered:i,size:o,showHeader:"boolean"!=typeof s||s,rowKey:(e,t)=>String(t),style:{padding:1,...c},className:u})},formComponent:e=>{let{model:t,onChange:l}=e,n=(e,n)=>l&&l({...t,[e]:n}),r=(e,l)=>{let r=[...t.columns||[]];r[e]={...r[e],...l},n("columns",r)},[a,i]=(0,p.useState)(!1),[o,s]=(0,p.useState)(null),c=null!=o&&t.columns[o]?t.columns[o]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1},u=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex"},{title:"操作",width:80,align:"center",render:(e,l,r)=>(0,d.jsxs)(ey.Space,{children:[(0,d.jsx)("a",{onClick:()=>{s(r),i(!0)},children:(0,d.jsx)(ej.EditOutlined,{})}),(0,d.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),n("columns",e)},children:(0,d.jsx)(ej.DeleteOutlined,{})})]})}];return(0,d.jsxs)("div",{children:[(0,d.jsxs)(ey.Form,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,d.jsx)(ey.Form.Item,{label:"大小",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",value:t.size,onChange:e=>n("size",e.target.value),children:[(0,d.jsx)(ey.Radio.Button,{value:"small",children:"小"}),(0,d.jsx)(ey.Radio.Button,{value:"middle",children:"中"}),(0,d.jsx)(ey.Radio.Button,{value:"large",children:"大"})]})}),(0,d.jsx)(ey.Form.Item,{label:"边框",children:(0,d.jsx)(ey.Switch,{size:"small",checked:!!t.bordered,onChange:e=>n("bordered",e)})}),(0,d.jsx)(ey.Form.Item,{label:"显示表头",children:(0,d.jsx)(ey.Switch,{size:"small",checked:!!t.showHeader,onChange:e=>n("showHeader",e)})}),(0,d.jsx)(ey.Form.Item,{label:"分页大小",children:(0,d.jsx)(ey.InputNumber,{size:"small",value:t.pageSize,onChange:e=>n("pageSize",e)})})]}),(0,d.jsx)(ey.Divider,{children:"表格列设置"}),(0,d.jsx)(ey.Table,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:u,pagination:!1,bordered:!0}),(0,d.jsx)(ey.Button,{size:"small",onClick:()=>{n("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,d.jsx)(ey.Modal,{title:"编辑列",open:a,footer:null,width:400,onCancel:()=>i(!1),children:(0,d.jsx)(ey.Form,{layout:"vertical",children:(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,d.jsx)(ey.Form.Item,{label:"列名",children:(0,d.jsx)(ey.Input,{value:c.title,onChange:e=>r(o,{title:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"数据索引",children:(0,d.jsx)(ey.Input,{value:c.dataIndex,onChange:e=>r(o,{dataIndex:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"宽度",children:(0,d.jsx)(ey.Input,{value:c.width,onChange:e=>r(o,{width:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"对齐",children:(0,d.jsxs)(ey.Radio.Group,{value:c.align,onChange:e=>r(o,{align:e.target.value}),children:[(0,d.jsx)(ey.Radio.Button,{value:"left",children:(0,d.jsx)(ej.AlignLeftOutlined,{})}),(0,d.jsx)(ey.Radio.Button,{value:"center",children:(0,d.jsx)(ej.AlignCenterOutlined,{})}),(0,d.jsx)(ey.Radio.Button,{value:"right",children:(0,d.jsx)(ej.AlignRightOutlined,{})})]})}),(0,d.jsx)(ey.Form.Item,{label:"省略",children:(0,d.jsx)(ey.Switch,{checked:!!c.ellipsis,onChange:e=>r(o,{ellipsis:e})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:null},props:{size:"default",bordered:!0,showHeader:!0,pageSize:10,dataSource:[{name:"苹果",count:12},{name:"华为",count:803},{name:"OPPO",count:654},{name:"vivo",count:719}],columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:l=10,bordered:n=!0,size:r="default",itemLayout:a="horizontal",item:i,split:o=!0,style:s={},className:c}=e,{env:u,initCallback:m}=(0,p.useContext)(ex),x=th(t,i.datasource)||[],h=(0,p.useMemo)(()=>!!l&&!(l<=x.length)&&{total:x.length,pageSize:l,size:"default"===r?void 0:r,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[l,x.length,r]),f=["p-list",a?`p-list--${a}`:void 0,r?`p-list--${r}`:void 0,o?"p-list--split":void 0,n?"p-list--bordered":void 0,c],g=()=>{console.log("callback list",eS(u,i))};return(0,p.useEffect)(()=>{m({id:i.id,callback:g})},[]),(0,d.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...s},className:f.filter(Boolean).join(" "),children:[(0,d.jsx)(tS,{list:x,split:o,bordered:n,size:r,itemLayout:a}),h&&(0,d.jsx)(ey.Pagination,{...h})]})},formComponent:e=>{let{model:t,onChange:l}=e,[n]=ey.Form.useForm();return(0,p.useEffect)(()=>{n.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,n]),(0,d.jsxs)(ey.Form,{form:n,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==l||l({...t,...e})},children:[(0,d.jsx)(ey.Form.Item,{label:"大小",name:"size",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,d.jsx)(ey.Radio.Button,{value:"default",children:"默认"}),(0,d.jsx)(ey.Radio.Button,{value:"small",children:"小"})]})}),(0,d.jsx)(ey.Form.Item,{label:"布局",name:"itemLayout",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,d.jsx)(ey.Radio.Button,{value:"horizontal",children:"水平"}),(0,d.jsx)(ey.Radio.Button,{value:"vertical",children:"垂直"})]})}),(0,d.jsx)(ey.Form.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,d.jsx)(ey.Switch,{size:"small"})}),(0,d.jsx)(ey.Form.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,d.jsx)(ey.Switch,{size:"small"})}),(0,d.jsx)(ey.Form.Item,{label:"分页大小",name:"pageSize",children:(0,d.jsx)(ey.InputNumber,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:l="",item:n,style:r,className:a}=e,{env:i,initCallback:o}=(0,p.useContext)(ex),s=th(t,n.datasource),c=(0,p.useMemo)(()=>Object.keys(s||{}),[s]),u=(0,p.useMemo)(()=>c.map(e=>null==s?void 0:s[e]),[c,s]),m=(0,p.useMemo)(()=>(l||"").replace(/{{\s*([^}]+)\s*}}/g,(e,t)=>{try{return Function(...c,`
1027
+ `)(console,Math,Date,Array,Object,String,Number,Boolean,t,l,n):e.render})),g=()=>{console.log("callback table",eS(m,l))};return(0,p.useEffect)(()=>{x({id:l.id,callback:g})},[]),(0,d.jsx)(ey.Table,{id:t,dataSource:n,columns:f,pagination:h,bordered:i,size:o,showHeader:"boolean"!=typeof s||s,rowKey:(e,t)=>String(t),style:{padding:1,...c},className:u})},formComponent:e=>{let{model:t,onChange:l}=e,n=(e,n)=>l&&l({...t,[e]:n}),r=(e,l)=>{let r=[...t.columns||[]];r[e]={...r[e],...l},n("columns",r)},[a,i]=(0,p.useState)(!1),[o,s]=(0,p.useState)(null),c=null!=o&&t.columns[o]?t.columns[o]:{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1},u=[{title:"列名",dataIndex:"title"},{title:"数据索引",dataIndex:"dataIndex"},{title:"操作",width:80,align:"center",render:(e,l,r)=>(0,d.jsxs)(ey.Space,{children:[(0,d.jsx)("a",{onClick:()=>{s(r),i(!0)},children:(0,d.jsx)(ej.EditOutlined,{})}),(0,d.jsx)("a",{onClick:()=>{let e;(e=[...t.columns||[]]).splice(r,1),n("columns",e)},children:(0,d.jsx)(ej.DeleteOutlined,{})})]})}];return(0,d.jsxs)("div",{children:[(0,d.jsxs)(ey.Form,{labelCol:{span:12},wrapperCol:{span:12},children:[(0,d.jsx)(ey.Form.Item,{label:"大小",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",value:t.size,onChange:e=>n("size",e.target.value),children:[(0,d.jsx)(ey.Radio.Button,{value:"small",children:"小"}),(0,d.jsx)(ey.Radio.Button,{value:"middle",children:"中"}),(0,d.jsx)(ey.Radio.Button,{value:"large",children:"大"})]})}),(0,d.jsx)(ey.Form.Item,{label:"边框",children:(0,d.jsx)(ey.Switch,{size:"small",checked:!!t.bordered,onChange:e=>n("bordered",e)})}),(0,d.jsx)(ey.Form.Item,{label:"显示表头",children:(0,d.jsx)(ey.Switch,{size:"small",checked:!!t.showHeader,onChange:e=>n("showHeader",e)})}),(0,d.jsx)(ey.Form.Item,{label:"分页大小",children:(0,d.jsx)(ey.InputNumber,{size:"small",value:t.pageSize,onChange:e=>n("pageSize",e)})})]}),(0,d.jsx)(ey.Divider,{children:"表格列设置"}),(0,d.jsx)(ey.Table,{size:"small",dataSource:t.columns,rowKey:(e,t)=>String(t),columns:u,pagination:!1,bordered:!0}),(0,d.jsx)(ey.Button,{size:"small",onClick:()=>{n("columns",[...t.columns||[],{title:"",dataIndex:"",width:"",align:"left",ellipsis:!1}])},block:!0,children:"添加列"}),(0,d.jsx)(ey.Modal,{title:"编辑列",open:a,footer:null,width:400,onCancel:()=>i(!1),children:(0,d.jsx)(ey.Form,{layout:"vertical",children:(0,d.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12},children:[(0,d.jsx)(ey.Form.Item,{label:"列名",children:(0,d.jsx)(ey.Input,{value:c.title,onChange:e=>r(o,{title:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"数据索引",children:(0,d.jsx)(ey.Input,{value:c.dataIndex,onChange:e=>r(o,{dataIndex:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"宽度",children:(0,d.jsx)(ey.Input,{value:c.width,onChange:e=>r(o,{width:e.target.value})})}),(0,d.jsx)(ey.Form.Item,{label:"对齐",children:(0,d.jsxs)(ey.Radio.Group,{value:c.align,onChange:e=>r(o,{align:e.target.value}),children:[(0,d.jsx)(ey.Radio.Button,{value:"left",children:(0,d.jsx)(ej.AlignLeftOutlined,{})}),(0,d.jsx)(ey.Radio.Button,{value:"center",children:(0,d.jsx)(ej.AlignCenterOutlined,{})}),(0,d.jsx)(ey.Radio.Button,{value:"right",children:(0,d.jsx)(ej.AlignRightOutlined,{})})]})}),(0,d.jsx)(ey.Form.Item,{label:"省略",children:(0,d.jsx)(ey.Switch,{checked:!!c.ellipsis,onChange:e=>r(o,{ellipsis:e})})})]})})})]})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:null},props:{size:"default",bordered:!0,showHeader:!0,pageSize:10,dataSource:[{name:"苹果",count:12},{name:"华为",count:803},{name:"OPPO",count:654},{name:"vivo",count:719}],columns:[{title:"品牌",dataIndex:"name"},{title:"日销量(件)",dataIndex:"count"}]}}},{group:"基础组件",key:"b-list",label:"列表",icon:"icon-unordered-list",component:e=>{let{id:t,pageSize:l=10,bordered:n=!0,size:r="default",itemLayout:a="horizontal",item:i,split:o=!0,style:s={},className:c}=e,{env:u,initCallback:m}=(0,p.useContext)(ex),x=th(t,i.datasource)||[],h=(0,p.useMemo)(()=>!!l&&!(l<=x.length)&&{total:x.length,pageSize:l,size:"default"===r?void 0:r,showSizeChanger:!0,showQuickJumper:!0,hideOnSinglePage:!0,pageSizeOptions:["10","20","30","40"],showTotal:(e,t)=>`共 ${e} 条记录,显示第 ${t[0]}-${t[1]} 条`},[l,x.length,r]),f=["p-list",a?`p-list--${a}`:void 0,r?`p-list--${r}`:void 0,o?"p-list--split":void 0,n?"p-list--bordered":void 0,c],g=()=>{console.log("callback list",eS(u,i))};return(0,p.useEffect)(()=>{m({id:i.id,callback:g})},[]),(0,d.jsxs)("div",{id:t,style:{display:"flex",flexDirection:"column",...s},className:f.filter(Boolean).join(" "),children:[(0,d.jsx)(tS,{list:x,split:o,bordered:n,size:r,itemLayout:a}),h&&(0,d.jsx)(ey.Pagination,{...h})]})},formComponent:e=>{let{model:t,onChange:l}=e,[n]=ey.Form.useForm();return(0,p.useEffect)(()=>{n.setFieldsValue({size:t.size||"default",itemLayout:t.itemLayout||"horizontal",bordered:t.bordered??!1,split:t.split??!0,pageSize:t.pageSize||10})},[t,n]),(0,d.jsxs)(ey.Form,{form:n,labelCol:{span:12},wrapperCol:{span:12},onValuesChange:e=>{null==l||l({...t,...e})},children:[(0,d.jsx)(ey.Form.Item,{label:"大小",name:"size",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,d.jsx)(ey.Radio.Button,{value:"default",children:"默认"}),(0,d.jsx)(ey.Radio.Button,{value:"small",children:"小"})]})}),(0,d.jsx)(ey.Form.Item,{label:"布局",name:"itemLayout",children:(0,d.jsxs)(ey.Radio.Group,{size:"small",buttonStyle:"solid",children:[(0,d.jsx)(ey.Radio.Button,{value:"horizontal",children:"水平"}),(0,d.jsx)(ey.Radio.Button,{value:"vertical",children:"垂直"})]})}),(0,d.jsx)(ey.Form.Item,{label:"边框",name:"bordered",valuePropName:"checked",children:(0,d.jsx)(ey.Switch,{size:"small"})}),(0,d.jsx)(ey.Form.Item,{label:"分割线",name:"split",valuePropName:"checked",children:(0,d.jsx)(ey.Switch,{size:"small"})}),(0,d.jsx)(ey.Form.Item,{label:"分页大小",name:"pageSize",children:(0,d.jsx)(ey.InputNumber,{size:"small"})})]})},defaultOptions:{datasource:{source:"custom",custom:"[]"},props:{size:"default",itemLayout:"horizontal",bordered:!0,split:!0,pageSize:10}}},{group:"基础组件",key:"b-html",label:"HTML",icon:"icon-html",component:e=>{let{id:t,template:l="",item:n,style:r,className:a,classNames:i=[]}=e,{env:o,initCallback:s}=(0,p.useContext)(ex),c=th(t,n.datasource),u=(0,p.useMemo)(()=>Object.keys(c||{}),[c]),m=(0,p.useMemo)(()=>u.map(e=>null==c?void 0:c[e]),[u,c]),x=(0,p.useMemo)(()=>(l||"").replace(/{{\s*([^}]+)\s*}}/g,(e,t)=>{try{return Function(...u,`
1024
1028
  "use strict";
1025
1029
  const window = undefined;
1026
1030
  const document = undefined;
@@ -1030,7 +1034,7 @@
1030
1034
  const module = undefined;
1031
1035
  const exports = undefined;
1032
1036
  return ${t};
1033
- `)(...u)}catch{return""}}),[l,u]),x=()=>{console.log("callback html",eS(i,n))};return(0,p.useEffect)(()=>{o({id:n.id,callback:x})},[]),(0,d.jsx)("div",{id:t,style:r,className:a,dangerouslySetInnerHTML:{__html:m}})},formComponent:e=>{let{model:t,onChange:l}=e,n=(0,p.useRef)(null);return(0,d.jsx)("div",{children:(0,d.jsx)(ey.Form,{layout:"vertical",children:(0,d.jsx)(ey.Form.Item,{label:(0,d.jsxs)(d.Fragment,{children:["模板",(0,d.jsxs)("a",{onClick:()=>{var e,t;let l=null==(e=n.current)?void 0:e.editor;null==l||null==(t=l.getAction("editor.action.formatDocument"))||t.run()},children:[(0,d.jsx)(ew,{type:"icon-formate"})," 格式化"]})]}),className:"ant-form-item-label-space",children:(0,d.jsx)("div",{style:{border:"1px solid #d9d9d9",borderRadius:4,textAlign:"left"},children:(0,d.jsx)(eV(),{onMount:e=>{n.current={editor:e}},height:"300px",defaultLanguage:"html",value:t.template,onChange:e=>{let n;return n=e||"",l&&l({...t,template:n||""})},options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2}})})})})})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'{"name": "Confucius"}'},props:{template:"<div>{{name}}, welcome to the world of programming.</div>"}}},{group:"基础组件",key:"b-echarts",label:"图表",icon:"icon-echarts",component:e=>{let{id:t,script:l="",item:n,height:r=400,style:a,className:i}=e,{initCallback:o,env:s}=(0,p.useContext)(ex),c=(0,p.useRef)(null),[u,m]=(0,p.useState)(null),x=th(t,n.datasource),h=()=>{console.log("callback echarts",eS(s,n))};return(0,p.useEffect)(()=>{if(!c.current)return;let e=tI.init(c.current);m(e);let t=()=>e.resize();return window.addEventListener("resize",t),o({id:n.id,callback:h}),()=>{window.removeEventListener("resize",t),e.dispose()}},[]),(0,p.useEffect)(()=>{let e=(e=>{try{return JSON.parse(e)}catch(t){try{return Function("echarts","console","Math","Date","Array","Object","String","Number","Boolean","data",`
1037
+ `)(...m)}catch{return""}}),[l,m]),h=()=>{console.log("callback html",eS(o,n))};return(0,p.useEffect)(()=>{s({id:n.id,callback:h})},[]),(0,d.jsx)("div",{id:t,style:r,className:(i||[]).join(" ")+" "+a,dangerouslySetInnerHTML:{__html:x}})},formComponent:e=>{let{model:t,onChange:l}=e,n=(0,p.useRef)(null),r=(e,n)=>l&&l({...t,[e]:n});return(0,d.jsx)("div",{children:(0,d.jsxs)(ey.Form,{layout:"vertical",children:[(0,d.jsx)(ey.Form.Item,{label:"类名",children:(0,d.jsx)(ey.Select,{size:"small",value:t.classNames,mode:"tags",onChange:e=>r("classNames",e)})}),(0,d.jsx)(ey.Form.Item,{label:(0,d.jsxs)(d.Fragment,{children:["模板",(0,d.jsxs)("a",{onClick:()=>{var e,t;let l=null==(e=n.current)?void 0:e.editor;null==l||null==(t=l.getAction("editor.action.formatDocument"))||t.run()},children:[(0,d.jsx)(ew,{type:"icon-formate"})," 格式化"]})]}),className:"ant-form-item-label-space",children:(0,d.jsx)("div",{style:{border:"1px solid #d9d9d9",borderRadius:4,textAlign:"left"},children:(0,d.jsx)(eV(),{onMount:e=>{n.current={editor:e}},height:"300px",defaultLanguage:"html",value:t.template,onChange:e=>r("template",e||""),options:{minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2}})})})]})})},defaultOptions:{datasource:{source:"custom",datasourceId:null,scriptId:null,custom:'{"name": "Confucius"}'},props:{template:"<div>{{name}}, welcome to the world of programming.</div>"}}},{group:"基础组件",key:"b-echarts",label:"图表",icon:"icon-echarts",component:e=>{let{id:t,script:l="",item:n,height:r=400,style:a,className:i}=e,{initCallback:o,env:s}=(0,p.useContext)(ex),c=(0,p.useRef)(null),[u,m]=(0,p.useState)(null),x=th(t,n.datasource),h=()=>{console.log("callback echarts",eS(s,n))};return(0,p.useEffect)(()=>{if(!c.current)return;let e=tI.init(c.current);m(e);let t=()=>e.resize();return window.addEventListener("resize",t),o({id:n.id,callback:h}),()=>{window.removeEventListener("resize",t),e.dispose()}},[]),(0,p.useEffect)(()=>{let e=(e=>{try{return JSON.parse(e)}catch(t){try{return Function("echarts","console","Math","Date","Array","Object","String","Number","Boolean","data",`
1034
1038
  "use strict";
1035
1039
  const window = undefined;
1036
1040
  const document = undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bi-sdk-react",
3
- "version": "0.0.8",
3
+ "version": "0.0.10",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/umd/js/bi-sdk.umd.min.js",
@@ -44,7 +44,7 @@ import { ScriptPanel } from "./panel/ScriptPanel";
44
44
  import { VariablesPanel } from "./panel/VariablesPanel";
45
45
 
46
46
  import { Editor } from "@monaco-editor/react";
47
- import { DesignerProvider } from "./context/DesignerContext";
47
+ import { PageProvider } from "./context/PageContext";
48
48
  import { useDeepCompareEffect } from "./hooks/useDeepCompareEffect";
49
49
  import "./styles.css";
50
50
  import {
@@ -144,7 +144,7 @@ const Container = styled.div`
144
144
  flex-direction: column;
145
145
  gap: 12px;
146
146
  padding: 12px;
147
- height: calc(100% - 40px);
147
+ height: calc(100% - 49px);
148
148
  }
149
149
  .left-pane-tabs > label,
150
150
  .right-pane-tabs > label {
@@ -415,7 +415,7 @@ export const PageDesigner = React.forwardRef<any, PageDesignerProps>(
415
415
  }, [selectedItem, rightPanelActiveKey]);
416
416
 
417
417
  return (
418
- <DesignerProvider
418
+ <PageProvider
419
419
  pageId={pageId}
420
420
  designable={designable}
421
421
  plugins={plugins}
@@ -780,7 +780,7 @@ export const PageDesigner = React.forwardRef<any, PageDesignerProps>(
780
780
  onEffect={handleAiEffect}
781
781
  />
782
782
  </Drawer>
783
- </DesignerProvider>
783
+ </PageProvider>
784
784
  );
785
785
  }
786
786
  );
@@ -1,7 +1,7 @@
1
1
  import { createContext, ReactNode } from "react";
2
2
  import { DatasetSelectorFunction, FetchType, PageSchema, PluginType, SchemaItemType } from "../typing";
3
3
 
4
- type DesignerContextType = {
4
+ type PageContextType = {
5
5
  pageId: string;
6
6
  designable: boolean;
7
7
  plugins: PluginType[];
@@ -15,7 +15,7 @@ type DesignerContextType = {
15
15
  fetch?: FetchType;
16
16
  };
17
17
 
18
- export const DesignerContext = createContext<DesignerContextType>({
18
+ export const PageContext = createContext<PageContextType>({
19
19
  pageId: "",
20
20
  designable: false,
21
21
  plugins: [],
@@ -35,15 +35,15 @@ export const DesignerContext = createContext<DesignerContextType>({
35
35
  fetch: undefined,
36
36
  });
37
37
 
38
- type DesignerProviderProps = React.PropsWithChildren<
38
+ type PageProviderProps = React.PropsWithChildren<
39
39
  Omit<
40
- Partial<DesignerContextType>,
40
+ Partial<PageContextType>,
41
41
  "updateSelectedItem" | "schema" | "forceUpdate"
42
42
  > &
43
- Pick<DesignerContextType, "schema" | "pageId">
43
+ Pick<PageContextType, "schema" | "pageId">
44
44
  >;
45
45
 
46
- export const DesignerProvider: React.FC<DesignerProviderProps> = ({
46
+ export const PageProvider: React.FC<PageProviderProps> = ({
47
47
  pageId,
48
48
  designable,
49
49
  plugins,
@@ -60,7 +60,7 @@ export const DesignerProvider: React.FC<DesignerProviderProps> = ({
60
60
  setSchema?.({ ...schema });
61
61
  };
62
62
  return (
63
- <DesignerContext.Provider
63
+ <PageContext.Provider
64
64
  value={{
65
65
  pageId,
66
66
  designable: !!designable,
@@ -78,6 +78,6 @@ export const DesignerProvider: React.FC<DesignerProviderProps> = ({
78
78
  }}
79
79
  >
80
80
  {children}
81
- </DesignerContext.Provider>
81
+ </PageContext.Provider>
82
82
  );
83
83
  };
@@ -3,7 +3,7 @@ import React, { useContext, useEffect, useMemo, useRef, useState } from "react";
3
3
  import { PageItem, PageItemProps } from "../layout/PageItem";
4
4
  import { HtmlBaseProps, SchemaItemType } from "../typing";
5
5
  import styled from "styled-components";
6
- import { DesignerContext } from "../context/DesignerContext";
6
+ import { PageContext } from "../context/PageContext";
7
7
 
8
8
  type DropContainerProps = {
9
9
  rootComponent?: React.ComponentType<any>;
@@ -261,7 +261,7 @@ export const DropContainer: React.FC<DropContainerProps> = ({
261
261
  selectedItem,
262
262
  setSelectedItem: onSelect,
263
263
  forceUpdate,
264
- } = useContext(DesignerContext);
264
+ } = useContext(PageContext);
265
265
  const localRef = useRef<any | null>(null);
266
266
  const [isOver, setIsOver] = useState(false);
267
267
  const [indicatorOffset, setIndicatorOffset] = useState(0);
@@ -7,7 +7,7 @@ import { plugins, PropEditorProps } from "./plugins/@antd";
7
7
 
8
8
  import DropContainer from "./dnd/DropContainer";
9
9
 
10
- import { DesignerContext } from "./context/DesignerContext";
10
+ import { PageContext, PageProvider } from "./context/PageContext";
11
11
 
12
12
  import { EnvContext } from "./context/EnvContext";
13
13
 
@@ -20,7 +20,8 @@ export {
20
20
  PageDesigner,
21
21
  PageSchema,
22
22
  DropContainer,
23
- DesignerContext,
23
+ PageContext,
24
+ PageProvider,
24
25
  EnvContext,
25
26
  plugins,
26
27
  PropEditorProps,
@@ -9,7 +9,7 @@ import React, {
9
9
  import styled from "styled-components";
10
10
  import { DropContainer } from "../dnd/DropContainer";
11
11
  import { CallbacksType, EnvType, FetchType } from "../typing";
12
- import { DesignerContext } from "../context/DesignerContext";
12
+ import { PageContext } from "../context/PageContext";
13
13
  import { EnvProvider } from "../context/EnvContext";
14
14
 
15
15
  export type PageCanvasProps = {
@@ -55,7 +55,7 @@ const Wrapper = styled.div`
55
55
 
56
56
  export const PageCanvas = React.forwardRef<any, PageCanvasProps>(
57
57
  ({ device = "desktop", fetch }, ref) => {
58
- const { schema, forceUpdate } = useContext(DesignerContext);
58
+ const { schema, forceUpdate } = useContext(PageContext);
59
59
  const rootRef = useRef<HTMLDivElement | null>(null);
60
60
  const [canvasWidth, setCanvasWidth] = useState(0);
61
61
  const [callbacks, setCallbacks] = useState<CallbacksType>({});
@@ -1,6 +1,6 @@
1
1
  import { draggable } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
2
2
  import React, { useContext, useEffect, useState } from "react";
3
- import { DesignerContext } from "../context/DesignerContext";
3
+ import { PageContext } from "../context/PageContext";
4
4
  import { SchemaItemType } from "../typing";
5
5
 
6
6
  export type PageItemProps = {
@@ -36,7 +36,7 @@ export const PageItem: React.FC<PageItemProps> = ({
36
36
  index,
37
37
  }) => {
38
38
  const { designable, selectedItem, setSelectedItem: onSelect, plugins } =
39
- useContext(DesignerContext);
39
+ useContext(PageContext);
40
40
  const [isDragging, setIsDragging] = useState(false);
41
41
 
42
42
  const Comp = plugins.find((p) => p.key === item.type)?.component as
@@ -25,7 +25,7 @@ import React, {
25
25
  useState,
26
26
  } from "react";
27
27
  import styled from "styled-components";
28
- import { DesignerContext } from "../context/DesignerContext";
28
+ import { PageContext } from "../context/PageContext";
29
29
  import { IconFont } from "../icon/IconFont";
30
30
  import {
31
31
  ChatConversationType,
@@ -97,7 +97,7 @@ export const AiPanel: React.FC<AiPanelProps> = ({
97
97
  style = {},
98
98
  onEffect,
99
99
  }) => {
100
- const { pageId, fetch } = useContext(DesignerContext);
100
+ const { pageId, fetch } = useContext(PageContext);
101
101
  if (!fetch) return null;
102
102
  const [conversationId, setConversationId] = useState<string | null>(null);
103
103
  const [conversationList, setConversationList] = useState<
@@ -159,6 +159,8 @@ export const AiPanel: React.FC<AiPanelProps> = ({
159
159
  setMessageList((list) => [...list, questionMessage]);
160
160
  scrollToBottom();
161
161
 
162
+ const newConversation = !conversationId
163
+
162
164
  const { id, answer, createdAt, conversation } = await fetch.ai?.chat(
163
165
  BIZ_TYPE,
164
166
  pageId,
@@ -167,9 +169,9 @@ export const AiPanel: React.FC<AiPanelProps> = ({
167
169
  )!;
168
170
  setConversationId(conversation?.id || "");
169
171
  setConversationList((list) => [
172
+ newConversation ? conversation || ({} as ChatConversationType) : null,
170
173
  ...list,
171
- conversation || ({} as ChatConversationType),
172
- ]);
174
+ ].filter((i) => i !== null));
173
175
  Object.assign(questionMessage, {
174
176
  id,
175
177
  answer,
@@ -501,8 +503,6 @@ const MessageRoot = styled.div`
501
503
  background: var(--ant-color-bg-container);
502
504
 
503
505
  .user-message {
504
- background: var(--ant-color-primary-bg);
505
- padding: 8px 10px;
506
506
  max-width: 90%;
507
507
  margin: 10px 0 10px auto;
508
508
  position: relative;
@@ -521,7 +521,13 @@ const MessageRoot = styled.div`
521
521
  .msg-header {
522
522
  justify-content: flex-end;
523
523
  color: var(--ant-color-text-tertiary);
524
- padding: 4px 0 8px 0;
524
+ padding: 4px 10px 8px 10px;
525
+ }
526
+
527
+ .msg-section {
528
+ background: var(--ant-color-primary-bg);
529
+ padding: 8px 10px;
530
+ border-radius: var(--ant-border-radius);
525
531
  }
526
532
  }
527
533
  .assistant-message {
@@ -653,21 +659,23 @@ const MessageList = forwardRef<
653
659
  {/* <span className="msg-title">用户</span> */}
654
660
  <span>{formatTime(msg.createdAt)}</span>
655
661
  </div>
656
- <div className="msg-content">{msg.question}</div>
657
- {msg.files?.length || msg.agents?.length ? (
658
- <div className="msg-meta">
659
- {msg.files?.map((f) => (
660
- <Tag key={f.id} color="processing">
661
- <IconFont type="icon-paper-clip" /> {f.name}
662
- </Tag>
663
- ))}
664
- {msg.agents?.map((a) => (
665
- <Tag key={a.id} color="blue">
666
- <IconFont type="icon-at" /> {a.name}
667
- </Tag>
668
- ))}
669
- </div>
670
- ) : null}
662
+ <div className="msg-section">
663
+ <div className="msg-content">{msg.question}</div>
664
+ {msg.files?.length || msg.agents?.length ? (
665
+ <div className="msg-meta">
666
+ {msg.files?.map((f) => (
667
+ <Tag key={f.id} color="processing">
668
+ <IconFont type="icon-paper-clip" /> {f.name}
669
+ </Tag>
670
+ ))}
671
+ {msg.agents?.map((a) => (
672
+ <Tag key={a.id} color="blue">
673
+ <IconFont type="icon-at" /> {a.name}
674
+ </Tag>
675
+ ))}
676
+ </div>
677
+ ) : null}
678
+ </div>
671
679
  </div>
672
680
  {/* <div
673
681
  style={{
@@ -8,7 +8,7 @@ import {
8
8
  import { PaneHeader } from "./PaneHeader";
9
9
  import { IconFont } from "../icon/IconFont";
10
10
  import styled from "styled-components";
11
- import { DesignerContext } from "../context/DesignerContext";
11
+ import { PageContext } from "../context/PageContext";
12
12
 
13
13
  const Root = styled.div`
14
14
  display: flex;
@@ -53,7 +53,7 @@ const Root = styled.div`
53
53
 
54
54
  export const CascadePanel: React.FC = ({}) => {
55
55
  const { schema, selectedItem, setSelectedItem, plugins, forceUpdate } =
56
- useContext(DesignerContext);
56
+ useContext(PageContext);
57
57
  const pluginMap = useMemo(() => {
58
58
  return (plugins || []).reduce((prev: Record<string, any>, cur: any) => {
59
59
  prev[cur.key] = cur;
@@ -4,10 +4,10 @@ import { Tooltip, Space, message } from "antd";
4
4
  import { CopyOutlined } from "@ant-design/icons";
5
5
  import copy from "copy-to-clipboard";
6
6
  import { PaneHeader } from "./PaneHeader";
7
- import { DesignerContext } from "../context/DesignerContext";
7
+ import { PageContext } from "../context/PageContext";
8
8
 
9
9
  export const CodePanel: React.FC = () => {
10
- const { schema } = useContext(DesignerContext);
10
+ const { schema } = useContext(PageContext);
11
11
  const code = useMemo(() => JSON.stringify(schema || {}, null, 2), [schema]);
12
12
  const handleCopy = () => {
13
13
  if (copy(code || "")) {
@@ -1,7 +1,7 @@
1
1
  import { draggable } from "@atlaskit/pragmatic-drag-and-drop/element/adapter";
2
2
  import React, { useContext, useEffect, useMemo, useRef } from "react";
3
3
  import styled from "styled-components";
4
- import { DesignerContext } from "../context/DesignerContext";
4
+ import { PageContext } from "../context/PageContext";
5
5
  import { IconFont } from "../icon/IconFont";
6
6
  import { PluginType } from "../typing";
7
7
  import { uuid } from "../utils";
@@ -89,7 +89,7 @@ const PluginTile: React.FC<{ plugin: PluginType }> = ({ plugin }) => {
89
89
  };
90
90
 
91
91
  export const ComponentPanel: React.FC = () => {
92
- const { plugins } = useContext(DesignerContext);
92
+ const { plugins } = useContext(PageContext);
93
93
  const grouped = useMemo(() => {
94
94
  const grouped: { group: string; items: PluginType[] }[] = [];
95
95
  plugins.forEach((item) => {