@arbidocs/react 0.3.185 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/{chunk-YJAYST7S.js → chunk-3CLGHHME.js} +880 -240
  2. package/dist/chunk-3CLGHHME.js.map +1 -0
  3. package/dist/chunk-6ALMBER7.js +176 -0
  4. package/dist/chunk-6ALMBER7.js.map +1 -0
  5. package/dist/chunk-BXP6S34V.cjs +284 -0
  6. package/dist/chunk-BXP6S34V.cjs.map +1 -0
  7. package/dist/chunk-EJ2BMHYK.js +272 -0
  8. package/dist/chunk-EJ2BMHYK.js.map +1 -0
  9. package/dist/{chunk-IZPXHVPJ.cjs → chunk-OU2QLIKS.cjs} +969 -344
  10. package/dist/chunk-OU2QLIKS.cjs.map +1 -0
  11. package/dist/chunk-RZQACYNQ.cjs +218 -0
  12. package/dist/chunk-RZQACYNQ.cjs.map +1 -0
  13. package/dist/{index-4WwLZsQO.d.cts → index-CcbVSNSP.d.cts} +40 -2
  14. package/dist/{index-4WwLZsQO.d.ts → index-CcbVSNSP.d.ts} +40 -2
  15. package/dist/index.cjs +589 -1070
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.d.cts +11 -155
  18. package/dist/index.d.ts +11 -155
  19. package/dist/index.js +223 -725
  20. package/dist/index.js.map +1 -1
  21. package/dist/shell/index.cjs +13 -4
  22. package/dist/shell/index.d.cts +1 -1
  23. package/dist/shell/index.d.ts +1 -1
  24. package/dist/shell/index.js +2 -1
  25. package/dist/ui/index.cjs +211 -190
  26. package/dist/ui/index.d.cts +204 -3
  27. package/dist/ui/index.d.ts +204 -3
  28. package/dist/ui/index.js +2 -1
  29. package/dist/viewers/index.cjs +327 -76
  30. package/dist/viewers/index.cjs.map +1 -1
  31. package/dist/viewers/index.d.cts +90 -4
  32. package/dist/viewers/index.d.ts +90 -4
  33. package/dist/viewers/index.js +316 -78
  34. package/dist/viewers/index.js.map +1 -1
  35. package/package.json +4 -3
  36. package/dist/chunk-3MLQUKT4.cjs +0 -97
  37. package/dist/chunk-3MLQUKT4.cjs.map +0 -1
  38. package/dist/chunk-IZPXHVPJ.cjs.map +0 -1
  39. package/dist/chunk-J3XEKOV5.js +0 -87
  40. package/dist/chunk-J3XEKOV5.js.map +0 -1
  41. package/dist/chunk-YJAYST7S.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentType, ReactNode } from 'react';
3
+ import React__default, { HTMLAttributes, ReactNode, Ref, ComponentType } from 'react';
4
4
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import { VariantProps } from 'class-variance-authority';
@@ -60,6 +60,8 @@ declare function TooltipTrigger({ asChild, children, ...props }: TooltipTriggerP
60
60
  interface TooltipContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
61
61
  side?: Side;
62
62
  sideOffset?: number;
63
+ /** Minimum gap, in px, kept between the tip and the viewport edges. Default 8. */
64
+ collisionPadding?: number;
63
65
  }
64
66
  declare const TooltipContent: React$1.ForwardRefExoticComponent<TooltipContentProps & React$1.RefAttributes<HTMLDivElement>>;
65
67
 
@@ -248,8 +250,17 @@ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.D
248
250
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
249
251
  declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
250
252
  declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
253
+ /**
254
+ * Where the dialog sits on a PHONE (< 640px). Wider screens always get a centred dialog.
255
+ * - `center`: centred box with a 1rem margin (small prompts and confirmations).
256
+ * - `sheet`: bottom sheet, full width, rounded top corners (forms and pickers).
257
+ * - `full`: full-height sheet that stops below the status bar (large editors, wizards).
258
+ */
259
+ type DialogPresentation = 'center' | 'sheet' | 'full';
251
260
  declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
252
261
  hideCloseButton?: boolean;
262
+ /** Phone presentation (see {@link DialogPresentation}). Defaults to `center`. */
263
+ presentation?: DialogPresentation;
253
264
  } & React$1.RefAttributes<HTMLDivElement>>;
254
265
  declare const DialogHeader: {
255
266
  ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
@@ -269,6 +280,51 @@ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrim
269
280
  container?: HTMLElement | null;
270
281
  } & React$1.RefAttributes<HTMLDivElement>>;
271
282
 
