kf-chat-sdk 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var i=document.createElement("style");i.appendChild(document.createTextNode('@charset "UTF-8";.kf-ai-rebot-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;width:90px;height:90px;cursor:pointer;z-index:99999;overflow:hidden;background:linear-gradient(180deg,#e8ecfd,#f6f8fc);border:1px solid #ffffff;border-radius:16px;box-shadow:0 4px 15px #00000014;transition:right .5s ease,left .5s ease}@keyframes playSprite{0%{background-position:-25px -25px}to{background-position:-16825px -25px}}.kf-ai-rebot{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAC89JREFUeF7tnHmQVMUdxz+9O+wNy8qyAoKASCARFBSTiqixkoDECzBg8CiiWB4oapUgKfOfilqJgCVQ0YAQyyDhiBwVCJJCEMRgVeSSGEXURVDCIXIvy7LQ2d+bfkPPmzcz783MYm1qu2pqZ+f1r7vf9/3uX/dTnMOmtc4D+gKXAT3MpyvQCmhpPrKio+ZzBKgGtpnPFmCTUurMuVq2auyJtNYdgF8CPwN+ArTOcs5DwBrgbeBNpdTuLMdLSd4oAGmtiwwoI4GfA8I5jdGEk1YCrxuwanM9SU4B0lqXAQ82iMdYoF2uF5tmvD0NIjqpYd5XlFLHcjV3TgDSWkeAR4HfAm1ytbgMxzkAPAdMUUrVZzhGjCxrgLTWVwN/aGDx3tkuJsf0W4GHlFLrshk3Y4C01gXARGAMkPE42Sw+AK0GpgHjlFJ1AfondMnoxrTWFwHzgSsymfQ7oNkA3KaU+iLs3KEB0lr/FFgIlIed7Dvufxi4VSm1Ksw6QgGktR4OzG5QgiJeTbGJmN2llFoQdPGBAdJa3ycmtBF9mqBrzraf+E4PKqVmBBkoEECGc+b+H4DjYiIgjQjCSWkBMjpneRMWq2SMIuL2i3Q6KSVAxlptbIIKOYj0SB9R3Jensm5JATJ+zj+bkCkPCoq3n7gAVyXzk1IBNAV4JNNZmxjdVKWUhErBHEUTPqzNhYe8/zB8tAOq98LRWjh6Eo7WgQRJeRFQ+aDsv3me//OBfChoAS2LzKcALiyF7mVQIVFg9k087mv9wpIEDjKBp+idjGOrU/Xwzgfw/kew77AFhA2G57uAIIC5fx3g3I8XSJc2ApVFcFkr6NcSImlNTkokJXYTfRQX4PoB9LhJG4R+LqfPwLqN8NY6OHI88Qadm/cCE/EB0OUiA4wLnPL8bgNYVgD9W0Pf0qyST2OVUpPtG48DyORzdmSSsjh0FGa8CdVfgTKjCt86gFhPPIErgnCK6RMDSkA1ohcnovlwQTEMbQMtM0vRSaqki51P8gI0DnghLOt8thNeXQhHj/trOecm7KfvwwmxmzdgxgBwxctH3Ow+NmDCTUPOg06ZBURPKKUkS+G0GEAmTSoJ8lCZwM92wdTZUH8GtLa4x/ruTGTdqC8nyPU8yGsR9de9XGcD6Hw3ILvfbf0lohzJhxGVGYEkmcmuSiknfWsDdKcJRAMz0L5vYeJrcPyERSJy5acsVbzFsm/STxm7HBHHWR5FLkAIbQwcI3aOdYxAcT6MbJuRpZOA9g0vQCuAgUHRqTsFz82A/QeTUBigbK4S4Lw6Q27EC5b3hmN9bFG1wJHrrgHwWsOKFjCqClqEs3D/UEpdHwPIlGZ2hQlGl66B5SaZmUq0YvBpqGoDndpDuZjkAiOOIirm43Ce538BVH4/3ZAWPHYKdh+HgyfPiqzNRQ5QIqaGg1y9178crpGqW/AmwWwnKSk5uGqtxYt8KSi9WKynXoaTdWd1Dj4cI8Dl50G/S2Bgf2hfGXSG1P32HYe1O2HrN1HOScZBrvi1iMAD7aClgB28PaqUmuoCtAS4JSjtX/4O6zal792yFO4dCt07p++bSY/qQzB/G9ScTvS+vaLctxwGhStZLlFKDVGmHCz2PxD5GQ2/mQw1tWetVpyecTgSSoth3N1wfiMXgfbXwIwtcFKsphGtmJhZSrukAB7rGKq6IBXcNgKQJN4/CPoEP6mGqXNS9Dai9sBwuPR7QUfNrt8nB2DOx5bnbjumVmx3RwfoIjXf4K2fADSqQSHNDEozbwWs9cDpcpD7t0cXeFScBp924jTsqY2a4POL0j9RwXtvLQhdu6IonV/704dQfcTfSrridmUFDAzH0fcKQL8DxgcFaNoc+Lg63in00o4aClf8IHHE9QfgnX1wWu66odpYVQS3doTKJB7vN3Ww8CvYZyru+Qquq4If+9zk1n0w3+YibxyXD91awe2ylSJ4+70AtLhhS8ngoDQTpsN/95verlPosWATx0Kxh5W3H4N5OxNnqSyE+7slBphiZ6d/Dt+cTKT51YXRVIfdauthwlqLgyzRcv2qqhJ4QDbbBG9LBCDZc3NpUJpxk+CEpaC9dEUFMOmJxNEWfQ0fSYLTp426CDp4AN1dC7OSlPkuKYehFyQO9MxqS1nbXrYBq6QQxsmupODtQwFI4q8uQWkefyHq/3ibq3+KC2GihLyetuAr2CbboXzayC5wYUn8hZ018LrkFXxaj1YwvGPihedXw7H6+PDDDkUk6fZkr6B36vTbIQCJuxVYdT39Muz91kyiifqHHjf+xfHRDKDdNh+CpT5bncoiMKZ7YrKrXsO07dEb9rabOkAfH6fkqRVQJwvyZATczOV5JfCIj25MAdkBAUikPHBi4KXZ8OmXyYcUTnp4BFxycWKfv+2GLeJdmFYSiSrpLh7uca/vqIkq6RoLpMtaw80+ivbEKXhailNW8BrjHhN+dG4N94QTsbrQAL2xDN7blDytITcnFkwsmV8T3fJ1DRRHoFtpcrPt0op5//w4nKiHC0oSdZXbb9NOmCf1CQOQN0Mgv1/eDobItovgzQEolIht2QbT/+ox8x4rJiL3xN3QOZxJDb5sn55TV8Kug2fTtzExswLYO3pBz4pQ0zgiFkpJS0J+/GSQdIdvM2C1aQ3j74GyJOITaplpOm/4Auaujw9a4yol+VBYAE/2h0i4VKyjpEOZeVnrzIWw8ePUzqJo7w5VcP9waBvuqYXC7tOvYdYqEKXuVz5y80Q/7AyDe4YaWjo7Zj6UoyhUu/fD86/CGbNbOVU+SMz+gKvguiuh0GPZQi/XQ7C1Gv78Nggzu9WSuHyQ8YWKi2HstVAa2BTFJnIcxVChhksqKY93N6bPB4k+EgCFxXt0hU7nQ3kZRCKJekwSXD8KWI17dwssfBdka3qcQrYLjwJQC7ipN1wdTjm7t+mEGqGCVZdSKhjP/NGTj07DEt60iLe7JNemPJl6EFFxi1fDqg0+hUVPzU38n+93hF9flT4oTjKrE6yGSnfYA0m5R1IforhtZzFtCtZj9dz+6QCSeV5bAps/SV6utism7dvAmAFQmHl52kl3iF4PnDDzIv2vf0cXHWvJqhrJfrdIUwEkldpX5sOXrjduCgBxCX5TOhJlXdkaRg+CitKMNV00YSbkWutQKVfvlOu3wLy3oqbfj5PScZR7PU/BVNmK7mk798D0BXDwSLzecubyKSi2q4TRN0J5di5GNOVqAAqVtPd7JvJkpfQsN5Gy+ZWDDIEfB234D8xeavldXnqjpF0r1rEdjL4Fyooz5hyXMC5pLz5vqLKP3/THamDZWnhvM9R79FL0QXgCW08+yeYg6bt4Fax835LeZPQibhHo0xNG3gAFmescd7L4so/holCFw1TP58BhWLYm6kyKYvWzXn6/uRwkFnLWorNBcRD6QVfDzXLYKjctvnBoAApdek63FgFHkvxbt8Pnu+DwsWiyza8JCFJPf+wumLkIDsuROj+u8xCLf3Xnjf4p3nTrS3Hdt/QsOb3QmxfCLkJAE4skIujXnp0Op6WM6lMqdjhJiMy1qopoKNO+bdhVpOzvv3nBcFFG219yubyHn02hc6yJeneHuwdDUWEuZ3fG8t/+YgCSVHhGG6hytcwxz0V1lre5ekhM+w3XRD+N0FJvoDIgZbwFLxcLdjnIz3eSSolwTS+fbGUu5paTkim34BmAxEhmtYkzm8U+PMFf/3Ro2+ipk2CbOA1IcoowJ9uAw4IV00GWQygR/u3i3+Q4XWKtLfg2YJdIa/2dbCR/aMJZZ1LM/rABcE3jH9sLt5HccJGkl875UQQXoIpWcN8w6Nw+LA+G7p/ZUQQDkqSZzulhFhGxiztFwTkH+ezMD7NYoiZHMM/Zcai5y+G26yEvXHI9NNs0HGHP/jiUBZIcxWw+UJfqMTQfyQzApM2HeoOB1HwsPB1OzS8WSIdQNI/d/GqKADgJUM0vN0kHVPPrcdIhZK43v2ApOFDNr+gKiJXoKCkpDTMvebs26JGHFONLxVNSMfLusqb5krdkN6e1ln3yfZrSawL/B9iD1grA/HieAAAAAElFTkSuQmCC);background-size:cover;background-repeat:no-repeat;margin-bottom:4px}.kf-ai-rebot-name{font-size:12px;color:#333;white-space:nowrap}.kf-ai-dialog{z-index:99999;box-sizing:border-box;position:fixed;top:0;height:100%;max-height:100vh;width:0;overflow:hidden;border:1px solid #cecece;transition:width .5s ease,visibility .3s ease;pointer-events:none}.kf-ai-dialog-show{pointer-events:initial;width:var(--kf-ai-dialog-width);background:#fff}.kf-ai-dialog-content{height:100%;width:var(--kf-ai-dialog-width);border:none;overscroll-behavior:contain}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- "use strict";var P=Object.defineProperty;var v=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable;var u=(i,t,e)=>t in i?P(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,a=(i,t)=>{for(var e in t||(t={}))I.call(t,e)&&u(i,e,t[e]);if(v)for(var e of v(t))k.call(t,e)&&u(i,e,t[e]);return i};var r=(i,t,e)=>u(i,typeof t!="symbol"?t+"":t,e);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function T(i){if(Array.isArray(i)){for(var t=0,e=Array(i.length);t<i.length;t++)e[t]=i[t];return e}else return Array.from(i)}var p=!1;if(typeof window!="undefined"){var E={get passive(){p=!0}};window.addEventListener("testPassive",null,E),window.removeEventListener("testPassive",null,E)}var c=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),l=[],f=!1,w=-1,d=void 0,s=void 0,h=void 0,b=function(t){return l.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},y=function(t){var e=t||window.event;return b(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},x=function(t){if(h===void 0){var e=!1,n=window.innerWidth-document.documentElement.clientWidth;if(e&&n>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);h=document.body.style.paddingRight,document.body.style.paddingRight=o+n+"px"}}d===void 0&&(d=document.body.style.overflow,document.body.style.overflow="hidden")},C=function(){h!==void 0&&(document.body.style.paddingRight=h,h=void 0),d!==void 0&&(document.body.style.overflow=d,d=void 0)},$=function(){return window.requestAnimationFrame(function(){if(s===void 0){s={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,n=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-n,setTimeout(function(){return window.requestAnimationFrame(function(){var g=o-window.innerHeight;g&&e>=o&&(document.body.style.top=-(e+g))})},300)}})},A=function(){if(s!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=s.position,document.body.style.top=s.top,document.body.style.left=s.left,window.scrollTo(e,t),s=void 0}},B=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},z=function(t,e){var n=t.targetTouches[0].clientY-w;return b(t.target)?!1:e&&e.scrollTop===0&&n>0||B(e)&&n<0?y(t):(t.stopPropagation(),!0)},D=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!l.some(function(o){return o.targetElement===t})){var n={targetElement:t,options:{}};l=[].concat(T(l),[n]),c?$():x(),c&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(w=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&z(o,t)},f||(document.addEventListener("touchmove",y,p?{passive:!1}:void 0),f=!0))}},m=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}l=l.filter(function(e){return e.targetElement!==t}),c&&(t.ontouchstart=null,t.ontouchmove=null,f&&l.length===0&&(document.removeEventListener("touchmove",y,p?{passive:!1}:void 0),f=!1)),c?A():C()};const L={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right"};class S{constructor(t){r(this,"options");r(this,"containerEl");r(this,"entryEl");r(this,"dialogEl");r(this,"dialogIframeEl");if(this.options=a(a({},L),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init()}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,e){this.entryEl.style.bottom=`${e}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const e=document.createElement("span");e.className="kf-ai-rebot-name",e.innerHTML="AI智能体",this.entryEl.appendChild(e),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=a(a({},this.options),t);const e=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(n=>{switch(n){case"service":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"appCode":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"zIndex":const o=this.options.zIndex.toString();this.entryEl.style.zIndex=o,this.dialogEl.style.zIndex=o;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),D(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),m(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,e;m(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(e=this.containerEl)==null||e.removeChild(this.dialogEl)}}const O="0.0.7",W={version:O};console.info(`%cKfChatSdk v${W.version}`,"color: #52c41a; font-weight: bold;");const X={KfAiChat:S};exports.KfAiChat=S;exports.default=X;
2
+ "use strict";var P=Object.defineProperty;var v=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable;var u=(e,t,i)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,a=(e,t)=>{for(var i in t||(t={}))k.call(t,i)&&u(e,i,t[i]);if(v)for(var i of v(t))I.call(t,i)&&u(e,i,t[i]);return e};var r=(e,t,i)=>u(e,typeof t!="symbol"?t+"":t,i);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});function T(e){if(Array.isArray(e)){for(var t=0,i=Array(e.length);t<e.length;t++)i[t]=e[t];return i}else return Array.from(e)}var p=!1;if(typeof window!="undefined"){var E={get passive(){p=!0}};window.addEventListener("testPassive",null,E),window.removeEventListener("testPassive",null,E)}var c=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),l=[],f=!1,w=-1,d=void 0,s=void 0,h=void 0,b=function(t){return l.some(function(i){return!!(i.options.allowTouchMove&&i.options.allowTouchMove(t))})},y=function(t){var i=t||window.event;return b(i.target)||i.touches.length>1?!0:(i.preventDefault&&i.preventDefault(),!1)},x=function(t){if(h===void 0){var i=!1,n=window.innerWidth-document.documentElement.clientWidth;if(i&&n>0){var o=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);h=document.body.style.paddingRight,document.body.style.paddingRight=o+n+"px"}}d===void 0&&(d=document.body.style.overflow,document.body.style.overflow="hidden")},C=function(){h!==void 0&&(document.body.style.paddingRight=h,h=void 0),d!==void 0&&(document.body.style.overflow=d,d=void 0)},B=function(){return window.requestAnimationFrame(function(){if(s===void 0){s={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,i=t.scrollY,n=t.scrollX,o=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-i,document.body.style.left=-n,setTimeout(function(){return window.requestAnimationFrame(function(){var g=o-window.innerHeight;g&&i>=o&&(document.body.style.top=-(i+g))})},300)}})},$=function(){if(s!==void 0){var t=-parseInt(document.body.style.top,10),i=-parseInt(document.body.style.left,10);document.body.style.position=s.position,document.body.style.top=s.top,document.body.style.left=s.left,window.scrollTo(i,t),s=void 0}},A=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},z=function(t,i){var n=t.targetTouches[0].clientY-w;return b(t.target)?!1:i&&i.scrollTop===0&&n>0||A(i)&&n<0?y(t):(t.stopPropagation(),!0)},D=function(t,i){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!l.some(function(o){return o.targetElement===t})){var n={targetElement:t,options:{}};l=[].concat(T(l),[n]),c?B():x(),c&&(t.ontouchstart=function(o){o.targetTouches.length===1&&(w=o.targetTouches[0].clientY)},t.ontouchmove=function(o){o.targetTouches.length===1&&z(o,t)},f||(document.addEventListener("touchmove",y,p?{passive:!1}:void 0),f=!0))}},m=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}l=l.filter(function(i){return i.targetElement!==t}),c&&(t.ontouchstart=null,t.ontouchmove=null,f&&l.length===0&&(document.removeEventListener("touchmove",y,p?{passive:!1}:void 0),f=!1)),c?$():C()};const L={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right",lockBodyScroll:!0};class S{constructor(t){r(this,"options");r(this,"containerEl");r(this,"entryEl");r(this,"dialogEl");r(this,"dialogIframeEl");if(this.options=a(a({},L),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init(),this.update=this.update.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this)}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,i){this.entryEl.style.bottom=`${i}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const i=document.createElement("span");i.className="kf-ai-rebot-name",i.innerHTML="AI智能体",this.entryEl.appendChild(i),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=a(a({},this.options),t);const i=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(n=>{switch(n){case"service":this.dialogIframeEl.src!=i&&(this.dialogIframeEl.src=i);break;case"appCode":this.dialogIframeEl.src!=i&&(this.dialogIframeEl.src=i);break;case"zIndex":const o=this.options.zIndex.toString();this.entryEl.style.zIndex=o,this.dialogEl.style.zIndex=o;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),this.options.lockBodyScroll&&D(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),this.options.lockBodyScroll&&m(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,i;m(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(i=this.containerEl)==null||i.removeChild(this.dialogEl)}}const O="0.0.8",W={version:O};console.info(`%cKfChatSdk v${W.version}`,"color: #52c41a; font-weight: bold;");const X={KfAiChat:S};exports.KfAiChat=S;exports.default=X;
@@ -1,23 +1,23 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var i=document.createElement("style");i.appendChild(document.createTextNode('@charset "UTF-8";.kf-ai-rebot-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;width:90px;height:90px;cursor:pointer;z-index:99999;overflow:hidden;background:linear-gradient(180deg,#e8ecfd,#f6f8fc);border:1px solid #ffffff;border-radius:16px;box-shadow:0 4px 15px #00000014;transition:right .5s ease,left .5s ease}@keyframes playSprite{0%{background-position:-25px -25px}to{background-position:-16825px -25px}}.kf-ai-rebot{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-image:url(data:image/png;base64,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);background-size:cover;background-repeat:no-repeat;margin-bottom:4px}.kf-ai-rebot-name{font-size:12px;color:#333;white-space:nowrap}.kf-ai-dialog{z-index:99999;box-sizing:border-box;position:fixed;top:0;height:100%;max-height:100vh;width:0;overflow:hidden;border:1px solid #cecece;transition:width .5s ease,visibility .3s ease;pointer-events:none}.kf-ai-dialog-show{pointer-events:initial;width:var(--kf-ai-dialog-width);background:#fff}.kf-ai-dialog-content{height:100%;width:var(--kf-ai-dialog-width);border:none;overscroll-behavior:contain}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- var P = Object.defineProperty;
2
+ var S = Object.defineProperty;
3
3
  var v = Object.getOwnPropertySymbols;
4
- var S = Object.prototype.hasOwnProperty, I = Object.prototype.propertyIsEnumerable;
5
- var u = (i, t, e) => t in i ? P(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e, a = (i, t) => {
6
- for (var e in t || (t = {}))
7
- S.call(t, e) && u(i, e, t[e]);
4
+ var P = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
5
+ var u = (e, t, i) => t in e ? S(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, a = (e, t) => {
6
+ for (var i in t || (t = {}))
7
+ P.call(t, i) && u(e, i, t[i]);
8
8
  if (v)
9
- for (var e of v(t))
10
- I.call(t, e) && u(i, e, t[e]);
11
- return i;
9
+ for (var i of v(t))
10
+ k.call(t, i) && u(e, i, t[i]);
11
+ return e;
12
12
  };
13
- var r = (i, t, e) => u(i, typeof t != "symbol" ? t + "" : t, e);
14
- function k(i) {
15
- if (Array.isArray(i)) {
16
- for (var t = 0, e = Array(i.length); t < i.length; t++)
17
- e[t] = i[t];
18
- return e;
13
+ var r = (e, t, i) => u(e, typeof t != "symbol" ? t + "" : t, i);
14
+ function I(e) {
15
+ if (Array.isArray(e)) {
16
+ for (var t = 0, i = Array(e.length); t < e.length; t++)
17
+ i[t] = e[t];
18
+ return i;
19
19
  } else
20
- return Array.from(i);
20
+ return Array.from(e);
21
21
  }
22
22
  var p = !1;
23
23
  if (typeof window != "undefined") {
@@ -28,17 +28,17 @@ if (typeof window != "undefined") {
28
28
  };
29
29
  window.addEventListener("testPassive", null, E), window.removeEventListener("testPassive", null, E);
30
30
  }
31
- var c = typeof window != "undefined" && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === "MacIntel" && window.navigator.maxTouchPoints > 1), l = [], f = !1, w = -1, d = void 0, s = void 0, h = void 0, b = function(t) {
32
- return l.some(function(e) {
33
- return !!(e.options.allowTouchMove && e.options.allowTouchMove(t));
31
+ var c = typeof window != "undefined" && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === "MacIntel" && window.navigator.maxTouchPoints > 1), l = [], y = !1, w = -1, d = void 0, s = void 0, h = void 0, b = function(t) {
32
+ return l.some(function(i) {
33
+ return !!(i.options.allowTouchMove && i.options.allowTouchMove(t));
34
34
  });
35
- }, y = function(t) {
36
- var e = t || window.event;
37
- return b(e.target) || e.touches.length > 1 ? !0 : (e.preventDefault && e.preventDefault(), !1);
35
+ }, f = function(t) {
36
+ var i = t || window.event;
37
+ return b(i.target) || i.touches.length > 1 ? !0 : (i.preventDefault && i.preventDefault(), !1);
38
38
  }, x = function(t) {
39
39
  if (h === void 0) {
40
- var e = !1, n = window.innerWidth - document.documentElement.clientWidth;
41
- if (e && n > 0) {
40
+ var i = !1, n = window.innerWidth - document.documentElement.clientWidth;
41
+ if (i && n > 0) {
42
42
  var o = parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"), 10);
43
43
  h = document.body.style.paddingRight, document.body.style.paddingRight = o + n + "px";
44
44
  }
@@ -54,26 +54,26 @@ var c = typeof window != "undefined" && window.navigator && window.navigator.pla
54
54
  top: document.body.style.top,
55
55
  left: document.body.style.left
56
56
  };
57
- var t = window, e = t.scrollY, n = t.scrollX, o = t.innerHeight;
58
- document.body.style.position = "fixed", document.body.style.top = -e, document.body.style.left = -n, setTimeout(function() {
57
+ var t = window, i = t.scrollY, n = t.scrollX, o = t.innerHeight;
58
+ document.body.style.position = "fixed", document.body.style.top = -i, document.body.style.left = -n, setTimeout(function() {
59
59
  return window.requestAnimationFrame(function() {
60
60
  var g = o - window.innerHeight;
61
- g && e >= o && (document.body.style.top = -(e + g));
61
+ g && i >= o && (document.body.style.top = -(i + g));
62
62
  });
63
63
  }, 300);
64
64
  }
65
65
  });
66
- }, $ = function() {
66
+ }, B = function() {
67
67
  if (s !== void 0) {
68
- var t = -parseInt(document.body.style.top, 10), e = -parseInt(document.body.style.left, 10);
69
- document.body.style.position = s.position, document.body.style.top = s.top, document.body.style.left = s.left, window.scrollTo(e, t), s = void 0;
68
+ var t = -parseInt(document.body.style.top, 10), i = -parseInt(document.body.style.left, 10);
69
+ document.body.style.position = s.position, document.body.style.top = s.top, document.body.style.left = s.left, window.scrollTo(i, t), s = void 0;
70
70
  }
71
- }, A = function(t) {
71
+ }, $ = function(t) {
72
72
  return t ? t.scrollHeight - t.scrollTop <= t.clientHeight : !1;
73
- }, B = function(t, e) {
73
+ }, A = function(t, i) {
74
74
  var n = t.targetTouches[0].clientY - w;
75
- return b(t.target) ? !1 : e && e.scrollTop === 0 && n > 0 || A(e) && n < 0 ? y(t) : (t.stopPropagation(), !0);
76
- }, z = function(t, e) {
75
+ return b(t.target) ? !1 : i && i.scrollTop === 0 && n > 0 || $(i) && n < 0 ? f(t) : (t.stopPropagation(), !0);
76
+ }, z = function(t, i) {
77
77
  if (!t) {
78
78
  console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");
79
79
  return;
@@ -85,20 +85,20 @@ var c = typeof window != "undefined" && window.navigator && window.navigator.pla
85
85
  targetElement: t,
86
86
  options: {}
87
87
  };
88
- l = [].concat(k(l), [n]), c ? C() : x(), c && (t.ontouchstart = function(o) {
88
+ l = [].concat(I(l), [n]), c ? C() : x(), c && (t.ontouchstart = function(o) {
89
89
  o.targetTouches.length === 1 && (w = o.targetTouches[0].clientY);
90
90
  }, t.ontouchmove = function(o) {
91
- o.targetTouches.length === 1 && B(o, t);
92
- }, f || (document.addEventListener("touchmove", y, p ? { passive: !1 } : void 0), f = !0));
91
+ o.targetTouches.length === 1 && A(o, t);
92
+ }, y || (document.addEventListener("touchmove", f, p ? { passive: !1 } : void 0), y = !0));
93
93
  }
94
94
  }, m = function(t) {
95
95
  if (!t) {
96
96
  console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");
97
97
  return;
98
98
  }
99
- l = l.filter(function(e) {
100
- return e.targetElement !== t;
101
- }), c && (t.ontouchstart = null, t.ontouchmove = null, f && l.length === 0 && (document.removeEventListener("touchmove", y, p ? { passive: !1 } : void 0), f = !1)), c ? $() : T();
99
+ l = l.filter(function(i) {
100
+ return i.targetElement !== t;
101
+ }), c && (t.ontouchstart = null, t.ontouchmove = null, y && l.length === 0 && (document.removeEventListener("touchmove", f, p ? { passive: !1 } : void 0), y = !1)), c ? B() : T();
102
102
  };
103
103
  const D = {
104
104
  service: "",
@@ -110,7 +110,8 @@ const D = {
110
110
  entryX: 50,
111
111
  entryY: 50,
112
112
  dialogWidth: 600,
113
- dialogPosition: "right"
113
+ dialogPosition: "right",
114
+ lockBodyScroll: !0
114
115
  };
115
116
  class L {
116
117
  constructor(t) {
@@ -121,7 +122,7 @@ class L {
121
122
  r(this, "dialogIframeEl");
122
123
  if (this.options = a(a({}, D), t), !this.options.service) throw new Error("service is required");
123
124
  if (!this.options.appCode) throw new Error("agentCode is required");
124
- this.containerEl = this.options.appendTo || document.body, this.entryEl = document.createElement("div"), this.dialogEl = document.createElement("div"), this.dialogIframeEl = document.createElement("iframe"), this.init();
125
+ this.containerEl = this.options.appendTo || document.body, this.entryEl = document.createElement("div"), this.dialogEl = document.createElement("div"), this.dialogIframeEl = document.createElement("iframe"), this.init(), this.update = this.update.bind(this), this.show = this.show.bind(this), this.hide = this.hide.bind(this), this.destroy = this.destroy.bind(this);
125
126
  }
126
127
  showEntry(t) {
127
128
  t ? this.entryEl.style.display = "flex" : this.entryEl.style.display = "none";
@@ -132,8 +133,8 @@ class L {
132
133
  changeDialogWidth(t) {
133
134
  this.containerEl.style.setProperty("--kf-ai-dialog-width", `${t}px`);
134
135
  }
135
- changeEntryPosition(t, e) {
136
- this.entryEl.style.bottom = `${e}px`, this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${t}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${t}px`);
136
+ changeEntryPosition(t, i) {
137
+ this.entryEl.style.bottom = `${i}px`, this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${t}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${t}px`);
137
138
  }
138
139
  changeDialogPosition(t) {
139
140
  t === "left" ? (this.dialogEl.style.right = "initial", this.dialogEl.style.left = "0", this.entryEl.style.setProperty("transform-origin", "left bottom")) : (this.dialogEl.style.left = "initial", this.dialogEl.style.right = "0", this.entryEl.style.setProperty("transform-origin", "right bottom"));
@@ -142,21 +143,21 @@ class L {
142
143
  this.containerEl.querySelector(".kf-ai-dialog") && this.destroy(), this.entryEl.className = "kf-ai-rebot-entry";
143
144
  const t = document.createElement("div");
144
145
  t.className = "kf-ai-rebot", this.entryEl.appendChild(t);
145
- const e = document.createElement("span");
146
- e.className = "kf-ai-rebot-name", e.innerHTML = "AI智能体", this.entryEl.appendChild(e), this.containerEl.appendChild(this.entryEl), this.dialogEl.className = "kf-ai-dialog", this.dialogEl.style.visibility = "hidden", this.dialogIframeEl.className = "kf-ai-dialog-content", this.dialogIframeEl.src = `${this.options.service}/platform/chat/flow/${this.options.appCode}`, this.dialogEl.appendChild(this.dialogIframeEl), this.update(this.options), this.containerEl.appendChild(this.dialogEl), this.entryEl.addEventListener("click", () => {
146
+ const i = document.createElement("span");
147
+ i.className = "kf-ai-rebot-name", i.innerHTML = "AI智能体", this.entryEl.appendChild(i), this.containerEl.appendChild(this.entryEl), this.dialogEl.className = "kf-ai-dialog", this.dialogEl.style.visibility = "hidden", this.dialogIframeEl.className = "kf-ai-dialog-content", this.dialogIframeEl.src = `${this.options.service}/platform/chat/flow/${this.options.appCode}`, this.dialogEl.appendChild(this.dialogIframeEl), this.update(this.options), this.containerEl.appendChild(this.dialogEl), this.entryEl.addEventListener("click", () => {
147
148
  this.dialogEl.style.visibility === "visible" ? this.hide() : this.show();
148
149
  });
149
150
  }
150
151
  update(t) {
151
152
  this.options = a(a({}, this.options), t);
152
- const e = `${this.options.service}/platform/chat/flow/${this.options.appCode}`;
153
+ const i = `${this.options.service}/platform/chat/flow/${this.options.appCode}`;
153
154
  Object.keys(t).forEach((n) => {
154
155
  switch (n) {
155
156
  case "service":
156
- this.dialogIframeEl.src != e && (this.dialogIframeEl.src = e);
157
+ this.dialogIframeEl.src != i && (this.dialogIframeEl.src = i);
157
158
  break;
158
159
  case "appCode":
159
- this.dialogIframeEl.src != e && (this.dialogIframeEl.src = e);
160
+ this.dialogIframeEl.src != i && (this.dialogIframeEl.src = i);
160
161
  break;
161
162
  case "zIndex":
162
163
  const o = this.options.zIndex.toString();
@@ -184,17 +185,17 @@ class L {
184
185
  });
185
186
  }
186
187
  show() {
187
- this.dialogEl.style.visibility = "visible", this.dialogEl.classList.add("kf-ai-dialog-show"), z(this.dialogEl), this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${this.options.entryX + this.options.dialogWidth}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${this.options.entryX + this.options.dialogWidth}px`);
188
+ this.dialogEl.style.visibility = "visible", this.dialogEl.classList.add("kf-ai-dialog-show"), this.options.lockBodyScroll && z(this.dialogEl), this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${this.options.entryX + this.options.dialogWidth}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${this.options.entryX + this.options.dialogWidth}px`);
188
189
  }
189
190
  hide() {
190
- this.dialogEl.style.visibility = "hidden", this.dialogEl.classList.remove("kf-ai-dialog-show"), m(this.dialogEl), this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${this.options.entryX}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${this.options.entryX}px`);
191
+ this.dialogEl.style.visibility = "hidden", this.dialogEl.classList.remove("kf-ai-dialog-show"), this.options.lockBodyScroll && m(this.dialogEl), this.options.dialogPosition === "left" ? (this.entryEl.style.right = "initial", this.entryEl.style.left = `${this.options.entryX}px`) : (this.entryEl.style.left = "initial", this.entryEl.style.right = `${this.options.entryX}px`);
191
192
  }
192
193
  destroy() {
193
- var t, e;
194
- m(this.dialogEl), (t = this.containerEl) == null || t.removeChild(this.entryEl), (e = this.containerEl) == null || e.removeChild(this.dialogEl);
194
+ var t, i;
195
+ m(this.dialogEl), (t = this.containerEl) == null || t.removeChild(this.entryEl), (i = this.containerEl) == null || i.removeChild(this.dialogEl);
195
196
  }
196
197
  }
197
- const W = "0.0.7", X = {
198
+ const W = "0.0.8", X = {
198
199
  version: W
199
200
  };
200
201
  console.info(
@@ -1,2 +1,2 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var i=document.createElement("style");i.appendChild(document.createTextNode('@charset "UTF-8";.kf-ai-rebot-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;width:90px;height:90px;cursor:pointer;z-index:99999;overflow:hidden;background:linear-gradient(180deg,#e8ecfd,#f6f8fc);border:1px solid #ffffff;border-radius:16px;box-shadow:0 4px 15px #00000014;transition:right .5s ease,left .5s ease}@keyframes playSprite{0%{background-position:-25px -25px}to{background-position:-16825px -25px}}.kf-ai-rebot{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-image:url(data:image/png;base64,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);background-size:cover;background-repeat:no-repeat;margin-bottom:4px}.kf-ai-rebot-name{font-size:12px;color:#333;white-space:nowrap}.kf-ai-dialog{z-index:99999;box-sizing:border-box;position:fixed;top:0;height:100%;max-height:100vh;width:0;overflow:hidden;border:1px solid #cecece;transition:width .5s ease,visibility .3s ease;pointer-events:none}.kf-ai-dialog-show{pointer-events:initial;width:var(--kf-ai-dialog-width);background:#fff}.kf-ai-dialog-content{height:100%;width:var(--kf-ai-dialog-width);border:none;overscroll-behavior:contain}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- var KfChatSdk=(function(l){"use strict";var L=Object.defineProperty;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var v=(l,i,o)=>i in l?L(l,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):l[i]=o,y=(l,i)=>{for(var o in i||(i={}))O.call(i,o)&&v(l,o,i[o]);if(k)for(var o of k(i))W.call(i,o)&&v(l,o,i[o]);return l};var h=(l,i,o)=>v(l,typeof i!="symbol"?i+"":i,o);function i(n){if(Array.isArray(n)){for(var t=0,e=Array(n.length);t<n.length;t++)e[t]=n[t];return e}else return Array.from(n)}var o=!1;if(typeof window!="undefined"){var E={get passive(){o=!0}};window.addEventListener("testPassive",null,E),window.removeEventListener("testPassive",null,E)}var u=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),a=[],g=!1,m=-1,c=void 0,d=void 0,f=void 0,w=function(t){return a.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},p=function(t){var e=t||window.event;return w(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},I=function(t){if(f===void 0){var e=!1,r=window.innerWidth-document.documentElement.clientWidth;if(e&&r>0){var s=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);f=document.body.style.paddingRight,document.body.style.paddingRight=s+r+"px"}}c===void 0&&(c=document.body.style.overflow,document.body.style.overflow="hidden")},C=function(){f!==void 0&&(document.body.style.paddingRight=f,f=void 0),c!==void 0&&(document.body.style.overflow=c,c=void 0)},T=function(){return window.requestAnimationFrame(function(){if(d===void 0){d={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,r=t.scrollX,s=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-r,setTimeout(function(){return window.requestAnimationFrame(function(){var P=s-window.innerHeight;P&&e>=s&&(document.body.style.top=-(e+P))})},300)}})},x=function(){if(d!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=d.position,document.body.style.top=d.top,document.body.style.left=d.left,window.scrollTo(e,t),d=void 0}},$=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},A=function(t,e){var r=t.targetTouches[0].clientY-m;return w(t.target)?!1:e&&e.scrollTop===0&&r>0||$(e)&&r<0?p(t):(t.stopPropagation(),!0)},B=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!a.some(function(s){return s.targetElement===t})){var r={targetElement:t,options:{}};a=[].concat(i(a),[r]),u?T():I(),u&&(t.ontouchstart=function(s){s.targetTouches.length===1&&(m=s.targetTouches[0].clientY)},t.ontouchmove=function(s){s.targetTouches.length===1&&A(s,t)},g||(document.addEventListener("touchmove",p,o?{passive:!1}:void 0),g=!0))}},b=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}a=a.filter(function(e){return e.targetElement!==t}),u&&(t.ontouchstart=null,t.ontouchmove=null,g&&a.length===0&&(document.removeEventListener("touchmove",p,o?{passive:!1}:void 0),g=!1)),u?x():C()};const z={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right"};class S{constructor(t){h(this,"options");h(this,"containerEl");h(this,"entryEl");h(this,"dialogEl");h(this,"dialogIframeEl");if(this.options=y(y({},z),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init()}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,e){this.entryEl.style.bottom=`${e}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const e=document.createElement("span");e.className="kf-ai-rebot-name",e.innerHTML="AI智能体",this.entryEl.appendChild(e),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=y(y({},this.options),t);const e=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(r=>{switch(r){case"service":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"appCode":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"zIndex":const s=this.options.zIndex.toString();this.entryEl.style.zIndex=s,this.dialogEl.style.zIndex=s;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),B(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),b(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,e;b(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(e=this.containerEl)==null||e.removeChild(this.dialogEl)}}console.info(`%cKfChatSdk v${{version:"0.0.7"}.version}`,"color: #52c41a; font-weight: bold;");const D={KfAiChat:S};return l.KfAiChat=S,l.default=D,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),l})({});
2
+ var KfChatSdk=(function(l){"use strict";var L=Object.defineProperty;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var v=(l,e,o)=>e in l?L(l,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):l[e]=o,y=(l,e)=>{for(var o in e||(e={}))O.call(e,o)&&v(l,o,e[o]);if(k)for(var o of k(e))W.call(e,o)&&v(l,o,e[o]);return l};var h=(l,e,o)=>v(l,typeof e!="symbol"?e+"":e,o);function e(n){if(Array.isArray(n)){for(var t=0,i=Array(n.length);t<n.length;t++)i[t]=n[t];return i}else return Array.from(n)}var o=!1;if(typeof window!="undefined"){var E={get passive(){o=!0}};window.addEventListener("testPassive",null,E),window.removeEventListener("testPassive",null,E)}var u=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),a=[],p=!1,m=-1,c=void 0,d=void 0,f=void 0,w=function(t){return a.some(function(i){return!!(i.options.allowTouchMove&&i.options.allowTouchMove(t))})},g=function(t){var i=t||window.event;return w(i.target)||i.touches.length>1?!0:(i.preventDefault&&i.preventDefault(),!1)},I=function(t){if(f===void 0){var i=!1,r=window.innerWidth-document.documentElement.clientWidth;if(i&&r>0){var s=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);f=document.body.style.paddingRight,document.body.style.paddingRight=s+r+"px"}}c===void 0&&(c=document.body.style.overflow,document.body.style.overflow="hidden")},C=function(){f!==void 0&&(document.body.style.paddingRight=f,f=void 0),c!==void 0&&(document.body.style.overflow=c,c=void 0)},T=function(){return window.requestAnimationFrame(function(){if(d===void 0){d={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,i=t.scrollY,r=t.scrollX,s=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-i,document.body.style.left=-r,setTimeout(function(){return window.requestAnimationFrame(function(){var P=s-window.innerHeight;P&&i>=s&&(document.body.style.top=-(i+P))})},300)}})},x=function(){if(d!==void 0){var t=-parseInt(document.body.style.top,10),i=-parseInt(document.body.style.left,10);document.body.style.position=d.position,document.body.style.top=d.top,document.body.style.left=d.left,window.scrollTo(i,t),d=void 0}},B=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},$=function(t,i){var r=t.targetTouches[0].clientY-m;return w(t.target)?!1:i&&i.scrollTop===0&&r>0||B(i)&&r<0?g(t):(t.stopPropagation(),!0)},A=function(t,i){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!a.some(function(s){return s.targetElement===t})){var r={targetElement:t,options:{}};a=[].concat(e(a),[r]),u?T():I(),u&&(t.ontouchstart=function(s){s.targetTouches.length===1&&(m=s.targetTouches[0].clientY)},t.ontouchmove=function(s){s.targetTouches.length===1&&$(s,t)},p||(document.addEventListener("touchmove",g,o?{passive:!1}:void 0),p=!0))}},b=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}a=a.filter(function(i){return i.targetElement!==t}),u&&(t.ontouchstart=null,t.ontouchmove=null,p&&a.length===0&&(document.removeEventListener("touchmove",g,o?{passive:!1}:void 0),p=!1)),u?x():C()};const z={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right",lockBodyScroll:!0};class S{constructor(t){h(this,"options");h(this,"containerEl");h(this,"entryEl");h(this,"dialogEl");h(this,"dialogIframeEl");if(this.options=y(y({},z),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init(),this.update=this.update.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this)}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,i){this.entryEl.style.bottom=`${i}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const i=document.createElement("span");i.className="kf-ai-rebot-name",i.innerHTML="AI智能体",this.entryEl.appendChild(i),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=y(y({},this.options),t);const i=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(r=>{switch(r){case"service":this.dialogIframeEl.src!=i&&(this.dialogIframeEl.src=i);break;case"appCode":this.dialogIframeEl.src!=i&&(this.dialogIframeEl.src=i);break;case"zIndex":const s=this.options.zIndex.toString();this.entryEl.style.zIndex=s,this.dialogEl.style.zIndex=s;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),this.options.lockBodyScroll&&A(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),this.options.lockBodyScroll&&b(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,i;b(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(i=this.containerEl)==null||i.removeChild(this.dialogEl)}}console.info(`%cKfChatSdk v${{version:"0.0.8"}.version}`,"color: #52c41a; font-weight: bold;");const D={KfAiChat:S};return l.KfAiChat=S,l.default=D,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}}),l})({});
@@ -1,2 +1,2 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var i=document.createElement("style");i.appendChild(document.createTextNode('@charset "UTF-8";.kf-ai-rebot-entry{display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;width:90px;height:90px;cursor:pointer;z-index:99999;overflow:hidden;background:linear-gradient(180deg,#e8ecfd,#f6f8fc);border:1px solid #ffffff;border-radius:16px;box-shadow:0 4px 15px #00000014;transition:right .5s ease,left .5s ease}@keyframes playSprite{0%{background-position:-25px -25px}to{background-position:-16825px -25px}}.kf-ai-rebot{position:relative;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAC89JREFUeF7tnHmQVMUdxz+9O+wNy8qyAoKASCARFBSTiqixkoDECzBg8CiiWB4oapUgKfOfilqJgCVQ0YAQyyDhiBwVCJJCEMRgVeSSGEXURVDCIXIvy7LQ2d+bfkPPmzcz783MYm1qu2pqZ+f1r7vf9/3uX/dTnMOmtc4D+gKXAT3MpyvQCmhpPrKio+ZzBKgGtpnPFmCTUurMuVq2auyJtNYdgF8CPwN+ArTOcs5DwBrgbeBNpdTuLMdLSd4oAGmtiwwoI4GfA8I5jdGEk1YCrxuwanM9SU4B0lqXAQ82iMdYoF2uF5tmvD0NIjqpYd5XlFLHcjV3TgDSWkeAR4HfAm1ytbgMxzkAPAdMUUrVZzhGjCxrgLTWVwN/aGDx3tkuJsf0W4GHlFLrshk3Y4C01gXARGAMkPE42Sw+AK0GpgHjlFJ1AfondMnoxrTWFwHzgSsymfQ7oNkA3KaU+iLs3KEB0lr/FFgIlIed7Dvufxi4VSm1Ksw6QgGktR4OzG5QgiJeTbGJmN2llFoQdPGBAdJa3ycmtBF9mqBrzraf+E4PKqVmBBkoEECGc+b+H4DjYiIgjQjCSWkBMjpneRMWq2SMIuL2i3Q6KSVAxlptbIIKOYj0SB9R3Jensm5JATJ+zj+bkCkPCoq3n7gAVyXzk1IBNAV4JNNZmxjdVKWUhErBHEUTPqzNhYe8/zB8tAOq98LRWjh6Eo7WgQRJeRFQ+aDsv3me//OBfChoAS2LzKcALiyF7mVQIVFg9k087mv9wpIEDjKBp+idjGOrU/Xwzgfw/kew77AFhA2G57uAIIC5fx3g3I8XSJc2ApVFcFkr6NcSImlNTkokJXYTfRQX4PoB9LhJG4R+LqfPwLqN8NY6OHI88Qadm/cCE/EB0OUiA4wLnPL8bgNYVgD9W0Pf0qyST2OVUpPtG48DyORzdmSSsjh0FGa8CdVfgTKjCt86gFhPPIErgnCK6RMDSkA1ohcnovlwQTEMbQMtM0vRSaqki51P8gI0DnghLOt8thNeXQhHj/trOecm7KfvwwmxmzdgxgBwxctH3Ow+NmDCTUPOg06ZBURPKKUkS+G0GEAmTSoJ8lCZwM92wdTZUH8GtLa4x/ruTGTdqC8nyPU8yGsR9de9XGcD6Hw3ILvfbf0lohzJhxGVGYEkmcmuSiknfWsDdKcJRAMz0L5vYeJrcPyERSJy5acsVbzFsm/STxm7HBHHWR5FLkAIbQwcI3aOdYxAcT6MbJuRpZOA9g0vQCuAgUHRqTsFz82A/QeTUBigbK4S4Lw6Q27EC5b3hmN9bFG1wJHrrgHwWsOKFjCqClqEs3D/UEpdHwPIlGZ2hQlGl66B5SaZmUq0YvBpqGoDndpDuZjkAiOOIirm43Ce538BVH4/3ZAWPHYKdh+HgyfPiqzNRQ5QIqaGg1y9178crpGqW/AmwWwnKSk5uGqtxYt8KSi9WKynXoaTdWd1Dj4cI8Dl50G/S2Bgf2hfGXSG1P32HYe1O2HrN1HOScZBrvi1iMAD7aClgB28PaqUmuoCtAS4JSjtX/4O6zal792yFO4dCt07p++bSY/qQzB/G9ScTvS+vaLctxwGhStZLlFKDVGmHCz2PxD5GQ2/mQw1tWetVpyecTgSSoth3N1wfiMXgfbXwIwtcFKsphGtmJhZSrukAB7rGKq6IBXcNgKQJN4/CPoEP6mGqXNS9Dai9sBwuPR7QUfNrt8nB2DOx5bnbjumVmx3RwfoIjXf4K2fADSqQSHNDEozbwWs9cDpcpD7t0cXeFScBp924jTsqY2a4POL0j9RwXtvLQhdu6IonV/704dQfcTfSrridmUFDAzH0fcKQL8DxgcFaNoc+Lg63in00o4aClf8IHHE9QfgnX1wWu66odpYVQS3doTKJB7vN3Ww8CvYZyru+Qquq4If+9zk1n0w3+YibxyXD91awe2ylSJ4+70AtLhhS8ngoDQTpsN/95verlPosWATx0Kxh5W3H4N5OxNnqSyE+7slBphiZ6d/Dt+cTKT51YXRVIfdauthwlqLgyzRcv2qqhJ4QDbbBG9LBCDZc3NpUJpxk+CEpaC9dEUFMOmJxNEWfQ0fSYLTp426CDp4AN1dC7OSlPkuKYehFyQO9MxqS1nbXrYBq6QQxsmupODtQwFI4q8uQWkefyHq/3ibq3+KC2GihLyetuAr2CbboXzayC5wYUn8hZ018LrkFXxaj1YwvGPihedXw7H6+PDDDkUk6fZkr6B36vTbIQCJuxVYdT39Muz91kyiifqHHjf+xfHRDKDdNh+CpT5bncoiMKZ7YrKrXsO07dEb9rabOkAfH6fkqRVQJwvyZATczOV5JfCIj25MAdkBAUikPHBi4KXZ8OmXyYcUTnp4BFxycWKfv+2GLeJdmFYSiSrpLh7uca/vqIkq6RoLpMtaw80+ivbEKXhailNW8BrjHhN+dG4N94QTsbrQAL2xDN7blDytITcnFkwsmV8T3fJ1DRRHoFtpcrPt0op5//w4nKiHC0oSdZXbb9NOmCf1CQOQN0Mgv1/eDobItovgzQEolIht2QbT/+ox8x4rJiL3xN3QOZxJDb5sn55TV8Kug2fTtzExswLYO3pBz4pQ0zgiFkpJS0J+/GSQdIdvM2C1aQ3j74GyJOITaplpOm/4Auaujw9a4yol+VBYAE/2h0i4VKyjpEOZeVnrzIWw8ePUzqJo7w5VcP9waBvuqYXC7tOvYdYqEKXuVz5y80Q/7AyDe4YaWjo7Zj6UoyhUu/fD86/CGbNbOVU+SMz+gKvguiuh0GPZQi/XQ7C1Gv78Nggzu9WSuHyQ8YWKi2HstVAa2BTFJnIcxVChhksqKY93N6bPB4k+EgCFxXt0hU7nQ3kZRCKJekwSXD8KWI17dwssfBdka3qcQrYLjwJQC7ipN1wdTjm7t+mEGqGCVZdSKhjP/NGTj07DEt60iLe7JNemPJl6EFFxi1fDqg0+hUVPzU38n+93hF9flT4oTjKrE6yGSnfYA0m5R1IforhtZzFtCtZj9dz+6QCSeV5bAps/SV6utism7dvAmAFQmHl52kl3iF4PnDDzIv2vf0cXHWvJqhrJfrdIUwEkldpX5sOXrjduCgBxCX5TOhJlXdkaRg+CitKMNV00YSbkWutQKVfvlOu3wLy3oqbfj5PScZR7PU/BVNmK7mk798D0BXDwSLzecubyKSi2q4TRN0J5di5GNOVqAAqVtPd7JvJkpfQsN5Gy+ZWDDIEfB234D8xeavldXnqjpF0r1rEdjL4Fyooz5hyXMC5pLz5vqLKP3/THamDZWnhvM9R79FL0QXgCW08+yeYg6bt4Fax835LeZPQibhHo0xNG3gAFmescd7L4so/holCFw1TP58BhWLYm6kyKYvWzXn6/uRwkFnLWorNBcRD6QVfDzXLYKjctvnBoAApdek63FgFHkvxbt8Pnu+DwsWiyza8JCFJPf+wumLkIDsuROj+u8xCLf3Xnjf4p3nTrS3Hdt/QsOb3QmxfCLkJAE4skIujXnp0Op6WM6lMqdjhJiMy1qopoKNO+bdhVpOzvv3nBcFFG219yubyHn02hc6yJeneHuwdDUWEuZ3fG8t/+YgCSVHhGG6hytcwxz0V1lre5ekhM+w3XRD+N0FJvoDIgZbwFLxcLdjnIz3eSSolwTS+fbGUu5paTkim34BmAxEhmtYkzm8U+PMFf/3Ro2+ipk2CbOA1IcoowJ9uAw4IV00GWQygR/u3i3+Q4XWKtLfg2YJdIa/2dbCR/aMJZZ1LM/rABcE3jH9sLt5HccJGkl875UQQXoIpWcN8w6Nw+LA+G7p/ZUQQDkqSZzulhFhGxiztFwTkH+ezMD7NYoiZHMM/Zcai5y+G26yEvXHI9NNs0HGHP/jiUBZIcxWw+UJfqMTQfyQzApM2HeoOB1HwsPB1OzS8WSIdQNI/d/GqKADgJUM0vN0kHVPPrcdIhZK43v2ApOFDNr+gKiJXoKCkpDTMvebs26JGHFONLxVNSMfLusqb5krdkN6e1ln3yfZrSawL/B9iD1grA/HieAAAAAElFTkSuQmCC);background-size:cover;background-repeat:no-repeat;margin-bottom:4px}.kf-ai-rebot-name{font-size:12px;color:#333;white-space:nowrap}.kf-ai-dialog{z-index:99999;box-sizing:border-box;position:fixed;top:0;height:100%;max-height:100vh;width:0;overflow:hidden;border:1px solid #cecece;transition:width .5s ease,visibility .3s ease;pointer-events:none}.kf-ai-dialog-show{pointer-events:initial;width:var(--kf-ai-dialog-width);background:#fff}.kf-ai-dialog-content{height:100%;width:var(--kf-ai-dialog-width);border:none;overscroll-behavior:contain}')),document.head.appendChild(i)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
2
- (function(o,i){typeof exports=="object"&&typeof module!="undefined"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(o=typeof globalThis!="undefined"?globalThis:o||self,i(o.KfChatSdk={}))})(this,(function(o){"use strict";var L=Object.defineProperty;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var v=(o,i,n)=>i in o?L(o,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[i]=n,y=(o,i)=>{for(var n in i||(i={}))O.call(i,n)&&v(o,n,i[n]);if(k)for(var n of k(i))W.call(i,n)&&v(o,n,i[n]);return o};var h=(o,i,n)=>v(o,typeof i!="symbol"?i+"":i,n);function i(s){if(Array.isArray(s)){for(var t=0,e=Array(s.length);t<s.length;t++)e[t]=s[t];return e}else return Array.from(s)}var n=!1;if(typeof window!="undefined"){var m={get passive(){n=!0}};window.addEventListener("testPassive",null,m),window.removeEventListener("testPassive",null,m)}var u=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),a=[],p=!1,E=-1,c=void 0,d=void 0,f=void 0,w=function(t){return a.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},g=function(t){var e=t||window.event;return w(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},I=function(t){if(f===void 0){var e=!1,r=window.innerWidth-document.documentElement.clientWidth;if(e&&r>0){var l=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);f=document.body.style.paddingRight,document.body.style.paddingRight=l+r+"px"}}c===void 0&&(c=document.body.style.overflow,document.body.style.overflow="hidden")},T=function(){f!==void 0&&(document.body.style.paddingRight=f,f=void 0),c!==void 0&&(document.body.style.overflow=c,c=void 0)},x=function(){return window.requestAnimationFrame(function(){if(d===void 0){d={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,r=t.scrollX,l=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-r,setTimeout(function(){return window.requestAnimationFrame(function(){var P=l-window.innerHeight;P&&e>=l&&(document.body.style.top=-(e+P))})},300)}})},C=function(){if(d!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=d.position,document.body.style.top=d.top,document.body.style.left=d.left,window.scrollTo(e,t),d=void 0}},$=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},A=function(t,e){var r=t.targetTouches[0].clientY-E;return w(t.target)?!1:e&&e.scrollTop===0&&r>0||$(e)&&r<0?g(t):(t.stopPropagation(),!0)},B=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!a.some(function(l){return l.targetElement===t})){var r={targetElement:t,options:{}};a=[].concat(i(a),[r]),u?x():I(),u&&(t.ontouchstart=function(l){l.targetTouches.length===1&&(E=l.targetTouches[0].clientY)},t.ontouchmove=function(l){l.targetTouches.length===1&&A(l,t)},p||(document.addEventListener("touchmove",g,n?{passive:!1}:void 0),p=!0))}},b=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}a=a.filter(function(e){return e.targetElement!==t}),u&&(t.ontouchstart=null,t.ontouchmove=null,p&&a.length===0&&(document.removeEventListener("touchmove",g,n?{passive:!1}:void 0),p=!1)),u?C():T()};const z={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right"};class S{constructor(t){h(this,"options");h(this,"containerEl");h(this,"entryEl");h(this,"dialogEl");h(this,"dialogIframeEl");if(this.options=y(y({},z),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init()}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,e){this.entryEl.style.bottom=`${e}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const e=document.createElement("span");e.className="kf-ai-rebot-name",e.innerHTML="AI智能体",this.entryEl.appendChild(e),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=y(y({},this.options),t);const e=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(r=>{switch(r){case"service":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"appCode":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"zIndex":const l=this.options.zIndex.toString();this.entryEl.style.zIndex=l,this.dialogEl.style.zIndex=l;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),B(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),b(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,e;b(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(e=this.containerEl)==null||e.removeChild(this.dialogEl)}}console.info(`%cKfChatSdk v${{version:"0.0.7"}.version}`,"color: #52c41a; font-weight: bold;");const D={KfAiChat:S};o.KfAiChat=S,o.default=D,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
2
+ (function(o,i){typeof exports=="object"&&typeof module!="undefined"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(o=typeof globalThis!="undefined"?globalThis:o||self,i(o.KfChatSdk={}))})(this,(function(o){"use strict";var L=Object.defineProperty;var k=Object.getOwnPropertySymbols;var O=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var v=(o,i,n)=>i in o?L(o,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[i]=n,y=(o,i)=>{for(var n in i||(i={}))O.call(i,n)&&v(o,n,i[n]);if(k)for(var n of k(i))W.call(i,n)&&v(o,n,i[n]);return o};var h=(o,i,n)=>v(o,typeof i!="symbol"?i+"":i,n);function i(s){if(Array.isArray(s)){for(var t=0,e=Array(s.length);t<s.length;t++)e[t]=s[t];return e}else return Array.from(s)}var n=!1;if(typeof window!="undefined"){var m={get passive(){n=!0}};window.addEventListener("testPassive",null,m),window.removeEventListener("testPassive",null,m)}var u=typeof window!="undefined"&&window.navigator&&window.navigator.platform&&(/iP(ad|hone|od)/.test(window.navigator.platform)||window.navigator.platform==="MacIntel"&&window.navigator.maxTouchPoints>1),d=[],p=!1,E=-1,c=void 0,a=void 0,f=void 0,w=function(t){return d.some(function(e){return!!(e.options.allowTouchMove&&e.options.allowTouchMove(t))})},g=function(t){var e=t||window.event;return w(e.target)||e.touches.length>1?!0:(e.preventDefault&&e.preventDefault(),!1)},I=function(t){if(f===void 0){var e=!1,r=window.innerWidth-document.documentElement.clientWidth;if(e&&r>0){var l=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right"),10);f=document.body.style.paddingRight,document.body.style.paddingRight=l+r+"px"}}c===void 0&&(c=document.body.style.overflow,document.body.style.overflow="hidden")},T=function(){f!==void 0&&(document.body.style.paddingRight=f,f=void 0),c!==void 0&&(document.body.style.overflow=c,c=void 0)},x=function(){return window.requestAnimationFrame(function(){if(a===void 0){a={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left};var t=window,e=t.scrollY,r=t.scrollX,l=t.innerHeight;document.body.style.position="fixed",document.body.style.top=-e,document.body.style.left=-r,setTimeout(function(){return window.requestAnimationFrame(function(){var P=l-window.innerHeight;P&&e>=l&&(document.body.style.top=-(e+P))})},300)}})},C=function(){if(a!==void 0){var t=-parseInt(document.body.style.top,10),e=-parseInt(document.body.style.left,10);document.body.style.position=a.position,document.body.style.top=a.top,document.body.style.left=a.left,window.scrollTo(e,t),a=void 0}},B=function(t){return t?t.scrollHeight-t.scrollTop<=t.clientHeight:!1},$=function(t,e){var r=t.targetTouches[0].clientY-E;return w(t.target)?!1:e&&e.scrollTop===0&&r>0||B(e)&&r<0?g(t):(t.stopPropagation(),!0)},A=function(t,e){if(!t){console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");return}if(!d.some(function(l){return l.targetElement===t})){var r={targetElement:t,options:{}};d=[].concat(i(d),[r]),u?x():I(),u&&(t.ontouchstart=function(l){l.targetTouches.length===1&&(E=l.targetTouches[0].clientY)},t.ontouchmove=function(l){l.targetTouches.length===1&&$(l,t)},p||(document.addEventListener("touchmove",g,n?{passive:!1}:void 0),p=!0))}},b=function(t){if(!t){console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");return}d=d.filter(function(e){return e.targetElement!==t}),u&&(t.ontouchstart=null,t.ontouchmove=null,p&&d.length===0&&(document.removeEventListener("touchmove",g,n?{passive:!1}:void 0),p=!1)),u?C():T()};const z={service:"",appCode:"",appendTo:null,zIndex:9999,showEntry:!0,entrySize:"medium",entryX:50,entryY:50,dialogWidth:600,dialogPosition:"right",lockBodyScroll:!0};class S{constructor(t){h(this,"options");h(this,"containerEl");h(this,"entryEl");h(this,"dialogEl");h(this,"dialogIframeEl");if(this.options=y(y({},z),t),!this.options.service)throw new Error("service is required");if(!this.options.appCode)throw new Error("agentCode is required");this.containerEl=this.options.appendTo||document.body,this.entryEl=document.createElement("div"),this.dialogEl=document.createElement("div"),this.dialogIframeEl=document.createElement("iframe"),this.init(),this.update=this.update.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.destroy=this.destroy.bind(this)}showEntry(t){t?this.entryEl.style.display="flex":this.entryEl.style.display="none"}changeEntrySize(t){this.entryEl.style.transform=`scale(${t==="small"?.8:t==="large"?1.2:1})`}changeDialogWidth(t){this.containerEl.style.setProperty("--kf-ai-dialog-width",`${t}px`)}changeEntryPosition(t,e){this.entryEl.style.bottom=`${e}px`,this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${t}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${t}px`)}changeDialogPosition(t){t==="left"?(this.dialogEl.style.right="initial",this.dialogEl.style.left="0",this.entryEl.style.setProperty("transform-origin","left bottom")):(this.dialogEl.style.left="initial",this.dialogEl.style.right="0",this.entryEl.style.setProperty("transform-origin","right bottom"))}init(){this.containerEl.querySelector(".kf-ai-dialog")&&this.destroy(),this.entryEl.className="kf-ai-rebot-entry";const t=document.createElement("div");t.className="kf-ai-rebot",this.entryEl.appendChild(t);const e=document.createElement("span");e.className="kf-ai-rebot-name",e.innerHTML="AI智能体",this.entryEl.appendChild(e),this.containerEl.appendChild(this.entryEl),this.dialogEl.className="kf-ai-dialog",this.dialogEl.style.visibility="hidden",this.dialogIframeEl.className="kf-ai-dialog-content",this.dialogIframeEl.src=`${this.options.service}/platform/chat/flow/${this.options.appCode}`,this.dialogEl.appendChild(this.dialogIframeEl),this.update(this.options),this.containerEl.appendChild(this.dialogEl),this.entryEl.addEventListener("click",()=>{this.dialogEl.style.visibility==="visible"?this.hide():this.show()})}update(t){this.options=y(y({},this.options),t);const e=`${this.options.service}/platform/chat/flow/${this.options.appCode}`;Object.keys(t).forEach(r=>{switch(r){case"service":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"appCode":this.dialogIframeEl.src!=e&&(this.dialogIframeEl.src=e);break;case"zIndex":const l=this.options.zIndex.toString();this.entryEl.style.zIndex=l,this.dialogEl.style.zIndex=l;break;case"showEntry":this.showEntry(!!this.options.showEntry);break;case"entrySize":this.changeEntrySize(this.options.entrySize);break;case"entryX":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"entryY":this.changeEntryPosition(this.options.entryX,this.options.entryY);break;case"dialogWidth":this.changeDialogWidth(this.options.dialogWidth);break;case"dialogPosition":this.changeDialogPosition(this.options.dialogPosition);break}})}show(){this.dialogEl.style.visibility="visible",this.dialogEl.classList.add("kf-ai-dialog-show"),this.options.lockBodyScroll&&A(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX+this.options.dialogWidth}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX+this.options.dialogWidth}px`)}hide(){this.dialogEl.style.visibility="hidden",this.dialogEl.classList.remove("kf-ai-dialog-show"),this.options.lockBodyScroll&&b(this.dialogEl),this.options.dialogPosition==="left"?(this.entryEl.style.right="initial",this.entryEl.style.left=`${this.options.entryX}px`):(this.entryEl.style.left="initial",this.entryEl.style.right=`${this.options.entryX}px`)}destroy(){var t,e;b(this.dialogEl),(t=this.containerEl)==null||t.removeChild(this.entryEl),(e=this.containerEl)==null||e.removeChild(this.dialogEl)}}console.info(`%cKfChatSdk v${{version:"0.0.8"}.version}`,"color: #52c41a; font-weight: bold;");const D={KfAiChat:S};o.KfAiChat=S,o.default=D,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
@@ -30,6 +30,13 @@ declare const meta: {
30
30
  };
31
31
  };
32
32
  };
33
+ lockBodyScroll: {
34
+ description: string;
35
+ default: boolean;
36
+ defaultValue: boolean;
37
+ required: boolean;
38
+ control: "boolean";
39
+ };
33
40
  zIndex: {
34
41
  description: string;
35
42
  default: number;
@@ -90,6 +97,7 @@ declare const meta: {
90
97
  dialogWidth: number;
91
98
  dialogPosition: "right";
92
99
  zIndex: number;
100
+ lockBodyScroll: false;
93
101
  };
94
102
  };
95
103
  export default meta;
@@ -2,6 +2,7 @@ export interface Config {
2
2
  service: string;
3
3
  appCode: string;
4
4
  appendTo: HTMLElement | null;
5
+ lockBodyScroll: boolean;
5
6
  zIndex: number;
6
7
  showEntry: boolean;
7
8
  entrySize: 'small' | 'medium' | 'large';
@@ -13,6 +14,7 @@ export interface Config {
13
14
  export interface UpdateOptions {
14
15
  service?: string;
15
16
  appCode?: string;
17
+ lockBodyScroll?: boolean;
16
18
  zIndex?: number;
17
19
  showEntry?: boolean;
18
20
  entrySize?: 'small' | 'medium' | 'large';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kf-chat-sdk",
3
- "version": "0.0.7",
3
+ "version": "0.0.8",
4
4
  "type": "module",
5
5
  "main": "dist/kf-chat-sdk.umd.js",
6
6
  "exports": {
package/src/ai-chat.ts CHANGED
@@ -15,6 +15,7 @@ const DEFAULT_CONFIG: Config = {
15
15
  entryY: 50,
16
16
  dialogWidth: 600,
17
17
  dialogPosition: "right",
18
+ lockBodyScroll: true,
18
19
  };
19
20
 
20
21
  export class KfAiChat {
@@ -34,6 +35,11 @@ export class KfAiChat {
34
35
  this.dialogEl = document.createElement("div");
35
36
  this.dialogIframeEl = document.createElement("iframe");
36
37
  this.init();
38
+
39
+ this.update = this.update.bind(this);
40
+ this.show = this.show.bind(this);
41
+ this.hide = this.hide.bind(this);
42
+ this.destroy = this.destroy.bind(this);
37
43
  }
38
44
  private showEntry(flag: boolean) {
39
45
  if (flag) {
@@ -147,7 +153,9 @@ export class KfAiChat {
147
153
  show() {
148
154
  this.dialogEl!.style.visibility = "visible";
149
155
  this.dialogEl!.classList.add("kf-ai-dialog-show");
150
- disableBodyScroll(this.dialogEl)
156
+ if(this.options.lockBodyScroll) {
157
+ disableBodyScroll(this.dialogEl)
158
+ }
151
159
  if (this.options.dialogPosition === "left") {
152
160
  this.entryEl!.style.right = "initial";
153
161
  this.entryEl!.style.left = `${
@@ -163,7 +171,9 @@ export class KfAiChat {
163
171
  hide() {
164
172
  this.dialogEl!.style.visibility = "hidden";
165
173
  this.dialogEl!.classList.remove("kf-ai-dialog-show");
166
- enableBodyScroll(this.dialogEl)
174
+ if(this.options.lockBodyScroll) {
175
+ enableBodyScroll(this.dialogEl)
176
+ }
167
177
  if (this.options.dialogPosition === "left") {
168
178
  this.entryEl!.style.right = "initial";
169
179
  this.entryEl!.style.left = `${this.options.entryX}px`;
@@ -17,6 +17,7 @@ const kfAiChatInstance = new KfAiChat({
17
17
  entryY: 50,
18
18
  dialogWidth: 600,
19
19
  dialogPosition: "right",
20
+ lockBodyScroll: true
20
21
  })
21
22
  ```
22
23
 
@@ -46,6 +47,7 @@ interface UpdateOptions {
46
47
  entryY?: number;
47
48
  dialogWidth?: number;
48
49
  dialogPosition?: 'right' | 'left';
50
+ lockBodyScroll?: boolean;
49
51
  }
50
52
  ```
51
53
  ```ts
@@ -28,7 +28,7 @@ const meta = {
28
28
  document.body.style.setProperty("background", "#e8f5e8");
29
29
  }
30
30
 
31
- const kfAiChat = new KfAiChat({
31
+ new KfAiChat({
32
32
  ...args,
33
33
  appendTo: page,
34
34
  });
@@ -60,6 +60,13 @@ const meta = {
60
60
  },
61
61
  },
62
62
  },
63
+ lockBodyScroll: {
64
+ description: "智能体弹出时是否锁定页面滚动",
65
+ default: true,
66
+ defaultValue: true,
67
+ required: false,
68
+ control: "boolean",
69
+ },
63
70
  zIndex: {
64
71
  description: "层级",
65
72
  default: 9999,
@@ -117,6 +124,7 @@ const meta = {
117
124
  dialogWidth: 600,
118
125
  dialogPosition: "right",
119
126
  zIndex: 9999,
127
+ lockBodyScroll: false,
120
128
  },
121
129
  } satisfies Meta<ConfigOpitons>;
122
130
 
package/src/types.ts CHANGED
@@ -2,6 +2,7 @@ export interface Config {
2
2
  service: string;
3
3
  appCode: string;
4
4
  appendTo: HTMLElement | null;
5
+ lockBodyScroll: boolean;
5
6
  zIndex: number;
6
7
  showEntry: boolean;
7
8
  entrySize: 'small' | 'medium' | 'large';
@@ -14,6 +15,7 @@ export interface Config {
14
15
  export interface UpdateOptions {
15
16
  service?: string;
16
17
  appCode?: string;
18
+ lockBodyScroll?: boolean;
17
19
  zIndex?: number;
18
20
  showEntry?: boolean;
19
21
  entrySize?: 'small' | 'medium' | 'large';
@@ -1,6 +0,0 @@
1
- [{
2
- key6: '公安',
3
- key0: '交管',
4
- key1: 1,
5
- key2: 2
6
- }]