@leanmcp/ui 0.2.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-2HRO6CFU.js +138 -0
- package/dist/chunk-2HRO6CFU.js.map +1 -0
- package/dist/chunk-KX75VCMM.mjs +124 -0
- package/dist/chunk-KX75VCMM.mjs.map +1 -0
- package/dist/index.d.mts +105 -3
- package/dist/index.d.ts +105 -3
- package/dist/index.js +830 -662
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +511 -382
- package/dist/index.mjs.map +1 -1
- package/dist/server.d.mts +115 -1
- package/dist/server.d.ts +115 -1
- package/dist/server.js +48 -7
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +2 -1
- package/dist/server.mjs.map +1 -1
- package/package.json +2 -2
- package/dist/chunk-3PV26V5F.js +0 -50
- package/dist/chunk-3PV26V5F.js.map +0 -1
- package/dist/chunk-WORZ46KI.mjs +0 -42
- package/dist/chunk-WORZ46KI.mjs.map +0 -1
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { __name } from './chunk-
|
|
2
|
-
export { UIApp, getUIAppMetadata, getUIAppUri } from './chunk-
|
|
3
|
-
import * as
|
|
4
|
-
import
|
|
5
|
-
import { applyDocumentTheme, applyHostStyleVariables, PostMessageTransport, App } from '@modelcontextprotocol/ext-apps';
|
|
6
|
-
export { App, PostMessageTransport } from '@modelcontextprotocol/ext-apps';
|
|
1
|
+
import { __name } from './chunk-KX75VCMM.mjs';
|
|
2
|
+
export { GPTApp, UIApp, getGPTAppMetadata, getGPTAppUri, getUIAppMetadata, getUIAppUri } from './chunk-KX75VCMM.mjs';
|
|
3
|
+
import * as React26 from 'react';
|
|
4
|
+
import React26__default, { forwardRef, Component, useState, useRef, useCallback, useEffect, createContext, useContext, useMemo } from 'react';
|
|
5
|
+
import { applyDocumentTheme, applyHostStyleVariables, applyHostFonts, PostMessageTransport, App } from '@modelcontextprotocol/ext-apps';
|
|
6
|
+
export { App, PostMessageTransport, RESOURCE_MIME_TYPE, RESOURCE_URI_META_KEY, applyDocumentTheme, applyHostFonts, applyHostStyleVariables, getDocumentTheme } from '@modelcontextprotocol/ext-apps';
|
|
7
7
|
import { XIcon, ChevronDownIcon, CheckIcon, ChevronUpIcon, Loader2, SearchIcon, Search, X, AlertCircle, RefreshCw, ChevronLeft, ChevronRight, WifiOff, CircleIcon, ChevronRightIcon, Check, ArrowUpDown, ArrowUp, ArrowDown, Loader2Icon, OctagonXIcon, TriangleAlertIcon, InfoIcon, CircleCheckIcon } from 'lucide-react';
|
|
8
8
|
import { useTheme } from 'next-themes';
|
|
9
9
|
import { toast, Toaster as Toaster$1 } from 'sonner';
|
|
@@ -54,6 +54,9 @@ function AppProvider({ appInfo, capabilities = {}, options = {
|
|
|
54
54
|
if (context.styles?.variables) {
|
|
55
55
|
applyHostStyleVariables(context.styles.variables);
|
|
56
56
|
}
|
|
57
|
+
if (context.styles?.css?.fonts) {
|
|
58
|
+
applyHostFonts(context.styles.css.fonts);
|
|
59
|
+
}
|
|
57
60
|
}, []);
|
|
58
61
|
useEffect(() => {
|
|
59
62
|
let mounted = true;
|
|
@@ -222,9 +225,9 @@ function AppProvider({ appInfo, capabilities = {}, options = {
|
|
|
222
225
|
requestDisplayMode
|
|
223
226
|
};
|
|
224
227
|
const theme = hostContext.theme ?? "light";
|
|
225
|
-
return /* @__PURE__ */
|
|
228
|
+
return /* @__PURE__ */ React26__default.createElement(McpAppContext.Provider, {
|
|
226
229
|
value
|
|
227
|
-
}, /* @__PURE__ */
|
|
230
|
+
}, /* @__PURE__ */ React26__default.createElement("div", {
|
|
228
231
|
className: "lui-root",
|
|
229
232
|
"data-theme": theme
|
|
230
233
|
}, children));
|
|
@@ -266,6 +269,123 @@ function useMcpApp() {
|
|
|
266
269
|
return context;
|
|
267
270
|
}
|
|
268
271
|
__name(useMcpApp, "useMcpApp");
|
|
272
|
+
var GptAppContext = /* @__PURE__ */ createContext(null);
|
|
273
|
+
function GPTAppProvider({ appName, children }) {
|
|
274
|
+
const [isConnected, setIsConnected] = useState(false);
|
|
275
|
+
const [error, setError] = useState(null);
|
|
276
|
+
const [theme, setTheme] = useState("light");
|
|
277
|
+
const [displayMode, setDisplayMode] = useState("inline");
|
|
278
|
+
const [locale, setLocale] = useState("en");
|
|
279
|
+
const [maxHeight, setMaxHeight] = useState(600);
|
|
280
|
+
useEffect(() => {
|
|
281
|
+
let mounted = true;
|
|
282
|
+
let checkAttempts = 0;
|
|
283
|
+
const maxAttempts = 50;
|
|
284
|
+
function checkConnection() {
|
|
285
|
+
if (!mounted) return;
|
|
286
|
+
if (window.openai) {
|
|
287
|
+
setIsConnected(true);
|
|
288
|
+
setError(null);
|
|
289
|
+
if (window.openai.theme) setTheme(window.openai.theme);
|
|
290
|
+
if (window.openai.displayMode) setDisplayMode(window.openai.displayMode);
|
|
291
|
+
if (window.openai.locale) setLocale(window.openai.locale);
|
|
292
|
+
if (window.openai.maxHeight) setMaxHeight(window.openai.maxHeight);
|
|
293
|
+
} else {
|
|
294
|
+
checkAttempts++;
|
|
295
|
+
if (checkAttempts < maxAttempts) {
|
|
296
|
+
setTimeout(checkConnection, 100);
|
|
297
|
+
} else {
|
|
298
|
+
setError(new Error("ChatGPT SDK not available"));
|
|
299
|
+
setIsConnected(false);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
__name(checkConnection, "checkConnection");
|
|
304
|
+
checkConnection();
|
|
305
|
+
return () => {
|
|
306
|
+
mounted = false;
|
|
307
|
+
};
|
|
308
|
+
}, [
|
|
309
|
+
appName
|
|
310
|
+
]);
|
|
311
|
+
const callTool = useCallback(async (name, args = {}) => {
|
|
312
|
+
if (!window.openai?.callTool) {
|
|
313
|
+
throw new Error("ChatGPT SDK not available");
|
|
314
|
+
}
|
|
315
|
+
const result = await window.openai.callTool(name, args);
|
|
316
|
+
return result;
|
|
317
|
+
}, []);
|
|
318
|
+
const value = {
|
|
319
|
+
isConnected,
|
|
320
|
+
error,
|
|
321
|
+
theme,
|
|
322
|
+
displayMode,
|
|
323
|
+
locale,
|
|
324
|
+
maxHeight,
|
|
325
|
+
callTool
|
|
326
|
+
};
|
|
327
|
+
return /* @__PURE__ */ React26__default.createElement(GptAppContext.Provider, {
|
|
328
|
+
value
|
|
329
|
+
}, /* @__PURE__ */ React26__default.createElement("div", {
|
|
330
|
+
className: "lui-root",
|
|
331
|
+
"data-theme": theme
|
|
332
|
+
}, children));
|
|
333
|
+
}
|
|
334
|
+
__name(GPTAppProvider, "GPTAppProvider");
|
|
335
|
+
function useGptApp() {
|
|
336
|
+
const context = useContext(GptAppContext);
|
|
337
|
+
if (!context) {
|
|
338
|
+
return {
|
|
339
|
+
isConnected: false,
|
|
340
|
+
error: new Error("GPTAppProvider not found"),
|
|
341
|
+
theme: "light",
|
|
342
|
+
displayMode: "inline",
|
|
343
|
+
locale: "en",
|
|
344
|
+
maxHeight: 600,
|
|
345
|
+
callTool: /* @__PURE__ */ __name(async () => {
|
|
346
|
+
throw new Error("Not connected to ChatGPT");
|
|
347
|
+
}, "callTool")
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
return context;
|
|
351
|
+
}
|
|
352
|
+
__name(useGptApp, "useGptApp");
|
|
353
|
+
function useGptTool(toolName) {
|
|
354
|
+
const { callTool, isConnected } = useGptApp();
|
|
355
|
+
const [result, setResult] = useState(null);
|
|
356
|
+
const [loading, setLoading] = useState(false);
|
|
357
|
+
const [error, setError] = useState(null);
|
|
358
|
+
const call = useCallback(async (args = {}) => {
|
|
359
|
+
if (!isConnected) {
|
|
360
|
+
setError(new Error("Not connected to ChatGPT"));
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
setLoading(true);
|
|
364
|
+
setError(null);
|
|
365
|
+
try {
|
|
366
|
+
const res = await callTool(toolName, args);
|
|
367
|
+
setResult(res);
|
|
368
|
+
return res;
|
|
369
|
+
} catch (err) {
|
|
370
|
+
setError(err);
|
|
371
|
+
throw err;
|
|
372
|
+
} finally {
|
|
373
|
+
setLoading(false);
|
|
374
|
+
}
|
|
375
|
+
}, [
|
|
376
|
+
callTool,
|
|
377
|
+
isConnected,
|
|
378
|
+
toolName
|
|
379
|
+
]);
|
|
380
|
+
return {
|
|
381
|
+
call,
|
|
382
|
+
result,
|
|
383
|
+
loading,
|
|
384
|
+
error,
|
|
385
|
+
isConnected
|
|
386
|
+
};
|
|
387
|
+
}
|
|
388
|
+
__name(useGptTool, "useGptTool");
|
|
269
389
|
var DEFAULT_CONTEXT = {
|
|
270
390
|
resultDisplay: {
|
|
271
391
|
display: "none"
|
|
@@ -283,7 +403,7 @@ function ToolProvider({ defaults = {}, children }) {
|
|
|
283
403
|
defaults,
|
|
284
404
|
parentContext
|
|
285
405
|
]);
|
|
286
|
-
return /* @__PURE__ */
|
|
406
|
+
return /* @__PURE__ */ React26.createElement(ToolContext.Provider, {
|
|
287
407
|
value
|
|
288
408
|
}, children);
|
|
289
409
|
}
|
|
@@ -294,23 +414,23 @@ function useToolContext() {
|
|
|
294
414
|
__name(useToolContext, "useToolContext");
|
|
295
415
|
var Toaster = /* @__PURE__ */ __name(({ ...props }) => {
|
|
296
416
|
const { theme = "system" } = useTheme();
|
|
297
|
-
return /* @__PURE__ */
|
|
417
|
+
return /* @__PURE__ */ React26__default.createElement(Toaster$1, {
|
|
298
418
|
theme,
|
|
299
419
|
className: "toaster group",
|
|
300
420
|
icons: {
|
|
301
|
-
success: /* @__PURE__ */
|
|
421
|
+
success: /* @__PURE__ */ React26__default.createElement(CircleCheckIcon, {
|
|
302
422
|
className: "size-4"
|
|
303
423
|
}),
|
|
304
|
-
info: /* @__PURE__ */
|
|
424
|
+
info: /* @__PURE__ */ React26__default.createElement(InfoIcon, {
|
|
305
425
|
className: "size-4"
|
|
306
426
|
}),
|
|
307
|
-
warning: /* @__PURE__ */
|
|
427
|
+
warning: /* @__PURE__ */ React26__default.createElement(TriangleAlertIcon, {
|
|
308
428
|
className: "size-4"
|
|
309
429
|
}),
|
|
310
|
-
error: /* @__PURE__ */
|
|
430
|
+
error: /* @__PURE__ */ React26__default.createElement(OctagonXIcon, {
|
|
311
431
|
className: "size-4"
|
|
312
432
|
}),
|
|
313
|
-
loading: /* @__PURE__ */
|
|
433
|
+
loading: /* @__PURE__ */ React26__default.createElement(Loader2Icon, {
|
|
314
434
|
className: "size-4 animate-spin"
|
|
315
435
|
})
|
|
316
436
|
},
|
|
@@ -355,7 +475,7 @@ var buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespa
|
|
|
355
475
|
});
|
|
356
476
|
function Button({ className, variant = "default", size = "default", asChild = false, ...props }) {
|
|
357
477
|
const Comp = asChild ? Slot : "button";
|
|
358
|
-
return /* @__PURE__ */
|
|
478
|
+
return /* @__PURE__ */ React26.createElement(Comp, {
|
|
359
479
|
"data-slot": "button",
|
|
360
480
|
"data-variant": variant,
|
|
361
481
|
"data-size": size,
|
|
@@ -369,35 +489,35 @@ function Button({ className, variant = "default", size = "default", asChild = fa
|
|
|
369
489
|
}
|
|
370
490
|
__name(Button, "Button");
|
|
371
491
|
function Dialog({ ...props }) {
|
|
372
|
-
return /* @__PURE__ */
|
|
492
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Root, {
|
|
373
493
|
"data-slot": "dialog",
|
|
374
494
|
...props
|
|
375
495
|
});
|
|
376
496
|
}
|
|
377
497
|
__name(Dialog, "Dialog");
|
|
378
498
|
function DialogTrigger({ ...props }) {
|
|
379
|
-
return /* @__PURE__ */
|
|
499
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Trigger, {
|
|
380
500
|
"data-slot": "dialog-trigger",
|
|
381
501
|
...props
|
|
382
502
|
});
|
|
383
503
|
}
|
|
384
504
|
__name(DialogTrigger, "DialogTrigger");
|
|
385
505
|
function DialogPortal({ ...props }) {
|
|
386
|
-
return /* @__PURE__ */
|
|
506
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Portal, {
|
|
387
507
|
"data-slot": "dialog-portal",
|
|
388
508
|
...props
|
|
389
509
|
});
|
|
390
510
|
}
|
|
391
511
|
__name(DialogPortal, "DialogPortal");
|
|
392
512
|
function DialogClose({ ...props }) {
|
|
393
|
-
return /* @__PURE__ */
|
|
513
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Close, {
|
|
394
514
|
"data-slot": "dialog-close",
|
|
395
515
|
...props
|
|
396
516
|
});
|
|
397
517
|
}
|
|
398
518
|
__name(DialogClose, "DialogClose");
|
|
399
519
|
function DialogOverlay({ className, ...props }) {
|
|
400
|
-
return /* @__PURE__ */
|
|
520
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Overlay, {
|
|
401
521
|
"data-slot": "dialog-overlay",
|
|
402
522
|
className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50", className),
|
|
403
523
|
...props
|
|
@@ -405,22 +525,22 @@ function DialogOverlay({ className, ...props }) {
|
|
|
405
525
|
}
|
|
406
526
|
__name(DialogOverlay, "DialogOverlay");
|
|
407
527
|
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
408
|
-
return /* @__PURE__ */
|
|
528
|
+
return /* @__PURE__ */ React26.createElement(DialogPortal, {
|
|
409
529
|
"data-slot": "dialog-portal"
|
|
410
|
-
}, /* @__PURE__ */
|
|
530
|
+
}, /* @__PURE__ */ React26.createElement(DialogOverlay, null), /* @__PURE__ */ React26.createElement(DialogPrimitive.Content, {
|
|
411
531
|
"data-slot": "dialog-content",
|
|
412
532
|
className: cn("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg", className),
|
|
413
533
|
...props
|
|
414
|
-
}, children, showCloseButton && /* @__PURE__ */
|
|
534
|
+
}, children, showCloseButton && /* @__PURE__ */ React26.createElement(DialogPrimitive.Close, {
|
|
415
535
|
"data-slot": "dialog-close",
|
|
416
536
|
className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4"
|
|
417
|
-
}, /* @__PURE__ */
|
|
537
|
+
}, /* @__PURE__ */ React26.createElement(XIcon, null), /* @__PURE__ */ React26.createElement("span", {
|
|
418
538
|
className: "sr-only"
|
|
419
539
|
}, "Close"))));
|
|
420
540
|
}
|
|
421
541
|
__name(DialogContent, "DialogContent");
|
|
422
542
|
function DialogHeader({ className, ...props }) {
|
|
423
|
-
return /* @__PURE__ */
|
|
543
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
424
544
|
"data-slot": "dialog-header",
|
|
425
545
|
className: cn("flex flex-col gap-2 text-center sm:text-left", className),
|
|
426
546
|
...props
|
|
@@ -428,7 +548,7 @@ function DialogHeader({ className, ...props }) {
|
|
|
428
548
|
}
|
|
429
549
|
__name(DialogHeader, "DialogHeader");
|
|
430
550
|
function DialogFooter({ className, ...props }) {
|
|
431
|
-
return /* @__PURE__ */
|
|
551
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
432
552
|
"data-slot": "dialog-footer",
|
|
433
553
|
className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
434
554
|
...props
|
|
@@ -436,7 +556,7 @@ function DialogFooter({ className, ...props }) {
|
|
|
436
556
|
}
|
|
437
557
|
__name(DialogFooter, "DialogFooter");
|
|
438
558
|
function DialogTitle({ className, ...props }) {
|
|
439
|
-
return /* @__PURE__ */
|
|
559
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Title, {
|
|
440
560
|
"data-slot": "dialog-title",
|
|
441
561
|
className: cn("text-lg leading-none font-semibold", className),
|
|
442
562
|
...props
|
|
@@ -444,7 +564,7 @@ function DialogTitle({ className, ...props }) {
|
|
|
444
564
|
}
|
|
445
565
|
__name(DialogTitle, "DialogTitle");
|
|
446
566
|
function DialogDescription({ className, ...props }) {
|
|
447
|
-
return /* @__PURE__ */
|
|
567
|
+
return /* @__PURE__ */ React26.createElement(DialogPrimitive.Description, {
|
|
448
568
|
"data-slot": "dialog-description",
|
|
449
569
|
className: cn("text-muted-foreground text-sm", className),
|
|
450
570
|
...props
|
|
@@ -666,26 +786,26 @@ function ToolButton({ tool, args = {}, resultDisplay = "none", renderResult, res
|
|
|
666
786
|
return children(buttonState);
|
|
667
787
|
}
|
|
668
788
|
if (loading) {
|
|
669
|
-
return /* @__PURE__ */
|
|
789
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, loadingIcon ?? /* @__PURE__ */ React26.createElement(Loader2, {
|
|
670
790
|
className: "animate-spin"
|
|
671
|
-
}), loadingText && /* @__PURE__ */
|
|
791
|
+
}), loadingText && /* @__PURE__ */ React26.createElement("span", null, loadingText), !loadingText && children);
|
|
672
792
|
}
|
|
673
793
|
if (showResult && resultDisplay === "inline") {
|
|
674
794
|
if (error) {
|
|
675
|
-
return /* @__PURE__ */
|
|
795
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(X, {
|
|
676
796
|
className: "text-destructive"
|
|
677
|
-
}), /* @__PURE__ */
|
|
797
|
+
}), /* @__PURE__ */ React26.createElement("span", null, error.message));
|
|
678
798
|
}
|
|
679
799
|
if (renderResult) {
|
|
680
800
|
return renderResult(result);
|
|
681
801
|
}
|
|
682
|
-
return /* @__PURE__ */
|
|
802
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(Check, {
|
|
683
803
|
className: "text-success"
|
|
684
|
-
}), /* @__PURE__ */
|
|
804
|
+
}), /* @__PURE__ */ React26.createElement("span", null, "Done"));
|
|
685
805
|
}
|
|
686
806
|
return children;
|
|
687
807
|
}, "renderChildren");
|
|
688
|
-
return /* @__PURE__ */
|
|
808
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(Button, {
|
|
689
809
|
type: "button",
|
|
690
810
|
variant,
|
|
691
811
|
size,
|
|
@@ -694,66 +814,66 @@ function ToolButton({ tool, args = {}, resultDisplay = "none", renderResult, res
|
|
|
694
814
|
onClick: handleClick,
|
|
695
815
|
asChild,
|
|
696
816
|
...props
|
|
697
|
-
}, renderChildren()), confirm && /* @__PURE__ */
|
|
817
|
+
}, renderChildren()), confirm && /* @__PURE__ */ React26.createElement(Dialog, {
|
|
698
818
|
open: showConfirm,
|
|
699
819
|
onOpenChange: setShowConfirm
|
|
700
|
-
}, /* @__PURE__ */
|
|
820
|
+
}, /* @__PURE__ */ React26.createElement(DialogContent, null, /* @__PURE__ */ React26.createElement(DialogHeader, null, /* @__PURE__ */ React26.createElement(DialogTitle, null, confirmConfig.title), confirmConfig.description && /* @__PURE__ */ React26.createElement(DialogDescription, null, confirmConfig.description)), /* @__PURE__ */ React26.createElement(DialogFooter, null, /* @__PURE__ */ React26.createElement(Button, {
|
|
701
821
|
variant: "outline",
|
|
702
822
|
onClick: /* @__PURE__ */ __name(() => setShowConfirm(false), "onClick")
|
|
703
|
-
}, confirmConfig.cancelText ?? "Cancel"), /* @__PURE__ */
|
|
823
|
+
}, confirmConfig.cancelText ?? "Cancel"), /* @__PURE__ */ React26.createElement(Button, {
|
|
704
824
|
variant: confirmConfig.confirmVariant ?? (variant === "destructive" ? "destructive" : "default"),
|
|
705
825
|
onClick: handleConfirm
|
|
706
826
|
}, confirmConfig.confirmText ?? "Confirm")))));
|
|
707
827
|
}
|
|
708
828
|
__name(ToolButton, "ToolButton");
|
|
709
829
|
function Select({ ...props }) {
|
|
710
|
-
return /* @__PURE__ */
|
|
830
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Root, {
|
|
711
831
|
"data-slot": "select",
|
|
712
832
|
...props
|
|
713
833
|
});
|
|
714
834
|
}
|
|
715
835
|
__name(Select, "Select");
|
|
716
836
|
function SelectGroup({ ...props }) {
|
|
717
|
-
return /* @__PURE__ */
|
|
837
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Group, {
|
|
718
838
|
"data-slot": "select-group",
|
|
719
839
|
...props
|
|
720
840
|
});
|
|
721
841
|
}
|
|
722
842
|
__name(SelectGroup, "SelectGroup");
|
|
723
843
|
function SelectValue({ ...props }) {
|
|
724
|
-
return /* @__PURE__ */
|
|
844
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Value, {
|
|
725
845
|
"data-slot": "select-value",
|
|
726
846
|
...props
|
|
727
847
|
});
|
|
728
848
|
}
|
|
729
849
|
__name(SelectValue, "SelectValue");
|
|
730
850
|
function SelectTrigger({ className, size = "default", children, ...props }) {
|
|
731
|
-
return /* @__PURE__ */
|
|
851
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Trigger, {
|
|
732
852
|
"data-slot": "select-trigger",
|
|
733
853
|
"data-size": size,
|
|
734
854
|
className: cn("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 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-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
735
855
|
...props
|
|
736
|
-
}, children, /* @__PURE__ */
|
|
856
|
+
}, children, /* @__PURE__ */ React26.createElement(SelectPrimitive.Icon, {
|
|
737
857
|
asChild: true
|
|
738
|
-
}, /* @__PURE__ */
|
|
858
|
+
}, /* @__PURE__ */ React26.createElement(ChevronDownIcon, {
|
|
739
859
|
className: "size-4 opacity-50"
|
|
740
860
|
})));
|
|
741
861
|
}
|
|
742
862
|
__name(SelectTrigger, "SelectTrigger");
|
|
743
863
|
function SelectContent({ className, children, position = "item-aligned", align = "center", ...props }) {
|
|
744
|
-
return /* @__PURE__ */
|
|
864
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Portal, null, /* @__PURE__ */ React26.createElement(SelectPrimitive.Content, {
|
|
745
865
|
"data-slot": "select-content",
|
|
746
866
|
className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-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 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md", position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", className),
|
|
747
867
|
position,
|
|
748
868
|
align,
|
|
749
869
|
...props
|
|
750
|
-
}, /* @__PURE__ */
|
|
870
|
+
}, /* @__PURE__ */ React26.createElement(SelectScrollUpButton, null), /* @__PURE__ */ React26.createElement(SelectPrimitive.Viewport, {
|
|
751
871
|
className: cn("p-1", position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1")
|
|
752
|
-
}, children), /* @__PURE__ */
|
|
872
|
+
}, children), /* @__PURE__ */ React26.createElement(SelectScrollDownButton, null)));
|
|
753
873
|
}
|
|
754
874
|
__name(SelectContent, "SelectContent");
|
|
755
875
|
function SelectLabel({ className, ...props }) {
|
|
756
|
-
return /* @__PURE__ */
|
|
876
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Label, {
|
|
757
877
|
"data-slot": "select-label",
|
|
758
878
|
className: cn("text-muted-foreground px-2 py-1.5 text-xs", className),
|
|
759
879
|
...props
|
|
@@ -761,20 +881,20 @@ function SelectLabel({ className, ...props }) {
|
|
|
761
881
|
}
|
|
762
882
|
__name(SelectLabel, "SelectLabel");
|
|
763
883
|
function SelectItem({ className, children, ...props }) {
|
|
764
|
-
return /* @__PURE__ */
|
|
884
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Item, {
|
|
765
885
|
"data-slot": "select-item",
|
|
766
886
|
className: cn("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground 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 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", className),
|
|
767
887
|
...props
|
|
768
|
-
}, /* @__PURE__ */
|
|
888
|
+
}, /* @__PURE__ */ React26.createElement("span", {
|
|
769
889
|
"data-slot": "select-item-indicator",
|
|
770
890
|
className: "absolute right-2 flex size-3.5 items-center justify-center"
|
|
771
|
-
}, /* @__PURE__ */
|
|
891
|
+
}, /* @__PURE__ */ React26.createElement(SelectPrimitive.ItemIndicator, null, /* @__PURE__ */ React26.createElement(CheckIcon, {
|
|
772
892
|
className: "size-4"
|
|
773
|
-
}))), /* @__PURE__ */
|
|
893
|
+
}))), /* @__PURE__ */ React26.createElement(SelectPrimitive.ItemText, null, children));
|
|
774
894
|
}
|
|
775
895
|
__name(SelectItem, "SelectItem");
|
|
776
896
|
function SelectSeparator({ className, ...props }) {
|
|
777
|
-
return /* @__PURE__ */
|
|
897
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.Separator, {
|
|
778
898
|
"data-slot": "select-separator",
|
|
779
899
|
className: cn("bg-border pointer-events-none -mx-1 my-1 h-px", className),
|
|
780
900
|
...props
|
|
@@ -782,21 +902,21 @@ function SelectSeparator({ className, ...props }) {
|
|
|
782
902
|
}
|
|
783
903
|
__name(SelectSeparator, "SelectSeparator");
|
|
784
904
|
function SelectScrollUpButton({ className, ...props }) {
|
|
785
|
-
return /* @__PURE__ */
|
|
905
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.ScrollUpButton, {
|
|
786
906
|
"data-slot": "select-scroll-up-button",
|
|
787
907
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
788
908
|
...props
|
|
789
|
-
}, /* @__PURE__ */
|
|
909
|
+
}, /* @__PURE__ */ React26.createElement(ChevronUpIcon, {
|
|
790
910
|
className: "size-4"
|
|
791
911
|
}));
|
|
792
912
|
}
|
|
793
913
|
__name(SelectScrollUpButton, "SelectScrollUpButton");
|
|
794
914
|
function SelectScrollDownButton({ className, ...props }) {
|
|
795
|
-
return /* @__PURE__ */
|
|
915
|
+
return /* @__PURE__ */ React26.createElement(SelectPrimitive.ScrollDownButton, {
|
|
796
916
|
"data-slot": "select-scroll-down-button",
|
|
797
917
|
className: cn("flex cursor-default items-center justify-center py-1", className),
|
|
798
918
|
...props
|
|
799
|
-
}, /* @__PURE__ */
|
|
919
|
+
}, /* @__PURE__ */ React26.createElement(ChevronDownIcon, {
|
|
800
920
|
className: "size-4"
|
|
801
921
|
}));
|
|
802
922
|
}
|
|
@@ -861,35 +981,35 @@ function ToolSelect({ onSelectTool, argName = "value", additionalArgs = {}, opti
|
|
|
861
981
|
]);
|
|
862
982
|
const isLoading = optionsHook.loading || selectHook.loading;
|
|
863
983
|
const hasError = optionsHook.error || selectHook.error;
|
|
864
|
-
return /* @__PURE__ */
|
|
984
|
+
return /* @__PURE__ */ React26.createElement(Select, {
|
|
865
985
|
value,
|
|
866
986
|
onValueChange: handleValueChange,
|
|
867
987
|
disabled: disabled || isLoading
|
|
868
|
-
}, /* @__PURE__ */
|
|
988
|
+
}, /* @__PURE__ */ React26.createElement(SelectTrigger, {
|
|
869
989
|
className: cn("w-full", className)
|
|
870
|
-
}, isLoading ? /* @__PURE__ */
|
|
990
|
+
}, isLoading ? /* @__PURE__ */ React26.createElement("div", {
|
|
871
991
|
className: "flex items-center gap-2"
|
|
872
|
-
}, /* @__PURE__ */
|
|
992
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
873
993
|
className: "h-4 w-4 animate-spin"
|
|
874
|
-
}), /* @__PURE__ */
|
|
994
|
+
}), /* @__PURE__ */ React26.createElement("span", {
|
|
875
995
|
className: "text-muted-foreground"
|
|
876
|
-
}, optionsHook.loading ? loadingPlaceholder : "Saving...")) : /* @__PURE__ */
|
|
996
|
+
}, optionsHook.loading ? loadingPlaceholder : "Saving...")) : /* @__PURE__ */ React26.createElement(SelectValue, {
|
|
877
997
|
placeholder
|
|
878
|
-
})), /* @__PURE__ */
|
|
998
|
+
})), /* @__PURE__ */ React26.createElement(SelectContent, null, allOptions.length === 0 ? /* @__PURE__ */ React26.createElement("div", {
|
|
879
999
|
className: "py-6 text-center text-sm text-muted-foreground"
|
|
880
|
-
}, hasError ? "Error loading options" : emptyMessage) : allOptions.map((option) => /* @__PURE__ */
|
|
1000
|
+
}, hasError ? "Error loading options" : emptyMessage) : allOptions.map((option) => /* @__PURE__ */ React26.createElement(SelectItem, {
|
|
881
1001
|
key: option.value,
|
|
882
1002
|
value: option.value,
|
|
883
1003
|
disabled: option.disabled
|
|
884
|
-
}, /* @__PURE__ */
|
|
1004
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
885
1005
|
className: "flex items-center gap-2"
|
|
886
|
-
}, option.icon, /* @__PURE__ */
|
|
1006
|
+
}, option.icon, /* @__PURE__ */ React26.createElement("div", null, /* @__PURE__ */ React26.createElement("div", null, option.label), option.description && /* @__PURE__ */ React26.createElement("div", {
|
|
887
1007
|
className: "text-xs text-muted-foreground"
|
|
888
1008
|
}, option.description)))))));
|
|
889
1009
|
}
|
|
890
1010
|
__name(ToolSelect, "ToolSelect");
|
|
891
1011
|
function Input({ className, type, ...props }) {
|
|
892
|
-
return /* @__PURE__ */
|
|
1012
|
+
return /* @__PURE__ */ React26.createElement("input", {
|
|
893
1013
|
type,
|
|
894
1014
|
"data-slot": "input",
|
|
895
1015
|
className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className),
|
|
@@ -898,7 +1018,7 @@ function Input({ className, type, ...props }) {
|
|
|
898
1018
|
}
|
|
899
1019
|
__name(Input, "Input");
|
|
900
1020
|
function Command({ className, ...props }) {
|
|
901
|
-
return /* @__PURE__ */
|
|
1021
|
+
return /* @__PURE__ */ React26.createElement(Command$1, {
|
|
902
1022
|
"data-slot": "command",
|
|
903
1023
|
className: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className),
|
|
904
1024
|
...props
|
|
@@ -906,23 +1026,23 @@ function Command({ className, ...props }) {
|
|
|
906
1026
|
}
|
|
907
1027
|
__name(Command, "Command");
|
|
908
1028
|
function CommandDialog({ title = "Command Palette", description = "Search for a command to run...", children, className, showCloseButton = true, ...props }) {
|
|
909
|
-
return /* @__PURE__ */
|
|
1029
|
+
return /* @__PURE__ */ React26.createElement(Dialog, props, /* @__PURE__ */ React26.createElement(DialogHeader, {
|
|
910
1030
|
className: "sr-only"
|
|
911
|
-
}, /* @__PURE__ */
|
|
1031
|
+
}, /* @__PURE__ */ React26.createElement(DialogTitle, null, title), /* @__PURE__ */ React26.createElement(DialogDescription, null, description)), /* @__PURE__ */ React26.createElement(DialogContent, {
|
|
912
1032
|
className: cn("overflow-hidden p-0", className),
|
|
913
1033
|
showCloseButton
|
|
914
|
-
}, /* @__PURE__ */
|
|
1034
|
+
}, /* @__PURE__ */ React26.createElement(Command, {
|
|
915
1035
|
className: "[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5"
|
|
916
1036
|
}, children)));
|
|
917
1037
|
}
|
|
918
1038
|
__name(CommandDialog, "CommandDialog");
|
|
919
1039
|
function CommandInput({ className, ...props }) {
|
|
920
|
-
return /* @__PURE__ */
|
|
1040
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
921
1041
|
"data-slot": "command-input-wrapper",
|
|
922
1042
|
className: "flex h-9 items-center gap-2 border-b px-3"
|
|
923
|
-
}, /* @__PURE__ */
|
|
1043
|
+
}, /* @__PURE__ */ React26.createElement(SearchIcon, {
|
|
924
1044
|
className: "size-4 shrink-0 opacity-50"
|
|
925
|
-
}), /* @__PURE__ */
|
|
1045
|
+
}), /* @__PURE__ */ React26.createElement(Command$1.Input, {
|
|
926
1046
|
"data-slot": "command-input",
|
|
927
1047
|
className: cn("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
928
1048
|
...props
|
|
@@ -930,7 +1050,7 @@ function CommandInput({ className, ...props }) {
|
|
|
930
1050
|
}
|
|
931
1051
|
__name(CommandInput, "CommandInput");
|
|
932
1052
|
function CommandList({ className, ...props }) {
|
|
933
|
-
return /* @__PURE__ */
|
|
1053
|
+
return /* @__PURE__ */ React26.createElement(Command$1.List, {
|
|
934
1054
|
"data-slot": "command-list",
|
|
935
1055
|
className: cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className),
|
|
936
1056
|
...props
|
|
@@ -938,7 +1058,7 @@ function CommandList({ className, ...props }) {
|
|
|
938
1058
|
}
|
|
939
1059
|
__name(CommandList, "CommandList");
|
|
940
1060
|
function CommandEmpty({ ...props }) {
|
|
941
|
-
return /* @__PURE__ */
|
|
1061
|
+
return /* @__PURE__ */ React26.createElement(Command$1.Empty, {
|
|
942
1062
|
"data-slot": "command-empty",
|
|
943
1063
|
className: "py-6 text-center text-sm",
|
|
944
1064
|
...props
|
|
@@ -946,7 +1066,7 @@ function CommandEmpty({ ...props }) {
|
|
|
946
1066
|
}
|
|
947
1067
|
__name(CommandEmpty, "CommandEmpty");
|
|
948
1068
|
function CommandGroup({ className, ...props }) {
|
|
949
|
-
return /* @__PURE__ */
|
|
1069
|
+
return /* @__PURE__ */ React26.createElement(Command$1.Group, {
|
|
950
1070
|
"data-slot": "command-group",
|
|
951
1071
|
className: cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", className),
|
|
952
1072
|
...props
|
|
@@ -954,7 +1074,7 @@ function CommandGroup({ className, ...props }) {
|
|
|
954
1074
|
}
|
|
955
1075
|
__name(CommandGroup, "CommandGroup");
|
|
956
1076
|
function CommandSeparator({ className, ...props }) {
|
|
957
|
-
return /* @__PURE__ */
|
|
1077
|
+
return /* @__PURE__ */ React26.createElement(Command$1.Separator, {
|
|
958
1078
|
"data-slot": "command-separator",
|
|
959
1079
|
className: cn("bg-border -mx-1 h-px", className),
|
|
960
1080
|
...props
|
|
@@ -962,7 +1082,7 @@ function CommandSeparator({ className, ...props }) {
|
|
|
962
1082
|
}
|
|
963
1083
|
__name(CommandSeparator, "CommandSeparator");
|
|
964
1084
|
function CommandItem({ className, ...props }) {
|
|
965
|
-
return /* @__PURE__ */
|
|
1085
|
+
return /* @__PURE__ */ React26.createElement(Command$1.Item, {
|
|
966
1086
|
"data-slot": "command-item",
|
|
967
1087
|
className: cn("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
968
1088
|
...props
|
|
@@ -970,7 +1090,7 @@ function CommandItem({ className, ...props }) {
|
|
|
970
1090
|
}
|
|
971
1091
|
__name(CommandItem, "CommandItem");
|
|
972
1092
|
function CommandShortcut({ className, ...props }) {
|
|
973
|
-
return /* @__PURE__ */
|
|
1093
|
+
return /* @__PURE__ */ React26.createElement("span", {
|
|
974
1094
|
"data-slot": "command-shortcut",
|
|
975
1095
|
className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
976
1096
|
...props
|
|
@@ -978,21 +1098,21 @@ function CommandShortcut({ className, ...props }) {
|
|
|
978
1098
|
}
|
|
979
1099
|
__name(CommandShortcut, "CommandShortcut");
|
|
980
1100
|
function Popover({ ...props }) {
|
|
981
|
-
return /* @__PURE__ */
|
|
1101
|
+
return /* @__PURE__ */ React26.createElement(PopoverPrimitive.Root, {
|
|
982
1102
|
"data-slot": "popover",
|
|
983
1103
|
...props
|
|
984
1104
|
});
|
|
985
1105
|
}
|
|
986
1106
|
__name(Popover, "Popover");
|
|
987
1107
|
function PopoverTrigger({ ...props }) {
|
|
988
|
-
return /* @__PURE__ */
|
|
1108
|
+
return /* @__PURE__ */ React26.createElement(PopoverPrimitive.Trigger, {
|
|
989
1109
|
"data-slot": "popover-trigger",
|
|
990
1110
|
...props
|
|
991
1111
|
});
|
|
992
1112
|
}
|
|
993
1113
|
__name(PopoverTrigger, "PopoverTrigger");
|
|
994
1114
|
function PopoverContent({ className, align = "center", sideOffset = 4, ...props }) {
|
|
995
|
-
return /* @__PURE__ */
|
|
1115
|
+
return /* @__PURE__ */ React26.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ React26.createElement(PopoverPrimitive.Content, {
|
|
996
1116
|
"data-slot": "popover-content",
|
|
997
1117
|
align,
|
|
998
1118
|
sideOffset,
|
|
@@ -1002,7 +1122,7 @@ function PopoverContent({ className, align = "center", sideOffset = 4, ...props
|
|
|
1002
1122
|
}
|
|
1003
1123
|
__name(PopoverContent, "PopoverContent");
|
|
1004
1124
|
function PopoverAnchor({ ...props }) {
|
|
1005
|
-
return /* @__PURE__ */
|
|
1125
|
+
return /* @__PURE__ */ React26.createElement(PopoverPrimitive.Anchor, {
|
|
1006
1126
|
"data-slot": "popover-anchor",
|
|
1007
1127
|
...props
|
|
1008
1128
|
});
|
|
@@ -1091,11 +1211,11 @@ function ToolInput({ searchTool, debounce = 300, minChars = 1, argName = "query"
|
|
|
1091
1211
|
}
|
|
1092
1212
|
};
|
|
1093
1213
|
}, []);
|
|
1094
|
-
const inputElement = /* @__PURE__ */
|
|
1214
|
+
const inputElement = /* @__PURE__ */ React26.createElement("div", {
|
|
1095
1215
|
className: cn("relative", className)
|
|
1096
|
-
}, showSearchIcon && /* @__PURE__ */
|
|
1216
|
+
}, showSearchIcon && /* @__PURE__ */ React26.createElement(Search, {
|
|
1097
1217
|
className: "absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"
|
|
1098
|
-
}), /* @__PURE__ */
|
|
1218
|
+
}), /* @__PURE__ */ React26.createElement(Input, {
|
|
1099
1219
|
ref: inputRef,
|
|
1100
1220
|
value,
|
|
1101
1221
|
onChange: handleChange,
|
|
@@ -1103,42 +1223,42 @@ function ToolInput({ searchTool, debounce = 300, minChars = 1, argName = "query"
|
|
|
1103
1223
|
disabled,
|
|
1104
1224
|
className: cn(showSearchIcon && "pl-9", (showClearButton || showLoadingIndicator) && "pr-9"),
|
|
1105
1225
|
...props
|
|
1106
|
-
}), /* @__PURE__ */
|
|
1226
|
+
}), /* @__PURE__ */ React26.createElement("div", {
|
|
1107
1227
|
className: "absolute right-3 top-1/2 -translate-y-1/2 flex items-center gap-1"
|
|
1108
|
-
}, showLoadingIndicator && loading && /* @__PURE__ */
|
|
1228
|
+
}, showLoadingIndicator && loading && /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1109
1229
|
className: "h-4 w-4 animate-spin text-muted-foreground"
|
|
1110
|
-
}), showClearButton && value && !loading && /* @__PURE__ */
|
|
1230
|
+
}), showClearButton && value && !loading && /* @__PURE__ */ React26.createElement("button", {
|
|
1111
1231
|
type: "button",
|
|
1112
1232
|
onClick: handleClear,
|
|
1113
1233
|
className: "h-4 w-4 text-muted-foreground hover:text-foreground transition-colors"
|
|
1114
|
-
}, /* @__PURE__ */
|
|
1234
|
+
}, /* @__PURE__ */ React26.createElement(X, {
|
|
1115
1235
|
className: "h-4 w-4"
|
|
1116
1236
|
}))));
|
|
1117
1237
|
if (!autocomplete) {
|
|
1118
1238
|
return inputElement;
|
|
1119
1239
|
}
|
|
1120
|
-
return /* @__PURE__ */
|
|
1240
|
+
return /* @__PURE__ */ React26.createElement(Popover, {
|
|
1121
1241
|
open: isOpen,
|
|
1122
1242
|
onOpenChange: setIsOpen
|
|
1123
|
-
}, /* @__PURE__ */
|
|
1243
|
+
}, /* @__PURE__ */ React26.createElement(PopoverTrigger, {
|
|
1124
1244
|
asChild: true
|
|
1125
|
-
}, inputElement), /* @__PURE__ */
|
|
1245
|
+
}, inputElement), /* @__PURE__ */ React26.createElement(PopoverContent, {
|
|
1126
1246
|
className: "p-0 w-[var(--radix-popover-trigger-width)]",
|
|
1127
1247
|
align: "start",
|
|
1128
1248
|
onOpenAutoFocus: /* @__PURE__ */ __name((e) => e.preventDefault(), "onOpenAutoFocus")
|
|
1129
|
-
}, /* @__PURE__ */
|
|
1249
|
+
}, /* @__PURE__ */ React26.createElement(Command, null, /* @__PURE__ */ React26.createElement(CommandList, null, /* @__PURE__ */ React26.createElement(CommandEmpty, null, emptyMessage), /* @__PURE__ */ React26.createElement(CommandGroup, null, suggestions.map((suggestion) => /* @__PURE__ */ React26.createElement(CommandItem, {
|
|
1130
1250
|
key: suggestion.value,
|
|
1131
1251
|
value: suggestion.value,
|
|
1132
1252
|
onSelect: /* @__PURE__ */ __name(() => handleSelect(suggestion), "onSelect")
|
|
1133
|
-
}, /* @__PURE__ */
|
|
1253
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
1134
1254
|
className: "flex items-center gap-2"
|
|
1135
|
-
}, suggestion.icon, /* @__PURE__ */
|
|
1255
|
+
}, suggestion.icon, /* @__PURE__ */ React26.createElement("div", null, /* @__PURE__ */ React26.createElement("div", null, suggestion.label), suggestion.description && /* @__PURE__ */ React26.createElement("div", {
|
|
1136
1256
|
className: "text-xs text-muted-foreground"
|
|
1137
1257
|
}, suggestion.description))))))))));
|
|
1138
1258
|
}
|
|
1139
1259
|
__name(ToolInput, "ToolInput");
|
|
1140
1260
|
function Label2({ className, ...props }) {
|
|
1141
|
-
return /* @__PURE__ */
|
|
1261
|
+
return /* @__PURE__ */ React26.createElement(LabelPrimitive.Root, {
|
|
1142
1262
|
"data-slot": "label",
|
|
1143
1263
|
className: cn("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", className),
|
|
1144
1264
|
...props
|
|
@@ -1146,7 +1266,7 @@ function Label2({ className, ...props }) {
|
|
|
1146
1266
|
}
|
|
1147
1267
|
__name(Label2, "Label");
|
|
1148
1268
|
function Textarea({ className, ...props }) {
|
|
1149
|
-
return /* @__PURE__ */
|
|
1269
|
+
return /* @__PURE__ */ React26.createElement("textarea", {
|
|
1150
1270
|
"data-slot": "textarea",
|
|
1151
1271
|
className: cn("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", className),
|
|
1152
1272
|
...props
|
|
@@ -1154,20 +1274,20 @@ function Textarea({ className, ...props }) {
|
|
|
1154
1274
|
}
|
|
1155
1275
|
__name(Textarea, "Textarea");
|
|
1156
1276
|
function Checkbox({ className, ...props }) {
|
|
1157
|
-
return /* @__PURE__ */
|
|
1277
|
+
return /* @__PURE__ */ React26.createElement(CheckboxPrimitive.Root, {
|
|
1158
1278
|
"data-slot": "checkbox",
|
|
1159
1279
|
className: cn("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
1160
1280
|
...props
|
|
1161
|
-
}, /* @__PURE__ */
|
|
1281
|
+
}, /* @__PURE__ */ React26.createElement(CheckboxPrimitive.Indicator, {
|
|
1162
1282
|
"data-slot": "checkbox-indicator",
|
|
1163
1283
|
className: "grid place-content-center text-current transition-none"
|
|
1164
|
-
}, /* @__PURE__ */
|
|
1284
|
+
}, /* @__PURE__ */ React26.createElement(CheckIcon, {
|
|
1165
1285
|
className: "size-3.5"
|
|
1166
1286
|
})));
|
|
1167
1287
|
}
|
|
1168
1288
|
__name(Checkbox, "Checkbox");
|
|
1169
1289
|
function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
|
|
1170
|
-
const _values =
|
|
1290
|
+
const _values = React26.useMemo(() => Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [
|
|
1171
1291
|
min,
|
|
1172
1292
|
max
|
|
1173
1293
|
], [
|
|
@@ -1176,7 +1296,7 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
|
|
|
1176
1296
|
min,
|
|
1177
1297
|
max
|
|
1178
1298
|
]);
|
|
1179
|
-
return /* @__PURE__ */
|
|
1299
|
+
return /* @__PURE__ */ React26.createElement(SliderPrimitive.Root, {
|
|
1180
1300
|
"data-slot": "slider",
|
|
1181
1301
|
defaultValue,
|
|
1182
1302
|
value,
|
|
@@ -1184,15 +1304,15 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
|
|
|
1184
1304
|
max,
|
|
1185
1305
|
className: cn("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className),
|
|
1186
1306
|
...props
|
|
1187
|
-
}, /* @__PURE__ */
|
|
1307
|
+
}, /* @__PURE__ */ React26.createElement(SliderPrimitive.Track, {
|
|
1188
1308
|
"data-slot": "slider-track",
|
|
1189
1309
|
className: cn("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5")
|
|
1190
|
-
}, /* @__PURE__ */
|
|
1310
|
+
}, /* @__PURE__ */ React26.createElement(SliderPrimitive.Range, {
|
|
1191
1311
|
"data-slot": "slider-range",
|
|
1192
1312
|
className: cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")
|
|
1193
1313
|
})), Array.from({
|
|
1194
1314
|
length: _values.length
|
|
1195
|
-
}, (_, index) => /* @__PURE__ */
|
|
1315
|
+
}, (_, index) => /* @__PURE__ */ React26.createElement(SliderPrimitive.Thumb, {
|
|
1196
1316
|
"data-slot": "slider-thumb",
|
|
1197
1317
|
key: index,
|
|
1198
1318
|
className: "border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
|
|
@@ -1200,11 +1320,11 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
|
|
|
1200
1320
|
}
|
|
1201
1321
|
__name(Slider, "Slider");
|
|
1202
1322
|
function Switch({ className, ...props }) {
|
|
1203
|
-
return /* @__PURE__ */
|
|
1323
|
+
return /* @__PURE__ */ React26.createElement(SwitchPrimitive.Root, {
|
|
1204
1324
|
"data-slot": "switch",
|
|
1205
1325
|
className: cn("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className),
|
|
1206
1326
|
...props
|
|
1207
|
-
}, /* @__PURE__ */
|
|
1327
|
+
}, /* @__PURE__ */ React26.createElement(SwitchPrimitive.Thumb, {
|
|
1208
1328
|
"data-slot": "switch-thumb",
|
|
1209
1329
|
className: cn("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")
|
|
1210
1330
|
}));
|
|
@@ -1222,7 +1342,7 @@ var alertVariants = cva("relative w-full rounded-lg border px-4 py-3 text-sm gri
|
|
|
1222
1342
|
}
|
|
1223
1343
|
});
|
|
1224
1344
|
function Alert({ className, variant, ...props }) {
|
|
1225
|
-
return /* @__PURE__ */
|
|
1345
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1226
1346
|
"data-slot": "alert",
|
|
1227
1347
|
role: "alert",
|
|
1228
1348
|
className: cn(alertVariants({
|
|
@@ -1233,7 +1353,7 @@ function Alert({ className, variant, ...props }) {
|
|
|
1233
1353
|
}
|
|
1234
1354
|
__name(Alert, "Alert");
|
|
1235
1355
|
function AlertTitle({ className, ...props }) {
|
|
1236
|
-
return /* @__PURE__ */
|
|
1356
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1237
1357
|
"data-slot": "alert-title",
|
|
1238
1358
|
className: cn("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className),
|
|
1239
1359
|
...props
|
|
@@ -1241,7 +1361,7 @@ function AlertTitle({ className, ...props }) {
|
|
|
1241
1361
|
}
|
|
1242
1362
|
__name(AlertTitle, "AlertTitle");
|
|
1243
1363
|
function AlertDescription({ className, ...props }) {
|
|
1244
|
-
return /* @__PURE__ */
|
|
1364
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1245
1365
|
"data-slot": "alert-description",
|
|
1246
1366
|
className: cn("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed", className),
|
|
1247
1367
|
...props
|
|
@@ -1335,7 +1455,7 @@ function ToolForm({ toolName, fields: manualFields, autoSchema = false, submitTe
|
|
|
1335
1455
|
const value = formData[field.name];
|
|
1336
1456
|
switch (field.type) {
|
|
1337
1457
|
case "textarea":
|
|
1338
|
-
return /* @__PURE__ */
|
|
1458
|
+
return /* @__PURE__ */ React26.createElement(Textarea, {
|
|
1339
1459
|
id: field.name,
|
|
1340
1460
|
placeholder: field.placeholder,
|
|
1341
1461
|
value: value ?? "",
|
|
@@ -1344,45 +1464,45 @@ function ToolForm({ toolName, fields: manualFields, autoSchema = false, submitTe
|
|
|
1344
1464
|
required: field.required
|
|
1345
1465
|
});
|
|
1346
1466
|
case "select":
|
|
1347
|
-
return /* @__PURE__ */
|
|
1467
|
+
return /* @__PURE__ */ React26.createElement(Select, {
|
|
1348
1468
|
value: value ?? "",
|
|
1349
1469
|
onValueChange: /* @__PURE__ */ __name((v) => handleChange(field.name, v), "onValueChange"),
|
|
1350
1470
|
disabled: field.disabled || loading
|
|
1351
|
-
}, /* @__PURE__ */
|
|
1471
|
+
}, /* @__PURE__ */ React26.createElement(SelectTrigger, null, /* @__PURE__ */ React26.createElement(SelectValue, {
|
|
1352
1472
|
placeholder: field.placeholder ?? "Select..."
|
|
1353
|
-
})), /* @__PURE__ */
|
|
1473
|
+
})), /* @__PURE__ */ React26.createElement(SelectContent, null, field.options?.map((option) => /* @__PURE__ */ React26.createElement(SelectItem, {
|
|
1354
1474
|
key: option.value,
|
|
1355
1475
|
value: option.value
|
|
1356
1476
|
}, option.label))));
|
|
1357
1477
|
case "checkbox":
|
|
1358
|
-
return /* @__PURE__ */
|
|
1478
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1359
1479
|
className: "flex items-center space-x-2"
|
|
1360
|
-
}, /* @__PURE__ */
|
|
1480
|
+
}, /* @__PURE__ */ React26.createElement(Checkbox, {
|
|
1361
1481
|
id: field.name,
|
|
1362
1482
|
checked: value ?? false,
|
|
1363
1483
|
onCheckedChange: /* @__PURE__ */ __name((checked) => handleChange(field.name, checked), "onCheckedChange"),
|
|
1364
1484
|
disabled: field.disabled || loading
|
|
1365
|
-
}), /* @__PURE__ */
|
|
1485
|
+
}), /* @__PURE__ */ React26.createElement("label", {
|
|
1366
1486
|
htmlFor: field.name,
|
|
1367
1487
|
className: "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
|
|
1368
1488
|
}, field.label));
|
|
1369
1489
|
case "switch":
|
|
1370
|
-
return /* @__PURE__ */
|
|
1490
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1371
1491
|
className: "flex items-center space-x-2"
|
|
1372
|
-
}, /* @__PURE__ */
|
|
1492
|
+
}, /* @__PURE__ */ React26.createElement(Switch, {
|
|
1373
1493
|
id: field.name,
|
|
1374
1494
|
checked: value ?? false,
|
|
1375
1495
|
onCheckedChange: /* @__PURE__ */ __name((checked) => handleChange(field.name, checked), "onCheckedChange"),
|
|
1376
1496
|
disabled: field.disabled || loading
|
|
1377
|
-
}), /* @__PURE__ */
|
|
1497
|
+
}), /* @__PURE__ */ React26.createElement(Label2, {
|
|
1378
1498
|
htmlFor: field.name
|
|
1379
1499
|
}, field.label));
|
|
1380
1500
|
case "slider":
|
|
1381
|
-
return /* @__PURE__ */
|
|
1501
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1382
1502
|
className: "space-y-2"
|
|
1383
|
-
}, /* @__PURE__ */
|
|
1503
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
1384
1504
|
className: "flex justify-between text-sm"
|
|
1385
|
-
}, /* @__PURE__ */
|
|
1505
|
+
}, /* @__PURE__ */ React26.createElement("span", null, field.min ?? 0), /* @__PURE__ */ React26.createElement("span", null, value ?? field.min ?? 0), /* @__PURE__ */ React26.createElement("span", null, field.max ?? 100)), /* @__PURE__ */ React26.createElement(Slider, {
|
|
1386
1506
|
value: [
|
|
1387
1507
|
value ?? field.min ?? 0
|
|
1388
1508
|
],
|
|
@@ -1393,7 +1513,7 @@ function ToolForm({ toolName, fields: manualFields, autoSchema = false, submitTe
|
|
|
1393
1513
|
disabled: field.disabled || loading
|
|
1394
1514
|
}));
|
|
1395
1515
|
case "number":
|
|
1396
|
-
return /* @__PURE__ */
|
|
1516
|
+
return /* @__PURE__ */ React26.createElement(Input, {
|
|
1397
1517
|
id: field.name,
|
|
1398
1518
|
type: "number",
|
|
1399
1519
|
placeholder: field.placeholder,
|
|
@@ -1406,7 +1526,7 @@ function ToolForm({ toolName, fields: manualFields, autoSchema = false, submitTe
|
|
|
1406
1526
|
required: field.required
|
|
1407
1527
|
});
|
|
1408
1528
|
default:
|
|
1409
|
-
return /* @__PURE__ */
|
|
1529
|
+
return /* @__PURE__ */ React26.createElement(Input, {
|
|
1410
1530
|
id: field.name,
|
|
1411
1531
|
type: field.type ?? "text",
|
|
1412
1532
|
placeholder: field.placeholder,
|
|
@@ -1418,38 +1538,38 @@ function ToolForm({ toolName, fields: manualFields, autoSchema = false, submitTe
|
|
|
1418
1538
|
}
|
|
1419
1539
|
}, "renderField");
|
|
1420
1540
|
if (schemaLoading) {
|
|
1421
|
-
return /* @__PURE__ */
|
|
1541
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1422
1542
|
className: "flex items-center justify-center p-8"
|
|
1423
|
-
}, /* @__PURE__ */
|
|
1543
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1424
1544
|
className: "h-6 w-6 animate-spin text-muted-foreground"
|
|
1425
1545
|
}));
|
|
1426
1546
|
}
|
|
1427
|
-
return /* @__PURE__ */
|
|
1547
|
+
return /* @__PURE__ */ React26.createElement("form", {
|
|
1428
1548
|
className: cn("space-y-4", className),
|
|
1429
1549
|
onSubmit: handleSubmit
|
|
1430
|
-
}, /* @__PURE__ */
|
|
1550
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
1431
1551
|
className: cn("space-y-4", layout === "horizontal" && "grid grid-cols-2 gap-4")
|
|
1432
|
-
}, fields.map((field) => /* @__PURE__ */
|
|
1552
|
+
}, fields.map((field) => /* @__PURE__ */ React26.createElement("div", {
|
|
1433
1553
|
key: field.name,
|
|
1434
1554
|
className: "space-y-2"
|
|
1435
|
-
}, field.type !== "checkbox" && field.type !== "switch" && /* @__PURE__ */
|
|
1555
|
+
}, field.type !== "checkbox" && field.type !== "switch" && /* @__PURE__ */ React26.createElement(Label2, {
|
|
1436
1556
|
htmlFor: field.name
|
|
1437
|
-
}, field.label, field.required && /* @__PURE__ */
|
|
1557
|
+
}, field.label, field.required && /* @__PURE__ */ React26.createElement("span", {
|
|
1438
1558
|
className: "text-destructive ml-1"
|
|
1439
|
-
}, "*")), renderField(field), field.description && /* @__PURE__ */
|
|
1559
|
+
}, "*")), renderField(field), field.description && /* @__PURE__ */ React26.createElement("p", {
|
|
1440
1560
|
className: "text-sm text-muted-foreground"
|
|
1441
|
-
}, field.description)))), /* @__PURE__ */
|
|
1561
|
+
}, field.description)))), /* @__PURE__ */ React26.createElement("div", {
|
|
1442
1562
|
className: "flex items-center gap-2"
|
|
1443
|
-
}, /* @__PURE__ */
|
|
1563
|
+
}, /* @__PURE__ */ React26.createElement(Button, {
|
|
1444
1564
|
type: "submit",
|
|
1445
1565
|
disabled: loading
|
|
1446
|
-
}, loading ? /* @__PURE__ */
|
|
1566
|
+
}, loading ? /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1447
1567
|
className: "h-4 w-4 animate-spin mr-2"
|
|
1448
|
-
}), loadingText ?? "Submitting...") : submitText)), error && /* @__PURE__ */
|
|
1568
|
+
}), loadingText ?? "Submitting...") : submitText)), error && /* @__PURE__ */ React26.createElement(Alert, {
|
|
1449
1569
|
variant: "destructive"
|
|
1450
|
-
}, /* @__PURE__ */
|
|
1570
|
+
}, /* @__PURE__ */ React26.createElement(AlertDescription, null, error.message)), showResult && result !== null && /* @__PURE__ */ React26.createElement("div", {
|
|
1451
1571
|
className: "rounded-md bg-muted p-4"
|
|
1452
|
-
}, /* @__PURE__ */
|
|
1572
|
+
}, /* @__PURE__ */ React26.createElement("pre", {
|
|
1453
1573
|
className: "text-sm overflow-auto"
|
|
1454
1574
|
}, JSON.stringify(result, null, 2))));
|
|
1455
1575
|
}
|
|
@@ -1572,7 +1692,7 @@ function useResource(uri, options = {}) {
|
|
|
1572
1692
|
}
|
|
1573
1693
|
__name(useResource, "useResource");
|
|
1574
1694
|
function Skeleton({ className, ...props }) {
|
|
1575
|
-
return /* @__PURE__ */
|
|
1695
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
1576
1696
|
"data-slot": "skeleton",
|
|
1577
1697
|
className: cn("bg-accent animate-pulse rounded-md", className),
|
|
1578
1698
|
...props
|
|
@@ -1582,30 +1702,30 @@ __name(Skeleton, "Skeleton");
|
|
|
1582
1702
|
|
|
1583
1703
|
// src/mcp/ResourceView.tsx
|
|
1584
1704
|
function DefaultLoading() {
|
|
1585
|
-
return /* @__PURE__ */
|
|
1705
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1586
1706
|
className: "flex flex-col gap-3 p-4"
|
|
1587
|
-
}, /* @__PURE__ */
|
|
1707
|
+
}, /* @__PURE__ */ React26.createElement(Skeleton, {
|
|
1588
1708
|
className: "h-4 w-3/4"
|
|
1589
|
-
}), /* @__PURE__ */
|
|
1709
|
+
}), /* @__PURE__ */ React26.createElement(Skeleton, {
|
|
1590
1710
|
className: "h-4 w-1/2"
|
|
1591
|
-
}), /* @__PURE__ */
|
|
1711
|
+
}), /* @__PURE__ */ React26.createElement(Skeleton, {
|
|
1592
1712
|
className: "h-20 w-full"
|
|
1593
1713
|
}));
|
|
1594
1714
|
}
|
|
1595
1715
|
__name(DefaultLoading, "DefaultLoading");
|
|
1596
1716
|
function DefaultError({ error, onRetry }) {
|
|
1597
|
-
return /* @__PURE__ */
|
|
1717
|
+
return /* @__PURE__ */ React26.createElement(Alert, {
|
|
1598
1718
|
variant: "destructive"
|
|
1599
|
-
}, /* @__PURE__ */
|
|
1719
|
+
}, /* @__PURE__ */ React26.createElement(AlertCircle, {
|
|
1600
1720
|
className: "h-4 w-4"
|
|
1601
|
-
}), /* @__PURE__ */
|
|
1721
|
+
}), /* @__PURE__ */ React26.createElement(AlertTitle, null, "Error loading resource"), /* @__PURE__ */ React26.createElement(AlertDescription, {
|
|
1602
1722
|
className: "flex flex-col gap-2"
|
|
1603
|
-
}, /* @__PURE__ */
|
|
1723
|
+
}, /* @__PURE__ */ React26.createElement("span", null, error.message), /* @__PURE__ */ React26.createElement(Button, {
|
|
1604
1724
|
variant: "outline",
|
|
1605
1725
|
size: "sm",
|
|
1606
1726
|
onClick: onRetry,
|
|
1607
1727
|
className: "w-fit"
|
|
1608
|
-
}, /* @__PURE__ */
|
|
1728
|
+
}, /* @__PURE__ */ React26.createElement(RefreshCw, {
|
|
1609
1729
|
className: "h-4 w-4 mr-2"
|
|
1610
1730
|
}), "Retry")));
|
|
1611
1731
|
}
|
|
@@ -1625,42 +1745,42 @@ function ResourceView({ uri, refreshInterval, subscribe, transform, loading: loa
|
|
|
1625
1745
|
};
|
|
1626
1746
|
if (loading && data === null) {
|
|
1627
1747
|
if (loadingContent) {
|
|
1628
|
-
return /* @__PURE__ */
|
|
1748
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1629
1749
|
className
|
|
1630
1750
|
}, loadingContent);
|
|
1631
1751
|
}
|
|
1632
|
-
return /* @__PURE__ */
|
|
1752
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1633
1753
|
className: cn("flex items-center justify-center p-8", className)
|
|
1634
|
-
}, /* @__PURE__ */
|
|
1754
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1635
1755
|
className: "h-8 w-8 animate-spin text-muted-foreground"
|
|
1636
1756
|
}));
|
|
1637
1757
|
}
|
|
1638
1758
|
if (error && data === null) {
|
|
1639
1759
|
if (errorContent) {
|
|
1640
1760
|
if (typeof errorContent === "function") {
|
|
1641
|
-
return /* @__PURE__ */
|
|
1761
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1642
1762
|
className
|
|
1643
1763
|
}, errorContent(error, refresh));
|
|
1644
1764
|
}
|
|
1645
|
-
return /* @__PURE__ */
|
|
1765
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1646
1766
|
className
|
|
1647
1767
|
}, errorContent);
|
|
1648
1768
|
}
|
|
1649
|
-
return /* @__PURE__ */
|
|
1769
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1650
1770
|
className
|
|
1651
|
-
}, /* @__PURE__ */
|
|
1771
|
+
}, /* @__PURE__ */ React26.createElement(DefaultError, {
|
|
1652
1772
|
error,
|
|
1653
1773
|
onRetry: refresh
|
|
1654
1774
|
}));
|
|
1655
1775
|
}
|
|
1656
1776
|
if (data !== null) {
|
|
1657
|
-
return /* @__PURE__ */
|
|
1777
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1658
1778
|
className
|
|
1659
1779
|
}, children(data, meta));
|
|
1660
1780
|
}
|
|
1661
|
-
return /* @__PURE__ */
|
|
1781
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1662
1782
|
className
|
|
1663
|
-
}, loadingContent ?? /* @__PURE__ */
|
|
1783
|
+
}, loadingContent ?? /* @__PURE__ */ React26.createElement(DefaultLoading, null));
|
|
1664
1784
|
}
|
|
1665
1785
|
__name(ResourceView, "ResourceView");
|
|
1666
1786
|
function useToolStream(options = {}) {
|
|
@@ -1709,11 +1829,11 @@ function useToolStream(options = {}) {
|
|
|
1709
1829
|
}
|
|
1710
1830
|
__name(useToolStream, "useToolStream");
|
|
1711
1831
|
function Progress({ className, value, ...props }) {
|
|
1712
|
-
return /* @__PURE__ */
|
|
1832
|
+
return /* @__PURE__ */ React26.createElement(ProgressPrimitive.Root, {
|
|
1713
1833
|
"data-slot": "progress",
|
|
1714
1834
|
className: cn("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full", className),
|
|
1715
1835
|
...props
|
|
1716
|
-
}, /* @__PURE__ */
|
|
1836
|
+
}, /* @__PURE__ */ React26.createElement(ProgressPrimitive.Indicator, {
|
|
1717
1837
|
"data-slot": "progress-indicator",
|
|
1718
1838
|
className: "bg-primary h-full w-full flex-1 transition-all",
|
|
1719
1839
|
style: {
|
|
@@ -1732,44 +1852,44 @@ function StreamingContent({ fallback, showProgress = false, progress: externalPr
|
|
|
1732
1852
|
const data = complete ?? partial;
|
|
1733
1853
|
if (!data) {
|
|
1734
1854
|
if (fallback) {
|
|
1735
|
-
return /* @__PURE__ */
|
|
1855
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1736
1856
|
className
|
|
1737
1857
|
}, fallback);
|
|
1738
1858
|
}
|
|
1739
|
-
return /* @__PURE__ */
|
|
1859
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1740
1860
|
className: cn("flex items-center justify-center p-8", className)
|
|
1741
|
-
}, /* @__PURE__ */
|
|
1861
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1742
1862
|
className: "h-6 w-6 animate-spin text-muted-foreground"
|
|
1743
1863
|
}));
|
|
1744
1864
|
}
|
|
1745
1865
|
const streamingClasses = cn(streamingStyle === "opacity" && isStreaming && "opacity-70", streamingStyle === "blur" && isStreaming && "blur-[1px]");
|
|
1746
|
-
return /* @__PURE__ */
|
|
1866
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1747
1867
|
className: cn("relative", className)
|
|
1748
|
-
}, showProgress && isStreaming && /* @__PURE__ */
|
|
1868
|
+
}, showProgress && isStreaming && /* @__PURE__ */ React26.createElement("div", {
|
|
1749
1869
|
className: "absolute top-0 left-0 right-0 z-10"
|
|
1750
|
-
}, externalProgress !== void 0 ? /* @__PURE__ */
|
|
1870
|
+
}, externalProgress !== void 0 ? /* @__PURE__ */ React26.createElement(Progress, {
|
|
1751
1871
|
value: externalProgress,
|
|
1752
1872
|
className: "h-1"
|
|
1753
|
-
}) : /* @__PURE__ */
|
|
1873
|
+
}) : /* @__PURE__ */ React26.createElement("div", {
|
|
1754
1874
|
className: "h-1 bg-primary/20 overflow-hidden"
|
|
1755
|
-
}, /* @__PURE__ */
|
|
1875
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
1756
1876
|
className: "h-full w-1/3 bg-primary animate-[shimmer_1s_infinite]"
|
|
1757
|
-
}))), isStreaming && /* @__PURE__ */
|
|
1877
|
+
}))), isStreaming && /* @__PURE__ */ React26.createElement("div", {
|
|
1758
1878
|
className: "absolute top-2 right-2 z-10"
|
|
1759
|
-
}, /* @__PURE__ */
|
|
1879
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
1760
1880
|
className: "flex items-center gap-1 px-2 py-1 rounded-full bg-muted text-muted-foreground text-xs"
|
|
1761
|
-
}, /* @__PURE__ */
|
|
1881
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
1762
1882
|
className: "h-3 w-3 animate-spin"
|
|
1763
|
-
}), /* @__PURE__ */
|
|
1883
|
+
}), /* @__PURE__ */ React26.createElement("span", null, "Streaming..."))), /* @__PURE__ */ React26.createElement("div", {
|
|
1764
1884
|
className: cn("transition-all duration-200", streamingClasses)
|
|
1765
1885
|
}, children(data, isComplete)));
|
|
1766
1886
|
}
|
|
1767
1887
|
__name(StreamingContent, "StreamingContent");
|
|
1768
1888
|
function Table({ className, ...props }) {
|
|
1769
|
-
return /* @__PURE__ */
|
|
1889
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1770
1890
|
"data-slot": "table-container",
|
|
1771
1891
|
className: "relative w-full overflow-x-auto"
|
|
1772
|
-
}, /* @__PURE__ */
|
|
1892
|
+
}, /* @__PURE__ */ React26.createElement("table", {
|
|
1773
1893
|
"data-slot": "table",
|
|
1774
1894
|
className: cn("w-full caption-bottom text-sm", className),
|
|
1775
1895
|
...props
|
|
@@ -1777,7 +1897,7 @@ function Table({ className, ...props }) {
|
|
|
1777
1897
|
}
|
|
1778
1898
|
__name(Table, "Table");
|
|
1779
1899
|
function TableHeader({ className, ...props }) {
|
|
1780
|
-
return /* @__PURE__ */
|
|
1900
|
+
return /* @__PURE__ */ React26.createElement("thead", {
|
|
1781
1901
|
"data-slot": "table-header",
|
|
1782
1902
|
className: cn("[&_tr]:border-b", className),
|
|
1783
1903
|
...props
|
|
@@ -1785,7 +1905,7 @@ function TableHeader({ className, ...props }) {
|
|
|
1785
1905
|
}
|
|
1786
1906
|
__name(TableHeader, "TableHeader");
|
|
1787
1907
|
function TableBody({ className, ...props }) {
|
|
1788
|
-
return /* @__PURE__ */
|
|
1908
|
+
return /* @__PURE__ */ React26.createElement("tbody", {
|
|
1789
1909
|
"data-slot": "table-body",
|
|
1790
1910
|
className: cn("[&_tr:last-child]:border-0", className),
|
|
1791
1911
|
...props
|
|
@@ -1793,7 +1913,7 @@ function TableBody({ className, ...props }) {
|
|
|
1793
1913
|
}
|
|
1794
1914
|
__name(TableBody, "TableBody");
|
|
1795
1915
|
function TableFooter({ className, ...props }) {
|
|
1796
|
-
return /* @__PURE__ */
|
|
1916
|
+
return /* @__PURE__ */ React26.createElement("tfoot", {
|
|
1797
1917
|
"data-slot": "table-footer",
|
|
1798
1918
|
className: cn("bg-muted/50 border-t font-medium [&>tr]:last:border-b-0", className),
|
|
1799
1919
|
...props
|
|
@@ -1801,7 +1921,7 @@ function TableFooter({ className, ...props }) {
|
|
|
1801
1921
|
}
|
|
1802
1922
|
__name(TableFooter, "TableFooter");
|
|
1803
1923
|
function TableRow({ className, ...props }) {
|
|
1804
|
-
return /* @__PURE__ */
|
|
1924
|
+
return /* @__PURE__ */ React26.createElement("tr", {
|
|
1805
1925
|
"data-slot": "table-row",
|
|
1806
1926
|
className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className),
|
|
1807
1927
|
...props
|
|
@@ -1809,7 +1929,7 @@ function TableRow({ className, ...props }) {
|
|
|
1809
1929
|
}
|
|
1810
1930
|
__name(TableRow, "TableRow");
|
|
1811
1931
|
function TableHead({ className, ...props }) {
|
|
1812
|
-
return /* @__PURE__ */
|
|
1932
|
+
return /* @__PURE__ */ React26.createElement("th", {
|
|
1813
1933
|
"data-slot": "table-head",
|
|
1814
1934
|
className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", className),
|
|
1815
1935
|
...props
|
|
@@ -1817,7 +1937,7 @@ function TableHead({ className, ...props }) {
|
|
|
1817
1937
|
}
|
|
1818
1938
|
__name(TableHead, "TableHead");
|
|
1819
1939
|
function TableCell({ className, ...props }) {
|
|
1820
|
-
return /* @__PURE__ */
|
|
1940
|
+
return /* @__PURE__ */ React26.createElement("td", {
|
|
1821
1941
|
"data-slot": "table-cell",
|
|
1822
1942
|
className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]", className),
|
|
1823
1943
|
...props
|
|
@@ -1825,7 +1945,7 @@ function TableCell({ className, ...props }) {
|
|
|
1825
1945
|
}
|
|
1826
1946
|
__name(TableCell, "TableCell");
|
|
1827
1947
|
function TableCaption({ className, ...props }) {
|
|
1828
|
-
return /* @__PURE__ */
|
|
1948
|
+
return /* @__PURE__ */ React26.createElement("caption", {
|
|
1829
1949
|
"data-slot": "table-caption",
|
|
1830
1950
|
className: cn("text-muted-foreground mt-4 text-sm", className),
|
|
1831
1951
|
...props
|
|
@@ -1894,8 +2014,8 @@ function ToolDataGrid({ dataTool, columns, transformData, rowActions = [], pagin
|
|
|
1894
2014
|
paginationState,
|
|
1895
2015
|
sortState
|
|
1896
2016
|
]);
|
|
1897
|
-
const initialFetchDone =
|
|
1898
|
-
const prevStateRef =
|
|
2017
|
+
const initialFetchDone = React26.useRef(false);
|
|
2018
|
+
const prevStateRef = React26.useRef({
|
|
1899
2019
|
pagination: paginationState,
|
|
1900
2020
|
sort: sortState
|
|
1901
2021
|
});
|
|
@@ -1951,129 +2071,129 @@ function ToolDataGrid({ dataTool, columns, transformData, rowActions = [], pagin
|
|
|
1951
2071
|
const canNextPage = paginationState.page < totalPages;
|
|
1952
2072
|
const getSortIcon = /* @__PURE__ */ __name((column) => {
|
|
1953
2073
|
if (sortState.column !== column) {
|
|
1954
|
-
return /* @__PURE__ */
|
|
2074
|
+
return /* @__PURE__ */ React26.createElement(ArrowUpDown, {
|
|
1955
2075
|
className: "h-4 w-4"
|
|
1956
2076
|
});
|
|
1957
2077
|
}
|
|
1958
|
-
return sortState.direction === "asc" ? /* @__PURE__ */
|
|
2078
|
+
return sortState.direction === "asc" ? /* @__PURE__ */ React26.createElement(ArrowUp, {
|
|
1959
2079
|
className: "h-4 w-4"
|
|
1960
|
-
}) : /* @__PURE__ */
|
|
2080
|
+
}) : /* @__PURE__ */ React26.createElement(ArrowDown, {
|
|
1961
2081
|
className: "h-4 w-4"
|
|
1962
2082
|
});
|
|
1963
2083
|
}, "getSortIcon");
|
|
1964
2084
|
const renderLoading = /* @__PURE__ */ __name(() => {
|
|
1965
2085
|
if (loadingContent) return loadingContent;
|
|
1966
|
-
return /* @__PURE__ */
|
|
2086
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1967
2087
|
className: "space-y-2"
|
|
1968
2088
|
}, Array.from({
|
|
1969
2089
|
length: 5
|
|
1970
|
-
}).map((_, i) => /* @__PURE__ */
|
|
2090
|
+
}).map((_, i) => /* @__PURE__ */ React26.createElement(Skeleton, {
|
|
1971
2091
|
key: i,
|
|
1972
2092
|
className: "h-12 w-full"
|
|
1973
2093
|
})));
|
|
1974
2094
|
}, "renderLoading");
|
|
1975
2095
|
const renderEmpty = /* @__PURE__ */ __name(() => {
|
|
1976
2096
|
if (emptyContent) return emptyContent;
|
|
1977
|
-
return /* @__PURE__ */
|
|
2097
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1978
2098
|
className: "flex flex-col items-center justify-center py-12 text-muted-foreground"
|
|
1979
|
-
}, /* @__PURE__ */
|
|
2099
|
+
}, /* @__PURE__ */ React26.createElement("p", {
|
|
1980
2100
|
className: "text-lg"
|
|
1981
|
-
}, "No data found"), /* @__PURE__ */
|
|
2101
|
+
}, "No data found"), /* @__PURE__ */ React26.createElement(Button, {
|
|
1982
2102
|
variant: "ghost",
|
|
1983
2103
|
size: "sm",
|
|
1984
2104
|
onClick: fetchData,
|
|
1985
2105
|
className: "mt-2"
|
|
1986
|
-
}, /* @__PURE__ */
|
|
2106
|
+
}, /* @__PURE__ */ React26.createElement(RefreshCw, {
|
|
1987
2107
|
className: "h-4 w-4 mr-2"
|
|
1988
2108
|
}), "Refresh"));
|
|
1989
2109
|
}, "renderEmpty");
|
|
1990
|
-
return /* @__PURE__ */
|
|
2110
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
1991
2111
|
className: cn("space-y-4", className)
|
|
1992
|
-
}, showRefresh && /* @__PURE__ */
|
|
2112
|
+
}, showRefresh && /* @__PURE__ */ React26.createElement("div", {
|
|
1993
2113
|
className: "flex items-center justify-end gap-2"
|
|
1994
|
-
}, /* @__PURE__ */
|
|
2114
|
+
}, /* @__PURE__ */ React26.createElement(Button, {
|
|
1995
2115
|
variant: "outline",
|
|
1996
2116
|
size: "sm",
|
|
1997
2117
|
onClick: fetchData,
|
|
1998
2118
|
disabled: loading
|
|
1999
|
-
}, loading ? /* @__PURE__ */
|
|
2119
|
+
}, loading ? /* @__PURE__ */ React26.createElement(Loader2, {
|
|
2000
2120
|
className: "h-4 w-4 animate-spin"
|
|
2001
|
-
}) : /* @__PURE__ */
|
|
2121
|
+
}) : /* @__PURE__ */ React26.createElement(RefreshCw, {
|
|
2002
2122
|
className: "h-4 w-4"
|
|
2003
|
-
}), /* @__PURE__ */
|
|
2123
|
+
}), /* @__PURE__ */ React26.createElement("span", {
|
|
2004
2124
|
className: "ml-2"
|
|
2005
|
-
}, "Refresh"))), /* @__PURE__ */
|
|
2125
|
+
}, "Refresh"))), /* @__PURE__ */ React26.createElement("div", {
|
|
2006
2126
|
className: "rounded-md border"
|
|
2007
|
-
}, loading && data.rows.length === 0 ? /* @__PURE__ */
|
|
2127
|
+
}, loading && data.rows.length === 0 ? /* @__PURE__ */ React26.createElement("div", {
|
|
2008
2128
|
className: "p-4"
|
|
2009
|
-
}, renderLoading()) : data.rows.length === 0 ? renderEmpty() : /* @__PURE__ */
|
|
2129
|
+
}, renderLoading()) : data.rows.length === 0 ? renderEmpty() : /* @__PURE__ */ React26.createElement(Table, null, /* @__PURE__ */ React26.createElement(TableHeader, null, /* @__PURE__ */ React26.createElement(TableRow, null, columns.map((column) => /* @__PURE__ */ React26.createElement(TableHead, {
|
|
2010
2130
|
key: column.key,
|
|
2011
2131
|
style: {
|
|
2012
2132
|
width: column.width
|
|
2013
2133
|
},
|
|
2014
2134
|
className: cn(column.align === "center" && "text-center", column.align === "right" && "text-right", column.hideMobile && "hidden md:table-cell")
|
|
2015
|
-
}, column.sortable ? /* @__PURE__ */
|
|
2135
|
+
}, column.sortable ? /* @__PURE__ */ React26.createElement(Button, {
|
|
2016
2136
|
variant: "ghost",
|
|
2017
2137
|
size: "sm",
|
|
2018
2138
|
onClick: /* @__PURE__ */ __name(() => handleSort(column.key), "onClick"),
|
|
2019
2139
|
className: "-ml-3"
|
|
2020
|
-
}, column.header, getSortIcon(column.key)) : column.header)), rowActions.length > 0 && /* @__PURE__ */
|
|
2140
|
+
}, column.header, getSortIcon(column.key)) : column.header)), rowActions.length > 0 && /* @__PURE__ */ React26.createElement(TableHead, {
|
|
2021
2141
|
className: "w-[100px]"
|
|
2022
|
-
}, "Actions"))), /* @__PURE__ */
|
|
2142
|
+
}, "Actions"))), /* @__PURE__ */ React26.createElement(TableBody, null, data.rows.map((row, index) => {
|
|
2023
2143
|
const key = getRowKey?.(row, index) ?? String(index);
|
|
2024
|
-
return /* @__PURE__ */
|
|
2144
|
+
return /* @__PURE__ */ React26.createElement(TableRow, {
|
|
2025
2145
|
key,
|
|
2026
2146
|
onClick: /* @__PURE__ */ __name(() => onRowClick?.(row, index), "onClick"),
|
|
2027
2147
|
className: onRowClick ? "cursor-pointer" : void 0
|
|
2028
2148
|
}, columns.map((column) => {
|
|
2029
2149
|
const value = getNestedValue(row, column.key);
|
|
2030
|
-
return /* @__PURE__ */
|
|
2150
|
+
return /* @__PURE__ */ React26.createElement(TableCell, {
|
|
2031
2151
|
key: column.key,
|
|
2032
2152
|
className: cn(column.align === "center" && "text-center", column.align === "right" && "text-right", column.hideMobile && "hidden md:table-cell")
|
|
2033
2153
|
}, column.render ? column.render(value, row, index) : String(value ?? ""));
|
|
2034
|
-
}), rowActions.length > 0 && /* @__PURE__ */
|
|
2154
|
+
}), rowActions.length > 0 && /* @__PURE__ */ React26.createElement(TableCell, null, /* @__PURE__ */ React26.createElement("div", {
|
|
2035
2155
|
className: "flex items-center gap-1"
|
|
2036
|
-
}, rowActions.filter((action) => !action.hidden?.(row)).map((action, actionIndex) => /* @__PURE__ */
|
|
2156
|
+
}, rowActions.filter((action) => !action.hidden?.(row)).map((action, actionIndex) => /* @__PURE__ */ React26.createElement(RowActionButton, {
|
|
2037
2157
|
key: actionIndex,
|
|
2038
2158
|
action,
|
|
2039
2159
|
row,
|
|
2040
2160
|
onRefresh: fetchData
|
|
2041
2161
|
})))));
|
|
2042
|
-
})))), pagination && data.total > 0 && /* @__PURE__ */
|
|
2162
|
+
})))), pagination && data.total > 0 && /* @__PURE__ */ React26.createElement("div", {
|
|
2043
2163
|
className: "flex items-center justify-between"
|
|
2044
|
-
}, /* @__PURE__ */
|
|
2164
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
2045
2165
|
className: "text-sm text-muted-foreground"
|
|
2046
|
-
}, "Showing ", (paginationState.page - 1) * paginationState.pageSize + 1, " to", " ", Math.min(paginationState.page * paginationState.pageSize, data.total), " of", " ", data.total, " results"), /* @__PURE__ */
|
|
2166
|
+
}, "Showing ", (paginationState.page - 1) * paginationState.pageSize + 1, " to", " ", Math.min(paginationState.page * paginationState.pageSize, data.total), " of", " ", data.total, " results"), /* @__PURE__ */ React26.createElement("div", {
|
|
2047
2167
|
className: "flex items-center gap-4"
|
|
2048
|
-
}, /* @__PURE__ */
|
|
2168
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
2049
2169
|
className: "flex items-center gap-2"
|
|
2050
|
-
}, /* @__PURE__ */
|
|
2170
|
+
}, /* @__PURE__ */ React26.createElement("span", {
|
|
2051
2171
|
className: "text-sm text-muted-foreground"
|
|
2052
|
-
}, "Rows per page"), /* @__PURE__ */
|
|
2172
|
+
}, "Rows per page"), /* @__PURE__ */ React26.createElement(Select, {
|
|
2053
2173
|
value: String(paginationState.pageSize),
|
|
2054
2174
|
onValueChange: handlePageSizeChange
|
|
2055
|
-
}, /* @__PURE__ */
|
|
2175
|
+
}, /* @__PURE__ */ React26.createElement(SelectTrigger, {
|
|
2056
2176
|
className: "w-[70px]"
|
|
2057
|
-
}, /* @__PURE__ */
|
|
2177
|
+
}, /* @__PURE__ */ React26.createElement(SelectValue, null)), /* @__PURE__ */ React26.createElement(SelectContent, null, pageSizes.map((size) => /* @__PURE__ */ React26.createElement(SelectItem, {
|
|
2058
2178
|
key: size,
|
|
2059
2179
|
value: String(size)
|
|
2060
|
-
}, size))))), /* @__PURE__ */
|
|
2180
|
+
}, size))))), /* @__PURE__ */ React26.createElement("div", {
|
|
2061
2181
|
className: "flex items-center gap-2"
|
|
2062
|
-
}, /* @__PURE__ */
|
|
2182
|
+
}, /* @__PURE__ */ React26.createElement(Button, {
|
|
2063
2183
|
variant: "outline",
|
|
2064
2184
|
size: "sm",
|
|
2065
2185
|
onClick: /* @__PURE__ */ __name(() => handlePageChange(paginationState.page - 1), "onClick"),
|
|
2066
2186
|
disabled: !canPreviousPage || loading
|
|
2067
|
-
}, /* @__PURE__ */
|
|
2187
|
+
}, /* @__PURE__ */ React26.createElement(ChevronLeft, {
|
|
2068
2188
|
className: "h-4 w-4"
|
|
2069
|
-
})), /* @__PURE__ */
|
|
2189
|
+
})), /* @__PURE__ */ React26.createElement("span", {
|
|
2070
2190
|
className: "text-sm"
|
|
2071
|
-
}, "Page ", paginationState.page, " of ", totalPages), /* @__PURE__ */
|
|
2191
|
+
}, "Page ", paginationState.page, " of ", totalPages), /* @__PURE__ */ React26.createElement(Button, {
|
|
2072
2192
|
variant: "outline",
|
|
2073
2193
|
size: "sm",
|
|
2074
2194
|
onClick: /* @__PURE__ */ __name(() => handlePageChange(paginationState.page + 1), "onClick"),
|
|
2075
2195
|
disabled: !canNextPage || loading
|
|
2076
|
-
}, /* @__PURE__ */
|
|
2196
|
+
}, /* @__PURE__ */ React26.createElement(ChevronRight, {
|
|
2077
2197
|
className: "h-4 w-4"
|
|
2078
2198
|
}))))));
|
|
2079
2199
|
}
|
|
@@ -2105,33 +2225,33 @@ function RowActionButton({ action, row, onRefresh }) {
|
|
|
2105
2225
|
call,
|
|
2106
2226
|
args
|
|
2107
2227
|
]);
|
|
2108
|
-
return /* @__PURE__ */
|
|
2228
|
+
return /* @__PURE__ */ React26.createElement(Button, {
|
|
2109
2229
|
variant: action.variant ?? "ghost",
|
|
2110
2230
|
size: "sm",
|
|
2111
2231
|
onClick: handleClick,
|
|
2112
2232
|
disabled: loading
|
|
2113
|
-
}, loading ? /* @__PURE__ */
|
|
2233
|
+
}, loading ? /* @__PURE__ */ React26.createElement(Loader2, {
|
|
2114
2234
|
className: "h-3 w-3 animate-spin"
|
|
2115
|
-
}) : /* @__PURE__ */
|
|
2235
|
+
}) : /* @__PURE__ */ React26.createElement(React26.Fragment, null, action.icon, /* @__PURE__ */ React26.createElement("span", {
|
|
2116
2236
|
className: action.icon ? "ml-1" : ""
|
|
2117
2237
|
}, action.label)));
|
|
2118
2238
|
}
|
|
2119
2239
|
__name(RowActionButton, "RowActionButton");
|
|
2120
2240
|
var Button2 = /* @__PURE__ */ forwardRef(({ className, variant = "primary", size = "md", loading = false, disabled, asChild = false, leftIcon, rightIcon, children, ...props }, ref) => {
|
|
2121
2241
|
const Comp = asChild ? Slot : "button";
|
|
2122
|
-
return /* @__PURE__ */
|
|
2242
|
+
return /* @__PURE__ */ React26__default.createElement(Comp, {
|
|
2123
2243
|
ref,
|
|
2124
2244
|
className: clsx("lui-button", `lui-button--${variant}`, `lui-button--${size}`, loading && "lui-button--loading", className),
|
|
2125
2245
|
disabled: disabled || loading,
|
|
2126
2246
|
...props
|
|
2127
|
-
}, loading && /* @__PURE__ */
|
|
2247
|
+
}, loading && /* @__PURE__ */ React26__default.createElement("span", {
|
|
2128
2248
|
className: "lui-button__spinner",
|
|
2129
2249
|
"aria-hidden": "true"
|
|
2130
|
-
}, /* @__PURE__ */
|
|
2250
|
+
}, /* @__PURE__ */ React26__default.createElement("svg", {
|
|
2131
2251
|
viewBox: "0 0 24 24",
|
|
2132
2252
|
fill: "none",
|
|
2133
2253
|
className: "lui-spinner-icon"
|
|
2134
|
-
}, /* @__PURE__ */
|
|
2254
|
+
}, /* @__PURE__ */ React26__default.createElement("circle", {
|
|
2135
2255
|
cx: "12",
|
|
2136
2256
|
cy: "12",
|
|
2137
2257
|
r: "10",
|
|
@@ -2140,11 +2260,11 @@ var Button2 = /* @__PURE__ */ forwardRef(({ className, variant = "primary", size
|
|
|
2140
2260
|
strokeLinecap: "round",
|
|
2141
2261
|
strokeDasharray: "32",
|
|
2142
2262
|
strokeDashoffset: "12"
|
|
2143
|
-
}))), leftIcon && !loading && /* @__PURE__ */
|
|
2263
|
+
}))), leftIcon && !loading && /* @__PURE__ */ React26__default.createElement("span", {
|
|
2144
2264
|
className: "lui-button__icon"
|
|
2145
|
-
}, leftIcon), /* @__PURE__ */
|
|
2265
|
+
}, leftIcon), /* @__PURE__ */ React26__default.createElement("span", {
|
|
2146
2266
|
className: "lui-button__content"
|
|
2147
|
-
}, children), rightIcon && /* @__PURE__ */
|
|
2267
|
+
}, children), rightIcon && /* @__PURE__ */ React26__default.createElement("span", {
|
|
2148
2268
|
className: "lui-button__icon"
|
|
2149
2269
|
}, rightIcon));
|
|
2150
2270
|
});
|
|
@@ -2163,103 +2283,112 @@ function ActionButton({ toolName, toolArgs = {}, onToolSuccess, onToolError, sho
|
|
|
2163
2283
|
onToolError?.(err instanceof Error ? err : new Error(String(err)));
|
|
2164
2284
|
}
|
|
2165
2285
|
}, "handleClick");
|
|
2166
|
-
return /* @__PURE__ */
|
|
2286
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
2167
2287
|
className: "lui-action-button-wrapper"
|
|
2168
|
-
}, /* @__PURE__ */
|
|
2288
|
+
}, /* @__PURE__ */ React26__default.createElement(Button2, {
|
|
2169
2289
|
...buttonProps,
|
|
2170
2290
|
loading,
|
|
2171
2291
|
onClick: handleClick
|
|
2172
|
-
}, children), showResult && hasResult && result !== null && /* @__PURE__ */
|
|
2292
|
+
}, children), showResult && hasResult && result !== null && /* @__PURE__ */ React26__default.createElement("div", {
|
|
2173
2293
|
className: "lui-action-button-result"
|
|
2174
|
-
}, renderResult ? renderResult(result) : /* @__PURE__ */
|
|
2294
|
+
}, renderResult ? renderResult(result) : /* @__PURE__ */ React26__default.createElement("pre", null, JSON.stringify(result, null, 2))), error && /* @__PURE__ */ React26__default.createElement("div", {
|
|
2175
2295
|
className: "lui-action-button-error"
|
|
2176
2296
|
}, error.message));
|
|
2177
2297
|
}
|
|
2178
2298
|
__name(ActionButton, "ActionButton");
|
|
2179
2299
|
function DefaultLoading2() {
|
|
2180
|
-
return /* @__PURE__ */
|
|
2300
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2181
2301
|
className: "flex items-center justify-center p-8"
|
|
2182
|
-
}, /* @__PURE__ */
|
|
2302
|
+
}, /* @__PURE__ */ React26.createElement(Loader2, {
|
|
2183
2303
|
className: "h-6 w-6 animate-spin text-muted-foreground"
|
|
2184
2304
|
}));
|
|
2185
2305
|
}
|
|
2186
2306
|
__name(DefaultLoading2, "DefaultLoading");
|
|
2187
2307
|
function DefaultDisconnected() {
|
|
2188
|
-
return /* @__PURE__ */
|
|
2308
|
+
return /* @__PURE__ */ React26.createElement(Alert, null, /* @__PURE__ */ React26.createElement(WifiOff, {
|
|
2189
2309
|
className: "h-4 w-4"
|
|
2190
|
-
}), /* @__PURE__ */
|
|
2310
|
+
}), /* @__PURE__ */ React26.createElement(AlertDescription, null, "Waiting for connection to MCP host..."));
|
|
2191
2311
|
}
|
|
2192
2312
|
__name(DefaultDisconnected, "DefaultDisconnected");
|
|
2193
2313
|
function DefaultError2({ error }) {
|
|
2194
|
-
return /* @__PURE__ */
|
|
2314
|
+
return /* @__PURE__ */ React26.createElement(Alert, {
|
|
2195
2315
|
variant: "destructive"
|
|
2196
|
-
}, /* @__PURE__ */
|
|
2316
|
+
}, /* @__PURE__ */ React26.createElement(AlertCircle, {
|
|
2197
2317
|
className: "h-4 w-4"
|
|
2198
|
-
}), /* @__PURE__ */
|
|
2318
|
+
}), /* @__PURE__ */ React26.createElement(AlertDescription, null, "Connection error: ", error.message));
|
|
2199
2319
|
}
|
|
2200
2320
|
__name(DefaultError2, "DefaultError");
|
|
2201
2321
|
function RequireConnection({ loading: loadingContent, error: errorContent, disconnected: disconnectedContent, children, className }) {
|
|
2202
2322
|
const { isConnected, error, app } = useMcpApp();
|
|
2323
|
+
console.log("[RequireConnection] State:", {
|
|
2324
|
+
hasApp: !!app,
|
|
2325
|
+
isConnected,
|
|
2326
|
+
hasError: !!error
|
|
2327
|
+
});
|
|
2203
2328
|
if (!app && !error && !isConnected) {
|
|
2329
|
+
console.log("[RequireConnection] Rendering: Initial Loading");
|
|
2204
2330
|
if (loadingContent) {
|
|
2205
|
-
return /* @__PURE__ */
|
|
2331
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2206
2332
|
className
|
|
2207
2333
|
}, loadingContent);
|
|
2208
2334
|
}
|
|
2209
|
-
return /* @__PURE__ */
|
|
2335
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2210
2336
|
className
|
|
2211
|
-
}, /* @__PURE__ */
|
|
2337
|
+
}, /* @__PURE__ */ React26.createElement(DefaultLoading2, null));
|
|
2212
2338
|
}
|
|
2213
2339
|
if (error) {
|
|
2340
|
+
console.log("[RequireConnection] Rendering: Error");
|
|
2214
2341
|
if (errorContent) {
|
|
2215
2342
|
if (typeof errorContent === "function") {
|
|
2216
|
-
return /* @__PURE__ */
|
|
2343
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2217
2344
|
className
|
|
2218
2345
|
}, errorContent(error));
|
|
2219
2346
|
}
|
|
2220
|
-
return /* @__PURE__ */
|
|
2347
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2221
2348
|
className
|
|
2222
2349
|
}, errorContent);
|
|
2223
2350
|
}
|
|
2224
|
-
return /* @__PURE__ */
|
|
2351
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2225
2352
|
className
|
|
2226
|
-
}, /* @__PURE__ */
|
|
2353
|
+
}, /* @__PURE__ */ React26.createElement(DefaultError2, {
|
|
2227
2354
|
error
|
|
2228
2355
|
}));
|
|
2229
2356
|
}
|
|
2230
2357
|
if (!isConnected) {
|
|
2358
|
+
console.log("[RequireConnection] Rendering: Disconnected/Loading");
|
|
2231
2359
|
if (disconnectedContent) {
|
|
2232
|
-
return /* @__PURE__ */
|
|
2360
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2233
2361
|
className
|
|
2234
2362
|
}, disconnectedContent);
|
|
2235
2363
|
}
|
|
2236
2364
|
if (loadingContent) {
|
|
2237
|
-
return /* @__PURE__ */
|
|
2365
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2238
2366
|
className
|
|
2239
2367
|
}, loadingContent);
|
|
2240
2368
|
}
|
|
2241
|
-
return /* @__PURE__ */
|
|
2369
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2242
2370
|
className
|
|
2243
|
-
}, /* @__PURE__ */
|
|
2371
|
+
}, /* @__PURE__ */ React26.createElement(DefaultDisconnected, null));
|
|
2244
2372
|
}
|
|
2245
|
-
|
|
2373
|
+
console.log("[RequireConnection] Rendering: Children (Connected)");
|
|
2374
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, children);
|
|
2246
2375
|
}
|
|
2247
2376
|
__name(RequireConnection, "RequireConnection");
|
|
2248
2377
|
function DefaultFallback({ error, onRetry }) {
|
|
2249
|
-
return /* @__PURE__ */
|
|
2378
|
+
return /* @__PURE__ */ React26.createElement(Alert, {
|
|
2250
2379
|
variant: "destructive"
|
|
2251
|
-
}, /* @__PURE__ */
|
|
2380
|
+
}, /* @__PURE__ */ React26.createElement(AlertCircle, {
|
|
2252
2381
|
className: "h-4 w-4"
|
|
2253
|
-
}), /* @__PURE__ */
|
|
2382
|
+
}), /* @__PURE__ */ React26.createElement(AlertTitle, null, "Something went wrong"), /* @__PURE__ */ React26.createElement(AlertDescription, {
|
|
2254
2383
|
className: "flex flex-col gap-3"
|
|
2255
|
-
}, /* @__PURE__ */
|
|
2384
|
+
}, /* @__PURE__ */ React26.createElement("p", {
|
|
2256
2385
|
className: "text-sm"
|
|
2257
|
-
}, error.message), /* @__PURE__ */
|
|
2386
|
+
}, error.message), /* @__PURE__ */ React26.createElement(Button, {
|
|
2258
2387
|
variant: "outline",
|
|
2259
2388
|
size: "sm",
|
|
2260
2389
|
onClick: onRetry,
|
|
2261
2390
|
className: "w-fit"
|
|
2262
|
-
}, /* @__PURE__ */
|
|
2391
|
+
}, /* @__PURE__ */ React26.createElement(RefreshCw, {
|
|
2263
2392
|
className: "h-4 w-4 mr-2"
|
|
2264
2393
|
}), "Try Again")));
|
|
2265
2394
|
}
|
|
@@ -2305,7 +2434,7 @@ var ToolErrorBoundary = class extends Component {
|
|
|
2305
2434
|
}
|
|
2306
2435
|
return fallback;
|
|
2307
2436
|
}
|
|
2308
|
-
return /* @__PURE__ */
|
|
2437
|
+
return /* @__PURE__ */ React26.createElement(DefaultFallback, {
|
|
2309
2438
|
error,
|
|
2310
2439
|
onRetry: this.reset
|
|
2311
2440
|
});
|
|
@@ -2522,7 +2651,7 @@ var INITIAL_TOOL_STATE = {
|
|
|
2522
2651
|
hasResult: false
|
|
2523
2652
|
};
|
|
2524
2653
|
function CardTitle({ className, ...props }) {
|
|
2525
|
-
return /* @__PURE__ */
|
|
2654
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2526
2655
|
"data-slot": "card-title",
|
|
2527
2656
|
className: cn("leading-none font-semibold", className),
|
|
2528
2657
|
...props
|
|
@@ -2530,7 +2659,7 @@ function CardTitle({ className, ...props }) {
|
|
|
2530
2659
|
}
|
|
2531
2660
|
__name(CardTitle, "CardTitle");
|
|
2532
2661
|
function CardDescription({ className, ...props }) {
|
|
2533
|
-
return /* @__PURE__ */
|
|
2662
|
+
return /* @__PURE__ */ React26.createElement("div", {
|
|
2534
2663
|
"data-slot": "card-description",
|
|
2535
2664
|
className: cn("text-muted-foreground text-sm", className),
|
|
2536
2665
|
...props
|
|
@@ -2538,17 +2667,17 @@ function CardDescription({ className, ...props }) {
|
|
|
2538
2667
|
}
|
|
2539
2668
|
__name(CardDescription, "CardDescription");
|
|
2540
2669
|
var Form = FormProvider;
|
|
2541
|
-
var FormFieldContext = /* @__PURE__ */
|
|
2670
|
+
var FormFieldContext = /* @__PURE__ */ React26.createContext({});
|
|
2542
2671
|
var FormField = /* @__PURE__ */ __name(({ ...props }) => {
|
|
2543
|
-
return /* @__PURE__ */
|
|
2672
|
+
return /* @__PURE__ */ React26.createElement(FormFieldContext.Provider, {
|
|
2544
2673
|
value: {
|
|
2545
2674
|
name: props.name
|
|
2546
2675
|
}
|
|
2547
|
-
}, /* @__PURE__ */
|
|
2676
|
+
}, /* @__PURE__ */ React26.createElement(Controller, props));
|
|
2548
2677
|
}, "FormField");
|
|
2549
2678
|
var useFormField = /* @__PURE__ */ __name(() => {
|
|
2550
|
-
const fieldContext =
|
|
2551
|
-
const itemContext =
|
|
2679
|
+
const fieldContext = React26.useContext(FormFieldContext);
|
|
2680
|
+
const itemContext = React26.useContext(FormItemContext);
|
|
2552
2681
|
const { getFieldState } = useFormContext();
|
|
2553
2682
|
const formState = useFormState({
|
|
2554
2683
|
name: fieldContext.name
|
|
@@ -2567,14 +2696,14 @@ var useFormField = /* @__PURE__ */ __name(() => {
|
|
|
2567
2696
|
...fieldState
|
|
2568
2697
|
};
|
|
2569
2698
|
}, "useFormField");
|
|
2570
|
-
var FormItemContext = /* @__PURE__ */
|
|
2699
|
+
var FormItemContext = /* @__PURE__ */ React26.createContext({});
|
|
2571
2700
|
function FormItem({ className, ...props }) {
|
|
2572
|
-
const id =
|
|
2573
|
-
return /* @__PURE__ */
|
|
2701
|
+
const id = React26.useId();
|
|
2702
|
+
return /* @__PURE__ */ React26.createElement(FormItemContext.Provider, {
|
|
2574
2703
|
value: {
|
|
2575
2704
|
id
|
|
2576
2705
|
}
|
|
2577
|
-
}, /* @__PURE__ */
|
|
2706
|
+
}, /* @__PURE__ */ React26.createElement("div", {
|
|
2578
2707
|
"data-slot": "form-item",
|
|
2579
2708
|
className: cn("grid gap-2", className),
|
|
2580
2709
|
...props
|
|
@@ -2583,7 +2712,7 @@ function FormItem({ className, ...props }) {
|
|
|
2583
2712
|
__name(FormItem, "FormItem");
|
|
2584
2713
|
function FormLabel({ className, ...props }) {
|
|
2585
2714
|
const { error, formItemId } = useFormField();
|
|
2586
|
-
return /* @__PURE__ */
|
|
2715
|
+
return /* @__PURE__ */ React26.createElement(Label2, {
|
|
2587
2716
|
"data-slot": "form-label",
|
|
2588
2717
|
"data-error": !!error,
|
|
2589
2718
|
className: cn("data-[error=true]:text-destructive", className),
|
|
@@ -2594,7 +2723,7 @@ function FormLabel({ className, ...props }) {
|
|
|
2594
2723
|
__name(FormLabel, "FormLabel");
|
|
2595
2724
|
function FormControl({ ...props }) {
|
|
2596
2725
|
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
2597
|
-
return /* @__PURE__ */
|
|
2726
|
+
return /* @__PURE__ */ React26.createElement(Slot, {
|
|
2598
2727
|
"data-slot": "form-control",
|
|
2599
2728
|
id: formItemId,
|
|
2600
2729
|
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
@@ -2605,7 +2734,7 @@ function FormControl({ ...props }) {
|
|
|
2605
2734
|
__name(FormControl, "FormControl");
|
|
2606
2735
|
function FormDescription({ className, ...props }) {
|
|
2607
2736
|
const { formDescriptionId } = useFormField();
|
|
2608
|
-
return /* @__PURE__ */
|
|
2737
|
+
return /* @__PURE__ */ React26.createElement("p", {
|
|
2609
2738
|
"data-slot": "form-description",
|
|
2610
2739
|
id: formDescriptionId,
|
|
2611
2740
|
className: cn("text-muted-foreground text-sm", className),
|
|
@@ -2619,7 +2748,7 @@ function FormMessage({ className, ...props }) {
|
|
|
2619
2748
|
if (!body) {
|
|
2620
2749
|
return null;
|
|
2621
2750
|
}
|
|
2622
|
-
return /* @__PURE__ */
|
|
2751
|
+
return /* @__PURE__ */ React26.createElement("p", {
|
|
2623
2752
|
"data-slot": "form-message",
|
|
2624
2753
|
id: formMessageId,
|
|
2625
2754
|
className: cn("text-destructive text-sm", className),
|
|
@@ -2642,7 +2771,7 @@ var badgeVariants = cva("inline-flex items-center justify-center rounded-full bo
|
|
|
2642
2771
|
});
|
|
2643
2772
|
function Badge({ className, variant, asChild = false, ...props }) {
|
|
2644
2773
|
const Comp = asChild ? Slot : "span";
|
|
2645
|
-
return /* @__PURE__ */
|
|
2774
|
+
return /* @__PURE__ */ React26.createElement(Comp, {
|
|
2646
2775
|
"data-slot": "badge",
|
|
2647
2776
|
className: cn(badgeVariants({
|
|
2648
2777
|
variant
|
|
@@ -2652,7 +2781,7 @@ function Badge({ className, variant, asChild = false, ...props }) {
|
|
|
2652
2781
|
}
|
|
2653
2782
|
__name(Badge, "Badge");
|
|
2654
2783
|
function TabsList({ className, ...props }) {
|
|
2655
|
-
return /* @__PURE__ */
|
|
2784
|
+
return /* @__PURE__ */ React26.createElement(TabsPrimitive2.List, {
|
|
2656
2785
|
"data-slot": "tabs-list",
|
|
2657
2786
|
className: cn("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]", className),
|
|
2658
2787
|
...props
|
|
@@ -2660,7 +2789,7 @@ function TabsList({ className, ...props }) {
|
|
|
2660
2789
|
}
|
|
2661
2790
|
__name(TabsList, "TabsList");
|
|
2662
2791
|
function TabsTrigger({ className, ...props }) {
|
|
2663
|
-
return /* @__PURE__ */
|
|
2792
|
+
return /* @__PURE__ */ React26.createElement(TabsPrimitive2.Trigger, {
|
|
2664
2793
|
"data-slot": "tabs-trigger",
|
|
2665
2794
|
className: cn("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2666
2795
|
...props
|
|
@@ -2668,7 +2797,7 @@ function TabsTrigger({ className, ...props }) {
|
|
|
2668
2797
|
}
|
|
2669
2798
|
__name(TabsTrigger, "TabsTrigger");
|
|
2670
2799
|
function TabsContent({ className, ...props }) {
|
|
2671
|
-
return /* @__PURE__ */
|
|
2800
|
+
return /* @__PURE__ */ React26.createElement(TabsPrimitive2.Content, {
|
|
2672
2801
|
"data-slot": "tabs-content",
|
|
2673
2802
|
className: cn("flex-1 outline-none", className),
|
|
2674
2803
|
...props
|
|
@@ -2676,7 +2805,7 @@ function TabsContent({ className, ...props }) {
|
|
|
2676
2805
|
}
|
|
2677
2806
|
__name(TabsContent, "TabsContent");
|
|
2678
2807
|
function Separator2({ className, orientation = "horizontal", decorative = true, ...props }) {
|
|
2679
|
-
return /* @__PURE__ */
|
|
2808
|
+
return /* @__PURE__ */ React26.createElement(SeparatorPrimitive.Root, {
|
|
2680
2809
|
"data-slot": "separator",
|
|
2681
2810
|
decorative,
|
|
2682
2811
|
orientation,
|
|
@@ -2686,51 +2815,51 @@ function Separator2({ className, orientation = "horizontal", decorative = true,
|
|
|
2686
2815
|
}
|
|
2687
2816
|
__name(Separator2, "Separator");
|
|
2688
2817
|
function ScrollArea({ className, children, ...props }) {
|
|
2689
|
-
return /* @__PURE__ */
|
|
2818
|
+
return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitive.Root, {
|
|
2690
2819
|
"data-slot": "scroll-area",
|
|
2691
2820
|
className: cn("relative", className),
|
|
2692
2821
|
...props
|
|
2693
|
-
}, /* @__PURE__ */
|
|
2822
|
+
}, /* @__PURE__ */ React26.createElement(ScrollAreaPrimitive.Viewport, {
|
|
2694
2823
|
"data-slot": "scroll-area-viewport",
|
|
2695
2824
|
className: "focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
|
|
2696
|
-
}, children), /* @__PURE__ */
|
|
2825
|
+
}, children), /* @__PURE__ */ React26.createElement(ScrollBar, null), /* @__PURE__ */ React26.createElement(ScrollAreaPrimitive.Corner, null));
|
|
2697
2826
|
}
|
|
2698
2827
|
__name(ScrollArea, "ScrollArea");
|
|
2699
2828
|
function ScrollBar({ className, orientation = "vertical", ...props }) {
|
|
2700
|
-
return /* @__PURE__ */
|
|
2829
|
+
return /* @__PURE__ */ React26.createElement(ScrollAreaPrimitive.ScrollAreaScrollbar, {
|
|
2701
2830
|
"data-slot": "scroll-area-scrollbar",
|
|
2702
2831
|
orientation,
|
|
2703
2832
|
className: cn("flex touch-none p-px transition-colors select-none", orientation === "vertical" && "h-full w-2.5 border-l border-l-transparent", orientation === "horizontal" && "h-2.5 flex-col border-t border-t-transparent", className),
|
|
2704
2833
|
...props
|
|
2705
|
-
}, /* @__PURE__ */
|
|
2834
|
+
}, /* @__PURE__ */ React26.createElement(ScrollAreaPrimitive.ScrollAreaThumb, {
|
|
2706
2835
|
"data-slot": "scroll-area-thumb",
|
|
2707
2836
|
className: "bg-border relative flex-1 rounded-full"
|
|
2708
2837
|
}));
|
|
2709
2838
|
}
|
|
2710
2839
|
__name(ScrollBar, "ScrollBar");
|
|
2711
2840
|
function DropdownMenu({ ...props }) {
|
|
2712
|
-
return /* @__PURE__ */
|
|
2841
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Root, {
|
|
2713
2842
|
"data-slot": "dropdown-menu",
|
|
2714
2843
|
...props
|
|
2715
2844
|
});
|
|
2716
2845
|
}
|
|
2717
2846
|
__name(DropdownMenu, "DropdownMenu");
|
|
2718
2847
|
function DropdownMenuPortal({ ...props }) {
|
|
2719
|
-
return /* @__PURE__ */
|
|
2848
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Portal, {
|
|
2720
2849
|
"data-slot": "dropdown-menu-portal",
|
|
2721
2850
|
...props
|
|
2722
2851
|
});
|
|
2723
2852
|
}
|
|
2724
2853
|
__name(DropdownMenuPortal, "DropdownMenuPortal");
|
|
2725
2854
|
function DropdownMenuTrigger({ ...props }) {
|
|
2726
|
-
return /* @__PURE__ */
|
|
2855
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Trigger, {
|
|
2727
2856
|
"data-slot": "dropdown-menu-trigger",
|
|
2728
2857
|
...props
|
|
2729
2858
|
});
|
|
2730
2859
|
}
|
|
2731
2860
|
__name(DropdownMenuTrigger, "DropdownMenuTrigger");
|
|
2732
2861
|
function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
|
|
2733
|
-
return /* @__PURE__ */
|
|
2862
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Portal, null, /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Content, {
|
|
2734
2863
|
"data-slot": "dropdown-menu-content",
|
|
2735
2864
|
sideOffset,
|
|
2736
2865
|
className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-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 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md", className),
|
|
@@ -2739,14 +2868,14 @@ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
|
|
|
2739
2868
|
}
|
|
2740
2869
|
__name(DropdownMenuContent, "DropdownMenuContent");
|
|
2741
2870
|
function DropdownMenuGroup({ ...props }) {
|
|
2742
|
-
return /* @__PURE__ */
|
|
2871
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Group, {
|
|
2743
2872
|
"data-slot": "dropdown-menu-group",
|
|
2744
2873
|
...props
|
|
2745
2874
|
});
|
|
2746
2875
|
}
|
|
2747
2876
|
__name(DropdownMenuGroup, "DropdownMenuGroup");
|
|
2748
2877
|
function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
|
|
2749
|
-
return /* @__PURE__ */
|
|
2878
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Item, {
|
|
2750
2879
|
"data-slot": "dropdown-menu-item",
|
|
2751
2880
|
"data-inset": inset,
|
|
2752
2881
|
"data-variant": variant,
|
|
@@ -2756,39 +2885,39 @@ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
|
|
|
2756
2885
|
}
|
|
2757
2886
|
__name(DropdownMenuItem, "DropdownMenuItem");
|
|
2758
2887
|
function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
2759
|
-
return /* @__PURE__ */
|
|
2888
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.CheckboxItem, {
|
|
2760
2889
|
"data-slot": "dropdown-menu-checkbox-item",
|
|
2761
2890
|
className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2762
2891
|
checked,
|
|
2763
2892
|
...props
|
|
2764
|
-
}, /* @__PURE__ */
|
|
2893
|
+
}, /* @__PURE__ */ React26.createElement("span", {
|
|
2765
2894
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"
|
|
2766
|
-
}, /* @__PURE__ */
|
|
2895
|
+
}, /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React26.createElement(CheckIcon, {
|
|
2767
2896
|
className: "size-4"
|
|
2768
2897
|
}))), children);
|
|
2769
2898
|
}
|
|
2770
2899
|
__name(DropdownMenuCheckboxItem, "DropdownMenuCheckboxItem");
|
|
2771
2900
|
function DropdownMenuRadioGroup({ ...props }) {
|
|
2772
|
-
return /* @__PURE__ */
|
|
2901
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.RadioGroup, {
|
|
2773
2902
|
"data-slot": "dropdown-menu-radio-group",
|
|
2774
2903
|
...props
|
|
2775
2904
|
});
|
|
2776
2905
|
}
|
|
2777
2906
|
__name(DropdownMenuRadioGroup, "DropdownMenuRadioGroup");
|
|
2778
2907
|
function DropdownMenuRadioItem({ className, children, ...props }) {
|
|
2779
|
-
return /* @__PURE__ */
|
|
2908
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.RadioItem, {
|
|
2780
2909
|
"data-slot": "dropdown-menu-radio-item",
|
|
2781
2910
|
className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2782
2911
|
...props
|
|
2783
|
-
}, /* @__PURE__ */
|
|
2912
|
+
}, /* @__PURE__ */ React26.createElement("span", {
|
|
2784
2913
|
className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"
|
|
2785
|
-
}, /* @__PURE__ */
|
|
2914
|
+
}, /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.ItemIndicator, null, /* @__PURE__ */ React26.createElement(CircleIcon, {
|
|
2786
2915
|
className: "size-2 fill-current"
|
|
2787
2916
|
}))), children);
|
|
2788
2917
|
}
|
|
2789
2918
|
__name(DropdownMenuRadioItem, "DropdownMenuRadioItem");
|
|
2790
2919
|
function DropdownMenuLabel({ className, inset, ...props }) {
|
|
2791
|
-
return /* @__PURE__ */
|
|
2920
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Label, {
|
|
2792
2921
|
"data-slot": "dropdown-menu-label",
|
|
2793
2922
|
"data-inset": inset,
|
|
2794
2923
|
className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className),
|
|
@@ -2797,7 +2926,7 @@ function DropdownMenuLabel({ className, inset, ...props }) {
|
|
|
2797
2926
|
}
|
|
2798
2927
|
__name(DropdownMenuLabel, "DropdownMenuLabel");
|
|
2799
2928
|
function DropdownMenuSeparator({ className, ...props }) {
|
|
2800
|
-
return /* @__PURE__ */
|
|
2929
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Separator, {
|
|
2801
2930
|
"data-slot": "dropdown-menu-separator",
|
|
2802
2931
|
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
2803
2932
|
...props
|
|
@@ -2805,7 +2934,7 @@ function DropdownMenuSeparator({ className, ...props }) {
|
|
|
2805
2934
|
}
|
|
2806
2935
|
__name(DropdownMenuSeparator, "DropdownMenuSeparator");
|
|
2807
2936
|
function DropdownMenuShortcut({ className, ...props }) {
|
|
2808
|
-
return /* @__PURE__ */
|
|
2937
|
+
return /* @__PURE__ */ React26.createElement("span", {
|
|
2809
2938
|
"data-slot": "dropdown-menu-shortcut",
|
|
2810
2939
|
className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
2811
2940
|
...props
|
|
@@ -2813,25 +2942,25 @@ function DropdownMenuShortcut({ className, ...props }) {
|
|
|
2813
2942
|
}
|
|
2814
2943
|
__name(DropdownMenuShortcut, "DropdownMenuShortcut");
|
|
2815
2944
|
function DropdownMenuSub({ ...props }) {
|
|
2816
|
-
return /* @__PURE__ */
|
|
2945
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.Sub, {
|
|
2817
2946
|
"data-slot": "dropdown-menu-sub",
|
|
2818
2947
|
...props
|
|
2819
2948
|
});
|
|
2820
2949
|
}
|
|
2821
2950
|
__name(DropdownMenuSub, "DropdownMenuSub");
|
|
2822
2951
|
function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
|
|
2823
|
-
return /* @__PURE__ */
|
|
2952
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.SubTrigger, {
|
|
2824
2953
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
2825
2954
|
"data-inset": inset,
|
|
2826
2955
|
className: cn("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
|
|
2827
2956
|
...props
|
|
2828
|
-
}, children, /* @__PURE__ */
|
|
2957
|
+
}, children, /* @__PURE__ */ React26.createElement(ChevronRightIcon, {
|
|
2829
2958
|
className: "ml-auto size-4"
|
|
2830
2959
|
}));
|
|
2831
2960
|
}
|
|
2832
2961
|
__name(DropdownMenuSubTrigger, "DropdownMenuSubTrigger");
|
|
2833
2962
|
function DropdownMenuSubContent({ className, ...props }) {
|
|
2834
|
-
return /* @__PURE__ */
|
|
2963
|
+
return /* @__PURE__ */ React26.createElement(DropdownMenuPrimitive.SubContent, {
|
|
2835
2964
|
"data-slot": "dropdown-menu-sub-content",
|
|
2836
2965
|
className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg", className),
|
|
2837
2966
|
...props
|
|
@@ -2839,7 +2968,7 @@ function DropdownMenuSubContent({ className, ...props }) {
|
|
|
2839
2968
|
}
|
|
2840
2969
|
__name(DropdownMenuSubContent, "DropdownMenuSubContent");
|
|
2841
2970
|
function TooltipProvider({ delayDuration = 0, ...props }) {
|
|
2842
|
-
return /* @__PURE__ */
|
|
2971
|
+
return /* @__PURE__ */ React26.createElement(TooltipPrimitive.Provider, {
|
|
2843
2972
|
"data-slot": "tooltip-provider",
|
|
2844
2973
|
delayDuration,
|
|
2845
2974
|
...props
|
|
@@ -2847,26 +2976,26 @@ function TooltipProvider({ delayDuration = 0, ...props }) {
|
|
|
2847
2976
|
}
|
|
2848
2977
|
__name(TooltipProvider, "TooltipProvider");
|
|
2849
2978
|
function Tooltip({ ...props }) {
|
|
2850
|
-
return /* @__PURE__ */
|
|
2979
|
+
return /* @__PURE__ */ React26.createElement(TooltipProvider, null, /* @__PURE__ */ React26.createElement(TooltipPrimitive.Root, {
|
|
2851
2980
|
"data-slot": "tooltip",
|
|
2852
2981
|
...props
|
|
2853
2982
|
}));
|
|
2854
2983
|
}
|
|
2855
2984
|
__name(Tooltip, "Tooltip");
|
|
2856
2985
|
function TooltipTrigger({ ...props }) {
|
|
2857
|
-
return /* @__PURE__ */
|
|
2986
|
+
return /* @__PURE__ */ React26.createElement(TooltipPrimitive.Trigger, {
|
|
2858
2987
|
"data-slot": "tooltip-trigger",
|
|
2859
2988
|
...props
|
|
2860
2989
|
});
|
|
2861
2990
|
}
|
|
2862
2991
|
__name(TooltipTrigger, "TooltipTrigger");
|
|
2863
2992
|
function TooltipContent({ className, sideOffset = 0, children, ...props }) {
|
|
2864
|
-
return /* @__PURE__ */
|
|
2993
|
+
return /* @__PURE__ */ React26.createElement(TooltipPrimitive.Portal, null, /* @__PURE__ */ React26.createElement(TooltipPrimitive.Content, {
|
|
2865
2994
|
"data-slot": "tooltip-content",
|
|
2866
2995
|
sideOffset,
|
|
2867
2996
|
className: cn("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className),
|
|
2868
2997
|
...props
|
|
2869
|
-
}, children, /* @__PURE__ */
|
|
2998
|
+
}, children, /* @__PURE__ */ React26.createElement(TooltipPrimitive.Arrow, {
|
|
2870
2999
|
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"
|
|
2871
3000
|
})));
|
|
2872
3001
|
}
|
|
@@ -2897,44 +3026,44 @@ function DataGrid({ data, columns, searchable = false, searchPlaceholder = "Sear
|
|
|
2897
3026
|
getSortedRowModel: getSortedRowModel(),
|
|
2898
3027
|
getFilteredRowModel: getFilteredRowModel()
|
|
2899
3028
|
});
|
|
2900
|
-
return /* @__PURE__ */
|
|
3029
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
2901
3030
|
className: clsx("lui-datagrid", className)
|
|
2902
|
-
}, searchable && /* @__PURE__ */
|
|
3031
|
+
}, searchable && /* @__PURE__ */ React26__default.createElement("div", {
|
|
2903
3032
|
className: "lui-datagrid-search"
|
|
2904
|
-
}, /* @__PURE__ */
|
|
3033
|
+
}, /* @__PURE__ */ React26__default.createElement("input", {
|
|
2905
3034
|
type: "text",
|
|
2906
3035
|
value: globalFilter,
|
|
2907
3036
|
onChange: /* @__PURE__ */ __name((e) => setGlobalFilter(e.target.value), "onChange"),
|
|
2908
3037
|
placeholder: searchPlaceholder,
|
|
2909
3038
|
className: "lui-datagrid-search-input"
|
|
2910
|
-
})), /* @__PURE__ */
|
|
3039
|
+
})), /* @__PURE__ */ React26__default.createElement("div", {
|
|
2911
3040
|
className: "lui-datagrid-container"
|
|
2912
|
-
}, /* @__PURE__ */
|
|
3041
|
+
}, /* @__PURE__ */ React26__default.createElement("table", {
|
|
2913
3042
|
className: "lui-datagrid-table"
|
|
2914
|
-
}, /* @__PURE__ */
|
|
3043
|
+
}, /* @__PURE__ */ React26__default.createElement("thead", null, table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ React26__default.createElement("tr", {
|
|
2915
3044
|
key: headerGroup.id
|
|
2916
|
-
}, headerGroup.headers.map((header) => /* @__PURE__ */
|
|
3045
|
+
}, headerGroup.headers.map((header) => /* @__PURE__ */ React26__default.createElement("th", {
|
|
2917
3046
|
key: header.id,
|
|
2918
3047
|
className: clsx("lui-datagrid-th", header.column.getCanSort() && "lui-datagrid-th--sortable"),
|
|
2919
3048
|
onClick: header.column.getToggleSortingHandler(),
|
|
2920
3049
|
style: {
|
|
2921
3050
|
width: header.column.getSize()
|
|
2922
3051
|
}
|
|
2923
|
-
}, /* @__PURE__ */
|
|
3052
|
+
}, /* @__PURE__ */ React26__default.createElement("div", {
|
|
2924
3053
|
className: "lui-datagrid-th-content"
|
|
2925
|
-
}, flexRender(header.column.columnDef.header, header.getContext()), header.column.getIsSorted() && /* @__PURE__ */
|
|
3054
|
+
}, flexRender(header.column.columnDef.header, header.getContext()), header.column.getIsSorted() && /* @__PURE__ */ React26__default.createElement("span", {
|
|
2926
3055
|
className: "lui-datagrid-sort-icon"
|
|
2927
|
-
}, header.column.getIsSorted() === "asc" ? "\u2191" : "\u2193"))))))), /* @__PURE__ */
|
|
3056
|
+
}, header.column.getIsSorted() === "asc" ? "\u2191" : "\u2193"))))))), /* @__PURE__ */ React26__default.createElement("tbody", null, loading ? /* @__PURE__ */ React26__default.createElement("tr", null, /* @__PURE__ */ React26__default.createElement("td", {
|
|
2928
3057
|
colSpan: columns.length,
|
|
2929
3058
|
className: "lui-datagrid-loading"
|
|
2930
|
-
}, "Loading...")) : table.getRowModel().rows.length === 0 ? /* @__PURE__ */
|
|
3059
|
+
}, "Loading...")) : table.getRowModel().rows.length === 0 ? /* @__PURE__ */ React26__default.createElement("tr", null, /* @__PURE__ */ React26__default.createElement("td", {
|
|
2931
3060
|
colSpan: columns.length,
|
|
2932
3061
|
className: "lui-datagrid-empty"
|
|
2933
|
-
}, emptyMessage)) : table.getRowModel().rows.map((row) => /* @__PURE__ */
|
|
3062
|
+
}, emptyMessage)) : table.getRowModel().rows.map((row) => /* @__PURE__ */ React26__default.createElement("tr", {
|
|
2934
3063
|
key: row.id,
|
|
2935
3064
|
className: clsx("lui-datagrid-row", onRowClick && "lui-datagrid-row--clickable"),
|
|
2936
3065
|
onClick: /* @__PURE__ */ __name(() => onRowClick?.(row.original), "onClick")
|
|
2937
|
-
}, row.getVisibleCells().map((cell) => /* @__PURE__ */
|
|
3066
|
+
}, row.getVisibleCells().map((cell) => /* @__PURE__ */ React26__default.createElement("td", {
|
|
2938
3067
|
key: cell.id,
|
|
2939
3068
|
className: "lui-datagrid-td"
|
|
2940
3069
|
}, flexRender(cell.column.columnDef.cell, cell.getContext())))))))));
|
|
@@ -2993,13 +3122,13 @@ function Chart({ type, data, options, height = 300, width = "100%", className })
|
|
|
2993
3122
|
...options?.plugins
|
|
2994
3123
|
}
|
|
2995
3124
|
};
|
|
2996
|
-
return /* @__PURE__ */
|
|
3125
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
2997
3126
|
className: clsx("lui-chart", className),
|
|
2998
3127
|
style: {
|
|
2999
3128
|
height,
|
|
3000
3129
|
width
|
|
3001
3130
|
}
|
|
3002
|
-
}, /* @__PURE__ */
|
|
3131
|
+
}, /* @__PURE__ */ React26__default.createElement(Chart$2, {
|
|
3003
3132
|
type,
|
|
3004
3133
|
data,
|
|
3005
3134
|
options: mergedOptions
|
|
@@ -3048,37 +3177,37 @@ function AppShell({ header, sidebar, footer, sidebarPosition = "left", sidebarWi
|
|
|
3048
3177
|
width: typeof sidebarWidth === "number" ? `${sidebarWidth}px` : sidebarWidth,
|
|
3049
3178
|
flexShrink: 0
|
|
3050
3179
|
};
|
|
3051
|
-
return /* @__PURE__ */
|
|
3180
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3052
3181
|
ref: containerRef,
|
|
3053
3182
|
className: clsx("lui-app-shell", `lui-app-shell--padding-${padding}`, className),
|
|
3054
3183
|
...props
|
|
3055
|
-
}, header && /* @__PURE__ */
|
|
3184
|
+
}, header && /* @__PURE__ */ React26__default.createElement("header", {
|
|
3056
3185
|
className: "lui-app-shell-header"
|
|
3057
|
-
}, header), /* @__PURE__ */
|
|
3186
|
+
}, header), /* @__PURE__ */ React26__default.createElement("div", {
|
|
3058
3187
|
className: "lui-app-shell-body"
|
|
3059
|
-
}, sidebar && sidebarPosition === "left" && /* @__PURE__ */
|
|
3188
|
+
}, sidebar && sidebarPosition === "left" && /* @__PURE__ */ React26__default.createElement("aside", {
|
|
3060
3189
|
className: "lui-app-shell-sidebar",
|
|
3061
3190
|
style: sidebarStyle
|
|
3062
|
-
}, sidebar), /* @__PURE__ */
|
|
3191
|
+
}, sidebar), /* @__PURE__ */ React26__default.createElement("main", {
|
|
3063
3192
|
className: "lui-app-shell-main"
|
|
3064
|
-
}, children), sidebar && sidebarPosition === "right" && /* @__PURE__ */
|
|
3193
|
+
}, children), sidebar && sidebarPosition === "right" && /* @__PURE__ */ React26__default.createElement("aside", {
|
|
3065
3194
|
className: "lui-app-shell-sidebar",
|
|
3066
3195
|
style: sidebarStyle
|
|
3067
|
-
}, sidebar)), footer && /* @__PURE__ */
|
|
3196
|
+
}, sidebar)), footer && /* @__PURE__ */ React26__default.createElement("footer", {
|
|
3068
3197
|
className: "lui-app-shell-footer"
|
|
3069
3198
|
}, footer));
|
|
3070
3199
|
}
|
|
3071
3200
|
__name(AppShell, "AppShell");
|
|
3072
3201
|
function Tabs2({ tabs, defaultValue, value, onValueChange, children, className }) {
|
|
3073
3202
|
const defaultTab = defaultValue || tabs[0]?.value;
|
|
3074
|
-
return /* @__PURE__ */
|
|
3203
|
+
return /* @__PURE__ */ React26__default.createElement(TabsPrimitive2.Root, {
|
|
3075
3204
|
className: clsx("lui-tabs", className),
|
|
3076
3205
|
defaultValue: defaultTab,
|
|
3077
3206
|
value,
|
|
3078
3207
|
onValueChange
|
|
3079
|
-
}, /* @__PURE__ */
|
|
3208
|
+
}, /* @__PURE__ */ React26__default.createElement(TabsPrimitive2.List, {
|
|
3080
3209
|
className: "lui-tabs-list"
|
|
3081
|
-
}, tabs.map((tab) => /* @__PURE__ */
|
|
3210
|
+
}, tabs.map((tab) => /* @__PURE__ */ React26__default.createElement(TabsPrimitive2.Trigger, {
|
|
3082
3211
|
key: tab.value,
|
|
3083
3212
|
value: tab.value,
|
|
3084
3213
|
disabled: tab.disabled,
|
|
@@ -3087,40 +3216,40 @@ function Tabs2({ tabs, defaultValue, value, onValueChange, children, className }
|
|
|
3087
3216
|
}
|
|
3088
3217
|
__name(Tabs2, "Tabs");
|
|
3089
3218
|
function TabContent({ value, children, className }) {
|
|
3090
|
-
return /* @__PURE__ */
|
|
3219
|
+
return /* @__PURE__ */ React26__default.createElement(TabsPrimitive2.Content, {
|
|
3091
3220
|
value,
|
|
3092
3221
|
className: clsx("lui-tabs-content", className)
|
|
3093
3222
|
}, children);
|
|
3094
3223
|
}
|
|
3095
3224
|
__name(TabContent, "TabContent");
|
|
3096
3225
|
function Modal({ open, defaultOpen, onOpenChange, title, description, children, className, trigger }) {
|
|
3097
|
-
return /* @__PURE__ */
|
|
3226
|
+
return /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Root, {
|
|
3098
3227
|
open,
|
|
3099
3228
|
defaultOpen,
|
|
3100
3229
|
onOpenChange
|
|
3101
|
-
}, trigger && /* @__PURE__ */
|
|
3230
|
+
}, trigger && /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Trigger, {
|
|
3102
3231
|
asChild: true
|
|
3103
|
-
}, trigger), /* @__PURE__ */
|
|
3232
|
+
}, trigger), /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Portal, null, /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Overlay, {
|
|
3104
3233
|
className: "lui-modal-overlay"
|
|
3105
|
-
}), /* @__PURE__ */
|
|
3234
|
+
}), /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Content, {
|
|
3106
3235
|
className: clsx("lui-modal-content", className)
|
|
3107
|
-
}, title && /* @__PURE__ */
|
|
3236
|
+
}, title && /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Title, {
|
|
3108
3237
|
className: "lui-modal-title"
|
|
3109
|
-
}, title), description && /* @__PURE__ */
|
|
3238
|
+
}, title), description && /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Description, {
|
|
3110
3239
|
className: "lui-modal-description"
|
|
3111
|
-
}, description), children, /* @__PURE__ */
|
|
3240
|
+
}, description), children, /* @__PURE__ */ React26__default.createElement(DialogPrimitive.Close, {
|
|
3112
3241
|
className: "lui-modal-close",
|
|
3113
3242
|
"aria-label": "Close"
|
|
3114
|
-
}, /* @__PURE__ */
|
|
3243
|
+
}, /* @__PURE__ */ React26__default.createElement(CloseIcon, null)))));
|
|
3115
3244
|
}
|
|
3116
3245
|
__name(Modal, "Modal");
|
|
3117
3246
|
function CloseIcon() {
|
|
3118
|
-
return /* @__PURE__ */
|
|
3247
|
+
return /* @__PURE__ */ React26__default.createElement("svg", {
|
|
3119
3248
|
width: "14",
|
|
3120
3249
|
height: "14",
|
|
3121
3250
|
viewBox: "0 0 14 14",
|
|
3122
3251
|
fill: "none"
|
|
3123
|
-
}, /* @__PURE__ */
|
|
3252
|
+
}, /* @__PURE__ */ React26__default.createElement("path", {
|
|
3124
3253
|
d: "M3.5 3.5L10.5 10.5M10.5 3.5L3.5 10.5",
|
|
3125
3254
|
stroke: "currentColor",
|
|
3126
3255
|
strokeWidth: "1.5",
|
|
@@ -3129,55 +3258,55 @@ function CloseIcon() {
|
|
|
3129
3258
|
}
|
|
3130
3259
|
__name(CloseIcon, "CloseIcon");
|
|
3131
3260
|
function CodeBlock({ code, language = "text", showLineNumbers = false, copyable = true, className }) {
|
|
3132
|
-
const [copied, setCopied] =
|
|
3261
|
+
const [copied, setCopied] = React26__default.useState(false);
|
|
3133
3262
|
const handleCopy = /* @__PURE__ */ __name(async () => {
|
|
3134
3263
|
await navigator.clipboard.writeText(code);
|
|
3135
3264
|
setCopied(true);
|
|
3136
3265
|
setTimeout(() => setCopied(false), 2e3);
|
|
3137
3266
|
}, "handleCopy");
|
|
3138
|
-
return /* @__PURE__ */
|
|
3267
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3139
3268
|
className: clsx("lui-code-block", className)
|
|
3140
|
-
}, copyable && /* @__PURE__ */
|
|
3269
|
+
}, copyable && /* @__PURE__ */ React26__default.createElement("button", {
|
|
3141
3270
|
type: "button",
|
|
3142
3271
|
className: "lui-code-block-copy",
|
|
3143
3272
|
onClick: handleCopy,
|
|
3144
3273
|
"aria-label": copied ? "Copied!" : "Copy code"
|
|
3145
|
-
}, copied ? /* @__PURE__ */
|
|
3274
|
+
}, copied ? /* @__PURE__ */ React26__default.createElement("svg", {
|
|
3146
3275
|
viewBox: "0 0 24 24",
|
|
3147
3276
|
fill: "none",
|
|
3148
3277
|
stroke: "currentColor",
|
|
3149
3278
|
strokeWidth: "2"
|
|
3150
|
-
}, /* @__PURE__ */
|
|
3279
|
+
}, /* @__PURE__ */ React26__default.createElement("polyline", {
|
|
3151
3280
|
points: "20,6 9,17 4,12"
|
|
3152
|
-
})) : /* @__PURE__ */
|
|
3281
|
+
})) : /* @__PURE__ */ React26__default.createElement("svg", {
|
|
3153
3282
|
viewBox: "0 0 24 24",
|
|
3154
3283
|
fill: "none",
|
|
3155
3284
|
stroke: "currentColor",
|
|
3156
3285
|
strokeWidth: "2"
|
|
3157
|
-
}, /* @__PURE__ */
|
|
3286
|
+
}, /* @__PURE__ */ React26__default.createElement("rect", {
|
|
3158
3287
|
x: "9",
|
|
3159
3288
|
y: "9",
|
|
3160
3289
|
width: "13",
|
|
3161
3290
|
height: "13",
|
|
3162
3291
|
rx: "2",
|
|
3163
3292
|
ry: "2"
|
|
3164
|
-
}), /* @__PURE__ */
|
|
3293
|
+
}), /* @__PURE__ */ React26__default.createElement("path", {
|
|
3165
3294
|
d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"
|
|
3166
|
-
}))), /* @__PURE__ */
|
|
3295
|
+
}))), /* @__PURE__ */ React26__default.createElement(Highlight, {
|
|
3167
3296
|
theme: themes.nightOwl,
|
|
3168
3297
|
code: code.trim(),
|
|
3169
3298
|
language
|
|
3170
|
-
}, ({ className: hlClassName, style, tokens, getLineProps, getTokenProps }) => /* @__PURE__ */
|
|
3299
|
+
}, ({ className: hlClassName, style, tokens, getLineProps, getTokenProps }) => /* @__PURE__ */ React26__default.createElement("pre", {
|
|
3171
3300
|
className: clsx("lui-code-block-pre", hlClassName),
|
|
3172
3301
|
style
|
|
3173
|
-
}, tokens.map((line, i) => /* @__PURE__ */
|
|
3302
|
+
}, tokens.map((line, i) => /* @__PURE__ */ React26__default.createElement("div", {
|
|
3174
3303
|
key: i,
|
|
3175
3304
|
...getLineProps({
|
|
3176
3305
|
line
|
|
3177
3306
|
})
|
|
3178
|
-
}, showLineNumbers && /* @__PURE__ */
|
|
3307
|
+
}, showLineNumbers && /* @__PURE__ */ React26__default.createElement("span", {
|
|
3179
3308
|
className: "lui-code-block-line-number"
|
|
3180
|
-
}, i + 1), line.map((token, key) => /* @__PURE__ */
|
|
3309
|
+
}, i + 1), line.map((token, key) => /* @__PURE__ */ React26__default.createElement("span", {
|
|
3181
3310
|
key,
|
|
3182
3311
|
...getTokenProps({
|
|
3183
3312
|
token
|
|
@@ -3186,7 +3315,7 @@ function CodeBlock({ code, language = "text", showLineNumbers = false, copyable
|
|
|
3186
3315
|
}
|
|
3187
3316
|
__name(CodeBlock, "CodeBlock");
|
|
3188
3317
|
var Card2 = /* @__PURE__ */ forwardRef(({ className, variant = "default", padding = "md", interactive = false, children, ...props }, ref) => {
|
|
3189
|
-
return /* @__PURE__ */
|
|
3318
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3190
3319
|
ref,
|
|
3191
3320
|
className: clsx("lui-card", `lui-card--${variant}`, `lui-card--padding-${padding}`, interactive && "lui-card--interactive", className),
|
|
3192
3321
|
...props
|
|
@@ -3194,23 +3323,23 @@ var Card2 = /* @__PURE__ */ forwardRef(({ className, variant = "default", paddin
|
|
|
3194
3323
|
});
|
|
3195
3324
|
Card2.displayName = "Card";
|
|
3196
3325
|
var CardHeader2 = /* @__PURE__ */ forwardRef(({ className, title, description, action, children, ...props }, ref) => {
|
|
3197
|
-
return /* @__PURE__ */
|
|
3326
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3198
3327
|
ref,
|
|
3199
3328
|
className: clsx("lui-card-header", className),
|
|
3200
3329
|
...props
|
|
3201
|
-
}, (title || description) && /* @__PURE__ */
|
|
3330
|
+
}, (title || description) && /* @__PURE__ */ React26__default.createElement("div", {
|
|
3202
3331
|
className: "lui-card-header__text"
|
|
3203
|
-
}, title && /* @__PURE__ */
|
|
3332
|
+
}, title && /* @__PURE__ */ React26__default.createElement("h3", {
|
|
3204
3333
|
className: "lui-card-header__title"
|
|
3205
|
-
}, title), description && /* @__PURE__ */
|
|
3334
|
+
}, title), description && /* @__PURE__ */ React26__default.createElement("p", {
|
|
3206
3335
|
className: "lui-card-header__description"
|
|
3207
|
-
}, description)), action && /* @__PURE__ */
|
|
3336
|
+
}, description)), action && /* @__PURE__ */ React26__default.createElement("div", {
|
|
3208
3337
|
className: "lui-card-header__action"
|
|
3209
3338
|
}, action), children);
|
|
3210
3339
|
});
|
|
3211
3340
|
CardHeader2.displayName = "CardHeader";
|
|
3212
3341
|
var CardContent2 = /* @__PURE__ */ forwardRef(({ className, children, ...props }, ref) => {
|
|
3213
|
-
return /* @__PURE__ */
|
|
3342
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3214
3343
|
ref,
|
|
3215
3344
|
className: clsx("lui-card-content", className),
|
|
3216
3345
|
...props
|
|
@@ -3218,7 +3347,7 @@ var CardContent2 = /* @__PURE__ */ forwardRef(({ className, children, ...props }
|
|
|
3218
3347
|
});
|
|
3219
3348
|
CardContent2.displayName = "CardContent";
|
|
3220
3349
|
var CardFooter2 = /* @__PURE__ */ forwardRef(({ className, children, ...props }, ref) => {
|
|
3221
|
-
return /* @__PURE__ */
|
|
3350
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3222
3351
|
ref,
|
|
3223
3352
|
className: clsx("lui-card-footer", className),
|
|
3224
3353
|
...props
|
|
@@ -3228,31 +3357,31 @@ CardFooter2.displayName = "CardFooter";
|
|
|
3228
3357
|
var Input2 = /* @__PURE__ */ forwardRef(({ className, label, helperText, error, size = "md", leftElement, rightElement, fullWidth = false, id, ...props }, ref) => {
|
|
3229
3358
|
const inputId = id || `input-${Math.random().toString(36).substr(2, 9)}`;
|
|
3230
3359
|
const hasError = Boolean(error);
|
|
3231
|
-
return /* @__PURE__ */
|
|
3360
|
+
return /* @__PURE__ */ React26__default.createElement("div", {
|
|
3232
3361
|
className: clsx("lui-input-wrapper", fullWidth && "lui-input-wrapper--full-width", className)
|
|
3233
|
-
}, label && /* @__PURE__ */
|
|
3362
|
+
}, label && /* @__PURE__ */ React26__default.createElement("label", {
|
|
3234
3363
|
htmlFor: inputId,
|
|
3235
3364
|
className: "lui-input-label"
|
|
3236
|
-
}, label), /* @__PURE__ */
|
|
3365
|
+
}, label), /* @__PURE__ */ React26__default.createElement("div", {
|
|
3237
3366
|
className: clsx("lui-input-container", `lui-input-container--${size}`, hasError && "lui-input-container--error", leftElement && "lui-input-container--has-left", rightElement && "lui-input-container--has-right")
|
|
3238
|
-
}, leftElement && /* @__PURE__ */
|
|
3367
|
+
}, leftElement && /* @__PURE__ */ React26__default.createElement("span", {
|
|
3239
3368
|
className: "lui-input-element lui-input-element--left"
|
|
3240
|
-
}, leftElement), /* @__PURE__ */
|
|
3369
|
+
}, leftElement), /* @__PURE__ */ React26__default.createElement("input", {
|
|
3241
3370
|
ref,
|
|
3242
3371
|
id: inputId,
|
|
3243
3372
|
className: "lui-input",
|
|
3244
3373
|
"aria-invalid": hasError,
|
|
3245
3374
|
"aria-describedby": error ? `${inputId}-error` : helperText ? `${inputId}-helper` : void 0,
|
|
3246
3375
|
...props
|
|
3247
|
-
}), rightElement && /* @__PURE__ */
|
|
3376
|
+
}), rightElement && /* @__PURE__ */ React26__default.createElement("span", {
|
|
3248
3377
|
className: "lui-input-element lui-input-element--right"
|
|
3249
|
-
}, rightElement)), (error || helperText) && /* @__PURE__ */
|
|
3378
|
+
}, rightElement)), (error || helperText) && /* @__PURE__ */ React26__default.createElement("p", {
|
|
3250
3379
|
id: error ? `${inputId}-error` : `${inputId}-helper`,
|
|
3251
3380
|
className: clsx("lui-input-message", error && "lui-input-message--error")
|
|
3252
3381
|
}, error || helperText));
|
|
3253
3382
|
});
|
|
3254
3383
|
Input2.displayName = "Input";
|
|
3255
3384
|
|
|
3256
|
-
export { ActionButton, Alert, AlertDescription, AlertTitle, AppProvider, AppShell, Badge, Button2 as Button, Card2 as Card, CardContent2 as CardContent, CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle, Chart, Checkbox, CodeBlock, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DEFAULT_RESULT_CONFIG, DataGrid, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, INITIAL_TOOL_STATE, Input2 as Input, Label2 as Label, Modal, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RequireConnection, ResourceView, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Skeleton, Slider, StreamingContent, Switch, TabContent, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, ToolButton, ToolDataGrid, ToolErrorBoundary, ToolForm, ToolInput, ToolProvider, ToolSelect, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, normalizeToolBinding, useFormField, useHostContext, useMcpApp, useMessage, useResource, useTool, useToolContext, useToolInput, useToolInputPartial, useToolResult, useToolStream, useToolSubscription };
|
|
3385
|
+
export { ActionButton, Alert, AlertDescription, AlertTitle, AppProvider, AppShell, Badge, Button2 as Button, Card2 as Card, CardContent2 as CardContent, CardDescription, CardFooter2 as CardFooter, CardHeader2 as CardHeader, CardTitle, Chart, Checkbox, CodeBlock, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, DEFAULT_RESULT_CONFIG, DataGrid, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GPTAppProvider, INITIAL_TOOL_STATE, Input2 as Input, Label2 as Label, Modal, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RequireConnection, ResourceView, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, Skeleton, Slider, StreamingContent, Switch, TabContent, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs2 as Tabs, TabsContent, TabsList, TabsTrigger, Textarea, Toaster, ToolButton, ToolDataGrid, ToolErrorBoundary, ToolForm, ToolInput, ToolProvider, ToolSelect, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, badgeVariants, buttonVariants, cn, normalizeToolBinding, useFormField, useGptApp, useGptTool, useHostContext, useMcpApp, useMessage, useResource, useTool, useToolContext, useToolInput, useToolInputPartial, useToolResult, useToolStream, useToolSubscription };
|
|
3257
3386
|
//# sourceMappingURL=index.mjs.map
|
|
3258
3387
|
//# sourceMappingURL=index.mjs.map
|