283
+ /** One row of a mark's menu. Give it `onSelect`, or an `href` for a real link row. */
284
+ interface MarkMenuItem {
285
+ id: string;
286
+ label: string;
287
+ /** Runs when the row is chosen; the menu closes afterwards. */
288
+ onSelect?: () => void;
289
+ /** Renders the row as a link (no `onSelect` needed). */
290
+ href?: string;
291
+ /** The headline action: listed first, set a little larger, and run by a plain mouse click. */
292
+ primary?: boolean;
293
+ destructive?: boolean;
294
+ testId?: string;
295
+ }
296
+ interface MarkMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'onClick'> {
297
+ /** The element the mark itself is: a real link or an inline span. */
298
+ as?: 'a' | 'span';
299
+ href?: string;
300
+ /** Rows of the menu. The `primary` one (else the first) is the mark's default action. */
301
+ items: MarkMenuItem[];
302
+ /** Optional read-only content above the rows (a quoted passage, a note, a label name). */
303
+ preview?: ReactNode;
304
+ /** Accessible name of the menu. */
305
+ menuLabel: string;
306
+ /** A plain mouse click runs the primary row (default). Touch and keyboard always open the menu. */
307
+ shouldClickRunPrimary?: boolean;
308
+ /** Hover delay before the menu opens (ms). */
309
+ openDelay?: number;
310
+ closeDelay?: number;
311
+ testId?: string;
312
+ menuTestId?: string;
313
+ /** The mark element, for hosts that move focus back to it. */
314
+ triggerRef?: Ref<HTMLElement>;
315
+ children: ReactNode;
316
+ }
317
+ /**
318
+ * The ONE contextual menu of every inline mark (link, bookmark, citation, label, note).
319
+ *
320
+ * The mark stays quiet text. A compact popover opens on hover (short delay) and on keyboard focus;
321
+ * on touch a tap opens it instead of acting, so the primary row is one deliberate tap away. A
322
+ * plain mouse click runs the primary action, so existing click behaviour is unchanged.
323
+ * Keyboard: Enter/Space/ArrowDown open it and move into it, arrows move, Escape closes and
324
+ * returns focus to the mark. Rows are 44px high on coarse pointers.
325
+ */
326
+ declare function MarkMenu({ as, href, items, preview, menuLabel, shouldClickRunPrimary, openDelay, closeDelay, testId, menuTestId, triggerRef: externalRef, className, children, onPointerDown, onPointerEnter, onPointerLeave, onFocus, onBlur, onKeyDown, ...rest }: MarkMenuProps): React$1.JSX.Element;
327
+
272
328
  declare const DropdownMenu: React$1.FC<DropdownMenuPrimitive.DropdownMenuProps>;
273
329
  declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
