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.
- package/dist/kf-chat-sdk.cjs.js +1 -1
- package/dist/kf-chat-sdk.es.js +54 -53
- package/dist/kf-chat-sdk.iife.js +1 -1
- package/dist/kf-chat-sdk.umd.js +1 -1
- package/dist/src/stories/Config.stories.d.ts +8 -0
- package/dist/src/types.d.ts +2 -0
- package/package.json +1 -1
- package/src/ai-chat.ts +12 -2
- package/src/stories/02-KfAiChatInstance.mdx +2 -0
- package/src/stories/Config.stories.ts +9 -1
- package/src/types.ts +2 -0
- package/src/stories/test.js +0 -6
package/dist/kf-chat-sdk.cjs.js
CHANGED
|
@@ -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
|
-
"use strict";var P=Object.defineProperty;var v=Object.getOwnPropertySymbols;var
|
|
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;
|
package/dist/kf-chat-sdk.es.js
CHANGED
|
@@ -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,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
|
-
var
|
|
2
|
+
var S = Object.defineProperty;
|
|
3
3
|
var v = Object.getOwnPropertySymbols;
|
|
4
|
-
var
|
|
5
|
-
var u = (
|
|
6
|
-
for (var
|
|
7
|
-
|
|
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
|
|
10
|
-
|
|
11
|
-
return
|
|
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 = (
|
|
14
|
-
function
|
|
15
|
-
if (Array.isArray(
|
|
16
|
-
for (var t = 0,
|
|
17
|
-
|
|
18
|
-
return
|
|
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(
|
|
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 = [],
|
|
32
|
-
return l.some(function(
|
|
33
|
-
return !!(
|
|
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
|
-
},
|
|
36
|
-
var
|
|
37
|
-
return b(
|
|
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
|
|
41
|
-
if (
|
|
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,
|
|
58
|
-
document.body.style.position = "fixed", document.body.style.top = -
|
|
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 &&
|
|
61
|
+
g && i >= o && (document.body.style.top = -(i + g));
|
|
62
62
|
});
|
|
63
63
|
}, 300);
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
},
|
|
66
|
+
}, B = function() {
|
|
67
67
|
if (s !== void 0) {
|
|
68
|
-
var t = -parseInt(document.body.style.top, 10),
|
|
69
|
-
document.body.style.position = s.position, document.body.style.top = s.top, document.body.style.left = s.left, window.scrollTo(
|
|
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
|
-
},
|
|
71
|
+
}, $ = function(t) {
|
|
72
72
|
return t ? t.scrollHeight - t.scrollTop <= t.clientHeight : !1;
|
|
73
|
-
},
|
|
73
|
+
}, A = function(t, i) {
|
|
74
74
|
var n = t.targetTouches[0].clientY - w;
|
|
75
|
-
return b(t.target) ? !1 :
|
|
76
|
-
}, z = function(t,
|
|
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(
|
|
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 &&
|
|
92
|
-
},
|
|
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(
|
|
100
|
-
return
|
|
101
|
-
}), c && (t.ontouchstart = null, t.ontouchmove = null,
|
|
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,
|
|
136
|
-
this.entryEl.style.bottom = `${
|
|
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
|
|
146
|
-
|
|
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
|
|
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 !=
|
|
157
|
+
this.dialogIframeEl.src != i && (this.dialogIframeEl.src = i);
|
|
157
158
|
break;
|
|
158
159
|
case "appCode":
|
|
159
|
-
this.dialogIframeEl.src !=
|
|
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,
|
|
194
|
-
m(this.dialogEl), (t = this.containerEl) == null || t.removeChild(this.entryEl), (
|
|
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.
|
|
198
|
+
const W = "0.0.8", X = {
|
|
198
199
|
version: W
|
|
199
200
|
};
|
|
200
201
|
console.info(
|
package/dist/kf-chat-sdk.iife.js
CHANGED
|
@@ -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,
|
|
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})({});
|
package/dist/kf-chat-sdk.umd.js
CHANGED
|
@@ -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
|
-
(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),
|
|
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;
|
package/dist/src/types.d.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';
|
|
@@ -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
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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';
|