@ahmedramez-org/nexus-chat 1.0.0-beta.2 → 1.0.0-beta.3
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/README.md +58 -39
- package/contract/conformance.js +6 -4
- package/contract/index.d.ts +39 -2
- package/contract/index.js +12 -0
- package/index.d.ts +8 -2
- package/index.js +84 -3
- package/package.json +2 -4
- package/react.d.ts +50 -14
- package/react.js +349 -29
- package/remote/assets/AgentOptionControl-BnqfB5W3.js +0 -1
- package/remote/assets/CsvPreview-DD2VELWa.js +0 -10
- package/remote/assets/ErrorCard-Bu_0QAJ9.js +0 -1
- package/remote/assets/HighlightedCode-DpxGYHfF.js +0 -1
- package/remote/assets/HistorySearchDialog-q4cvx5jy.js +0 -41
- package/remote/assets/HostBridgeProvider-BV-UGU3Q.js +0 -1
- package/remote/assets/HtmlArtifactRenderer-EO_cwaEm.js +0 -1
- package/remote/assets/I18nContext-BlQKoDmv.js +0 -24
- package/remote/assets/PreviewState-VcIZyCXJ.js +0 -1
- package/remote/assets/SourceCitations-DvApeC9N.js +0 -1
- package/remote/assets/SourcesArtifactRenderer-BqnIOctm.js +0 -1
- package/remote/assets/TableArtifactRenderer-BLZLQMxU.js +0 -2
- package/remote/assets/TiptapComposerInput-CmxEiBlE.js +0 -132
- package/remote/assets/UnsupportedArtifact-CeOCu_J6.js +0 -1
- package/remote/assets/_virtual_mf-localSharedImportMap___mfe_internal__nexusChat__mf_owner__1-CObPUVU6.js +0 -1
- package/remote/assets/ar-BV81JAir.js +0 -1
- package/remote/assets/button-CO0tH6F2.js +0 -1
- package/remote/assets/client-Bv7EbCrM.js +0 -2
- package/remote/assets/composite-giRhJC3d.js +0 -1
- package/remote/assets/conformance-entry-uotihsU2.js +0 -2
- package/remote/assets/createLucideIcon-D1A0JYKN.js +0 -1
- package/remote/assets/de-BXJlhmC2.js +0 -1
- package/remote/assets/defineProperty-BbfpZ9Tg.js +0 -1
- package/remote/assets/dist-MaNcI-Om.js +0 -4
- package/remote/assets/errorReporter-hCgThzof.js +0 -1
- package/remote/assets/es-nnw68YFM.js +0 -1
- package/remote/assets/federation-entry-B8pojL73.css +0 -2
- package/remote/assets/federation-entry-BA9UpYiM.js +0 -65
- package/remote/assets/floating-ui.dom-B99QSfPH.js +0 -1
- package/remote/assets/floating-ui.utils.dom-ObnfY4F6.js +0 -1
- package/remote/assets/fr-CJIAbbzn.js +0 -1
- package/remote/assets/highlighter-C37NKSjx.js +0 -19
- package/remote/assets/hostInit-YMtJ2r-g.js +0 -1
- package/remote/assets/it-D3TiEKfy.js +0 -1
- package/remote/assets/ja-ZB0L4Lsc.js +0 -1
- package/remote/assets/jsx-runtime-DE3RlOCf.js +0 -1
- package/remote/assets/lib-CjT9YRPC.js +0 -1
- package/remote/assets/modelProviderIcons-fiyx4SaW.js +0 -1
- package/remote/assets/react-dom-FxOPXJ08.js +0 -1
- package/remote/assets/rehype-raw-CNOzW4vu.js +0 -2
- package/remote/assets/roboto-latin-400-italic-CSuqwwKr.woff2 +0 -0
- package/remote/assets/roboto-latin-400-normal-BqEyEoaF.woff2 +0 -0
- package/remote/assets/roboto-latin-500-italic-DOe3GFcv.woff2 +0 -0
- package/remote/assets/roboto-latin-500-normal-7RbcRiD8.woff2 +0 -0
- package/remote/assets/roboto-latin-700-italic-Cb9agdGy.woff2 +0 -0
- package/remote/assets/roboto-latin-700-normal-BZpUvMxY.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-400-italic-BilqUbDw.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-400-normal-C3tdtHj3.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-500-italic-B5teBpxj.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-500-normal-pMCM9Ixg.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-700-italic-CBdFfgzf.woff2 +0 -0
- package/remote/assets/roboto-latin-ext-700-normal-DSBUz0N1.woff2 +0 -0
- package/remote/assets/rolldown-runtime-hePW80VL.js +0 -1
- package/remote/assets/sessionTitle-C9LhAN0r.js +0 -1
- package/remote/assets/spinner-eqRx6Fq-.js +0 -1
- package/remote/assets/sqlFormatting-BjJIfUN_.js +0 -7
- package/remote/assets/src-CIHHGjAO.js +0 -1
- package/remote/assets/store-FaSYSP4_.js +0 -1
- package/remote/assets/useBaseUiId-Dpqq0brK.js +0 -1
- package/remote/assets/usePositioner-BhCjFmeW.js +0 -1
- package/remote/assets/virtualExposes-C0oWo8z2.js +0 -1
- package/remote/assets/virtual_mf-REMOTE_ENTRY_ID___mfe_internal__nexusChat__remoteEntry_js-5uUvXWWH.js +0 -1
- package/remote/assets/virtual_mf-exposes-ssr___mfe_internal__nexusChat__remoteEntry_js-WBZ0Muv9.js +0 -2
- package/remote/assets/virtual_mf-exposes___mfe_internal__nexusChat__remoteEntry_js-BGZ2nkwm.js +0 -2
- package/remote/assets/vite-preload-helper-B7qeedMF.js +0 -1
- package/remote/assets/zh-De2Ilp0M.js +0 -1
- package/remote/remoteEntry.js +0 -1
- package/remote/remoteEntry.ssr.js +0 -1
package/react.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
// <NexusChat /> — the connector as a React component
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
|
|
1
|
+
// <NexusChat /> — the connector as a React component (the app's React 18 or
|
|
2
|
+
// 19 renders only this wrapper; the chat runs its own React). Two ways in:
|
|
3
|
+
//
|
|
4
|
+
// - Direct: the chat mounts into an element this renders, sharing the page's
|
|
5
|
+
// session. It fills its box; the app draws any frame around it.
|
|
6
|
+
// - Embedded (`embedUrl`): the chat runs in an <iframe> served by Incorta, on
|
|
7
|
+
// the user's own Incorta session, so the app never holds a token. This
|
|
8
|
+
// draws the window too: a launcher icon that opens the chat floating,
|
|
9
|
+
// docked or fullscreen (the app picks which with `modes`).
|
|
10
|
+
import { createElement as h, useEffect, useRef, useState } from 'react';
|
|
7
11
|
|
|
8
|
-
import { CONTRACT_VERSION, loadNexusChat } from './index.js';
|
|
12
|
+
import { CONTRACT_VERSION, forgetNexusChat, loadNexusChat } from './index.js';
|
|
9
13
|
|
|
10
14
|
function emitter() {
|
|
11
15
|
const listeners = new Set();
|
|
@@ -18,7 +22,7 @@ function emitter() {
|
|
|
18
22
|
};
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
function DirectChat({
|
|
22
26
|
theme,
|
|
23
27
|
locale,
|
|
24
28
|
direction,
|
|
@@ -55,10 +59,26 @@ export function NexusChat({
|
|
|
55
59
|
let cancelled = false;
|
|
56
60
|
const current = () => latest.current;
|
|
57
61
|
const { assetsUrl, timeoutMs, ...options } = mountOptions;
|
|
62
|
+
const source = { copilotUrl: options.connection?.copilotUrl, assetsUrl, timeoutMs };
|
|
63
|
+
const { onError, onFatal } = options.events ?? {};
|
|
64
|
+
// A contract `environment` or `window` the app built itself is used as is.
|
|
65
|
+
const ownWindow = typeof hostWindow?.get === 'function';
|
|
58
66
|
const mountOptionsFor = () => ({
|
|
59
67
|
version: CONTRACT_VERSION,
|
|
60
68
|
...options,
|
|
61
|
-
|
|
69
|
+
// A chat that failed while running is fetched afresh by the app's retry.
|
|
70
|
+
...(onFatal
|
|
71
|
+
? {
|
|
72
|
+
events: {
|
|
73
|
+
...options.events,
|
|
74
|
+
onFatal: (error) => {
|
|
75
|
+
forgetNexusChat(source);
|
|
76
|
+
onFatal(error);
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
}
|
|
80
|
+
: {}),
|
|
81
|
+
environment: options.environment ?? {
|
|
62
82
|
get: () => {
|
|
63
83
|
const props = current();
|
|
64
84
|
return {
|
|
@@ -71,44 +91,344 @@ export function NexusChat({
|
|
|
71
91
|
},
|
|
72
92
|
subscribe: environment.current.subscribe,
|
|
73
93
|
},
|
|
74
|
-
...(
|
|
75
|
-
? {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
94
|
+
...(ownWindow
|
|
95
|
+
? { window: hostWindow }
|
|
96
|
+
: hasWindow
|
|
97
|
+
? {
|
|
98
|
+
window: {
|
|
99
|
+
get: () => ({
|
|
100
|
+
docked: current().hostWindow?.docked ?? false,
|
|
101
|
+
canDock: current().hostWindow?.canDock ?? false,
|
|
102
|
+
}),
|
|
103
|
+
subscribe: windowState.current.subscribe,
|
|
104
|
+
setDocked: (docked) => current().hostWindow?.setDocked(docked),
|
|
105
|
+
close: () => current().hostWindow?.close(),
|
|
106
|
+
},
|
|
107
|
+
}
|
|
108
|
+
: {}),
|
|
87
109
|
});
|
|
88
110
|
const fail = (error) => {
|
|
89
111
|
if (!cancelled) current().onLoadError?.(error);
|
|
90
112
|
};
|
|
91
|
-
|
|
92
|
-
|
|
113
|
+
// In a promise, so a missing source reaches onLoadError like any load failure.
|
|
114
|
+
Promise.resolve()
|
|
115
|
+
.then(() => loadNexusChat(source))
|
|
116
|
+
.then((mount) => {
|
|
93
117
|
if (cancelled) return;
|
|
94
118
|
try {
|
|
95
119
|
handle = mount(element.current, mountOptionsFor());
|
|
96
120
|
} catch (error) {
|
|
121
|
+
forgetNexusChat(source);
|
|
97
122
|
return fail(error);
|
|
98
123
|
}
|
|
99
124
|
current().onReady?.(handle);
|
|
100
|
-
},
|
|
101
|
-
fail,
|
|
102
|
-
);
|
|
125
|
+
}, fail);
|
|
103
126
|
return () => {
|
|
104
127
|
cancelled = true;
|
|
105
|
-
handle
|
|
128
|
+
const mounted = handle;
|
|
129
|
+
handle = undefined;
|
|
130
|
+
if (!mounted) return;
|
|
131
|
+
try {
|
|
132
|
+
mounted.unmount();
|
|
133
|
+
} catch (error) {
|
|
134
|
+
if (onError) onError(error, { scope: 'unmount' });
|
|
135
|
+
else console.error('NexusChat could not be unmounted cleanly.', error);
|
|
136
|
+
}
|
|
137
|
+
current().onReady?.(null);
|
|
106
138
|
};
|
|
107
139
|
}, [hasWindow]);
|
|
108
140
|
|
|
109
|
-
return
|
|
141
|
+
return h('div', {
|
|
110
142
|
ref: element,
|
|
111
143
|
className,
|
|
112
144
|
style: { width: '100%', height: '100%', ...style },
|
|
113
145
|
});
|
|
114
146
|
}
|
|
147
|
+
|
|
148
|
+
// ---- embedded: the chat in an Incorta-served iframe, in a window drawn here
|
|
149
|
+
|
|
150
|
+
const MODES = ['floating', 'docked', 'fullscreen'];
|
|
151
|
+
const PANEL_WIDTH = 400;
|
|
152
|
+
const FLOATING_HEIGHT = 640;
|
|
153
|
+
const GUTTER = 8;
|
|
154
|
+
/** Below this width a floating or docked chat would crush the app, so it covers it. */
|
|
155
|
+
const NARROW_VIEWPORT = 768;
|
|
156
|
+
/** The root size the chat scales against: a larger base draws a smaller chat in a narrow window. */
|
|
157
|
+
const REM_BASE = { floating: 16, docked: 16, fullscreen: 14 };
|
|
158
|
+
/** If the page never says it is ready (an Incorta login page instead), stop the shimmer. */
|
|
159
|
+
const READY_FALLBACK_MS = 5_000;
|
|
160
|
+
|
|
161
|
+
const ICON = `data:image/svg+xml,${encodeURIComponent(
|
|
162
|
+
"<svg width='107' height='120' viewBox='0 0 107 120' fill='none' xmlns='http://www.w3.org/2000/svg'><g clip-path='url(#clip0_108_873)'><path d='M84.0333 35.3749C89.81 37.6474 95.214 41.1522 99.8334 45.8891C102.44 48.5657 104.644 51.4847 106.465 54.5652L106.677 35.385C106.717 31.9611 104.936 28.7896 101.997 27.0423L63.1104 3.93311C66.1798 5.83193 69.078 8.13474 71.7147 10.8517C78.508 17.8208 82.604 26.4261 84.0333 35.3749Z' fill='url(#paint0_linear_108_873)'/><path d='M22.8859 84.8047C17.1092 82.532 11.7049 79.0273 7.0856 74.2907C4.35831 71.4927 2.07382 68.432 0.212009 65.2002L0.000668115 84.6433C-0.0395873 88.0667 1.74171 91.2387 4.68035 92.986L43.9092 116.297C40.7995 114.378 37.8709 112.055 35.204 109.328C28.4109 102.359 24.3149 93.7533 22.8859 84.8047Z' fill='url(#paint1_linear_108_873)'/><path d='M106.114 85.8249L106.456 54.5647C104.645 51.4841 102.431 48.5651 99.824 45.8886C95.2047 41.1517 89.8006 37.6469 84.024 35.3743C86.258 49.4237 81.9006 64.3012 71.0013 75.0076C57.878 87.8849 38.9278 91.1269 22.876 84.8149C24.305 93.7636 28.401 102.369 35.1941 109.338C37.861 112.075 40.7896 114.398 43.8993 116.307L45.1674 117.054L47.9148 118.69C48.891 119.266 49.9376 119.65 51.0144 119.862C53.1882 120.266 55.4626 119.923 57.4553 118.802L101.253 94.0663C104.222 92.3896 106.074 89.2489 106.114 85.8349V85.8249Z' fill='url(#paint2_linear_108_873)'/><path d='M35.908 45.1805C49.0312 32.3027 67.9813 29.0606 84.0333 35.3732C82.604 26.4245 78.508 17.8191 71.7153 10.85C69.0786 8.14313 66.18 5.84031 63.1106 3.93137L61.6714 3.07286L58.7529 1.33563C57.7063 0.709427 56.5691 0.315517 55.4118 0.123615C53.3184 -0.219791 51.1346 0.153915 49.2225 1.22453L5.41455 25.9699C2.44572 27.6465 0.593974 30.7877 0.553719 34.2015L0.211548 65.1889C2.07336 68.4313 4.35785 71.4813 7.08516 74.2787C11.7044 79.016 17.1088 82.5207 22.8854 84.7933C20.6512 70.744 25.0088 55.8664 35.908 45.1603V45.1805Z' fill='#00A098'/><path d='M22.8857 84.8051C22.9663 85.3104 23.0568 85.8251 23.1575 86.3304C23.1877 86.4917 23.2279 86.6637 23.2581 86.8251C23.3285 87.1684 23.399 87.5117 23.4795 87.8551C23.5197 88.0471 23.5701 88.2391 23.6103 88.4311C23.6909 88.7544 23.7713 89.0777 23.8619 89.4004C23.9123 89.5924 23.9626 89.7744 24.0129 89.9664C24.1236 90.3604 24.2443 90.7544 24.3651 91.1377C24.4457 91.3904 24.5261 91.6431 24.6067 91.8851C24.7073 92.1984 24.818 92.5117 24.9287 92.8244C25.0193 93.0671 25.1099 93.3197 25.2004 93.5617C25.291 93.7944 25.3715 94.0164 25.4621 94.2491C25.5627 94.5111 25.6734 94.7837 25.7841 95.0464C25.8647 95.2384 25.9451 95.4304 26.0357 95.6224C26.1565 95.9151 26.2873 96.1977 26.4181 96.4811C26.4584 96.5717 26.4987 96.6524 26.5389 96.7331C26.8609 97.4304 27.2031 98.1171 27.5654 98.8037C27.6057 98.8744 27.6359 98.9451 27.6761 99.0157C27.8573 99.3491 28.0384 99.6824 28.2297 100.006C28.29 100.117 28.3504 100.218 28.4108 100.329C28.602 100.662 28.7932 100.996 28.9945 101.319C29.0448 101.4 29.0951 101.47 29.1354 101.551C29.8399 102.682 30.5947 103.804 31.4098 104.884C31.8225 104.874 92.7287 102.874 96.2107 42.546C96.5533 36.6576 96.352 30.2238 95.486 23.1739L63.1109 3.93311C66.1804 5.83193 69.0787 8.13474 71.7153 10.8517C78.5087 17.8208 82.6047 26.4261 84.0333 35.3749C86.268 49.4242 81.91 64.3017 71.0113 75.0077C57.8878 87.8857 38.9376 91.1277 22.8857 84.8151V84.8051Z' fill='url(#paint3_linear_108_873)'/><path d='M84.0334 35.3745C83.9527 34.8695 83.862 34.3544 83.7614 33.8494C83.7314 33.6878 83.6914 33.5161 83.6607 33.3545C83.5907 33.0111 83.52 32.6677 83.4394 32.3243C83.3994 32.1324 83.3487 31.9405 83.3087 31.7486C83.228 31.4254 83.1474 31.1021 83.0574 30.7789C83.0067 30.5871 82.9567 30.4053 82.906 30.2133C82.7954 29.8195 82.6747 29.4255 82.554 29.0417C82.4734 28.7892 82.3927 28.5367 82.3127 28.2943C82.212 27.9812 82.1014 27.6681 81.99 27.355C81.9 27.1126 81.8094 26.8601 81.7187 26.6177C81.628 26.3854 81.5474 26.1632 81.4567 25.9309C81.356 25.6683 81.2454 25.3956 81.1347 25.133C81.0547 24.9411 80.974 24.7491 80.8834 24.5573C80.7627 24.2643 80.632 23.9815 80.5007 23.6987C80.4607 23.6079 80.4207 23.5271 80.38 23.4463C80.058 22.7493 79.716 22.0625 79.3534 21.3757C79.3134 21.305 79.2834 21.2343 79.2427 21.1636C79.062 20.8303 78.8807 20.497 78.6894 20.1738C78.6294 20.0627 78.5687 19.9617 78.508 19.8506C78.3174 19.5173 78.126 19.184 77.9247 18.8607C77.874 18.7799 77.824 18.7093 77.7834 18.6285C77.0794 17.4973 76.3247 16.3761 75.5094 15.2954C75.0967 15.3055 14.1902 17.3053 10.7082 77.6333C10.366 83.522 10.5673 89.956 11.4328 97.006L43.8082 116.247C40.7386 114.348 37.8403 112.045 35.2036 109.328C28.4104 102.359 24.3145 93.7533 22.8854 84.8047C20.6512 70.7553 25.0089 55.8779 35.908 45.1717C49.0313 32.294 67.9814 29.0518 84.0334 35.3644V35.3745Z' fill='url(#paint4_linear_108_873)'/></g><defs><linearGradient id='paint0_linear_108_873' x1='104.644' y1='41.0916' x2='52.1952' y2='1.61001' gradientUnits='userSpaceOnUse'><stop stop-color='#4854FE'/><stop offset='1' stop-color='#241C55'/></linearGradient><linearGradient id='paint1_linear_108_873' x1='0.000668115' y1='90.7533' x2='43.9092' y2='90.7533' gradientUnits='userSpaceOnUse'><stop stop-color='#4854FE'/><stop offset='1' stop-color='#241C55'/></linearGradient><linearGradient id='paint2_linear_108_873' x1='31.5078' y1='40.5846' x2='92.6593' y2='102.893' gradientUnits='userSpaceOnUse'><stop stop-color='white'/><stop offset='1' stop-color='#4854FE'/></linearGradient><linearGradient id='paint3_linear_108_873' x1='86.272' y1='19.1173' x2='41.5609' y2='98.7424' gradientUnits='userSpaceOnUse'><stop stop-color='#4854FE' stop-opacity='0.93'/><stop offset='1' stop-color='#006EF0' stop-opacity='0'/></linearGradient><linearGradient id='paint4_linear_108_873' x1='19.9156' y1='103.321' x2='61.0359' y2='27.5007' gradientUnits='userSpaceOnUse'><stop stop-color='#006EF0'/><stop offset='1' stop-color='#006EF0' stop-opacity='0'/></linearGradient><clipPath id='clip0_108_873'><rect width='106.667' height='120' fill='white'/></clipPath></defs></svg>",
|
|
163
|
+
)}`;
|
|
164
|
+
|
|
165
|
+
const TOOL_ICONS = {
|
|
166
|
+
floating: 'M4 4h16v16H4zM12 12h6v6h-6z',
|
|
167
|
+
docked: 'M4 4h16v16H4zM14 4v16',
|
|
168
|
+
fullscreen: 'M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5',
|
|
169
|
+
minimize: 'M5 12h14',
|
|
170
|
+
};
|
|
171
|
+
const TOOL_LABELS = {
|
|
172
|
+
floating: 'Float',
|
|
173
|
+
docked: 'Dock',
|
|
174
|
+
fullscreen: 'Full screen',
|
|
175
|
+
minimize: 'Minimize',
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
function isNarrow() {
|
|
179
|
+
return typeof window !== 'undefined' && window.innerWidth < NARROW_VIEWPORT;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/** The app's own page colour, so the chat window reads as part of the app. */
|
|
183
|
+
function pageBackground() {
|
|
184
|
+
for (const element of [document.body, document.documentElement]) {
|
|
185
|
+
const colour = getComputedStyle(element).backgroundColor;
|
|
186
|
+
if (colour && colour !== 'transparent' && colour !== 'rgba(0, 0, 0, 0)') return colour;
|
|
187
|
+
}
|
|
188
|
+
return 'Canvas';
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
function ToolButton({ tool, onClick }) {
|
|
192
|
+
return h(
|
|
193
|
+
'button',
|
|
194
|
+
{
|
|
195
|
+
type: 'button',
|
|
196
|
+
title: TOOL_LABELS[tool],
|
|
197
|
+
'aria-label': TOOL_LABELS[tool],
|
|
198
|
+
onClick,
|
|
199
|
+
style: {
|
|
200
|
+
display: 'grid',
|
|
201
|
+
placeItems: 'center',
|
|
202
|
+
width: 28,
|
|
203
|
+
height: 28,
|
|
204
|
+
padding: 0,
|
|
205
|
+
border: 0,
|
|
206
|
+
borderRadius: 6,
|
|
207
|
+
background: 'transparent',
|
|
208
|
+
color: 'inherit',
|
|
209
|
+
cursor: 'pointer',
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
h(
|
|
213
|
+
'svg',
|
|
214
|
+
{
|
|
215
|
+
width: 16,
|
|
216
|
+
height: 16,
|
|
217
|
+
viewBox: '0 0 24 24',
|
|
218
|
+
fill: 'none',
|
|
219
|
+
stroke: 'currentColor',
|
|
220
|
+
strokeWidth: 2,
|
|
221
|
+
strokeLinecap: 'round',
|
|
222
|
+
strokeLinejoin: 'round',
|
|
223
|
+
'aria-hidden': true,
|
|
224
|
+
},
|
|
225
|
+
h('path', { d: TOOL_ICONS[tool] }),
|
|
226
|
+
),
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function EmbeddedChat({ embedUrl, modes = MODES, defaultMode, theme = 'light', locale }) {
|
|
231
|
+
const allowed = modes.filter((mode) => MODES.includes(mode));
|
|
232
|
+
const [view, setView] = useState(allowed.includes(defaultMode) ? defaultMode : 'minimized');
|
|
233
|
+
// Created on first open and kept while minimized, so the conversation stays.
|
|
234
|
+
const [opened, setOpened] = useState(view !== 'minimized');
|
|
235
|
+
const [ready, setReady] = useState(false);
|
|
236
|
+
const [narrow, setNarrow] = useState(isNarrow);
|
|
237
|
+
const [background, setBackground] = useState('Canvas');
|
|
238
|
+
const frame = useRef(null);
|
|
239
|
+
const icon = useRef(null);
|
|
240
|
+
const fallback = useRef(undefined);
|
|
241
|
+
const shown = view === 'minimized' ? undefined : narrow ? 'fullscreen' : view;
|
|
242
|
+
// Set once: a new src would reload the chat. Later theme changes go by message.
|
|
243
|
+
// The app's URL is kept as given (relative ones resolve like any iframe src).
|
|
244
|
+
const [src] = useState(() => {
|
|
245
|
+
const query = new URLSearchParams({ theme, ...(locale ? { locale } : {}) });
|
|
246
|
+
const at = embedUrl.includes('#') ? embedUrl.indexOf('#') : embedUrl.length;
|
|
247
|
+
const path = embedUrl.slice(0, at);
|
|
248
|
+
return `${path}${path.includes('?') ? '&' : '?'}${query}${embedUrl.slice(at)}`;
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
const show = (next) => {
|
|
252
|
+
setView(next);
|
|
253
|
+
if (next !== 'minimized') setOpened(true);
|
|
254
|
+
};
|
|
255
|
+
|
|
256
|
+
useEffect(() => {
|
|
257
|
+
const onResize = () => setNarrow(isNarrow());
|
|
258
|
+
window.addEventListener('resize', onResize);
|
|
259
|
+
return () => window.removeEventListener('resize', onResize);
|
|
260
|
+
}, []);
|
|
261
|
+
|
|
262
|
+
// Next frame: the app may switch its own theme in an effect that runs after this one.
|
|
263
|
+
useEffect(() => {
|
|
264
|
+
const frameId = requestAnimationFrame(() => setBackground(pageBackground()));
|
|
265
|
+
return () => cancelAnimationFrame(frameId);
|
|
266
|
+
}, [theme, opened]);
|
|
267
|
+
|
|
268
|
+
// A docked panel takes its width from the page instead of covering it.
|
|
269
|
+
useEffect(() => {
|
|
270
|
+
if (shown !== 'docked') return;
|
|
271
|
+
const root = document.documentElement;
|
|
272
|
+
const previous = root.style.paddingRight;
|
|
273
|
+
root.style.paddingRight = `${PANEL_WIDTH}px`;
|
|
274
|
+
return () => {
|
|
275
|
+
root.style.paddingRight = previous;
|
|
276
|
+
};
|
|
277
|
+
}, [shown]);
|
|
278
|
+
|
|
279
|
+
// The page inside says when the chat is up (or signed out, or failed).
|
|
280
|
+
useEffect(() => {
|
|
281
|
+
const onMessage = (event) => {
|
|
282
|
+
if (event.source === frame.current?.contentWindow && event.data?.nexusChat === 'ready') {
|
|
283
|
+
setReady(true);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
window.addEventListener('message', onMessage);
|
|
287
|
+
return () => {
|
|
288
|
+
window.removeEventListener('message', onMessage);
|
|
289
|
+
clearTimeout(fallback.current);
|
|
290
|
+
};
|
|
291
|
+
}, []);
|
|
292
|
+
|
|
293
|
+
// Theme and type size follow the app without reloading the iframe.
|
|
294
|
+
const sendStyle = () =>
|
|
295
|
+
frame.current?.contentWindow?.postMessage(
|
|
296
|
+
{ nexusChat: 'style', theme, remBase: REM_BASE[shown ?? 'floating'] },
|
|
297
|
+
new URL(embedUrl, location.href).origin,
|
|
298
|
+
);
|
|
299
|
+
useEffect(sendStyle, [theme, shown]);
|
|
300
|
+
|
|
301
|
+
useEffect(() => {
|
|
302
|
+
if (ready || !opened || !icon.current?.animate) return;
|
|
303
|
+
if (window.matchMedia?.('(prefers-reduced-motion: reduce)').matches) return;
|
|
304
|
+
const shimmer = icon.current.animate(
|
|
305
|
+
[
|
|
306
|
+
{ opacity: 0.35, transform: 'scale(0.94)' },
|
|
307
|
+
{ opacity: 1, transform: 'scale(1)' },
|
|
308
|
+
],
|
|
309
|
+
{ duration: 1400, direction: 'alternate', easing: 'ease-in-out', iterations: Infinity },
|
|
310
|
+
);
|
|
311
|
+
return () => shimmer.cancel();
|
|
312
|
+
}, [ready, opened]);
|
|
313
|
+
|
|
314
|
+
const placement = {
|
|
315
|
+
floating: {
|
|
316
|
+
right: 24,
|
|
317
|
+
bottom: 24,
|
|
318
|
+
width: `min(${PANEL_WIDTH}px, calc(100vw - 48px))`,
|
|
319
|
+
height: `min(${FLOATING_HEIGHT}px, calc(100vh - 48px))`,
|
|
320
|
+
borderRadius: 24,
|
|
321
|
+
boxShadow: '0 12px 40px rgb(0 0 0 / 0.22)',
|
|
322
|
+
},
|
|
323
|
+
docked: { top: 0, right: 0, bottom: 0, width: PANEL_WIDTH },
|
|
324
|
+
fullscreen: { inset: 0 },
|
|
325
|
+
};
|
|
326
|
+
// Narrow screens cover the app anyway, so only minimizing is offered there.
|
|
327
|
+
const tools = [...(narrow ? [] : allowed.filter((mode) => mode !== shown)), 'minimize'];
|
|
328
|
+
|
|
329
|
+
return h(
|
|
330
|
+
'div',
|
|
331
|
+
null,
|
|
332
|
+
opened &&
|
|
333
|
+
h(
|
|
334
|
+
'div',
|
|
335
|
+
{
|
|
336
|
+
role: 'complementary',
|
|
337
|
+
'aria-label': 'AI Assistant',
|
|
338
|
+
style: {
|
|
339
|
+
position: 'fixed',
|
|
340
|
+
zIndex: 50,
|
|
341
|
+
boxSizing: 'border-box',
|
|
342
|
+
display: shown ? 'flex' : 'none',
|
|
343
|
+
flexDirection: 'column',
|
|
344
|
+
gap: 4,
|
|
345
|
+
padding: GUTTER,
|
|
346
|
+
paddingTop: 4,
|
|
347
|
+
background,
|
|
348
|
+
...placement[shown ?? 'floating'],
|
|
349
|
+
},
|
|
350
|
+
},
|
|
351
|
+
h(
|
|
352
|
+
'div',
|
|
353
|
+
{ style: { display: 'flex', justifyContent: 'flex-end', gap: 2 } },
|
|
354
|
+
tools.map((tool) =>
|
|
355
|
+
h(ToolButton, {
|
|
356
|
+
key: tool,
|
|
357
|
+
tool,
|
|
358
|
+
onClick: () => show(tool === 'minimize' ? 'minimized' : tool),
|
|
359
|
+
}),
|
|
360
|
+
),
|
|
361
|
+
),
|
|
362
|
+
h(
|
|
363
|
+
'div',
|
|
364
|
+
{
|
|
365
|
+
style: {
|
|
366
|
+
position: 'relative',
|
|
367
|
+
flex: 1,
|
|
368
|
+
overflow: 'hidden',
|
|
369
|
+
// Concentric with the floating window's corners (its radius minus the gutter).
|
|
370
|
+
borderRadius: shown === 'floating' ? 16 : 12,
|
|
371
|
+
border: '1px solid rgb(127 127 127 / 0.25)',
|
|
372
|
+
},
|
|
373
|
+
},
|
|
374
|
+
h('iframe', {
|
|
375
|
+
ref: frame,
|
|
376
|
+
title: 'AI Assistant',
|
|
377
|
+
src,
|
|
378
|
+
onLoad: () => {
|
|
379
|
+
sendStyle();
|
|
380
|
+
clearTimeout(fallback.current);
|
|
381
|
+
fallback.current = setTimeout(() => setReady(true), READY_FALLBACK_MS);
|
|
382
|
+
},
|
|
383
|
+
style: { display: 'block', width: '100%', height: '100%', border: 0 },
|
|
384
|
+
}),
|
|
385
|
+
!ready &&
|
|
386
|
+
h(
|
|
387
|
+
'div',
|
|
388
|
+
{
|
|
389
|
+
role: 'status',
|
|
390
|
+
'aria-label': 'Loading the AI Assistant',
|
|
391
|
+
style: {
|
|
392
|
+
position: 'absolute',
|
|
393
|
+
inset: 0,
|
|
394
|
+
display: 'grid',
|
|
395
|
+
placeItems: 'center',
|
|
396
|
+
background,
|
|
397
|
+
},
|
|
398
|
+
},
|
|
399
|
+
h('img', { ref: icon, src: ICON, alt: '', width: 48, height: 54 }),
|
|
400
|
+
),
|
|
401
|
+
),
|
|
402
|
+
),
|
|
403
|
+
view === 'minimized' &&
|
|
404
|
+
h(
|
|
405
|
+
'button',
|
|
406
|
+
{
|
|
407
|
+
type: 'button',
|
|
408
|
+
'aria-label': 'Open AI Assistant',
|
|
409
|
+
title: 'AI Assistant',
|
|
410
|
+
onClick: () => show(allowed[0] ?? 'fullscreen'),
|
|
411
|
+
style: {
|
|
412
|
+
position: 'fixed',
|
|
413
|
+
right: 24,
|
|
414
|
+
bottom: 24,
|
|
415
|
+
zIndex: 50,
|
|
416
|
+
width: 56,
|
|
417
|
+
height: 56,
|
|
418
|
+
borderRadius: '50%',
|
|
419
|
+
border: '1px solid rgb(127 127 127 / 0.2)',
|
|
420
|
+
background,
|
|
421
|
+
boxShadow: '0 6px 20px rgb(0 0 0 / 0.18)',
|
|
422
|
+
display: 'grid',
|
|
423
|
+
placeItems: 'center',
|
|
424
|
+
cursor: 'pointer',
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
h('img', { src: ICON, alt: '', width: 30, height: 34 }),
|
|
428
|
+
),
|
|
429
|
+
);
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
export function NexusChat(props) {
|
|
433
|
+
return h(props.embedUrl ? EmbeddedChat : DirectChat, props);
|
|
434
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{n as t,t as n}from"./jsx-runtime-DE3RlOCf.js";import{n as r}from"./createLucideIcon-D1A0JYKN.js";import{d as i,l as a}from"./floating-ui.utils.dom-ObnfY4F6.js";import{_ as o,a as s,d as c,g as l,h as u,l as d,m as f,o as p,p as m,r as h,s as g,t as _,u as v}from"./button-CO0tH6F2.js";import{C as y,_ as b,a as x,b as S,c as C,d as w,f as T,g as E,h as ee,i as D,l as O,m as k,n as A,o as j,p as M,r as N,s as P,t as F,u as I,x as te,y as L}from"./composite-giRhJC3d.js";import{A as R,C as ne,D as z,E as B,F as V,I as H,L as U,M as re,O as W,P as G,R as K,S as ie,T as ae,_ as q,b as oe,c as se,f as ce,g as le,h as ue,i as de,j as fe,k as pe,l as me,m as he,n as ge,p as _e,r as ve,t as ye,u as be,v as xe,w as Se,x as Ce,y as we,z as Te}from"./modelProviderIcons-fiyx4SaW.js";import{r as Ee}from"./react-dom-FxOPXJ08.js";import{A as J,At as De,Ct as Oe,Ht as ke,Jt as Y,K as Ae,M as je,Mt as Me,N as Ne,Pt as Pe,St as Fe,T as Ie,V as Le,Vt as Re,Xt as ze,Yt as Be,_t as Ve,a as He,bt as Ue,c as We,ct as Ge,dt as Ke,ht as qe,i as Je,j as X,jt as Ye,k as Xe,mt as Ze,nn as Qe,o as $e,on as et,ot as tt,pt as nt,qt as rt,st as it,t as at,un as ot,ut as st,vt as ct,w as lt,x as ut,xt as dt}from"./useBaseUiId-Dpqq0brK.js";import{s as ft,v as pt}from"./floating-ui.dom-B99QSfPH.js";import{n as mt,o as ht,r as gt,s as _t,t as vt}from"./usePositioner-BhCjFmeW.js";var Z=e(t(),1);function yt(e){let[t,n]=Z.useState({current:e,previous:null});return e!==t.current&&n({current:e,previous:t.current}),t.previous}var Q=n();function bt({className:e,...t}){return(0,Q.jsx)(`label`,{"data-slot":`label`,className:r(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var xt=function(e){return e.checked=`data-checked`,e.unchecked=`data-unchecked`,e.disabled=`data-disabled`,e.readonly=`data-readonly`,e.required=`data-required`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.filled=`data-filled`,e.focused=`data-focused`,e}({}),St={checked(e){return e?{[xt.checked]:``}:{[xt.unchecked]:``}},...lt,...pe},Ct=`data-composite-item-active`,wt=Z.createContext({disabled:!1});function Tt(){return Z.useContext(wt)}var Et=Z.createContext(void 0);function Dt(){return Z.useContext(Et)}function Ot(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}var kt=Z.createContext(void 0);function At(){let e=Z.useContext(kt);if(e===void 0)throw Error(m(52));return e}var jt=Z.forwardRef(function(e,t){let{render:n,className:r,disabled:i=!1,readOnly:o=!1,required:s=!1,"aria-labelledby":c,value:f,inputRef:m,nativeButton:_=!1,id:y,style:b,...x}=e,S=Dt(),{disabled:C,readOnly:w,required:T,form:E,checkedValue:ee,touched:D=!1,validation:O,name:k}=S??{},A=(S==null?void 0:S.setCheckedValue)??g,j=(S==null?void 0:S.setTouched)??g,M=(S==null?void 0:S.registerControlRef)??g,N=(S==null?void 0:S.registerInputRef)??g,{setTouched:P,setFilled:F,state:I,disabled:te}=ae(),L=Tt(),{labelId:R,getDescriptionProps:z}=Se(),V=te||L.disabled||C||i,H=w||o,U=T||s,re=E,W=S?ee===f:f===``,G=Z.useRef(null),K=Z.useRef(null),q=l(e=>{e&&M(e,V)}),oe=d(m,K,N);u(()=>{var e;(e=K.current)!=null&&e.checked&&F(!0)},[F]),u(()=>{if(K.current){if(V&&W){N(null);return}G.current&&M(G.current,V),N(K.current)}},[W,V,M,N]);let se=at(),ce=ie({id:y,implicit:!1,controlRef:G}),le=_?void 0:ce,ue=ne(c,R,K,!_,le),de={role:`radio`,"aria-checked":W,"aria-required":U||void 0,"aria-readonly":H||void 0,"aria-labelledby":ue,[Ct]:W?``:void 0,id:_?ce:se,onKeyDown(e){e.key===`Enter`&&e.preventDefault()},onClick(e){if(e.defaultPrevented||V||H)return;e.preventDefault();let t=K.current;t&&t.dispatchEvent(new(a(t)).PointerEvent(`click`,{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey}))},onFocus(e){var t;e.defaultPrevented||V||H||!D||((t=K.current)==null||t.click(),j(!1))}},{getButtonProps:fe,buttonRef:pe}=v({disabled:V,native:_,composite:!1}),me={type:`radio`,ref:oe,form:re,id:le,name:k,tabIndex:-1,style:k?Ze:nt,"aria-hidden":!0,...f===void 0?p:{value:Ot(f)},disabled:V,checked:W,required:U,readOnly:H,onChange(e){if(e.nativeEvent.defaultPrevented||V||H||f===void 0)return;let t=dt(Pe,e.nativeEvent);A(f,t),!t.isCanceled&&P(!0)},onFocus(){var e;(e=G.current)==null||e.focus()}},he=Z.useMemo(()=>({...I,required:U,disabled:V,readOnly:H,checked:W}),[I,V,H,W,U]),ge=he,_e=S!==void 0,ve=[t,G,pe,q],ye=[de,x,fe,z,O?e=>O.getValidationProps(V,e):p],be=h(`span`,e,{enabled:!_e,state:he,ref:ve,props:ye,stateAttributesMapping:St});return(0,Q.jsxs)(kt.Provider,{value:ge,children:[_e?(0,Q.jsx)(B,{tag:`span`,render:n,className:r,style:b,state:he,refs:ve,props:ye,stateAttributesMapping:St}):be,(0,Q.jsx)(`input`,{...me,suppressHydrationWarning:!0})]})}),Mt=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,keepMounted:a=!1,...o}=e,s=At(),c=s.checked,{mounted:l,transitionStatus:u,setMounted:d}=Ie(c),f={...s,transitionStatus:u},p=Z.useRef(null),m=a||l,g=h(`span`,e,{ref:[t,p],state:f,props:o,stateAttributesMapping:St});return ut({open:c,ref:p,onComplete(){c||d(!1)}}),m?g:null});function Nt(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var Pt=[];function Ft(e){let{loopFocus:t=!0,orientation:n=`both`,grid:r,onLoop:i,direction:a,highlightedIndex:o,onHighlightedIndexChange:s,rootRef:c,enableHomeAndEndKeys:f=!1,stopEventPropagation:p=!1,disabledIndices:m,modifierKeys:h=Pt}=e,[g,_]=Z.useState(0),v=r!=null,y=Z.useRef(null),S=d(y,c),w=Z.useRef([]),T=Z.useRef(!1),M=o??g,P=l((e,t=!1)=>{if((s??_)(e),t){let t=w.current[e];b(y.current,t,a,n)}}),I=l(e=>{if(e.size===0||T.current)return;T.current=!0;let t=Array.from(e.keys()),r=t.find(e=>e==null?void 0:e.hasAttribute(`data-composite-item-active`))??null,i=r?t.indexOf(r):-1;if(i!==-1)P(i);else if(Ke(t,M,m)){let e=tt(t,{disabledIndices:m});st(t,e)||P(e)}b(y.current,r,a,n)});u(()=>{if(m==null||o!=null||!T.current)return;let e=w.current;if(Ke(e,M,m)){let t=tt(e,{disabledIndices:m});st(e,t)||P(t)}},[m,o,M,w,P]);let te=l((e,t,n)=>i?i(e,t,n,w):n),L=l(e=>{let o=f?j:A;if(!o.has(e.key)||It(e,h)||!y.current)return;let s=a===`rtl`,c=s?N:D,l={horizontal:c,vertical:F,both:c}[n],u=s?D:N,d={horizontal:u,vertical:x,both:u}[n],g=ze(e.nativeEvent);if(g!=null&&E(g)&&!Nt(g)){let t=g.selectionStart,n=g.selectionEnd,r=g.value??``;if(t==null||e.shiftKey||t!==n||e.key!==d&&t<r.length||e.key!==l&&t>0)return}let _=M,b=Ge(w,m),S=it(w,m);r!=null&&(_=r({disabledIndices:m,elementsRef:w,event:e,highlightedIndex:M,loopFocus:t,maxIndex:S,minIndex:b,onLoop:te,orientation:n,rtl:s}));let T={horizontal:[c],vertical:[F],both:[c,F]}[n],I={horizontal:[u],vertical:[x],both:[u,x]}[n],L=v?o:{horizontal:f?O:C,vertical:f?ee:k,both:o}[n];f&&(e.key===`Home`?_=b:e.key===`End`&&(_=S)),_===M&&(T.includes(e.key)||I.includes(e.key))&&(t&&_===S&&T.includes(e.key)?(_=b,i&&(_=i(e,M,_,w))):t&&_===b&&I.includes(e.key)?(_=S,i&&(_=i(e,M,_,w))):_=tt(w.current,{startingIndex:_,decrement:I.includes(e.key),disabledIndices:m})),_!==M&&!st(w.current,_)&&(p&&e.stopPropagation(),L.has(e.key)&&e.preventDefault(),P(_,!0),queueMicrotask(()=>{var e;(e=w.current[_])==null||e.focus()}))});return{props:{ref:S,onFocus(e){let t=y.current,n=ze(e.nativeEvent);!t||n==null||!E(n)||n.setSelectionRange(0,n.value.length??0)},onKeyDown:L},highlightedIndex:M,onHighlightedIndexChange:P,elementsRef:w,disabledIndices:m,onMapChange:I,relayKeyboardEvent:L}}function It(e,t){for(let n of I.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}function Lt(e){let{render:t,className:n,style:r,refs:i=s,props:a=s,state:o=p,stateAttributesMapping:l,highlightedIndex:u,onHighlightedIndexChange:d,orientation:f,grid:m,loopFocus:g,onLoop:_,enableHomeAndEndKeys:v,onMapChange:y,stopEventPropagation:b=!0,rootRef:x,disabledIndices:S,modifierKeys:C,highlightItemOnHover:w=!1,tag:T=`div`,...E}=e,{props:ee,highlightedIndex:D,onHighlightedIndexChange:O,elementsRef:k,onMapChange:A,relayKeyboardEvent:j}=Ft({grid:m,loopFocus:g,onLoop:_,orientation:f,highlightedIndex:u,onHighlightedIndexChange:d,rootRef:x,stopEventPropagation:b,enableHomeAndEndKeys:v,direction:ht(),disabledIndices:S,modifierKeys:C}),M=h(T,e,{state:o,ref:i,props:[ee,...a,E],stateAttributesMapping:l}),N=Z.useMemo(()=>({highlightedIndex:D,onHighlightedIndexChange:O,highlightItemOnHover:w,relayKeyboardEvent:j}),[D,O,w,j]);return(0,Q.jsx)(c.Provider,{value:N,children:(0,Q.jsx)(oe,{elementsRef:k,onMapChange:e=>{y==null||y(e),A(e)},children:M})})}var Rt=Z.createContext(void 0);function zt(e=!1){let t=Z.useContext(Rt);if(!t&&!e)throw Error(m(86));return t}var Bt=[M],Vt=Z.forwardRef(function(e,t){let{render:n,className:r,disabled:i,readOnly:a,required:o,onValueChange:s,value:c,defaultValue:u,form:d,name:f,inputRef:p,id:m,style:h,...g}=e,{setTouched:_,setFocused:v,validationMode:y,name:b,disabled:x,state:S,validation:C,setDirty:w,setFilled:T,validityData:E}=ae(),{labelId:ee}=Se(),{clearErrors:D}=xe(),O=zt(!0),k=x||i,A=b??f,j=at(m),[M,N]=Ce({controlled:c,default:u,name:`RadioGroup`,state:`value`}),[P,F]=Z.useState(!1),I=l((e,t)=>{s==null||s(e,t),!t.isCanceled&&N(e)}),te=Z.useRef(null),L=Z.useRef(null),R=Z.useRef(null);function ne(e){let t;return p&&(typeof p==`function`?t=p(e):p.current=e),L.current=e,C.inputRef.current=e,t}let z=l((e,t=!1)=>{if(e){if(t){te.current===e&&(te.current=null);return}te.current??=e}}),B=l(e=>{if(!e||e.disabled)return;R.current||=e;let t=L.current;if(e.checked||t==null||t.disabled)return ne(e)}),V=l(()=>{let e=L.current;return!e||e.disabled||!e.checked?null:M??null});we(te,j,M??null,V,!k,f),G(M,()=>{D(A),w(M!==E.initialValue),T(M!=null),C.change(M);let e=R.current;M==null&&e&&!e.disabled&&ne(e)});let H=g[`aria-labelledby`]??ee??(O==null?void 0:O.legendId),U={...S,disabled:k??!1,required:o??!1,readOnly:a??!1},re=Z.useMemo(()=>({...S,checkedValue:M,disabled:k,form:d,validation:C,name:A,readOnly:a,registerControlRef:z,registerInputRef:B,required:o,setCheckedValue:I,setTouched:F,touched:P}),[M,k,d,C,S,A,a,z,B,o,I,F,P]),W={id:m,role:`radiogroup`,"aria-required":o||void 0,"aria-disabled":k||void 0,"aria-readonly":a||void 0,"aria-labelledby":H,onFocus(){v(!0)},onBlur(e){Be(e.currentTarget,e.relatedTarget)||(_(!0),v(!1),y===`onBlur`&&C.commit(M))},onKeyDownCapture(e){e.key.startsWith(`Arrow`)&&(F(!0),v(!0))}};return(0,Q.jsx)(Et.Provider,{value:re,children:(0,Q.jsx)(Lt,{render:n,className:r,style:h,state:U,props:[W,g,e=>C.getValidationProps(k??!1,e)],refs:[t],stateAttributesMapping:pe,enableHomeAndEndKeys:!1,modifierKeys:Bt})})});function Ht({className:e,...t}){return(0,Q.jsx)(Vt,{"data-slot":`radio-group`,className:r(`grid w-full gap-3`,e),...t})}function Ut({className:e,...t}){return(0,Q.jsx)(jt,{"data-slot":`radio-group-item`,className:r(`group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/20 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive-border aria-invalid:ring-3 aria-invalid:ring-destructive-border/40 aria-invalid:aria-checked:border-primary data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:bg-input/30 dark:data-checked:bg-primary`,e),...t,children:(0,Q.jsx)(Mt,{"data-slot":`radio-group-indicator`,className:`flex size-4 items-center justify-center`,children:(0,Q.jsx)(`span`,{className:`absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground`})})})}var Wt=Z.createContext(null),Gt=Z.createContext(null);function Kt(){let e=Z.useContext(Wt);if(e===null)throw Error(m(60));return e}function qt(){let e=Z.useContext(Gt);if(e===null)throw Error(m(61));return e}var Jt=(e,t)=>Object.is(e,t);function Yt(e,t,n){return e==null||t==null?Object.is(e,t):n(e,t)}function Xt(e,t,n){return!e||e.length===0?!1:e.some(e=>e!==void 0&&Yt(t,e,n))}function Zt(e,t,n){return!e||e.length===0?-1:e.findIndex(e=>e!==void 0&&Yt(e,t,n))}function Qt(e,t,n){return e.filter(e=>!Yt(t,e,n))}function $t(e){return e!=null&&e.length>0&&typeof e[0]==`object`&&e[0]!=null&&`items`in e[0]}function en(e){if(!Array.isArray(e))return e!=null&&`null`in e;let t=e;if($t(t)){for(let e of t)for(let t of e.items)if(t&&t.value==null&&t.label!=null)return!0;return!1}for(let e of t)if(e&&e.value==null&&e.label!=null)return!0;return!1}function tn(e,t){if(t&&e!=null)return t(e)??``;if(e&&typeof e==`object`){if(`label`in e&&e.label!=null)return String(e.label);if(`value`in e)return String(e.value)}return Ot(e)}function nn(e,t){return t&&e!=null?t(e)??``:e&&typeof e==`object`&&`value`in e&&`label`in e?Ot(e.value):Ot(e)}function rn(e,t,n){function r(){return tn(e,n)}if(n&&e!=null)return n(e);if(e&&typeof e==`object`&&`label`in e&&e.label!=null)return e.label;if(t&&!Array.isArray(t))return t[e]??r();if(Array.isArray(t)){let n=t,i=$t(n)?n.flatMap(e=>e.items):n;if(typeof e!=`object`||!e){let t=i.find(t=>t.value===e);return t&&t.label!=null?t.label:r()}if(`value`in e){let t=i.find(t=>t&&t.value===e.value);if(t&&t.label!=null)return t.label}}return r()}function an(e,t,n){return e.reduce((e,r,i)=>(i>0&&e.push(`, `),e.push((0,Q.jsx)(Z.Fragment,{children:rn(r,t,n)},i)),e),[])}var $={id:X(e=>e.id),labelId:X(e=>e.labelId),modal:X(e=>e.modal),multiple:X(e=>e.multiple),items:X(e=>e.items),itemToStringLabel:X(e=>e.itemToStringLabel),itemToStringValue:X(e=>e.itemToStringValue),isItemEqualToValue:X(e=>e.isItemEqualToValue),value:X(e=>e.value),hasSelectedValue:X(e=>{let{value:t,multiple:n,itemToStringValue:r}=e;return t==null?!1:n&&Array.isArray(t)?t.length>0:nn(t,r)!==``}),hasNullItemLabel:X((e,t)=>t?en(e.items):!1),open:X(e=>e.open),mounted:X(e=>e.mounted),forceMount:X(e=>e.forceMount),transitionStatus:X(e=>e.transitionStatus),openMethod:X(e=>e.openMethod),activeIndex:X(e=>e.activeIndex),selectedIndex:X(e=>e.selectedIndex),isActive:X((e,t)=>e.activeIndex===t),isSelected:X((e,t)=>{let n=e.isItemEqualToValue,r=e.value;return e.multiple?Array.isArray(r)&&r.some(e=>Yt(t,e,n)):Yt(t,r,n)}),isSelectedByFocus:X((e,t)=>e.selectedIndex===t),popupProps:X(e=>e.popupProps),triggerProps:X(e=>e.triggerProps),triggerElement:X(e=>e.triggerElement),positionerElement:X(e=>e.positionerElement),listElement:X(e=>e.listElement),popupSide:X(e=>e.popupSide),scrollUpArrowVisible:X(e=>e.scrollUpArrowVisible),scrollDownArrowVisible:X(e=>e.scrollDownArrowVisible),hasScrollArrows:X(e=>e.hasScrollArrows)};function on(e,t,n=(e,t)=>e===t){return e.length===t.length&&e.every((e,r)=>n(e,t[r]))}function sn(e){let{id:t,value:n,defaultValue:r=null,onValueChange:i,open:a,defaultOpen:c=!1,onOpenChange:m,name:h,form:g,autoComplete:_,disabled:v=!1,readOnly:y=!1,required:b=!1,modal:x=!0,actionsRef:S,inputRef:C,onOpenChangeComplete:w,items:T,multiple:E=!1,itemToStringLabel:ee,itemToStringValue:D,isItemEqualToValue:O=Jt,highlightItemOnHover:k=!0,children:A}=e,{clearErrors:j}=xe(),{setDirty:M,setTouched:N,setFocused:P,validityData:F,setFilled:I,name:te,disabled:L,validation:R,validationMode:ne}=ae(),z=ie({id:t}),B=L||v,W=te??h,[K,q]=Ce({controlled:n,default:E?r??s:r,name:`Select`,state:`value`}),[oe,se]=Ce({controlled:a,default:c,name:`Select`,state:`open`}),ce=Z.useRef([]),de=Z.useRef([]),fe=Z.useRef(null),pe=Z.useRef(null),me=Z.useRef(0),he=Z.useRef(null),ge=Z.useRef([]),_e=Z.useRef(!1),ve=Z.useRef(null),ye=Z.useRef(null),be=Z.useRef({allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0}),Se=Z.useRef(!1),{mounted:Te,setMounted:Ee,transitionStatus:De}=Ie(oe),{openMethod:Oe,triggerProps:ke}=re(oe),Y=o(()=>new Xe({id:z,labelId:void 0,modal:x,multiple:E,itemToStringLabel:ee,itemToStringValue:D,isItemEqualToValue:O,value:K,open:oe,mounted:Te,transitionStatus:De,items:T,forceMount:!1,openMethod:null,activeIndex:null,selectedIndex:null,popupProps:{},triggerProps:{},triggerElement:null,positionerElement:null,listElement:null,popupSide:null,scrollUpArrowVisible:!1,scrollDownArrowVisible:!1,hasScrollArrows:!1})).current,Ae=J(Y,$.activeIndex),Me=J(Y,$.selectedIndex),Fe=J(Y,$.triggerElement),Le=J(Y,$.positionerElement),Re=yt(Oe),ze=Oe??Re??null,Be=Z.useMemo(()=>E?``:nn(K,D),[E,K,D]),Ve=Z.useMemo(()=>E&&Array.isArray(K)?K.map(e=>nn(e,D)):nn(K,D),[E,K,D]),He=ct(Y.state.triggerElement),Ue=l(()=>Ve);we(He,z,K,Ue,!B,h);let Ge=Z.useRef(K),Ke=E?Array.isArray(K)&&K.length>0:K!=null&&nn(K,D)!==``;u(()=>{K!==Ge.current&&Y.set(`forceMount`,!0)},[Y,K]),u(()=>{I(Ke)},[Ke,I]),u(function(){let e=ge.current,t;if(E){let n=Array.isArray(K)?K:[];if(n.length===0)t=null;else{let r=n[n.length-1],i=Zt(e,r,O);t=i===-1?null:i}}else{let n=Zt(e,K,O);t=n===-1?null:n}t===null&&(ye.current=null),!oe&&Y.set(`selectedIndex`,t)},[Ke,E,oe,K,ge,O,Y,ye]);function qe(e){let t=F.initialValue;return Array.isArray(e)&&Array.isArray(t)?!on(e,t,(e,t)=>Yt(e,t,O)):e!==t}G(K,()=>{j(W),M(qe(K)),R.change(K)});let Je=l((e,t)=>{m==null||m(e,t),!t.isCanceled&&(se(e),!e&&(t.reason===`focus-out`||t.reason===`outside-press`)&&(N(!0),P(!1),ne===`onBlur`&&R.commit(K)))}),X=l(()=>{Ee(!1),Y.update({activeIndex:null,openMethod:null}),w==null||w(!1)});ut({enabled:!S,open:oe,ref:fe,onComplete(){oe||X()}}),Z.useImperativeHandle(S,()=>({unmount:X}),[X]);let Ye=l((e,t)=>{i==null||i(e,t),!t.isCanceled&&q(e)}),Qe=l(()=>{let e=Y.state.listElement||fe.current;if(!e)return;let t=ue(e.scrollHeight,e.clientHeight),n=le(e.scrollTop,t),r=n>0,i=n<t;Y.state.scrollUpArrowVisible!==r&&Y.set(`scrollUpArrowVisible`,r),Y.state.scrollDownArrowVisible!==i&&Y.set(`scrollDownArrowVisible`,i)}),$e=_t({open:oe,onOpenChange:Je,elements:{reference:Fe,floating:Le}}),et=U($e,{enabled:!y&&!B,event:`mousedown`}),tt=Ne($e),rt=H($e,{enabled:!y&&!B,listRef:ce,activeIndex:Ae,selectedIndex:Me,disabledIndices:s,onNavigate(e){e===null&&!oe||Y.set(`activeIndex`,e)},focusItemOnHover:k}),it=V($e,{enabled:!y&&!B&&(oe||!E),listRef:de,activeIndex:Ae,selectedIndex:Me,disabledIndices:e=>Nt(ce.current[e]),onMatch(e){oe?Y.set(`activeIndex`,e):Ye(ge.current[e],dt(`none`))},onTyping(e){_e.current=e}}),at=Z.useMemo(()=>{let e=f(it.reference,rt.reference,tt.reference,et.reference,ke);return z&&(e.id=z),e},[et.reference,it.reference,rt.reference,tt.reference,ke,z]),ot=Z.useMemo(()=>f(We,it.floating,rt.floating,tt.floating),[it.floating,rt.floating,tt.floating]),st=rt.item??p;je(()=>{Y.update({popupProps:ot,triggerProps:at})}),u(()=>{Y.update({id:z,modal:x,multiple:E,value:K,open:oe,mounted:Te,transitionStatus:De,popupProps:ot,triggerProps:at,items:T,itemToStringLabel:ee,itemToStringValue:D,isItemEqualToValue:O,openMethod:ze})},[Y,z,x,E,K,oe,Te,De,ot,at,T,ee,D,O,ze]);let lt=Z.useMemo(()=>({store:Y,name:W,required:b,disabled:B,readOnly:y,multiple:E,highlightItemOnHover:k,setValue:Ye,setOpen:Je,listRef:ce,popupRef:fe,scrollHandlerRef:pe,handleScrollArrowVisibility:Qe,scrollArrowsMountedCountRef:me,itemProps:st,valueRef:he,valuesRef:ge,labelsRef:de,typingRef:_e,selectionRef:be,firstItemTextRef:ve,selectedItemTextRef:ye,validation:R,onOpenChangeComplete:w,alignItemWithTriggerActiveRef:Se,initialValueRef:Ge}),[Y,W,b,B,y,E,k,Ye,Je,st,R,w,Qe]),ft=d(C,R.inputRef),pt=E&&Array.isArray(K)&&K.length>0,mt=E?void 0:W,ht=Z.useMemo(()=>!E||!Array.isArray(K)||!W?null:K.map(e=>{let t=nn(e,D);return(0,Q.jsx)(`input`,{type:`hidden`,form:g,name:W,value:t,disabled:B},t)}),[E,K,g,W,D,B]);return(0,Q.jsx)(Wt.Provider,{value:lt,children:(0,Q.jsxs)(Gt.Provider,{value:$e,children:[A,(0,Q.jsx)(`input`,{...R.getValidationProps(B,{onFocus(){var e;(e=Y.state.triggerElement)==null||e.focus({focusVisible:!0})},onChange(e){if(e.nativeEvent.defaultPrevented||B||y)return;let t=e.currentTarget.value,n=dt(Pe,e.nativeEvent);function r(){if(E)return;let e=t.toLowerCase(),r=ge.current.findIndex(t=>nn(t,D).toLowerCase()===e||tn(t,ee).toLowerCase()===e);r===-1&&(r=ge.current.findIndex((t,n)=>{let r=de.current[n];return r!=null&&r.toLowerCase()===e}));let i=r===-1?void 0:ge.current[r];i!=null&&Ye(i,n)}Y.set(`forceMount`,!0),queueMicrotask(r)}}),id:z&&mt==null?`${z}-hidden-input`:void 0,form:g,name:mt,autoComplete:_,value:Be,disabled:B,required:b&&!pt,readOnly:y,ref:ft,style:W?Ze:nt,tabIndex:-1,"aria-hidden":!0,suppressHydrationWarning:!0}),ht]})})}function cn(e){return e==null?void 0:`${e}-label`}function ln(e,t){return e??t}var un=2,dn=400,fn={...He,...pe,popupSide:e=>e?{"data-popup-side":e}:null,value:()=>null},pn=Z.forwardRef(function(e,t){var n;let{render:r,className:i,id:a,disabled:o=!1,nativeButton:s=!0,style:c,...u}=e,{setTouched:d,setFocused:p,validationMode:m,state:g,disabled:_}=ae(),{labelId:y}=Se(),{store:b,setOpen:x,selectionRef:S,validation:C,readOnly:w,required:T,alignItemWithTriggerActiveRef:E,disabled:ee}=Kt(),D=_||ee||o,O=J(b,$.open),k=J(b,$.mounted),A=J(b,$.value),j=J(b,$.triggerProps),M=J(b,$.positionerElement),N=J(b,$.listElement),P=J(b,$.popupSide),F=J(b,$.id),I=J(b,$.labelId),te=J(b,$.hasSelectedValue),L=k&&M?P:null,R=a??F,ne=ln(y,I);ie({id:R});let z=ct(M),B=Z.useRef(null),{getButtonProps:V,buttonRef:H}=v({disabled:D,native:s}),U=l(e=>{b.set(`triggerElement`,e)}),re=ot(),W=ot(),G=ot();Z.useEffect(()=>{if(O)return G.start(dn,()=>{S.current.allowUnselectedMouseUp=!0,S.current.allowSelectedMouseUp=!0}),()=>{G.clear()};S.current={allowSelectedMouseUp:!1,allowUnselectedMouseUp:!1,dragY:0},W.clear()},[O,S,W,G]);let K=f(j,{id:R,role:`combobox`,"aria-expanded":O?`true`:`false`,"aria-haspopup":`listbox`,"aria-controls":O?(N==null?void 0:N.id)??((n=ke(M))==null?void 0:n.id):void 0,"aria-labelledby":ne,"aria-readonly":w||void 0,"aria-required":T||void 0,tabIndex:D?-1:0,onFocus(e){p(!0),O&&E.current&&x(!1,dt(Pe,e.nativeEvent)),re.start(0,()=>{b.set(`forceMount`,!0)})},onBlur(e){Be(M,e.relatedTarget)||(d(!0),p(!1),m===`onBlur`&&C.commit(A))},onMouseDown(e){if(O)return;let t=qe(e.currentTarget);function n(e){if(!B.current)return;let t=e.target;if(Be(B.current,t)||Be(z.current,t))return;let n=he(B.current);e.clientX>=n.left-un&&e.clientX<=n.right+un&&e.clientY>=n.top-un&&e.clientY<=n.bottom+un||x(!1,dt(Oe,e))}W.start(0,()=>{t.addEventListener(`mouseup`,n,{once:!0})})}},u,V),q=C.getValidationProps(D,K);q.role=`combobox`;let oe={...g,open:O,disabled:D,value:A,readOnly:w,popupSide:L,placeholder:!te};return h(`button`,e,{ref:[t,B,H,U],state:oe,stateAttributesMapping:fn,props:q})}),mn={value:()=>null},hn=Z.forwardRef(function(e,t){let{className:n,render:r,children:i,placeholder:a,style:o,...s}=e,{store:c,valueRef:l}=Kt(),u=J(c,$.value),d=J(c,$.items),f=J(c,$.itemToStringLabel),p=J(c,$.hasSelectedValue),m=!p&&a!=null&&i==null,g=J(c,$.hasNullItemLabel,m),_={value:u,placeholder:!p},v=null;return v=typeof i==`function`?i(u):i??(!p&&a!=null&&!g?a:Array.isArray(u)?an(u,d,f):rn(u,d,f)),h(`span`,e,{state:_,ref:[t,l],props:[{children:v},s],stateAttributesMapping:mn})}),gn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o}=Kt(),s={open:J(o,$.open)};return h(`span`,e,{state:s,ref:t,props:[{"aria-hidden":!0,children:`▼`},a],stateAttributesMapping:$e})}),_n=Z.createContext(void 0),vn=Z.forwardRef(function(e,t){let{store:n}=Kt(),r=J(n,$.mounted),i=J(n,$.forceMount);return r||i?(0,Q.jsx)(_n.Provider,{value:!0,children:(0,Q.jsx)(Le,{ref:t,...e})}):null}),yn=Z.createContext(void 0);function bn(){let e=Z.useContext(yn);if(!e)throw Error(m(59));return e}function xn(e,t){e&&Object.assign(e.style,t)}var Sn={position:`relative`,maxHeight:`100%`,overflowX:`hidden`,overflowY:`auto`},Cn={position:`fixed`},wn=Z.forwardRef(function(e,t){let{anchor:n,positionMethod:r=`absolute`,className:i,render:a,side:o=`bottom`,align:s=`center`,sideOffset:c=0,alignOffset:d=0,collisionBoundary:f=`clipping-ancestors`,collisionPadding:p,arrowPadding:m=5,sticky:h=!1,disableAnchorTracking:g,alignItemWithTrigger:_=!0,collisionAvoidance:v=Ae,style:y,...b}=e,{store:x,listRef:C,labelsRef:w,alignItemWithTriggerActiveRef:T,selectedItemTextRef:E,valuesRef:ee,initialValueRef:D,popupRef:O,setValue:k}=Kt(),A=qt(),j=J(x,$.open),M=J(x,$.mounted),N=J(x,$.modal),P=J(x,$.value),F=J(x,$.openMethod),I=J(x,$.positionerElement),te=J(x,$.triggerElement),R=J(x,$.isItemEqualToValue),ne=J(x,$.transitionStatus),z=Z.useRef(null),B=Z.useRef(null),[V,H]=Z.useState(_),U=M&&V&&F!==`touch`;!M&&V!==_&&H(_),u(()=>{M||($.scrollUpArrowVisible(x.state)&&x.set(`scrollUpArrowVisible`,!1),$.scrollDownArrowVisible(x.state)&&x.set(`scrollDownArrowVisible`,!1))},[x,M]),Z.useImperativeHandle(T,()=>U),fe((U||N)&&j,F===`touch`,I,te);let re=gt({anchor:n,floatingRootContext:A,positionMethod:r,mounted:M,side:o,sideOffset:c,align:s,alignOffset:d,arrowPadding:m,collisionBoundary:f,collisionPadding:p,sticky:h,disableAnchorTracking:g??U,collisionAvoidance:v,keepMounted:!0}),W=U?`none`:re.side,G=U?Cn:re.positionerStyles,K={open:j,side:W,align:re.align,anchorHidden:re.anchorHidden};u(()=>{x.set(`popupSide`,re.side)},[x,re.side]);let ie=l(e=>{x.set(`positionerElement`,e)}),ae=vt(e,K,{styles:G,transitionStatus:ne,props:b,refs:[t,ie],hidden:!M,inert:!j}),q=Z.useRef(0),se=l(e=>{if(e.size===0&&q.current===0||ee.current.length===0)return;let t=q.current;if(q.current=e.size,e.size===t)return;let n=dt(Pe);if(t!==0&&!x.state.multiple&&P!==null&&Zt(ee.current,P,R)===-1){let e=D.current,t=e!=null&&Zt(ee.current,e,R)!==-1?e:null;k(t,n),t===null&&(x.set(`selectedIndex`,null),E.current=null)}if(t!==0&&x.state.multiple&&Array.isArray(P)){let e=e=>Zt(ee.current,e,R)!==-1,t=P.filter(t=>e(t));(t.length!==P.length||t.some(e=>!Xt(P,e,R)))&&(k(t,n),t.length===0&&(x.set(`selectedIndex`,null),E.current=null))}if(j&&U){x.update({scrollUpArrowVisible:!1,scrollDownArrowVisible:!1});let e={height:``};xn(I,e),xn(O.current,e)}}),ce=Z.useMemo(()=>({...re,side:W,alignItemWithTriggerActive:U,setControlledAlignItemWithTrigger:H,scrollUpArrowRef:z,scrollDownArrowRef:B}),[re,W,U,H]);return(0,Q.jsx)(oe,{elementsRef:C,labelsRef:w,onMapChange:se,children:(0,Q.jsxs)(yn.Provider,{value:ce,children:[M&&N&&(0,Q.jsx)(L,{inert:S(!j),cutout:te}),ae]})})}),Tn={...Je,...lt},En=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,finalFocus:o,...s}=e,{store:c,popupRef:d,onOpenChangeComplete:f,setOpen:p,valueRef:m,firstItemTextRef:g,selectedItemTextRef:_,multiple:v,handleScrollArrowVisibility:y,scrollHandlerRef:b,listRef:x,highlightItemOnHover:S}=Kt(),{side:C,align:w,alignItemWithTriggerActive:T,isPositioned:E,setControlledAlignItemWithTrigger:ee}=bn(),D=R(!0)!=null,O=qt(),k=ht(),{nonce:A,disableStyleElements:M}=ce(),N=J(c,$.id),P=J(c,$.open),F=J(c,$.openMethod),I=J(c,$.mounted),L=J(c,$.popupProps),ne=J(c,$.transitionStatus),z=J(c,$.triggerElement),B=J(c,$.positionerElement),V=J(c,$.listElement),H=Z.useRef(!1),U=Z.useRef(!1),re=Z.useRef({}),W=Ve(),G=l(e=>{if(!B||!d.current||!U.current)return;if(H.current||!T){y();return}let t=B.style.top===`0px`,n=B.style.bottom===`0px`;if(!t&&!n){y();return}let r=kn(B),i=An(B.getBoundingClientRect().height,`y`,r),o=qe(B),s=a(B),c=s.getComputedStyle(B),l=parseFloat(c.marginTop),u=parseFloat(c.marginBottom),f=Dn(s.getComputedStyle(d.current)),p=Math.min(o.documentElement.clientHeight-l-u,f),m=e.scrollTop,h=On(e),g=0,_=null,v=!1,b=!1,x=e=>{B.style.height=`${e}px`},S=(t,n)=>{let r=q(t,0,p-i);r>0&&x(i+r),e.scrollTop=n,p-(i+r)<=1&&(H.current=!0),y()},C=t?h-m:m,w=Math.min(i+C,p);if(g=w,C<=1){S(C,t?h:0);return}if(p-w>1?t?b=!0:_=0:(v=!0,n&&m<h&&(_=m-(C-(i+C-p)))),g=Math.ceil(g),g!==0&&x(g),b||_!=null){let t=On(e),n=b?t:q(_,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n)}(v||g>=p-1)&&(H.current=!0),y()});Z.useImperativeHandle(b,()=>G,[G]),ut({open:P,ref:d,onComplete(){P&&(f==null||f(!0))}});let K={open:P,transitionStatus:ne,side:C,align:w};u(()=>{!B||!d.current||Object.keys(re.current).length||(re.current={top:B.style.top||`0`,left:B.style.left||`0`,right:B.style.right,height:B.style.height,bottom:B.style.bottom,minHeight:B.style.minHeight,maxHeight:B.style.maxHeight,marginTop:B.style.marginTop,marginBottom:B.style.marginBottom})},[d,B]),u(()=>{P||T||(U.current=!1,H.current=!1,xn(B,re.current))},[P,T,B,d]),u(()=>{let e=d.current;if(!P||!z||!B||!e||T&&!E||c.state.transitionStatus===`ending`)return;if(!T){U.current=!0,W.request(y),e.style.removeProperty(`--transform-origin`);return}let t=Nn(e);e.style.removeProperty(`--transform-origin`);try{var n;let t=_.current;if(!(t!=null&&t.isConnected)){var r;t=!$.hasSelectedValue(c.state)&&(r=g.current)!=null&&r.isConnected?g.current:null}let i=m.current,o=a(B),s=o.getComputedStyle(B),l=o.getComputedStyle(e),u=qe(z),d=kn(z),f=jn(z.getBoundingClientRect(),d),p=jn(B.getBoundingClientRect(),d),h=f.height,v=V||e,b=v.scrollHeight,C=parseFloat(l.borderBottomWidth),w=parseFloat(s.marginTop)||10,T=parseFloat(s.marginBottom)||10,E=parseFloat(s.minHeight)||100,D=Dn(l),O=u.documentElement.clientHeight-w-T,A=u.documentElement.clientWidth,j=O-f.bottom+h,M,N=k===`rtl`?f.right-p.width:f.left,P=0;if(t&&i){let e=jn(i.getBoundingClientRect(),d);M=jn(t.getBoundingClientRect(),d),N=p.left+(k===`rtl`?e.right-M.right:e.left-M.left);let n=e.top-f.top+e.height/2;P=M.top-p.top+M.height/2-n}let F=j+P+T+C,I=Math.min(O,F),te=O-w-T,L=F-I,R=A-5;B.style.left=`${q(N,5,R-p.width)}px`,B.style.height=`${I}px`,B.style.maxHeight=`none`,B.style.marginTop=`${w}px`,B.style.marginBottom=`${T}px`,e.style.height=`100%`;let ne=On(v),W=L>=ne-1;W&&(I=Math.min(O,p.height)-(L-ne));let G=f.top<20||f.bottom>O-20||Math.ceil(I)+1<Math.min(b,E),K=(((n=o.visualViewport)==null?void 0:n.scale)??1)!==1&&et;if(G||K){U.current=!0,xn(B,re.current),ee(!1);return}let ie=Math.max(E,I);if(W){let e=Math.max(0,O-F);B.style.top=p.height>=te?`0`:`${e}px`,B.style.height=`${I}px`,v.scrollTop=On(v)}else B.style.bottom=`0`,v.scrollTop=L;if(M){let t=p.top,n=p.height,r=M.top+M.height/2,i=n>0?(r-t)/n*100:50,a=q(i,0,100);e.style.setProperty(`--transform-origin`,`50% ${a}%`)}(ie===O||I>=D)&&(H.current=!0),y(),S&&c.state.selectedIndex===null&&c.state.activeIndex===null&&x.current[0]!=null&&c.set(`activeIndex`,0),U.current=!0}finally{t()}},[c,P,B,z,m,g,_,d,y,T,ee,W,V,x,S,k,E]),Z.useEffect(()=>{if(!T||!B||!P)return;let e=a(B);function t(e){p(!1,dt(Re,e))}return Ue(e,`resize`,t)},[p,T,B,P]);let ie={...V?{role:`presentation`,"aria-orientation":void 0}:{role:`listbox`,"aria-multiselectable":v||void 0,id:`${N}-list`},onKeyDown(e){D&&j.has(e.key)&&e.stopPropagation()},onScroll(e){V||G(e.currentTarget)},...T&&{style:V?{height:`100%`}:Sn}},ae=h(`div`,e,{ref:[t,d],state:K,stateAttributesMapping:Tn,props:[L,ie,mt(ne),{className:!V&&T?_e.className:void 0},s]});return(0,Q.jsxs)(Z.Fragment,{children:[!M&&_e.getElement(A),(0,Q.jsx)(te,{context:O,modal:!1,disabled:!I,openInteractionType:F,returnFocus:o,restoreFocus:!0,children:ae})]})});function Dn(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&parseFloat(t)||1/0}function On(e){return ue(e.scrollHeight,e.clientHeight)}function kn(e){return ft.getScale(e)}function An(e,t,n){return e/n[t]}function jn(e,t){return pt({x:An(e.x,`x`,t),y:An(e.y,`y`,t),width:An(e.width,`x`,t),height:An(e.height,`y`,t)})}var Mn=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function Nn(e){let{style:t}=e,n={};for(let[e,r]of Mn)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of Mn){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}var Pn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{store:o,scrollHandlerRef:s}=Kt(),{alignItemWithTriggerActive:c}=bn(),u=J(o,$.hasScrollArrows),d=J(o,$.openMethod),f=J(o,$.multiple),p={id:`${J(o,$.id)}-list`,role:`listbox`,"aria-multiselectable":f||void 0,onScroll(e){var t;(t=s.current)==null||t.call(s,e.currentTarget)},...c&&{style:Sn},className:u&&d!==`touch`?_e.className:void 0},m=l(e=>{o.set(`listElement`,e)});return h(`div`,e,{ref:[t,m],props:[p,a]})}),Fn=Z.createContext(void 0);function In(){let e=Z.useContext(Fn);if(!e)throw Error(m(57));return e}var Ln=Z.memo(Z.forwardRef(function(e,t){let{render:n,className:r,style:i,value:a=null,label:o,disabled:s=!1,nativeButton:c=!1,...l}=e,d=Z.useRef(null),f=W({label:o,textRef:d,indexGuessBehavior:z.GuessFromOrder}),{store:p,itemProps:m,setOpen:g,setValue:_,selectionRef:y,typingRef:b,valuesRef:x,multiple:S,selectedItemTextRef:C,disabled:w,readOnly:T}=Kt(),E=J(p,$.isActive,f.index),ee=J(p,$.open),D=J(p,$.isSelected,a),O=J(p,$.isSelectedByFocus,f.index),k=J(p,$.isItemEqualToValue),A=f.index,j=A!==-1,M=Z.useRef(null);u(()=>{if(!j)return;let e=x.current;return e[A]=a,()=>{delete e[A]}},[j,A,a,x]),u(()=>{if(!j)return;let e=p.state.value,t=e;S&&Array.isArray(e)&&(t=e.length>0?e[e.length-1]:void 0),t!==void 0&&Yt(a,t,k)&&(p.set(`selectedIndex`,A),d.current&&(C.current=d.current))},[j,A,S,k,p,a,C]);let N=Z.useRef(null),P=Z.useRef(`mouse`),F=Z.useRef(!1),{getButtonProps:I,buttonRef:te}=v({disabled:s,focusableWhenDisabled:!0,native:c,composite:!0}),L={disabled:s,selected:D,highlighted:E};function R(e){if(w||T)return;let t=p.state.value;if(S){let n=Array.isArray(t)?t:[],r=D?Qt(n,a,k):[...n,a];_(r,dt(Ye,e))}else _(a,dt(Ye,e)),g(!1,dt(Ye,e))}function ne(){y.current.dragY=0}let B={role:`option`,"aria-selected":D,tabIndex:ee&&E?0:-1,onKeyDown(e){N.current=e.key,p.set(`activeIndex`,A),e.key===` `&&b.current&&e.preventDefault()},onClick(e){let t=e.type===`click`&&P.current!==`touch`,n=e.nativeEvent.pointerType,r=t&&Qe(e.nativeEvent)&&(n!==void 0||E),i=t&&!r&&!F.current;F.current=!1,(e.type!==`keydown`||N.current!==null)&&(s||e.type===`keydown`&&N.current===` `&&b.current||i||(N.current=null,R(e.nativeEvent)))},onPointerEnter(e){P.current=e.pointerType},onPointerMove(e){if(e.pointerType===`mouse`&&e.buttons===1){let t=y.current;t.dragY+=e.movementY,t.dragY**2>=64&&(t.allowUnselectedMouseUp=!0)}},onPointerDown(e){P.current=e.pointerType,F.current=!0,ne()},onMouseUp(){var e;if(ne(),s||P.current===`touch`||F.current)return;let t=!y.current.allowSelectedMouseUp&&D,n=!y.current.allowUnselectedMouseUp&&!D;t||n||(F.current=!0,(e=M.current)==null||e.click(),F.current=!1)}},V=h(`div`,e,{ref:[te,t,f.ref,M],state:L,props:[m,B,l,I]}),H=Z.useMemo(()=>({selected:D,index:A,textRef:d,selectedByFocus:O,hasRegistered:j}),[D,A,d,O,j]);return(0,Q.jsx)(Fn.Provider,{value:H,children:V})})),Rn=Z.forwardRef(function(e,t){let n=e.keepMounted??!1,{selected:r}=In();return n||r?(0,Q.jsx)(zn,{...e,ref:t}):null}),zn=Z.memo(Z.forwardRef((e,t)=>{let{render:n,className:r,style:i,keepMounted:a,...o}=e,{selected:s}=In(),c=Z.useRef(null),{transitionStatus:l,setMounted:u}=Ie(s),d=h(`span`,e,{ref:[t,c],state:{selected:s,transitionStatus:l},props:[{"aria-hidden":!0,children:`✔️`},o],stateAttributesMapping:lt});return ut({open:s,ref:c,onComplete(){s||u(!1)}}),d})),Bn=Z.memo(Z.forwardRef(function(e,t){let{index:n,textRef:r,selectedByFocus:i,hasRegistered:a}=In(),{firstItemTextRef:o,selectedItemTextRef:s}=Kt(),{render:c,className:l,style:u,...d}=e,f=Z.useCallback(e=>{e&&(a&&n===0&&(o.current=e),a&&i&&(s.current=e))},[o,s,n,i,a]);return h(`div`,e,{ref:[f,t,r],props:d})})),Vn=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,direction:a,keepMounted:o=!1,...s}=e,c=a===`up`,{store:l,popupRef:d,listRef:f,handleScrollArrowVisibility:p,scrollArrowsMountedCountRef:m}=Kt(),{side:g,scrollDownArrowRef:_,scrollUpArrowRef:v}=bn(),y=c?$.scrollUpArrowVisible:$.scrollDownArrowVisible,b=J(l,y),x=J(l,$.openMethod),S=b&&x!==`touch`,C=ot(),w=c?v:_,{mounted:T,transitionStatus:E,setMounted:ee}=Ie(S);u(()=>(m.current+=1,l.state.hasScrollArrows||l.set(`hasScrollArrows`,!0),()=>{m.current=Math.max(0,m.current-1),m.current===0&&l.state.hasScrollArrows&&l.set(`hasScrollArrows`,!1)}),[l,m]),ut({open:S,ref:w,onComplete(){S||ee(!1)}});let D=h(`div`,e,{ref:[t,w],state:{direction:a,visible:S,side:g,transitionStatus:E},props:[{"aria-hidden":!0,children:c?`▲`:`▼`,style:{position:`absolute`},onMouseMove(e){if(e.movementX===0&&e.movementY===0||C.isStarted())return;l.set(`activeIndex`,null);function t(){let e=l.state.listElement??d.current;if(!e)return;l.set(`activeIndex`,null),p();let n=ue(e.scrollHeight,e.clientHeight),r=le(e.scrollTop,n),i=r===(c?0:n),a=f.current;if(r!==e.scrollTop&&(e.scrollTop=r),a.length===0&&l.set(c?`scrollUpArrowVisible`:`scrollDownArrowVisible`,!i),i){C.clear();return}if(a.length>0){var o;let t=((o=w.current)==null?void 0:o.offsetHeight)||0;e.scrollTop=Hn(a,c,r,e.clientHeight,t,n)}C.start(40,t)}C.start(40,t)},onMouseLeave(){C.clear()}},s],stateAttributesMapping:lt});return T||o?D:null});function Hn(e,t,n,r,i,a){if(t){let t=0,r=n+i-1;for(let n=0;n<e.length;n+=1){let i=e[n];if(i&&i.offsetTop>=r){t=n;break}}let o=Math.max(0,t-1),s=e[o];return o<t&&s?le(s.offsetTop-i,a):0}let o=e.length-1,s=n+r-i+1;for(let t=0;t<e.length;t+=1){let n=e[t];if(n&&n.offsetTop+n.offsetHeight>s){o=Math.max(0,t-1);break}}let c=Math.min(e.length-1,o+1),l=e[c];return c>o&&l?le(l.offsetTop+l.offsetHeight-r+i,a):a}var Un=Z.forwardRef(function(e,t){return(0,Q.jsx)(Vn,{...e,ref:t,direction:`down`})}),Wn=Z.forwardRef(function(e,t){return(0,Q.jsx)(Vn,{...e,ref:t,direction:`up`})}),Gn=sn;function Kn({className:e,...t}){return(0,Q.jsx)(hn,{"data-slot":`select-value`,className:r(`flex flex-1 text-left`,e),...t})}function qn({className:e,size:t=`default`,children:n,...i}){return(0,Q.jsxs)(pn,{"data-slot":`select-trigger`,"data-size":t,className:r(`flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pr-2 pl-2.5 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/20 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive-border aria-invalid:ring-3 aria-invalid:ring-destructive-border/40 data-placeholder:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...i,children:[n,(0,Q.jsx)(gn,{render:(0,Q.jsx)(Te,{className:`pointer-events-none size-4 text-secondary-foreground`})})]})}function Jn({className:e,children:t,side:n=`bottom`,sideOffset:i=4,align:a=`center`,alignOffset:o=0,alignItemWithTrigger:s=!0,...c}){return(0,Q.jsx)(vn,{children:(0,Q.jsx)(wn,{side:n,sideOffset:i,align:a,alignOffset:o,alignItemWithTrigger:s,className:`isolate z-50`,children:(0,Q.jsxs)(En,{"data-slot":`select-content`,"data-align-trigger":s,className:r(`data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 relative isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none`,e),...c,children:[(0,Q.jsx)(Xn,{}),(0,Q.jsx)(Pn,{children:t}),(0,Q.jsx)(Zn,{})]})})})}function Yn({className:e,children:t,...n}){return(0,Q.jsxs)(Ln,{"data-slot":`select-item`,className:r(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-highlight focus:text-highlight-foreground not-data-[variant=destructive]:focus:**:text-highlight-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,Q.jsx)(Bn,{className:`flex flex-1 shrink-0 gap-2 whitespace-nowrap`,children:t}),(0,Q.jsx)(Rn,{render:(0,Q.jsx)(`span`,{className:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`}),children:(0,Q.jsx)(y,{className:`pointer-events-none`})})]})}function Xn({className:e,...t}){return(0,Q.jsx)(Wn,{"data-slot":`select-scroll-up-button`,className:r(`top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,Q.jsx)(K,{})})}function Zn({className:e,...t}){return(0,Q.jsx)(Un,{"data-slot":`select-scroll-down-button`,className:r(`bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4`,e),...t,children:(0,Q.jsx)(Te,{})})}function Qn(e,t){return e-t}function $n(e,t,n){let r=e.slice();return r[t]=n,r.sort(Qn)}function er(e,t,n,r,i,a){let o=e;return o=q(o,n,r),i&&(o=$n(a,t,q(o,a[t-1]??-1/0,a[t+1]??1/0))),o}function tr(e,t,n){if(!Array.isArray(e))return!0;let r=e.reduce((e,t,n,r)=>(n===r.length-1||e.push(Math.abs(t-r[n+1])),e),[]);return Math.min(...r)>=t*n}var nr={activeThumbIndex:()=>null,max:()=>null,min:()=>null,minStepsBetweenValues:()=>null,step:()=>null,values:()=>null,...pe},rr=Z.createContext(void 0);function ir(){let e=Z.useContext(rr);if(e===void 0)throw Error(m(62));return e}function ar(e){return`key`in e?Me:De}function or(e,t){return typeof e==`number`&&typeof t==`number`?e===t:Array.isArray(e)&&Array.isArray(t)?on(e,t):!1}var sr=Z.forwardRef(function(e,t){let{"aria-labelledby":n,className:r,defaultValue:i,disabled:a=!1,id:o,format:s,largeStep:c=10,locale:d,render:f,max:p=100,min:m=0,minStepsBetweenValues:g=0,form:_,name:v,onValueChange:y,onValueCommitted:b,orientation:x=`horizontal`,step:S=1,thumbCollisionBehavior:C=`push`,thumbAlignment:w=`center`,value:T,style:E,...ee}=e,D=at(o),O=cn(D),k=l(y),A=l(b),{clearErrors:j}=xe(),{state:M,disabled:N,name:P,setTouched:F,setDirty:I,validityData:te,validation:L}=ae(),{labelId:R}=Se(),[ne,z]=Z.useState(),B=n??ln(R,ne),V=N||a,H=P??v,[U,re]=Ce({controlled:T,default:i??m,name:`Slider`}),W=Z.useRef(null),K=Z.useRef(null),ie=Z.useRef([]),se=Z.useRef(null),ce=Z.useRef(null),le=Z.useRef(-1),ue=Z.useRef(null),de=Z.useRef(`none`),fe=ct(s),[pe,me]=Z.useState(-1),[he,ge]=Z.useState(-1),[_e,ve]=Z.useState(!1),[ye,be]=Z.useState(()=>new Map),[Te,Ee]=Z.useState([void 0,void 0]),J=l(e=>{me(e),e!==-1&&ge(e)});we(L.inputRef,D,U,void 0,!V,v),G(U,()=>{j(H),L.change(U);let e=te.initialValue,t;t=Array.isArray(U)&&Array.isArray(e)?!on(U,e):U!==e,I(t)});let De=l(e=>{e&&(K.current=e)}),Oe=Array.isArray(U),ke=Z.useMemo(()=>Oe?U.slice().sort(Qn):[q(U,m,p)],[p,m,Oe,U]),Ae=l((e,t)=>{if(Number.isNaN(e)||or(e,U))return!1;let n=t??dt(`none`,void 0,void 0,{activeThumbIndex:-1}),r=n.event,i=new(r.constructor??Event)(r.type,r);return Object.defineProperty(i,"target",{writable:!0,value:{value:e,name:H}}),n.event=i,k(e,n),!n.isCanceled&&(de.current=n.reason,re(e),!0)}),je=l((e,t,n)=>{let r=er(e,t,m,p,Oe,ke);if(tr(r,S,g)){let e=ar(n),i=Ae(r,dt(e,n.nativeEvent,void 0,{activeThumbIndex:t}));F(!0),i&&A(r,Fe(e,n.nativeEvent))}});u(()=>{let e=Y(qe(W.current));V&&Be(W.current,e)&&e.blur()},[V]),V&&pe!==-1&&J(-1);let Me=Z.useMemo(()=>({...M,activeThumbIndex:pe,disabled:V,dragging:_e,orientation:x,max:p,min:m,minStepsBetweenValues:g,step:S,values:ke}),[M,pe,V,_e,p,m,g,x,S,ke]),Ne=Z.useMemo(()=>({active:pe,controlRef:K,disabled:V,dragging:_e,validation:L,formatOptionsRef:fe,handleInputChange:je,indicatorPosition:Te,inset:w!==`center`,labelId:B,rootLabelId:O,largeStep:c,lastUsedThumbIndex:he,lastChangeReasonRef:de,form:_,locale:d,max:p,min:m,minStepsBetweenValues:g,name:H,onValueCommitted:A,orientation:x,pressedInputRef:se,pressedThumbCenterOffsetRef:ce,pressedThumbIndexRef:le,pressedValuesRef:ue,registerFieldControlRef:De,renderBeforeHydration:w===`edge`,setActive:J,setDragging:ve,setIndicatorPosition:Ee,setLabelId:z,setValue:Ae,state:Me,step:S,thumbCollisionBehavior:C,thumbMap:ye,thumbRefs:ie,values:ke}),[pe,K,B,O,V,_e,L,fe,je,Te,c,he,de,_,d,p,m,g,H,A,x,se,ce,le,ue,De,J,ve,Ee,z,Ae,Me,S,C,w,ye,ie,ke]),Pe=h(`div`,e,{state:Me,ref:[t,W],props:[{"aria-labelledby":B,id:D,role:`group`},ee,e=>L.getValidationProps(V,e)],stateAttributesMapping:nr});return(0,Q.jsx)(rr.Provider,{value:Ne,children:(0,Q.jsx)(oe,{elementsRef:ie,onMapChange:be,children:Pe})})});function cr(e){let t=e.getBoundingClientRect();return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function lr(e){if(e===0)return 0;if(Math.abs(e)<1){let t=e.toExponential().split(`e-`),n=t[0].split(`.`)[1];return(n?n.length:0)+parseInt(t[1],10)}let t=e.toString().split(`.`)[1];return t?t.length:0}function ur(e,t,n){let r=Math.round((e-n)/t)*t+n;return Number(r.toFixed(Math.max(lr(t),lr(n))))}function dr({values:e,index:t,nextValue:n,min:r,max:i,step:a,minStepsBetweenValues:o,initialValues:s}){if(e.length===0)return[];let c=e.slice(),l=a*o,u=c.length-1,d=s??e,f=r+t*l,p=i-(u-t)*l;c[t]=q(n,f,p);for(let e=t+1;e<=u;e+=1){let t=c[e-1]+l,n=i-(u-e)*l,r=d[e]??c[e],a=Math.max(c[e],t);r<a&&(a=Math.max(r,t)),c[e]=q(a,t,n)}for(let e=t-1;e>=0;--e){let t=c[e+1]-l,n=r+e*l,i=d[e]??c[e],a=Math.min(c[e],t);i>a&&(a=Math.min(i,t)),c[e]=q(a,n,t)}for(let e=0;e<=u;e+=1)c[e]=Number(c[e].toFixed(12));return c}function fr({behavior:e,values:t,currentValues:n,initialValues:r,pressedIndex:i,nextValue:a,min:o,max:s,step:c,minStepsBetweenValues:l}){let u=n??t,d=r??t;if(!(u.length>1))return{value:a,thumbIndex:0,didSwap:!1};let f=c*l;switch(e){case`swap`:{let e=u[i],t=1e-7,n=u.slice(),r=n[i-1],p=n[i+1],m=r==null?o:r+f,h=p==null?s:p-f,g=q(a,m,h),_=Number(g.toFixed(12));n[i]=_;let v=a>e,y=a<e,b=v&&p!=null&&a>=p-t,x=y&&r!=null&&a<=r+t;if(!b&&!x)return{value:n,thumbIndex:i,didSwap:!1};let S=b?i+1:i-1,C=n.map((e,t)=>t===i?_:d[t]??u[t]),w=a;w=b?Math.max(a,n[S]):Math.min(a,n[S]);let T=dr({values:n,index:S,nextValue:w,min:o,max:s,step:c,minStepsBetweenValues:l,initialValues:C}),E=b?S-1:S+1;if(E>=0&&E<T.length){let e=T[E-1],t=T[E+1],n=e==null?o:e+f;n=Math.max(n,o+E*f);let r=t==null?s:t-f;r=Math.min(r,s-(T.length-1-E)*f);let i=q(_,n,r);T[E]=Number(i.toFixed(12))}return{value:T,thumbIndex:S,didSwap:!0}}case`push`:return{value:dr({values:u,index:i,nextValue:a,min:o,max:s,step:c,minStepsBetweenValues:l}),thumbIndex:i,didSwap:!1};default:{let e=u.slice(),t=e[i-1],n=e[i+1],r=t==null?o:t+f,c=n==null?s:n-f,l=q(a,r,c);return e[i]=Number(l.toFixed(12)),{value:e,thumbIndex:i,didSwap:!1}}}}var pr=2;function mr(e,t){if(!e)return{start:0,end:0};function n(e){let t=e==null?0:parseFloat(e);return Number.isNaN(t)?0:t}let r=t?`Top`:`InlineStart`,i=t?`Bottom`:`InlineEnd`;return{start:n(e[`border${r}Width`])+n(e[`padding${r}`]),end:n(e[`border${i}Width`])+n(e[`padding${i}`])}}function hr(e,t){if(t.current!=null&&e.changedTouches){let n=e;for(let e=0;e<n.changedTouches.length;e+=1){let r=n.changedTouches[e];if(r.identifier===t.current)return{x:r.clientX,y:r.clientY}}return null}return{x:e.clientX,y:e.clientY}}var gr=Z.forwardRef(function(e,t){let{render:n,className:r,style:o,...s}=e,{disabled:c,dragging:u,inset:d,lastChangeReasonRef:f,max:p,min:m,minStepsBetweenValues:g,onValueCommitted:_,orientation:v,pressedInputRef:y,pressedThumbCenterOffsetRef:b,pressedThumbIndexRef:x,pressedValuesRef:S,registerFieldControlRef:C,renderBeforeHydration:w,setActive:T,setDragging:E,setValue:ee,state:D,step:O,thumbCollisionBehavior:k,thumbRefs:A,values:j}=ir(),M=ht(),N=j.length>1,P=v===`vertical`,F=Z.useRef(null),I=Z.useRef(null),te=l(e=>{e&&I.current==null&&(I.current=a(e).getComputedStyle(e))}),L=Z.useRef(null),R=Z.useRef(0),ne=Z.useRef(0),z=Z.useRef(null),B=ct(j);function V(e){x.current!==e&&(x.current=e);let t=A.current[e];if(!t){b.current=null,y.current=null;return}y.current=t.querySelector(`input[type="range"]`)}function H(){x.current=-1,b.current=null,y.current=null}function U(e){return i(e)?A.current.some(t=>{var n;return!i(t)||!Be(t,e)?!1:((n=t.querySelector(`input[type="range"]`))==null?void 0:n.disabled)===!0}):!1}function re(e){let t=F.current,n=x.current;if(!t||!N&&(n<0||n>=j.length))return null;let{width:r,height:i,bottom:a,left:o,right:s}=t.getBoundingClientRect(),c=mr(I.current,P),l=ne.current,u=(P?i:r)-c.start-c.end-l*2,d=b.current??0,f=e.x-d,h=e.y-d,_=P?a-h-c.end:(M===`rtl`?s-f:f-o)-c.start,v=q((_-l)/u,0,1),y=(p-m)*v+m;return y=ur(y,O,m),y=q(y,m,p),N?n<0?null:fr({behavior:k,values:j,currentValues:B.current??j,initialValues:S.current,pressedIndex:n,nextValue:y,min:m,max:p,step:O,minStepsBetweenValues:g}):{value:y,thumbIndex:n,didSwap:!1}}function W(e){S.current=N?j.slice():null,z.current=null,B.current=j;let t=x.current,n=t;if(t>-1&&t<j.length){if(j[t]===p){let e=t;for(;e>0&&j[e-1]===p;)--e;n=e}}else{let t=P?`y`:`x`,a;n=-1;for(let o=0;o<A.current.length;o+=1){var r;let s=A.current[o];if(i(s)&&!((r=s.querySelector(`input[type="range"]`))!=null&&r.disabled)){let r=cr(s),i=Math.abs(e[t]-r[t]);(a===void 0||i<=a)&&(n=o,a=i)}}}if(n>-1&&n!==t&&V(n),d){let e=A.current[n];if(i(e)){let t=e.getBoundingClientRect();ne.current=t[P?`height`:`width`]/2}}}function G(e){var t;let n=(t=A.current)==null||(t=t[e])==null?void 0:t.querySelector(`input[type="range"]`);n&&n.focus({preventScroll:!0,focusVisible:!1})}function K(e,t,n){let r=ee(e.value,dt(t,n,void 0,{activeThumbIndex:e.thumbIndex}));return r&&(z.current=e.value,B.current=Array.isArray(e.value)?e.value:[e.value],e.didSwap&&V(e.thumbIndex)),r}let ie=l(e=>{let t=hr(e,L);if(t==null)return;if(R.current+=1,e.type===`pointermove`&&e.buttons===0){ae(e);return}let n=re(t);n!=null&&tr(n.value,O,g)&&(!u&&R.current>pr&&E(!0),K(n,`drag`,e)&&n.didSwap&&G(n.thumbIndex))}),ae=l(e=>{var t;if(T(-1),E(!1),y.current=null,b.current=null,z.current!=null){let t=f.current;_(z.current,Fe(t,e))}if(`pointerType`in e&&(t=F.current)!=null&&t.hasPointerCapture(e.pointerId)){var n;(n=F.current)==null||n.releasePointerCapture(e.pointerId)}x.current=-1,L.current=null,S.current=null,z.current=null,se()}),oe=l(e=>{if(c)return;if(U(ze(e))){H();return}let t=e.changedTouches[0];t!=null&&(L.current=t.identifier);let n=hr(e,L);if(n!=null){W(n);let t=re(n);if(t==null)return;G(t.thumbIndex),K(t,`track-press`,e)&&t.didSwap&&G(t.thumbIndex)}R.current=0;let r=qe(F.current);r.addEventListener(`touchmove`,ie,{passive:!0}),r.addEventListener(`touchend`,ae,{passive:!0})}),se=l(()=>{let e=qe(F.current);e.removeEventListener(`pointermove`,ie),e.removeEventListener(`pointerup`,ae),e.removeEventListener(`touchmove`,ie),e.removeEventListener(`touchend`,ae),S.current=null,z.current=null}),ce=Ve();return Z.useEffect(()=>{let e=F.current;if(!e)return()=>se();let t=Ue(e,`touchstart`,oe,{passive:!0});return()=>{t(),ce.cancel(),se()}},[se,oe,F,ce]),Z.useEffect(()=>{c&&se()},[c,se]),h(`div`,e,{state:D,ref:[t,C,F,te],props:[{"data-base-ui-slider-control":w?``:void 0,onPointerDown(e){let t=F.current,n=ze(e.nativeEvent);if(!t||c||e.defaultPrevented||!i(n)||e.button!==0)return;if(U(n)){H();return}let r=hr(e,L);if(r!=null){W(r);let n=re(r);if(n==null)return;Be(A.current[n.thumbIndex],Y(qe(t)))?e.preventDefault():ce.request(()=>{G(n.thumbIndex)}),E(!0),b.current==null&&K(n,`track-press`,e.nativeEvent)&&n.didSwap&&G(n.thumbIndex)}e.nativeEvent.pointerId&&t.setPointerCapture(e.nativeEvent.pointerId),R.current=0;let a=qe(F.current);a.addEventListener(`pointermove`,ie,{passive:!0}),a.addEventListener(`pointerup`,ae,{once:!0})}},s],stateAttributesMapping:nr})}),_r=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{state:o}=ir();return h(`div`,e,{state:o,ref:t,props:[{style:{position:`relative`}},a],stateAttributesMapping:nr})}),vr=Ee();function yr(){return g}function br(){return!1}function xr(){return!0}function Sr(){return(0,vr.useSyncExternalStore)(yr,br,xr)}var Cr=function(e){return e.index=`data-index`,e.dragging=`data-dragging`,e.orientation=`data-orientation`,e.disabled=`data-disabled`,e.valid=`data-valid`,e.invalid=`data-invalid`,e.touched=`data-touched`,e.dirty=`data-dirty`,e.focused=`data-focused`,e}({}),wr=new Set([...j,T,w]);function Tr(e,t,n,r){if(!(t<0))return e.length===2?t===0?`${be(e[t],r,n)} start range`:`${be(e[t],r,n)} end range`:n?be(e[t],r,n):void 0}function Er(e,t,n,r,i){let a=n===1?e+t:e-t,o=Number(a.toFixed(Math.max(lr(e),lr(t),lr(r))));return q(o,r,i)}var Dr=Z.forwardRef(function(e,t){let{render:n,children:r,className:i,"aria-describedby":o,"aria-label":s,"aria-labelledby":c,"aria-valuetext":p,disabled:m=!1,getAriaLabel:g,getAriaValueText:_,id:v,index:y,inputRef:b,onBlur:S,onFocus:C,onKeyDown:E,tabIndex:ee,style:O,...k}=e,{nonce:A}=ce(),M=at(v),{active:I,lastUsedThumbIndex:te,controlRef:L,disabled:R,validation:ne,formatOptionsRef:z,handleInputChange:B,inset:V,labelId:H,largeStep:U,locale:re,max:G,min:K,minStepsBetweenValues:q,form:oe,name:se,orientation:le,pressedInputRef:ue,pressedThumbCenterOffsetRef:de,pressedThumbIndexRef:fe,renderBeforeHydration:pe,setActive:he,setIndicatorPosition:ge,state:_e,step:ve,values:ye}=ir(),xe=ht(),Se=m||R,Ce=ye.length>1,we=le===`vertical`,Te=xe===`rtl`,{setTouched:Ee,setFocused:J,validationMode:De}=ae(),Oe=Z.useRef(null),ke=Z.useRef(null),Y=Z.useRef(!1),Ae=at(),je=ie(),Me=Ce?Ae:je,Ne=Z.useMemo(()=>({inputId:Me}),[Me]),{ref:Pe,index:Fe}=W({metadata:Ne}),Ie=Ce?y??Fe:0,Le=Ie===ye.length-1,Re=ye[Ie],ze=me(Re,K,G),[Be,Ve]=Z.useState(),He=Sr(),Ue=te>=0&&te<ye.length?te:-1,We=l(()=>{let e=L.current,t=Oe.current;if(!e||!t)return;let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=we?`height`:`width`,a=r[i]-n[i],o=(n[i]/2+a*ze/100)/r[i]*100,s=Number.isFinite(o)?o:void 0;Ve(s),Ie===0?ge(e=>[s,e[1]]):Le&&ge(e=>[e[0],s])});u(()=>{V&&queueMicrotask(We)},[We,V]),u(()=>{V&&We()},[We,V,ze]),u(()=>{if(!V)return;let e=L.current,t=Oe.current;if(!e||!t)return;let n=a(e).ResizeObserver;if(typeof n!=`function`)return;let r=new n(We);return r.observe(e),r.observe(t),()=>{r.disconnect()}},[L,We,V]);let Ge=we?`bottom`:`insetInlineStart`,Ke=we?`left`:`top`,qe;Ce?I===Ie?qe=2:Ue===Ie&&(qe=1):I===Ie&&(qe=1);let Je;Je=V?{"--position":`${Be??0}%`,visibility:pe&&He||Be===void 0?`hidden`:void 0,position:`absolute`,[Ge]:`var(--position)`,[Ke]:`50%`,translate:`${(we||!Te?-1:1)*50}% ${(we?1:-1)*50}%`,zIndex:qe}:Number.isFinite(ze)?{position:`absolute`,[Ge]:`${ze}%`,[Ke]:`50%`,translate:`${(we||!Te?-1:1)*50}% ${(we?1:-1)*50}%`,zIndex:qe}:nt;let X;le===`vertical`&&(X=Te?`vertical-rl`:`vertical-lr`);let Ye=typeof g==`function`?g(Ie):s,Xe=f({"aria-label":Ye,"aria-labelledby":c??(Ye==null?H:void 0),"aria-describedby":o,"aria-orientation":le,"aria-valuenow":Re,"aria-valuetext":typeof _==`function`?_(be(Re,re,z.current??void 0),Re,Ie):p??Tr(ye,Ie,z.current??void 0,re),disabled:Se,form:oe,id:Me,max:G,min:K,name:se,onChange(e){B(e.currentTarget.valueAsNumber,Ie,e)},onFocus(e){let t=Y.current;Y.current=!1,he(Ie),J(!0),t&&e.stopPropagation()},onBlur(e){if(Y.current){e.stopPropagation();return}Oe.current&&(he(-1),Ee(!0),J(!1),De===`onBlur`&&ne.commit(er(Re,Ie,K,G,Ce,ye)))},onKeyDown(e){if(e.defaultPrevented||!wr.has(e.key))return;j.has(e.key)&&e.stopPropagation();let t=null,n=ur(Re,ve,K);switch(e.key){case x:t=Er(n,e.shiftKey?U:ve,1,K,G);break;case D:t=Er(n,e.shiftKey?U:ve,Te?-1:1,K,G);break;case F:t=Er(n,e.shiftKey?U:ve,-1,K,G);break;case N:t=Er(n,e.shiftKey?U:ve,Te?1:-1,K,G);break;case T:t=Er(n,U,1,K,G);break;case w:t=Er(n,U,-1,K,G);break;case`End`:t=G,Ce&&(t=Number.isFinite(ye[Ie+1])?ye[Ie+1]-ve*q:G);break;case P:t=K,Ce&&(t=Number.isFinite(ye[Ie-1])?ye[Ie-1]+ve*q:K)}if(t!==null){let n=e.currentTarget;rt(n)||(Y.current=!0,n.blur(),n.focus({preventScroll:!0,focusVisible:!0})),B(t,Ie,e),e.preventDefault()}},step:ve,style:{...nt,width:`100%`,height:`100%`,writingMode:X},tabIndex:ee??void 0,type:`range`,value:Re??``},e=>ne.getValidationProps(Se,e),{onKeyDown:E}),Ze=d(ke,ne.inputRef,b);return h(`div`,e,{state:_e,ref:[t,Pe,Oe],props:[{[Cr.index]:Ie,children:(0,Q.jsxs)(Z.Fragment,{children:[r,(0,Q.jsx)(`input`,{ref:Ze,...Xe,suppressHydrationWarning:!0}),V&&He&&pe&&Le&&(0,Q.jsx)(`script`,{nonce:A,dangerouslySetInnerHTML:{__html:'!function(){const t=document.currentScript?.parentElement;if(!t)return;const e=t.closest("[data-base-ui-slider-control]");if(!e)return;const r=e.querySelector("[data-base-ui-slider-indicator]"),i=e.getBoundingClientRect(),n="vertical"===e.getAttribute("data-orientation")?"height":"width",o=e.querySelectorAll(\'input[type="range"]\'),l=o.length>1,s=o.length-1;let a=null,u=null;for(let t=0;t<o.length;t+=1){const e=o[t],y=parseFloat(e.getAttribute("value")??"");if(Number.isNaN(y))return;const c=e.parentElement;if(!c)return;const p=parseFloat(e.getAttribute("max")??"100"),g=parseFloat(e.getAttribute("min")??"0"),b=c?.getBoundingClientRect(),d=i[n]-b[n],m=100*(y-g)/(p-g),v=(b[n]/2+d*m/100)/i[n]*100;c.style.setProperty("--position",`${v}%`),Number.isFinite(v)&&(c.style.removeProperty("visibility"),r&&(0===t?(a=v,r.style.setProperty("--start-position",`${v}%`),l||r.style.removeProperty("visibility")):t===s&&(u=v-(a??0),r.style.setProperty("--end-position",`${v}%`),r.style.setProperty("--relative-size",`${u}%`),r.style.removeProperty("visibility"))))}}();'},suppressHydrationWarning:!0})]}),id:M,onBlur:S,onFocus:C,onPointerDown(e){if(!Se){if(fe.current=Ie,Oe.current!=null){let t=le===`horizontal`?`x`:`y`,n=cr(Oe.current),r=(le===`horizontal`?e.clientX:e.clientY)-n[t];de.current=r}ke.current!=null&&ue.current!==ke.current&&(ue.current=ke.current)}},style:Je,suppressHydrationWarning:pe||void 0},k],stateAttributesMapping:nr})});function Or(e,t,n,r,i,a){let o=n===void 0||t&&r===void 0?`hidden`:void 0,s=e?`bottom`:`insetInlineStart`,c=e?`height`:`width`,l={visibility:i&&a?`hidden`:o,position:e?`absolute`:`relative`,[e?`width`:`height`]:`inherit`};return l[`--start-position`]=`${n??0}%`,t?(l[`--relative-size`]=`${(r??0)-(n??0)}%`,l[s]=`var(--start-position)`,l[c]=`var(--relative-size)`,l):(l[s]=0,l[c]=`var(--start-position)`,l)}function kr(e,t,n,r){let i=e?`bottom`:`insetInlineStart`,a=e?`height`:`width`,o={position:e?`absolute`:`relative`,[e?`width`:`height`]:`inherit`};if(!t)return o[i]=0,o[a]=`${n}%`,o;let s=r-n;return o[i]=`${n}%`,o[a]=`${s}%`,o}var Ar=Z.forwardRef(function(e,t){let{render:n,className:r,style:i,...a}=e,{indicatorPosition:o,inset:s,max:c,min:l,orientation:u,renderBeforeHydration:d,state:f,values:p}=ir(),m=Sr(),g=u===`vertical`,_=p.length>1,v=s?Or(g,_,o[0],o[1],d,m):kr(g,_,me(p[0],l,c),me(p[p.length-1],l,c));return h(`div`,e,{state:f,ref:t,props:[{"data-base-ui-slider-indicator":d?``:void 0,style:v,suppressHydrationWarning:d||void 0},a],stateAttributesMapping:nr})});function jr({className:e,defaultValue:t,value:n,min:i=0,max:a=100,...o}){let s=Array.isArray(n)?n:Array.isArray(t)?t:[i,a];return(0,Q.jsx)(sr,{className:r(`data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full`,e),"data-slot":`slider`,defaultValue:t,value:n,min:i,max:a,thumbAlignment:`edge`,...o,children:(0,Q.jsxs)(gr,{className:`relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-40 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col`,children:[(0,Q.jsx)(_r,{"data-slot":`slider-track`,className:`relative grow overflow-hidden rounded-full bg-muted select-none data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5`,children:(0,Q.jsx)(Ar,{"data-slot":`slider-range`,className:`bg-primary select-none data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full`})}),Array.from({length:s.length},(e,t)=>(0,Q.jsx)(Dr,{"data-slot":`slider-thumb`,className:`block size-4 shrink-0 rounded-full border border-primary bg-background shadow-sm ring-ring/20 transition-[color,box-shadow] select-none hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50`},t))]})})}function Mr({option:e,selected:t,onChange:n}){var r;let i=t[e.key],a=ge(e,t);if(e.type===`toggle`)return(0,Q.jsx)(se,{"aria-label":e.label,checked:!!i,disabled:!a,onCheckedChange:n,size:`sm`});if(!((r=e.values)!=null&&r.length))return null;if(e.type===`slider_discrete`){let r=Math.max(e.values.indexOf(String(i)),0);return(0,Q.jsxs)(`div`,{className:`nexus-chat-agent-options__slider`,children:[(0,Q.jsx)(jr,{"aria-label":e.label,disabled:!a,max:Math.max(e.values.length-1,0),min:0,onValueChange:r=>{var i;let a=Array.isArray(r)?r[0]:r,o=(i=e.values)==null?void 0:i[a??0];o&&!ve(e,o,t)&&n(o)},step:1,value:r}),(0,Q.jsx)(`div`,{className:`nexus-chat-agent-options__slider-labels`,children:e.values.map(r=>(0,Q.jsx)(_,{"aria-pressed":r===i,disabled:!a||ve(e,r,t),onClick:()=>n(r),size:`xs`,type:`button`,variant:`ghost`,children:r},r))})]})}if(e.type===`segment`)return(0,Q.jsx)(Ht,{"aria-label":e.label,className:`nexus-chat-agent-options__segments`,disabled:!a,onValueChange:n,value:typeof i==`string`?i:``,children:e.values.map(n=>(0,Q.jsxs)(bt,{children:[(0,Q.jsx)(Ut,{disabled:ve(e,n,t),value:n}),(0,Q.jsx)(`span`,{children:n})]},n))});let o=de(e);return(0,Q.jsxs)(Gn,{disabled:!a,modal:!1,onValueChange:e=>{typeof e==`string`&&n(e)},value:typeof i==`string`?i:null,children:[(0,Q.jsx)(qn,{"aria-label":e.label,size:`sm`,children:(0,Q.jsx)(Kn,{})}),(0,Q.jsx)(Jn,{alignItemWithTrigger:!1,className:`nexus-chat-agent-options__menu`,side:`top`,children:e.values.map(n=>(0,Q.jsxs)(Yn,{disabled:ve(e,n,t),value:n,children:[o?(0,Q.jsx)(ye,{"aria-hidden":`true`,className:`nexus-chat-agent-options__value-icon`,value:n}):null,n]},n))})]})}export{Mr as default};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{n,t as r}from"./jsx-runtime-DE3RlOCf.js";import{n as i,t as a}from"./createLucideIcon-D1A0JYKN.js";import{t as o}from"./button-CO0tH6F2.js";import{n as s,r as c}from"./UnsupportedArtifact-CeOCu_J6.js";import{t as l}from"./TableArtifactRenderer-BLZLQMxU.js";import{r as u}from"./I18nContext-BlQKoDmv.js";var d=t(((e,t)=>{((n,r)=>{typeof define==`function`&&define.amd?define([],r):typeof t==`object`&&e!==void 0?t.exports=r():n.Papa=r()})(e,function e(){var t=typeof self<`u`?self:typeof window<`u`?window:t===void 0?{}:t,n,r=!t.document&&!!t.postMessage,i=t.IS_PAPA_WORKER||!1,a={},o=0,s={};function c(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=``,this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=y(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new p(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,n){var r=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<r){let t=this._config.newline;t||=(a=this._config.quoteChar||`"`,this._handle.guessLineEndings(e,a)),e=[...e.split(t).slice(r)].join(t)}this.isFirstChunk&&x(this._config.beforeFirstChunk)&&(a=this._config.beforeFirstChunk(e))!==void 0&&(e=a),this.isFirstChunk=!1,this._halted=!1;var r=this._partialLine+e,a=(this._partialLine=``,this._handle.parse(r,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(e=a.meta.cursor,r=(this._finished||(this._partialLine=r.substring(e-this._baseIndex),this._baseIndex=e),a&&a.data&&(this._rowCount+=a.data.length),this._finished||this._config.preview&&this._rowCount>=this._config.preview),i)t.postMessage({results:a,workerId:s.WORKER_ID,finished:r});else if(x(this._config.chunk)&&!n){if(this._config.chunk(a,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=a=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(a.data),this._completeResults.errors=this._completeResults.errors.concat(a.errors),this._completeResults.meta=a.meta),this._completed||!r||!x(this._config.complete)||a&&a.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),r||a&&a.meta.paused||this._nextChunk(),a}this._halted=!0},this._sendError=function(e){x(this._config.error)?this._config.error(e):i&&this._config.error&&t.postMessage({workerId:s.WORKER_ID,error:e,finished:!1})}}function l(e){var t;(e||={}).chunkSize||(e.chunkSize=s.RemoteChunkSize),c.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)),t.open(this._config.downloadRequestBody?`POST`:`GET`,this._input,!r),this._config.downloadRequestHeaders){var e,n=this._config.downloadRequestHeaders;for(e in n)t.setRequestHeader(e,n[e])}var i;this._config.chunkSize&&(i=this._start+this._config.chunkSize-1,t.setRequestHeader(`Range`,`bytes=`+this._start+`-`+i));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&t.status===0&&this._chunkError()}},this._chunkLoaded=function(){t.readyState===4&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(e=>(e=e.getResponseHeader(`Content-Range`))===null?-1:parseInt(e.substring(e.lastIndexOf(`/`)+1)))(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function u(e){(e||={}).chunkSize||(e.chunkSize=s.LocalChunkSize),c.call(this,e);var t,n,r=typeof FileReader<`u`;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,r?((t=new FileReader).onload=b(this._chunkLoaded,this),t.onerror=b(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,i=(this._config.chunkSize&&(i=Math.min(this._start+this._config.chunkSize,this._input.size),e=n.call(e,this._start,i)),t.readAsText(e,this._config.encoding));r||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function d(e){var t;c.call(this,e||={}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,n;if(!this._finished)return e=this._config.chunkSize,t=e?(n=t.substring(0,e),t.substring(e)):(n=t,``),this._finished=!t,this.parseChunk(n)}}function f(e){c.call(this,e||={});var t=[],n=!0,r=!1;this.pause=function(){c.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){c.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(`data`,this._streamData),this._input.on(`end`,this._streamEnd),this._input.on(`error`,this._streamError)},this._checkIsFinished=function(){r&&t.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):n=!0},this._streamData=b(function(e){try{t.push(typeof e==`string`?e:e.toString(this._config.encoding)),n&&(n=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=b(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=b(function(){this._streamCleanUp(),r=!0,this._streamData(``)},this),this._streamCleanUp=b(function(){this._input.removeListener(`data`,this._streamData),this._input.removeListener(`end`,this._streamEnd),this._input.removeListener(`error`,this._streamError)},this)}function p(e){var t,n,r,i,a=2**53,o=-a,c=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,l=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,d=0,f=0,p=!1,g=!1,_=[],v={data:[],errors:[],meta:{}};function b(t){return e.skipEmptyLines===`greedy`?t.join(``).trim()===``:t.length===1&&t[0].length===0}function S(){if(v&&r&&(w(`Delimiter`,`UndetectableDelimiter`,`Unable to auto-detect delimiting character; defaulted to '`+s.DefaultDelimiter+`'`),r=!1),e.skipEmptyLines&&(v.data=v.data.filter(function(e){return!b(e)})),C()){if(v)if(Array.isArray(v.data[0])){for(var t=0;C()&&t<v.data.length;t++)v.data[t].forEach(n);v.data.splice(0,1)}else v.data.forEach(n);function n(t,n){x(e.transformHeader)&&(t=e.transformHeader(t,n)),_.push(t)}}function n(t,n){for(var r=e.header?{}:[],i=0;i<t.length;i++){var s=i,u=t[i],u=((t,n)=>(t=>(e.dynamicTypingFunction&&e.dynamicTyping[t]===void 0&&(e.dynamicTyping[t]=e.dynamicTypingFunction(t)),!0===(e.dynamicTyping[t]||e.dynamicTyping)))(t)?n===`true`||n===`TRUE`||n!==`false`&&n!==`FALSE`&&((e=>{if(c.test(e)&&(e=parseFloat(e),o<e&&e<a))return 1})(n)?parseFloat(n):l.test(n)?new Date(n):n===``?null:n):n)(s=e.header?i>=_.length?`__parsed_extra`:_[i]:s,u=e.transform?e.transform(u,s):u);s===`__parsed_extra`?(r[s]=r[s]||[],r[s].push(u)):r[s]=u}return e.header&&(i>_.length?w(`FieldMismatch`,`TooManyFields`,`Too many fields: expected `+_.length+` fields but parsed `+i,f+n):i<_.length&&w(`FieldMismatch`,`TooFewFields`,`Too few fields: expected `+_.length+` fields but parsed `+i,f+n)),r}var i;v&&(e.header||e.dynamicTyping||e.transform)&&(i=1,!v.data.length||Array.isArray(v.data[0])?(v.data=v.data.map(n),i=v.data.length):v.data=n(v.data,0),e.header&&v.meta&&(v.meta.fields=_),f+=i)}function C(){return e.header&&_.length===0}function w(e,t,n,r){e={type:e,code:t,message:n},r!==void 0&&(e.row=r),v.errors.push(e)}x(e.step)&&(i=e.step,e.step=function(t){v=t,C()?S():(S(),v.data.length!==0&&(d+=t.data.length,e.preview&&d>e.preview?n.abort():(v.data=v.data[0],i(v,u))))}),this.parse=function(i,a,o){var c=e.quoteChar||`"`,c=(e.newline||=this.guessLineEndings(i,c),r=!1,e.delimiter?x(e.delimiter)&&(e.delimiter=e.delimiter(i),v.meta.delimiter=e.delimiter):((c=((t,n,r,i,a)=>{var o,c,l,u;a||=[`,`,` `,`|`,`;`,s.RECORD_SEP,s.UNIT_SEP];for(var d=0;d<a.length;d++){for(var f,p=a[d],m=0,g=0,_=0,v=(l=void 0,new h({comments:i,delimiter:p,newline:n,preview:10}).parse(t)),y=0;y<v.data.length;y++)r&&b(v.data[y])?_++:(f=v.data[y].length,g+=f,l===void 0?l=f:0<f&&(m+=Math.abs(f-l),l=f));0<v.data.length&&(g/=v.data.length-_),(c===void 0||m<=c)&&(u===void 0||u<g)&&1.99<g&&(c=m,o=p,u=g)}return{successful:!!(e.delimiter=o),bestDelimiter:o}})(i,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess)).successful?e.delimiter=c.bestDelimiter:(r=!0,e.delimiter=s.DefaultDelimiter),v.meta.delimiter=e.delimiter),y(e));return e.preview&&e.header&&c.preview++,t=i,n=new h(c),v=n.parse(t,a,o),S(),p?{meta:{paused:!0}}:v||{meta:{paused:!1}}},this.paused=function(){return p},this.pause=function(){p=!0,n.abort(),t=x(e.chunk)?``:t.substring(n.getCharIndex())},this.resume=function(){u.streamer._halted?(p=!1,u.streamer.parseChunk(t,!0)):setTimeout(u.resume,3)},this.aborted=function(){return g},this.abort=function(){g=!0,n.abort(),v.meta.aborted=!0,x(e.complete)&&e.complete(v),t=``},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=RegExp(m(t)+`([^]*?)`+m(t),`gm`),n=(e=e.replace(t,``)).split(`\r`),t=e.split(`
|
|
2
|
-
`),e=1<t.length&&t[0].length<n[0].length;if(n.length===1||e)return`
|
|
3
|
-
`;for(var r=0,i=0;i<n.length;i++)n[i][0]===`
|
|
4
|
-
`&&r++;return r>=n.length/2?`\r
|
|
5
|
-
`:`\r`}}function m(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function h(e){var t=(e||={}).delimiter,n=e.newline,r=e.comments,i=e.step,a=e.preview,o=e.fastMode,c=null,l=!1,u=e.quoteChar==null?`"`:e.quoteChar,d=u;if(e.escapeChar!==void 0&&(d=e.escapeChar),(typeof t!=`string`||-1<s.BAD_DELIMITERS.indexOf(t))&&(t=`,`),r===t)throw Error(`Comment character same as delimiter`);!0===r?r=`#`:(typeof r!=`string`||-1<s.BAD_DELIMITERS.indexOf(r))&&(r=!1),n!==`
|
|
6
|
-
`&&n!==`\r`&&n!==`\r
|
|
7
|
-
`&&(n=`
|
|
8
|
-
`);var f=0,p=!1;this.parse=function(s,h,g){if(typeof s!=`string`)throw Error(`Input must be a string`);var _=s.length,v=t.length,y=n.length,b=r.length,S=x(i),C=[],w=[],T=[],E=f=0;if(!s)return R();if(o||!1!==o&&s.indexOf(u)===-1){for(var D=s.split(n),O=0;O<D.length;O++){if(T=D[O],f+=T.length,O!==D.length-1)f+=n.length;else if(g)return R();if(!r||T.substring(0,b)!==r){if(S){if(C=[],P(T.split(t)),z(),p)return R()}else P(T.split(t));if(a&&a<=O)return C=C.slice(0,a),R(!0)}}return R()}for(var k=s.indexOf(t,f),A=s.indexOf(n,f),j=new RegExp(m(d)+m(u),`g`),M=s.indexOf(u,f);;)if(s[f]===u)for(M=f,f++;;){if((M=s.indexOf(u,M+1))===-1)return g||w.push({type:`Quotes`,code:`MissingQuotes`,message:`Quoted field unterminated`,row:C.length,index:f}),I();if(M===_-1)return I(s.substring(f,M).replace(j,u));if(u===d&&s[M+1]===d)M++;else if(u===d||M===0||s[M-1]!==d){k!==-1&&k<M+1&&(k=s.indexOf(t,M+1));var N=F((A=A!==-1&&A<M+1?s.indexOf(n,M+1):A)===-1?k:Math.min(k,A));if(s.substr(M+1+N,v)===t){T.push(s.substring(f,M).replace(j,u)),s[f=M+1+N+v]!==u&&(M=s.indexOf(u,f)),k=s.indexOf(t,f),A=s.indexOf(n,f);break}if(N=F(A),s.substring(M+1+N,M+1+N+y)===n){if(T.push(s.substring(f,M).replace(j,u)),L(M+1+N+y),k=s.indexOf(t,f),M=s.indexOf(u,f),S&&(z(),p))return R();if(a&&C.length>=a)return R(!0);break}w.push({type:`Quotes`,code:`InvalidQuotes`,message:`Trailing quote on quoted field is malformed`,row:C.length,index:f}),M++}}else if(r&&T.length===0&&s.substring(f,f+b)===r){if(A===-1)return R();f=A+y,A=s.indexOf(n,f),k=s.indexOf(t,f)}else if(k!==-1&&(k<A||A===-1))T.push(s.substring(f,k)),f=k+v,k=s.indexOf(t,f);else{if(A===-1)break;if(T.push(s.substring(f,A)),L(A+y),S&&(z(),p))return R();if(a&&C.length>=a)return R(!0)}return I();function P(e){C.push(e),E=f}function F(e){var t=0;return t=e!==-1&&(e=s.substring(M+1,e))&&e.trim()===``?e.length:t}function I(e){return g||(e===void 0&&(e=s.substring(f)),T.push(e),f=_,P(T),S&&z()),R()}function L(e){f=e,P(T),T=[],A=s.indexOf(n,f)}function R(r){if(e.header&&!h&&C.length&&!l){var i=C[0],a=Object.create(null),o=new Set(i);let t=!1;for(let n=0;n<i.length;n++){let r=i[n];if(a[r=x(e.transformHeader)?e.transformHeader(r,n):r]){let e,s=a[r];for(;e=r+`_`+s,s++,o.has(e););o.add(e),i[n]=e,a[r]++,t=!0,(c=c===null?{}:c)[e]=r}else a[r]=1,i[n]=r;o.add(r)}t&&console.warn(`Duplicate headers found and renamed.`),l=!0}return{data:C,errors:w,meta:{delimiter:t,linebreak:n,aborted:p,truncated:!!r,cursor:E+(h||0),renamedHeaders:c}}}function z(){i(R()),C=[],w=[]}},this.abort=function(){p=!0},this.getCharIndex=function(){return f}}function g(e){var t=e.data,n=a[t.workerId],r=!1;if(t.error)n.userError(t.error,t.file);else if(t.results&&t.results.data){var i={abort:function(){r=!0,_(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:v,resume:v};if(x(n.userStep)){for(var o=0;o<t.results.data.length&&(n.userStep({data:t.results.data[o],errors:t.results.errors,meta:t.results.meta},i),!r);o++);delete t.results}else x(n.userChunk)&&(n.userChunk(t.results,i,t.file),delete t.results)}t.finished&&!r&&_(t.workerId,t.results)}function _(e,t){var n=a[e];x(n.userComplete)&&n.userComplete(t),n.terminate(),delete a[e]}function v(){throw Error(`Not implemented.`)}function y(e){if(typeof e!=`object`||!e)return e;var t,n=Array.isArray(e)?[]:{};for(t in e)n[t]=y(e[t]);return n}function b(e,t){return function(){e.apply(t,arguments)}}function x(e){return typeof e==`function`}return s.parse=function(n,r){var i=(r||={}).dynamicTyping||!1;if(x(i)&&(r.dynamicTypingFunction=i,i={}),r.dynamicTyping=i,r.transform=!!x(r.transform)&&r.transform,!r.worker||!s.WORKERS_SUPPORTED)return i=null,s.NODE_STREAM_INPUT,typeof n==`string`?(n=(e=>e.charCodeAt(0)===65279?e.slice(1):e)(n),i=new(r.download?l:d)(r)):!0===n.readable&&x(n.read)&&x(n.on)?i=new f(r):(t.File&&n instanceof File||n instanceof Object)&&(i=new u(r)),i.stream(n);(i=(()=>{var n;return!!s.WORKERS_SUPPORTED&&(n=(()=>{var n=t.URL||t.webkitURL||null,r=e.toString();return s.BLOB_URL||=n.createObjectURL(new Blob([`var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; `,`(`,r,`)();`],{type:`text/javascript`}))})(),(n=new t.Worker(n)).onmessage=g,n.id=o++,a[n.id]=n)})()).userStep=r.step,i.userChunk=r.chunk,i.userComplete=r.complete,i.userError=r.error,r.step=x(r.step),r.chunk=x(r.chunk),r.complete=x(r.complete),r.error=x(r.error),delete r.worker,i.postMessage({input:n,config:r,workerId:i.id})},s.unparse=function(e,t){var n=!1,r=!0,i=`,`,a=`\r
|
|
9
|
-
`,o=`"`,c=o+o,l=!1,u=null,d=!1,f=((()=>{if(typeof t==`object`){if(typeof t.delimiter!=`string`||s.BAD_DELIMITERS.filter(function(e){return t.delimiter.indexOf(e)!==-1}).length||(i=t.delimiter),typeof t.quotes!=`boolean`&&typeof t.quotes!=`function`&&!Array.isArray(t.quotes)||(n=t.quotes),typeof t.skipEmptyLines!=`boolean`&&typeof t.skipEmptyLines!=`string`||(l=t.skipEmptyLines),typeof t.newline==`string`&&(a=t.newline),typeof t.quoteChar==`string`&&(o=t.quoteChar),typeof t.header==`boolean`&&(r=t.header),Array.isArray(t.columns)){if(t.columns.length===0)throw Error(`Option columns is empty`);u=t.columns}t.escapeChar!==void 0&&(c=t.escapeChar+o),t.escapeFormulae instanceof RegExp?d=t.escapeFormulae:typeof t.escapeFormulae==`boolean`&&t.escapeFormulae&&(d=/^[=+\-@\t\r].*$/)}})(),new RegExp(m(o),`g`));if(typeof e==`string`&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return p(null,e,l);if(typeof e[0]==`object`)return p(u||Object.keys(e[0]),e,l)}else if(typeof e==`object`)return typeof e.data==`string`&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||u),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:typeof e.data[0]==`object`?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||typeof e.data[0]==`object`||(e.data=[e.data])),p(e.fields||[],e.data||[],l);throw Error(`Unable to serialize unrecognized input`);function p(e,t,n){var o=``,s=(typeof e==`string`&&(e=JSON.parse(e)),typeof t==`string`&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),c=!Array.isArray(t[0]);if(s&&r){for(var l=0;l<e.length;l++)0<l&&(o+=i),o+=h(e[l],l);0<t.length&&(o+=a)}for(var u=0;u<t.length;u++){var d=(s?e:t[u]).length,f=!1,p=s?Object.keys(t[u]).length===0:t[u].length===0;if(n&&!s&&(f=n===`greedy`?t[u].join(``).trim()===``:t[u].length===1&&t[u][0].length===0),n===`greedy`&&s){for(var m=[],g=0;g<d;g++){var _=c?e[g]:g;m.push(t[u][_])}f=m.join(``).trim()===``}if(!f){for(var v=0;v<d;v++){0<v&&!p&&(o+=i);var y=s&&c?e[v]:v;o+=h(t[u][y],v)}u<t.length-1&&(!n||0<d&&!p)&&(o+=a)}}return o}function h(e,t){var r,a;return e==null?``:e.constructor===Date?JSON.stringify(e).slice(1,25):(a=!1,d&&typeof e==`string`&&d.test(e)&&(e=`'`+e,a=!0),r=e.toString().replace(f,c),(a=a||!0===n||typeof n==`function`&&n(e,t)||Array.isArray(n)&&n[t]||((e,t)=>{for(var n=0;n<t.length;n++)if(-1<e.indexOf(t[n]))return!0;return!1})(r,s.BAD_DELIMITERS)||-1<r.indexOf(i)||r.charAt(0)===` `||r.charAt(r.length-1)===` `)?o+r+o:r)}},s.RECORD_SEP=``,s.UNIT_SEP=``,s.BYTE_ORDER_MARK=``,s.BAD_DELIMITERS=[`\r`,`
|
|
10
|
-
`,`"`,s.BYTE_ORDER_MARK],s.WORKERS_SUPPORTED=!r&&!!t.Worker,s.NODE_STREAM_INPUT=1,s.LocalChunkSize=10485760,s.RemoteChunkSize=5242880,s.DefaultDelimiter=`,`,s.Parser=h,s.ParserHandle=p,s.NetworkStreamer=l,s.FileStreamer=u,s.StringStreamer=d,s.ReadableStreamStreamer=f,t.jQuery&&((n=t.jQuery).fn.parse=function(e){var r=e.config||{},i=[];return this.each(function(e){if(!(n(this).prop(`tagName`).toUpperCase()===`INPUT`&&n(this).attr(`type`).toLowerCase()===`file`&&t.FileReader)||!this.files||this.files.length===0)return!0;for(var a=0;a<this.files.length;a++)i.push({file:this.files[a],inputElem:this,instanceConfig:n.extend({},r)})}),a(),this;function a(){if(i.length===0)x(e.complete)&&e.complete();else{var t,r,a,c,l=i[0];if(x(e.before)){var u=e.before(l.file,l.inputElem);if(typeof u==`object`){if(u.action===`abort`)return t=`AbortError`,r=l.file,a=l.inputElem,c=u.reason,void(x(e.error)&&e.error({name:t},r,a,c));if(u.action===`skip`)return void o();typeof u.config==`object`&&(l.instanceConfig=n.extend(l.instanceConfig,u.config))}else if(u===`skip`)return void o()}var d=l.instanceConfig.complete;l.instanceConfig.complete=function(e){x(d)&&d(e,l.file,l.inputElem),o()},s.parse(l.file,l.instanceConfig)}}function o(){i.splice(0,1),a()}}),i&&(t.onmessage=function(e){e=e.data,s.WORKER_ID===void 0&&e&&(s.WORKER_ID=e.workerId),typeof e.input==`string`?t.postMessage({workerId:s.WORKER_ID,results:s.parse(e.input,e.config),finished:!0}):(t.File&&e.input instanceof File||e.input instanceof Object)&&(e=s.parse(e.input,e.config))&&t.postMessage({workerId:s.WORKER_ID,results:e,finished:!0})}),(l.prototype=Object.create(c.prototype)).constructor=l,(u.prototype=Object.create(c.prototype)).constructor=u,(d.prototype=Object.create(d.prototype)).constructor=d,(f.prototype=Object.create(c.prototype)).constructor=f,s})})),f={name:`ellipsis`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]],aliases:[`more-horizontal`]};f.node;var p=a(f),m=d(),h=e(n(),1),g=r();function _({className:e,...t}){return(0,g.jsx)(`nav`,{role:`navigation`,"aria-label":`pagination`,"data-slot":`pagination`,className:i(`mx-auto flex w-full justify-center`,e),...t})}function v({className:e,...t}){return(0,g.jsx)(`ul`,{"data-slot":`pagination-content`,className:i(`flex items-center gap-1`,e),...t})}function y({...e}){return(0,g.jsx)(`li`,{"data-slot":`pagination-item`,...e})}function b({className:e,isActive:t,size:n=`icon`,...r}){return(0,g.jsx)(o,{variant:t?`outline`:`ghost`,size:n,className:i(e),nativeButton:!1,render:(0,g.jsx)(`a`,{"aria-current":t?`page`:void 0,"data-slot":`pagination-link`,"data-active":t,...r})})}function x({className:e,text:t=`Previous`,...n}){return(0,g.jsxs)(b,{"aria-label":`Go to previous page`,size:`default`,className:i(`pl-2!`,e),...n,children:[(0,g.jsx)(c,{"data-icon":`inline-start`}),(0,g.jsx)(`span`,{className:`hidden sm:block`,children:t})]})}function S({className:e,text:t=`Next`,...n}){return(0,g.jsxs)(b,{"aria-label":`Go to next page`,size:`default`,className:i(`pr-2!`,e),...n,children:[(0,g.jsx)(`span`,{className:`hidden sm:block`,children:t}),(0,g.jsx)(s,{"data-icon":`inline-end`})]})}function C({className:e,...t}){return(0,g.jsxs)(`span`,{"aria-hidden":!0,"data-slot":`pagination-ellipsis`,className:i(`flex size-9 items-center justify-center [&_svg:not([class*='size-'])]:size-4`,e),...t,children:[(0,g.jsx)(p,{}),(0,g.jsx)(`span`,{className:`sr-only`,children:`More pages`})]})}var w=50;function T(e,t){let n=[...new Set([1,e-1,e,e+1,t])].filter(e=>e>=1&&e<=t).sort((e,t)=>e-t),r=[];return n.forEach((e,t)=>{let i=n[t-1];i!==void 0&&e-i===2?r.push(i+1):i!==void 0&&e-i>2&&r.push(`ellipsis-${i}`),r.push(e)}),r}function E({artifact:e,text:t}){let n=u(),[r,i]=(0,h.useState)(1),a=(0,h.useMemo)(()=>(0,m.parse)(t,{header:!0,skipEmptyLines:!0}).data,[t]),o=Math.max(1,Math.ceil(a.length/w)),s=(r-1)*w,c=a.slice(s,s+w),d=T(r,o),f={id:`${e.id}-csv-preview`,kind:`table`,title:e.title,description:e.description,content:c};return(0,g.jsxs)(`div`,{className:`nexus-chat-file-artifact__csv`,children:[(0,g.jsx)(l,{artifact:f}),o>1?(0,g.jsxs)(`div`,{className:`nexus-chat-file-artifact__pagination`,children:[(0,g.jsx)(`p`,{"aria-live":`polite`,children:n(`csv.summary`,{from:s+1,to:Math.min(s+w,a.length),total:a.length,page:r,pages:o})}),(0,g.jsx)(_,{children:(0,g.jsxs)(v,{children:[(0,g.jsx)(y,{children:(0,g.jsx)(x,{"aria-disabled":r===1,"aria-label":n(`csv.previousPage`),text:n(`common.previous`),href:r===1?void 0:`#previous-csv-page`,onClick:e=>{e.preventDefault(),r>1&&i(e=>e-1)},tabIndex:r===1?-1:void 0})}),d.map(e=>typeof e==`number`?(0,g.jsx)(y,{children:(0,g.jsx)(b,{"aria-label":n(`csv.goToPage`,{page:e}),href:`#csv-page-${e}`,isActive:e===r,onClick:t=>{t.preventDefault(),i(e)},children:e})},e):(0,g.jsx)(y,{children:(0,g.jsx)(C,{})},e)),(0,g.jsx)(y,{children:(0,g.jsx)(S,{"aria-disabled":r===o,"aria-label":n(`csv.nextPage`),text:n(`common.next`),href:r===o?void 0:`#next-csv-page`,onClick:e=>{e.preventDefault(),r<o&&i(e=>e+1)},tabIndex:r===o?-1:void 0})})]})})]}):null]})}export{E as default};
|