@vllnt/ui 0.2.1-canary.b3f1dff → 0.2.1-canary.bb791f1

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 (37) hide show
  1. package/dist/components/alert-pulse/alert-pulse.js +93 -0
  2. package/dist/components/alert-pulse/index.js +6 -0
  3. package/dist/components/context-lens/context-lens.js +98 -0
  4. package/dist/components/context-lens/index.js +6 -0
  5. package/dist/components/floating-toolbar/floating-toolbar.js +66 -0
  6. package/dist/components/floating-toolbar/index.js +6 -0
  7. package/dist/components/follow-mode/follow-mode.js +89 -0
  8. package/dist/components/follow-mode/index.js +6 -0
  9. package/dist/components/handoff-beacon/handoff-beacon.js +78 -0
  10. package/dist/components/handoff-beacon/index.js +6 -0
  11. package/dist/components/index.js +68 -0
  12. package/dist/components/jarvis-dock/index.js +6 -0
  13. package/dist/components/jarvis-dock/jarvis-dock.js +98 -0
  14. package/dist/components/multi-select-lasso/index.js +6 -0
  15. package/dist/components/multi-select-lasso/multi-select-lasso.js +76 -0
  16. package/dist/components/object-inspector/index.js +6 -0
  17. package/dist/components/object-inspector/object-inspector.js +136 -0
  18. package/dist/components/policy-delivery-panel/index.js +6 -0
  19. package/dist/components/policy-delivery-panel/policy-delivery-panel.js +99 -0
  20. package/dist/components/property-section/index.js +6 -0
  21. package/dist/components/property-section/property-section.js +101 -0
  22. package/dist/components/relationship-inspector/index.js +6 -0
  23. package/dist/components/relationship-inspector/relationship-inspector.js +102 -0
  24. package/dist/components/routing-assignment-panel/index.js +6 -0
  25. package/dist/components/routing-assignment-panel/routing-assignment-panel.js +122 -0
  26. package/dist/components/runtime-overview-panel/index.js +6 -0
  27. package/dist/components/runtime-overview-panel/runtime-overview-panel.js +89 -0
  28. package/dist/components/selection-halo/index.js +6 -0
  29. package/dist/components/selection-halo/selection-halo.js +72 -0
  30. package/dist/components/snap-guides/index.js +6 -0
  31. package/dist/components/snap-guides/snap-guides.js +45 -0
  32. package/dist/components/sticky-metric/index.js +6 -0
  33. package/dist/components/sticky-metric/sticky-metric.js +83 -0
  34. package/dist/components/threshold-ring/index.js +6 -0
  35. package/dist/components/threshold-ring/threshold-ring.js +160 -0
  36. package/dist/index.d.ts +1248 -12
  37. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef } from "react";
