@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.38.1 → 0.5.0-beta.40.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.
package/dist/index.d.ts CHANGED
@@ -21,6 +21,7 @@ import { HoverCard as HoverCard_2 } from 'radix-ui';
21
21
  import { JSX } from 'react/jsx-runtime';
22
22
  import { Label as Label_2 } from 'radix-ui';
23
23
  import { Locale } from 'react-day-picker';
24
+ import { LucideIcon } from 'lucide-react';
24
25
  import { Menubar as Menubar_2 } from 'radix-ui';
25
26
  import { NavigationMenu as NavigationMenu_2 } from 'radix-ui';
26
27
  import { OnChange } from '@monaco-editor/react';
@@ -215,6 +216,15 @@ export declare function BreadcrumbEllipsis({ className, ...props }: React_2.Comp
215
216
 
216
217
  export declare function BreadcrumbItem({ className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
217
218
 
219
+ export declare interface BreadcrumbItemConfig {
220
+ /** Display label */
221
+ label: string;
222
+ /** If provided, renders as a link */
223
+ href?: string;
224
+ /** Click handler (used when no href is provided) */
225
+ onClick?: () => void;
226
+ }
227
+
218
228
  export declare function BreadcrumbLink({ asChild, className, ...props }: React_2.ComponentProps<"a"> & {
219
229
  asChild?: boolean;
220
230
  }): JSX.Element;
@@ -256,7 +266,7 @@ export declare const buttonGroupVariants: (props?: ({
256
266
 
257
267
  export declare const buttonVariants: (props?: ({
258
268
  variant?: "link" | "default" | "outline" | "secondary" | "ghost" | "destructive" | null | undefined;
259
- size?: "sm" | "default" | "xs" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
269
+ size?: "default" | "icon" | "xs" | "sm" | "lg" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
260
270
  } & ClassProp) | undefined) => string;
261
271
 
262
272
  export declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, locale, formatters, components, ...props }: React_2.ComponentProps<typeof DayPicker> & {
@@ -662,6 +672,41 @@ export declare function ContextMenuSubTrigger({ className, inset, children, ...p
662
672
 
663
673
  export declare function ContextMenuTrigger({ className, ...props }: React_2.ComponentProps<typeof ContextMenu_2.Trigger>): JSX.Element;
664
674
 
675
+ export declare function DataAppShell({ appName, appFullName, appIcon, version, navGroups, onAppNameClick, backToPlatformPath, onBackToPlatform, userMenu, breadcrumbs, onHelpClick, headerActions, sidebarPanel, children, className, }: DataAppShellProps): JSX.Element;
676
+
677
+ export declare interface DataAppShellProps {
678
+ /** Application name/abbreviation shown in the logo button */
679
+ appName: string;
680
+ /** Full application name shown in the app dropdown and mobile nav header */
681
+ appFullName?: string;
682
+ /** Custom icon element shown in the logo area */
683
+ appIcon?: React_2.ReactNode;
684
+ /** Optional version string shown below the app name/icon in the sidebar header */
685
+ version?: string;
686
+ /** Navigation groups; each group contains one or more pages */
687
+ navGroups: NavGroup[];
688
+ /** Callback when the app name / icon is clicked in the dropdown */
689
+ onAppNameClick?: () => void;
690
+ /** TDP path to navigate to when "Back to TDP Platform" is clicked (uses TDPLink — requires TdpNavigationProvider) */
691
+ backToPlatformPath?: string;
692
+ /** Fallback callback when "Back to TDP Platform" is clicked and no backToPlatformPath is set */
693
+ onBackToPlatform?: () => void;
694
+ /** Slot rendered at the bottom of the sidebar (e.g. user avatar + menu) */
695
+ userMenu?: React_2.ReactNode;
696
+ /** Breadcrumb items from root to current page */
697
+ breadcrumbs?: BreadcrumbItemConfig[];
698
+ /** Callback when the help button is clicked; omit to hide the button */
699
+ onHelpClick?: () => void;
700
+ /** Slot for right-side actions in the top nav (e.g. data count pills, next button) */
701
+ headerActions?: React_2.ReactNode;
702
+ /** Slot rendered between the icon rail and the content (e.g. WorkflowPanel) */
703
+ sidebarPanel?: React_2.ReactNode;
704
+ /** Main content area */
705
+ children: React_2.ReactNode;
706
+ /** Additional className for the root container */
707
+ className?: string;
708
+ }
709
+
665
710
  export declare function DataTable<TData, TValue>({ columns, data, toolbar, enableSorting, enableColumnVisibility, children, columnOrder: controlledColumnOrder, onColumnOrderChange, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange, columnLabels: controlledColumnLabels, onColumnLabelChange, enablePagination, defaultPageSize, pagination: controlledPagination, onPaginationChange, enableColumnReorder, density, className, variant, containerClassName, }: DataTableProps<TData, TValue>): JSX.Element;
666
711
 
667
712
  export declare function DataTableColumnToggle({ className }: DataTableColumnToggleProps): JSX.Element | null;
@@ -956,7 +1001,7 @@ declare const inputGroupAddonVariants: (props?: ({
956
1001
  export declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React_2.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): JSX.Element;
957
1002
 
958
1003
  declare const inputGroupButtonVariants: (props?: ({
959
- size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
1004
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
960
1005
  } & ClassProp) | undefined) => string;
961
1006
 
962
1007
  export declare function InputGroupInput({ className, ...props }: React_2.ComponentProps<"input">): JSX.Element;
@@ -996,7 +1041,7 @@ export declare function ItemHeader({ className, ...props }: React_2.ComponentPro
996
1041
  export declare function ItemMedia({ className, variant, ...props }: React_2.ComponentProps<"div"> & VariantProps<typeof itemMediaVariants>): JSX.Element;
997
1042
 
998
1043
  declare const itemMediaVariants: (props?: ({
999
- variant?: "image" | "default" | "icon" | null | undefined;
1044
+ variant?: "default" | "icon" | "image" | null | undefined;
1000
1045
  } & ClassProp) | undefined) => string;
1001
1046
 
1002
1047
  export declare function ItemSeparator({ className, ...props }: React_2.ComponentProps<typeof Separator>): JSX.Element;
@@ -1005,7 +1050,7 @@ export declare function ItemTitle({ className, ...props }: React_2.ComponentProp
1005
1050
 
1006
1051
  declare const itemVariants: (props?: ({
1007
1052
  variant?: "default" | "outline" | "muted" | null | undefined;
1008
- size?: "sm" | "default" | "xs" | null | undefined;
1053
+ size?: "default" | "xs" | "sm" | null | undefined;
1009
1054
  } & ClassProp) | undefined) => string;
1010
1055
 
1011
1056
  export declare function Kbd({ className, ...props }: React.ComponentProps<"kbd">): JSX.Element;
@@ -1175,6 +1220,13 @@ export declare function MenubarSubTrigger({ className, inset, children, ...props
1175
1220
 
1176
1221
  export declare function MenubarTrigger({ className, ...props }: React_2.ComponentProps<typeof Menubar_2.Trigger>): JSX.Element;
1177
1222
 
1223
+ export declare interface NavGroup {
1224
+ /** Optional group label shown as a section header in expanded nav */
1225
+ label?: string;
1226
+ /** Page entries in this group */
1227
+ pages: NavPage[];
1228
+ }
1229
+
1178
1230
  /**
1179
1231
  * Navigate to a TDP URL.
1180
1232
  *
@@ -1207,6 +1259,19 @@ export declare const navigationMenuTriggerStyle: (props?: ClassProp | undefined)
1207
1259
 
1208
1260
  export declare function NavigationMenuViewport({ className, ...props }: React_2.ComponentProps<typeof NavigationMenu_2.Viewport>): JSX.Element;
1209
1261
 
1262
+ export declare interface NavPage {
1263
+ /** Unique identifier */
1264
+ id: string;
1265
+ /** Display label */
1266
+ label: string;
1267
+ /** Lucide icon or custom React SVG component */
1268
+ icon?: LucideIcon | React_2.FC<React_2.SVGProps<SVGSVGElement>>;
1269
+ /** Whether this page is currently active */
1270
+ isActive?: boolean;
1271
+ /** Click handler */
1272
+ onClick?: () => void;
1273
+ }
1274
+
1210
1275
  /**
1211
1276
  * Peak annotation for labeling peaks on the chromatogram.
1212
1277
  * Used for both user-provided annotations and auto-detected peaks.
@@ -1593,7 +1658,7 @@ export declare function SidebarMenuButton({ asChild, isActive, variant, size, to
1593
1658
 
1594
1659
  declare const sidebarMenuButtonVariants: (props?: ({
1595
1660
  variant?: "default" | "outline" | null | undefined;
1596
- size?: "sm" | "default" | "lg" | null | undefined;
1661
+ size?: "default" | "sm" | "lg" | null | undefined;
1597
1662
  } & ClassProp) | undefined) => string;
1598
1663
 
1599
1664
  export declare function SidebarMenuItem({ className, ...props }: React_2.ComponentProps<"li">): JSX.Element;
@@ -1631,7 +1696,7 @@ export declare function Slider({ className, defaultValue, value, min, max, ...pr
1631
1696
  export declare function Spinner({ className, size, ...props }: React.ComponentProps<"svg"> & VariantProps<typeof spinnerVariants>): JSX.Element;
1632
1697
 
1633
1698
  export declare const spinnerVariants: (props?: ({
1634
- size?: "sm" | "default" | "lg" | "md" | null | undefined;
1699
+ size?: "default" | "sm" | "lg" | "md" | null | undefined;
1635
1700
  } & ClassProp) | undefined) => string;
1636
1701
 
1637
1702
  export declare function Switch({ className, size, ...props }: React_2.ComponentProps<typeof Switch_2.Root> & {
@@ -1678,7 +1743,7 @@ export declare function TabsContent({ className, ...props }: React_2.ComponentPr
1678
1743
  export declare function TabsList({ className, variant, ...props }: React_2.ComponentProps<typeof Tabs_2.List> & VariantProps<typeof tabsListVariants>): JSX.Element;
1679
1744
 
1680
1745
  export declare const tabsListVariants: (props?: ({
1681
- variant?: "line" | "default" | null | undefined;
1746
+ variant?: "default" | "line" | null | undefined;
1682
1747
  } & ClassProp) | undefined) => string;
1683
1748
 
1684
1749
  export declare function TabsTrigger({ className, ...props }: React_2.ComponentProps<typeof Tabs_2.Trigger>): JSX.Element;
@@ -1890,7 +1955,7 @@ export declare function ToggleGroupItem({ className, children, variant, size, ..
1890
1955
 
1891
1956
  export declare const toggleVariants: (props?: ({
1892
1957
  variant?: "default" | "outline" | null | undefined;
1893
- size?: "sm" | "default" | "lg" | null | undefined;
1958
+ size?: "default" | "sm" | "lg" | null | undefined;
1894
1959
  } & ClassProp) | undefined) => string;
1895
1960
 
1896
1961
  export declare function Tooltip({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Root>): JSX.Element;