@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.
- package/dist/color-mode/index.js +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.js +74 -73
- 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
- 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
- package/dist/primitives/atoms/cmdk/index.cjs +1 -1
- package/dist/primitives/atoms/cmdk/index.js +14 -2
- package/dist/primitives/atoms/combobox.d.ts +104 -0
- package/dist/primitives/atoms/markdown/index.cjs +1 -1
- package/dist/primitives/atoms/markdown/index.js +41 -39
- package/dist/primitives/atoms/portal.js +3 -3
- package/dist/primitives/atoms/select.cjs +1 -1
- package/dist/primitives/atoms/select.js +2 -2
- package/dist/primitives/atoms/shadow/context.js +4 -4
- package/dist/primitives/components/embedded-chat/chat-error-helpers.cjs +3 -0
- package/dist/primitives/components/embedded-chat/chat-error-helpers.d.ts +26 -0
- package/dist/primitives/components/embedded-chat/chat-error-helpers.js +32 -0
- package/dist/primitives/components/embedded-chat/file-upload-input.cjs +1 -1
- package/dist/primitives/components/embedded-chat/file-upload-input.d.ts +1 -1
- package/dist/primitives/components/embedded-chat/file-upload-input.js +119 -116
- package/dist/primitives/components/embedded-chat/image-preview-modal.js +3 -3
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.cjs +2 -4
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.d.ts +1 -2
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.js +305 -278
- package/dist/primitives/components/embedded-chat/use-stream-processor.cjs +1 -1
- package/dist/primitives/components/embedded-chat/use-stream-processor.js +1 -1
- package/dist/primitives/components/embedded-chat.cjs +3 -3
- package/dist/primitives/components/embedded-chat.d.ts +1 -2
- package/dist/primitives/components/embedded-chat.js +697 -701
- package/dist/primitives/components/embedded-search/search-provider.js +3 -3
- package/dist/primitives/components/embedded-search.cjs +1 -1
- package/dist/primitives/components/embedded-search.d.ts +1 -1
- package/dist/primitives/components/embedded-search.js +3 -3
- package/dist/primitives/components/modal/modal-provider.js +2 -2
- package/dist/primitives/components/modal.js +3 -3
- package/dist/primitives/components/sidebar-chat/index.js +1 -1
- package/dist/primitives/hooks/use-simple-scroll.cjs +1 -1
- package/dist/primitives/hooks/use-simple-scroll.d.ts +7 -0
- package/dist/primitives/hooks/use-simple-scroll.js +33 -30
- package/dist/primitives/index.cjs +1 -1
- package/dist/primitives/index.js +55 -54
- package/dist/primitives/providers/base-events-provider.cjs +1 -1
- package/dist/primitives/providers/base-events-provider.js +22 -22
- package/dist/primitives/providers/chat-bubble-provider.js +1 -1
- package/dist/primitives/providers/chat-form-provider.d.ts +1 -1
- package/dist/primitives/providers/chat-form-provider.js +4 -4
- package/dist/primitives/providers/chat-history-provider.js +3 -3
- package/dist/primitives/providers/config-provider.js +3 -3
- package/dist/primitives/providers/feedback-provider.js +3 -3
- package/dist/primitives/providers/form-field-provider.js +3 -3
- package/dist/primitives/providers/help-menu-provider.js +4 -4
- package/dist/primitives/providers/hover-popover-provider.js +3 -3
- package/dist/primitives/providers/image-preview-provider.js +5 -5
- package/dist/primitives/providers/markdown-provider.js +2 -2
- package/dist/primitives/providers/message-provider.js +1 -1
- package/dist/primitives/providers/sidebar-chat-provider.js +3 -3
- package/dist/primitives/providers/source-item-provider.js +3 -3
- package/dist/primitives/providers/widget-provider.js +2 -2
- package/dist/primitives/utils/default-settings.cjs +1 -1
- package/dist/primitives/utils/default-settings.d.ts +1 -0
- package/dist/primitives/utils/default-settings.js +6 -5
- package/dist/primitives/utils/misc.cjs +5 -1
- package/dist/primitives/utils/misc.d.ts +2 -1
- package/dist/primitives/utils/misc.js +47 -22
- package/dist/react/chat-button.js +1 -1
- package/dist/react/embedded-chat.cjs +1 -1
- package/dist/react/embedded-chat.js +6 -6
- package/dist/react/embedded-search.cjs +1 -1
- package/dist/react/embedded-search.js +18 -18
- package/dist/react/index.cjs +1 -1
- package/dist/react/index.js +74 -73
- package/dist/styled/components/chat-bubble.js +4 -4
- package/dist/styled/components/chat-button.cjs +1 -1
- package/dist/styled/components/chat-button.js +9 -9
- package/dist/styled/components/chat-history.cjs +1 -1
- package/dist/styled/components/chat-history.js +22 -22
- package/dist/styled/components/embedded-chat/file-upload-input.cjs +1 -1
- package/dist/styled/components/embedded-chat/file-upload-input.js +71 -72
- package/dist/styled/components/embedded-chat/image-preview-modal.js +5 -5
- package/dist/styled/components/embedded-chat.cjs +1 -1
- package/dist/styled/components/embedded-chat.js +198 -198
- package/dist/styled/components/embedded-search.cjs +1 -1
- package/dist/styled/components/embedded-search.js +65 -65
- package/dist/styled/components/loading-indicator.cjs +1 -1
- package/dist/styled/components/loading-indicator.js +1 -1
- package/dist/styled/components/message.cjs +1 -1
- package/dist/styled/components/message.js +106 -108
- package/dist/styled/components/modal.js +3 -3
- package/dist/styled/components/searchbar.js +8 -8
- package/dist/styled/components/sidebar-chat.cjs +1 -1
- package/dist/styled/components/sidebar-chat.js +5 -5
- package/dist/styled/index.cjs +1 -1
- package/dist/styled/index.js +60 -59
- package/dist/styled/inkeep.css.cjs +13 -3
- package/dist/styled/inkeep.css.js +13 -3
- package/dist/theme/utils/generate-theme-variables.js +6 -6
- package/dist/types/config/ai.d.ts +7 -0
- package/package.json +1 -1
- 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
- /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
- /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
- /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
- /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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import { ChatMarkdownProvider as
|
|
8
|
-
import { CodeBlock as
|
|
9
|
-
import { MarkdownSup as
|
|
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:
|
|
14
|
-
shouldOpenLinksInNewTab:
|
|
15
|
-
onLinkClick:
|
|
16
|
-
onCodeCopy:
|
|
13
|
+
componentStyles: h,
|
|
14
|
+
shouldOpenLinksInNewTab: l,
|
|
15
|
+
onLinkClick: c,
|
|
16
|
+
onCodeCopy: u,
|
|
17
17
|
artifacts: f,
|
|
18
|
-
...
|
|
18
|
+
...p
|
|
19
19
|
}) => {
|
|
20
20
|
if (!d) return null;
|
|
21
|
-
const
|
|
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:
|
|
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:
|
|
36
|
-
value:
|
|
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 =
|
|
54
|
-
|
|
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:
|
|
56
|
+
isExternal: l,
|
|
57
57
|
href: e,
|
|
58
58
|
onClick: () => {
|
|
59
|
-
|
|
59
|
+
c?.(e, i?.toString());
|
|
60
60
|
},
|
|
61
|
-
children:
|
|
61
|
+
children: i
|
|
62
62
|
}
|
|
63
63
|
);
|
|
64
|
-
return
|
|
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(
|
|
71
|
-
sub: ({ children: r }) => typeof r == "string" && (r.startsWith(" ") || r.endsWith(" ")) ? /* @__PURE__ */ y
|
|
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,
|
|
83
|
-
|
|
84
|
-
|
|
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:
|
|
88
|
-
onClick: () =>
|
|
89
|
+
isExternal: l,
|
|
90
|
+
onClick: () => c?.(o, i),
|
|
89
91
|
children: /* @__PURE__ */ t("span", { children: i })
|
|
90
92
|
}
|
|
91
|
-
) })
|
|
93
|
+
) });
|
|
92
94
|
}
|
|
93
95
|
}
|
|
94
96
|
return /* @__PURE__ */ t("sup", { children: r });
|
|
95
97
|
}
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
+
}, w = /* @__PURE__ */ t(
|
|
99
|
+
b,
|
|
98
100
|
{
|
|
99
|
-
remarkPlugins: [[
|
|
100
|
-
rehypePlugins: [
|
|
101
|
-
components:
|
|
101
|
+
remarkPlugins: [[C, { singleTilde: !1 }], x],
|
|
102
|
+
rehypePlugins: [S, V],
|
|
103
|
+
components: k,
|
|
102
104
|
disallowedElements: $,
|
|
103
105
|
children: d.toString(),
|
|
104
|
-
...
|
|
106
|
+
...p
|
|
105
107
|
}
|
|
106
108
|
);
|
|
107
|
-
return /* @__PURE__ */ t(
|
|
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,
|
|
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" ?
|
|
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) :
|
|
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 {
|
|
3
|
-
import {
|
|
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 =
|
|
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 =
|
|
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:
|
|
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">>>;
|