4
+ import { cn } from "../../lib/utils";
5
+ const SEVERITY_STROKE = {
6
+ error: "stroke-red-500",
7
+ info: "stroke-blue-500",
8
+ warn: "stroke-amber-500"
9
+ };
10
+ const SEVERITY_FILL = {
11
+ error: "fill-red-500/20",
12
+ info: "fill-blue-500/20",
13
+ warn: "fill-amber-500/20"
14
+ };
15
+ const SEVERITY_LABEL = {
16
+ error: "Error",
17
+ info: "Info",
18
+ warn: "Warning"
19
+ };
20
+ const safeRadius = (value) => value < 6 ? 6 : value;
21
+ const AlertPulse = forwardRef(
22
+ (props, ref) => {
23
+ const {
24
+ className,
25
+ cx,
26
+ cy,
27
+ labels,
28
+ radius = 36,
29
+ reducedMotion = false,
30
+ severity = "warn",
31
+ ...rest
32
+ } = props;
33
+ const r = safeRadius(radius);
34
+ const ariaLabel = labels?.region ?? SEVERITY_LABEL[severity];
35
+ const size = r * 2 + 24;
36
+ return /* @__PURE__ */ jsxs(
37
+ "svg",
38
+ {
39
+ "aria-label": ariaLabel,
40
+ className: cn(
41
+ "pointer-events-none absolute z-20 overflow-visible",
42
+ className
43
+ ),
44
+ "data-alert-pulse": true,
45
+ "data-alert-severity": severity,
46
+ height: size,
47
+ ref,
48
+ role: "img",
49
+ style: {
50
+ left: cx - size / 2,
51
+ top: cy - size / 2
52
+ },
53
+ width: size,
54
+ ...rest,
55
+ children: [
56
+ /* @__PURE__ */ jsx(
57
+ "circle",
58
+ {
59
+ className: cn("origin-center", SEVERITY_STROKE[severity]),
60
+ cx: size / 2,
61
+ cy: size / 2,
62
+ fill: "none",
63
+ r,
64
+ strokeOpacity: 0.7,
65
+ strokeWidth: 2
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsx(
69
+ "circle",
70
+ {
71
+ className: cn(
72
+ "origin-center",
73
+ SEVERITY_STROKE[severity],
74
+ SEVERITY_FILL[severity],
75
+ reducedMotion ? null : "animate-ping"
76
+ ),
77
+ cx: size / 2,
78
+ cy: size / 2,
79
+ "data-alert-pulse-ring": true,
80
+ r,
81
+ strokeOpacity: 0.4,
82
+ strokeWidth: 2
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ );
88
+ }
89
+ );
90
+ AlertPulse.displayName = "AlertPulse";
91
+ export {
92
+ AlertPulse
93
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ AlertPulse
3
+ } from "./alert-pulse";
4
+ export {
5
+ AlertPulse
6
+ };
@@ -0,0 +1,98 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useId } from "react";
4
+ import { cn } from "../../lib/utils";
5
+ const DEFAULT_LABELS = {
6
+ region: "Context lens"
7
+ };
8
+ const clamp01 = (value) => {
9
+ if (value < 0) {
10
+ return 0;
11
+ }
12
+ if (value > 1) {
13
+ return 1;
14
+ }
15
+ return value;
16
+ };
17
+ const safeRadius = (value) => value < 0 ? 0 : value;
18
+ const ContextLens = forwardRef(
19
+ (props, ref) => {
20
+ const { className, focus, labels, opacity = 0.55, ...rest } = props;
21
+ const maskId = useId();
22
+ if (!focus) {
23
+ return null;
24
+ }
25
+ const resolvedLabels = { ...DEFAULT_LABELS, ...labels };
26
+ const inner = safeRadius(focus.inner);
27
+ const outer = safeRadius(Math.max(focus.outer, inner));
28
+ const fillOpacity = clamp01(opacity);
29
+ return /* @__PURE__ */ jsxs(
30
+ "svg",
31
+ {
32
+ "aria-hidden": "true",
33
+ "aria-label": resolvedLabels.region,
34
+ className: cn(
35
+ "pointer-events-none absolute inset-0 z-20 h-full w-full",
36
+ className
37
+ ),
38
+ "data-context-lens": true,
39
+ ref,
40
+ ...rest,
41
+ children: [
42
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
43
+ "radialGradient",
44
+ {
45
+ cx: focus.cx,
46
+ cy: focus.cy,
47
+ "data-context-lens-gradient": true,
48
+ gradientUnits: "userSpaceOnUse",
49
+ id: maskId,
50
+ r: outer === 0 ? 1 : outer,
51
+ children: [
52
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "black", stopOpacity: 0 }),
53
+ /* @__PURE__ */ jsx(
54
+ "stop",
55
+ {
56
+ offset: outer === 0 ? "100%" : `${inner / outer * 100}%`,
57
+ stopColor: "black",
58
+ stopOpacity: 0
59
+ }
60
+ ),
61
+ /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: "black", stopOpacity: 1 })
62
+ ]
63
+ }
64
+ ) }),
65
+ /* @__PURE__ */ jsx(
66
+ "rect",
67
+ {
68
+ "data-context-lens-dim": true,
69
+ fill: "black",
70
+ fillOpacity,
71
+ height: "100%",
72
+ mask: `url(#${maskId}-mask)`,
73
+ width: "100%",
74
+ x: 0,
75
+ y: 0
76
+ }
77
+ ),
78
+ /* @__PURE__ */ jsxs("mask", { id: `${maskId}-mask`, children: [
79
+ /* @__PURE__ */ jsx("rect", { fill: "white", height: "100%", width: "100%", x: 0, y: 0 }),
80
+ /* @__PURE__ */ jsx(
81
+ "circle",
82
+ {
83
+ cx: focus.cx,
84
+ cy: focus.cy,
85
+ fill: `url(#${maskId})`,
86
+ r: outer
87
+ }
88
+ )
89
+ ] })
90
+ ]
91
+ }
92
+ );
93
+ }
94
+ );
95
+ ContextLens.displayName = "ContextLens";
96
+ export {
97
+ ContextLens
98
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ ContextLens
3
+ } from "./context-lens";
4
+ export {
5
+ ContextLens
6
+ };
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ forwardRef
5
+ } from "react";
6
+ import { cn } from "../../lib/utils";
7
+ const VARIANT_CLASSES = {
8
+ destructive: "border-red-300 bg-red-500/10 text-red-700 hover:bg-red-500/20 dark:text-red-300",
9
+ ghost: "border-border bg-background text-foreground hover:bg-accent",
10
+ primary: "border-primary bg-primary text-primary-foreground hover:bg-primary/90"
11
+ };
12
+ const DEFAULT_LABELS = {
13
+ region: "Selection actions"
14
+ };
15
+ const FloatingToolbar = forwardRef(
16
+ (props, ref) => {
17
+ const { actions, className, labels, x, y, ...rest } = props;
18
+ const resolvedLabels = { ...DEFAULT_LABELS, ...labels };
19
+ return /* @__PURE__ */ jsx(
20
+ "div",
21
+ {
22
+ "aria-label": resolvedLabels.region,
23
+ className: cn(
24
+ "absolute z-30 flex -translate-y-full items-center gap-1 rounded-md border border-border bg-background/95 p-1 shadow-md backdrop-blur",
25
+ className
26
+ ),
27
+ "data-floating-toolbar": true,
28
+ ref,
29
+ role: "toolbar",
30
+ style: { left: `${x.toString()}px`, top: `${y.toString()}px` },
31
+ ...rest,
32
+ children: actions.map((action) => {
33
+ const variant = action.variant ?? "ghost";
34
+ const handleClick = () => {
35
+ action.onActivate();
36
+ };
37
+ return /* @__PURE__ */ jsxs(
38
+ "button",
39
+ {
40
+ "aria-label": action.ariaLabel ?? void 0,
41
+ className: cn(
42
+ "inline-flex h-7 items-center gap-1 rounded-md border px-2 text-xs font-medium transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",
43
+ VARIANT_CLASSES[variant],
44
+ action.disabled ? "cursor-not-allowed opacity-50" : ""
45
+ ),
46
+ "data-action-id": action.id,
47
+ "data-variant": variant,
48
+ disabled: action.disabled,
49
+ onClick: handleClick,
50
+ type: "button",
51
+ children: [
52
+ action.glyph ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "inline-flex h-3 w-3", children: action.glyph }) : null,
53
+ /* @__PURE__ */ jsx("span", { children: action.label })
54
+ ]
55
+ },
56
+ action.id
57
+ );
58
+ })
59
+ }
60
+ );
61
+ }
62
+ );
63
+ FloatingToolbar.displayName = "FloatingToolbar";
64
+ export {
65
+ FloatingToolbar
66
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ FloatingToolbar
3
+ } from "./floating-toolbar";
4
+ export {
5
+ FloatingToolbar
6
+ };
@@ -0,0 +1,89 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ forwardRef
5
+ } from "react";
6
+ import { cn } from "../../lib/utils";
7
+ const PALETTE = {
8
+ amber: { chip: "bg-amber-500 text-white", ring: "ring-amber-500" },
9
+ blue: { chip: "bg-blue-500 text-white", ring: "ring-blue-500" },
10
+ emerald: { chip: "bg-emerald-500 text-white", ring: "ring-emerald-500" },
11
+ purple: { chip: "bg-purple-500 text-white", ring: "ring-purple-500" },
12
+ red: { chip: "bg-red-500 text-white", ring: "ring-red-500" },
13
+ rose: { chip: "bg-rose-500 text-white", ring: "ring-rose-500" }
14
+ };
15
+ const DEFAULT_LABELS = {
16
+ region: "Follow mode",
17
+ stop: "Stop"
18
+ };
19
+ const FollowMode = forwardRef(
20
+ (props, ref) => {
21
+ const {
22
+ children,
23
+ className,
24
+ color = "blue",
25
+ labels,
26
+ name,
27
+ onStop,
28
+ ...rest
29
+ } = props;
30
+ const palette = PALETTE[color];
31
+ const resolvedLabels = { ...DEFAULT_LABELS, ...labels };
32
+ return /* @__PURE__ */ jsxs(
33
+ "div",
34
+ {
35
+ "aria-label": resolvedLabels.region,
36
+ className: cn(
37
+ "relative h-full w-full rounded-2xl ring-2 ring-inset",
38
+ palette.ring,
39
+ className
40
+ ),
41
+ "data-follow-color": color,
42
+ ref,
43
+ ...rest,
44
+ children: [
45
+ /* @__PURE__ */ jsxs(
46
+ "div",
47
+ {
48
+ className: "pointer-events-auto absolute left-1/2 top-2 z-30 flex -translate-x-1/2 items-center gap-1 rounded-full px-2 py-0.5 text-[11px] font-semibold shadow-sm",
49
+ "data-follow-chip": true,
50
+ children: [
51
+ /* @__PURE__ */ jsxs(
52
+ "span",
53
+ {
54
+ className: cn(
55
+ "inline-flex items-center gap-1 rounded-full px-1.5 py-0.5",
56
+ palette.chip
57
+ ),
58
+ children: [
59
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: "\u25B8" }),
60
+ /* @__PURE__ */ jsxs("span", { children: [
61
+ "Following ",
62
+ name
63
+ ] })
64
+ ]
65
+ }
66
+ ),
67
+ onStop ? /* @__PURE__ */ jsx(
68
+ "button",
69
+ {
70
+ "aria-label": resolvedLabels.stop,
71
+ className: "inline-flex h-5 items-center rounded-full border border-border bg-background px-2 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground hover:bg-accent focus:outline-none focus-visible:ring-2 focus-visible:ring-ring",
72
+ onClick: onStop,
73
+ type: "button",
74
+ children: resolvedLabels.stop
75
+ }
76
+ ) : null
77
+ ]
78
+ }
79
+ ),
80
+ children
81
+ ]
82
+ }
83
+ );
84
+ }
85
+ );
86
+ FollowMode.displayName = "FollowMode";
87
+ export {
88
+ FollowMode
89
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ FollowMode
3
+ } from "./follow-mode";
4
+ export {
5
+ FollowMode
6
+ };
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ forwardRef
5
+ } from "react";
6
+ import { cn } from "../../lib/utils";
7
+ const LEVEL_RING = {
8
+ info: "ring-blue-500",
9
+ request: "ring-amber-500",
10
+ urgent: "ring-red-500 animate-pulse"
11
+ };
12
+ const LEVEL_DOT = {
13
+ info: "bg-blue-500",
14
+ request: "bg-amber-500",
15
+ urgent: "bg-red-500"
16
+ };
17
+ const DEFAULT_LABELS = {
18
+ region: "Attention"
19
+ };
20
+ const HandoffBeacon = forwardRef(
21
+ (props, ref) => {
22
+ const {
23
+ className,
24
+ labels,
25
+ level = "info",
26
+ message,
27
+ source,
28
+ x,
29
+ y,
30
+ ...rest
31
+ } = props;
32
+ const resolvedLabels = { ...DEFAULT_LABELS, ...labels };
33
+ return /* @__PURE__ */ jsxs(
34
+ "div",
35
+ {
36
+ "aria-label": resolvedLabels.region,
37
+ className: cn(
38
+ "pointer-events-none absolute z-30 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-1",
39
+ className
40
+ ),
41
+ "data-handoff-level": level,
42
+ ref,
43
+ role: "status",
44
+ style: { left: `${x.toString()}px`, top: `${y.toString()}px` },
45
+ ...rest,
46
+ children: [
47
+ /* @__PURE__ */ jsx(
48
+ "span",
49
+ {
50
+ "aria-hidden": "true",
51
+ className: cn(
52
+ "block h-3 w-3 rounded-full ring-2 ring-offset-2 ring-offset-background",
53
+ LEVEL_DOT[level],
54
+ LEVEL_RING[level]
55
+ )
56
+ }
57
+ ),
58
+ source || message ? /* @__PURE__ */ jsx(
59
+ "div",
60
+ {
61
+ className: "pointer-events-auto rounded-md border border-border bg-popover px-2 py-1 text-center text-[11px] font-medium shadow-md",
62
+ "data-handoff-card": true,
63
+ children: source ? /* @__PURE__ */ jsxs("p", { className: "text-foreground", children: [
64
+ /* @__PURE__ */ jsx("span", { className: "font-semibold", children: source }),
65
+ message ? /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: " \xB7 " }) : null,
66
+ message ? /* @__PURE__ */ jsx("span", { children: message }) : null
67
+ ] }) : message ? /* @__PURE__ */ jsx("p", { className: "text-foreground", children: message }) : null
68
+ }
69
+ ) : null
70
+ ]
71
+ }
72
+ );
73
+ }
74
+ );
75
+ HandoffBeacon.displayName = "HandoffBeacon";
76
+ export {
77
+ HandoffBeacon
78
+ };
@@ -0,0 +1,6 @@
1
+ import {
2
+ HandoffBeacon
3
+ } from "./handoff-beacon";
4
+ export {
5
+ HandoffBeacon
6
+ };
@@ -505,6 +505,15 @@ import {
505
505
  import {
506
506
  FloatingActionButton
507
507
  } from "./floating-action-button";
508
+ import {
509
+ FloatingToolbar
510
+ } from "./floating-toolbar";
511
+ import {
512
+ SelectionHalo
513
+ } from "./selection-halo";
514
+ import {
515
+ SnapGuides
516
+ } from "./snap-guides";
508
517
  import {
509
518
  KeyboardShortcutsHelp
510
519
  } from "./keyboard-shortcuts-help";
@@ -525,6 +534,12 @@ import {
525
534
  import {
526
535
  HorizontalScrollRow
527
536
  } from "./horizontal-scroll-row";
537
+ import {
538
+ FollowMode
539
+ } from "./follow-mode";
540
+ import {
541
+ HandoffBeacon
542
+ } from "./handoff-beacon";
528
543
  import {
529
544
  ViewSwitcher
530
545
  } from "./view-switcher";
@@ -538,6 +553,9 @@ import {
538
553
  FlowFullscreen,
539
554
  useFlowDiagram
540
555
  } from "./flow-diagram";
556
+ import {
557
+ AlertPulse
558
+ } from "./alert-pulse";
541
559
  import { AnchorPort } from "./anchor-port";
542
560
  import {
543
561
  BottomActivityStrip
@@ -548,42 +566,75 @@ import {
548
566
  import {
549
567
  ConnectorEdge
550
568
  } from "./connector-edge";
569
+ import {
570
+ ContextLens
571
+ } from "./context-lens";
551
572
  import { EdgeLabel } from "./edge-label";
552
573
  import { GroupHull } from "./group-hull";
553
574
  import {
554
575
  HeatOverlay
555
576
  } from "./heat-overlay";
577
+ import {
578
+ JarvisDock
579
+ } from "./jarvis-dock";
556
580
  import {
557
581
  LiveCursor
558
582
  } from "./live-cursor";
559
583
  import {
560
584
  MetricCluster
561
585
  } from "./metric-cluster";
586
+ import {
587
+ MultiSelectLasso
588
+ } from "./multi-select-lasso";
562
589
  import {
563
590
  ObjectCard
564
591
  } from "./object-card";
565
592
  import { ObjectHandle } from "./object-handle";
593
+ import {
594
+ ObjectInspector
595
+ } from "./object-inspector";
566
596
  import {
567
597
  PlaybackGhost
568
598
  } from "./playback-ghost";
599
+ import {
600
+ PolicyDeliveryPanel
601
+ } from "./policy-delivery-panel";
569
602
  import {
570
603
  PresenceStack
571
604
  } from "./presence-stack";
572
605
  import {
573
606
  PresenceSyncIndicator
574
607
  } from "./presence-sync-indicator";
608
+ import {
609
+ PropertySection
610
+ } from "./property-section";
611
+ import {
612
+ RelationshipInspector
613
+ } from "./relationship-inspector";
614
+ import {
615
+ RoutingAssignmentPanel
616
+ } from "./routing-assignment-panel";
575
617
  import {
576
618
  RunTimeline
577
619
  } from "./run-timeline";
620
+ import {
621
+ RuntimeOverviewPanel
622
+ } from "./runtime-overview-panel";
578
623
  import {
579
624
  SelectionPresence
580
625
  } from "./selection-presence";
581
626
  import {
582
627
  StateBadgeOverlay
583
628
  } from "./state-badge-overlay";
629
+ import {
630
+ StickyMetric
631
+ } from "./sticky-metric";
584
632
  import {
585
633
  ThreadBubble
586
634
  } from "./thread-bubble";
635
+ import {
636
+ ThresholdRing
637
+ } from "./threshold-ring";
587
638
  import {
588
639
  TimelineScrubber
589
640
  } from "./timeline-scrubber";
@@ -628,6 +679,7 @@ export {
628
679
  AlertDialogPortal,
629
680
  AlertDialogTitle,
630
681
  AlertDialogTrigger,
682
+ AlertPulse,
631
683
  AlertTitle,
632
684
  AnchorPort,
633
685
  AnimatedText,
@@ -689,6 +741,7 @@ export {
689
741
  ConnectorEdge,
690
742
  ContentCard,
691
743
  ContentIntro,
744
+ ContextLens,
692
745
  ContextMenu,
693
746
  ContextMenuCheckboxItem,
694
747
  ContextMenuContent,
@@ -768,10 +821,12 @@ export {
768
821
  FilterBar,
769
822
  Flashcard,
770
823
  FloatingActionButton,
824
+ FloatingToolbar,
771
825
  FlowControls,
772
826
  FlowDiagram,
773
827
  FlowErrorBoundary,
774
828
  FlowFullscreen,
829
+ FollowMode,
775
830
  Form,
776
831
  FormControl,
777
832
  FormDescription,
@@ -782,6 +837,7 @@ export {
782
837
  GlassPanel,
783
838
  Glossary,
784
839
  GroupHull,
840
+ HandoffBeacon,
785
841
  HeatOverlay,
786
842
  Highlight,
787
843
  HorizontalScrollRow,
@@ -795,6 +851,7 @@ export {
795
851
  InputOTPGroup,
796
852
  InputOTPSeparator,
797
853
  InputOTPSlot,
854
+ JarvisDock,
798
855
  KeyConcept,
799
856
  KeyboardShortcutsHelp,
800
857
  Label,
@@ -828,6 +885,7 @@ export {
828
885
  MiniMapPanel,
829
886
  ModelSelector,
830
887
  MultiSelect,
888
+ MultiSelectLasso,
831
889
  NavbarSaas,
832
890
  NavigationMenu,
833
891
  NavigationMenuContent,
@@ -841,6 +899,7 @@ export {
841
899
  NumberTicker,
842
900
  ObjectCard,
843
901
  ObjectHandle,
902
+ ObjectInspector,
844
903
  OrderBook,
845
904
  OverviewBoard,
846
905
  OverviewCard,
@@ -848,6 +907,7 @@ export {
848
907
  PasswordInput,
849
908
  PlanBadge,
850
909
  PlaybackGhost,
910
+ PolicyDeliveryPanel,
851
911
  Popover,
852
912
  PopoverAnchor,
853
913
  PopoverContent,
@@ -866,16 +926,20 @@ export {
866
926
  ProgressTrackerOverview,
867
927
  ProgressTrackerStat,
868
928
  ProgressTrackerStats,
929
+ PropertySection,
869
930
  Quiz,
870
931
  RadioGroup,
871
932
  RadioGroupItem,
872
933
  Rating,
934
+ RelationshipInspector,
873
935
  ResizableHandle,
874
936
  ResizablePanel,
875
937
  ResizablePanelGroup,
876
938
  RightDock,
877
939
  RoleBadge,
940
+ RoutingAssignmentPanel,
878
941
  RunTimeline,
942
+ RuntimeOverviewPanel,
879
943
  ScopeSelector,
880
944
  ScrollArea,
881
945
  ScrollBar,
@@ -893,6 +957,7 @@ export {
893
957
  SelectSeparator,
894
958
  SelectTrigger,
895
959
  SelectValue,
960
+ SelectionHalo,
896
961
  SelectionPresence,
897
962
  Separator,
898
963
  SeverityBadge,
@@ -915,6 +980,7 @@ export {
915
980
  Skeleton,
916
981
  Slider,
917
982
  Slideshow,
983
+ SnapGuides,
918
984
  SocialFAB,
919
985
  SparklineGrid,
920
986
  Spinner,
@@ -926,6 +992,7 @@ export {
926
992
  StepByStep,
927
993
  StepNavigation,
928
994
  Stepper,
995
+ StickyMetric,
929
996
  SubscriptionCard,
930
997
  Summary,
931
998
  Switch,
@@ -951,6 +1018,7 @@ export {
951
1018
  ThemeToggle,
952
1019
  ThinkingBlock,
953
1020
  ThreadBubble,
1021
+ ThresholdRing,
954
1022
  TickerTape,
955
1023
  TimelineScrubber,
956
1024
  Toast,
@@ -0,0 +1,6 @@
1
+ import {
2
+ JarvisDock
3
+ } from "./jarvis-dock";
4
+ export {
5
+ JarvisDock
6
+ };