@arbidocs/react 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/dist/artifacts/index.cjs +458 -0
- package/dist/artifacts/index.cjs.map +1 -0
- package/dist/artifacts/index.d.cts +276 -0
- package/dist/artifacts/index.d.ts +276 -0
- package/dist/artifacts/index.js +434 -0
- package/dist/artifacts/index.js.map +1 -0
- package/dist/artifacts/redline-core.cjs +20 -0
- package/dist/artifacts/redline-core.cjs.map +1 -0
- package/dist/artifacts/redline-core.d.cts +36 -0
- package/dist/artifacts/redline-core.d.ts +36 -0
- package/dist/artifacts/redline-core.js +3 -0
- package/dist/artifacts/redline-core.js.map +1 -0
- package/dist/{chunk-MIJRORQL.js → chunk-2ACHNDO6.js} +10 -304
- package/dist/chunk-2ACHNDO6.js.map +1 -0
- package/dist/chunk-CBJ3WOGD.cjs +317 -0
- package/dist/chunk-CBJ3WOGD.cjs.map +1 -0
- package/dist/{chunk-EJ2BMHYK.js → chunk-FSMIN5VX.js} +4 -3
- package/dist/chunk-FSMIN5VX.js.map +1 -0
- package/dist/{chunk-JKO3NR5L.js → chunk-HDCRPPBW.js} +5 -23
- package/dist/chunk-HDCRPPBW.js.map +1 -0
- package/dist/chunk-J4MX2W4H.js +26 -0
- package/dist/chunk-J4MX2W4H.js.map +1 -0
- package/dist/chunk-KWCHIAQ5.js +290 -0
- package/dist/chunk-KWCHIAQ5.js.map +1 -0
- package/dist/{chunk-6ALMBER7.js → chunk-N5SVBDLC.js} +4 -9
- package/dist/chunk-N5SVBDLC.js.map +1 -0
- package/dist/{chunk-RZQACYNQ.cjs → chunk-OBNTJEEO.cjs} +14 -20
- package/dist/chunk-OBNTJEEO.cjs.map +1 -0
- package/dist/chunk-OI55JRKT.cjs +334 -0
- package/dist/chunk-OI55JRKT.cjs.map +1 -0
- package/dist/{chunk-BXP6S34V.cjs → chunk-PGLV23SB.cjs} +13 -12
- package/dist/chunk-PGLV23SB.cjs.map +1 -0
- package/dist/chunk-RIHMIEXM.js +320 -0
- package/dist/chunk-RIHMIEXM.js.map +1 -0
- package/dist/chunk-RKWNX32A.js +299 -0
- package/dist/chunk-RKWNX32A.js.map +1 -0
- package/dist/chunk-S6A6FSG7.cjs +13 -0
- package/dist/chunk-S6A6FSG7.cjs.map +1 -0
- package/dist/chunk-SN5YV6FF.js +11 -0
- package/dist/chunk-SN5YV6FF.js.map +1 -0
- package/dist/{chunk-7IOCMCC5.cjs → chunk-TMPDW7J5.cjs} +3 -23
- package/dist/chunk-TMPDW7J5.cjs.map +1 -0
- package/dist/chunk-VJWAP2HJ.cjs +303 -0
- package/dist/chunk-VJWAP2HJ.cjs.map +1 -0
- package/dist/{chunk-ORKGCXG3.cjs → chunk-Z5YCRJY3.cjs} +125 -429
- package/dist/chunk-Z5YCRJY3.cjs.map +1 -0
- package/dist/chunk-ZMTLGO3K.cjs +29 -0
- package/dist/chunk-ZMTLGO3K.cjs.map +1 -0
- package/dist/index-CC6CvXEs.d.cts +1366 -0
- package/dist/index-CC6CvXEs.d.ts +1366 -0
- package/dist/index.cjs +1159 -722
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +588 -28
- package/dist/index.d.ts +588 -28
- package/dist/index.js +645 -310
- package/dist/index.js.map +1 -1
- package/dist/shell/index.cjs +8 -7
- package/dist/shell/index.js +3 -2
- package/dist/ui/index.cjs +158 -152
- package/dist/ui/index.d.cts +24 -1324
- package/dist/ui/index.d.ts +24 -1324
- package/dist/ui/index.js +4 -2
- package/dist/viewers/index.cjs +9 -8
- package/dist/viewers/index.cjs.map +1 -1
- package/dist/viewers/index.js +3 -2
- package/dist/viewers/index.js.map +1 -1
- package/package.json +19 -3
- package/dist/chunk-6ALMBER7.js.map +0 -1
- package/dist/chunk-7IOCMCC5.cjs.map +0 -1
- package/dist/chunk-BXP6S34V.cjs.map +0 -1
- package/dist/chunk-EJ2BMHYK.js.map +0 -1
- package/dist/chunk-JKO3NR5L.js.map +0 -1
- package/dist/chunk-MIJRORQL.js.map +0 -1
- package/dist/chunk-ORKGCXG3.cjs.map +0 -1
- package/dist/chunk-RZQACYNQ.cjs.map +0 -1
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkOI55JRKT_cjs = require('./chunk-OI55JRKT.cjs');
|
|
4
|
+
var chunkOBNTJEEO_cjs = require('./chunk-OBNTJEEO.cjs');
|
|
5
|
+
var chunkS6A6FSG7_cjs = require('./chunk-S6A6FSG7.cjs');
|
|
4
6
|
var React = require('react');
|
|
5
7
|
var reactDom = require('react-dom');
|
|
6
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -23,11 +25,6 @@ var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
|
23
25
|
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
24
26
|
var SelectPrimitive = require('@radix-ui/react-select');
|
|
25
27
|
var cmdk = require('cmdk');
|
|
26
|
-
var Markdown = require('react-markdown');
|
|
27
|
-
var remarkGfm = require('remark-gfm');
|
|
28
|
-
var rehypeRaw = require('rehype-raw');
|
|
29
|
-
|
|
30
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
31
28
|
|
|
32
29
|
function _interopNamespace(e) {
|
|
33
30
|
if (e && e.__esModule) return e;
|
|
@@ -63,9 +60,6 @@ var ToggleGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(ToggleGroup
|
|
|
63
60
|
var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
|
|
64
61
|
var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
|
|
65
62
|
var SelectPrimitive__namespace = /*#__PURE__*/_interopNamespace(SelectPrimitive);
|
|
66
|
-
var Markdown__default = /*#__PURE__*/_interopDefault(Markdown);
|
|
67
|
-
var remarkGfm__default = /*#__PURE__*/_interopDefault(remarkGfm);
|
|
68
|
-
var rehypeRaw__default = /*#__PURE__*/_interopDefault(rehypeRaw);
|
|
69
63
|
|
|
70
64
|
var TooltipContext = React__namespace.createContext(null);
|
|
71
65
|
var DEFAULT_DELAY = 300;
|
|
@@ -234,7 +228,7 @@ var TooltipContent = React__namespace.forwardRef(
|
|
|
234
228
|
ref: setRefs,
|
|
235
229
|
id: ctx.contentId,
|
|
236
230
|
role: "tooltip",
|
|
237
|
-
className:
|
|
231
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
238
232
|
// The kit owns the tooltip's look: semantic tokens only, so it is
|
|
239
233
|
// legible in every app without one of them defining a global class.
|
|
240
234
|
// The `tooltip-content` hook is kept last-but-one so a host stylesheet
|
|
@@ -346,7 +340,7 @@ var Avatar = React__namespace.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
346
340
|
AvatarPrimitive__namespace.Root,
|
|
347
341
|
{
|
|
348
342
|
ref,
|
|
349
|
-
className:
|
|
343
|
+
className: chunkS6A6FSG7_cjs.cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className),
|
|
350
344
|
...props
|
|
351
345
|
}
|
|
352
346
|
));
|
|
@@ -355,7 +349,7 @@ var AvatarImage = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
355
349
|
AvatarPrimitive__namespace.Image,
|
|
356
350
|
{
|
|
357
351
|
ref,
|
|
358
|
-
className:
|
|
352
|
+
className: chunkS6A6FSG7_cjs.cn("aspect-square h-full w-full object-cover", className),
|
|
359
353
|
...props
|
|
360
354
|
}
|
|
361
355
|
));
|
|
@@ -364,7 +358,7 @@ var AvatarFallback = React__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
364
358
|
AvatarPrimitive__namespace.Fallback,
|
|
365
359
|
{
|
|
366
360
|
ref,
|
|
367
|
-
className:
|
|
361
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
368
362
|
"flex h-full w-full items-center justify-center rounded-full bg-muted",
|
|
369
363
|
className
|
|
370
364
|
),
|
|
@@ -390,7 +384,7 @@ var badgeVariants = classVarianceAuthority.cva(
|
|
|
390
384
|
}
|
|
391
385
|
);
|
|
392
386
|
function Badge({ className, variant, ...props }) {
|
|
393
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
387
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn(badgeVariants({ variant }), className), ...props });
|
|
394
388
|
}
|
|
395
389
|
var buttonVariants = classVarianceAuthority.cva(
|
|
396
390
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
@@ -426,7 +420,7 @@ var buttonVariants = classVarianceAuthority.cva(
|
|
|
426
420
|
var Button = React__namespace.forwardRef(
|
|
427
421
|
({ className, variant, size, asChild = false, ...props }, ref) => {
|
|
428
422
|
const Comp = asChild ? reactSlot.Slot : "button";
|
|
429
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { className:
|
|
423
|
+
return /* @__PURE__ */ jsxRuntime.jsx(Comp, { className: chunkS6A6FSG7_cjs.cn(buttonVariants({ variant, size, className })), ref, ...props });
|
|
430
424
|
}
|
|
431
425
|
);
|
|
432
426
|
Button.displayName = "Button";
|
|
@@ -438,8 +432,8 @@ var HoverCardContent = React__namespace.forwardRef(({ className, align = "center
|
|
|
438
432
|
ref,
|
|
439
433
|
align,
|
|
440
434
|
sideOffset,
|
|
441
|
-
collisionPadding:
|
|
442
|
-
className:
|
|
435
|
+
collisionPadding: chunkOBNTJEEO_cjs.getCollisionPadding(),
|
|
436
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
443
437
|
"z-50 w-64 max-w-[calc(100vw-1rem)] rounded-md border bg-popover p-4 text-popover-foreground shadow-lg outline-none 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 origin-[--radix-hover-card-content-transform-origin]",
|
|
444
438
|
className
|
|
445
439
|
),
|
|
@@ -447,7 +441,7 @@ var HoverCardContent = React__namespace.forwardRef(({ className, align = "center
|
|
|
447
441
|
}
|
|
448
442
|
) }));
|
|
449
443
|
HoverCardContent.displayName = HoverCardPrimitive__namespace.Content.displayName;
|
|
450
|
-
var cardVariants = classVarianceAuthority.cva("rounded-lg bg-card text-card-foreground", {
|
|
444
|
+
var cardVariants = classVarianceAuthority.cva("min-w-0 rounded-lg bg-card text-card-foreground", {
|
|
451
445
|
variants: {
|
|
452
446
|
variant: {
|
|
453
447
|
flat: "",
|
|
@@ -465,7 +459,7 @@ var Card = React__namespace.forwardRef(
|
|
|
465
459
|
{
|
|
466
460
|
ref,
|
|
467
461
|
"data-slot": "card",
|
|
468
|
-
className:
|
|
462
|
+
className: chunkS6A6FSG7_cjs.cn(cardVariants({ variant }), className),
|
|
469
463
|
...props
|
|
470
464
|
}
|
|
471
465
|
)
|
|
@@ -477,7 +471,7 @@ var CardHeader = React__namespace.forwardRef(
|
|
|
477
471
|
{
|
|
478
472
|
ref,
|
|
479
473
|
"data-slot": "card-header",
|
|
480
|
-
className:
|
|
474
|
+
className: chunkS6A6FSG7_cjs.cn("flex flex-col space-y-1.5 p-6", className),
|
|
481
475
|
...props
|
|
482
476
|
}
|
|
483
477
|
)
|
|
@@ -489,7 +483,7 @@ var CardTitle = React__namespace.forwardRef(
|
|
|
489
483
|
{
|
|
490
484
|
ref,
|
|
491
485
|
"data-slot": "card-title",
|
|
492
|
-
className:
|
|
486
|
+
className: chunkS6A6FSG7_cjs.cn("font-semibold leading-none tracking-tight", className),
|
|
493
487
|
...props
|
|
494
488
|
}
|
|
495
489
|
)
|
|
@@ -501,14 +495,14 @@ var CardDescription = React__namespace.forwardRef(
|
|
|
501
495
|
{
|
|
502
496
|
ref,
|
|
503
497
|
"data-slot": "card-description",
|
|
504
|
-
className:
|
|
498
|
+
className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className),
|
|
505
499
|
...props
|
|
506
500
|
}
|
|
507
501
|
)
|
|
508
502
|
);
|
|
509
503
|
CardDescription.displayName = "CardDescription";
|
|
510
504
|
var CardContent = React__namespace.forwardRef(
|
|
511
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, "data-slot": "card-content", className:
|
|
505
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { ref, "data-slot": "card-content", className: chunkS6A6FSG7_cjs.cn("p-6 pt-0", className), ...props })
|
|
512
506
|
);
|
|
513
507
|
CardContent.displayName = "CardContent";
|
|
514
508
|
var CardFooter = React__namespace.forwardRef(
|
|
@@ -517,7 +511,7 @@ var CardFooter = React__namespace.forwardRef(
|
|
|
517
511
|
{
|
|
518
512
|
ref,
|
|
519
513
|
"data-slot": "card-footer",
|
|
520
|
-
className:
|
|
514
|
+
className: chunkS6A6FSG7_cjs.cn("flex items-center p-6 pt-0", className),
|
|
521
515
|
...props
|
|
522
516
|
}
|
|
523
517
|
)
|
|
@@ -860,7 +854,7 @@ var Input = React__namespace.forwardRef(
|
|
|
860
854
|
{
|
|
861
855
|
type,
|
|
862
856
|
"data-slot": "input",
|
|
863
|
-
className:
|
|
857
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
864
858
|
"flex h-9 pointer-coarse:h-11 w-full rounded-md border border-input bg-background px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground/60 focus-visible:outline-none focus-visible:border-ring/50 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
865
859
|
showDictate && "pr-9",
|
|
866
860
|
className
|
|
@@ -919,7 +913,7 @@ var Separator = React__namespace.forwardRef(({ className, orientation = "horizon
|
|
|
919
913
|
ref,
|
|
920
914
|
decorative,
|
|
921
915
|
orientation,
|
|
922
|
-
className:
|
|
916
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
923
917
|
"shrink-0 bg-border",
|
|
924
918
|
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
925
919
|
className
|
|
@@ -938,7 +932,7 @@ var Textarea = React__namespace.forwardRef(
|
|
|
938
932
|
const textarea = /* @__PURE__ */ jsxRuntime.jsx(
|
|
939
933
|
"textarea",
|
|
940
934
|
{
|
|
941
|
-
className:
|
|
935
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
942
936
|
"flex min-h-[60px] w-full rounded-md border border-input bg-background px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground/60 focus-visible:outline-none focus-visible:border-ring/50 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
943
937
|
showDictate && "pr-9",
|
|
944
938
|
className
|
|
@@ -989,7 +983,7 @@ var Progress = React__namespace.forwardRef(({ className, value, ...props }, ref)
|
|
|
989
983
|
ProgressPrimitive__namespace.Root,
|
|
990
984
|
{
|
|
991
985
|
ref,
|
|
992
|
-
className:
|
|
986
|
+
className: chunkS6A6FSG7_cjs.cn("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", className),
|
|
993
987
|
...props,
|
|
994
988
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
995
989
|
ProgressPrimitive__namespace.Indicator,
|
|
@@ -1002,7 +996,7 @@ var Progress = React__namespace.forwardRef(({ className, value, ...props }, ref)
|
|
|
1002
996
|
));
|
|
1003
997
|
Progress.displayName = ProgressPrimitive__namespace.Root.displayName;
|
|
1004
998
|
var RadioGroup = React__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
1005
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className:
|
|
999
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RadioGroupPrimitive__namespace.Root, { className: chunkS6A6FSG7_cjs.cn("grid gap-2", className), ...props, ref });
|
|
1006
1000
|
});
|
|
1007
1001
|
RadioGroup.displayName = RadioGroupPrimitive__namespace.Root.displayName;
|
|
1008
1002
|
var RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref) => {
|
|
@@ -1010,7 +1004,7 @@ var RadioGroupItem = React__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
1010
1004
|
RadioGroupPrimitive__namespace.Item,
|
|
1011
1005
|
{
|
|
1012
1006
|
ref,
|
|
1013
|
-
className:
|
|
1007
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1014
1008
|
"relative aspect-square h-4 w-4 rounded-full border border-primary text-primary after:absolute after:left-1/2 after:top-1/2 after:hidden after:size-11 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[''] pointer-coarse:after:block focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
|
|
1015
1009
|
className
|
|
1016
1010
|
),
|
|
@@ -1024,19 +1018,19 @@ var Checkbox = React__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1024
1018
|
CheckboxPrimitive__namespace.Root,
|
|
1025
1019
|
{
|
|
1026
1020
|
ref,
|
|
1027
|
-
className:
|
|
1021
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1028
1022
|
"peer relative h-4 w-4 shrink-0 rounded-sm border border-muted-foreground/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground after:absolute after:left-1/2 after:top-1/2 after:hidden after:size-11 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[''] pointer-coarse:after:block",
|
|
1029
1023
|
className
|
|
1030
1024
|
),
|
|
1031
1025
|
...props,
|
|
1032
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className:
|
|
1026
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(CheckboxPrimitive__namespace.Indicator, { className: chunkS6A6FSG7_cjs.cn("flex items-center justify-center text-current"), children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" }) })
|
|
1033
1027
|
}
|
|
1034
1028
|
));
|
|
1035
1029
|
Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
|
|
1036
1030
|
var Switch = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1037
1031
|
SwitchPrimitives__namespace.Root,
|
|
1038
1032
|
{
|
|
1039
|
-
className:
|
|
1033
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1040
1034
|
"peer relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-muted-foreground/45 after:absolute after:left-1/2 after:top-1/2 after:hidden after:size-11 after:-translate-x-1/2 after:-translate-y-1/2 after:content-[''] pointer-coarse:after:block",
|
|
1041
1035
|
className
|
|
1042
1036
|
),
|
|
@@ -1045,7 +1039,7 @@ var Switch = React__namespace.forwardRef(({ className, ...props }, ref) => /* @_
|
|
|
1045
1039
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1046
1040
|
SwitchPrimitives__namespace.Thumb,
|
|
1047
1041
|
{
|
|
1048
|
-
className:
|
|
1042
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1049
1043
|
"pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
1050
1044
|
)
|
|
1051
1045
|
}
|
|
@@ -1058,7 +1052,7 @@ var TabsList = React__namespace.forwardRef(({ className, ...props }, ref) => /*
|
|
|
1058
1052
|
TabsPrimitive__namespace.List,
|
|
1059
1053
|
{
|
|
1060
1054
|
ref,
|
|
1061
|
-
className:
|
|
1055
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1062
1056
|
"inline-flex h-9 pointer-coarse:h-auto items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",
|
|
1063
1057
|
className
|
|
1064
1058
|
),
|
|
@@ -1070,7 +1064,7 @@ var TabsTrigger = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1070
1064
|
TabsPrimitive__namespace.Trigger,
|
|
1071
1065
|
{
|
|
1072
1066
|
ref,
|
|
1073
|
-
className:
|
|
1067
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1074
1068
|
"inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm pointer-coarse:min-h-11 font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
|
|
1075
1069
|
className
|
|
1076
1070
|
),
|
|
@@ -1082,7 +1076,7 @@ var TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1082
1076
|
TabsPrimitive__namespace.Content,
|
|
1083
1077
|
{
|
|
1084
1078
|
ref,
|
|
1085
|
-
className:
|
|
1079
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1086
1080
|
"mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
1087
1081
|
className
|
|
1088
1082
|
),
|
|
@@ -1091,18 +1085,18 @@ var TabsContent = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1091
1085
|
));
|
|
1092
1086
|
TabsContent.displayName = TabsPrimitive__namespace.Content.displayName;
|
|
1093
1087
|
var Table = React__namespace.forwardRef(
|
|
1094
|
-
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx("table", { ref, className:
|
|
1088
|
+
({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsxRuntime.jsx("table", { ref, className: chunkS6A6FSG7_cjs.cn("w-full caption-bottom text-sm", className), ...props }) })
|
|
1095
1089
|
);
|
|
1096
1090
|
Table.displayName = "Table";
|
|
1097
|
-
var TableHeader = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className:
|
|
1091
|
+
var TableHeader = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("thead", { ref, className: chunkS6A6FSG7_cjs.cn("[&_tr]:border-b", className), ...props }));
|
|
1098
1092
|
TableHeader.displayName = "TableHeader";
|
|
1099
|
-
var TableBody = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("tbody", { ref, className:
|
|
1093
|
+
var TableBody = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("tbody", { ref, className: chunkS6A6FSG7_cjs.cn("[&_tr:last-child]:border-0", className), ...props }));
|
|
1100
1094
|
TableBody.displayName = "TableBody";
|
|
1101
1095
|
var TableFooter = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1102
1096
|
"tfoot",
|
|
1103
1097
|
{
|
|
1104
1098
|
ref,
|
|
1105
|
-
className:
|
|
1099
|
+
className: chunkS6A6FSG7_cjs.cn("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0", className),
|
|
1106
1100
|
...props
|
|
1107
1101
|
}
|
|
1108
1102
|
));
|
|
@@ -1112,7 +1106,7 @@ var TableRow = React__namespace.forwardRef(
|
|
|
1112
1106
|
"tr",
|
|
1113
1107
|
{
|
|
1114
1108
|
ref,
|
|
1115
|
-
className:
|
|
1109
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1116
1110
|
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
1117
1111
|
className
|
|
1118
1112
|
),
|
|
@@ -1126,7 +1120,7 @@ var TableHead = React__namespace.forwardRef(
|
|
|
1126
1120
|
"th",
|
|
1127
1121
|
{
|
|
1128
1122
|
ref,
|
|
1129
|
-
className:
|
|
1123
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1130
1124
|
"h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1131
1125
|
className
|
|
1132
1126
|
),
|
|
@@ -1140,7 +1134,7 @@ var TableCell = React__namespace.forwardRef(
|
|
|
1140
1134
|
"td",
|
|
1141
1135
|
{
|
|
1142
1136
|
ref,
|
|
1143
|
-
className:
|
|
1137
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1144
1138
|
"p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
1145
1139
|
className
|
|
1146
1140
|
),
|
|
@@ -1149,17 +1143,17 @@ var TableCell = React__namespace.forwardRef(
|
|
|
1149
1143
|
)
|
|
1150
1144
|
);
|
|
1151
1145
|
TableCell.displayName = "TableCell";
|
|
1152
|
-
var TableCaption = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("caption", { ref, className:
|
|
1146
|
+
var TableCaption = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx("caption", { ref, className: chunkS6A6FSG7_cjs.cn("mt-4 text-sm text-muted-foreground", className), ...props }));
|
|
1153
1147
|
TableCaption.displayName = "TableCaption";
|
|
1154
1148
|
var Slider = React__namespace.forwardRef(
|
|
1155
1149
|
({ className, rangeClassName, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1156
1150
|
SliderPrimitive__namespace.Root,
|
|
1157
1151
|
{
|
|
1158
1152
|
ref,
|
|
1159
|
-
className:
|
|
1153
|
+
className: chunkS6A6FSG7_cjs.cn("relative flex w-full touch-none select-none items-center", className),
|
|
1160
1154
|
...props,
|
|
1161
1155
|
children: [
|
|
1162
|
-
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className:
|
|
1156
|
+
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Range, { className: chunkS6A6FSG7_cjs.cn("absolute h-full bg-primary", rangeClassName) }) }),
|
|
1163
1157
|
/* @__PURE__ */ jsxRuntime.jsx(SliderPrimitive__namespace.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
|
|
1164
1158
|
]
|
|
1165
1159
|
}
|
|
@@ -1190,7 +1184,7 @@ var Toggle = React__namespace.forwardRef(({ className, variant, size, ...props }
|
|
|
1190
1184
|
TogglePrimitive__namespace.Root,
|
|
1191
1185
|
{
|
|
1192
1186
|
ref,
|
|
1193
|
-
className:
|
|
1187
|
+
className: chunkS6A6FSG7_cjs.cn(toggleVariants({ variant, size, className })),
|
|
1194
1188
|
...props
|
|
1195
1189
|
}
|
|
1196
1190
|
));
|
|
@@ -1203,7 +1197,7 @@ var ToggleGroup = React__namespace.forwardRef(({ className, variant, size, child
|
|
|
1203
1197
|
ToggleGroupPrimitive__namespace.Root,
|
|
1204
1198
|
{
|
|
1205
1199
|
ref,
|
|
1206
|
-
className:
|
|
1200
|
+
className: chunkS6A6FSG7_cjs.cn("flex items-center justify-center gap-1", className),
|
|
1207
1201
|
...props,
|
|
1208
1202
|
children: /* @__PURE__ */ jsxRuntime.jsx(ToggleGroupContext.Provider, { value: { variant, size }, children })
|
|
1209
1203
|
}
|
|
@@ -1215,7 +1209,7 @@ var ToggleGroupItem = React__namespace.forwardRef(({ className, children, varian
|
|
|
1215
1209
|
ToggleGroupPrimitive__namespace.Item,
|
|
1216
1210
|
{
|
|
1217
1211
|
ref,
|
|
1218
|
-
className:
|
|
1212
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1219
1213
|
toggleVariants({
|
|
1220
1214
|
variant: context.variant || variant,
|
|
1221
1215
|
size: context.size || size
|
|
@@ -1243,7 +1237,7 @@ var DialogOverlay = React__namespace.forwardRef(({ className, ...props }, ref) =
|
|
|
1243
1237
|
DialogPrimitive__namespace.Overlay,
|
|
1244
1238
|
{
|
|
1245
1239
|
ref,
|
|
1246
|
-
className:
|
|
1240
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1247
1241
|
"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
1248
1242
|
className
|
|
1249
1243
|
),
|
|
@@ -1269,10 +1263,10 @@ var DialogContent = React__namespace.forwardRef(
|
|
|
1269
1263
|
if (isToastInteraction(event)) event.preventDefault();
|
|
1270
1264
|
onInteractOutside?.(event);
|
|
1271
1265
|
},
|
|
1272
|
-
className:
|
|
1266
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1273
1267
|
// Always inside the viewport: width and height are capped by the DYNAMIC viewport (mobile
|
|
1274
1268
|
// browser chrome) and the notch / home-indicator insets; the content scrolls inside.
|
|
1275
|
-
"fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-2rem-env(safe-area-inset-left,0px)-env(safe-area-inset-right,0px))] max-w-lg max-h-[calc(min(100dvh,100svh,100vh)-2rem-env(safe-area-inset-top,0px)-env(safe-area-inset-bottom,0px))] translate-x-[-50%] translate-y-[-50%] will-change-transform grid-cols-[minmax(0,1fr)] gap-4 overflow-x-hidden overflow-y-auto overscroll-contain border bg-background p-6 shadow-xl duration-200 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 rounded-md",
|
|
1269
|
+
"fixed left-[50%] top-[50%] z-50 grid w-[calc(100%-2rem-env(safe-area-inset-left,0px)-env(safe-area-inset-right,0px))] max-w-lg max-h-[calc(min(100dvh,100svh,100vh)-2rem-env(safe-area-inset-top,0px)-env(safe-area-inset-bottom,0px))] translate-x-[-50%] translate-y-[-50%] will-change-transform grid-cols-[minmax(0,1fr)] gap-4 overflow-x-hidden overflow-y-auto overscroll-contain scrollbar-themed border bg-background p-6 shadow-xl duration-200 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 rounded-md",
|
|
1276
1270
|
PHONE_PRESENTATION[presentation],
|
|
1277
1271
|
className
|
|
1278
1272
|
),
|
|
@@ -1296,12 +1290,12 @@ var DialogContent = React__namespace.forwardRef(
|
|
|
1296
1290
|
] })
|
|
1297
1291
|
);
|
|
1298
1292
|
DialogContent.displayName = DialogPrimitive__namespace.Content.displayName;
|
|
1299
|
-
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1293
|
+
var DialogHeader = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("flex min-w-0 flex-col space-y-1.5 pr-8 text-left", className), ...props });
|
|
1300
1294
|
DialogHeader.displayName = "DialogHeader";
|
|
1301
1295
|
var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1302
1296
|
"div",
|
|
1303
1297
|
{
|
|
1304
|
-
className:
|
|
1298
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1305
1299
|
// Sticks to the bottom of a scrolling dialog so the actions stay reachable.
|
|
1306
1300
|
"sticky bottom-0 z-10 -mx-6 -mb-6 flex flex-col-reverse gap-2 bg-background px-6 pb-6 pt-3 sm:flex-row sm:justify-end",
|
|
1307
1301
|
className
|
|
@@ -1314,7 +1308,7 @@ var DialogTitle = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1314
1308
|
DialogPrimitive__namespace.Title,
|
|
1315
1309
|
{
|
|
1316
1310
|
ref,
|
|
1317
|
-
className:
|
|
1311
|
+
className: chunkS6A6FSG7_cjs.cn("break-words text-lg font-semibold leading-tight tracking-tight", className),
|
|
1318
1312
|
...props
|
|
1319
1313
|
}
|
|
1320
1314
|
));
|
|
@@ -1323,7 +1317,7 @@ var DialogDescription = React__namespace.forwardRef(({ className, ...props }, re
|
|
|
1323
1317
|
DialogPrimitive__namespace.Description,
|
|
1324
1318
|
{
|
|
1325
1319
|
ref,
|
|
1326
|
-
className:
|
|
1320
|
+
className: chunkS6A6FSG7_cjs.cn("text-sm text-muted-foreground", className),
|
|
1327
1321
|
...props
|
|
1328
1322
|
}
|
|
1329
1323
|
));
|
|
@@ -1337,8 +1331,8 @@ var PopoverContent = React__namespace.forwardRef(({ className, align = "center",
|
|
|
1337
1331
|
ref,
|
|
1338
1332
|
align,
|
|
1339
1333
|
sideOffset,
|
|
1340
|
-
collisionPadding:
|
|
1341
|
-
className:
|
|
1334
|
+
collisionPadding: chunkOBNTJEEO_cjs.getCollisionPadding(),
|
|
1335
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1342
1336
|
"z-50 w-72 max-w-[calc(100vw-1rem)] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-md border bg-popover p-4 text-popover-foreground shadow-lg outline-none 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 origin-[--radix-popover-content-transform-origin]",
|
|
1343
1337
|
className
|
|
1344
1338
|
),
|
|
@@ -1568,7 +1562,7 @@ function MarkMenu({
|
|
|
1568
1562
|
children: [
|
|
1569
1563
|
preview && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-1.5 text-sm", children: preview }),
|
|
1570
1564
|
ordered.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { role: "menu", "aria-label": menuLabel, onKeyDown: handleMenuKeyDown, children: ordered.map((item) => {
|
|
1571
|
-
const rowClass =
|
|
1565
|
+
const rowClass = chunkS6A6FSG7_cjs.cn(
|
|
1572
1566
|
"flex w-full cursor-pointer items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent focus-visible:bg-accent pointer-coarse:min-h-11 pointer-coarse:px-3",
|
|
1573
1567
|
item.primary && "font-medium pointer-coarse:text-base",
|
|
1574
1568
|
item.destructive && "text-destructive"
|
|
@@ -1611,7 +1605,7 @@ var SelectTrigger = React__namespace.forwardRef(({ className, children, ...props
|
|
|
1611
1605
|
SelectPrimitive__namespace.Trigger,
|
|
1612
1606
|
{
|
|
1613
1607
|
ref,
|
|
1614
|
-
className:
|
|
1608
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1615
1609
|
"flex h-9 pointer-coarse:min-h-11 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground/60 focus:outline-none focus-visible:border-ring/50 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
|
|
1616
1610
|
className
|
|
1617
1611
|
),
|
|
@@ -1627,7 +1621,7 @@ var SelectScrollUpButton = React__namespace.forwardRef(({ className, ...props },
|
|
|
1627
1621
|
SelectPrimitive__namespace.ScrollUpButton,
|
|
1628
1622
|
{
|
|
1629
1623
|
ref,
|
|
1630
|
-
className:
|
|
1624
|
+
className: chunkS6A6FSG7_cjs.cn("flex cursor-default items-center justify-center py-1", className),
|
|
1631
1625
|
...props,
|
|
1632
1626
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronUp, { className: "h-4 w-4" })
|
|
1633
1627
|
}
|
|
@@ -1637,7 +1631,7 @@ var SelectScrollDownButton = React__namespace.forwardRef(({ className, ...props
|
|
|
1637
1631
|
SelectPrimitive__namespace.ScrollDownButton,
|
|
1638
1632
|
{
|
|
1639
1633
|
ref,
|
|
1640
|
-
className:
|
|
1634
|
+
className: chunkS6A6FSG7_cjs.cn("flex cursor-default items-center justify-center py-1", className),
|
|
1641
1635
|
...props,
|
|
1642
1636
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "h-4 w-4" })
|
|
1643
1637
|
}
|
|
@@ -1647,20 +1641,20 @@ var SelectContent = React__namespace.forwardRef(({ className, children, position
|
|
|
1647
1641
|
SelectPrimitive__namespace.Content,
|
|
1648
1642
|
{
|
|
1649
1643
|
ref,
|
|
1650
|
-
className:
|
|
1644
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1651
1645
|
"relative z-50 max-h-[min(24rem,var(--radix-select-content-available-height))] min-w-[8rem] max-w-[calc(100vw-1rem)] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg 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",
|
|
1652
1646
|
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",
|
|
1653
1647
|
className
|
|
1654
1648
|
),
|
|
1655
1649
|
position,
|
|
1656
|
-
collisionPadding:
|
|
1650
|
+
collisionPadding: chunkOBNTJEEO_cjs.getCollisionPadding(),
|
|
1657
1651
|
...props,
|
|
1658
1652
|
children: [
|
|
1659
1653
|
/* @__PURE__ */ jsxRuntime.jsx(SelectScrollUpButton, {}),
|
|
1660
1654
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1661
1655
|
SelectPrimitive__namespace.Viewport,
|
|
1662
1656
|
{
|
|
1663
|
-
className:
|
|
1657
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1664
1658
|
"p-1",
|
|
1665
1659
|
position === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
|
|
1666
1660
|
),
|
|
@@ -1676,7 +1670,7 @@ var SelectLabel = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1676
1670
|
SelectPrimitive__namespace.Label,
|
|
1677
1671
|
{
|
|
1678
1672
|
ref,
|
|
1679
|
-
className:
|
|
1673
|
+
className: chunkS6A6FSG7_cjs.cn("py-1.5 pl-8 pr-2 text-sm font-semibold", className),
|
|
1680
1674
|
...props
|
|
1681
1675
|
}
|
|
1682
1676
|
));
|
|
@@ -1685,7 +1679,7 @@ var SelectItem = React__namespace.forwardRef(({ className, children, ...props },
|
|
|
1685
1679
|
SelectPrimitive__namespace.Item,
|
|
1686
1680
|
{
|
|
1687
1681
|
ref,
|
|
1688
|
-
className:
|
|
1682
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1689
1683
|
"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 pointer-coarse:min-h-11 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
|
|
1690
1684
|
className
|
|
1691
1685
|
),
|
|
@@ -1701,7 +1695,7 @@ var SelectSeparator = React__namespace.forwardRef(({ className, ...props }, ref)
|
|
|
1701
1695
|
SelectPrimitive__namespace.Separator,
|
|
1702
1696
|
{
|
|
1703
1697
|
ref,
|
|
1704
|
-
className:
|
|
1698
|
+
className: chunkS6A6FSG7_cjs.cn("-mx-1 my-1 h-px bg-muted", className),
|
|
1705
1699
|
...props
|
|
1706
1700
|
}
|
|
1707
1701
|
));
|
|
@@ -1710,7 +1704,7 @@ var Command = React__namespace.forwardRef(({ className, ...props }, ref) => /* @
|
|
|
1710
1704
|
cmdk.Command,
|
|
1711
1705
|
{
|
|
1712
1706
|
ref,
|
|
1713
|
-
className:
|
|
1707
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1714
1708
|
"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",
|
|
1715
1709
|
className
|
|
1716
1710
|
),
|
|
@@ -1727,7 +1721,7 @@ var CommandInput = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1727
1721
|
cmdk.Command.Input,
|
|
1728
1722
|
{
|
|
1729
1723
|
ref,
|
|
1730
|
-
className:
|
|
1724
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1731
1725
|
"flex h-10 pointer-coarse:h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
|
|
1732
1726
|
className
|
|
1733
1727
|
),
|
|
@@ -1740,7 +1734,7 @@ var CommandList = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1740
1734
|
cmdk.Command.List,
|
|
1741
1735
|
{
|
|
1742
1736
|
ref,
|
|
1743
|
-
className:
|
|
1737
|
+
className: chunkS6A6FSG7_cjs.cn("max-h-[min(300px,50dvh)] overflow-y-auto overflow-x-hidden", className),
|
|
1744
1738
|
...props
|
|
1745
1739
|
}
|
|
1746
1740
|
));
|
|
@@ -1751,7 +1745,7 @@ var CommandGroup = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1751
1745
|
cmdk.Command.Group,
|
|
1752
1746
|
{
|
|
1753
1747
|
ref,
|
|
1754
|
-
className:
|
|
1748
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1755
1749
|
"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-sm [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
|
|
1756
1750
|
className
|
|
1757
1751
|
),
|
|
@@ -1763,7 +1757,7 @@ var CommandSeparator = React__namespace.forwardRef(({ className, ...props }, ref
|
|
|
1763
1757
|
cmdk.Command.Separator,
|
|
1764
1758
|
{
|
|
1765
1759
|
ref,
|
|
1766
|
-
className:
|
|
1760
|
+
className: chunkS6A6FSG7_cjs.cn("-mx-1 h-px bg-border", className),
|
|
1767
1761
|
...props
|
|
1768
1762
|
}
|
|
1769
1763
|
));
|
|
@@ -1772,7 +1766,7 @@ var CommandItem = React__namespace.forwardRef(({ className, ...props }, ref) =>
|
|
|
1772
1766
|
cmdk.Command.Item,
|
|
1773
1767
|
{
|
|
1774
1768
|
ref,
|
|
1775
|
-
className:
|
|
1769
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
1776
1770
|
"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 pointer-coarse:min-h-11 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
|
|
1777
1771
|
className
|
|
1778
1772
|
),
|
|
@@ -1784,305 +1778,12 @@ var CommandShortcut = ({ className, ...props }) => {
|
|
|
1784
1778
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1785
1779
|
"span",
|
|
1786
1780
|
{
|
|
1787
|
-
className:
|
|
1781
|
+
className: chunkS6A6FSG7_cjs.cn("ml-auto text-sm tracking-widest text-muted-foreground", className),
|
|
1788
1782
|
...props
|
|
1789
1783
|
}
|
|
1790
1784
|
);
|
|
1791
1785
|
};
|
|
1792
1786
|
CommandShortcut.displayName = "CommandShortcut";
|
|
1793
|
-
var markdownBaseComponents = {
|
|
1794
|
-
h1: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "text-lg font-semibold", "data-testid": "markdown-heading-1", ...props, children }),
|
|
1795
|
-
h2: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "font-semibold text-base", "data-testid": "markdown-heading-2", ...props, children }),
|
|
1796
|
-
h3: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "font-semibold text-base", "data-testid": "markdown-heading-3", ...props, children }),
|
|
1797
|
-
h4: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "font-semibold text-base", ...props, children }),
|
|
1798
|
-
h5: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("h5", { className: "font-medium", ...props, children }),
|
|
1799
|
-
strong: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "font-semibold", ...props, children }),
|
|
1800
|
-
blockquote: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("blockquote", { className: "border-l-2 border-primary pl-4", ...props, children }),
|
|
1801
|
-
ol: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("ol", { className: "list-decimal space-y-2 pl-6", "data-testid": "markdown-ordered-list", ...props, children }),
|
|
1802
|
-
ul: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-none space-y-2 pl-6", "data-testid": "markdown-unordered-list", ...props, children }),
|
|
1803
|
-
li: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("li", { className: "my-1.5", ...props, children }),
|
|
1804
|
-
table: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("table", { "data-testid": "markdown-table", ...props, children }),
|
|
1805
|
-
th: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("th", { ...props, children }),
|
|
1806
|
-
td: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("td", { ...props, children }),
|
|
1807
|
-
tr: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("tr", { ...props, children }),
|
|
1808
|
-
p: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("p", { className: "whitespace-pre-wrap", ...props, children }),
|
|
1809
|
-
hr: (props) => /* @__PURE__ */ jsxRuntime.jsx("hr", { className: "border-foreground/20", ...props }),
|
|
1810
|
-
sup: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("sup", { className: "text-xs", ...props, children }),
|
|
1811
|
-
sub: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("sub", { className: "text-xs", ...props, children }),
|
|
1812
|
-
div: ({ children, className, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className, ...props, children }),
|
|
1813
|
-
br: (props) => /* @__PURE__ */ jsxRuntime.jsx("br", { ...props }),
|
|
1814
|
-
kbd: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1815
|
-
"kbd",
|
|
1816
|
-
{
|
|
1817
|
-
className: "px-1.5 py-0.5 text-xs font-mono bg-muted border border-border rounded",
|
|
1818
|
-
...props,
|
|
1819
|
-
children
|
|
1820
|
-
}
|
|
1821
|
-
),
|
|
1822
|
-
abbr: ({ children, title, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("abbr", { title, className: "underline decoration-dotted cursor-help", ...props, children }),
|
|
1823
|
-
cite: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("cite", { className: "italic", ...props, children })
|
|
1824
|
-
};
|
|
1825
|
-
var MarkdownStreamingContext = React.createContext(false);
|
|
1826
|
-
|
|
1827
|
-
// src/ai/split-markdown-blocks.ts
|
|
1828
|
-
var LIST_ITEM_RE = /^\s*([-*+]|\d+[.)])\s/;
|
|
1829
|
-
var BLOCKQUOTE_RE = /^\s*>/;
|
|
1830
|
-
function splitMarkdownBlocks(content) {
|
|
1831
|
-
if (!content) return [];
|
|
1832
|
-
const blocks = [];
|
|
1833
|
-
let start = 0;
|
|
1834
|
-
let inFence = false;
|
|
1835
|
-
let i = 0;
|
|
1836
|
-
while (i < content.length) {
|
|
1837
|
-
if (content.startsWith("```", i)) {
|
|
1838
|
-
inFence = !inFence;
|
|
1839
|
-
i += 3;
|
|
1840
|
-
continue;
|
|
1841
|
-
}
|
|
1842
|
-
if (!inFence && content[i] === "\n" && content[i + 1] === "\n") {
|
|
1843
|
-
const before = content.slice(start, i);
|
|
1844
|
-
const lastLine = before.slice(before.lastIndexOf("\n") + 1);
|
|
1845
|
-
const afterStart = i + 2;
|
|
1846
|
-
const nextNewline = content.indexOf("\n", afterStart);
|
|
1847
|
-
const nextLine = content.slice(afterStart, nextNewline === -1 ? void 0 : nextNewline);
|
|
1848
|
-
const bothListItems = LIST_ITEM_RE.test(lastLine) && LIST_ITEM_RE.test(nextLine);
|
|
1849
|
-
const bothBlockquotes = BLOCKQUOTE_RE.test(lastLine) && BLOCKQUOTE_RE.test(nextLine);
|
|
1850
|
-
if (bothListItems || bothBlockquotes) {
|
|
1851
|
-
i += 2;
|
|
1852
|
-
continue;
|
|
1853
|
-
}
|
|
1854
|
-
blocks.push(content.slice(start, afterStart));
|
|
1855
|
-
start = afterStart;
|
|
1856
|
-
i = afterStart;
|
|
1857
|
-
continue;
|
|
1858
|
-
}
|
|
1859
|
-
i++;
|
|
1860
|
-
}
|
|
1861
|
-
if (start < content.length) blocks.push(content.slice(start));
|
|
1862
|
-
return blocks;
|
|
1863
|
-
}
|
|
1864
|
-
|
|
1865
|
-
// src/ai/normalize-citations.ts
|
|
1866
|
-
var CITE_LINK = /\[([^\]\n]+)\]\((#cite-[\w-]+)\)/g;
|
|
1867
|
-
var BLOCK_MARKER = /^(?:[-*+]|\d{1,9}[.)]|#{1,6})[ \t]+/;
|
|
1868
|
-
var LEADING_EMPHASIS = /^(?:\*\*|__|\*|_)+/;
|
|
1869
|
-
var TRAILING_EMPHASIS = /(\*\*|__|\*|_)(:?)$/;
|
|
1870
|
-
function countToken(text, token) {
|
|
1871
|
-
const double = token + token;
|
|
1872
|
-
if (token.length === 2) return text.split(token).length - 1;
|
|
1873
|
-
const withoutDouble = text.split(double).join("");
|
|
1874
|
-
return withoutDouble.split(token).length - 1;
|
|
1875
|
-
}
|
|
1876
|
-
function emphasisTokens(run) {
|
|
1877
|
-
const char = run[0];
|
|
1878
|
-
const tokens = [];
|
|
1879
|
-
let rest = run;
|
|
1880
|
-
while (rest.length > 0) {
|
|
1881
|
-
const size = rest.length >= 2 ? 2 : 1;
|
|
1882
|
-
tokens.push(char.repeat(size));
|
|
1883
|
-
rest = rest.slice(size);
|
|
1884
|
-
}
|
|
1885
|
-
return tokens;
|
|
1886
|
-
}
|
|
1887
|
-
function hoistFromLink(text, before, after) {
|
|
1888
|
-
let body = text;
|
|
1889
|
-
let prefix = "";
|
|
1890
|
-
let suffix = "";
|
|
1891
|
-
if (before.trim() === "") {
|
|
1892
|
-
const marker = BLOCK_MARKER.exec(body);
|
|
1893
|
-
if (marker) {
|
|
1894
|
-
prefix += marker[0];
|
|
1895
|
-
body = body.slice(marker[0].length);
|
|
1896
|
-
}
|
|
1897
|
-
}
|
|
1898
|
-
const leading = LEADING_EMPHASIS.exec(body);
|
|
1899
|
-
if (leading) {
|
|
1900
|
-
let kept = "";
|
|
1901
|
-
let rest = body.slice(leading[0].length);
|
|
1902
|
-
for (const token of emphasisTokens(leading[0]).reverse()) {
|
|
1903
|
-
if (countToken(rest, token) % 2 === 1) {
|
|
1904
|
-
kept = token + kept;
|
|
1905
|
-
continue;
|
|
1906
|
-
}
|
|
1907
|
-
if (countToken(after, token) % 2 === 1) prefix += token;
|
|
1908
|
-
else kept = token + kept;
|
|
1909
|
-
}
|
|
1910
|
-
body = kept + rest;
|
|
1911
|
-
rest = "";
|
|
1912
|
-
}
|
|
1913
|
-
const trailing = TRAILING_EMPHASIS.exec(body);
|
|
1914
|
-
if (trailing) {
|
|
1915
|
-
const token = trailing[1];
|
|
1916
|
-
const inner = body.slice(0, body.length - trailing[0].length);
|
|
1917
|
-
const openedBefore = countToken(before + prefix, token) % 2 === 1;
|
|
1918
|
-
if (countToken(inner, token) % 2 === 0 && openedBefore) {
|
|
1919
|
-
body = inner;
|
|
1920
|
-
suffix = trailing[0];
|
|
1921
|
-
}
|
|
1922
|
-
}
|
|
1923
|
-
return [prefix, body, suffix];
|
|
1924
|
-
}
|
|
1925
|
-
function normalizeLine(line) {
|
|
1926
|
-
if (!line.includes("](#cite-")) return line;
|
|
1927
|
-
return line.replace(CITE_LINK, (match, text, href, offset) => {
|
|
1928
|
-
const before = line.slice(0, offset);
|
|
1929
|
-
const after = line.slice(offset + match.length);
|
|
1930
|
-
const [prefix, body, suffix] = hoistFromLink(text, before, after);
|
|
1931
|
-
if (!prefix && !suffix && body === text) return match;
|
|
1932
|
-
return `${prefix}[${body}](${href})${suffix}`;
|
|
1933
|
-
});
|
|
1934
|
-
}
|
|
1935
|
-
function normalizeCitationMarkup(markdown) {
|
|
1936
|
-
if (!markdown.includes("](#cite-")) return markdown;
|
|
1937
|
-
let inFence = false;
|
|
1938
|
-
return markdown.split("\n").map((line) => {
|
|
1939
|
-
if (/^\s*(```|~~~)/.test(line)) {
|
|
1940
|
-
inFence = !inFence;
|
|
1941
|
-
return line;
|
|
1942
|
-
}
|
|
1943
|
-
return inFence ? line : normalizeLine(line);
|
|
1944
|
-
}).join("\n");
|
|
1945
|
-
}
|
|
1946
|
-
function CodeBlock({ language, code }) {
|
|
1947
|
-
const [copied, setCopied] = React.useState(false);
|
|
1948
|
-
const handleCopy = async () => {
|
|
1949
|
-
try {
|
|
1950
|
-
await navigator.clipboard.writeText(code);
|
|
1951
|
-
setCopied(true);
|
|
1952
|
-
setTimeout(() => setCopied(false), 2e3);
|
|
1953
|
-
} catch {
|
|
1954
|
-
}
|
|
1955
|
-
};
|
|
1956
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1957
|
-
"div",
|
|
1958
|
-
{
|
|
1959
|
-
className: "code-block relative my-3 overflow-hidden rounded-md border border-current/20 bg-current/5",
|
|
1960
|
-
"data-testid": "markdown-code-block",
|
|
1961
|
-
children: [
|
|
1962
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between border-b border-current/20 px-3 py-1.5", children: [
|
|
1963
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-xs text-muted-foreground", children: language || "code" }),
|
|
1964
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1965
|
-
"button",
|
|
1966
|
-
{
|
|
1967
|
-
type: "button",
|
|
1968
|
-
onClick: handleCopy,
|
|
1969
|
-
className: "flex items-center gap-1 text-xs text-muted-foreground transition-colors hover:text-foreground",
|
|
1970
|
-
title: copied ? "Copied!" : "Copy code",
|
|
1971
|
-
children: [
|
|
1972
|
-
copied ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { size: 12 }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, { size: 12 }),
|
|
1973
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: copied ? "Copied" : "Copy" })
|
|
1974
|
-
]
|
|
1975
|
-
}
|
|
1976
|
-
)
|
|
1977
|
-
] }),
|
|
1978
|
-
/* @__PURE__ */ jsxRuntime.jsx("pre", { className: "overflow-x-auto p-3 text-sm leading-relaxed", children: /* @__PURE__ */ jsxRuntime.jsx("code", { className: chunkRZQACYNQ_cjs.cn("font-mono", language && `language-${language}`), children: code }) })
|
|
1979
|
-
]
|
|
1980
|
-
}
|
|
1981
|
-
);
|
|
1982
|
-
}
|
|
1983
|
-
var defaultComponents = {
|
|
1984
|
-
...markdownBaseComponents,
|
|
1985
|
-
a: ({ href, children, ...props }) => {
|
|
1986
|
-
if (href?.startsWith("#cite-")) {
|
|
1987
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1988
|
-
"span",
|
|
1989
|
-
{
|
|
1990
|
-
className: "cited-text underline decoration-dotted underline-offset-4",
|
|
1991
|
-
"data-cite": href.slice(6),
|
|
1992
|
-
children
|
|
1993
|
-
}
|
|
1994
|
-
);
|
|
1995
|
-
}
|
|
1996
|
-
const isInternal = !href || href.startsWith("#") || href.startsWith("cite:");
|
|
1997
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1998
|
-
"a",
|
|
1999
|
-
{
|
|
2000
|
-
className: "text-primary underline underline-offset-2",
|
|
2001
|
-
href,
|
|
2002
|
-
...isInternal ? {} : { target: "_blank", rel: "noopener noreferrer" },
|
|
2003
|
-
...props,
|
|
2004
|
-
children
|
|
2005
|
-
}
|
|
2006
|
-
);
|
|
2007
|
-
},
|
|
2008
|
-
em: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("em", { className: "italic", ...props, children }),
|
|
2009
|
-
code: function MarkdownCode({
|
|
2010
|
-
className,
|
|
2011
|
-
children,
|
|
2012
|
-
...props
|
|
2013
|
-
}) {
|
|
2014
|
-
const match = /language-(\w+)/.exec(className || "");
|
|
2015
|
-
if (!match) {
|
|
2016
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2017
|
-
"code",
|
|
2018
|
-
{
|
|
2019
|
-
className: "rounded bg-current/10 px-1 py-0.5 font-mono text-[0.9em]",
|
|
2020
|
-
"data-testid": "markdown-inline-code",
|
|
2021
|
-
...props,
|
|
2022
|
-
children
|
|
2023
|
-
}
|
|
2024
|
-
);
|
|
2025
|
-
}
|
|
2026
|
-
return /* @__PURE__ */ jsxRuntime.jsx(CodeBlock, { language: match[1], code: String(children).replace(/\n$/, "") });
|
|
2027
|
-
},
|
|
2028
|
-
// The CodeBlock renders its own <pre>; unwrap react-markdown's wrapper so we
|
|
2029
|
-
// don't nest <pre><pre>.
|
|
2030
|
-
pre: ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children }),
|
|
2031
|
-
blockquote: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("blockquote", { className: "border-l-2 border-border pl-4 italic text-muted-foreground", ...props, children }),
|
|
2032
|
-
table: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "my-3 overflow-x-auto rounded-lg border border-border", children: /* @__PURE__ */ jsxRuntime.jsx("table", { "data-testid": "markdown-table", className: "w-full border-collapse text-sm", ...props, children }) }),
|
|
2033
|
-
thead: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-current/10", ...props, children }),
|
|
2034
|
-
th: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "border-b border-border px-3 py-2 text-left font-semibold", ...props, children }),
|
|
2035
|
-
td: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "border-b border-border px-3 py-2 align-top", ...props, children }),
|
|
2036
|
-
// General emphasis marks (GFM `~~strikethrough~~` → <del>, raw <ins>/<mark>).
|
|
2037
|
-
del: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("del", { className: "text-muted-foreground line-through", ...props, children }),
|
|
2038
|
-
ins: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("ins", { className: "underline decoration-primary/60", ...props, children }),
|
|
2039
|
-
mark: ({ children, ...props }) => /* @__PURE__ */ jsxRuntime.jsx("mark", { className: "rounded bg-primary/15 px-0.5 text-inherit", ...props, children })
|
|
2040
|
-
};
|
|
2041
|
-
var remarkPlugins = [remarkGfm__default.default];
|
|
2042
|
-
var rehypePlugins = [rehypeRaw__default.default];
|
|
2043
|
-
var MemoizedBlock = React__namespace.default.memo(function MarkdownBlock({
|
|
2044
|
-
content,
|
|
2045
|
-
components
|
|
2046
|
-
}) {
|
|
2047
|
-
return /* @__PURE__ */ jsxRuntime.jsx(Markdown__default.default, { remarkPlugins, rehypePlugins, components, children: content });
|
|
2048
|
-
});
|
|
2049
|
-
var MarkdownErrorBoundary = class extends React__namespace.default.Component {
|
|
2050
|
-
state = { hasError: false };
|
|
2051
|
-
static getDerivedStateFromError() {
|
|
2052
|
-
return { hasError: true };
|
|
2053
|
-
}
|
|
2054
|
-
render() {
|
|
2055
|
-
return this.state.hasError ? this.props.fallback : this.props.children;
|
|
2056
|
-
}
|
|
2057
|
-
};
|
|
2058
|
-
function MarkdownRendererComponent({
|
|
2059
|
-
children,
|
|
2060
|
-
components: customComponents,
|
|
2061
|
-
isStreaming = false,
|
|
2062
|
-
className,
|
|
2063
|
-
testId = "markdown-renderer"
|
|
2064
|
-
}) {
|
|
2065
|
-
const components = React.useMemo(
|
|
2066
|
-
() => customComponents ? { ...defaultComponents, ...customComponents } : defaultComponents,
|
|
2067
|
-
[customComponents]
|
|
2068
|
-
);
|
|
2069
|
-
const blocks = React.useMemo(() => splitMarkdownBlocks(normalizeCitationMarkup(children)), [children]);
|
|
2070
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2071
|
-
MarkdownErrorBoundary,
|
|
2072
|
-
{
|
|
2073
|
-
fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRZQACYNQ_cjs.cn("whitespace-pre-wrap break-words", className), children }),
|
|
2074
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(MarkdownStreamingContext.Provider, { value: isStreaming, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
2075
|
-
"div",
|
|
2076
|
-
{
|
|
2077
|
-
className: chunkRZQACYNQ_cjs.cn("markdown-content space-y-3 break-words leading-relaxed", className),
|
|
2078
|
-
"data-testid": testId,
|
|
2079
|
-
children: blocks.map((block, index) => /* @__PURE__ */ jsxRuntime.jsx(MemoizedBlock, { content: block, components }, index))
|
|
2080
|
-
}
|
|
2081
|
-
) })
|
|
2082
|
-
}
|
|
2083
|
-
);
|
|
2084
|
-
}
|
|
2085
|
-
var MarkdownRenderer = React__namespace.default.memo(MarkdownRendererComponent);
|
|
2086
1787
|
var AI_COMPONENTS = {
|
|
2087
1788
|
a: (p) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
2088
1789
|
"a",
|
|
@@ -2105,7 +1806,7 @@ function AiMarkdown({
|
|
|
2105
1806
|
isStreaming
|
|
2106
1807
|
}) {
|
|
2107
1808
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2108
|
-
MarkdownRenderer,
|
|
1809
|
+
chunkOI55JRKT_cjs.MarkdownRenderer,
|
|
2109
1810
|
{
|
|
2110
1811
|
className: className ?? "text-sm",
|
|
2111
1812
|
components: AI_COMPONENTS,
|
|
@@ -2139,7 +1840,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2139
1840
|
const shapeClass = shape === "pill" ? "rounded-full" : "rounded-md";
|
|
2140
1841
|
const sizeClasses2 = size === "base" ? "gap-1.5 px-1.5 py-0.5" : "gap-1 px-1";
|
|
2141
1842
|
const textSizeClass = size === "base" ? "text-base" : "text-sm";
|
|
2142
|
-
const baseClasses =
|
|
1843
|
+
const baseClasses = chunkS6A6FSG7_cjs.cn(
|
|
2143
1844
|
"group/pill items-center",
|
|
2144
1845
|
fullWidth ? "flex w-full" : "inline-flex",
|
|
2145
1846
|
sizeClasses2,
|
|
@@ -2169,7 +1870,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2169
1870
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2170
1871
|
"span",
|
|
2171
1872
|
{
|
|
2172
|
-
className:
|
|
1873
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2173
1874
|
textSizeClass,
|
|
2174
1875
|
"font-medium truncate leading-tight min-w-0",
|
|
2175
1876
|
labelMaxWidth,
|
|
@@ -2192,8 +1893,8 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2192
1893
|
),
|
|
2193
1894
|
/* @__PURE__ */ jsxRuntime.jsx(TooltipContent, { side, className: "p-2", children: tip })
|
|
2194
1895
|
] });
|
|
2195
|
-
const mainAreaClass =
|
|
2196
|
-
const mainAreaTouchClass =
|
|
1896
|
+
const mainAreaClass = chunkS6A6FSG7_cjs.cn("inline-flex items-center gap-1", fullWidth && "min-w-0 flex-1");
|
|
1897
|
+
const mainAreaTouchClass = chunkS6A6FSG7_cjs.cn(
|
|
2197
1898
|
mainAreaClass,
|
|
2198
1899
|
(onClick || href) && !disabled && "relative pointer-coarse:after:absolute pointer-coarse:after:inset-x-0 pointer-coarse:after:-inset-y-3 pointer-coarse:after:content-['']"
|
|
2199
1900
|
);
|
|
@@ -2204,7 +1905,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2204
1905
|
mainContent,
|
|
2205
1906
|
tooltipContent,
|
|
2206
1907
|
tooltipSide,
|
|
2207
|
-
|
|
1908
|
+
chunkS6A6FSG7_cjs.cn(mainAreaTouchClass, disabled && "opacity-60"),
|
|
2208
1909
|
{
|
|
2209
1910
|
type: "button",
|
|
2210
1911
|
onClick: href ? onClick : disabled ? void 0 : onClick,
|
|
@@ -2230,7 +1931,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2230
1931
|
type: "button",
|
|
2231
1932
|
onClick: disabled ? void 0 : onClick,
|
|
2232
1933
|
disabled,
|
|
2233
|
-
className:
|
|
1934
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2234
1935
|
"relative inline-flex items-center gap-1 pointer-coarse:after:absolute pointer-coarse:after:inset-x-0 pointer-coarse:after:-inset-y-3 pointer-coarse:after:content-['']",
|
|
2235
1936
|
disabled && "opacity-60"
|
|
2236
1937
|
),
|
|
@@ -2257,7 +1958,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2257
1958
|
"span",
|
|
2258
1959
|
{
|
|
2259
1960
|
ref,
|
|
2260
|
-
className:
|
|
1961
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2261
1962
|
baseClasses,
|
|
2262
1963
|
(onClick || href) && !disabled && "cursor-pointer hover:bg-muted/80",
|
|
2263
1964
|
highlight && highlightClasses
|
|
@@ -2286,7 +1987,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2286
1987
|
),
|
|
2287
1988
|
tooltipContent,
|
|
2288
1989
|
tooltipSide,
|
|
2289
|
-
|
|
1990
|
+
chunkS6A6FSG7_cjs.cn(baseClasses, interactiveClasses),
|
|
2290
1991
|
{ "data-testid": testId }
|
|
2291
1992
|
);
|
|
2292
1993
|
}
|
|
@@ -2294,7 +1995,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2294
1995
|
mainContent,
|
|
2295
1996
|
tooltipContent,
|
|
2296
1997
|
tooltipSide,
|
|
2297
|
-
|
|
1998
|
+
chunkS6A6FSG7_cjs.cn(
|
|
2298
1999
|
baseClasses,
|
|
2299
2000
|
onClick && !disabled ? interactiveClasses : "",
|
|
2300
2001
|
disabled ? disabledClasses : "",
|
|
@@ -2317,7 +2018,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2317
2018
|
href,
|
|
2318
2019
|
target: "_blank",
|
|
2319
2020
|
rel: "noopener noreferrer",
|
|
2320
|
-
className:
|
|
2021
|
+
className: chunkS6A6FSG7_cjs.cn(baseClasses, interactiveClasses),
|
|
2321
2022
|
"data-testid": testId,
|
|
2322
2023
|
onClick,
|
|
2323
2024
|
children: mainContent
|
|
@@ -2332,7 +2033,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2332
2033
|
type: "button",
|
|
2333
2034
|
onClick: disabled ? void 0 : onClick,
|
|
2334
2035
|
disabled,
|
|
2335
|
-
className:
|
|
2036
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2336
2037
|
baseClasses,
|
|
2337
2038
|
disabled ? disabledClasses : interactiveClasses,
|
|
2338
2039
|
highlight && highlightClasses
|
|
@@ -2346,7 +2047,7 @@ var EntityPill = React.forwardRef(function EntityPill2({
|
|
|
2346
2047
|
"span",
|
|
2347
2048
|
{
|
|
2348
2049
|
ref,
|
|
2349
|
-
className:
|
|
2050
|
+
className: chunkS6A6FSG7_cjs.cn(baseClasses, highlight && highlightClasses),
|
|
2350
2051
|
"data-testid": testId,
|
|
2351
2052
|
children: mainContent
|
|
2352
2053
|
}
|
|
@@ -2480,7 +2181,7 @@ function RelevanceDot({ score }) {
|
|
|
2480
2181
|
role: "img",
|
|
2481
2182
|
"aria-label": tier.label,
|
|
2482
2183
|
title: `${tier.label} (${score.toFixed(2)})`,
|
|
2483
|
-
className:
|
|
2184
|
+
className: chunkS6A6FSG7_cjs.cn("size-1.5 shrink-0 rounded-full", tier.tone),
|
|
2484
2185
|
"data-testid": "passage-relevance"
|
|
2485
2186
|
}
|
|
2486
2187
|
);
|
|
@@ -2509,7 +2210,7 @@ function PassageCard({
|
|
|
2509
2210
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2510
2211
|
"div",
|
|
2511
2212
|
{
|
|
2512
|
-
className:
|
|
2213
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
2513
2214
|
"group rounded-lg border border-border bg-card p-3 text-left transition-colors",
|
|
2514
2215
|
onClick && "hover:border-ai-accent/40 focus-within:ring-2 focus-within:ring-ai-accent/40",
|
|
2515
2216
|
active && "border-ai-accent/60 ring-1 ring-ai-accent/30",
|
|
@@ -2902,7 +2603,7 @@ function DocumentEntity({
|
|
|
2902
2603
|
const eyeSizeClass = size === "base" ? "h-4 w-4" : "h-3.5 w-3.5";
|
|
2903
2604
|
const baseIcon = icon ?? getDocIcon(doc.file_name, iconSize);
|
|
2904
2605
|
const displayIcon = viewing || iconBadge ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative inline-flex flex-shrink-0 items-center justify-center", children: [
|
|
2905
|
-
viewing ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className:
|
|
2606
|
+
viewing ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Eye, { className: chunkS6A6FSG7_cjs.cn("text-primary-foreground", eyeSizeClass) }) : baseIcon,
|
|
2906
2607
|
iconBadge
|
|
2907
2608
|
] }) : baseIcon;
|
|
2908
2609
|
const defaultTooltip = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1 text-xs max-w-[440px]", children: [
|
|
@@ -2982,7 +2683,7 @@ function ProjectEntity({
|
|
|
2982
2683
|
const variant = resolveVariant(relation, paid, hasCollaborators);
|
|
2983
2684
|
const { pill, icon: iconClass } = VARIANT_STYLES[variant];
|
|
2984
2685
|
const iconSizeClass = size === "base" ? "h-4 w-4" : "h-3.5 w-3.5";
|
|
2985
|
-
const iconNode = icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CreditCard, { className:
|
|
2686
|
+
const iconNode = icon ?? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CreditCard, { className: chunkS6A6FSG7_cjs.cn(iconSizeClass, iconClass) });
|
|
2986
2687
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2987
2688
|
EntityPill,
|
|
2988
2689
|
{
|
|
@@ -2990,7 +2691,7 @@ function ProjectEntity({
|
|
|
2990
2691
|
label: label ?? name,
|
|
2991
2692
|
size,
|
|
2992
2693
|
shape: "rounded",
|
|
2993
|
-
className:
|
|
2694
|
+
className: chunkS6A6FSG7_cjs.cn(pill, className),
|
|
2994
2695
|
onClick,
|
|
2995
2696
|
tooltipContent
|
|
2996
2697
|
}
|
|
@@ -3058,7 +2759,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3058
2759
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3059
2760
|
Avatar,
|
|
3060
2761
|
{
|
|
3061
|
-
className:
|
|
2762
|
+
className: chunkS6A6FSG7_cjs.cn(sizeClasses[size], "border border-border", className),
|
|
3062
2763
|
"data-testid": "user-entity",
|
|
3063
2764
|
children: /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-status-empty text-muted-foreground text-xs font-semibold", children: "?" })
|
|
3064
2765
|
}
|
|
@@ -3071,7 +2772,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3071
2772
|
const avatarCore = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3072
2773
|
Avatar,
|
|
3073
2774
|
{
|
|
3074
|
-
className:
|
|
2775
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3075
2776
|
sizeClasses[size],
|
|
3076
2777
|
isAgent ? "rounded-full border-2 border-dashed" : "border border-white"
|
|
3077
2778
|
),
|
|
@@ -3082,7 +2783,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3082
2783
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3083
2784
|
AvatarFallback,
|
|
3084
2785
|
{
|
|
3085
|
-
className:
|
|
2786
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3086
2787
|
textSizeClasses[size],
|
|
3087
2788
|
"font-semibold leading-none",
|
|
3088
2789
|
isAgent ? "rounded-full bg-transparent" : `text-white ${colorClass}`
|
|
@@ -3097,7 +2798,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3097
2798
|
const statusDot = showUnread || displayStatus ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
3098
2799
|
"span",
|
|
3099
2800
|
{
|
|
3100
|
-
className:
|
|
2801
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3101
2802
|
"absolute rounded-full border-white",
|
|
3102
2803
|
presenceDotClasses[size],
|
|
3103
2804
|
presencePositionClasses[size],
|
|
@@ -3113,7 +2814,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3113
2814
|
const avatarElement = statusDot ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3114
2815
|
"div",
|
|
3115
2816
|
{
|
|
3116
|
-
className:
|
|
2817
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3117
2818
|
"relative inline-block",
|
|
3118
2819
|
sizeClasses[size],
|
|
3119
2820
|
variant === "pill" ? "" : className
|
|
@@ -3123,12 +2824,12 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3123
2824
|
statusDot
|
|
3124
2825
|
]
|
|
3125
2826
|
}
|
|
3126
|
-
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
2827
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkS6A6FSG7_cjs.cn("inline-block", variant === "pill" ? "" : className), children: avatarCore });
|
|
3127
2828
|
const pillAvatar = (
|
|
3128
2829
|
// shrink-0: when the pill is squeezed the NAME truncates away — the avatar
|
|
3129
2830
|
// must never collapse under it and overflow onto neighbouring text.
|
|
3130
|
-
/* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
3131
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2831
|
+
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: chunkS6A6FSG7_cjs.cn("relative inline-block shrink-0", sizeClasses[size]), children: [
|
|
2832
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkS6A6FSG7_cjs.cn("block transition-opacity", canMessage && "group-hover/pill:opacity-0"), children: avatarCore }),
|
|
3132
2833
|
canMessage && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3133
2834
|
"span",
|
|
3134
2835
|
{
|
|
@@ -3158,7 +2859,7 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3158
2859
|
type: "button",
|
|
3159
2860
|
onClick: clickable ? onClick : void 0,
|
|
3160
2861
|
onFocusCapture: (e) => e.stopPropagation(),
|
|
3161
|
-
className:
|
|
2862
|
+
className: chunkS6A6FSG7_cjs.cn(rowClass, clickable && clickableClass, className),
|
|
3162
2863
|
"data-testid": "user-entity-pill",
|
|
3163
2864
|
children: row
|
|
3164
2865
|
}
|
|
@@ -3172,13 +2873,13 @@ var UserEntity = React.memo(function UserEntity2({
|
|
|
3172
2873
|
{
|
|
3173
2874
|
type: "button",
|
|
3174
2875
|
onClick,
|
|
3175
|
-
className:
|
|
2876
|
+
className: chunkS6A6FSG7_cjs.cn(rowClass, clickableClass, className),
|
|
3176
2877
|
"data-testid": "user-entity-pill",
|
|
3177
2878
|
children: row
|
|
3178
2879
|
}
|
|
3179
2880
|
);
|
|
3180
2881
|
}
|
|
3181
|
-
return /* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2882
|
+
return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkS6A6FSG7_cjs.cn(rowClass, className), "data-testid": "user-entity-pill", children: row });
|
|
3182
2883
|
}
|
|
3183
2884
|
if (showTooltip) {
|
|
3184
2885
|
return /* @__PURE__ */ jsxRuntime.jsxs(Tooltip, { children: [
|
|
@@ -3200,7 +2901,7 @@ function AgentBadge({ className }) {
|
|
|
3200
2901
|
"span",
|
|
3201
2902
|
{
|
|
3202
2903
|
"data-testid": "agent-badge",
|
|
3203
|
-
className:
|
|
2904
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3204
2905
|
"inline-flex shrink-0 items-center gap-1 rounded-full border border-ai-accent/50",
|
|
3205
2906
|
"bg-ai-accent-soft px-2 py-0.5 text-xs font-bold uppercase tracking-wider text-ai-accent",
|
|
3206
2907
|
className
|
|
@@ -3231,12 +2932,12 @@ function PresenceLabel({
|
|
|
3231
2932
|
"span",
|
|
3232
2933
|
{
|
|
3233
2934
|
"data-testid": "presence-label",
|
|
3234
|
-
className:
|
|
2935
|
+
className: chunkS6A6FSG7_cjs.cn("inline-flex shrink-0 items-center gap-1 text-xs", className),
|
|
3235
2936
|
children: [
|
|
3236
2937
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3237
2938
|
"span",
|
|
3238
2939
|
{
|
|
3239
|
-
className:
|
|
2940
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3240
2941
|
"size-1.5 rounded-full",
|
|
3241
2942
|
online ? "bg-status-online" : "bg-muted-foreground/50"
|
|
3242
2943
|
),
|
|
@@ -3288,8 +2989,8 @@ function RagDot({
|
|
|
3288
2989
|
className
|
|
3289
2990
|
}) {
|
|
3290
2991
|
const color = rag === "red" ? "bg-destructive" : rag === "amber" ? "bg-warning" : "bg-success";
|
|
3291
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className:
|
|
3292
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
2992
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("span", { className: chunkS6A6FSG7_cjs.cn("inline-flex items-center gap-1.5", className), "data-testid": `rag-${rag}`, children: [
|
|
2993
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkS6A6FSG7_cjs.cn("size-2 rounded-full", color) }),
|
|
3293
2994
|
withLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-muted-foreground", children: RAG_LABELS[rag] })
|
|
3294
2995
|
] });
|
|
3295
2996
|
}
|
|
@@ -3640,12 +3341,12 @@ function UserMenu({
|
|
|
3640
3341
|
testId = "user-menu",
|
|
3641
3342
|
logoutTestId
|
|
3642
3343
|
}) {
|
|
3643
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3644
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3344
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenu, { children: [
|
|
3345
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3645
3346
|
"button",
|
|
3646
3347
|
{
|
|
3647
3348
|
type: "button",
|
|
3648
|
-
className:
|
|
3349
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3649
3350
|
"flex items-center gap-2 rounded-md transition-colors hover:bg-accent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
|
|
3650
3351
|
variant === "account" ? "w-full min-w-0 p-1 text-left pointer-coarse:min-h-11" : "px-1.5 py-1 pointer-coarse:min-h-11 pointer-coarse:min-w-11 pointer-coarse:justify-center",
|
|
3651
3352
|
classNames?.trigger
|
|
@@ -3661,7 +3362,7 @@ function UserMenu({
|
|
|
3661
3362
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3662
3363
|
AvatarFallback,
|
|
3663
3364
|
{
|
|
3664
|
-
className:
|
|
3365
|
+
className: chunkS6A6FSG7_cjs.cn("bg-primary text-primary-foreground", classNames?.fallback),
|
|
3665
3366
|
children: nameInitials(user.name)
|
|
3666
3367
|
}
|
|
3667
3368
|
)
|
|
@@ -3669,7 +3370,7 @@ function UserMenu({
|
|
|
3669
3370
|
status && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3670
3371
|
"span",
|
|
3671
3372
|
{
|
|
3672
|
-
className:
|
|
3373
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3673
3374
|
"absolute -bottom-0.5 -right-0.5 size-2.5 rounded-full border-2 border-background",
|
|
3674
3375
|
STATUS_DOT[status.tone]
|
|
3675
3376
|
),
|
|
@@ -3686,7 +3387,7 @@ function UserMenu({
|
|
|
3686
3387
|
}
|
|
3687
3388
|
) }),
|
|
3688
3389
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3689
|
-
|
|
3390
|
+
chunkOBNTJEEO_cjs.DropdownMenuContent,
|
|
3690
3391
|
{
|
|
3691
3392
|
align,
|
|
3692
3393
|
side,
|
|
@@ -3696,9 +3397,9 @@ function UserMenu({
|
|
|
3696
3397
|
"data-testid": "user-menu-panel",
|
|
3697
3398
|
"data-topbar-popover": "",
|
|
3698
3399
|
children: [
|
|
3699
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3400
|
+
/* @__PURE__ */ jsxRuntime.jsxs(chunkOBNTJEEO_cjs.DropdownMenuLabel, { className: "relative pr-8 pointer-coarse:pr-12", children: [
|
|
3700
3401
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3701
|
-
|
|
3402
|
+
chunkOBNTJEEO_cjs.DropdownMenuItem,
|
|
3702
3403
|
{
|
|
3703
3404
|
className: "absolute right-1 top-1 flex size-6 items-center justify-center rounded-md p-0 text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus:bg-accent pointer-coarse:right-0 pointer-coarse:top-0 pointer-coarse:size-11",
|
|
3704
3405
|
"aria-label": "Close account menu",
|
|
@@ -3715,7 +3416,7 @@ function UserMenu({
|
|
|
3715
3416
|
"data-testid": status.testId,
|
|
3716
3417
|
children: [
|
|
3717
3418
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
3718
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className:
|
|
3419
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkS6A6FSG7_cjs.cn("size-2 shrink-0 rounded-full", STATUS_DOT[status.tone]) }),
|
|
3719
3420
|
status.label
|
|
3720
3421
|
] }),
|
|
3721
3422
|
status.detail && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-0.5 truncate pl-3.5 text-xs leading-tight text-muted-foreground/70", children: status.detail })
|
|
@@ -3723,11 +3424,11 @@ function UserMenu({
|
|
|
3723
3424
|
}
|
|
3724
3425
|
)
|
|
3725
3426
|
] }),
|
|
3726
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3427
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuSeparator, {}),
|
|
3727
3428
|
items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
3728
|
-
item.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3429
|
+
item.separatorBefore && /* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuSeparator, {}),
|
|
3729
3430
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3730
|
-
|
|
3431
|
+
chunkOBNTJEEO_cjs.DropdownMenuItem,
|
|
3731
3432
|
{
|
|
3732
3433
|
onClick: item.onSelect,
|
|
3733
3434
|
"data-testid": item.testId,
|
|
@@ -3750,14 +3451,14 @@ function UserMenu({
|
|
|
3750
3451
|
"span",
|
|
3751
3452
|
{
|
|
3752
3453
|
"aria-hidden": true,
|
|
3753
|
-
className:
|
|
3454
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3754
3455
|
"flex h-4 w-7 shrink-0 items-center rounded-full p-0.5 transition-colors",
|
|
3755
3456
|
item.checked ? "bg-primary" : "bg-border"
|
|
3756
3457
|
),
|
|
3757
3458
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3758
3459
|
"span",
|
|
3759
3460
|
{
|
|
3760
|
-
className:
|
|
3461
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3761
3462
|
"size-3 rounded-full bg-background transition-transform",
|
|
3762
3463
|
item.checked && "translate-x-3"
|
|
3763
3464
|
)
|
|
@@ -3769,9 +3470,9 @@ function UserMenu({
|
|
|
3769
3470
|
}
|
|
3770
3471
|
)
|
|
3771
3472
|
] }, item.label)),
|
|
3772
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3473
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkOBNTJEEO_cjs.DropdownMenuSeparator, {}),
|
|
3773
3474
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3774
|
-
|
|
3475
|
+
chunkOBNTJEEO_cjs.DropdownMenuItem,
|
|
3775
3476
|
{
|
|
3776
3477
|
onClick: onLogout,
|
|
3777
3478
|
"data-testid": logoutTestId ?? `${testId}-logout`,
|
|
@@ -3917,7 +3618,7 @@ function DocumentCard({
|
|
|
3917
3618
|
"div",
|
|
3918
3619
|
{
|
|
3919
3620
|
"data-testid": testId,
|
|
3920
|
-
className:
|
|
3621
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3921
3622
|
// Square corners and a portrait-page aspect (height = 1.3 × width), so a
|
|
3922
3623
|
// cover-page thumbnail reads edge-to-edge.
|
|
3923
3624
|
"group relative aspect-[10/13] select-none overflow-hidden border bg-muted/20 transition",
|
|
@@ -3934,7 +3635,7 @@ function DocumentCard({
|
|
|
3934
3635
|
draggable: false,
|
|
3935
3636
|
onError: () => setThumbFailed(true),
|
|
3936
3637
|
onLoad: (e) => setThumbLandscape(e.currentTarget.naturalWidth > e.currentTarget.naturalHeight),
|
|
3937
|
-
className:
|
|
3638
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3938
3639
|
"absolute inset-0 size-full bg-white",
|
|
3939
3640
|
thumbLandscape ? "object-contain" : "object-cover object-top"
|
|
3940
3641
|
)
|
|
@@ -3959,7 +3660,7 @@ function DocumentCard({
|
|
|
3959
3660
|
onClick: (e) => e.stopPropagation(),
|
|
3960
3661
|
"aria-label": selected ? "Deselect" : "Select",
|
|
3961
3662
|
"data-testid": `${testId}-select`,
|
|
3962
|
-
className:
|
|
3663
|
+
className: chunkS6A6FSG7_cjs.cn(
|
|
3963
3664
|
"absolute left-1.5 top-1.5 z-20 size-6 rounded-none border-muted-foreground/60 bg-background shadow-sm transition",
|
|
3964
3665
|
selected ? "opacity-100" : "opacity-40 group-hover:opacity-100"
|
|
3965
3666
|
)
|
|
@@ -4056,8 +3757,6 @@ exports.InlineMicButton = InlineMicButton;
|
|
|
4056
3757
|
exports.Input = Input;
|
|
4057
3758
|
exports.Label = Label;
|
|
4058
3759
|
exports.MarkMenu = MarkMenu;
|
|
4059
|
-
exports.MarkdownRenderer = MarkdownRenderer;
|
|
4060
|
-
exports.MarkdownStreamingContext = MarkdownStreamingContext;
|
|
4061
3760
|
exports.MicRecordingOverlay = MicRecordingOverlay;
|
|
4062
3761
|
exports.MicWaveformIndicator = MicWaveformIndicator;
|
|
4063
3762
|
exports.NEUTRAL_GRAY = NEUTRAL_GRAY2;
|
|
@@ -4134,10 +3833,7 @@ exports.getStatusVariant = getStatusVariant;
|
|
|
4134
3833
|
exports.getTagTypeIcon = getTagTypeIcon;
|
|
4135
3834
|
exports.getTagTypeLabel = getTagTypeLabel;
|
|
4136
3835
|
exports.getWorkspaceColor = getWorkspaceColor;
|
|
4137
|
-
exports.markdownBaseComponents = markdownBaseComponents;
|
|
4138
|
-
exports.normalizeCitationMarkup = normalizeCitationMarkup;
|
|
4139
|
-
exports.splitMarkdownBlocks = splitMarkdownBlocks;
|
|
4140
3836
|
exports.toggleVariants = toggleVariants;
|
|
4141
3837
|
exports.useAudioRecorder = useAudioRecorder;
|
|
4142
|
-
//# sourceMappingURL=chunk-
|
|
4143
|
-
//# sourceMappingURL=chunk-
|
|
3838
|
+
//# sourceMappingURL=chunk-Z5YCRJY3.cjs.map
|
|
3839
|
+
//# sourceMappingURL=chunk-Z5YCRJY3.cjs.map
|