274
330
  declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -439,6 +495,52 @@ declare function AiMarkdown({ children, className, isStreaming, }: {
439
495
  */
440
496
  declare const markdownBaseComponents: Partial<Components>;
441
497
 
498
+ /**
499
+ * PassageCard — the card ("bubble") a single retrieved passage is rendered as.
500
+ *
501
+ * One presentation shared by every surface that lists retrieval hits: the
502
+ * <SemanticSearch> block here and the ARBI-frontend monolith's SmartSearch
503
+ * results. Those had drifted into two different looks for the same object; this
504
+ * is the single one.
505
+ *
506
+ * The card owns the chrome only — the rounded border, the AI-accent hover /
507
+ * focus / selected states, the header row and the relevance dot. What goes in
508
+ * the header and how the snippet itself is rendered stays with the caller,
509
+ * because those genuinely differ: the block shows a plain-text excerpt in a
510
+ * narrow sidebar, the monolith renders markdown with a show-more toggle.
511
+ *
512
+ * Theming is semantic tokens only (shadcn + the AI-accent contract).
513
+ */
514
+
515
+ /**
516
+ * A dot conveying relevance — green (high) / amber (mid) / muted (low).
517
+ *
518
+ * The band is shown, the raw number is not: scores are not on a normalized 0-1
519
+ * scale across search modes (BM25 keyword scores can exceed 1), so a printed
520
+ * figure invites a comparison it cannot support. The value is kept in the
521
+ * tooltip for anyone debugging a ranking.
522
+ */
523
+ declare function RelevanceDot({ score }: {
524
+ score?: number | null;
525
+ }): React__default.JSX.Element | null;
526
+ interface PassageCardProps {
527
+ /** Left of the header row — the source affordance (document pill, page label). */
528
+ header: React__default.ReactNode;
529
+ /** Relevance score for the dot. Omit to hide it. */
530
+ score?: number | null;
531
+ /** Extra affordance pinned right of the dot (e.g. a hover-revealed open icon). */
532
+ headerRight?: React__default.ReactNode;
533
+ /** Marks the card as the currently open passage. */
534
+ active?: boolean;
535
+ onClick?: (e: React__default.MouseEvent) => void;
536
+ /** Rendered under the snippet, outside the click target's typography. */
537
+ footer?: React__default.ReactNode;
538
+ className?: string;
539
+ children: React__default.ReactNode;
540
+ 'data-testid'?: string;
541
+ }
542
+ declare function PassageCard({ header, score, headerRight, active, onClick, footer, className, children, 'data-testid': testId, }: PassageCardProps): React__default.JSX.Element;
543
+
442
544
  /**
443
545
  * EntityPill Component
444
546
  *
@@ -557,8 +659,10 @@ interface DocumentEntityProps {
557
659
  /** Override the default folder/title hover tooltip. */
558
660
  tooltipContent?: React__default.ReactNode;
559
661
  className?: string;
662
+ /** Forwarded to the pill so a surface can address this document's chip. */
663
+ 'data-testid'?: string;
560
664
  }
561
- declare function DocumentEntity({ doc, icon, size, labelMaxWidth, labelClassName, onClick, onIconClick, viewing, iconBadge, actions, tooltipContent, className, fullWidth, noClamp, }: DocumentEntityProps): React__default.JSX.Element;
665
+ declare function DocumentEntity({ doc, icon, size, labelMaxWidth, labelClassName, onClick, onIconClick, viewing, iconBadge, actions, tooltipContent, className, fullWidth, noClamp, 'data-testid': testId, }: DocumentEntityProps): React__default.JSX.Element;
562
666
 
563
667
  /**
564
668
  * TagEntity Component
@@ -1112,6 +1216,103 @@ declare function getEntityColorStyles(entityId: string): {
1112
1216
  */
1113
1217
  declare const getWorkspaceColor: (workspaceId: string | undefined | null, useWorkspaceColors?: boolean) => string;
1114
1218
 
1219
+ interface UserMenuItem {
1220
+ label: string;
1221
+ icon?: ComponentType<{
1222
+ className?: string;
1223
+ }>;
1224
+ onSelect: () => void;
1225
+ testId?: string;
1226
+ /** A count or short state on the right (e.g. the number of files processing). */
1227
+ badge?: string | number;
1228
+ /** A small unread dot on the icon (e.g. new messages). */
1229
+ dot?: boolean;
1230
+ /** Makes the row a labelled on/off switch (role menuitemcheckbox); selecting it flips the state. */
1231
+ checked?: boolean;
1232
+ /** Draw a divider above this row to start a new group. */
1233
+ separatorBefore?: boolean;
1234
+ }
1235
+ /** Connection/presence state shown as a dot on the avatar and a line under the
1236
+ * email — the account menu is where "am I connected" belongs. */
1237
+ interface UserMenuStatus {
1238
+ /** Short state word — "Connected", "Working offline". */
1239
+ label: string;
1240
+ tone: 'online' | 'busy' | 'offline';
1241
+ /** Fine print under the label (e.g. the server domain). */
1242
+ detail?: string;
1243
+ testId?: string;
1244
+ }
1245
+ interface UserMenuProps {
1246
+ user: {
1247
+ name: string;
1248
+ email?: string | null;
1249
+ picture?: string | null;
1250
+ };
1251
+ /** Optional connection status: avatar dot + a line in the dropdown header. */
1252
+ status?: UserMenuStatus;
1253
+ /** Account actions above the sign-out divider (e.g. Settings). */
1254
+ items?: UserMenuItem[];
1255
+ onLogout: () => void;
1256
+ logoutLabel?: string;
1257
+ align?: 'start' | 'center' | 'end';
1258
+ /** Which side of the trigger the menu opens on (a footer trigger opens upward or sideways). */
1259
+ side?: 'top' | 'right' | 'bottom' | 'left';
1260
+ /**
1261
+ * `avatar` (default): avatar + chevron. `account`: a full-width account bar, avatar + display
1262
+ * name + chevron, for a sidebar footer.
1263
+ */
1264
+ variant?: 'avatar' | 'account';
1265
+ /** `avatar` only: draw the chevron (the icon-only rail hides it). */
1266
+ showChevron?: boolean;
1267
+ classNames?: {
1268
+ trigger?: string;
1269
+ fallback?: string;
1270
+ };
1271
+ testId?: string;
1272
+ logoutTestId?: string;
1273
+ }
1274
+ declare function UserMenu({ user, status, items, onLogout, logoutLabel, align, side, variant, showChevron, classNames, testId, logoutTestId, }: UserMenuProps): React$1.JSX.Element;
1275
+
1276
+ /**
1277
+ * DocumentCard — the canonical document thumbnail tile.
1278
+ *
1279
+ * One tile, shared by every app: a full-bleed first-page thumbnail (falling back
1280
+ * to the file-type icon) with the selection checkbox, the actions menu, the
1281
+ * processing state and the document's name pill layered on top of it, rather
1282
+ * than a thumbnail box with a separate meta strip beneath.
1283
+ *
1284
+ * Presentational only — it takes a thumbnail, a status and callbacks, and knows
1285
+ * nothing about how documents are fetched. `DocumentGallery` binds it to data.
1286
+ */
1287
+
1288
+ interface DocumentCardProps {
1289
+ /** The document — anything with a file name and optional metadata title. */
1290
+ doc: DocumentLike;
1291
+ /** First-page thumbnail (data URI or URL). Falls back to the file-type icon. */
1292
+ thumbnailUrl?: string | null;
1293
+ /** Processing status, e.g. `parsing` (overlay) or `completed` (corner marker). */
1294
+ status?: string | null;
1295
+ /** Renders the selection checkbox. Omit `onToggleSelect` to hide it entirely. */
1296
+ selected?: boolean;
1297
+ onToggleSelect?: () => void;
1298
+ /** Pins the "eye" on the name pill — this is the document open in the viewer. */
1299
+ viewing?: boolean;
1300
+ onOpen?: () => void;
1301
+ /** Actions menu, pinned to the tile's top-right corner. */
1302
+ actions?: React__default.ReactNode;
1303
+ /** Swaps the name pill for an inline rename field. */
1304
+ renaming?: boolean;
1305
+ onCommitRename?: (name: string) => void;
1306
+ onCancelRename?: () => void;
1307
+ /** Replaces the pill's default hover tooltip (e.g. an AI summary + labels). */
1308
+ tooltipContent?: React__default.ReactNode;
1309
+ /** Bottom-left marker slot (e.g. an "available offline" glyph). */
1310
+ marker?: React__default.ReactNode;
1311
+ testId?: string;
1312
+ className?: string;
1313
+ }
1314
+ declare function DocumentCard({ doc, thumbnailUrl, status, selected, onToggleSelect, viewing, onOpen, actions, renaming, onCommitRename, onCancelRename, tooltipContent, marker, testId, className, }: DocumentCardProps): React__default.JSX.Element;
1315
+
1115
1316
  /**
1116
1317
  * Core utility: `cn()` — merge class names with Tailwind-aware conflict
1117
1318
  * resolution (clsx + tailwind-merge). Copied faithfully from the ARBI app so the
@@ -1120,4 +1321,4 @@ declare const getWorkspaceColor: (workspaceId: string | undefined | null, useWor
1120
1321
 
1121
1322
  declare function cn(...inputs: ClassValue[]): string;
1122
1323
 
1123
- export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type DictateContextValue, DictateProvider, DocumentEntity, type DocumentEntityProps, type DocumentLike, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENTITY_MAPPINGS, EntityIcon, type EntityIconComponent, EntityPill, type EntityRegistryOverride, type EntityType, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, type IconToggleProps, Input, type InputProps, Label, MarkdownRenderer, type MarkdownRendererProps, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PresenceDisplayStatus, PresenceLabel, Progress, ProjectEntity, type ProjectEntityProps, type ProjectRelation, RadioGroup, RadioGroupItem, type Rag, RagDot, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, type StatusBadgeComponent, type StatusBadgeProps, StatusPill, type StatusPillProps, type StatusVariant, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, type TagEntityProps, type TagLike, Textarea, type TextareaProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, type UserEntityProps, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, cn, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants };
1324
+ export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, type DialogPresentation, DialogTitle, DialogTrigger, type DictateContextValue, DictateProvider, DocumentCard, type DocumentCardProps, DocumentEntity, type DocumentEntityProps, type DocumentLike, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENTITY_MAPPINGS, EntityIcon, type EntityIconComponent, EntityPill, type EntityRegistryOverride, type EntityType, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, type IconToggleProps, Input, type InputProps, Label, MarkMenu, type MarkMenuItem, type MarkMenuProps, MarkdownRenderer, type MarkdownRendererProps, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, PassageCard, type PassageCardProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PresenceDisplayStatus, PresenceLabel, Progress, ProjectEntity, type ProjectEntityProps, type ProjectRelation, RadioGroup, RadioGroupItem, type Rag, RagDot, RelevanceDot, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, type StatusBadgeComponent, type StatusBadgeProps, StatusPill, type StatusPillProps, type StatusVariant, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, type TagEntityProps, type TagLike, Textarea, type TextareaProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, type UserEntityProps, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuStatus, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, cn, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants };
@@ -1,6 +1,6 @@
1
1
  import { ClassValue } from 'clsx';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentType, ReactNode } from 'react';
3
+ import React__default, { HTMLAttributes, ReactNode, Ref, ComponentType } from 'react';
4
4
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import { VariantProps } from 'class-variance-authority';
@@ -60,6 +60,8 @@ declare function TooltipTrigger({ asChild, children, ...props }: TooltipTriggerP
60
60
  interface TooltipContentProps extends React$1.HTMLAttributes<HTMLDivElement> {
61
61
  side?: Side;
62
62
  sideOffset?: number;
63
+ /** Minimum gap, in px, kept between the tip and the viewport edges. Default 8. */
64
+ collisionPadding?: number;
63
65
  }
