@inkeep/agents-ui 0.15.19 → 0.15.21

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 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),P=require("react"),m=require("@radix-ui/primitive"),O=require("@radix-ui/react-compose-refs"),H=require("@radix-ui/react-context"),R=require("@radix-ui/react-id"),W=require("@radix-ui/react-use-controllable-state"),z=require("@radix-ui/react-dismissable-layer"),B=require("@zag-js/focus-trap"),K=require("@radix-ui/react-portal"),_=require("@radix-ui/react-presence"),g=require("@radix-ui/react-primitive"),U=require("@radix-ui/react-focus-guards"),V=require("aria-hidden"),Y=require("@zag-js/remove-scroll"),$=require("./shadow/context.cjs");function J(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const s=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const c=J(P),x="Dialog",[w,Q]=H.createContextScope(x),[X,l]=w(x),y=e=>{const{__scopeDialog:n,children:o,open:s,defaultOpen:r,onOpenChange:t,modal:a=!0}=e,u=c.useRef(null),f=c.useRef(null),[D=!1,d]=W.useControllableState({prop:s,defaultProp:r??!1,onChange:t});return i.jsx(X,{scope:n,triggerRef:u,contentRef:f,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),open:D,onOpenChange:d,onOpenToggle:c.useCallback(()=>d(N=>!N),[d]),modal:a,children:o})};y.displayName=x;const M="DialogTrigger",q=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(M,o),t=O.useComposedRefs(n,r.triggerRef);return i.jsx(g.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":T(r.open),...s,ref:t,onClick:m.composeEventHandlers(e.onClick,r.onOpenToggle)})});q.displayName=M;const v="DialogPortal",[Z,S]=w(v,{forceMount:void 0}),E=e=>{const{__scopeDialog:n,forceMount:o,children:s,container:r}=e,t=l(v,n);return i.jsx(Z,{scope:n,forceMount:o,children:c.Children.map(s,a=>i.jsx(_.Presence,{present:o||t.open,children:i.jsx(K.Portal,{asChild:!0,container:r,children:a})}))})};E.displayName=v;const C="DialogOverlay",I=c.forwardRef((e,n)=>{const o=S(C,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,t=l(C,e.__scopeDialog);return t.modal?i.jsx(_.Presence,{present:s||t.open,children:i.jsx(ee,{...r,ref:n})}):null});I.displayName=C;const ee=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(C,o),t=$.useShadow();return P.useEffect(()=>{t&&Y.preventBodyScroll(t?.rootElement?.ownerDocument)},[t]),i.jsx(g.Primitive.div,{"data-state":T(r.open),...s,ref:n,style:{pointerEvents:"auto",...s.style}})}),p="DialogContent",h=c.forwardRef((e,n)=>{const o=S(p,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,t=l(p,e.__scopeDialog);return i.jsx(_.Presence,{present:s||t.open,children:t.modal?i.jsx(te,{...r,ref:n}):i.jsx(oe,{...r,ref:n})})});h.displayName=p;const te=c.forwardRef((e,n)=>{const o=l(p,e.__scopeDialog),s=c.useRef(null),r=O.useComposedRefs(n,o.contentRef,s);return c.useEffect(()=>{const t=s.current;if(t){const a=document.querySelectorAll("[data-ikp-component]");return V.hideOthers([t,...Array.from(a)])}},[]),i.jsx(k,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onPointerDownOutside:m.composeEventHandlers(e.onPointerDownOutside,t=>{const a=t.detail.originalEvent,u=a.button===0&&a.ctrlKey===!0;(a.button===2||u)&&t.preventDefault(),t.target.closest("[data-ikp-component]")&&t.preventDefault()}),onFocusOutside:m.composeEventHandlers(e.onFocusOutside,t=>t.preventDefault())})}),oe=c.forwardRef((e,n)=>{const o=l(p,e.__scopeDialog),s=c.useRef(!1),r=c.useRef(!1);return i.jsx(k,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,t.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const a=t.target;o.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type==="focusin"&&r.current&&t.preventDefault()}})}),k=c.forwardRef((e,n)=>{const{__scopeDialog:o,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:t,...a}=e,u=l(p,o),f=c.useRef(null),D=O.useComposedRefs(n,f);return U.useFocusGuards(),P.useEffect(()=>{if(s)return B.trapFocus(f.current,{preventScroll:!0,onActivate:r,onDeactivate:t,initialFocus:!1,allowOutsideClick:d=>!!d.target.closest("[data-ikp-component]")})},[]),i.jsx(z.DismissableLayer,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":T(u.open),...a,ref:D,onDismiss:()=>u.onOpenChange(!1)})}),A="DialogTitle",b=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(A,o);return i.jsx(g.Primitive.h2,{id:r.titleId,...s,ref:n})});b.displayName=A;const F="DialogDescription",L=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(F,o);return i.jsx(g.Primitive.p,{id:r.descriptionId,...s,ref:n})});L.displayName=F;const G="DialogClose",j=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(G,o);return i.jsx(g.Primitive.button,{type:"button",...s,ref:n,onClick:m.composeEventHandlers(e.onClick,()=>r.onOpenChange(!1))})});j.displayName=G;function T(e){return e?"open":"closed"}const ne=y,re=E,se=I,ce=h,ie=b,ae=j;exports.Close=ae;exports.Content=ce;exports.Dialog=y;exports.DialogClose=j;exports.DialogContent=h;exports.DialogDescription=L;exports.DialogOverlay=I;exports.DialogPortal=E;exports.DialogTitle=b;exports.DialogTrigger=q;exports.Overlay=se;exports.Portal=re;exports.Root=ne;exports.Title=ie;exports.createDialogScope=Q;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),P=require("react"),m=require("@radix-ui/primitive"),O=require("@radix-ui/react-compose-refs"),H=require("@radix-ui/react-context"),R=require("@radix-ui/react-id"),W=require("@radix-ui/react-use-controllable-state"),z=require("@radix-ui/react-dismissable-layer"),B=require("@zag-js/focus-trap"),K=require("@radix-ui/react-portal"),_=require("@radix-ui/react-presence"),g=require("@radix-ui/react-primitive"),U=require("@radix-ui/react-focus-guards"),V=require("aria-hidden"),Y=require("@zag-js/remove-scroll"),$=require("./shadow/context.cjs");function J(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const s=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const c=J(P),x="Dialog",[w,Q]=H.createContextScope(x),[X,l]=w(x),y=e=>{const{__scopeDialog:n,children:o,open:s,defaultOpen:r,onOpenChange:t,modal:a=!0}=e,u=c.useRef(null),f=c.useRef(null),[D=!1,d]=W.useControllableState({prop:s,defaultProp:r??!1,onChange:t});return i.jsx(X,{scope:n,triggerRef:u,contentRef:f,contentId:R.useId(),titleId:R.useId(),descriptionId:R.useId(),open:D,onOpenChange:d,onOpenToggle:c.useCallback(()=>d(N=>!N),[d]),modal:a,children:o})};y.displayName=x;const M="DialogTrigger",q=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(M,o),t=O.useComposedRefs(n,r.triggerRef);return i.jsx(g.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":T(r.open),...s,ref:t,onClick:m.composeEventHandlers(e.onClick,r.onOpenToggle)})});q.displayName=M;const v="DialogPortal",[Z,S]=w(v,{forceMount:void 0}),E=e=>{const{__scopeDialog:n,forceMount:o,children:s,container:r}=e,t=l(v,n);return i.jsx(Z,{scope:n,forceMount:o,children:c.Children.map(s,a=>i.jsx(_.Presence,{present:o||t.open,children:i.jsx(K.Portal,{asChild:!0,container:r,children:a})}))})};E.displayName=v;const C="DialogOverlay",I=c.forwardRef((e,n)=>{const o=S(C,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,t=l(C,e.__scopeDialog);return t.modal?i.jsx(_.Presence,{present:s||t.open,children:i.jsx(ee,{...r,ref:n})}):null});I.displayName=C;const ee=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(C,o),t=$.useShadow();return P.useEffect(()=>{const a=t?.rootElement?.ownerDocument??document;return Y.preventBodyScroll(a)},[t]),i.jsx(g.Primitive.div,{"data-state":T(r.open),...s,ref:n,style:{pointerEvents:"auto",...s.style}})}),p="DialogContent",h=c.forwardRef((e,n)=>{const o=S(p,e.__scopeDialog),{forceMount:s=o.forceMount,...r}=e,t=l(p,e.__scopeDialog);return i.jsx(_.Presence,{present:s||t.open,children:t.modal?i.jsx(te,{...r,ref:n}):i.jsx(oe,{...r,ref:n})})});h.displayName=p;const te=c.forwardRef((e,n)=>{const o=l(p,e.__scopeDialog),s=c.useRef(null),r=O.useComposedRefs(n,o.contentRef,s);return c.useEffect(()=>{const t=s.current;if(t){const a=document.querySelectorAll("[data-ikp-component]");return V.hideOthers([t,...Array.from(a)])}},[]),i.jsx(k,{...e,ref:r,trapFocus:o.open,disableOutsidePointerEvents:!0,onPointerDownOutside:m.composeEventHandlers(e.onPointerDownOutside,t=>{const a=t.detail.originalEvent,u=a.button===0&&a.ctrlKey===!0;(a.button===2||u)&&t.preventDefault(),t.target.closest("[data-ikp-component]")&&t.preventDefault()}),onFocusOutside:m.composeEventHandlers(e.onFocusOutside,t=>t.preventDefault())})}),oe=c.forwardRef((e,n)=>{const o=l(p,e.__scopeDialog),s=c.useRef(!1),r=c.useRef(!1);return i.jsx(k,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(s.current=!0,t.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const a=t.target;o.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type==="focusin"&&r.current&&t.preventDefault()}})}),k=c.forwardRef((e,n)=>{const{__scopeDialog:o,trapFocus:s,onOpenAutoFocus:r,onCloseAutoFocus:t,...a}=e,u=l(p,o),f=c.useRef(null),D=O.useComposedRefs(n,f);return U.useFocusGuards(),P.useEffect(()=>{if(s)return B.trapFocus(f.current,{preventScroll:!0,onActivate:r,onDeactivate:t,initialFocus:!1,allowOutsideClick:d=>!!d.target.closest("[data-ikp-component]")})},[]),i.jsx(z.DismissableLayer,{role:"dialog",id:u.contentId,"aria-describedby":u.descriptionId,"aria-labelledby":u.titleId,"data-state":T(u.open),...a,ref:D,onDismiss:()=>u.onOpenChange(!1)})}),A="DialogTitle",b=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(A,o);return i.jsx(g.Primitive.h2,{id:r.titleId,...s,ref:n})});b.displayName=A;const F="DialogDescription",L=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(F,o);return i.jsx(g.Primitive.p,{id:r.descriptionId,...s,ref:n})});L.displayName=F;const G="DialogClose",j=c.forwardRef((e,n)=>{const{__scopeDialog:o,...s}=e,r=l(G,o);return i.jsx(g.Primitive.button,{type:"button",...s,ref:n,onClick:m.composeEventHandlers(e.onClick,()=>r.onOpenChange(!1))})});j.displayName=G;function T(e){return e?"open":"closed"}const ne=y,re=E,se=I,ce=h,ie=b,ae=j;exports.Close=ae;exports.Content=ce;exports.Dialog=y;exports.DialogClose=j;exports.DialogContent=h;exports.DialogDescription=L;exports.DialogOverlay=I;exports.DialogPortal=E;exports.DialogTitle=b;exports.DialogTrigger=q;exports.Overlay=se;exports.Portal=re;exports.Root=ne;exports.Title=ie;exports.createDialogScope=Q;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { jsx as c } from "react/jsx-runtime";
3
- import * as i from "react";
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import * as c from "react";
4
4
  import { useEffect as I } from "react";
5
5
  import { composeEventHandlers as D } from "@radix-ui/primitive";
6
6
  import { useComposedRefs as _ } from "@radix-ui/react-compose-refs";
@@ -17,12 +17,12 @@ import { hideOthers as K } from "aria-hidden";
17
17
  import { preventBodyScroll as V } from "@zag-js/remove-scroll";
18
18
  import { useShadow as Y } from "./shadow/context.js";
19
19
  const P = "Dialog", [v, Ct] = W(P), [z, l] = v(P), x = (t) => {
20
- const { __scopeDialog: n, children: r, open: s, defaultOpen: e, onOpenChange: o, modal: a = !0 } = t, p = i.useRef(null), d = i.useRef(null), [m = !1, f] = $({
20
+ const { __scopeDialog: n, children: r, open: s, defaultOpen: e, onOpenChange: o, modal: a = !0 } = t, p = c.useRef(null), d = c.useRef(null), [m = !1, u] = $({
21
21
  prop: s,
22
22
  defaultProp: e ?? !1,
23
23
  onChange: o
24
24
  });
25
- return /* @__PURE__ */ c(
25
+ return /* @__PURE__ */ i(
26
26
  z,
27
27
  {
28
28
  scope: n,
@@ -32,18 +32,18 @@ const P = "Dialog", [v, Ct] = W(P), [z, l] = v(P), x = (t) => {
32
32
  titleId: R(),
33
33
  descriptionId: R(),
34
34
  open: m,
35
- onOpenChange: f,
36
- onOpenToggle: i.useCallback(() => f((E) => !E), [f]),
35
+ onOpenChange: u,
36
+ onOpenToggle: c.useCallback(() => u((E) => !E), [u]),
37
37
  modal: a,
38
38
  children: r
39
39
  }
40
40
  );
41
41
  };
42
42
  x.displayName = P;
43
- const N = "DialogTrigger", J = i.forwardRef(
43
+ const N = "DialogTrigger", J = c.forwardRef(
44
44
  (t, n) => {
45
45
  const { __scopeDialog: r, ...s } = t, e = l(N, r), o = _(n, e.triggerRef);
46
- return /* @__PURE__ */ c(
46
+ return /* @__PURE__ */ i(
47
47
  g.button,
48
48
  {
49
49
  type: "button",
@@ -63,21 +63,22 @@ const y = "DialogPortal", [Q, w] = v(y, {
63
63
  forceMount: void 0
64
64
  }), T = (t) => {
65
65
  const { __scopeDialog: n, forceMount: r, children: s, container: e } = t, o = l(y, n);
66
- return /* @__PURE__ */ c(Q, { scope: n, forceMount: r, children: i.Children.map(s, (a) => /* @__PURE__ */ c(O, { present: r || o.open, children: /* @__PURE__ */ c(B, { asChild: !0, container: e, children: a }) })) });
66
+ return /* @__PURE__ */ i(Q, { scope: n, forceMount: r, children: c.Children.map(s, (a) => /* @__PURE__ */ i(O, { present: r || o.open, children: /* @__PURE__ */ i(B, { asChild: !0, container: e, children: a }) })) });
67
67
  };
68
68
  T.displayName = y;
69
- const C = "DialogOverlay", A = i.forwardRef(
69
+ const C = "DialogOverlay", A = c.forwardRef(
70
70
  (t, n) => {
71
71
  const r = w(C, t.__scopeDialog), { forceMount: s = r.forceMount, ...e } = t, o = l(C, t.__scopeDialog);
72
- return o.modal ? /* @__PURE__ */ c(O, { present: s || o.open, children: /* @__PURE__ */ c(U, { ...e, ref: n }) }) : null;
72
+ return o.modal ? /* @__PURE__ */ i(O, { present: s || o.open, children: /* @__PURE__ */ i(U, { ...e, ref: n }) }) : null;
73
73
  }
74
74
  );
75
75
  A.displayName = C;
76
- const U = i.forwardRef(
76
+ const U = c.forwardRef(
77
77
  (t, n) => {
78
78
  const { __scopeDialog: r, ...s } = t, e = l(C, r), o = Y();
79
79
  return I(() => {
80
- o && V(o?.rootElement?.ownerDocument);
80
+ const a = o?.rootElement?.ownerDocument ?? document;
81
+ return V(a);
81
82
  }, [o]), // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
82
83
  // ie. when `Overlay` and `Content` are siblings
83
84
  // <RemoveScroll
@@ -87,7 +88,7 @@ const U = i.forwardRef(
87
88
  // gapMode="padding"
88
89
  // removeScrollBar={true}
89
90
  // >
90
- /* @__PURE__ */ c(
91
+ /* @__PURE__ */ i(
91
92
  g.div,
92
93
  {
93
94
  "data-state": h(e.open),
@@ -97,23 +98,23 @@ const U = i.forwardRef(
97
98
  }
98
99
  );
99
100
  }
100
- ), u = "DialogContent", M = i.forwardRef(
101
+ ), f = "DialogContent", M = c.forwardRef(
101
102
  (t, n) => {
102
- const r = w(u, t.__scopeDialog), { forceMount: s = r.forceMount, ...e } = t, o = l(u, t.__scopeDialog);
103
- return /* @__PURE__ */ c(O, { present: s || o.open, children: o.modal ? /* @__PURE__ */ c(X, { ...e, ref: n }) : /* @__PURE__ */ c(Z, { ...e, ref: n }) });
103
+ const r = w(f, t.__scopeDialog), { forceMount: s = r.forceMount, ...e } = t, o = l(f, t.__scopeDialog);
104
+ return /* @__PURE__ */ i(O, { present: s || o.open, children: o.modal ? /* @__PURE__ */ i(X, { ...e, ref: n }) : /* @__PURE__ */ i(Z, { ...e, ref: n }) });
104
105
  }
105
106
  );
106
- M.displayName = u;
107
- const X = i.forwardRef(
107
+ M.displayName = f;
108
+ const X = c.forwardRef(
108
109
  (t, n) => {
109
- const r = l(u, t.__scopeDialog), s = i.useRef(null), e = _(n, r.contentRef, s);
110
- return i.useEffect(() => {
110
+ const r = l(f, t.__scopeDialog), s = c.useRef(null), e = _(n, r.contentRef, s);
111
+ return c.useEffect(() => {
111
112
  const o = s.current;
112
113
  if (o) {
113
114
  const a = document.querySelectorAll("[data-ikp-component]");
114
115
  return K([o, ...Array.from(a)]);
115
116
  }
116
- }, []), /* @__PURE__ */ c(
117
+ }, []), /* @__PURE__ */ i(
117
118
  b,
118
119
  {
119
120
  ...t,
@@ -131,10 +132,10 @@ const X = i.forwardRef(
131
132
  }
132
133
  );
133
134
  }
134
- ), Z = i.forwardRef(
135
+ ), Z = c.forwardRef(
135
136
  (t, n) => {
136
- const r = l(u, t.__scopeDialog), s = i.useRef(!1), e = i.useRef(!1);
137
- return /* @__PURE__ */ c(
137
+ const r = l(f, t.__scopeDialog), s = c.useRef(!1), e = c.useRef(!1);
138
+ return /* @__PURE__ */ i(
138
139
  b,
139
140
  {
140
141
  ...t,
@@ -149,9 +150,9 @@ const X = i.forwardRef(
149
150
  }
150
151
  );
151
152
  }
152
- ), b = i.forwardRef(
153
+ ), b = c.forwardRef(
153
154
  (t, n) => {
154
- const { __scopeDialog: r, trapFocus: s, onOpenAutoFocus: e, onCloseAutoFocus: o, ...a } = t, p = l(u, r), d = i.useRef(null), m = _(n, d);
155
+ const { __scopeDialog: r, trapFocus: s, onOpenAutoFocus: e, onCloseAutoFocus: o, ...a } = t, p = l(f, r), d = c.useRef(null), m = _(n, d);
155
156
  return H(), I(() => {
156
157
  if (s)
157
158
  return q(d.current, {
@@ -159,9 +160,9 @@ const X = i.forwardRef(
159
160
  onActivate: e,
160
161
  onDeactivate: o,
161
162
  initialFocus: !1,
162
- allowOutsideClick: (f) => !!f.target.closest("[data-ikp-component]")
163
+ allowOutsideClick: (u) => !!u.target.closest("[data-ikp-component]")
163
164
  });
164
- }, []), /* @__PURE__ */ c(
165
+ }, []), /* @__PURE__ */ i(
165
166
  j,
166
167
  {
167
168
  role: "dialog",
@@ -175,24 +176,24 @@ const X = i.forwardRef(
175
176
  }
176
177
  );
177
178
  }
178
- ), k = "DialogTitle", F = i.forwardRef(
179
+ ), k = "DialogTitle", F = c.forwardRef(
179
180
  (t, n) => {
180
181
  const { __scopeDialog: r, ...s } = t, e = l(k, r);
181
- return /* @__PURE__ */ c(g.h2, { id: e.titleId, ...s, ref: n });
182
+ return /* @__PURE__ */ i(g.h2, { id: e.titleId, ...s, ref: n });
182
183
  }
183
184
  );
184
185
  F.displayName = k;
185
- const S = "DialogDescription", tt = i.forwardRef(
186
+ const S = "DialogDescription", tt = c.forwardRef(
186
187
  (t, n) => {
187
188
  const { __scopeDialog: r, ...s } = t, e = l(S, r);
188
- return /* @__PURE__ */ c(g.p, { id: e.descriptionId, ...s, ref: n });
189
+ return /* @__PURE__ */ i(g.p, { id: e.descriptionId, ...s, ref: n });
189
190
  }
190
191
  );
191
192
  tt.displayName = S;
192
- const L = "DialogClose", G = i.forwardRef(
193
+ const L = "DialogClose", G = c.forwardRef(
193
194
  (t, n) => {
194
195
  const { __scopeDialog: r, ...s } = t, e = l(L, r);
195
- return /* @__PURE__ */ c(
196
+ return /* @__PURE__ */ i(
196
197
  g.button,
197
198
  {
198
199
  type: "button",
@@ -1,3 +1,3 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ne=require("@ai-sdk/react"),Pe=require("ai"),t=require("react"),Oe=require("../modal/modal-provider.cjs"),Fe=require("../../providers/chat-bubble-provider.cjs"),Ue=require("../../providers/sidebar-chat-provider.cjs"),Be=require("../../providers/config-provider.cjs"),De=require("./use-captcha.cjs"),Le=require("../../hooks/use-media-query.cjs"),He=require("../../hooks/use-anonymous-session.cjs"),$e=require("../../hooks/use-conversation-loader.cjs"),w=require("../../utils/generate-uid.cjs"),ze=require("../../providers/base-events-provider.cjs"),We=require("../../providers/chat-form-provider.cjs"),Ke=require("../../providers/widget-provider.cjs"),je=require("@radix-ui/react-use-controllable-state"),Ge=require("../../hooks/use-streaming-events.cjs"),Je=require("../../hooks/use-inkeep-api-client.cjs");function Qe(g){const l=g.message??"";let s=Number(g.code)||Number(g.statusCode);if(Number.isNaN(s))try{s=Number(JSON.parse(l).status)}catch{}const d=Je.parseAuthError(s,{detail:l});return d!==null?d:s===401?"session":null}const $=`Hmm..
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const He=require("@ai-sdk/react"),We=require("ai"),t=require("react"),$e=require("../modal/modal-provider.cjs"),je=require("../../providers/chat-bubble-provider.cjs"),ze=require("../../providers/sidebar-chat-provider.cjs"),Je=require("../../providers/config-provider.cjs"),Ke=require("./use-captcha.cjs"),Ge=require("../../hooks/use-media-query.cjs"),Qe=require("../../hooks/use-anonymous-session.cjs"),Ve=require("../../hooks/use-auth-token.cjs"),Ze=require("../../hooks/use-conversation-loader.cjs"),x=require("../../utils/generate-uid.cjs"),Xe=require("../../providers/base-events-provider.cjs"),Ye=require("../../providers/chat-form-provider.cjs"),et=require("../../providers/widget-provider.cjs"),tt=require("@radix-ui/react-use-controllable-state"),st=require("../../hooks/use-streaming-events.cjs"),rt=require("../../hooks/use-inkeep-api-client.cjs");function nt(f){const h=f.message??"";let s=Number(f.code)||Number(f.statusCode);if(Number.isNaN(s))try{s=Number(JSON.parse(h).status)}catch{}const l=rt.parseAuthError(s,{detail:h});return l!==null?l:s===401?"session":null}const P=`Hmm..
2
2
 
3
- It seems I might be having some issues right now. Please clear the chat and try again.`,Ve=()=>{const{baseSettings:g,aiChatSettings:l}=Be.useInkeepConfig(),[s="",d]=je.useControllableState({prop:l.conversationId,defaultProp:l.conversationId??""}),ue=Oe.useModal(),le=Fe.useOptionalChatBubble(),de=Ue.useOptionalSidebarChat(),{logEvent:p}=ze.useBaseEvents(),{setConversationId:pe,emitToParent:C}=Ge.useStreamingEvents(),z=t.useRef(s);t.useEffect(()=>{const e=z.current;z.current=s,e!==s&&p({eventName:"chat_conversation_changed",properties:{conversationId:s,previousConversationId:e}})},[s,p]);const[v,k]=t.useState(""),fe=e=>k(e.target.value),{shouldBypassCaptcha:W,filters:K,privacyPreferences:ge}=g,{onInputMessageChange:he,filters:j,baseUrl:S,agentUrl:me,context:G,headers:J,appId:y,apiKey:f}=l,ve=ue?.isOpen??le?.isOpen??de?.isOpen??!0,{getCaptchaHeader:b,invalidate:u}=De.useCaptcha({baseUrl:S,shouldBypassCaptcha:W||!!f,shouldMakeInitialRequest:ve}),Q=t.useRef(b);Q.current=b;const V=me||`${S}/run/api/chat`,{sessionToken:q,refreshSession:x}=He.useAnonymousSession({baseUrl:S,appId:y,getCaptchaHeader:b,invalidateCaptcha:u,optOutAllAnalytics:ge?.optOutAllAnalytics}),{loadConversation:Z}=$e.useConversationLoader({baseUrl:S,appId:y,authToken:f??q,getCaptchaHeader:b,invalidateCaptcha:u,refreshSession:f?void 0:x}),[ye,X]=t.useState(!1),R=t.useRef(null);R.current=q;const h=t.useRef(0),Y=t.useRef(null),T=t.useRef(null),ee=t.useRef(J);ee.current=J;const _=t.useRef(void 0);_.current=K||j?JSON.stringify({...K,...j}):void 0;const be=e=>{switch(e.code){case 400:return e.message;case 403:return`There seems to be a configuration error. Please contact ${g.organizationDisplayName??"Administrator"}`;default:return $}},[Ce,I]=t.useState([]),[Se,N]=t.useState(null),Re=t.useMemo(()=>new Pe.DefaultChatTransport({api:V,headers:()=>({"x-inkeep-client-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone,"x-inkeep-client-timestamp":new Date().toISOString(),...y?{"x-inkeep-app-id":y}:{},...R.current?{Authorization:`Bearer ${R.current}`}:{},...f?{Authorization:`Bearer ${f}`}:{},..._.current?{"inkeep-filters":_.current}:{},...ee.current}),prepareSendMessagesRequest:async e=>{const r=await Q.current();return{body:{...e.body,id:e.id,messages:e.messages,trigger:e.trigger,messageId:e.messageId},headers:{...e.headers,...r}}},body:{requestContext:G}}),[V,G,y,f]),{messages:A,sendMessage:P,addToolApprovalResponse:O,status:te,setMessages:m,stop:se,error:F}=Ne.useChat({transport:Re,onData(e){C(e.type,e.data)},async onFinish(){C("completion",{conversationId:s}),await p({eventName:"assistant_message_received",properties:{conversationId:s}}),p({eventName:"assistant_answer_displayed",properties:{conversationId:s}})},onError(e){console.error("onError",{code:e.code,message:e.message});const r=W||f?null:Qe(e);if(r!==null&&h.current<1){h.current++;const a=T.current,n=Y.current;(async()=>{if(r==="session"){const c=await x();c&&(R.current=c)}else u();if(a){O(a);return}n&&(m(c=>{let i=[...c];return i.at(-1)?.role==="assistant"&&(i=i.slice(0,-1)),i.at(-1)?.role==="user"&&(i=i.slice(0,-1)),i}),P({text:n.content},{body:n.body}))})().catch(()=>{h.current=0,u(),m(c=>{const i=[...c],H=i[i.length-1];if(!H)return i;const ce=$;return H.role==="user"?i.push({id:w.generateUid(16),role:"assistant",parts:[{type:"text",text:ce}]}):H.parts=[{type:"text",text:ce}],i})});return}h.current=0,r!==null&&u(),p({eventName:"chat_error",properties:{conversationId:s,error:e.message}}),m(a=>{const n=[...a],o=n[n.length-1];if(o){const c=be(e);o.role==="user"?n.push({id:w.generateUid(16),role:"assistant",parts:[{type:"text",text:c}]}):o.parts=[{type:"text",text:c}]}return n})}}),re=te==="submitted",U=te==="streaming",Ie=t.useMemo(()=>{const e=o=>{if(!o||typeof o!="object")return!1;const c=o;return typeof c.type=="string"&&c.type.startsWith("tool-")},a=[...A??[]].reverse().find(o=>o.role==="assistant");if(!a)return!1;const n=a.parts?.at(-1);return!(!e(n)||n.state!=="output-available"||!n.approval?.id||U)},[A,U]),ne=U||Ie,ae=re||ne,Ae=A.length===0,B=!v.trim()||ae,Ee=Le.useMediaQuery("(max-width: 768px)"),[Me,E]=t.useState(null);t.useEffect(()=>{F&&E(F)},[F]);const we=()=>E(null),oe=t.useRef(null);t.useEffect(()=>{he?.(v)},[v]);const ke=e=>{e.key==="Enter"&&!e.shiftKey&&!B&&!e.nativeEvent.isComposing&&(e.preventDefault(),D())},D=async(e=v)=>{if(B&&(!e||e.trim().length===0))return;I([]),k(""),h.current=0,T.current=null,await p({eventName:"user_message_submitted",properties:{conversationId:s}});let r=s;r||(r=`conv_${w.generateUid(16)}`,d(r)),pe(r),Y.current={content:e,body:{conversationId:r}},P({text:e},{body:{conversationId:r}})},qe=t.useCallback(e=>{h.current=0,T.current=e,O(e)},[O]),L=t.useCallback(()=>{se().then(()=>{C("aborted",{conversationId:s})})},[se,s,C]),ie=()=>{we(),m([]),d(""),I([]),N(null),u(),p({eventName:"chat_clear_button_clicked",properties:{conversationId:s}})},M=t.useCallback((e,r)=>{E(null),m(r),d(e),I([]),N(null),u()},[m,d,u]),xe=t.useCallback(async(e,r)=>{L(),M(e,[]),X(!0);try{const a=await Z(e,r),n=a?.[a.length-1],o=a!==null&&n?.role==="user"?[...a,{id:w.generateUid(16),role:"assistant",parts:[{type:"text",text:"This session was interrupted. Please check back in a few minutes or start a new conversation."}]}]:a;o!==null&&M(e,o)}finally{r?.aborted||X(!1)}},[M,Z,L]),{openForm:Te}=We.useChatForm(),_e=Ke.useWidget();return t.useImperativeHandle(l.chatFunctionsRef,()=>({submitMessage:D,updateInputMessage(e){k(e)},clearChat:ie,openForm:e=>{_e?.setView("chat"),Te(e,void 0)},focusInput:()=>{oe.current?.focus()}})),{messages:A,sendMessage:P,addToolApprovalResponse:qe,isLoading:re,isStreaming:ne,isBusy:ae,error:Me,setError:E,isSubmitDisabled:B,input:v,handleInputChange:fe,handleInputKeyDown:ke,handleSubmit:D,stop:L,clear:ie,inputRef:oe,isMobile:Ee,messageAttachments:Ce,setMessageAttachments:I,selectedWorkflow:Se,setSelectedWorkflow:N,isNewChat:Ae,conversationId:s,restoreSession:M,loadAndRestoreSession:xe,isSessionLoading:ye,sessionToken:q,refreshSession:x,getCaptchaHeader:b,invalidateCaptcha:u}};exports.DEFAULT_ERROR_MESSAGE=$;exports.useInkeepChat=Ve;
3
+ It seems I might be having some issues right now. Please clear the chat and try again.`,at=()=>{const{baseSettings:f,aiChatSettings:h}=Je.useInkeepConfig(),[s="",l]=tt.useControllableState({prop:h.conversationId,defaultProp:h.conversationId??""}),ve=$e.useModal(),ye=je.useOptionalChatBubble(),be=ze.useOptionalSidebarChat(),{logEvent:g}=Xe.useBaseEvents(),{setConversationId:Ce,emitToParent:k}=st.useStreamingEvents(),Q=t.useRef(s);t.useEffect(()=>{const e=Q.current;Q.current=s,e!==s&&g({eventName:"chat_conversation_changed",properties:{conversationId:s,previousConversationId:e}})},[s,g]);const[y,A]=t.useState(""),Se=e=>A(e.target.value),{shouldBypassCaptcha:V,filters:Z,privacyPreferences:Re,userProperties:N}=f,{authToken:I,refreshToken:X}=Ve.useAuthToken(),Y=!!f.getAuthToken,d=!!I,{onInputMessageChange:ke,filters:ee,baseUrl:E,agentUrl:Ae,context:te,headers:se,appId:b,apiKey:m}=h,Ie=ve?.isOpen??ye?.isOpen??be?.isOpen??!0,{getCaptchaHeader:C,invalidate:c}=Ke.useCaptcha({baseUrl:E,shouldBypassCaptcha:V||!!m,shouldMakeInitialRequest:Ie}),re=t.useRef(C);re.current=C;const ne=Ae||`${E}/run/api/chat`,{sessionToken:O,refreshSession:_}=Qe.useAnonymousSession({baseUrl:E,appId:b,getCaptchaHeader:C,invalidateCaptcha:c,optOutAllAnalytics:Re?.optOutAllAnalytics,enabled:!d}),{loadConversation:ae}=Ze.useConversationLoader({baseUrl:E,appId:b,authToken:m??(d?I:O),getCaptchaHeader:C,invalidateCaptcha:c,refreshSession:m||d?void 0:_}),[Ee,oe]=t.useState(!1),F=t.useRef(null);F.current=O;const U=t.useRef(null);U.current=I;const D=t.useRef(void 0);D.current=N&&Object.keys(N).length>0?JSON.stringify(N):void 0;const v=t.useRef(0),ie=t.useRef(null),B=t.useRef(null),ue=t.useRef(se);ue.current=se;const L=t.useRef(void 0);L.current=Z||ee?JSON.stringify({...Z,...ee}):void 0;const we=e=>{switch(e.code){case 400:return e.message;case 401:return Y?"Authentication failed. Please try again.":P;case 403:return`There seems to be a configuration error. Please contact ${f.organizationDisplayName??"Administrator"}`;default:return P}},[Te,S]=t.useState([]),[Me,w]=t.useState(null),qe=t.useMemo(()=>new We.DefaultChatTransport({api:ne,headers:()=>{const e=m??U.current??F.current;return{"x-inkeep-client-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone,"x-inkeep-client-timestamp":new Date().toISOString(),...b?{"x-inkeep-app-id":b}:{},...e?{Authorization:`Bearer ${e}`}:{},...L.current?{"inkeep-filters":L.current}:{},...D.current?{"x-inkeep-user-properties":D.current}:{},...ue.current}},prepareSendMessagesRequest:async e=>{const r=await re.current();return{body:{...e.body,id:e.id,messages:e.messages,trigger:e.trigger,messageId:e.messageId},headers:{...e.headers,...r}}},body:{requestContext:te}}),[ne,te,b,m]),{messages:T,sendMessage:H,addToolApprovalResponse:W,status:ce,setMessages:p,stop:M,error:$}=He.useChat({transport:qe,onData(e){k(e.type,e.data)},async onFinish(){k("completion",{conversationId:s}),await g({eventName:"assistant_message_received",properties:{conversationId:s}}),g({eventName:"assistant_answer_displayed",properties:{conversationId:s}})},onError(e){console.error("onError",{code:e.code,message:e.message});const r=V||m?null:nt(e);if(r!==null&&v.current<1){v.current++;const o=B.current,a=ie.current;(async()=>{if(r==="session"&&Y){const n=await X();if(!n)throw new Error("Auth token refresh failed");U.current=n}else if(r==="session"){const n=await _();n&&(F.current=n)}else c();if(o){W(o);return}a&&(p(n=>{let u=[...n];return u.at(-1)?.role==="assistant"&&(u=u.slice(0,-1)),u.at(-1)?.role==="user"&&(u=u.slice(0,-1)),u}),H({text:a.content},{body:a.body}))})().catch(()=>{v.current=0,c(),p(n=>{const u=[...n],G=u[u.length-1];if(!G)return u;const me=P;return G.role==="user"?u.push({id:x.generateUid(16),role:"assistant",parts:[{type:"text",text:me}]}):G.parts=[{type:"text",text:me}],u})});return}v.current=0,r!==null&&c(),g({eventName:"chat_error",properties:{conversationId:s,error:e.message}}),p(o=>{const a=[...o],i=a[a.length-1];if(i){const n=we(e);i.role==="user"?a.push({id:x.generateUid(16),role:"assistant",parts:[{type:"text",text:n}]}):i.parts=[{type:"text",text:n}]}return a})}}),le=t.useRef(d);t.useEffect(()=>{const e=le.current;le.current=d,e!==d&&(M(),R(null),p([]),l(""),A(""),S([]),w(null),c())},[d,M,p,l,c]);const de=ce==="submitted",j=ce==="streaming",xe=t.useMemo(()=>{const e=i=>{if(!i||typeof i!="object")return!1;const n=i;return typeof n.type=="string"&&n.type.startsWith("tool-")},o=[...T??[]].reverse().find(i=>i.role==="assistant");if(!o)return!1;const a=o.parts?.at(-1);return!(!e(a)||a.state!=="output-available"||!a.approval?.id||j)},[T,j]),pe=j||xe,fe=de||pe,Pe=T.length===0,z=!y.trim()||fe,Ne=Ge.useMediaQuery("(max-width: 768px)"),[Oe,R]=t.useState(null);t.useEffect(()=>{$&&R($)},[$]);const _e=()=>R(null),he=t.useRef(null);t.useEffect(()=>{ke?.(y)},[y]);const Fe=e=>{e.key==="Enter"&&!e.shiftKey&&!z&&!e.nativeEvent.isComposing&&(e.preventDefault(),J())},J=async(e=y)=>{if(z&&(!e||e.trim().length===0))return;S([]),A(""),v.current=0,B.current=null,await g({eventName:"user_message_submitted",properties:{conversationId:s}});let r=s;r||(r=`conv_${x.generateUid(16)}`,l(r)),Ce(r),ie.current={content:e,body:{conversationId:r}},H({text:e},{body:{conversationId:r}})},Ue=t.useCallback(e=>{v.current=0,B.current=e,W(e)},[W]),K=t.useCallback(()=>{M().then(()=>{k("aborted",{conversationId:s})})},[M,s,k]),ge=()=>{_e(),p([]),l(""),S([]),w(null),c(),g({eventName:"chat_clear_button_clicked",properties:{conversationId:s}})},q=t.useCallback((e,r)=>{R(null),p(r),l(e),S([]),w(null),c()},[p,l,c]),De=t.useCallback(async(e,r)=>{K(),q(e,[]),oe(!0);try{const o=await ae(e,r),a=o?.[o.length-1],i=o!==null&&a?.role==="user"?[...o,{id:x.generateUid(16),role:"assistant",parts:[{type:"text",text:"This session was interrupted. Please check back in a few minutes or start a new conversation."}]}]:o;i!==null&&q(e,i)}finally{r?.aborted||oe(!1)}},[q,ae,K]),{openForm:Be}=Ye.useChatForm(),Le=et.useWidget();return t.useImperativeHandle(h.chatFunctionsRef,()=>({submitMessage:J,updateInputMessage(e){A(e)},clearChat:ge,openForm:e=>{Le?.setView("chat"),Be(e,void 0)},focusInput:()=>{he.current?.focus()}})),{messages:T,sendMessage:H,addToolApprovalResponse:Ue,isLoading:de,isStreaming:pe,isBusy:fe,error:Oe,setError:R,isSubmitDisabled:z,input:y,handleInputChange:Se,handleInputKeyDown:Fe,handleSubmit:J,stop:K,clear:ge,inputRef:he,isMobile:Ne,messageAttachments:Te,setMessageAttachments:S,selectedWorkflow:Me,setSelectedWorkflow:w,isNewChat:Pe,conversationId:s,restoreSession:q,loadAndRestoreSession:De,isSessionLoading:Ee,sessionToken:d?I:O,refreshSession:d?X:_,getCaptchaHeader:C,invalidateCaptcha:c}};exports.DEFAULT_ERROR_MESSAGE=P;exports.useInkeepChat=at;