@botpress/webchat 1.0.11 → 1.0.12
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/contexts/ComposerContext.d.ts +3 -0
- package/dist/index.js +27 -29
- package/dist/index.umd.cjs +1 -1
- package/package.json +1 -1
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
type ComposerContextValue = {
|
|
3
3
|
value: string;
|
|
4
4
|
setValue: (value: string) => void;
|
|
5
|
+
historyIndex: number;
|
|
6
|
+
setHistoryIndex: React.Dispatch<React.SetStateAction<number>>;
|
|
7
|
+
sendMessage: () => void;
|
|
5
8
|
};
|
|
6
9
|
export declare const ComposerContext: import("react").Context<ComposerContextValue | null>;
|
|
7
10
|
export declare function useComposerContext(): ComposerContextValue;
|
package/dist/index.js
CHANGED
|
@@ -33007,40 +33007,40 @@ const WB = qB, YB = (e) => {
|
|
|
33007
33007
|
$t((e, n) => {
|
|
33008
33008
|
const {
|
|
33009
33009
|
state: r,
|
|
33010
|
-
theme: { composer: a }
|
|
33011
|
-
|
|
33012
|
-
|
|
33010
|
+
theme: { composer: a },
|
|
33011
|
+
client: s
|
|
33012
|
+
} = Er(), [c, f] = qt(""), [h, v] = qt(-1), y = () => {
|
|
33013
|
+
c && (s.sendMessage(c), f(""), v(-1));
|
|
33014
|
+
};
|
|
33015
|
+
return /* @__PURE__ */ he.jsx(aO.Provider, { value: { value: c, setValue: f, historyIndex: h, setHistoryIndex: v, sendMessage: y }, children: /* @__PURE__ */ he.jsx("div", { "data-disabled": r.disableComposer, ...e, ...a == null ? void 0 : a.container, ref: n }) });
|
|
33013
33016
|
})
|
|
33014
33017
|
), GB = Th(({ ...e }) => {
|
|
33015
33018
|
const {
|
|
33016
33019
|
state: n,
|
|
33017
|
-
theme: { composer: r }
|
|
33018
|
-
|
|
33019
|
-
} = Er(), { value: s, setValue: c } = oO(), f = Yt(null), [h, v] = qt(-1), y = $f((C) => C.user), S = $f((C) => C.messageHistory), x = () => {
|
|
33020
|
-
s && (a.sendMessage(s), c(""));
|
|
33021
|
-
};
|
|
33020
|
+
theme: { composer: r }
|
|
33021
|
+
} = Er(), { value: a, setValue: s, historyIndex: c, setHistoryIndex: f, sendMessage: h } = oO(), v = Yt(null), y = $f((x) => x.user), S = $f((x) => x.messageHistory);
|
|
33022
33022
|
return Nt(() => {
|
|
33023
|
-
|
|
33024
|
-
}, [
|
|
33023
|
+
v.current && (v.current.selectionStart = v.current.value.length, v.current.selectionEnd = v.current.value.length);
|
|
33024
|
+
}, [a]), /* @__PURE__ */ he.jsx(
|
|
33025
33025
|
"textarea",
|
|
33026
33026
|
{
|
|
33027
33027
|
...r == null ? void 0 : r.input,
|
|
33028
33028
|
disabled: n.disableComposer,
|
|
33029
|
-
ref:
|
|
33030
|
-
value:
|
|
33031
|
-
"data-has-value": !!
|
|
33032
|
-
onChange: (
|
|
33033
|
-
onKeyDown: (
|
|
33029
|
+
ref: v,
|
|
33030
|
+
value: a,
|
|
33031
|
+
"data-has-value": !!a,
|
|
33032
|
+
onChange: (x) => s(x.target.value),
|
|
33033
|
+
onKeyDown: (x) => {
|
|
33034
33034
|
if (!n.disableComposer) {
|
|
33035
|
-
if (
|
|
33036
|
-
|
|
33037
|
-
const
|
|
33038
|
-
|
|
33035
|
+
if (x.key === "Enter" && (x.preventDefault(), h()), x.key === "ArrowUp") {
|
|
33036
|
+
x.preventDefault();
|
|
33037
|
+
const C = S[(y == null ? void 0 : y.userId) ?? ""] ?? [];
|
|
33038
|
+
c < C.length - 1 && s(C[c + 1]), f(() => Math.min(c + 1, C.length - 1));
|
|
33039
33039
|
}
|
|
33040
|
-
if (
|
|
33041
|
-
|
|
33042
|
-
const
|
|
33043
|
-
c
|
|
33040
|
+
if (x.key === "ArrowDown") {
|
|
33041
|
+
x.preventDefault();
|
|
33042
|
+
const C = S[(y == null ? void 0 : y.userId) ?? ""] ?? [];
|
|
33043
|
+
s(c === 0 ? "" : C[c - 1]), f(() => Math.max(c - 1, -1));
|
|
33044
33044
|
}
|
|
33045
33045
|
}
|
|
33046
33046
|
},
|
|
@@ -33049,13 +33049,11 @@ const WB = qB, YB = (e) => {
|
|
|
33049
33049
|
);
|
|
33050
33050
|
}), QB = Th(
|
|
33051
33051
|
$t(({ icon: e = Sj, ...n }, r) => {
|
|
33052
|
-
var
|
|
33053
|
-
const { value: a,
|
|
33054
|
-
|
|
33055
|
-
}, {
|
|
33056
|
-
theme: { composer: f }
|
|
33052
|
+
var f, h;
|
|
33053
|
+
const { value: a, sendMessage: s } = oO(), {
|
|
33054
|
+
theme: { composer: c }
|
|
33057
33055
|
} = Er();
|
|
33058
|
-
return /* @__PURE__ */ he.jsx("button", { ref: r, ...n, ...(
|
|
33056
|
+
return /* @__PURE__ */ he.jsx("button", { ref: r, ...n, ...(f = c == null ? void 0 : c.button) == null ? void 0 : f.container, disabled: !a, onClick: s, children: /* @__PURE__ */ he.jsx(e, { ...(h = c == null ? void 0 : c.button) == null ? void 0 : h.icon }) });
|
|
33059
33057
|
})
|
|
33060
33058
|
), XB = ({ children: e }) => {
|
|
33061
33059
|
const [n, r] = qt(!1), [a, s] = qt(""), [c, f] = qt(null), h = ({ title: y, content: S }) => {
|
package/dist/index.umd.cjs
CHANGED
|
@@ -464,7 +464,7 @@ to {
|
|
|
464
464
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
465
465
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
466
466
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
|
467
|
-
`);const I=M.state[h];if(I==null)return;JSON.stringify(s.getState())!==JSON.stringify(I)&&x(I);return}s.dispatchFromDevtools&&typeof s.dispatch=="function"&&s.dispatch(M)});case"DISPATCH":switch(T.payload.type){case"RESET":return x(R),h===void 0?S==null?void 0:S.init(s.getState()):S==null?void 0:S.init(Tg(v.name));case"COMMIT":if(h===void 0){S==null||S.init(s.getState());return}return S==null?void 0:S.init(Tg(v.name));case"ROLLBACK":return HE(T.state,M=>{if(h===void 0){x(M),S==null||S.init(s.getState());return}x(M[h]),S==null||S.init(Tg(v.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return HE(T.state,M=>{if(h===void 0){x(M);return}JSON.stringify(s.getState())!==JSON.stringify(M[h])&&x(M[h])});case"IMPORT_STATE":{const{nextLiftedState:M}=T.payload,I=(D=M.computedStates.slice(-1)[0])==null?void 0:D.state;if(!I)return;x(h===void 0?I:I[h]),S==null||S.send(null,M);return}case"PAUSE_RECORDING":return C=!C}return}}),R},HE=(e,n)=>{let r;try{r=JSON.parse(e)}catch(a){console.error("[zustand devtools middleware] Could not parse the received json",a)}r!==void 0&&n(r)};function uF(e,n){let r;try{r=e()}catch{return}return{getItem:s=>{var c;const f=v=>v===null?null:JSON.parse(v,n==null?void 0:n.reviver),h=(c=r.getItem(s))!=null?c:null;return h instanceof Promise?h.then(f):f(h)},setItem:(s,c)=>r.setItem(s,JSON.stringify(c,n==null?void 0:n.replacer)),removeItem:s=>r.removeItem(s)}}const Yh=e=>n=>{try{const r=e(n);return r instanceof Promise?r:{then(a){return Yh(a)(r)},catch(a){return this}}}catch(r){return{then(a){return this},catch(a){return Yh(a)(r)}}}},cF=(e,n)=>(r,a,s)=>{let c={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:D=>D,version:0,merge:(D,M)=>({...M,...D}),...n},f=!1;const h=new Set,v=new Set;let y;try{y=c.getStorage()}catch{}if(!y)return e((...D)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...D)},a,s);const S=Yh(c.serialize),E=()=>{const D=c.partialize({...a()});let M;const I=S({state:D,version:c.version}).then(N=>y.setItem(c.name,N)).catch(N=>{M=N});if(M)throw M;return I},C=s.setState;s.setState=(D,M)=>{C(D,M),E()};const x=e((...D)=>{r(...D),E()},a,s);let R;const T=()=>{var D;if(!y)return;f=!1,h.forEach(I=>I(a()));const M=((D=c.onRehydrateStorage)==null?void 0:D.call(c,a()))||void 0;return Yh(y.getItem.bind(y))(c.name).then(I=>{if(I)return c.deserialize(I)}).then(I=>{if(I)if(typeof I.version=="number"&&I.version!==c.version){if(c.migrate)return c.migrate(I.state,I.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return I.state}).then(I=>{var N;return R=c.merge(I,(N=a())!=null?N:x),r(R,!0),E()}).then(()=>{M==null||M(R,void 0),f=!0,v.forEach(I=>I(R))}).catch(I=>{M==null||M(void 0,I)})};return s.persist={setOptions:D=>{c={...c,...D},D.getStorage&&(y=D.getStorage())},clearStorage:()=>{y==null||y.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>T(),hasHydrated:()=>f,onHydrate:D=>(h.add(D),()=>{h.delete(D)}),onFinishHydration:D=>(v.add(D),()=>{v.delete(D)})},T(),R||x},fF=(e,n)=>(r,a,s)=>{let c={storage:uF(()=>localStorage),partialize:T=>T,version:0,merge:(T,D)=>({...D,...T}),...n},f=!1;const h=new Set,v=new Set;let y=c.storage;if(!y)return e((...T)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...T)},a,s);const S=()=>{const T=c.partialize({...a()});return y.setItem(c.name,{state:T,version:c.version})},E=s.setState;s.setState=(T,D)=>{E(T,D),S()};const C=e((...T)=>{r(...T),S()},a,s);let x;const R=()=>{var T,D;if(!y)return;f=!1,h.forEach(I=>{var N;return I((N=a())!=null?N:C)});const M=((D=c.onRehydrateStorage)==null?void 0:D.call(c,(T=a())!=null?T:C))||void 0;return Yh(y.getItem.bind(y))(c.name).then(I=>{if(I)if(typeof I.version=="number"&&I.version!==c.version){if(c.migrate)return c.migrate(I.state,I.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return I.state}).then(I=>{var N;return x=c.merge(I,(N=a())!=null?N:C),r(x,!0),S()}).then(()=>{M==null||M(x,void 0),x=a(),f=!0,v.forEach(I=>I(x))}).catch(I=>{M==null||M(void 0,I)})};return s.persist={setOptions:T=>{c={...c,...T},T.storage&&(y=T.storage)},clearStorage:()=>{y==null||y.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>R(),hasHydrated:()=>f,onHydrate:T=>(h.add(T),()=>{h.delete(T)}),onFinishHydration:T=>(v.add(T),()=>{v.delete(T)})},c.skipHydration||R(),x||C},dF=(e,n)=>"getStorage"in n||"serialize"in n||"deserialize"in n?cF(e,n):fF(e,n),Dc=oF()(sF(dF(e=>({messageHistory:{},addMessageToHistory:({userId:n,message:r})=>e(a=>({...a,messageHistory:{...a.messageHistory,[n]:[r,...(a.messageHistory[n]??[]).slice(0,100)]}})),setUser:n=>e(r=>({...r,user:n})),setConversationId:n=>e(r=>({...r,conversationId:n}))}),{name:"botpress-webchat"})));var eo=function(){return eo=Object.assign||function(n){for(var r,a=1,s=arguments.length;a<s;a++){r=arguments[a];for(var c in r)Object.prototype.hasOwnProperty.call(r,c)&&(n[c]=r[c])}return n},eo.apply(this,arguments)};function L5(e,n){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(r[a]=e[a]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(e);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(e,a[s])&&(r[a[s]]=e[a[s]]);return r}function pF(e,n,r){if(r||arguments.length===2)for(var a=0,s=n.length,c;a<s;a++)(c||!(a in n))&&(c||(c=Array.prototype.slice.call(n,0,a)),c[a]=n[a]);return e.concat(c||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;function hF(){var e=j.useRef(!1),n=j.useCallback(function(){return e.current},[]);return j.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),n}function mF(e,n,r){n===void 0&&(n=[]),r===void 0&&(r={loading:!1});var a=j.useRef(0),s=hF(),c=j.useState(r),f=c[0],h=c[1],v=j.useCallback(function(){for(var y=[],S=0;S<arguments.length;S++)y[S]=arguments[S];var E=++a.current;return f.loading||h(function(C){return eo(eo({},C),{loading:!0})}),e.apply(void 0,y).then(function(C){return s()&&E===a.current&&h({value:C,loading:!1}),C},function(C){return s()&&E===a.current&&h({error:C,loading:!1}),C})},n);return[f,v]}function P5(e,n){n===void 0&&(n=[]);var r=mF(e,n,{loading:!0}),a=r[0],s=r[1];return j.useEffect(function(){s()},[s]),a}function vF(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];e&&e.addEventListener&&e.addEventListener.apply(e,n)}function gF(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];e&&e.removeEventListener&&e.removeEventListener.apply(e,n)}var yF=function(e){j.useEffect(e,[])};const dd=yF;var bF=function(e){dd(function(){e()})};const SF=bF;var EF=function(e){var n=j.useRef(e);n.current=e,dd(function(){return function(){return n.current()}})};const xF=EF;var wF=function(e){var n=j.useRef(0),r=j.useState(e),a=r[0],s=r[1],c=j.useCallback(function(f){cancelAnimationFrame(n.current),n.current=requestAnimationFrame(function(){s(f)})},[]);return xF(function(){cancelAnimationFrame(n.current)}),[a,c]};const CF=wF;var kF=function(e){process.env.NODE_ENV==="development"&&(typeof e!="object"||typeof e.current>"u")&&console.error("`useScroll` expects a single ref argument.");var n=CF({x:0,y:0}),r=n[0],a=n[1];return j.useEffect(function(){var s=function(){e.current&&a({x:e.current.scrollLeft,y:e.current.scrollTop})};return e.current&&vF(e.current,"scroll",s,{capture:!1,passive:!0}),function(){e.current&&gF(e.current,"scroll",s)}},[e]),r};const _F=kF,TF=e=>{const n=new Date;return e.getTime()-n.getTime()},RF=(e=TF)=>{const[n,r]=j.useState(0),[a,s]=j.useState(),c=()=>r(f=>f+1);return P5(async()=>{if(a){const f=setTimeout(c,e(a));return()=>{clearTimeout(f)}}},[a]),[n,s]},N5=j.memo(j.forwardRef((e,n)=>{const{state:r,theme:{composer:a}}=cr(),[
|
|
467
|
+
`);const I=M.state[h];if(I==null)return;JSON.stringify(s.getState())!==JSON.stringify(I)&&x(I);return}s.dispatchFromDevtools&&typeof s.dispatch=="function"&&s.dispatch(M)});case"DISPATCH":switch(T.payload.type){case"RESET":return x(R),h===void 0?S==null?void 0:S.init(s.getState()):S==null?void 0:S.init(Tg(v.name));case"COMMIT":if(h===void 0){S==null||S.init(s.getState());return}return S==null?void 0:S.init(Tg(v.name));case"ROLLBACK":return HE(T.state,M=>{if(h===void 0){x(M),S==null||S.init(s.getState());return}x(M[h]),S==null||S.init(Tg(v.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return HE(T.state,M=>{if(h===void 0){x(M);return}JSON.stringify(s.getState())!==JSON.stringify(M[h])&&x(M[h])});case"IMPORT_STATE":{const{nextLiftedState:M}=T.payload,I=(D=M.computedStates.slice(-1)[0])==null?void 0:D.state;if(!I)return;x(h===void 0?I:I[h]),S==null||S.send(null,M);return}case"PAUSE_RECORDING":return C=!C}return}}),R},HE=(e,n)=>{let r;try{r=JSON.parse(e)}catch(a){console.error("[zustand devtools middleware] Could not parse the received json",a)}r!==void 0&&n(r)};function uF(e,n){let r;try{r=e()}catch{return}return{getItem:s=>{var c;const f=v=>v===null?null:JSON.parse(v,n==null?void 0:n.reviver),h=(c=r.getItem(s))!=null?c:null;return h instanceof Promise?h.then(f):f(h)},setItem:(s,c)=>r.setItem(s,JSON.stringify(c,n==null?void 0:n.replacer)),removeItem:s=>r.removeItem(s)}}const Yh=e=>n=>{try{const r=e(n);return r instanceof Promise?r:{then(a){return Yh(a)(r)},catch(a){return this}}}catch(r){return{then(a){return this},catch(a){return Yh(a)(r)}}}},cF=(e,n)=>(r,a,s)=>{let c={getStorage:()=>localStorage,serialize:JSON.stringify,deserialize:JSON.parse,partialize:D=>D,version:0,merge:(D,M)=>({...M,...D}),...n},f=!1;const h=new Set,v=new Set;let y;try{y=c.getStorage()}catch{}if(!y)return e((...D)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...D)},a,s);const S=Yh(c.serialize),E=()=>{const D=c.partialize({...a()});let M;const I=S({state:D,version:c.version}).then(N=>y.setItem(c.name,N)).catch(N=>{M=N});if(M)throw M;return I},C=s.setState;s.setState=(D,M)=>{C(D,M),E()};const x=e((...D)=>{r(...D),E()},a,s);let R;const T=()=>{var D;if(!y)return;f=!1,h.forEach(I=>I(a()));const M=((D=c.onRehydrateStorage)==null?void 0:D.call(c,a()))||void 0;return Yh(y.getItem.bind(y))(c.name).then(I=>{if(I)return c.deserialize(I)}).then(I=>{if(I)if(typeof I.version=="number"&&I.version!==c.version){if(c.migrate)return c.migrate(I.state,I.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return I.state}).then(I=>{var N;return R=c.merge(I,(N=a())!=null?N:x),r(R,!0),E()}).then(()=>{M==null||M(R,void 0),f=!0,v.forEach(I=>I(R))}).catch(I=>{M==null||M(void 0,I)})};return s.persist={setOptions:D=>{c={...c,...D},D.getStorage&&(y=D.getStorage())},clearStorage:()=>{y==null||y.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>T(),hasHydrated:()=>f,onHydrate:D=>(h.add(D),()=>{h.delete(D)}),onFinishHydration:D=>(v.add(D),()=>{v.delete(D)})},T(),R||x},fF=(e,n)=>(r,a,s)=>{let c={storage:uF(()=>localStorage),partialize:T=>T,version:0,merge:(T,D)=>({...D,...T}),...n},f=!1;const h=new Set,v=new Set;let y=c.storage;if(!y)return e((...T)=>{console.warn(`[zustand persist middleware] Unable to update item '${c.name}', the given storage is currently unavailable.`),r(...T)},a,s);const S=()=>{const T=c.partialize({...a()});return y.setItem(c.name,{state:T,version:c.version})},E=s.setState;s.setState=(T,D)=>{E(T,D),S()};const C=e((...T)=>{r(...T),S()},a,s);let x;const R=()=>{var T,D;if(!y)return;f=!1,h.forEach(I=>{var N;return I((N=a())!=null?N:C)});const M=((D=c.onRehydrateStorage)==null?void 0:D.call(c,(T=a())!=null?T:C))||void 0;return Yh(y.getItem.bind(y))(c.name).then(I=>{if(I)if(typeof I.version=="number"&&I.version!==c.version){if(c.migrate)return c.migrate(I.state,I.version);console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return I.state}).then(I=>{var N;return x=c.merge(I,(N=a())!=null?N:C),r(x,!0),S()}).then(()=>{M==null||M(x,void 0),x=a(),f=!0,v.forEach(I=>I(x))}).catch(I=>{M==null||M(void 0,I)})};return s.persist={setOptions:T=>{c={...c,...T},T.storage&&(y=T.storage)},clearStorage:()=>{y==null||y.removeItem(c.name)},getOptions:()=>c,rehydrate:()=>R(),hasHydrated:()=>f,onHydrate:T=>(h.add(T),()=>{h.delete(T)}),onFinishHydration:T=>(v.add(T),()=>{v.delete(T)})},c.skipHydration||R(),x||C},dF=(e,n)=>"getStorage"in n||"serialize"in n||"deserialize"in n?cF(e,n):fF(e,n),Dc=oF()(sF(dF(e=>({messageHistory:{},addMessageToHistory:({userId:n,message:r})=>e(a=>({...a,messageHistory:{...a.messageHistory,[n]:[r,...(a.messageHistory[n]??[]).slice(0,100)]}})),setUser:n=>e(r=>({...r,user:n})),setConversationId:n=>e(r=>({...r,conversationId:n}))}),{name:"botpress-webchat"})));var eo=function(){return eo=Object.assign||function(n){for(var r,a=1,s=arguments.length;a<s;a++){r=arguments[a];for(var c in r)Object.prototype.hasOwnProperty.call(r,c)&&(n[c]=r[c])}return n},eo.apply(this,arguments)};function L5(e,n){var r={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&n.indexOf(a)<0&&(r[a]=e[a]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,a=Object.getOwnPropertySymbols(e);s<a.length;s++)n.indexOf(a[s])<0&&Object.prototype.propertyIsEnumerable.call(e,a[s])&&(r[a[s]]=e[a[s]]);return r}function pF(e,n,r){if(r||arguments.length===2)for(var a=0,s=n.length,c;a<s;a++)(c||!(a in n))&&(c||(c=Array.prototype.slice.call(n,0,a)),c[a]=n[a]);return e.concat(c||Array.prototype.slice.call(n))}typeof SuppressedError=="function"&&SuppressedError;function hF(){var e=j.useRef(!1),n=j.useCallback(function(){return e.current},[]);return j.useEffect(function(){return e.current=!0,function(){e.current=!1}},[]),n}function mF(e,n,r){n===void 0&&(n=[]),r===void 0&&(r={loading:!1});var a=j.useRef(0),s=hF(),c=j.useState(r),f=c[0],h=c[1],v=j.useCallback(function(){for(var y=[],S=0;S<arguments.length;S++)y[S]=arguments[S];var E=++a.current;return f.loading||h(function(C){return eo(eo({},C),{loading:!0})}),e.apply(void 0,y).then(function(C){return s()&&E===a.current&&h({value:C,loading:!1}),C},function(C){return s()&&E===a.current&&h({error:C,loading:!1}),C})},n);return[f,v]}function P5(e,n){n===void 0&&(n=[]);var r=mF(e,n,{loading:!0}),a=r[0],s=r[1];return j.useEffect(function(){s()},[s]),a}function vF(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];e&&e.addEventListener&&e.addEventListener.apply(e,n)}function gF(e){for(var n=[],r=1;r<arguments.length;r++)n[r-1]=arguments[r];e&&e.removeEventListener&&e.removeEventListener.apply(e,n)}var yF=function(e){j.useEffect(e,[])};const dd=yF;var bF=function(e){dd(function(){e()})};const SF=bF;var EF=function(e){var n=j.useRef(e);n.current=e,dd(function(){return function(){return n.current()}})};const xF=EF;var wF=function(e){var n=j.useRef(0),r=j.useState(e),a=r[0],s=r[1],c=j.useCallback(function(f){cancelAnimationFrame(n.current),n.current=requestAnimationFrame(function(){s(f)})},[]);return xF(function(){cancelAnimationFrame(n.current)}),[a,c]};const CF=wF;var kF=function(e){process.env.NODE_ENV==="development"&&(typeof e!="object"||typeof e.current>"u")&&console.error("`useScroll` expects a single ref argument.");var n=CF({x:0,y:0}),r=n[0],a=n[1];return j.useEffect(function(){var s=function(){e.current&&a({x:e.current.scrollLeft,y:e.current.scrollTop})};return e.current&&vF(e.current,"scroll",s,{capture:!1,passive:!0}),function(){e.current&&gF(e.current,"scroll",s)}},[e]),r};const _F=kF,TF=e=>{const n=new Date;return e.getTime()-n.getTime()},RF=(e=TF)=>{const[n,r]=j.useState(0),[a,s]=j.useState(),c=()=>r(f=>f+1);return P5(async()=>{if(a){const f=setTimeout(c,e(a));return()=>{clearTimeout(f)}}},[a]),[n,s]},N5=j.memo(j.forwardRef((e,n)=>{const{state:r,theme:{composer:a},client:s}=cr(),[c,f]=j.useState(""),[h,v]=j.useState(-1),y=()=>{c&&(s.sendMessage(c),f(""),v(-1))};return he.jsx(tT.Provider,{value:{value:c,setValue:f,historyIndex:h,setHistoryIndex:v,sendMessage:y},children:he.jsx("div",{"data-disabled":r.disableComposer,...e,...a==null?void 0:a.container,ref:n})})})),F5=j.memo(({...e})=>{const{state:n,theme:{composer:r}}=cr(),{value:a,setValue:s,historyIndex:c,setHistoryIndex:f,sendMessage:h}=nT(),v=j.useRef(null),y=Dc(E=>E.user),S=Dc(E=>E.messageHistory);return j.useEffect(()=>{v.current&&(v.current.selectionStart=v.current.value.length,v.current.selectionEnd=v.current.value.length)},[a]),he.jsx("textarea",{...r==null?void 0:r.input,disabled:n.disableComposer,ref:v,value:a,"data-has-value":!!a,onChange:E=>s(E.target.value),onKeyDown:E=>{if(!n.disableComposer){if(E.key==="Enter"&&(E.preventDefault(),h()),E.key==="ArrowUp"){E.preventDefault();const C=S[(y==null?void 0:y.userId)??""]??[];c<C.length-1&&s(C[c+1]),f(()=>Math.min(c+1,C.length-1))}if(E.key==="ArrowDown"){E.preventDefault();const C=S[(y==null?void 0:y.userId)??""]??[];s(c===0?"":C[c-1]),f(()=>Math.max(c-1,-1))}}},...e})}),I5=j.memo(j.forwardRef(({icon:e=hP,...n},r)=>{var f,h;const{value:a,sendMessage:s}=nT(),{theme:{composer:c}}=cr();return he.jsx("button",{ref:r,...n,...(f=c==null?void 0:c.button)==null?void 0:f.container,disabled:!a,onClick:s,children:he.jsx(e,{...(h=c==null?void 0:c.button)==null?void 0:h.icon})})})),z5=({children:e})=>{const[n,r]=j.useState(!1),[a,s]=j.useState(""),[c,f]=j.useState(null),h=({title:y,content:S})=>{s(y),f(S),r(!0)},v=()=>{r(!1)};return he.jsxs(iT.Provider,{value:{hideModal:v,showModal:h,title:a,content:c,open:n},children:[he.jsx(Bc,{open:n,onOpenChange:r,children:he.jsx(Bc.Content,{title:a,children:c})}),e]})};/**
|
|
468
468
|
* @license
|
|
469
469
|
* Copyright 2021 Google LLC
|
|
470
470
|
*
|