@inkeep/agents-ui 0.15.30 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/color-mode/index.js +4 -4
  2. package/dist/index.cjs +1 -1
  3. package/dist/index.js +74 -73
  4. package/dist/node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +9 -0
  5. package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +2 -2
  6. package/dist/primitives/atoms/cmdk/index.cjs +1 -1
  7. package/dist/primitives/atoms/cmdk/index.js +14 -2
  8. package/dist/primitives/atoms/combobox.d.ts +104 -0
  9. package/dist/primitives/atoms/markdown/index.cjs +1 -1
  10. package/dist/primitives/atoms/markdown/index.js +41 -39
  11. package/dist/primitives/atoms/portal.js +3 -3
  12. package/dist/primitives/atoms/select.cjs +1 -1
  13. package/dist/primitives/atoms/select.js +2 -2
  14. package/dist/primitives/atoms/shadow/context.js +4 -4
  15. package/dist/primitives/components/embedded-chat/chat-error-helpers.cjs +3 -0
  16. package/dist/primitives/components/embedded-chat/chat-error-helpers.d.ts +26 -0
  17. package/dist/primitives/components/embedded-chat/chat-error-helpers.js +32 -0
  18. package/dist/primitives/components/embedded-chat/file-upload-input.cjs +1 -1
  19. package/dist/primitives/components/embedded-chat/file-upload-input.d.ts +1 -1
  20. package/dist/primitives/components/embedded-chat/file-upload-input.js +119 -116
  21. package/dist/primitives/components/embedded-chat/image-preview-modal.js +3 -3
  22. package/dist/primitives/components/embedded-chat/use-inkeep-chat.cjs +2 -4
  23. package/dist/primitives/components/embedded-chat/use-inkeep-chat.d.ts +1 -2
  24. package/dist/primitives/components/embedded-chat/use-inkeep-chat.js +305 -278
  25. package/dist/primitives/components/embedded-chat/use-stream-processor.cjs +1 -1
  26. package/dist/primitives/components/embedded-chat/use-stream-processor.js +1 -1
  27. package/dist/primitives/components/embedded-chat.cjs +3 -3
  28. package/dist/primitives/components/embedded-chat.d.ts +1 -2
  29. package/dist/primitives/components/embedded-chat.js +697 -701
  30. package/dist/primitives/components/embedded-search/search-provider.js +3 -3
  31. package/dist/primitives/components/embedded-search.cjs +1 -1
  32. package/dist/primitives/components/embedded-search.d.ts +1 -1
  33. package/dist/primitives/components/embedded-search.js +3 -3
  34. package/dist/primitives/components/modal/modal-provider.js +2 -2
  35. package/dist/primitives/components/modal.js +3 -3
  36. package/dist/primitives/components/sidebar-chat/index.js +1 -1
  37. package/dist/primitives/hooks/use-simple-scroll.cjs +1 -1
  38. package/dist/primitives/hooks/use-simple-scroll.d.ts +7 -0
  39. package/dist/primitives/hooks/use-simple-scroll.js +33 -30
  40. package/dist/primitives/index.cjs +1 -1
  41. package/dist/primitives/index.js +55 -54
  42. package/dist/primitives/providers/base-events-provider.cjs +1 -1
  43. package/dist/primitives/providers/base-events-provider.js +22 -22
  44. package/dist/primitives/providers/chat-bubble-provider.js +1 -1
  45. package/dist/primitives/providers/chat-form-provider.d.ts +1 -1
  46. package/dist/primitives/providers/chat-form-provider.js +4 -4
  47. package/dist/primitives/providers/chat-history-provider.js +3 -3
  48. package/dist/primitives/providers/config-provider.js +3 -3
  49. package/dist/primitives/providers/feedback-provider.js +3 -3
  50. package/dist/primitives/providers/form-field-provider.js +3 -3
  51. package/dist/primitives/providers/help-menu-provider.js +4 -4
  52. package/dist/primitives/providers/hover-popover-provider.js +3 -3
  53. package/dist/primitives/providers/image-preview-provider.js +5 -5
  54. package/dist/primitives/providers/markdown-provider.js +2 -2
  55. package/dist/primitives/providers/message-provider.js +1 -1
  56. package/dist/primitives/providers/sidebar-chat-provider.js +3 -3
  57. package/dist/primitives/providers/source-item-provider.js +3 -3
  58. package/dist/primitives/providers/widget-provider.js +2 -2
  59. package/dist/primitives/utils/default-settings.cjs +1 -1
  60. package/dist/primitives/utils/default-settings.d.ts +1 -0
  61. package/dist/primitives/utils/default-settings.js +6 -5
  62. package/dist/primitives/utils/misc.cjs +5 -1
  63. package/dist/primitives/utils/misc.d.ts +2 -1
  64. package/dist/primitives/utils/misc.js +47 -22
  65. package/dist/react/chat-button.js +1 -1
  66. package/dist/react/embedded-chat.cjs +1 -1
  67. package/dist/react/embedded-chat.js +6 -6
  68. package/dist/react/embedded-search.cjs +1 -1
  69. package/dist/react/embedded-search.js +18 -18
  70. package/dist/react/index.cjs +1 -1
  71. package/dist/react/index.js +74 -73
  72. package/dist/styled/components/chat-bubble.js +4 -4
  73. package/dist/styled/components/chat-button.cjs +1 -1
  74. package/dist/styled/components/chat-button.js +9 -9
  75. package/dist/styled/components/chat-history.cjs +1 -1
  76. package/dist/styled/components/chat-history.js +22 -22
  77. package/dist/styled/components/embedded-chat/file-upload-input.cjs +1 -1
  78. package/dist/styled/components/embedded-chat/file-upload-input.js +71 -72
  79. package/dist/styled/components/embedded-chat/image-preview-modal.js +5 -5
  80. package/dist/styled/components/embedded-chat.cjs +1 -1
  81. package/dist/styled/components/embedded-chat.js +198 -198
  82. package/dist/styled/components/embedded-search.cjs +1 -1
  83. package/dist/styled/components/embedded-search.js +65 -65
  84. package/dist/styled/components/loading-indicator.cjs +1 -1
  85. package/dist/styled/components/loading-indicator.js +1 -1
  86. package/dist/styled/components/message.cjs +1 -1
  87. package/dist/styled/components/message.js +106 -108
  88. package/dist/styled/components/modal.js +3 -3
  89. package/dist/styled/components/searchbar.js +8 -8
  90. package/dist/styled/components/sidebar-chat.cjs +1 -1
  91. package/dist/styled/components/sidebar-chat.js +5 -5
  92. package/dist/styled/index.cjs +1 -1
  93. package/dist/styled/index.js +60 -59
  94. package/dist/styled/inkeep.css.cjs +13 -3
  95. package/dist/styled/inkeep.css.js +13 -3
  96. package/dist/theme/utils/generate-theme-variables.js +6 -6
  97. package/dist/types/config/ai.d.ts +7 -0
  98. package/package.json +1 -1
  99. package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +0 -9
  100. /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +0 -0
  101. /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -0
  102. /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/shim/index.cjs +0 -0
  103. /package/dist/node_modules/.pnpm/{use-sync-external-store@1.5.0_react@19.0.0 → use-sync-external-store@1.6.0_react@19.3.0-canary-87ae75b3-20260128}/node_modules/use-sync-external-store/shim/index.js +0 -0
@@ -1,39 +1,39 @@
1
- import { jsx as t, jsxs as y, Fragment as g } from "react/jsx-runtime";
2
- import b from "react";
3
- import S from "react-markdown";
4
- import C from "rehype-raw";
5
- import x from "remark-gfm";
6
- import P from "remark-supersub";
7
- import { ChatMarkdownProvider as j } from "../../providers/markdown-provider.js";
8
- import { CodeBlock as E } from "../codeblock/index.js";
9
- import { MarkdownSup as m, MarkdownLink as h, MarkdownCode as H, MarkdownTh as R, MarkdownTd as T, MarkdownTable as v, MarkdownImg as A, MarkdownSourceLink as I, MarkdownOl as W, MarkdownInput as _, MarkdownHr as B, MarkdownUl as D, MarkdownLi as F, MarkdownP as G, MarkdownH2 as L, MarkdownH1 as U } from "./components.js";
1
+ import { jsx as t, jsxs as M, Fragment as y } from "react/jsx-runtime";
2
+ import g from "react";
3
+ import b from "react-markdown";
4
+ import S from "rehype-raw";
5
+ import C from "remark-gfm";
6
+ import x from "remark-supersub";
7
+ import { ChatMarkdownProvider as P } from "../../providers/markdown-provider.js";
8
+ import { CodeBlock as j } from "../codeblock/index.js";
9
+ import { MarkdownSup as E, MarkdownLink as m, MarkdownCode as H, MarkdownTh as R, MarkdownTd as T, MarkdownTable as v, MarkdownImg as A, MarkdownSourceLink as I, MarkdownOl as W, MarkdownInput as _, MarkdownHr as B, MarkdownUl as D, MarkdownLi as F, MarkdownP as G, MarkdownH2 as L, MarkdownH1 as U } from "./components.js";
10
10
  import { rehypeInlineCodeProperty as V } from "./rehype-inline-code-property.js";