64
66
  declare const TooltipContent: React$1.ForwardRefExoticComponent<TooltipContentProps & React$1.RefAttributes<HTMLDivElement>>;
65
67
 
@@ -248,8 +250,17 @@ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.D
248
250
  declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
249
251
  declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
250
252
  declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
253
+ /**
254
+ * Where the dialog sits on a PHONE (< 640px). Wider screens always get a centred dialog.
255
+ * - `center`: centred box with a 1rem margin (small prompts and confirmations).
256
+ * - `sheet`: bottom sheet, full width, rounded top corners (forms and pickers).
257
+ * - `full`: full-height sheet that stops below the status bar (large editors, wizards).
258
+ */
259
+ type DialogPresentation = 'center' | 'sheet' | 'full';
251
260
  declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
252
261
  hideCloseButton?: boolean;
262
+ /** Phone presentation (see {@link DialogPresentation}). Defaults to `center`. */
263
+ presentation?: DialogPresentation;
253
264
  } & React$1.RefAttributes<HTMLDivElement>>;
254
265
  declare const DialogHeader: {
255
266
  ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): React$1.JSX.Element;
@@ -269,6 +280,51 @@ declare const PopoverContent: React$1.ForwardRefExoticComponent<Omit<PopoverPrim
269
280
  container?: HTMLElement | null;
270
281
  } & React$1.RefAttributes<HTMLDivElement>>;
271
282
 
283
+ /** One row of a mark's menu. Give it `onSelect`, or an `href` for a real link row. */
284
+ interface MarkMenuItem {
285
+ id: string;
286
+ label: string;
287
+ /** Runs when the row is chosen; the menu closes afterwards. */
288
+ onSelect?: () => void;
289
+ /** Renders the row as a link (no `onSelect` needed). */
290
+ href?: string;
291
+ /** The headline action: listed first, set a little larger, and run by a plain mouse click. */
292
+ primary?: boolean;
293
+ destructive?: boolean;
294
+ testId?: string;
295
+ }
296
+ interface MarkMenuProps extends Omit<HTMLAttributes<HTMLElement>, 'children' | 'onClick'> {
297
+ /** The element the mark itself is: a real link or an inline span. */
298
+ as?: 'a' | 'span';
299
+ href?: string;
300
+ /** Rows of the menu. The `primary` one (else the first) is the mark's default action. */
301
+ items: MarkMenuItem[];
302
+ /** Optional read-only content above the rows (a quoted passage, a note, a label name). */
303
+ preview?: ReactNode;
304
+ /** Accessible name of the menu. */
305
+ menuLabel: string;
306
+ /** A plain mouse click runs the primary row (default). Touch and keyboard always open the menu. */
307
+ shouldClickRunPrimary?: boolean;
308
+ /** Hover delay before the menu opens (ms). */
309
+ openDelay?: number;
310
+ closeDelay?: number;
311
+ testId?: string;
312
+ menuTestId?: string;
313
+ /** The mark element, for hosts that move focus back to it. */
314
+ triggerRef?: Ref<HTMLElement>;
315
+ children: ReactNode;
316
+ }
317
+ /**
318
+ * The ONE contextual menu of every inline mark (link, bookmark, citation, label, note).
319
+ *
320
+ * The mark stays quiet text. A compact popover opens on hover (short delay) and on keyboard focus;
321
+ * on touch a tap opens it instead of acting, so the primary row is one deliberate tap away. A
322
+ * plain mouse click runs the primary action, so existing click behaviour is unchanged.
323
+ * Keyboard: Enter/Space/ArrowDown open it and move into it, arrows move, Escape closes and
324
+ * returns focus to the mark. Rows are 44px high on coarse pointers.
325
+ */
326
+ declare function MarkMenu({ as, href, items, preview, menuLabel, shouldClickRunPrimary, openDelay, closeDelay, testId, menuTestId, triggerRef: externalRef, className, children, onPointerDown, onPointerEnter, onPointerLeave, onFocus, onBlur, onKeyDown, ...rest }: MarkMenuProps): React$1.JSX.Element;
327
+
272
328
  declare const DropdownMenu: React$1.FC<DropdownMenuPrimitive.DropdownMenuProps>;