11
11
  const rr = ({
12
12
  children: d,
13
- componentStyles: u,
14
- shouldOpenLinksInNewTab: c,
15
- onLinkClick: l,
16
- onCodeCopy: p,
13
+ componentStyles: h,
14
+ shouldOpenLinksInNewTab: l,
15
+ onLinkClick: c,
16
+ onCodeCopy: u,
17
17
  artifacts: f,
18
- ...k
18
+ ...p
19
19
  }) => {
20
20
  if (!d) return null;
21
- const w = {
21
+ const k = {
22
22
  h1: ({ children: r }) => /* @__PURE__ */ t(U, { children: r }),
23
23
  h2: ({ children: r }) => /* @__PURE__ */ t(L, { children: r }),
24
24
  p: ({ children: r }) => /* @__PURE__ */ t(G, { children: r }),
25
25
  li: ({ children: r }) => /* @__PURE__ */ t(F, { children: r }),
26
26
  ul: ({ children: r }) => /* @__PURE__ */ t(D, { children: r }),
27
27
  hr: () => /* @__PURE__ */ t(B, {}),
28
- input: ({ type: r, checked: e, disabled: n, readOnly: o, required: i, value: a }) => /* @__PURE__ */ t(
28
+ input: ({ type: r, checked: e, disabled: n, readOnly: o, required: a, value: i }) => /* @__PURE__ */ t(
29
29
  _,
30
30
  {
31
31
  type: r,
32
32
  checked: e,
33
33
  disabled: n,
34
34
  readOnly: o,
35
- required: i,
36
- value: a
35
+ required: a,
36
+ value: i
37
37
  }
38
38
  ),
39
39
  ol: ({ children: r, node: e }) => {
@@ -50,25 +50,25 @@ const rr = ({
50
50
  );
51
51
  },
52
52
  a: ({ children: r, href: e }) => {
53
- const n = b.Children.toArray(r), o = n[0], i = typeof o == "string" && /^\(\d+\)$/.test(o) && n.length === 1, a = i ? o.match(/\d+/) : r, s = /* @__PURE__ */ t(
54
- h,
53
+ const n = g.Children.toArray(r), o = n[0], a = typeof o == "string" && /^\(\d+\)$/.test(o) && n.length === 1, i = a ? o.match(/\d+/) : r, s = /* @__PURE__ */ t(
54
+ m,
55
55
  {
56
- isExternal: c,
56
+ isExternal: l,
57
57
  href: e,
58
58
  onClick: () => {
59
- l?.(e, a?.toString());
59
+ c?.(e, i?.toString());
60
60
  },
61
- children: a
61
+ children: i
62
62
  }
63
63
  );
64
- return i ? /* @__PURE__ */ t(I, { children: s }) : s;
64
+ return a ? /* @__PURE__ */ t(I, { children: s }) : s;
65
65
  },
66
66
  img: ({ src: r, alt: e }) => /* @__PURE__ */ t(A, { src: r, alt: e }),
67
67
  table: ({ children: r }) => /* @__PURE__ */ t(v, { children: r }),
68
68
  th: ({ children: r, isHeader: e }) => e ? /* @__PURE__ */ t(R, { children: r }) : /* @__PURE__ */ t(T, { children: r }),
69
69
  pre: ({ children: r }) => /* @__PURE__ */ t("pre", { children: r }),
70
- code: ({ children: r, inline: e, className: n }) => e ? /* @__PURE__ */ t(H, { children: r }) : /* @__PURE__ */ t(E, { className: n, onCopy: p, children: r }),
71
- sub: ({ children: r }) => typeof r == "string" && (r.startsWith(" ") || r.endsWith(" ")) ? /* @__PURE__ */ y(g, { children: [
70
+ code: ({ children: r, inline: e, className: n }) => e ? /* @__PURE__ */ t(H, { children: r }) : /* @__PURE__ */ t(j, { className: n, onCopy: u, children: r }),
71
+ sub: ({ children: r }) => typeof r == "string" && (r.startsWith(" ") || r.endsWith(" ")) ? /* @__PURE__ */ M(y, { children: [
72
72
  "~",
73
73
  r,
74
74
  "~"
@@ -79,32 +79,34 @@ const rr = ({
79
79
  (n) => (n.data?.artifactSummary?.title || n.data?.name) === r
80
80
  );
81
81
  if (e) {
82
- const n = e.data, o = n?.artifactSummary?.url, i = n?.artifactSummary?.title || n?.name || r;
83
- return o ? /* @__PURE__ */ t(m, { children: /* @__PURE__ */ t(
84
- h,
82
+ const n = e.data, o = n?.artifactSummary?.url, a = n?.artifactSummary?.title;
83
+ if (!o) return null;
84
+ const i = a || n?.name || r;
85
+ return /* @__PURE__ */ t(E, { children: /* @__PURE__ */ t(
86
+ m,
85
87
  {
86
88
  href: o,
87
- isExternal: c,
88
- onClick: () => l?.(o, i),
89
+ isExternal: l,
90
+ onClick: () => c?.(o, i),
89
91
  children: /* @__PURE__ */ t("span", { children: i })
90
92
  }
91
- ) }) : /* @__PURE__ */ t(m, { children: /* @__PURE__ */ t("span", { children: i }) });
93
+ ) });
92
94
  }
93
95
  }
94
96
  return /* @__PURE__ */ t("sup", { children: r });
95
97
  }
96
- }, M = /* @__PURE__ */ t(
97
- S,
98
+ }, w = /* @__PURE__ */ t(
99
+ b,
98
100
  {
99
- remarkPlugins: [[x, { singleTilde: !1 }], P],
100
- rehypePlugins: [C, V],
101
- components: w,
101
+ remarkPlugins: [[C, { singleTilde: !1 }], x],
102
+ rehypePlugins: [S, V],
103
+ components: k,
102
104
  disallowedElements: $,
103
105
  children: d.toString(),
104
- ...k
106
+ ...p
105
107
  }
106
108
  );
107
- return /* @__PURE__ */ t(j, { componentStyles: u, children: M });
109
+ return /* @__PURE__ */ t(P, { componentStyles: h, children: w });
108
110
  }, $ = [
109
111
  "script",
110
112
  "iframe",
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { useRef as c, useReducer as i, useLayoutEffect as p, useEffect as m, createElement as h } from "react";
2
+ import { useRef as c, useReducer as i, createElement as p, useLayoutEffect as m, useEffect as h } from "react";
3
3
  import { createPortal as E } from "react-dom";
4
- const y = typeof document < "u" ? p : m;
4
+ const y = typeof document < "u" ? m : h;
5
5
  function C(u) {
6
6
  const { children: f, target: s, tag: a, host: d } = u, r = c(null), e = c(null), [, l] = i((t) => t + 1, 0);
7
7
  y(() => {
@@ -12,7 +12,7 @@ function C(u) {
12
12
  };
13
13
  }, []);
14
14
  const n = s?.current ?? e.current;
15
- return n ? E(f, n) : h("span", { ref: r });
15
+ return n ? E(f, n) : p("span", { ref: r });
16
16
  }
17
17
  export {
18
18
  C as Portal
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),rt=require("react"),st=require("react-dom"),He=require("@radix-ui/number"),E=require("@radix-ui/primitive"),ct=require("@radix-ui/react-collection"),H=require("@radix-ui/react-compose-refs"),lt=require("@radix-ui/react-context"),it=require("@radix-ui/react-direction"),at=require("@radix-ui/react-dismissable-layer"),dt=require("@radix-ui/react-focus-guards"),ut=require("@radix-ui/react-focus-scope"),Ie=require("@radix-ui/react-id"),Te=require("@radix-ui/react-popper");require("@radix-ui/react-portal");const _=require("@radix-ui/react-primitive"),pt=require("@radix-ui/react-slot"),ft=require("@radix-ui/react-use-callback-ref"),je=require("@radix-ui/react-use-controllable-state"),B=require("@radix-ui/react-use-layout-effect"),mt=require("aria-hidden"),ht=require("react-remove-scroll");function Pe(o){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(l,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return l.default=o,Object.freeze(l)}const t=Pe(rt),ke=Pe(st),ie=Pe(Te),St=[" ","Enter","ArrowUp","ArrowDown"],gt=[" ","Enter"],z="Select",[ae,de,vt]=ct.createCollection(z),[ee,xt]=lt.createContextScope(z,[vt,Te.createPopperScope]),ue=Te.createPopperScope(),[wt,q]=ee(z),[Ct,yt]=ee(z),Ee=o=>{const{__scopeSelect:l,children:e,open:i,defaultOpen:r,onOpenChange:u,value:n,defaultValue:s,onValueChange:c,dir:m,disabled:g,required:C}=o,R=ue(l),[P,y]=t.useState(null),[a,h]=t.useState(null),[v,f]=t.useState(!1),S=it.useDirection(m),[j,M]=je.useControllableState({prop:i,defaultProp:r??!1,onChange:u,caller:z}),[te,b]=je.useControllableState({prop:n,defaultProp:s,onChange:c,caller:z}),L=t.useRef(null),[oe,U]=t.useState(new Set);return d.jsx(ie.Root,{...R,children:d.jsx(wt,{required:C,scope:l,trigger:P,onTriggerChange:y,valueNode:a,onValueNodeChange:h,valueNodeHasChildren:v,onValueNodeHasChildrenChange:f,contentId:Ie.useId(),value:te,onValueChange:b,open:!!j,onOpenChange:M,dir:S,triggerPointerDownPosRef:L,disabled:g,children:d.jsx(ae.Provider,{scope:l,children:d.jsx(Ct,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(O=>{U(A=>new Set(A).add(O))},[]),onNativeOptionRemove:t.useCallback(O=>{U(A=>{const k=new Set(A);return k.delete(O),k})},[]),children:e})})})})};Ee.displayName=z;const Ve="SelectTrigger",Re=t.forwardRef((o,l)=>{const{__scopeSelect:e,disabled:i=!1,...r}=o,u=ue(e),n=q(Ve,e),s=n.disabled||i,c=H.useComposedRefs(l,n.onTriggerChange),m=de(e),g=t.useRef("touch"),[C,R,P]=ot(a=>{const h=m().filter(S=>!S.disabled),v=h.find(S=>S.value===n.value),f=nt(h,a,v);f!==void 0&&n.onValueChange(f.value)}),y=a=>{s||(n.onOpenChange(!0),P()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return d.jsx(ie.Anchor,{asChild:!0,...u,children:d.jsx(_.Primitive.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":tt(n.value)?"":void 0,...r,ref:c,onClick:E.composeEventHandlers(r.onClick,a=>{a.currentTarget.focus(),g.current!=="mouse"&&y(a)}),onPointerDown:E.composeEventHandlers(r.onPointerDown,a=>{g.current=a.pointerType;const h=a.target;h.hasPointerCapture(a.pointerId)&&h.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(y(a),a.preventDefault())}),onKeyDown:E.composeEventHandlers(r.onKeyDown,a=>{const h=C.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&R(a.key),!(h&&a.key===" ")&&St.includes(a.key)&&(y(),a.preventDefault())})})})});Re.displayName=Ve;const Be="SelectValue",be=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,children:u,placeholder:n="",...s}=o,c=q(Be,e),{onValueNodeHasChildrenChange:m}=c,g=u!==void 0,C=H.useComposedRefs(l,c.onValueNodeChange);return B.useLayoutEffect(()=>{m(g)},[m,g]),d.jsx(_.Primitive.span,{...s,ref:C,style:{pointerEvents:"none"},children:tt(c.value)?d.jsx(d.Fragment,{children:n}):u})});be.displayName=Be;const It="SelectIcon",Ne=t.forwardRef((o,l)=>{const{__scopeSelect:e,children:i,...r}=o;return d.jsx(_.Primitive.span,{"aria-hidden":!0,...r,ref:l,children:i||"▼"})});Ne.displayName=It;const Y="SelectContent",_e=t.forwardRef((o,l)=>{const e=q(Y,o.__scopeSelect),[i,r]=t.useState();if(B.useLayoutEffect(()=>{r(new DocumentFragment)},[]),!e.open){const u=i;return u?ke.createPortal(d.jsx(qe,{scope:o.__scopeSelect,children:d.jsx(ae.Slot,{scope:o.__scopeSelect,children:d.jsx("div",{children:o.children})})}),u):null}return d.jsx(Fe,{...o,ref:l})});_e.displayName=Y;const D=10,[qe,F]=ee(Y),Tt="SelectContentImpl",Pt=pt.createSlot("SelectContent.RemoveScroll"),Fe=t.forwardRef((o,l)=>{const{__scopeSelect:e,position:i="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:u,onPointerDownOutside:n,side:s,sideOffset:c,align:m,alignOffset:g,arrowPadding:C,collisionBoundary:R,collisionPadding:P,sticky:y,hideWhenDetached:a,avoidCollisions:h,...v}=o,f=q(Y,e),[S,j]=t.useState(null),[M,te]=t.useState(null),b=H.useComposedRefs(l,p=>j(p)),[L,oe]=t.useState(null),[U,O]=t.useState(null),A=de(e),[k,X]=t.useState(!1),W=t.useRef(!1);t.useEffect(()=>{if(S)return mt.hideOthers(S)},[S]),dt.useFocusGuards();const Z=t.useCallback(p=>{const[I,...N]=A().map(T=>T.ref.current),[x]=N.slice(-1),w=document.activeElement;for(const T of p)if(T===w||(T?.scrollIntoView({block:"nearest"}),T===I&&M&&(M.scrollTop=0),T===x&&M&&(M.scrollTop=M.scrollHeight),T?.focus(),document.activeElement!==w))return},[A,M]),$=t.useCallback(()=>Z([L,S]),[Z,L,S]);t.useEffect(()=>{k&&$()},[k,$]);const{onOpenChange:J,triggerPointerDownPosRef:V}=f;t.useEffect(()=>{if(S){let p={x:0,y:0};const I=x=>{p={x:Math.abs(Math.round(x.pageX)-(V.current?.x??0)),y:Math.abs(Math.round(x.pageY)-(V.current?.y??0))}},N=x=>{p.x<=10&&p.y<=10?x.preventDefault():S.contains(x.target)||J(!1),document.removeEventListener("pointermove",I),V.current=null};return V.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",N,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",N,{capture:!0})}}},[S,J,V]),t.useEffect(()=>{const p=()=>J(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[J]);const[pe,se]=ot(p=>{const I=A().filter(w=>!w.disabled),N=I.find(w=>w.ref.current===document.activeElement),x=nt(I,p,N);x&&setTimeout(()=>x.ref.current.focus())}),fe=t.useCallback((p,I,N)=>{const x=!W.current&&!N;(f.value!==void 0&&f.value===I||x)&&(oe(p),x&&(W.current=!0))},[f.value]),me=t.useCallback(()=>S?.focus(),[S]),Q=t.useCallback((p,I,N)=>{const x=!W.current&&!N;(f.value!==void 0&&f.value===I||x)&&O(p)},[f.value]),ce=i==="popper"?ve:Ue,ne=ce===ve?{side:s,sideOffset:c,align:m,alignOffset:g,arrowPadding:C,collisionBoundary:R,collisionPadding:P,sticky:y,hideWhenDetached:a,avoidCollisions:h}:{};return d.jsx(qe,{scope:e,content:S,viewport:M,onViewportChange:te,itemRefCallback:fe,selectedItem:L,onItemLeave:me,itemTextRefCallback:Q,focusSelectedItem:$,selectedItemText:U,position:i,isPositioned:k,searchRef:pe,children:d.jsx(ht.RemoveScroll,{as:Pt,allowPinchZoom:!0,removeScrollBar:!1,children:d.jsx(ut.FocusScope,{asChild:!0,trapped:f.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:E.composeEventHandlers(r,p=>{f.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:d.jsx(at.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:n,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>f.onOpenChange(!1),children:d.jsx(ce,{role:"listbox",id:f.contentId,"data-state":f.open?"open":"closed",dir:f.dir,onContextMenu:p=>p.preventDefault(),...v,...ne,onPlaced:()=>X(!0),ref:b,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:E.composeEventHandlers(v.onKeyDown,p=>{const I=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!I&&p.key.length===1&&se(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let x=A().filter(w=>!w.disabled).map(w=>w.ref.current);if(["ArrowUp","End"].includes(p.key)&&(x=x.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const w=p.target,T=x.indexOf(w);x=x.slice(T+1)}setTimeout(()=>Z(x)),p.preventDefault()}})})})})})})});Fe.displayName=Tt;const Et="SelectItemAlignedPosition",Ue=t.forwardRef((o,l)=>{const{__scopeSelect:e,onPlaced:i,...r}=o,u=q(Y,e),n=F(Y,e),[s,c]=t.useState(null),[m,g]=t.useState(null),C=H.useComposedRefs(l,b=>g(b)),R=de(e),P=t.useRef(!1),y=t.useRef(!0),{viewport:a,selectedItem:h,selectedItemText:v,focusSelectedItem:f}=n,S=t.useCallback(()=>{if(u.trigger&&u.valueNode&&s&&m&&a&&h&&v){const b=u.trigger.getBoundingClientRect(),L=m.getBoundingClientRect(),oe=u.valueNode.getBoundingClientRect(),U=v.getBoundingClientRect();if(u.dir!=="rtl"){const w=U.left-L.left,T=oe.left-w,K=b.left-T,G=b.width+K,he=Math.max(G,L.width),Se=window.innerWidth-D,ge=He.clamp(T,[D,Math.max(D,Se-he)]);s.style.minWidth=G+"px",s.style.left=ge+"px"}else{const w=L.right-U.right,T=window.innerWidth-oe.right-w,K=window.innerWidth-b.right-T,G=b.width+K,he=Math.max(G,L.width),Se=window.innerWidth-D,ge=He.clamp(T,[D,Math.max(D,Se-he)]);s.style.minWidth=G+"px",s.style.right=ge+"px"}const O=R(),A=window.innerHeight-D*2,k=a.scrollHeight,X=window.getComputedStyle(m),W=Number.parseInt(X.borderTopWidth,10),Z=Number.parseInt(X.paddingTop,10),$=Number.parseInt(X.borderBottomWidth,10),J=Number.parseInt(X.paddingBottom,10),V=W+Z+k+J+$,pe=Math.min(h.offsetHeight*5,V),se=window.getComputedStyle(a),fe=Number.parseInt(se.paddingTop,10),me=Number.parseInt(se.paddingBottom,10),Q=b.top+b.height/2-D,ce=A-Q,ne=h.offsetHeight/2,p=h.offsetTop+ne,I=W+Z+p,N=V-I;if(I<=Q){const w=O.length>0&&h===O[O.length-1].ref.current;s.style.bottom="0px";const T=m.clientHeight-a.offsetTop-a.offsetHeight,K=Math.max(ce,ne+(w?me:0)+T+$),G=I+K;s.style.height=G+"px"}else{const w=O.length>0&&h===O[0].ref.current;s.style.top="0px";const K=Math.max(Q,W+a.offsetTop+(w?fe:0)+ne)+N;s.style.height=K+"px",a.scrollTop=I-Q+a.offsetTop}s.style.margin=`${D}px 0`,s.style.minHeight=pe+"px",s.style.maxHeight=A+"px",i?.(),requestAnimationFrame(()=>P.current=!0)}},[R,u.trigger,u.valueNode,s,m,a,h,v,u.dir,i]);B.useLayoutEffect(()=>S(),[S]);const[j,M]=t.useState();B.useLayoutEffect(()=>{m&&M(window.getComputedStyle(m).zIndex)},[m]);const te=t.useCallback(b=>{b&&y.current===!0&&(S(),f?.(),y.current=!1)},[S,f]);return d.jsx(bt,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:P,onScrollButtonChange:te,children:d.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:d.jsx(_.Primitive.div,{...r,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Ue.displayName=Et;const Rt="SelectPopperPosition",ve=t.forwardRef((o,l)=>{const{__scopeSelect:e,align:i="start",collisionPadding:r=D,...u}=o,n=ue(e);return d.jsx(ie.Content,{...n,...u,ref:l,align:i,collisionPadding:r,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ve.displayName=Rt;const[bt,Me]=ee(Y,{}),xe="SelectViewport",Oe=t.forwardRef((o,l)=>{const{__scopeSelect:e,nonce:i,...r}=o,u=F(xe,e),n=Me(xe,e),s=H.useComposedRefs(l,u.onViewportChange),c=t.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),d.jsx(ae.Slot,{scope:e,children:d.jsx(_.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:E.composeEventHandlers(r.onScroll,m=>{const g=m.currentTarget,{contentWrapper:C,shouldExpandOnScrollRef:R}=n;if(R?.current&&C){const P=Math.abs(c.current-g.scrollTop);if(P>0){const y=window.innerHeight-D*2,a=Number.parseFloat(C.style.minHeight),h=Number.parseFloat(C.style.height),v=Math.max(a,h);if(v<y){const f=v+P,S=Math.min(y,f),j=f-S;C.style.height=S+"px",C.style.bottom==="0px"&&(g.scrollTop=j>0?j:0,C.style.justifyContent="flex-end")}}}c.current=g.scrollTop})})})]})});Oe.displayName=xe;const We="SelectGroup",[Nt,_t]=ee(We),Ke=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=Ie.useId();return d.jsx(Nt,{scope:e,id:r,children:d.jsx(_.Primitive.div,{role:"group","aria-labelledby":r,...i,ref:l})})});Ke.displayName=We;const Ge="SelectLabel",ze=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=_t(Ge,e);return d.jsx(_.Primitive.div,{id:r.id,...i,ref:l})});ze.displayName=Ge;const le="SelectItem",[Mt,Ye]=ee(le),Ae=t.forwardRef((o,l)=>{const{__scopeSelect:e,value:i,disabled:r=!1,textValue:u,...n}=o,s=q(le,e),c=F(le,e),m=s.value===i,[g,C]=t.useState(u??""),[R,P]=t.useState(!1),y=H.useComposedRefs(l,f=>c.itemRefCallback?.(f,i,r)),a=Ie.useId(),h=t.useRef("touch"),v=()=>{r||(s.onValueChange(i),s.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d.jsx(Mt,{scope:e,value:i,disabled:r,textId:a,isSelected:m,onItemTextChange:t.useCallback(f=>{C(S=>S||(f?.textContent??"").trim())},[]),children:d.jsx(ae.ItemSlot,{scope:e,value:i,disabled:r,textValue:g,children:d.jsx(_.Primitive.div,{role:"option","aria-labelledby":a,"data-highlighted":R?"":void 0,"aria-selected":m&&R,"data-state":m?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...n,ref:y,onFocus:E.composeEventHandlers(n.onFocus,()=>P(!0)),onBlur:E.composeEventHandlers(n.onBlur,()=>P(!1)),onClick:E.composeEventHandlers(n.onClick,()=>{h.current!=="mouse"&&v()}),onPointerUp:E.composeEventHandlers(n.onPointerUp,()=>{h.current==="mouse"&&v()}),onPointerDown:E.composeEventHandlers(n.onPointerDown,f=>{h.current=f.pointerType}),onPointerMove:E.composeEventHandlers(n.onPointerMove,f=>{h.current=f.pointerType,r?c.onItemLeave?.():h.current==="mouse"&&f.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E.composeEventHandlers(n.onPointerLeave,f=>{f.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:E.composeEventHandlers(n.onKeyDown,f=>{c.searchRef?.current!==""&&f.key===" "||(gt.includes(f.key)&&v(),f.key===" "&&f.preventDefault())})})})})});Ae.displayName=le;const re="SelectItemText",De=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,...u}=o,n=q(re,e),s=F(re,e),c=Ye(re,e),m=yt(re,e),[g,C]=t.useState(null),R=H.useComposedRefs(l,v=>C(v),c.onItemTextChange,v=>s.itemTextRefCallback?.(v,c.value,c.disabled)),P=g?.textContent,y=t.useMemo(()=>d.jsx("option",{value:c.value,disabled:c.disabled,children:P},c.value),[c.disabled,c.value,P]),{onNativeOptionAdd:a,onNativeOptionRemove:h}=m;return B.useLayoutEffect(()=>(a(y),()=>h(y)),[a,h,y]),d.jsxs(d.Fragment,{children:[d.jsx(_.Primitive.span,{id:c.textId,...u,ref:R}),c.isSelected&&n.valueNode&&!n.valueNodeHasChildren?ke.createPortal(u.children,n.valueNode):null]})});De.displayName=re;const Xe="SelectItemIndicator",Le=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return Ye(Xe,e).isSelected?d.jsx(_.Primitive.span,{"aria-hidden":!0,...i,ref:l}):null});Le.displayName=Xe;const we="SelectScrollUpButton",Ze=t.forwardRef((o,l)=>{const e=F(we,o.__scopeSelect),i=Me(we,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(l,i.onScrollButtonChange);return B.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const m=c.scrollTop>0;u(m)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop-c.offsetHeight)}}):null});Ze.displayName=we;const Ce="SelectScrollDownButton",$e=t.forwardRef((o,l)=>{const e=F(Ce,o.__scopeSelect),i=Me(Ce,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(l,i.onScrollButtonChange);return B.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const m=c.scrollHeight-c.clientHeight,g=Math.ceil(c.scrollTop)<m;u(g)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop+c.offsetHeight)}}):null});$e.displayName=Ce;const Je=t.forwardRef((o,l)=>{const{__scopeSelect:e,onAutoScroll:i,...r}=o,u=F("SelectScrollButton",e),n=t.useRef(null),s=de(e),c=t.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return t.useEffect(()=>()=>c(),[c]),B.useLayoutEffect(()=>{s().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),d.jsx(_.Primitive.div,{"aria-hidden":!0,...r,ref:l,style:{flexShrink:0,...r.style},onPointerDown:E.composeEventHandlers(r.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(i,50))}),onPointerMove:E.composeEventHandlers(r.onPointerMove,()=>{u.onItemLeave?.(),n.current===null&&(n.current=window.setInterval(i,50))}),onPointerLeave:E.composeEventHandlers(r.onPointerLeave,()=>{c()})})}),Ot="SelectSeparator",Qe=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return d.jsx(_.Primitive.div,{"aria-hidden":!0,...i,ref:l})});Qe.displayName=Ot;const ye="SelectArrow",et=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=ue(e),u=q(ye,e),n=F(ye,e);return u.open&&n.position==="popper"?d.jsx(ie.Arrow,{...r,...i,ref:l}):null});et.displayName=ye;function tt(o){return o===""||o===void 0}function ot(o){const l=ft.useCallbackRef(o),e=t.useRef(""),i=t.useRef(0),r=t.useCallback(n=>{const s=e.current+n;l(s),function c(m){e.current=m,window.clearTimeout(i.current),m!==""&&(i.current=window.setTimeout(()=>c(""),1e3))}(s)},[l]),u=t.useCallback(()=>{e.current="",window.clearTimeout(i.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(i.current),[]),[e,r,u]}function nt(o,l,e){const r=l.length>1&&Array.from(l).every(m=>m===l[0])?l[0]:l,u=e?o.indexOf(e):-1;let n=At(o,Math.max(u,0));r.length===1&&(n=n.filter(m=>m!==e));const c=n.find(m=>m.textValue.toLowerCase().startsWith(r.toLowerCase()));return c!==e?c:void 0}function At(o,l){return o.map((e,i)=>o[(l+i)%o.length])}const Dt=Ee,Lt=Re,Ht=be,jt=Ne,kt=_e,Vt=Oe,Bt=Ae,qt=De,Ft=Le;exports.Content=kt;exports.Icon=jt;exports.Item=Bt;exports.ItemIndicator=Ft;exports.ItemText=qt;exports.Root=Dt;exports.Select=Ee;exports.SelectArrow=et;exports.SelectContent=_e;exports.SelectGroup=Ke;exports.SelectIcon=Ne;exports.SelectItem=Ae;exports.SelectItemIndicator=Le;exports.SelectItemText=De;exports.SelectLabel=ze;exports.SelectScrollDownButton=$e;exports.SelectScrollUpButton=Ze;exports.SelectSeparator=Qe;exports.SelectTrigger=Re;exports.SelectValue=be;exports.SelectViewport=Oe;exports.Trigger=Lt;exports.Value=Ht;exports.Viewport=Vt;exports.createSelectScope=xt;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),rt=require("react"),st=require("react-dom"),He=require("@radix-ui/number"),E=require("@radix-ui/primitive"),ct=require("@radix-ui/react-collection"),H=require("@radix-ui/react-compose-refs"),lt=require("@radix-ui/react-context"),it=require("@radix-ui/react-direction"),at=require("@radix-ui/react-dismissable-layer"),dt=require("@radix-ui/react-focus-guards"),ut=require("@radix-ui/react-focus-scope"),Ie=require("@radix-ui/react-id"),Te=require("@radix-ui/react-popper");require("@radix-ui/react-portal");const _=require("@radix-ui/react-primitive"),pt=require("@radix-ui/react-slot"),ft=require("@radix-ui/react-use-callback-ref"),je=require("@radix-ui/react-use-controllable-state"),B=require("@radix-ui/react-use-layout-effect"),mt=require("aria-hidden"),ht=require("react-remove-scroll");function Pe(o){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const i=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(l,e,i.get?i:{enumerable:!0,get:()=>o[e]})}}return l.default=o,Object.freeze(l)}const t=Pe(rt),ke=Pe(st),ie=Pe(Te),St=[" ","Enter","ArrowUp","ArrowDown"],gt=[" ","Enter"],z="Select",[ae,de,vt]=ct.createCollection(z),[ee,xt]=lt.createContextScope(z,[vt,Te.createPopperScope]),ue=Te.createPopperScope(),[wt,q]=ee(z),[Ct,yt]=ee(z),Ee=o=>{const{__scopeSelect:l,children:e,open:i,defaultOpen:r,onOpenChange:u,value:n,defaultValue:s,onValueChange:c,dir:m,disabled:g,required:C}=o,R=ue(l),[P,y]=t.useState(null),[a,h]=t.useState(null),[v,f]=t.useState(!1),S=it.useDirection(m),[j,M]=je.useControllableState({prop:i,defaultProp:r??!1,onChange:u,caller:z}),[te,b]=je.useControllableState({prop:n,defaultProp:s,onChange:c,caller:z}),L=t.useRef(null),[oe,U]=t.useState(new Set);return d.jsx(ie.Root,{...R,children:d.jsx(wt,{required:C,scope:l,trigger:P,onTriggerChange:y,valueNode:a,onValueNodeChange:h,valueNodeHasChildren:v,onValueNodeHasChildrenChange:f,contentId:Ie.useId(),value:te,onValueChange:b,open:!!j,onOpenChange:M,dir:S,triggerPointerDownPosRef:L,disabled:g,children:d.jsx(ae.Provider,{scope:l,children:d.jsx(Ct,{scope:o.__scopeSelect,onNativeOptionAdd:t.useCallback(O=>{U(A=>new Set(A).add(O))},[]),onNativeOptionRemove:t.useCallback(O=>{U(A=>{const k=new Set(A);return k.delete(O),k})},[]),children:e})})})})};Ee.displayName=z;const Ve="SelectTrigger",Re=t.forwardRef((o,l)=>{const{__scopeSelect:e,disabled:i=!1,...r}=o,u=ue(e),n=q(Ve,e),s=n.disabled||i,c=H.useComposedRefs(l,n.onTriggerChange),m=de(e),g=t.useRef("touch"),[C,R,P]=ot(a=>{const h=m().filter(S=>!S.disabled),v=h.find(S=>S.value===n.value),f=nt(h,a,v);f!==void 0&&n.onValueChange(f.value)}),y=a=>{s||(n.onOpenChange(!0),P()),a&&(n.triggerPointerDownPosRef.current={x:Math.round(a.pageX),y:Math.round(a.pageY)})};return d.jsx(ie.Anchor,{asChild:!0,...u,children:d.jsx(_.Primitive.button,{type:"button",role:"combobox","aria-controls":n.contentId,"aria-expanded":n.open,"aria-required":n.required,"aria-autocomplete":"none",dir:n.dir,"data-state":n.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":tt(n.value)?"":void 0,...r,ref:c,onClick:E.composeEventHandlers(r.onClick,a=>{a.currentTarget.focus(),g.current!=="mouse"&&y(a)}),onPointerDown:E.composeEventHandlers(r.onPointerDown,a=>{g.current=a.pointerType;const h=a.target;h.hasPointerCapture(a.pointerId)&&h.releasePointerCapture(a.pointerId),a.button===0&&a.ctrlKey===!1&&a.pointerType==="mouse"&&(y(a),a.preventDefault())}),onKeyDown:E.composeEventHandlers(r.onKeyDown,a=>{const h=C.current!=="";!(a.ctrlKey||a.altKey||a.metaKey)&&a.key.length===1&&R(a.key),!(h&&a.key===" ")&&St.includes(a.key)&&(y(),a.preventDefault())})})})});Re.displayName=Ve;const Be="SelectValue",be=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,children:u,placeholder:n="",...s}=o,c=q(Be,e),{onValueNodeHasChildrenChange:m}=c,g=u!==void 0,C=H.useComposedRefs(l,c.onValueNodeChange);return B.useLayoutEffect(()=>{m(g)},[m,g]),d.jsx(_.Primitive.span,{...s,ref:C,style:{pointerEvents:"none"},children:tt(c.value)?d.jsx(d.Fragment,{children:n}):u})});be.displayName=Be;const It="SelectIcon",Ne=t.forwardRef((o,l)=>{const{__scopeSelect:e,children:i,...r}=o;return d.jsx(_.Primitive.span,{"aria-hidden":!0,...r,ref:l,children:i||"▼"})});Ne.displayName=It;const Y="SelectContent",_e=t.forwardRef((o,l)=>{const e=q(Y,o.__scopeSelect),[i,r]=t.useState();if(B.useLayoutEffect(()=>{r(new DocumentFragment)},[]),!e.open){const u=i;return u?ke.createPortal(d.jsx(qe,{scope:o.__scopeSelect,children:d.jsx(ae.Slot,{scope:o.__scopeSelect,children:d.jsx("div",{children:o.children})})}),u):null}return d.jsx(Fe,{...o,ref:l})});_e.displayName=Y;const D=10,[qe,F]=ee(Y),Tt="SelectContentImpl",Pt=pt.createSlot("SelectContent.RemoveScroll"),Fe=t.forwardRef((o,l)=>{const{__scopeSelect:e,position:i="item-aligned",onCloseAutoFocus:r,onEscapeKeyDown:u,onPointerDownOutside:n,side:s,sideOffset:c,align:m,alignOffset:g,arrowPadding:C,collisionBoundary:R,collisionPadding:P,sticky:y,hideWhenDetached:a,avoidCollisions:h,...v}=o,f=q(Y,e),[S,j]=t.useState(null),[M,te]=t.useState(null),b=H.useComposedRefs(l,p=>j(p)),[L,oe]=t.useState(null),[U,O]=t.useState(null),A=de(e),[k,X]=t.useState(!1),W=t.useRef(!1);t.useEffect(()=>{if(S)return mt.hideOthers(S)},[S]),dt.useFocusGuards();const Z=t.useCallback(p=>{const[I,...N]=A().map(T=>T.ref.current),[x]=N.slice(-1),w=document.activeElement;for(const T of p)if(T===w||(T?.scrollIntoView({block:"nearest"}),T===I&&M&&(M.scrollTop=0),T===x&&M&&(M.scrollTop=M.scrollHeight),T?.focus(),document.activeElement!==w))return},[A,M]),$=t.useCallback(()=>Z([L,S]),[Z,L,S]);t.useEffect(()=>{k&&$()},[k,$]);const{onOpenChange:J,triggerPointerDownPosRef:V}=f;t.useEffect(()=>{if(S){let p={x:0,y:0};const I=x=>{p={x:Math.abs(Math.round(x.pageX)-(V.current?.x??0)),y:Math.abs(Math.round(x.pageY)-(V.current?.y??0))}},N=x=>{p.x<=10&&p.y<=10?x.preventDefault():S.contains(x.target)||J(!1),document.removeEventListener("pointermove",I),V.current=null};return V.current!==null&&(document.addEventListener("pointermove",I),document.addEventListener("pointerup",N,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",I),document.removeEventListener("pointerup",N,{capture:!0})}}},[S,J,V]),t.useEffect(()=>{const p=()=>J(!1);return window.addEventListener("blur",p),window.addEventListener("resize",p),()=>{window.removeEventListener("blur",p),window.removeEventListener("resize",p)}},[J]);const[pe,se]=ot(p=>{const I=A().filter(w=>!w.disabled),N=I.find(w=>w.ref.current===document.activeElement),x=nt(I,p,N);x&&setTimeout(()=>x.ref.current.focus())}),fe=t.useCallback((p,I,N)=>{const x=!W.current&&!N;(f.value!==void 0&&f.value===I||x)&&(oe(p),x&&(W.current=!0))},[f.value]),me=t.useCallback(()=>S?.focus(),[S]),Q=t.useCallback((p,I,N)=>{const x=!W.current&&!N;(f.value!==void 0&&f.value===I||x)&&O(p)},[f.value]),ce=i==="popper"?ve:Ue,ne=ce===ve?{side:s,sideOffset:c,align:m,alignOffset:g,arrowPadding:C,collisionBoundary:R,collisionPadding:P,sticky:y,hideWhenDetached:a,avoidCollisions:h}:{};return d.jsx(qe,{scope:e,content:S,viewport:M,onViewportChange:te,itemRefCallback:fe,selectedItem:L,onItemLeave:me,itemTextRefCallback:Q,focusSelectedItem:$,selectedItemText:U,position:i,isPositioned:k,searchRef:pe,children:d.jsx(ht.RemoveScroll,{as:Pt,allowPinchZoom:!0,removeScrollBar:!1,children:d.jsx(ut.FocusScope,{asChild:!0,trapped:f.open,onMountAutoFocus:p=>{p.preventDefault()},onUnmountAutoFocus:E.composeEventHandlers(r,p=>{f.trigger?.focus({preventScroll:!0}),p.preventDefault()}),children:d.jsx(at.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:u,onPointerDownOutside:n,onFocusOutside:p=>p.preventDefault(),onDismiss:()=>f.onOpenChange(!1),children:d.jsx(ce,{role:"listbox",id:f.contentId,"data-state":f.open?"open":"closed",dir:f.dir,onContextMenu:p=>p.preventDefault(),...v,...ne,onPlaced:()=>X(!0),ref:b,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:E.composeEventHandlers(v.onKeyDown,p=>{const I=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!I&&p.key.length===1&&se(p.key),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let x=A().filter(w=>!w.disabled).map(w=>w.ref.current);if(["ArrowUp","End"].includes(p.key)&&(x=x.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const w=p.target,T=x.indexOf(w);x=x.slice(T+1)}setTimeout(()=>Z(x)),p.preventDefault()}})})})})})})});Fe.displayName=Tt;const Et="SelectItemAlignedPosition",Ue=t.forwardRef((o,l)=>{const{__scopeSelect:e,onPlaced:i,...r}=o,u=q(Y,e),n=F(Y,e),[s,c]=t.useState(null),[m,g]=t.useState(null),C=H.useComposedRefs(l,b=>g(b)),R=de(e),P=t.useRef(!1),y=t.useRef(!0),{viewport:a,selectedItem:h,selectedItemText:v,focusSelectedItem:f}=n,S=t.useCallback(()=>{if(u.trigger&&u.valueNode&&s&&m&&a&&h&&v){const b=u.trigger.getBoundingClientRect(),L=m.getBoundingClientRect(),oe=u.valueNode.getBoundingClientRect(),U=v.getBoundingClientRect();if(u.dir!=="rtl"){const w=U.left-L.left,T=oe.left-w,K=b.left-T,G=b.width+K,he=Math.max(G,L.width),Se=window.innerWidth-D,ge=He.clamp(T,[D,Math.max(D,Se-he)]);s.style.minWidth=G+"px",s.style.left=ge+"px"}else{const w=L.right-U.right,T=window.innerWidth-oe.right-w,K=window.innerWidth-b.right-T,G=b.width+K,he=Math.max(G,L.width),Se=window.innerWidth-D,ge=He.clamp(T,[D,Math.max(D,Se-he)]);s.style.minWidth=G+"px",s.style.right=ge+"px"}const O=R(),A=window.innerHeight-D*2,k=a.scrollHeight,X=window.getComputedStyle(m),W=Number.parseInt(X.borderTopWidth,10),Z=Number.parseInt(X.paddingTop,10),$=Number.parseInt(X.borderBottomWidth,10),J=Number.parseInt(X.paddingBottom,10),V=W+Z+k+J+$,pe=Math.min(h.offsetHeight*5,V),se=window.getComputedStyle(a),fe=Number.parseInt(se.paddingTop,10),me=Number.parseInt(se.paddingBottom,10),Q=b.top+b.height/2-D,ce=A-Q,ne=h.offsetHeight/2,p=h.offsetTop+ne,I=W+Z+p,N=V-I;if(I<=Q){const w=O.length>0&&h===O[O.length-1].ref.current;s.style.bottom="0px";const T=m.clientHeight-a.offsetTop-a.offsetHeight,K=Math.max(ce,ne+(w?me:0)+T+$),G=I+K;s.style.height=G+"px"}else{const w=O.length>0&&h===O[0].ref.current;s.style.top="0px";const K=Math.max(Q,W+a.offsetTop+(w?fe:0)+ne)+N;s.style.height=K+"px",a.scrollTop=I-Q+a.offsetTop}s.style.margin=`${D}px 0`,s.style.minHeight=pe+"px",s.style.maxHeight=A+"px",i?.(),requestAnimationFrame(()=>P.current=!0)}},[R,u.trigger,u.valueNode,s,m,a,h,v,u.dir,i]);B.useLayoutEffect(()=>S(),[S]);const[j,M]=t.useState();B.useLayoutEffect(()=>{m&&M(window.getComputedStyle(m).zIndex)},[m]);const te=t.useCallback(b=>{b&&y.current===!0&&(S(),f?.(),y.current=!1)},[S,f]);return d.jsx(bt,{scope:e,contentWrapper:s,shouldExpandOnScrollRef:P,onScrollButtonChange:te,children:d.jsx("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:d.jsx(_.Primitive.div,{...r,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...r.style}})})})});Ue.displayName=Et;const Rt="SelectPopperPosition",ve=t.forwardRef((o,l)=>{const{__scopeSelect:e,align:i="start",collisionPadding:r=D,...u}=o,n=ue(e);return d.jsx(ie.Content,{...n,...u,ref:l,align:i,collisionPadding:r,style:{boxSizing:"border-box",...u.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ve.displayName=Rt;const[bt,Me]=ee(Y,{}),xe="SelectViewport",Oe=t.forwardRef((o,l)=>{const{__scopeSelect:e,nonce:i,...r}=o,u=F(xe,e),n=Me(xe,e),s=H.useComposedRefs(l,u.onViewportChange),c=t.useRef(0);return d.jsxs(d.Fragment,{children:[d.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),d.jsx(ae.Slot,{scope:e,children:d.jsx(_.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...r,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...r.style},onScroll:E.composeEventHandlers(r.onScroll,m=>{const g=m.currentTarget,{contentWrapper:C,shouldExpandOnScrollRef:R}=n;if(R?.current&&C){const P=Math.abs(c.current-g.scrollTop);if(P>0){const y=window.innerHeight-D*2,a=Number.parseFloat(C.style.minHeight),h=Number.parseFloat(C.style.height),v=Math.max(a,h);if(v<y){const f=v+P,S=Math.min(y,f),j=f-S;C.style.height=S+"px",C.style.bottom==="0px"&&(g.scrollTop=j>0?j:0,C.style.justifyContent="flex-end")}}}c.current=g.scrollTop})})})]})});Oe.displayName=xe;const We="SelectGroup",[Nt,_t]=ee(We),Ke=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=Ie.useId();return d.jsx(Nt,{scope:e,id:r,children:d.jsx(_.Primitive.div,{role:"group","aria-labelledby":r,...i,ref:l})})});Ke.displayName=We;const Ge="SelectLabel",ze=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=_t(Ge,e);return d.jsx(_.Primitive.div,{id:r.id,...i,ref:l})});ze.displayName=Ge;const le="SelectItem",[Mt,Ye]=ee(le),Ae=t.forwardRef((o,l)=>{const{__scopeSelect:e,value:i,disabled:r=!1,textValue:u,...n}=o,s=q(le,e),c=F(le,e),m=s.value===i,[g,C]=t.useState(u??""),[R,P]=t.useState(!1),y=H.useComposedRefs(l,f=>c.itemRefCallback?.(f,i,r)),a=Ie.useId(),h=t.useRef("touch"),v=()=>{r||(s.onValueChange(i),s.onOpenChange(!1))};if(i==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return d.jsx(Mt,{scope:e,value:i,disabled:r,textId:a,isSelected:m,onItemTextChange:t.useCallback(f=>{C(S=>S||(f?.textContent??"").trim())},[]),children:d.jsx(ae.ItemSlot,{scope:e,value:i,disabled:r,textValue:g,children:d.jsx(_.Primitive.div,{role:"option","aria-labelledby":a,"data-highlighted":R?"":void 0,"aria-selected":m&&R,"data-state":m?"checked":"unchecked","aria-disabled":r||void 0,"data-disabled":r?"":void 0,tabIndex:r?void 0:-1,...n,ref:y,onFocus:E.composeEventHandlers(n.onFocus,()=>P(!0)),onBlur:E.composeEventHandlers(n.onBlur,()=>P(!1)),onClick:E.composeEventHandlers(n.onClick,()=>{h.current!=="mouse"&&v()}),onPointerUp:E.composeEventHandlers(n.onPointerUp,()=>{h.current==="mouse"&&v()}),onPointerDown:E.composeEventHandlers(n.onPointerDown,f=>{h.current=f.pointerType}),onPointerMove:E.composeEventHandlers(n.onPointerMove,f=>{h.current=f.pointerType,r?c.onItemLeave?.():h.current==="mouse"&&f.currentTarget.focus({preventScroll:!0})}),onPointerLeave:E.composeEventHandlers(n.onPointerLeave,f=>{f.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:E.composeEventHandlers(n.onKeyDown,f=>{c.searchRef?.current!==""&&f.key===" "||(gt.includes(f.key)&&v(),f.key===" "&&f.preventDefault())})})})})});Ae.displayName=le;const re="SelectItemText",De=t.forwardRef((o,l)=>{const{__scopeSelect:e,className:i,style:r,...u}=o,n=q(re,e),s=F(re,e),c=Ye(re,e),m=yt(re,e),[g,C]=t.useState(null),R=H.useComposedRefs(l,v=>C(v),c.onItemTextChange,v=>s.itemTextRefCallback?.(v,c.value,c.disabled)),P=g?.textContent,y=t.useMemo(()=>d.jsx("option",{value:c.value,disabled:c.disabled,children:P},c.value),[c.disabled,c.value,P]),{onNativeOptionAdd:a,onNativeOptionRemove:h}=m;return B.useLayoutEffect(()=>(a(y),()=>h(y)),[a,h,y]),d.jsxs(d.Fragment,{children:[d.jsx(_.Primitive.span,{id:c.textId,...u,ref:R}),c.isSelected&&n.valueNode&&!n.valueNodeHasChildren?ke.createPortal(u.children,n.valueNode):null]})});De.displayName=re;const Xe="SelectItemIndicator",Le=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return Ye(Xe,e).isSelected?d.jsx(_.Primitive.span,{"aria-hidden":!0,...i,ref:l}):null});Le.displayName=Xe;const we="SelectScrollUpButton",Ze=t.forwardRef((o,l)=>{const e=F(we,o.__scopeSelect),i=Me(we,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(l,i.onScrollButtonChange);return B.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const m=c.scrollTop>0;u(m)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop-c.offsetHeight)}}):null});Ze.displayName=we;const Ce="SelectScrollDownButton",$e=t.forwardRef((o,l)=>{const e=F(Ce,o.__scopeSelect),i=Me(Ce,o.__scopeSelect),[r,u]=t.useState(!1),n=H.useComposedRefs(l,i.onScrollButtonChange);return B.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){let s=function(){const m=c.scrollHeight-c.clientHeight,g=Math.ceil(c.scrollTop)<m;u(g)};const c=e.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[e.viewport,e.isPositioned]),r?d.jsx(Je,{...o,ref:n,onAutoScroll:()=>{const{viewport:s,selectedItem:c}=e;s&&c&&(s.scrollTop=s.scrollTop+c.offsetHeight)}}):null});$e.displayName=Ce;const Je=t.forwardRef((o,l)=>{const{__scopeSelect:e,onAutoScroll:i,...r}=o,u=F("SelectScrollButton",e),n=t.useRef(null),s=de(e),c=t.useCallback(()=>{n.current!==null&&(window.clearInterval(n.current),n.current=null)},[]);return t.useEffect(()=>()=>c(),[c]),B.useLayoutEffect(()=>{s().find(g=>g.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[s]),d.jsx(_.Primitive.div,{"aria-hidden":!0,...r,ref:l,style:{flexShrink:0,...r.style},onPointerDown:E.composeEventHandlers(r.onPointerDown,()=>{n.current===null&&(n.current=window.setInterval(i,50))}),onPointerMove:E.composeEventHandlers(r.onPointerMove,()=>{u.onItemLeave?.(),n.current===null&&(n.current=window.setInterval(i,50))}),onPointerLeave:E.composeEventHandlers(r.onPointerLeave,()=>{c()})})}),Ot="SelectSeparator",Qe=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o;return d.jsx(_.Primitive.div,{"aria-hidden":!0,...i,ref:l})});Qe.displayName=Ot;const ye="SelectArrow",et=t.forwardRef((o,l)=>{const{__scopeSelect:e,...i}=o,r=ue(e),u=q(ye,e),n=F(ye,e);return u.open&&n.position==="popper"?d.jsx(ie.Arrow,{...r,...i,ref:l}):null});et.displayName=ye;function tt(o){return o===""||o===void 0}function ot(o){const l=ft.useCallbackRef(o),e=t.useRef(""),i=t.useRef(0),r=t.useCallback(n=>{const s=e.current+n;l(s),(function c(m){e.current=m,window.clearTimeout(i.current),m!==""&&(i.current=window.setTimeout(()=>c(""),1e3))})(s)},[l]),u=t.useCallback(()=>{e.current="",window.clearTimeout(i.current)},[]);return t.useEffect(()=>()=>window.clearTimeout(i.current),[]),[e,r,u]}function nt(o,l,e){const r=l.length>1&&Array.from(l).every(m=>m===l[0])?l[0]:l,u=e?o.indexOf(e):-1;let n=At(o,Math.max(u,0));r.length===1&&(n=n.filter(m=>m!==e));const c=n.find(m=>m.textValue.toLowerCase().startsWith(r.toLowerCase()));return c!==e?c:void 0}function At(o,l){return o.map((e,i)=>o[(l+i)%o.length])}const Dt=Ee,Lt=Re,Ht=be,jt=Ne,kt=_e,Vt=Oe,Bt=Ae,qt=De,Ft=Le;exports.Content=kt;exports.Icon=jt;exports.Item=Bt;exports.ItemIndicator=Ft;exports.ItemText=qt;exports.Root=Dt;exports.Select=Ee;exports.SelectArrow=et;exports.SelectContent=_e;exports.SelectGroup=Ke;exports.SelectIcon=Ne;exports.SelectItem=Ae;exports.SelectItemIndicator=Le;exports.SelectItemText=De;exports.SelectLabel=ze;exports.SelectScrollDownButton=$e;exports.SelectScrollUpButton=Ze;exports.SelectSeparator=Qe;exports.SelectTrigger=Re;exports.SelectValue=be;exports.SelectViewport=Oe;exports.Trigger=Lt;exports.Value=Ht;exports.Viewport=Vt;exports.createSelectScope=xt;
@@ -733,9 +733,9 @@ function $e(o) {
733
733
  const i = st(o), e = t.useRef(""), l = t.useRef(0), r = t.useCallback(
734
734
  (n) => {
735
735
  const c = e.current + n;
736
- i(c), function s(f) {
736
+ i(c), (function s(f) {
737
737
  e.current = f, window.clearTimeout(l.current), f !== "" && (l.current = window.setTimeout(() => s(""), 1e3));
738
- }(c);
738
+ })(c);
739
739
  },
740
740
  [i]
741
741
  ), d = t.useCallback(() => {
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { jsxs as f, jsx as o } from "react/jsx-runtime";
3
- import { createContext as w, useContext as p, useState as i, useMemo as v } from "react";
2
+ import { jsx as o, jsxs as f } from "react/jsx-runtime";
3
+ import { useState as i, useMemo as w, createContext as p, useContext as v } from "react";
4
4
  import S from "./root.js";
5
5
  import { useId as k } from "@radix-ui/react-id";
6
- const c = w(void 0), y = () => p(c);
6
+ const c = p(void 0), y = () => v(c);
7
7
  function I({
8
8
  wrapperStyles: t = {},
9
9
  children: s,
10
10
  customStyles: d,
11
11
  styles: u
12
12
  }) {
13
- const [n, l] = i(null), [r, h] = i(null), m = v(() => ({ shadowHost: n, rootElement: r }), [n, r]), x = k(), a = S.div;
13
+ const [n, l] = i(null), [r, h] = i(null), m = w(() => ({ shadowHost: n, rootElement: r }), [n, r]), x = k(), a = S.div;
14
14
  return /* @__PURE__ */ f(
15
15
  a,
16
16
  {
@@ -0,0 +1,3 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../../hooks/use-inkeep-api-client.cjs");function r(t){const e=Number(t.code)||Number(t.statusCode);if(e&&!Number.isNaN(e))return e;try{const s=Number(JSON.parse(t.message??"").status);return s&&!Number.isNaN(s)?s:null}catch{return null}}function o(t){const e=r(t),s=n.parseAuthError(e??0,{detail:t.message??""});return s!==null?s:e===401?"session":null}function a(t){const e=r(t);return e===400||e===429}const u=`Hmm..
2
+
3
+ It seems I might be having some issues right now. Please clear the chat and try again.`,E="Please try again.",i="You're sending requests too quickly. Please wait a moment and try again.",c=8e3;exports.DEFAULT_ERROR_MESSAGE=u;exports.RATE_LIMIT_MESSAGE=i;exports.RECOVERABLE_FALLBACK_MESSAGE=E;exports.RECOVERABLE_NOTIFICATION_DURATION_MS=c;exports.isRecoverableError=a;exports.resolveHttpStatusCode=r;exports.resolveStreamingAuthError=o;
@@ -0,0 +1,26 @@
1
+ export interface ErrorWithCode extends Error {
2
+ code?: string | number;
3
+ statusCode?: number;
4
+ }
5
+ /**
6
+ * Extracts the HTTP status code from an AI SDK transport error.
7
+ *
8
+ * The status may live in error.code, error.statusCode, or inside a JSON-stringified
9
+ * error.message body ({ status: 400, ... }). Returns null if unparseable.
10
+ */
11
+ export declare function resolveHttpStatusCode(error: Error): number | null;
12
+ /**
13
+ * Classifies a streaming-transport error as a PoW or session auth failure, or null.
14
+ */
15
+ export declare function resolveStreamingAuthError(error: Error): 'pow' | 'session' | null;
16
+ /**
17
+ * Recoverable errors are input-validation failures where the user can fix
18
+ * their input and retry without clearing the conversation.
19
+ *
20
+ * Allowlist approach: unknown/unparseable errors default to non-recoverable (blocking).
21
+ */
22
+ export declare function isRecoverableError(error: Error): boolean;
23
+ export declare const DEFAULT_ERROR_MESSAGE = "Hmm.. \n\nIt seems I might be having some issues right now. Please clear the chat and try again.";
24
+ export declare const RECOVERABLE_FALLBACK_MESSAGE = "Please try again.";
25
+ export declare const RATE_LIMIT_MESSAGE = "You're sending requests too quickly. Please wait a moment and try again.";
26
+ export declare const RECOVERABLE_NOTIFICATION_DURATION_MS = 8000;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { parseAuthError as r } from "../../hooks/use-inkeep-api-client.js";
3
+ function n(t) {
4
+ const e = Number(t.code) || Number(t.statusCode);
5
+ if (e && !Number.isNaN(e)) return e;
6
+ try {
7
+ const s = Number(JSON.parse(t.message ?? "").status);
8
+ return s && !Number.isNaN(s) ? s : null;
9
+ } catch {
10
+ return null;
11
+ }
12
+ }
13
+ function a(t) {
14
+ const e = n(t), s = r(e ?? 0, { detail: t.message ?? "" });
15
+ return s !== null ? s : e === 401 ? "session" : null;
16
+ }
17
+ function u(t) {
18
+ const e = n(t);
19
+ return e === 400 || e === 429;
20
+ }
21
+ const i = `Hmm..
22
+
23
+ It seems I might be having some issues right now. Please clear the chat and try again.`, c = "Please try again.", l = "You're sending requests too quickly. Please wait a moment and try again.", m = 8e3;
24
+ export {
25
+ i as DEFAULT_ERROR_MESSAGE,
26
+ l as RATE_LIMIT_MESSAGE,
27
+ c as RECOVERABLE_FALLBACK_MESSAGE,
28
+ m as RECOVERABLE_NOTIFICATION_DURATION_MS,
29
+ u as isRecoverableError,
30
+ n as resolveHttpStatusCode,
31
+ a as resolveStreamingAuthError
32
+ };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),d=require("react"),E=require("../../atoms/icons/custom-icon.cjs"),g=require("../../providers/image-preview-provider.cjs"),k=require("../../providers/message-provider.cjs"),u=require("./chat-provider.cjs"),l=require("../../atoms/file-upload.cjs"),_=require("../../utils/misc.cjs"),c=require("../../utils/compose-event-handlers.cjs"),a=require("../factory.cjs"),M=require("../../providers/config-provider.cjs"),x={"application/pdf":"filePdf","text/plain":"fileText","text/markdown":"fileMarkdown","text/html":"fileHtml","text/csv":"fileCsv","text/x-log":"fileLog","application/json":"fileJson"};function F(e){return e.startsWith("image/")}const p={"image/png":[".png"],"image/jpeg":[".jpg",".jpeg"],"image/webp":[".webp"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/html":[".html"],"text/csv":[".csv"],"text/x-log":[".log"],"application/json":[".json"]},j=new Set(Object.keys(p)),T=Object.values(p).flat().join(", "),P=10,f=1024*1024*10,L=Object.entries(p).reduce((e,[i,t])=>{for(const n of t)e[n]=i;return e},{});function N(e){if(e.type)return e;const i=`.${e.name.split(".").pop()?.toLowerCase()}`,t=L[i];return t?new File([e],e.name,{type:t}):e}function w(e){if(!e.length)return null;const i=t=>e.some(n=>n.errors.includes(t));return i("TOO_MANY_FILES")?{title:"Attachment limit reached",message:`You can only attach up to ${P} files per message.`}:i("FILE_INVALID_TYPE")?{title:"Unsupported file type",message:`Only ${T} files are supported.`}:i("FILE_TOO_LARGE")?{title:"File too large",message:`Files must be smaller than ${f/1024/1024}MB.`}:i("FILE_EXISTS")?{title:"File already exists",message:`The file "${e.find(n=>n.errors.includes("FILE_EXISTS"))?.file.name??"file"}" is already attached to this message.`}:{title:"File rejected",message:"This file could not be added."}}const y=a.ikp("div",{_id:"aiChatMessage__Files"}),A=({children:e,...i})=>{const{message:t}=k.useMessage();if(t.role!=="user")return null;const n=(t.parts??[]).filter(s=>{if(s.type!=="file")return!1;const r=s.mediaType;return j.has(r??"")});return n.length?o.jsx(y,{...i,children:e(n)}):null},S=a.ikp("button",{_id:"aiChatMessage__File"}),U=({url:e,name:i,mediaType:t,onClick:n,...s})=>{const{openImagePreview:r}=g.useImagePreview(),[m,v]=d.useState(!0),h=d.useMemo(()=>new File([],i??"file",{type:t}),[i,t]);return o.jsx(b.Provider,{value:{file:h,objectUrl:e,isLoading:m,setIsLoading:v,onRemove:()=>{}},children:o.jsx(S,{type:"button","aria-label":F(t??"")?`Preview ${i??"file"}`:`Open ${i??"file"} in new tab`,"data-loading":_.dataAttr(m),onClick:c.composeEventHandlers(n,()=>{if(F(t??""))r({url:e,name:i??"file"});else if(e)if(e.startsWith("data:")){const I=document.createElement("a");I.href=e,I.download=i??"file",I.click()}else window.open(e,"_blank","noopener,noreferrer")}),...s})})},R=a.ikp("div",{_id:"aiChatInput__Fieldset"}),O=e=>{const i=l.useFileUploadApi();return o.jsx(R,{...i.getDropzoneProps({disableClick:!0}),"data-drag-over":_.dataAttr(i.dragging),...e})},D=({...e})=>{const{files:i,setFiles:t,showInputNotification:n}=u.useChat();return o.jsx(l.FileUploadRoot,{accept:p,maxFiles:P,maxFileSize:f,preventDocumentDrop:!0,acceptedFiles:i,onFileAccept:s=>t(s.files),onFileReject:s=>{const r=w(s.files);r&&n(r)},children:o.jsx(O,{...e})})},H=a.ikp("div",{_id:"aiChatInput__DropZone"}),q=a.ikp("div",{_id:"aiChatInput__Notification"}),X=e=>{const{inputNotification:i}=u.useChat();return i?o.jsx(q,{role:"alert",...e}):null},B=a.ikp("p",{_id:"aiChatInput__NotificationTitle"}),$=e=>{const{inputNotification:i}=u.useChat();return i?.title?o.jsx(B,{...e,children:i.title}):null},Y=a.ikp("p",{_id:"aiChatInput__NotificationMessage"}),Z=e=>{const{inputNotification:i}=u.useChat();return o.jsx(Y,{...e,children:i?.message})},z=a.ikp("button",{_id:"aiChatInput__NotificationClose"}),K=({onClick:e,...i})=>{const{clearInputNotification:t}=u.useChat();return o.jsx(z,{type:"button","aria-label":"Dismiss",onClick:c.composeEventHandlers(e,t),...i})},V=a.ikp("div",{_id:"aiChatInput__NotificationContent"}),W=a.ikp("div",{_id:"aiChatInput__NotificationHeader"}),G=a.ikp(E.CustomIcon,{_id:"aiChatInput__FileUploadButtonIcon",iconKey:"fileUpload"}),J=a.ikp("button",{_id:"aiChatInput__FileUploadButton"}),Q=e=>{const{aiChatSettings:i}=M.useInkeepConfig(),t=l.useFileUploadApi(),{onClick:n,...s}=e;return o.jsx(J,{type:"button","aria-label":"Upload file",disabled:i.isViewOnly,onClick:c.composeEventHandlers(n,()=>t.openFilePicker()),...s})},ee=a.ikp("input",{_id:"aiChatInput__FileInput"}),ie=e=>{const i=l.useFileUploadApi();return o.jsx(ee,{...e,...i.getHiddenInputProps()})},te=a.ikp("div",{_id:"aiChatInput__FileList"}),ne=({children:e,...i})=>{const n=l.useFileUploadApi().acceptedFiles;return n.length?o.jsx(te,{...i,children:e(n)}):null},b=d.createContext(null);function C(){const e=d.useContext(b);if(!e)throw new Error("useFileContext must be used within EmbeddedChatPrimitiveFileItem");return e}const oe=a.ikp("div",{_id:"aiChatInput__FileItem"}),ae=({file:e,...i})=>{const t=l.useFileUploadApi(),[n,s]=d.useState(void 0),[r,m]=d.useState(!0);d.useEffect(()=>t.createFileUrl(e,h=>{s(h),m(!0)}),[e]);const v=()=>t.deleteFile(e);return o.jsx(b.Provider,{value:{file:e,objectUrl:n,isLoading:r,setIsLoading:m,onRemove:v},children:o.jsx(oe,{"data-loading":_.dataAttr(r),...i})})},se=a.ikp("button",{_id:"aiChatInput__FilePreviewTrigger"}),re=({onClick:e,...i})=>{const{objectUrl:t,file:n}=C(),{openImagePreview:s}=g.useImagePreview();return o.jsx(se,{type:"button","aria-label":`Preview ${n.name}`,disabled:!t,onClick:c.composeEventHandlers(e,()=>{t&&s({url:t,name:n.name})}),...i})},de=a.ikp("span",{_id:"aiChatInput__FileContent"}),le=e=>o.jsx(de,{...e}),ce=a.ikp("img",{_id:"aiChatInput__FileThumbnail"}),me=({onLoad:e,...i})=>{const{objectUrl:t,file:n,setIsLoading:s}=C();return o.jsx(ce,{src:t,alt:n.name,onLoad:c.composeEventHandlers(e,()=>s(!1)),...i})},ue=({className:e})=>{const{file:i}=C(),t=x[N(i).type]??"fileText";return o.jsx(E.CustomIcon,{iconKey:t,className:e})},pe=a.ikp("span",{_id:"aiChatInput__FileName"}),Ce=e=>{const{file:i}=C();return o.jsx(pe,{...e,children:i.name})},ve=a.ikp("button",{_id:"aiChatInput__FileRemove"}),he=a.ikp(E.CustomIcon,{_id:"aiChatInput__FileRemoveIcon",iconKey:"close"}),Ie=({onClick:e,...i})=>{const{onRemove:t}=C();return o.jsx(ve,{type:"button","aria-label":"Remove file",onClick:c.composeEventHandlers(e,t),...i})};exports.ACCEPTED_FILE_EXTENSIONS=T;exports.ACCEPTED_FILE_MIME_TYPES=j;exports.EmbeddedChatPrimitiveDropZone=H;exports.EmbeddedChatPrimitiveFileContent=le;exports.EmbeddedChatPrimitiveFileInput=ie;exports.EmbeddedChatPrimitiveFileItem=ae;exports.EmbeddedChatPrimitiveFileList=ne;exports.EmbeddedChatPrimitiveFileName=Ce;exports.EmbeddedChatPrimitiveFilePreviewTrigger=re;exports.EmbeddedChatPrimitiveFileRemove=Ie;exports.EmbeddedChatPrimitiveFileRemoveIcon=he;exports.EmbeddedChatPrimitiveFileThumbnail=me;exports.EmbeddedChatPrimitiveFileTypeIcon=ue;exports.EmbeddedChatPrimitiveFileUploadButton=Q;exports.EmbeddedChatPrimitiveFileUploadButtonIcon=G;exports.EmbeddedChatPrimitiveInputFieldset=D;exports.EmbeddedChatPrimitiveInputNotification=X;exports.EmbeddedChatPrimitiveInputNotificationClose=K;exports.EmbeddedChatPrimitiveInputNotificationContent=V;exports.EmbeddedChatPrimitiveInputNotificationHeader=W;exports.EmbeddedChatPrimitiveInputNotificationMessage=Z;exports.EmbeddedChatPrimitiveInputNotificationTitle=$;exports.EmbeddedChatPrimitiveMessageFile=U;exports.EmbeddedChatPrimitiveMessageFiles=A;exports.FILE_ACCEPT_MAP=p;exports.FILE_TYPE_ICON_MAP=x;exports.MAX_FILES=P;exports.MAX_FILE_SIZE=f;exports.isImageMimeType=F;exports.normalizeFileType=N;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),d=require("react"),E=require("../../atoms/icons/custom-icon.cjs"),g=require("../../providers/image-preview-provider.cjs"),k=require("../../providers/message-provider.cjs"),u=require("./chat-provider.cjs"),l=require("../../atoms/file-upload.cjs"),_=require("../../utils/misc.cjs"),c=require("../../utils/compose-event-handlers.cjs"),a=require("../factory.cjs"),M=require("../../providers/config-provider.cjs"),x={"application/pdf":"filePdf","text/plain":"fileText","text/markdown":"fileMarkdown","text/html":"fileHtml","text/csv":"fileCsv","text/x-log":"fileLog","application/json":"fileJson"};function F(e){return e.startsWith("image/")}const p={"image/png":[".png"],"image/jpeg":[".jpg",".jpeg"],"image/webp":[".webp"],"application/pdf":[".pdf"],"text/plain":[".txt"],"text/markdown":[".md"],"text/html":[".html"],"text/csv":[".csv"],"text/x-log":[".log"],"application/json":[".json"]},j=new Set(Object.keys(p)),T=Object.values(p).flat().join(", "),P=10,f=1024*1024*10,L=Object.entries(p).reduce((e,[i,t])=>{for(const n of t)e[n]=i;return e},{});function N(e){if(e.type)return e;const i=`.${e.name.split(".").pop()?.toLowerCase()}`,t=L[i];return t?new File([e],e.name,{type:t}):e}function w(e){if(!e.length)return null;const i=t=>e.some(n=>n.errors.includes(t));return i("TOO_MANY_FILES")?{title:"Attachment limit reached",message:`You can only attach up to ${P} files per message.`}:i("FILE_INVALID_TYPE")?{title:"Unsupported file type",message:`Only ${T} files are supported.`}:i("FILE_TOO_LARGE")?{title:"File too large",message:`Files must be smaller than ${f/1024/1024}MB.`}:i("FILE_EXISTS")?{title:"File already exists",message:`The file "${e.find(n=>n.errors.includes("FILE_EXISTS"))?.file.name??"file"}" is already attached to this message.`}:{title:"File rejected",message:"This file could not be added."}}const y=a.ikp("div",{_id:"aiChatMessage__Files"}),A=({children:e,...i})=>{const{message:t}=k.useMessage();if(t.role!=="user")return null;const n=(t.parts??[]).filter(s=>{if(s.type!=="file")return!1;const r=s.mediaType;return j.has(r??"")});return n.length?o.jsx(y,{...i,children:e(n)}):null},S=a.ikp("button",{_id:"aiChatMessage__File"}),U=({url:e,name:i,mediaType:t,onClick:n,...s})=>{const{openImagePreview:r}=g.useImagePreview(),[m,v]=d.useState(!0),h=d.useMemo(()=>new File([],i??"file",{type:t}),[i,t]);return o.jsx(b.Provider,{value:{file:h,objectUrl:e,isLoading:m,setIsLoading:v,onRemove:()=>{}},children:o.jsx(S,{type:"button","aria-label":F(t??"")?`Preview ${i??"file"}`:`Open ${i??"file"} in new tab`,"data-loading":_.dataAttr(m),onClick:c.composeEventHandlers(n,()=>{if(F(t??""))r({url:e,name:i??"file"});else if(e)if(e.startsWith("data:")){const I=document.createElement("a");I.href=e,I.download=i??"file",I.click()}else window.open(e,"_blank","noopener,noreferrer")}),...s})})},R=a.ikp("div",{_id:"aiChatInput__Fieldset"}),O=e=>{const i=l.useFileUploadApi();return o.jsx(R,{...i.getDropzoneProps({disableClick:!0}),"data-drag-over":_.dataAttr(i.dragging),...e})},D=({...e})=>{const{files:i,setFiles:t,showInputNotification:n}=u.useChat();return o.jsx(l.FileUploadRoot,{accept:p,maxFiles:P,maxFileSize:f,preventDocumentDrop:!0,acceptedFiles:i,onFileAccept:s=>t(s.files),onFileReject:s=>{const r=w(s.files);r&&n(r)},children:o.jsx(O,{...e})})},H=a.ikp("div",{_id:"aiChatInput__DropZone"}),q=a.ikp("div",{_id:"aiChatInput__Notification"}),X=e=>{const{inputNotification:i}=u.useChat();return i?o.jsx(q,{role:"alert",...e}):null},B=a.ikp("p",{_id:"aiChatInput__NotificationTitle"}),$=({children:e,...i})=>{const{inputNotification:t}=u.useChat();return t?.title?o.jsxs(B,{...i,children:[e,t.title]}):null},Y=a.ikp("p",{_id:"aiChatInput__NotificationMessage"}),Z=e=>{const{inputNotification:i}=u.useChat();return o.jsx(Y,{...e,children:i?.message})},z=a.ikp("button",{_id:"aiChatInput__NotificationClose"}),K=({onClick:e,...i})=>{const{clearInputNotification:t}=u.useChat();return o.jsx(z,{type:"button","aria-label":"Dismiss",onClick:c.composeEventHandlers(e,t),...i})},V=a.ikp("div",{_id:"aiChatInput__NotificationContent"}),W=a.ikp("div",{_id:"aiChatInput__NotificationHeader"}),G=a.ikp(E.CustomIcon,{_id:"aiChatInput__FileUploadButtonIcon",iconKey:"fileUpload"}),J=a.ikp("button",{_id:"aiChatInput__FileUploadButton"}),Q=e=>{const{aiChatSettings:i}=M.useInkeepConfig(),t=l.useFileUploadApi(),{onClick:n,...s}=e;return o.jsx(J,{type:"button","aria-label":"Upload file",disabled:i.isViewOnly,onClick:c.composeEventHandlers(n,()=>t.openFilePicker()),...s})},ee=a.ikp("input",{_id:"aiChatInput__FileInput"}),ie=e=>{const i=l.useFileUploadApi();return o.jsx(ee,{...e,...i.getHiddenInputProps()})},te=a.ikp("div",{_id:"aiChatInput__FileList"}),ne=({children:e,...i})=>{const n=l.useFileUploadApi().acceptedFiles;return n.length?o.jsx(te,{...i,children:e(n)}):null},b=d.createContext(null);function C(){const e=d.useContext(b);if(!e)throw new Error("useFileContext must be used within EmbeddedChatPrimitiveFileItem");return e}const oe=a.ikp("div",{_id:"aiChatInput__FileItem"}),ae=({file:e,...i})=>{const t=l.useFileUploadApi(),[n,s]=d.useState(void 0),[r,m]=d.useState(!0);d.useEffect(()=>t.createFileUrl(e,h=>{s(h),m(!0)}),[e]);const v=()=>t.deleteFile(e);return o.jsx(b.Provider,{value:{file:e,objectUrl:n,isLoading:r,setIsLoading:m,onRemove:v},children:o.jsx(oe,{"data-loading":_.dataAttr(r),...i})})},se=a.ikp("button",{_id:"aiChatInput__FilePreviewTrigger"}),re=({onClick:e,...i})=>{const{objectUrl:t,file:n}=C(),{openImagePreview:s}=g.useImagePreview();return o.jsx(se,{type:"button","aria-label":`Preview ${n.name}`,disabled:!t,onClick:c.composeEventHandlers(e,()=>{t&&s({url:t,name:n.name})}),...i})},de=a.ikp("span",{_id:"aiChatInput__FileContent"}),le=e=>o.jsx(de,{...e}),ce=a.ikp("img",{_id:"aiChatInput__FileThumbnail"}),me=({onLoad:e,...i})=>{const{objectUrl:t,file:n,setIsLoading:s}=C();return o.jsx(ce,{src:t,alt:n.name,onLoad:c.composeEventHandlers(e,()=>s(!1)),...i})},ue=({className:e})=>{const{file:i}=C(),t=x[N(i).type]??"fileText";return o.jsx(E.CustomIcon,{iconKey:t,className:e})},pe=a.ikp("span",{_id:"aiChatInput__FileName"}),Ce=e=>{const{file:i}=C();return o.jsx(pe,{...e,children:i.name})},ve=a.ikp("button",{_id:"aiChatInput__FileRemove"}),he=a.ikp(E.CustomIcon,{_id:"aiChatInput__FileRemoveIcon",iconKey:"close"}),Ie=({onClick:e,...i})=>{const{onRemove:t}=C();return o.jsx(ve,{type:"button","aria-label":"Remove file",onClick:c.composeEventHandlers(e,t),...i})};exports.ACCEPTED_FILE_EXTENSIONS=T;exports.ACCEPTED_FILE_MIME_TYPES=j;exports.EmbeddedChatPrimitiveDropZone=H;exports.EmbeddedChatPrimitiveFileContent=le;exports.EmbeddedChatPrimitiveFileInput=ie;exports.EmbeddedChatPrimitiveFileItem=ae;exports.EmbeddedChatPrimitiveFileList=ne;exports.EmbeddedChatPrimitiveFileName=Ce;exports.EmbeddedChatPrimitiveFilePreviewTrigger=re;exports.EmbeddedChatPrimitiveFileRemove=Ie;exports.EmbeddedChatPrimitiveFileRemoveIcon=he;exports.EmbeddedChatPrimitiveFileThumbnail=me;exports.EmbeddedChatPrimitiveFileTypeIcon=ue;exports.EmbeddedChatPrimitiveFileUploadButton=Q;exports.EmbeddedChatPrimitiveFileUploadButtonIcon=G;exports.EmbeddedChatPrimitiveInputFieldset=D;exports.EmbeddedChatPrimitiveInputNotification=X;exports.EmbeddedChatPrimitiveInputNotificationClose=K;exports.EmbeddedChatPrimitiveInputNotificationContent=V;exports.EmbeddedChatPrimitiveInputNotificationHeader=W;exports.EmbeddedChatPrimitiveInputNotificationMessage=Z;exports.EmbeddedChatPrimitiveInputNotificationTitle=$;exports.EmbeddedChatPrimitiveMessageFile=U;exports.EmbeddedChatPrimitiveMessageFiles=A;exports.FILE_ACCEPT_MAP=p;exports.FILE_TYPE_ICON_MAP=x;exports.MAX_FILES=P;exports.MAX_FILE_SIZE=f;exports.isImageMimeType=F;exports.normalizeFileType=N;
@@ -29,7 +29,7 @@ export declare const EmbeddedChatPrimitiveDropZone: React.ForwardRefExoticCompon
29
29
  declare const PrimitiveInputNotification: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "_id">>>;
30
30
  export declare const EmbeddedChatPrimitiveInputNotification: (props: ComponentPropsWithRef<typeof PrimitiveInputNotification>) => import("react/jsx-runtime").JSX.Element | null;
31
31
  declare const PrimitiveInputNotificationTitle: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "_id">>>;
32
- export declare const EmbeddedChatPrimitiveInputNotificationTitle: (props: ComponentPropsWithRef<typeof PrimitiveInputNotificationTitle>) => import("react/jsx-runtime").JSX.Element | null;
32
+ export declare const EmbeddedChatPrimitiveInputNotificationTitle: ({ children, ...props }: ComponentPropsWithRef<typeof PrimitiveInputNotificationTitle>) => import("react/jsx-runtime").JSX.Element | null;
33
33
  declare const PrimitiveInputNotificationMessage: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "_id">>>;
34
34
  export declare const EmbeddedChatPrimitiveInputNotificationMessage: (props: ComponentPropsWithRef<typeof PrimitiveInputNotificationMessage>) => import("react/jsx-runtime").JSX.Element;
35
35
  declare const PrimitiveInputNotificationClose: React.ForwardRefExoticComponent< PolymorphicProps & Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "_id"> & Partial<Pick<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "_id">>>;