273
329
  declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
274
330
  declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
@@ -439,6 +495,52 @@ declare function AiMarkdown({ children, className, isStreaming, }: {
439
495
  */
440
496
  declare const markdownBaseComponents: Partial<Components>;
441
497
 
498
+ /**
499
+ * PassageCard — the card ("bubble") a single retrieved passage is rendered as.
500
+ *
501
+ * One presentation shared by every surface that lists retrieval hits: the
502
+ * <SemanticSearch> block here and the ARBI-frontend monolith's SmartSearch
503
+ * results. Those had drifted into two different looks for the same object; this
504
+ * is the single one.
505
+ *
506
+ * The card owns the chrome only — the rounded border, the AI-accent hover /
507
+ * focus / selected states, the header row and the relevance dot. What goes in
508
+ * the header and how the snippet itself is rendered stays with the caller,
509
+ * because those genuinely differ: the block shows a plain-text excerpt in a
510
+ * narrow sidebar, the monolith renders markdown with a show-more toggle.
511
+ *
512
+ * Theming is semantic tokens only (shadcn + the AI-accent contract).
513
+ */
514
+
515
+ /**
516
+ * A dot conveying relevance — green (high) / amber (mid) / muted (low).
517
+ *
518
+ * The band is shown, the raw number is not: scores are not on a normalized 0-1
519
+ * scale across search modes (BM25 keyword scores can exceed 1), so a printed
520
+ * figure invites a comparison it cannot support. The value is kept in the
521
+ * tooltip for anyone debugging a ranking.
522
+ */
523
+ declare function RelevanceDot({ score }: {
524
+ score?: number | null;
525
+ }): React__default.JSX.Element | null;
526
+ interface PassageCardProps {
527
+ /** Left of the header row — the source affordance (document pill, page label). */
528
+ header: React__default.ReactNode;
529
+ /** Relevance score for the dot. Omit to hide it. */
530
+ score?: number | null;
531
+ /** Extra affordance pinned right of the dot (e.g. a hover-revealed open icon). */
532
+ headerRight?: React__default.ReactNode;
533
+ /** Marks the card as the currently open passage. */
534
+ active?: boolean;
535
+ onClick?: (e: React__default.MouseEvent) => void;
536
+ /** Rendered under the snippet, outside the click target's typography. */
537
+ footer?: React__default.ReactNode;
538
+ className?: string;
539
+ children: React__default.ReactNode;
540
+ 'data-testid'?: string;
541
+ }
542
+ declare function PassageCard({ header, score, headerRight, active, onClick, footer, className, children, 'data-testid': testId, }: PassageCardProps): React__default.JSX.Element;
543
+
442
544
  /**
443
545
  * EntityPill Component
444
546
  *
@@ -557,8 +659,10 @@ interface DocumentEntityProps {
557
659
  /** Override the default folder/title hover tooltip. */
558
660
  tooltipContent?: React__default.ReactNode;
559
661
  className?: string;
662
+ /** Forwarded to the pill so a surface can address this document's chip. */
663
+ 'data-testid'?: string;
560
664
  }
561
- declare function DocumentEntity({ doc, icon, size, labelMaxWidth, labelClassName, onClick, onIconClick, viewing, iconBadge, actions, tooltipContent, className, fullWidth, noClamp, }: DocumentEntityProps): React__default.JSX.Element;
665
+ declare function DocumentEntity({ doc, icon, size, labelMaxWidth, labelClassName, onClick, onIconClick, viewing, iconBadge, actions, tooltipContent, className, fullWidth, noClamp, 'data-testid': testId, }: DocumentEntityProps): React__default.JSX.Element;
562
666
 
563
667
  /**
564
668
  * TagEntity Component
@@ -1112,6 +1216,103 @@ declare function getEntityColorStyles(entityId: string): {
1112
1216
  */
1113
1217
  declare const getWorkspaceColor: (workspaceId: string | undefined | null, useWorkspaceColors?: boolean) => string;
1114
1218
 
1219
+ interface UserMenuItem {
1220
+ label: string;
1221
+ icon?: ComponentType<{
1222
+ className?: string;
1223
+ }>;
1224
+ onSelect: () => void;
1225
+ testId?: string;
1226
+ /** A count or short state on the right (e.g. the number of files processing). */
1227
+ badge?: string | number;
1228
+ /** A small unread dot on the icon (e.g. new messages). */
1229
+ dot?: boolean;
1230
+ /** Makes the row a labelled on/off switch (role menuitemcheckbox); selecting it flips the state. */
1231
+ checked?: boolean;
1232
+ /** Draw a divider above this row to start a new group. */
1233
+ separatorBefore?: boolean;
1234
+ }
1235
+ /** Connection/presence state shown as a dot on the avatar and a line under the
1236
+ * email — the account menu is where "am I connected" belongs. */
1237
+ interface UserMenuStatus {
1238
+ /** Short state word — "Connected", "Working offline". */
1239
+ label: string;
1240
+ tone: 'online' | 'busy' | 'offline';
1241
+ /** Fine print under the label (e.g. the server domain). */
1242
+ detail?: string;
1243
+ testId?: string;
1244
+ }
1245
+ interface UserMenuProps {
1246
+ user: {
1247
+ name: string;
1248
+ email?: string | null;
1249
+ picture?: string | null;
1250
+ };
1251
+ /** Optional connection status: avatar dot + a line in the dropdown header. */
1252
+ status?: UserMenuStatus;
1253
+ /** Account actions above the sign-out divider (e.g. Settings). */
1254
+ items?: UserMenuItem[];
1255
+ onLogout: () => void;
1256
+ logoutLabel?: string;
1257
+ align?: 'start' | 'center' | 'end';
1258
+ /** Which side of the trigger the menu opens on (a footer trigger opens upward or sideways). */
1259
+ side?: 'top' | 'right' | 'bottom' | 'left';
1260
+ /**
1261
+ * `avatar` (default): avatar + chevron. `account`: a full-width account bar, avatar + display
1262
+ * name + chevron, for a sidebar footer.
1263
+ */
1264
+ variant?: 'avatar' | 'account';
1265
+ /** `avatar` only: draw the chevron (the icon-only rail hides it). */
1266
+ showChevron?: boolean;
1267
+ classNames?: {
1268
+ trigger?: string;
1269
+ fallback?: string;
1270
+ };
1271
+ testId?: string;
1272
+ logoutTestId?: string;
1273
+ }
1274
+ declare function UserMenu({ user, status, items, onLogout, logoutLabel, align, side, variant, showChevron, classNames, testId, logoutTestId, }: UserMenuProps): React$1.JSX.Element;
1275
+
1276
+ /**
1277
+ * DocumentCard — the canonical document thumbnail tile.
1278
+ *
1279
+ * One tile, shared by every app: a full-bleed first-page thumbnail (falling back
1280
+ * to the file-type icon) with the selection checkbox, the actions menu, the
1281
+ * processing state and the document's name pill layered on top of it, rather
1282
+ * than a thumbnail box with a separate meta strip beneath.
1283
+ *
1284
+ * Presentational only — it takes a thumbnail, a status and callbacks, and knows
1285
+ * nothing about how documents are fetched. `DocumentGallery` binds it to data.
1286
+ */
1287
+
1288
+ interface DocumentCardProps {
1289
+ /** The document — anything with a file name and optional metadata title. */
1290
+ doc: DocumentLike;
1291
+ /** First-page thumbnail (data URI or URL). Falls back to the file-type icon. */
1292
+ thumbnailUrl?: string | null;
1293
+ /** Processing status, e.g. `parsing` (overlay) or `completed` (corner marker). */
1294
+ status?: string | null;
1295
+ /** Renders the selection checkbox. Omit `onToggleSelect` to hide it entirely. */
1296
+ selected?: boolean;
1297
+ onToggleSelect?: () => void;
1298
+ /** Pins the "eye" on the name pill — this is the document open in the viewer. */
1299
+ viewing?: boolean;
1300
+ onOpen?: () => void;
1301
+ /** Actions menu, pinned to the tile's top-right corner. */
1302
+ actions?: React__default.ReactNode;
1303
+ /** Swaps the name pill for an inline rename field. */
1304
+ renaming?: boolean;
1305
+ onCommitRename?: (name: string) => void;
1306
+ onCancelRename?: () => void;
1307
+ /** Replaces the pill's default hover tooltip (e.g. an AI summary + labels). */
1308
+ tooltipContent?: React__default.ReactNode;
1309
+ /** Bottom-left marker slot (e.g. an "available offline" glyph). */
1310
+ marker?: React__default.ReactNode;
1311
+ testId?: string;
1312
+ className?: string;
1313
+ }
1314
+ declare function DocumentCard({ doc, thumbnailUrl, status, selected, onToggleSelect, viewing, onOpen, actions, renaming, onCommitRename, onCancelRename, tooltipContent, marker, testId, className, }: DocumentCardProps): React__default.JSX.Element;
1315
+
1115
1316
  /**
1116
1317
  * Core utility: `cn()` — merge class names with Tailwind-aware conflict
1117
1318
  * resolution (clsx + tailwind-merge). Copied faithfully from the ARBI app so the
@@ -1120,4 +1321,4 @@ declare const getWorkspaceColor: (workspaceId: string | undefined | null, useWor
1120
1321
 
1121
1322
  declare function cn(...inputs: ClassValue[]): string;
1122
1323
 
1123
- export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type DictateContextValue, DictateProvider, DocumentEntity, type DocumentEntityProps, type DocumentLike, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENTITY_MAPPINGS, EntityIcon, type EntityIconComponent, EntityPill, type EntityRegistryOverride, type EntityType, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, type IconToggleProps, Input, type InputProps, Label, MarkdownRenderer, type MarkdownRendererProps, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PresenceDisplayStatus, PresenceLabel, Progress, ProjectEntity, type ProjectEntityProps, type ProjectRelation, RadioGroup, RadioGroupItem, type Rag, RagDot, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, type StatusBadgeComponent, type StatusBadgeProps, StatusPill, type StatusPillProps, type StatusVariant, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, type TagEntityProps, type TagLike, Textarea, type TextareaProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, type UserEntityProps, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, cn, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants };
1324
+ export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, type BadgeProps, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, type DialogPresentation, DialogTitle, DialogTrigger, type DictateContextValue, DictateProvider, DocumentCard, type DocumentCardProps, DocumentEntity, type DocumentEntityProps, type DocumentLike, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENTITY_MAPPINGS, EntityIcon, type EntityIconComponent, EntityPill, type EntityRegistryOverride, type EntityType, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, type IconToggleProps, Input, type InputProps, Label, MarkMenu, type MarkMenuItem, type MarkMenuProps, MarkdownRenderer, type MarkdownRendererProps, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, PassageCard, type PassageCardProps, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PresenceDisplayStatus, PresenceLabel, Progress, ProjectEntity, type ProjectEntityProps, type ProjectRelation, RadioGroup, RadioGroupItem, type Rag, RagDot, RelevanceDot, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, type StatusBadgeComponent, type StatusBadgeProps, StatusPill, type StatusPillProps, type StatusVariant, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, type TagEntityProps, type TagLike, Textarea, type TextareaProps, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, type UserEntityProps, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuStatus, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, cn, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants };
package/dist/ui/index.js CHANGED
@@ -1,3 +1,4 @@
1
- export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictateProvider, DocumentEntity, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ENTITY_MAPPINGS, EntityIcon, EntityPill, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, Input, Label, MarkdownRenderer, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PresenceLabel, Progress, ProjectEntity, RadioGroup, RadioGroupItem, RagDot, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, StatusPill, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, cn, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants } from '../chunk-YJAYST7S.js';
1
+ export { AgentBadge, AiMarkdown, Avatar, AvatarFallback, AvatarImage, BASE_COLORS, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DictateProvider, DocumentCard, DocumentEntity, ENTITY_MAPPINGS, EntityIcon, EntityPill, HoverCard, HoverCardContent, HoverCardTrigger, IconToggle, Input, Label, MarkMenu, MarkdownRenderer, MarkdownStreamingContext, NEUTRAL_GRAY, PLACEHOLDER_COLOR, PassageCard, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PresenceLabel, Progress, ProjectEntity, RadioGroup, RadioGroupItem, RagDot, RelevanceDot, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Slider, StatusPill, Switch, TAG_TYPE_ICONS, TAG_TYPE_LABELS, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagEntity, Textarea, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, UserEntity, UserMenu, VISIBILITY_ICONS, VisibilityIcon, badgeVariants, buttonVariants, cardVariants, configureEntityRegistry, configureRagLabels, configureStatusRegistry, getDocIcon, getEntityColor, getEntityColorStyles, getEntityIcon, getEntityLabel, getStatusVariant, getTagTypeIcon, getTagTypeLabel, getWorkspaceColor, markdownBaseComponents, splitMarkdownBlocks, toggleVariants } from '../chunk-3CLGHHME.js';
2
+ export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, ScrollArea, ScrollBar, cn } from '../chunk-6ALMBER7.js';
2
3
  //# sourceMappingURL=index.js.map
3
4
  //# sourceMappingURL=index.js.map