it-data-nexus-ui-library 2.10.20 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Button as o}from"@mui/material";import{useTheme as r,darken as t,alpha as i}from"@mui/material/styles";import{colours as a}from"../Theme/tokens.mjs";const n={small:{height:28,px:"14px",fontSize:"0.7rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}},l=({color:l="primary",size:m="medium",children:s,sx:d,...p})=>{const c=r(),h="dark"===c.palette.mode,x="error"===l,u=x?c.palette.error.main:h?a.jadeLight:a.jadeDark,g=x?c.palette.error.dark:h?t(a.jadeLight,.3):a.jadeLight,f=x?c.palette.error.contrastText:h?a.black:a.white,b=x?i(f,.6):h?i(a.black,1):i(a.white,.5),{height:k,px:z,fontSize:S}=n[m];return e(o,{variant:"contained",size:m,sx:[{borderRadius:999,minHeight:k,paddingInline:z,fontSize:S,fontFamily:"inherit",backgroundColor:u,color:f,transition:"color 160ms ease, background-color 160ms ease, box-shadow 160ms ease","&:hover":{backgroundColor:g,color:f,boxShadow:`0 2px 6px ${i(u,.25)}`},"&:active":{boxShadow:`0 1px 3px ${i(u,.15)}`},"&:focus-visible":{outline:`2px solid ${u}`,outlineOffset:3},"&.Mui-disabled":{backgroundColor:i(u,.6),color:b,pointerEvents:"auto",cursor:"not-allowed"}},...Array.isArray(d)?d:d?[d]:[]],...p,children:s})};export{l as PrimaryButton};
1
+ import{jsx as e}from"react/jsx-runtime";import{Button as r}from"@mui/material";import{useTheme as o,alpha as t,darken as i,lighten as a}from"@mui/material/styles";import{colours as l}from"../Theme/tokens.mjs";const d={small:{height:28,px:"14px",fontSize:"0.7rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}},n=(e,r="primary")=>{const o="dark"===e.palette.mode,t="error"===r,d=t?e.palette.error.main:o?l.jadeLight:l.jadeDark;return{bg:d,bgHover:t?e.palette.error.dark:o?i(l.jadeLight,.3):l.jadeLight,textColour:t?e.palette.error.contrastText:o?l.black:l.white,disabledBg:o?i(d,.8):a(d,.85),disabledTextColour:t?o?l.cherryLight:e.palette.error.dark:d}},s=({color:i="primary",size:a="medium",children:l,sx:s,...m})=>{const p=o(),{bg:x,bgHover:c,textColour:h,disabledBg:u,disabledTextColour:g}=n(p,i),{height:b,px:f,fontSize:k}=d[a];return e(r,{variant:"contained",size:a,sx:[{borderRadius:999,minHeight:b,paddingInline:f,fontSize:k,fontFamily:"inherit",backgroundColor:x,color:h,transition:"color 160ms ease, background-color 160ms ease, box-shadow 160ms ease","&:hover":{backgroundColor:c,color:h,boxShadow:`0 2px 6px ${t(x,.25)}`},"&:active":{boxShadow:`0 1px 3px ${t(x,.15)}`},"&:focus-visible":{outline:`2px solid ${x}`,outlineOffset:3},"&.Mui-disabled":{backgroundColor:u,color:g,pointerEvents:"auto",cursor:"not-allowed"}},...Array.isArray(s)?s:s?[s]:[]],...m,children:l})};export{s as PrimaryButton,n as getPrimaryButtonColours};
@@ -0,0 +1 @@
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Stack as o,Box as t}from"@mui/material";import{alpha as i}from"@mui/material/styles";import{useContext as n,useRef as a,useCallback as c}from"react";import{FlowPaletteContext as l}from"./paletteContext.mjs";import{H4 as m}from"../Typography.mjs";const d=({children:t,title:i})=>r(o,{spacing:1,sx:{p:1.5,border:"1px solid",borderColor:"primary.main",borderRadius:1,minWidth:150,bgcolor:"background.paper"},children:[void 0!==i&&e(m,{sx:{color:"text.secondary"},children:i}),t]}),p=({children:r,onDrop:o})=>{const t=a(null),i=c(r=>{t.current=r},[]),n=c(()=>t.current,[]),m=c(()=>{t.current=null},[]),d={onDrop:c((r,e)=>o(r,e),[o]),setActiveItem:i,getActiveItem:n,clearActiveItem:m};return e(l.Provider,{value:d,children:r})},s=({children:r,disabled:o=!1,item:a,onActivate:c})=>{const m=n(l);return e(t,{"aria-disabled":o||void 0,"aria-roledescription":"draggable flow item",component:"div",onKeyDown:r=>{o||"Enter"!==r.key&&" "!==r.key||(r.preventDefault(),c?.(a))},onPointerCancel:m?.clearActiveItem,onPointerDown:r=>{o||"mouse"===r.pointerType&&0!==r.button||m?.setActiveItem({item:a,pointerId:r.pointerId})},role:"button",sx:{cursor:o?"not-allowed":"grab",touchAction:"none",userSelect:"none",opacity:o?.5:1,border:"1px solid",borderColor:"primary.main",borderRadius:1,p:1,textAlign:"center",color:"primary.main",bgcolor:"background.paper",transition:"background-color 150ms ease","&:hover":{bgcolor:r=>i(r.palette.primary.main,.06)},"&:active":{cursor:o?"not-allowed":"grabbing"}},tabIndex:o?-1:0,children:r})};export{d as FlowNodePalette,s as FlowNodePaletteItem,p as FlowNodePaletteProvider};
@@ -0,0 +1 @@
1
+ import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import r from"@mui/material/GlobalStyles";import{useTheme as a,alpha as l}from"@mui/material/styles";import{ReactFlow as d,BackgroundVariant as n,Background as i,useReactFlow as p}from"@xyflow/react";import{useEffect as c}from"react";import{useFlowPaletteContext as u}from"./paletteContext.mjs";const s=()=>{const e=u(),t=p();return c(()=>{if(!e)return;const o=o=>{const r=e.getActiveItem();if(!r||r.pointerId!==o.pointerId)return;const a=document.elementFromPoint(o.clientX,o.clientY);a?.closest(".nexus-flow")&&e.onDrop(r.item,t.screenToFlowPosition({x:o.clientX,y:o.clientY})),e.clearActiveItem()},r=t=>{e.getActiveItem()?.pointerId===t.pointerId&&e.clearActiveItem()};return window.addEventListener("pointerup",o),window.addEventListener("pointercancel",r),()=>{window.removeEventListener("pointerup",o),window.removeEventListener("pointercancel",r)}},[t,e]),null},m=({background:p=n.Cross,children:c,className:u,defaultEdgeOptions:m,style:f,...x})=>{const y=a(),b={"--xy-background-color":y.palette.background.default,"--xy-edge-stroke-default":l(y.palette.primary.main,.5),"--xy-edge-stroke-selected-default":y.palette.primary.main,"--xy-edge-stroke-width-default":"1","--xy-connectionline-stroke-default":y.palette.primary.main,"--xy-connectionline-stroke-width-default":"1","--xy-node-color-default":y.palette.text.primary,"--xy-node-border-default":`1px solid ${l(y.palette.primary.main,.5)}`,"--xy-node-background-color-default":y.palette.background.paper,"--xy-node-group-background-color-default":l(y.palette.background.paper,.75),"--xy-node-boxshadow-hover-default":y.shadows[2],"--xy-node-boxshadow-selected-default":`0 0 0 1px ${y.palette.primary.main}`,"--xy-node-border-radius-default":`${y.shape.borderRadius}px`,"--xy-handle-background-color-default":y.palette.primary.main,"--xy-handle-border-color-default":y.palette.background.paper,"--xy-background-pattern-dots-color-default":y.palette.divider,"--xy-background-pattern-lines-color-default":y.palette.divider,"--xy-background-pattern-cross-color-default":y.palette.divider,"--xy-controls-button-background-color-default":y.palette.background.paper,"--xy-controls-button-background-color-hover-default":y.palette.action.hover,"--xy-controls-button-color-default":y.palette.text.primary,"--xy-controls-button-color-hover-default":y.palette.primary.main,"--xy-controls-button-border-color-default":y.palette.divider,"--xy-controls-box-shadow-default":y.shadows[2],"--xy-minimap-background-color-default":y.palette.background.paper,"--xy-minimap-mask-background-color-default":l(y.palette.background.default,.55),"--xy-minimap-mask-stroke-color-default":y.palette.divider,"--xy-minimap-node-background-color-default":y.palette.primary.main,"--xy-minimap-node-stroke-color-default":y.palette.background.paper,"--xy-edge-label-color-default":y.palette.text.primary,"--xy-edge-label-background-color-default":y.palette.background.paper,"--xy-attribution-background-color-default":l(y.palette.background.paper,.85),"--xy-selection-background-color-default":l(y.palette.primary.main,.12),"--xy-selection-border-default":`1px dotted ${l(y.palette.primary.main,.8)}`,"--xy-resize-background-color-default":y.palette.primary.main,backgroundColor:y.palette.background.default,border:`1px solid ${y.palette.primary.main}`,borderRadius:`${y.shape.borderRadius}px`,color:y.palette.text.primary,fontFamily:y.typography.fontFamily,...f};return e(t,{children:[o(r,{styles:{".nexus-flow .react-flow__minimap":{border:`1px solid ${y.palette.primary.main}`,borderRadius:`${y.shape.borderRadius}px`,overflow:"hidden"},".nexus-flow .react-flow__controls":{border:`1px solid ${y.palette.primary.main}`,borderRadius:`${y.shape.borderRadius}px`,overflow:"hidden"},".nexus-flow .react-flow__attribution a":{color:y.palette.text.disabled,textDecoration:"none"},".nexus-flow .react-flow__attribution a:hover":{color:y.palette.primary.main},".nexus-flow .react-flow__edge.selected .react-flow__edge-path":{strokeWidth:1},".nexus-flow .react-flow__node":{fontFamily:"inherit",fontSize:"inherit"}}}),e(d,{...x,defaultEdgeOptions:{type:"smoothstep",...m},colorMode:y.palette.mode,className:u?`nexus-flow ${u}`:"nexus-flow",style:b,children:[!1!==p&&o(i,{variant:p}),c,o(s,{})]})]})};m.displayName="NexusFlow";export{m as NexusFlow};
@@ -0,0 +1 @@
1
+ import{createContext as o,useContext as r}from"react";const t=o(null),c=()=>r(t);export{t as FlowPaletteContext,c as useFlowPaletteContext};
@@ -1 +1 @@
1
- const o="2.10.20";export{o as SAGE_NEXUS_UI_VERSION};
1
+ const o="2.11.0";export{o as SAGE_NEXUS_UI_VERSION};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import * as react from 'react';
2
- import react__default, { ReactNode, Ref, ReactElement, ElementType, FormEventHandler, RefObject, ComponentType, CSSProperties, PropsWithChildren } from 'react';
2
+ import react__default, { PropsWithChildren, ReactNode, Ref, ReactElement, ElementType, FormEventHandler, RefObject, ComponentType, CSSProperties } from 'react';
3
+ import { Node, Edge, ReactFlowProps, BackgroundVariant, XYPosition } from '@xyflow/react';
4
+ export { Align, BackgroundVariant, BuiltInEdge, BuiltInNode, Connection, ConnectionLineType, ConnectionMode, DefaultEdgeOptions, Edge, EdgeProps, EdgeTypes, FitViewOptions, Background as FlowBackground, BackgroundProps as FlowBackgroundProps, BaseEdge as FlowBaseEdge, BezierEdge as FlowBezierEdge, ControlButton as FlowControlButton, ControlButtonProps as FlowControlButtonProps, Controls as FlowControls, ControlProps as FlowControlsProps, EdgeLabelRenderer as FlowEdgeLabelRenderer, EdgeLabelRendererProps as FlowEdgeLabelRendererProps, EdgeToolbar as FlowEdgeToolbar, EdgeToolbarProps as FlowEdgeToolbarProps, Handle as FlowHandle, HandleProps as FlowHandleProps, MiniMap as FlowMiniMap, MiniMapProps as FlowMiniMapProps, NodeResizeControl as FlowNodeResizeControl, ResizeControlProps as FlowNodeResizeControlProps, NodeResizer as FlowNodeResizer, NodeResizerProps as FlowNodeResizerProps, NodeToolbar as FlowNodeToolbar, NodeToolbarProps as FlowNodeToolbarProps, Panel as FlowPanel, PanelProps as FlowPanelProps, ReactFlowProvider as FlowProvider, SmoothStepEdge as FlowSmoothStepEdge, StepEdge as FlowStepEdge, StraightEdge as FlowStraightEdge, ViewportPortal as FlowViewportPortal, InternalNode, MarkerType, Node, NodeProps, NodeTypes, OnConnect, OnEdgesChange, OnNodeDrag, OnNodesChange, OnReconnect, PanelPosition, Position, ReactFlowInstance, ReactFlowProps, SelectionMode, XYPosition, addEdge, applyEdgeChanges, applyNodeChanges, getBezierPath, getConnectedEdges, getIncomers, getNodesBounds, getOutgoers, getSmoothStepPath, getStraightPath, isEdge, isNode, useEdgesState, useHandleConnections, useNodeConnections, useNodeId, useNodesData, useNodesState, useReactFlow, useUpdateNodeInternals } from '@xyflow/react';
3
5
  import { AlertProps, SxProps as SxProps$1, Theme as Theme$1, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, ToggleButtonGroupProps, SwitchProps, SliderProps as SliderProps$1, AccordionSummaryProps, ButtonProps, ChipProps, CardProps as CardProps$1, PaperProps, CircularProgressProps, CollapseProps, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormGroupProps, DialogProps as DialogProps$1, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, TableProps, TableBodyProps, TableCellProps, TableHeadProps, TableRowProps, IconButtonProps as IconButtonProps$1, SkeletonProps as SkeletonProps$1, StackProps, TabProps, TabsProps, TextFieldProps, TooltipProps as TooltipProps$1 } from '@mui/material';
4
6
  export { AlertProps, AlertTitle, ButtonBaseProps, CheckboxProps, ChipProps, CircularProgressProps, CollapseProps, ContainerProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, FormControlLabelProps, FormGroupProps, GridProps, MenuItem, PaperProps, StackProps, SwitchProps, TabProps, TableBodyProps, TableCellProps, TableHeadProps, TableProps, TableRowProps, TabsProps, TextFieldProps, Theme, alpha, useMediaQuery, useTheme } from '@mui/material';
5
7
  import { BoxProps } from '@mui/material/Box';
@@ -32,6 +34,29 @@ interface DateRangeFilterProps {
32
34
  }
33
35
  declare const DateRangeFilter: ({ startDate, endDate, onChange, dataAvailableThrough, earliestStartDate, className, }: DateRangeFilterProps) => react.JSX.Element;
34
36
 
37
+ type NexusFlowProps<NodeType extends Node = Node, EdgeType extends Edge = Edge> = ReactFlowProps<NodeType, EdgeType> & {
38
+ background?: BackgroundVariant | false;
39
+ };
40
+ declare const NexusFlow: {
41
+ <NodeType extends Node = Node, EdgeType extends Edge = Edge>({ background, children, className, defaultEdgeOptions, style, ...props }: NexusFlowProps<NodeType, EdgeType>): react.JSX.Element;
42
+ displayName: string;
43
+ };
44
+
45
+ type FlowNodePaletteProps = PropsWithChildren<{
46
+ title?: ReactNode;
47
+ }>;
48
+ type FlowNodePaletteProviderProps<Item> = PropsWithChildren<{
49
+ onDrop: (item: Item, position: XYPosition) => void;
50
+ }>;
51
+ type FlowNodePaletteItemProps<Item> = PropsWithChildren<{
52
+ item: Item;
53
+ disabled?: boolean;
54
+ onActivate: (item: Item) => void;
55
+ }>;
56
+ declare const FlowNodePalette: ({ children, title }: FlowNodePaletteProps) => react.JSX.Element;
57
+ declare const FlowNodePaletteProvider: <Item>({ children, onDrop, }: FlowNodePaletteProviderProps<Item>) => react.JSX.Element;
58
+ declare const FlowNodePaletteItem: <Item>({ children, disabled, item, onActivate, }: FlowNodePaletteItemProps<Item>) => react.JSX.Element;
59
+
35
60
  interface DateRangeValue {
36
61
  from?: Date;
37
62
  to?: Date;
@@ -2297,5 +2322,5 @@ declare const getGradientBorderStyles: (theme: Theme, options?: GradientBorderOp
2297
2322
  declare const leftPipe: SxProps<Theme>;
2298
2323
  declare const expandableText: (isExpanded: boolean) => SxProps<Theme>;
2299
2324
 
2300
- export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, ActivityFeed, AgentChatDialog, AgentChatWidget, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, ArtifactViewer, Avatar, Body1, Body2, Breadcrumbs, BudgetMeter, ButtonBase, ButtonTile, Caption, Card, Carousel, ChatAvatar, ChatContentFallback, ChatDatapoints, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatResponseMarkdown, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyButton, CopyableTableContainer, DateRangeFilter, DateRangePicker, DeltaChip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DiffView, Divider, Duration, EmptyState, FABButton, FaviconLinks, FlowDiagram, FormControlLabel, FormDialog, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, JsonViewer, KeyValueList, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MAX_CHART_POINTS, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusAreaChart, NexusBarChart, NexusDataGrid, NexusEmptyState, NexusFunnelChart, NexusHeatmap, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusOrbit, NexusPieChart, NexusScatterChart, NexusStackedAreaChart, NexusStackedBarChart, NexusiFrame, NotificationBell, NotificationListItem, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, ProcessSteps, RagChip, RagDot, RelativeTime, SageLogoSvg, SchemaFieldView, SearchInput, SecondaryButton, SecondaryButtonLink, SectionNav, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StageProgress, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Tile, Toast, Tooltip, TypingIndicator, chartDefinitions, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, columnsForItemCount, createSageTheme, deltaColorForPolarity, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDatapointDelta, formatDatapointValue, formatDate, formatDurationMs, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, isAllowedImageSrc, latestTraceLabel, leftPipe, ragColorForDelta, resolveArtifact, safeChatMarkdownComponents, safeMarkdownUrl, sanitizeRawHtmlTable, splitRawHtmlTables, toSandboxedSrcDoc, useThemeMode, useTokens, validateChartDefinition, validateChartItem };
2301
- export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivityFeedEntry, ActivityFeedProps, ActivitySummary, AgentChatDialogProps, AgentChatWidgetProps, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, ArtifactContent, ArtifactKind, ArtifactViewerProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, BudgetMeterProps, ButtonTileProps, CardProps, CardTrend, CarouselBreakpoint, CarouselItemsPerView, CarouselProps, ChartAsyncProps, ChartDefinition, ChartEnvelope, ChartFieldSchema, ChartToProps, ChartValidationResult, ChartValueFormatter, ChatAvatarProps, ChatContentFallbackProps, ChatDatapointDelta, ChatDatapointItem, ChatDatapointPolarity, ChatDatapointValueFormat, ChatDatapointsData, ChatDatapointsProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, ChatResponseMarkdownProps, ChatTableCell, ChatTableData, ChatTablePart, CodeBlock, CopyButtonProps, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, DeltaChipProps, DeltaChipTone, DialogProps, DiffViewProps, DurationProps, EmptyStateProps, FABButtonProps, FileArtifact, FlowDiagramColumn, FlowDiagramHub, FlowDiagramItem, FlowDiagramLogo, FlowDiagramProps, FormDialogProps, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, JsonSchema, JsonViewerProps, KeyValueItem, KeyValueListProps, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusAreaChartProps, NexusBarChartProps, NexusEmptyStateProps, NexusFunnelChartProps, NexusFunnelStage, NexusHeatmapAxisItem, NexusHeatmapCell, NexusHeatmapProps, NexusHeatmapStatus, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusOrbitProps, NexusPaperProps, NexusPieChartProps, NexusScatterChartProps, NexusStackedAreaChartProps, NexusStackedBarChartProps, NexusiFrameProps, NotificationBellProps, NotificationListItemProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, ProcessStep, ProcessStepsProps, RelativeTimeProps, ResolvedArtifact, SchemaFieldViewProps, SecondaryButtonLinkProps, SecondaryButtonProps, SectionNavItem, SectionNavProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SliderMarkOption, SliderProps, SourceCitationsProps, StackedBarItem, StageProgressProps, StageProgressStep, StageState, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, TileProps, ToastProps, TooltipProps, TraceEvent, TypingIndicatorProps };
2325
+ export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, ActivityFeed, AgentChatDialog, AgentChatWidget, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, ArtifactViewer, Avatar, Body1, Body2, Breadcrumbs, BudgetMeter, ButtonBase, ButtonTile, Caption, Card, Carousel, ChatAvatar, ChatContentFallback, ChatDatapoints, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatResponseMarkdown, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyButton, CopyableTableContainer, DateRangeFilter, DateRangePicker, DeltaChip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DiffView, Divider, Duration, EmptyState, FABButton, FaviconLinks, FlowDiagram, FlowNodePalette, FlowNodePaletteItem, FlowNodePaletteProvider, FormControlLabel, FormDialog, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, JsonViewer, KeyValueList, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MAX_CHART_POINTS, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusAreaChart, NexusBarChart, NexusDataGrid, NexusEmptyState, NexusFlow, NexusFunnelChart, NexusHeatmap, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusOrbit, NexusPieChart, NexusScatterChart, NexusStackedAreaChart, NexusStackedBarChart, NexusiFrame, NotificationBell, NotificationListItem, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, ProcessSteps, RagChip, RagDot, RelativeTime, SageLogoSvg, SchemaFieldView, SearchInput, SecondaryButton, SecondaryButtonLink, SectionNav, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StageProgress, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Tile, Toast, Tooltip, TypingIndicator, chartDefinitions, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, columnsForItemCount, createSageTheme, deltaColorForPolarity, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDatapointDelta, formatDatapointValue, formatDate, formatDurationMs, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, isAllowedImageSrc, latestTraceLabel, leftPipe, ragColorForDelta, resolveArtifact, safeChatMarkdownComponents, safeMarkdownUrl, sanitizeRawHtmlTable, splitRawHtmlTables, toSandboxedSrcDoc, useThemeMode, useTokens, validateChartDefinition, validateChartItem };
2326
+ export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivityFeedEntry, ActivityFeedProps, ActivitySummary, AgentChatDialogProps, AgentChatWidgetProps, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, ArtifactContent, ArtifactKind, ArtifactViewerProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, BudgetMeterProps, ButtonTileProps, CardProps, CardTrend, CarouselBreakpoint, CarouselItemsPerView, CarouselProps, ChartAsyncProps, ChartDefinition, ChartEnvelope, ChartFieldSchema, ChartToProps, ChartValidationResult, ChartValueFormatter, ChatAvatarProps, ChatContentFallbackProps, ChatDatapointDelta, ChatDatapointItem, ChatDatapointPolarity, ChatDatapointValueFormat, ChatDatapointsData, ChatDatapointsProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, ChatResponseMarkdownProps, ChatTableCell, ChatTableData, ChatTablePart, CodeBlock, CopyButtonProps, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, DeltaChipProps, DeltaChipTone, DialogProps, DiffViewProps, DurationProps, EmptyStateProps, FABButtonProps, FileArtifact, FlowDiagramColumn, FlowDiagramHub, FlowDiagramItem, FlowDiagramLogo, FlowDiagramProps, FlowNodePaletteItemProps, FlowNodePaletteProps, FlowNodePaletteProviderProps, FormDialogProps, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, JsonSchema, JsonViewerProps, KeyValueItem, KeyValueListProps, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusAreaChartProps, NexusBarChartProps, NexusEmptyStateProps, NexusFlowProps, NexusFunnelChartProps, NexusFunnelStage, NexusHeatmapAxisItem, NexusHeatmapCell, NexusHeatmapProps, NexusHeatmapStatus, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusOrbitProps, NexusPaperProps, NexusPieChartProps, NexusScatterChartProps, NexusStackedAreaChartProps, NexusStackedBarChartProps, NexusiFrameProps, NotificationBellProps, NotificationListItemProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, ProcessStep, ProcessStepsProps, RelativeTimeProps, ResolvedArtifact, SchemaFieldViewProps, SecondaryButtonLinkProps, SecondaryButtonProps, SectionNavItem, SectionNavProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SliderMarkOption, SliderProps, SourceCitationsProps, StackedBarItem, StageProgressProps, StageProgressStep, StageState, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, TileProps, ToastProps, TooltipProps, TraceEvent, TypingIndicatorProps };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{DateRangeFilter}from"./components/DateRangeFilter.mjs";export{DateRangePicker}from"./components/DateRangePicker.mjs";export{Alert}from"./components/_Primitives/Alert.mjs";export{AgentChatWidget}from"./components/AgentChat/AgentChatWidget.mjs";export{AgentChatDialog}from"./components/AgentChat/AgentChatDialog.mjs";export{FABButton}from"./components/AgentChat/FABButton.mjs";export{AgentChatWindow}from"./components/AgentChat/AgentChatWindow.mjs";export{AgentChatWindowHeader}from"./components/AgentChat/AgentChatWindowHeader.mjs";export{ChatInput}from"./components/AgentChat/ChatInput.mjs";export{ChatHistory}from"./components/AgentChat/ChatHistory.mjs";export{ChatHistoryHeader}from"./components/AgentChat/ChatHistoryHeader.mjs";export{ChatHistoryButtonBase}from"./components/AgentChat/ChatHistoryButtonBase.mjs";export{ChatHistoryAgentItem}from"./components/AgentChat/ChatHistoryAgentItem.mjs";export{chatHistoryMatchesQuery,filterChatHistoryConversations}from"./components/AgentChat/ChatHistorySearch.mjs";export{CopyableTableContainer}from"./components/AgentChat/ChatComponents/CopyableTableContainer.mjs";export{default as ChatAvatar}from"./components/AgentChat/ChatComponents/ChatAvatar.mjs";export{default as MarkdownContent,chatWindowMarkdownComponents}from"./components/AgentChat/ChatComponents/MarkdownContent.mjs";export{default as ChatResponseMarkdown,safeChatMarkdownComponents}from"./components/AgentChat/ChatComponents/ChatResponseMarkdown.mjs";export{default as ChatDatapoints}from"./components/AgentChat/ChatComponents/ChatDatapoints.mjs";export{default as ChatContentFallback}from"./components/AgentChat/ChatComponents/ChatContentFallback.mjs";export{default as MessageBubble}from"./components/AgentChat/ChatComponents/MessageBubble.mjs";export{default as MessageFeedbackBar}from"./components/AgentChat/ChatComponents/MessageFeedbackBar.mjs";export{default as StreamingBubble}from"./components/AgentChat/ChatComponents/StreamingBubble.mjs";export{default as TypingIndicator}from"./components/AgentChat/ChatComponents/TypingIndicator.mjs";export{default as SuggestedPrompts}from"./components/AgentChat/ChatComponents/SuggestedPrompts.mjs";export{default as MessageList}from"./components/AgentChat/ChatComponents/MessageList.mjs";export{default as EmptyState}from"./components/AgentChat/ChatComponents/EmptyState.mjs";export{default as SourceCitations}from"./components/AgentChat/ChatComponents/SourceCitations.mjs";export{latestTraceLabel}from"./components/AgentChat/ChatComponents/latestTraceLabel.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/_Primitives/Container.mjs";export{Grid}from"./components/_Primitives/Grid.mjs";export{Link}from"./components/_Primitives/Link.mjs";export{Select}from"./components/Select.mjs";export{SkipLink}from"./components/SkipLink.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{SegmentedControl}from"./components/SegmentedControl.mjs";export{Breadcrumbs}from"./components/Breadcrumbs.mjs";export{Switch}from"./components/_Primitives/Switch.mjs";export{Slider}from"./components/Slider.mjs";export{NotificationBell}from"./components/NotificationBell.mjs";export{NotificationListItem}from"./components/NotificationListItem.mjs";export{ActionBarTitle,Body1,Body2,Caption,ChatWindowBody,H1,H2,H3,H4,MetricValue,Span}from"./components/Typography.mjs";export{MetricStat}from"./components/MetricStat.mjs";export{MetricCard}from"./components/MetricCard.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/Buttons/AiButton.mjs";export{AiChip}from"./components/AiChip.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{default as Box}from"@mui/material/Box";export{CircularProgress}from"./components/_Primitives/CircularProgress.mjs";export{Collapse}from"./components/_Primitives/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/Buttons/ButtonBase.mjs";export{AiButtonTile,ButtonTile}from"./components/ButtonTile.mjs";export{Tile}from"./components/Tile.mjs";export{GhostButton}from"./components/Buttons/GhostButton.mjs";export{SelectableList}from"./components/Buttons/SelectableList.mjs";export{Card}from"./components/Card.mjs";export{Checkbox}from"./components/Forms/Checkbox.mjs";export{FormControlLabel}from"./components/Forms/FormControlLabel.mjs";export{FormGroup}from"./components/Forms/FormGroup.mjs";export{CheckboxGroup}from"./components/Forms/CheckboxGroup.mjs";export{FormDialog}from"./components/Forms/FormDialog.mjs";export{Chip}from"./components/_Primitives/Chip.mjs";export{DeltaChip}from"./components/DeltaChip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/_Primitives/Dialog.mjs";export{Divider}from"./components/_Primitives/Divider.mjs";export{Table,TableBody,TableCell,TableHead,TableRow}from"./components/_Primitives/Table.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{PaperAsync}from"./components/PaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/Buttons/IconButton.mjs";export{Avatar}from"./components/Avatar.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/Logo/LogoOptions/index.mjs";export{NexusHome}from"./components/Logo/NexusHome.mjs";export{default as NexusLogo}from"./components/Logo/NexusLogo.mjs";export{NexusNodeIcon}from"./components/Logo/NexusNodeIcon.mjs";export{SageLogoSvg}from"./components/Logo/LogoOptions/SageLogo.mjs";export{Paper}from"./components/_Primitives/Paper.mjs";export{PrimaryButton}from"./components/Buttons/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/Buttons/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/Buttons/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{ragColorForDelta}from"./components/ragColorForDelta.mjs";export{SecondaryButtonLink}from"./components/Buttons/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade/SideBlade.mjs";export{SideBladeNavList}from"./components/SideBlade/SideBladeNavList.mjs";export{SideBladeNavListItem}from"./components/SideBlade/SideBladeNavListItem.mjs";export{Skeleton}from"./components/_Primitives/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/_Primitives/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/_Primitives/Tab.mjs";export{Tabs}from"./components/_Primitives/Tabs.mjs";export{TextField}from"./components/_Primitives/TextField.mjs";export{ThemeToggle}from"./components/Theme/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{NexusiFrame}from"./components/NexusiFrame.mjs";export{NexusLineChart}from"./components/Charts/NexusLineChart.mjs";export{NexusAreaChart}from"./components/Charts/NexusAreaChart.mjs";export{NexusStackedAreaChart}from"./components/Charts/NexusStackedAreaChart.mjs";export{ChartsReferenceLine}from"@mui/x-charts/ChartsReferenceLine";export{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusStackedBarChart}from"./components/Charts/NexusStackedBarChart.mjs";export{NexusFunnelChart}from"./components/Charts/NexusFunnelChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.mjs";export{NexusHeatmap}from"./components/Charts/NexusHeatmap.mjs";export{FlowDiagram}from"./components/FlowDiagram.mjs";export{ProcessSteps}from"./components/ProcessSteps.mjs";export{NexusOrbit}from"./components/NexusOrbit.mjs";export{SectionNav}from"./components/SectionNav.mjs";export{Carousel}from"./components/Carousel.mjs";export{StageProgress}from"./components/StageProgress.mjs";export{ActivityFeed}from"./components/ActivityFeed.mjs";export{BudgetMeter}from"./components/BudgetMeter.mjs";export{CopyButton}from"./components/Buttons/CopyButton.mjs";export{DiffView}from"./components/DiffView.mjs";export{Duration,formatDurationMs}from"./components/Duration.mjs";export{JsonViewer}from"./components/JsonViewer.mjs";export{KeyValueList}from"./components/KeyValueList.mjs";export{NexusEmptyState}from"./components/NexusEmptyState.mjs";export{RelativeTime}from"./components/RelativeTime.mjs";export{Toast}from"./components/Toast.mjs";export{ArtifactViewer,isAllowedImageSrc,resolveArtifact,toSandboxedSrcDoc}from"./components/ArtifactViewer.mjs";export{SchemaFieldView}from"./components/SchemaFieldView.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.mjs";export{createSageTheme}from"./components/Theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./components/Theme/tokens.mjs";export{useTokens}from"./components/Theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./components/Theme/MuiAppThemeProvider.mjs";export{NEXUS_THEME_STORAGE_KEY,ThemeModeContext,ThemeModeProvider,useThemeMode}from"./components/Theme/ThemeContext.mjs";export{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{chartDefinitions}from"./charts/chartDefinitions.mjs";export{MAX_CHART_POINTS,validateChartDefinition,validateChartItem}from"./charts/chartCatalogue.mjs";export{sanitizeRawHtmlTable,splitRawHtmlTables}from"./utils/chatTableHtml.mjs";export{safeMarkdownUrl}from"./utils/safeMarkdownUrl.mjs";export{columnsForItemCount,deltaColorForPolarity,formatDatapointDelta,formatDatapointValue}from"./utils/chatDatapoints.mjs";export{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./components/Theme/sxHelpers.mjs";
1
+ export{DateRangeFilter}from"./components/DateRangeFilter.mjs";export{NexusFlow}from"./components/Flow/NexusFlow.mjs";export{FlowNodePalette,FlowNodePaletteItem,FlowNodePaletteProvider}from"./components/Flow/FlowPalette.mjs";export{BackgroundVariant,ConnectionLineType,ConnectionMode,Background as FlowBackground,BaseEdge as FlowBaseEdge,BezierEdge as FlowBezierEdge,ControlButton as FlowControlButton,Controls as FlowControls,EdgeLabelRenderer as FlowEdgeLabelRenderer,EdgeToolbar as FlowEdgeToolbar,Handle as FlowHandle,MiniMap as FlowMiniMap,NodeResizeControl as FlowNodeResizeControl,NodeResizer as FlowNodeResizer,NodeToolbar as FlowNodeToolbar,Panel as FlowPanel,ReactFlowProvider as FlowProvider,SmoothStepEdge as FlowSmoothStepEdge,StepEdge as FlowStepEdge,StraightEdge as FlowStraightEdge,ViewportPortal as FlowViewportPortal,MarkerType,Position,SelectionMode,addEdge,applyEdgeChanges,applyNodeChanges,getBezierPath,getConnectedEdges,getIncomers,getNodesBounds,getOutgoers,getSmoothStepPath,getStraightPath,isEdge,isNode,useEdgesState,useHandleConnections,useNodeConnections,useNodeId,useNodesData,useNodesState,useReactFlow,useUpdateNodeInternals}from"@xyflow/react";export{DateRangePicker}from"./components/DateRangePicker.mjs";export{Alert}from"./components/_Primitives/Alert.mjs";export{AgentChatWidget}from"./components/AgentChat/AgentChatWidget.mjs";export{AgentChatDialog}from"./components/AgentChat/AgentChatDialog.mjs";export{FABButton}from"./components/AgentChat/FABButton.mjs";export{AgentChatWindow}from"./components/AgentChat/AgentChatWindow.mjs";export{AgentChatWindowHeader}from"./components/AgentChat/AgentChatWindowHeader.mjs";export{ChatInput}from"./components/AgentChat/ChatInput.mjs";export{ChatHistory}from"./components/AgentChat/ChatHistory.mjs";export{ChatHistoryHeader}from"./components/AgentChat/ChatHistoryHeader.mjs";export{ChatHistoryButtonBase}from"./components/AgentChat/ChatHistoryButtonBase.mjs";export{ChatHistoryAgentItem}from"./components/AgentChat/ChatHistoryAgentItem.mjs";export{chatHistoryMatchesQuery,filterChatHistoryConversations}from"./components/AgentChat/ChatHistorySearch.mjs";export{CopyableTableContainer}from"./components/AgentChat/ChatComponents/CopyableTableContainer.mjs";export{default as ChatAvatar}from"./components/AgentChat/ChatComponents/ChatAvatar.mjs";export{default as MarkdownContent,chatWindowMarkdownComponents}from"./components/AgentChat/ChatComponents/MarkdownContent.mjs";export{default as ChatResponseMarkdown,safeChatMarkdownComponents}from"./components/AgentChat/ChatComponents/ChatResponseMarkdown.mjs";export{default as ChatDatapoints}from"./components/AgentChat/ChatComponents/ChatDatapoints.mjs";export{default as ChatContentFallback}from"./components/AgentChat/ChatComponents/ChatContentFallback.mjs";export{default as MessageBubble}from"./components/AgentChat/ChatComponents/MessageBubble.mjs";export{default as MessageFeedbackBar}from"./components/AgentChat/ChatComponents/MessageFeedbackBar.mjs";export{default as StreamingBubble}from"./components/AgentChat/ChatComponents/StreamingBubble.mjs";export{default as TypingIndicator}from"./components/AgentChat/ChatComponents/TypingIndicator.mjs";export{default as SuggestedPrompts}from"./components/AgentChat/ChatComponents/SuggestedPrompts.mjs";export{default as MessageList}from"./components/AgentChat/ChatComponents/MessageList.mjs";export{default as EmptyState}from"./components/AgentChat/ChatComponents/EmptyState.mjs";export{default as SourceCitations}from"./components/AgentChat/ChatComponents/SourceCitations.mjs";export{latestTraceLabel}from"./components/AgentChat/ChatComponents/latestTraceLabel.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/_Primitives/Container.mjs";export{Grid}from"./components/_Primitives/Grid.mjs";export{Link}from"./components/_Primitives/Link.mjs";export{Select}from"./components/Select.mjs";export{SkipLink}from"./components/SkipLink.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{SegmentedControl}from"./components/SegmentedControl.mjs";export{Breadcrumbs}from"./components/Breadcrumbs.mjs";export{Switch}from"./components/_Primitives/Switch.mjs";export{Slider}from"./components/Slider.mjs";export{NotificationBell}from"./components/NotificationBell.mjs";export{NotificationListItem}from"./components/NotificationListItem.mjs";export{ActionBarTitle,Body1,Body2,Caption,ChatWindowBody,H1,H2,H3,H4,MetricValue,Span}from"./components/Typography.mjs";export{MetricStat}from"./components/MetricStat.mjs";export{MetricCard}from"./components/MetricCard.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/Buttons/AiButton.mjs";export{AiChip}from"./components/AiChip.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{default as Box}from"@mui/material/Box";export{CircularProgress}from"./components/_Primitives/CircularProgress.mjs";export{Collapse}from"./components/_Primitives/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/Buttons/ButtonBase.mjs";export{AiButtonTile,ButtonTile}from"./components/ButtonTile.mjs";export{Tile}from"./components/Tile.mjs";export{GhostButton}from"./components/Buttons/GhostButton.mjs";export{SelectableList}from"./components/Buttons/SelectableList.mjs";export{Card}from"./components/Card.mjs";export{Checkbox}from"./components/Forms/Checkbox.mjs";export{FormControlLabel}from"./components/Forms/FormControlLabel.mjs";export{FormGroup}from"./components/Forms/FormGroup.mjs";export{CheckboxGroup}from"./components/Forms/CheckboxGroup.mjs";export{FormDialog}from"./components/Forms/FormDialog.mjs";export{Chip}from"./components/_Primitives/Chip.mjs";export{DeltaChip}from"./components/DeltaChip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/_Primitives/Dialog.mjs";export{Divider}from"./components/_Primitives/Divider.mjs";export{Table,TableBody,TableCell,TableHead,TableRow}from"./components/_Primitives/Table.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{PaperAsync}from"./components/PaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/Buttons/IconButton.mjs";export{Avatar}from"./components/Avatar.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/Logo/LogoOptions/index.mjs";export{NexusHome}from"./components/Logo/NexusHome.mjs";export{default as NexusLogo}from"./components/Logo/NexusLogo.mjs";export{NexusNodeIcon}from"./components/Logo/NexusNodeIcon.mjs";export{SageLogoSvg}from"./components/Logo/LogoOptions/SageLogo.mjs";export{Paper}from"./components/_Primitives/Paper.mjs";export{PrimaryButton}from"./components/Buttons/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/Buttons/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/Buttons/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{ragColorForDelta}from"./components/ragColorForDelta.mjs";export{SecondaryButtonLink}from"./components/Buttons/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade/SideBlade.mjs";export{SideBladeNavList}from"./components/SideBlade/SideBladeNavList.mjs";export{SideBladeNavListItem}from"./components/SideBlade/SideBladeNavListItem.mjs";export{Skeleton}from"./components/_Primitives/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/_Primitives/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/_Primitives/Tab.mjs";export{Tabs}from"./components/_Primitives/Tabs.mjs";export{TextField}from"./components/_Primitives/TextField.mjs";export{ThemeToggle}from"./components/Theme/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{NexusiFrame}from"./components/NexusiFrame.mjs";export{NexusLineChart}from"./components/Charts/NexusLineChart.mjs";export{NexusAreaChart}from"./components/Charts/NexusAreaChart.mjs";export{NexusStackedAreaChart}from"./components/Charts/NexusStackedAreaChart.mjs";export{ChartsReferenceLine}from"@mui/x-charts/ChartsReferenceLine";export{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusStackedBarChart}from"./components/Charts/NexusStackedBarChart.mjs";export{NexusFunnelChart}from"./components/Charts/NexusFunnelChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.mjs";export{NexusHeatmap}from"./components/Charts/NexusHeatmap.mjs";export{FlowDiagram}from"./components/FlowDiagram.mjs";export{ProcessSteps}from"./components/ProcessSteps.mjs";export{NexusOrbit}from"./components/NexusOrbit.mjs";export{SectionNav}from"./components/SectionNav.mjs";export{Carousel}from"./components/Carousel.mjs";export{StageProgress}from"./components/StageProgress.mjs";export{ActivityFeed}from"./components/ActivityFeed.mjs";export{BudgetMeter}from"./components/BudgetMeter.mjs";export{CopyButton}from"./components/Buttons/CopyButton.mjs";export{DiffView}from"./components/DiffView.mjs";export{Duration,formatDurationMs}from"./components/Duration.mjs";export{JsonViewer}from"./components/JsonViewer.mjs";export{KeyValueList}from"./components/KeyValueList.mjs";export{NexusEmptyState}from"./components/NexusEmptyState.mjs";export{RelativeTime}from"./components/RelativeTime.mjs";export{Toast}from"./components/Toast.mjs";export{ArtifactViewer,isAllowedImageSrc,resolveArtifact,toSandboxedSrcDoc}from"./components/ArtifactViewer.mjs";export{SchemaFieldView}from"./components/SchemaFieldView.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.mjs";export{createSageTheme}from"./components/Theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./components/Theme/tokens.mjs";export{useTokens}from"./components/Theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./components/Theme/MuiAppThemeProvider.mjs";export{NEXUS_THEME_STORAGE_KEY,ThemeModeContext,ThemeModeProvider,useThemeMode}from"./components/Theme/ThemeContext.mjs";export{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{chartDefinitions}from"./charts/chartDefinitions.mjs";export{MAX_CHART_POINTS,validateChartDefinition,validateChartItem}from"./charts/chartCatalogue.mjs";export{sanitizeRawHtmlTable,splitRawHtmlTables}from"./utils/chatTableHtml.mjs";export{safeMarkdownUrl}from"./utils/safeMarkdownUrl.mjs";export{columnsForItemCount,deltaColorForPolarity,formatDatapointDelta,formatDatapointValue}from"./utils/chatDatapoints.mjs";export{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./components/Theme/sxHelpers.mjs";
@@ -0,0 +1,636 @@
1
+ /* this gets exported as style.css and can be used for the default theming */
2
+ /* these are the necessary styles for React/Svelte Flow, they get used by base.css and style.css */
3
+ .react-flow {
4
+ direction: ltr;
5
+
6
+ --xy-edge-stroke-default: #b1b1b7;
7
+ --xy-edge-stroke-width-default: 1;
8
+ --xy-edge-stroke-selected-default: #555;
9
+
10
+ --xy-connectionline-stroke-default: #b1b1b7;
11
+ --xy-connectionline-stroke-width-default: 1;
12
+
13
+ --xy-attribution-background-color-default: rgba(255, 255, 255, 0.5);
14
+
15
+ --xy-minimap-background-color-default: #fff;
16
+ --xy-minimap-mask-background-color-default: rgba(240, 240, 240, 0.6);
17
+ --xy-minimap-mask-stroke-color-default: transparent;
18
+ --xy-minimap-mask-stroke-width-default: 1;
19
+ --xy-minimap-node-background-color-default: #e2e2e2;
20
+ --xy-minimap-node-stroke-color-default: transparent;
21
+ --xy-minimap-node-stroke-width-default: 2;
22
+
23
+ --xy-background-color-default: transparent;
24
+ --xy-background-pattern-dots-color-default: #91919a;
25
+ --xy-background-pattern-lines-color-default: #eee;
26
+ --xy-background-pattern-cross-color-default: #e2e2e2;
27
+ background-color: var(--xy-background-color, var(--xy-background-color-default));
28
+ --xy-node-color-default: inherit;
29
+ --xy-node-border-default: 1px solid #1a192b;
30
+ --xy-node-background-color-default: #fff;
31
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
32
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, 0.08);
33
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #1a192b;
34
+ --xy-node-border-radius-default: 3px;
35
+
36
+ --xy-handle-background-color-default: #1a192b;
37
+ --xy-handle-border-color-default: #fff;
38
+
39
+ --xy-selection-background-color-default: rgba(0, 89, 220, 0.08);
40
+ --xy-selection-border-default: 1px dotted rgba(0, 89, 220, 0.8);
41
+
42
+ --xy-controls-button-background-color-default: #fefefe;
43
+ --xy-controls-button-background-color-hover-default: #f4f4f4;
44
+ --xy-controls-button-color-default: inherit;
45
+ --xy-controls-button-color-hover-default: inherit;
46
+ --xy-controls-button-border-color-default: #eee;
47
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
48
+
49
+ --xy-edge-label-background-color-default: #ffffff;
50
+ --xy-edge-label-color-default: inherit;
51
+ --xy-resize-background-color-default: #3367d9;
52
+ }
53
+ .react-flow.dark {
54
+ --xy-edge-stroke-default: #3e3e3e;
55
+ --xy-edge-stroke-width-default: 1;
56
+ --xy-edge-stroke-selected-default: #727272;
57
+
58
+ --xy-connectionline-stroke-default: #b1b1b7;
59
+ --xy-connectionline-stroke-width-default: 1;
60
+
61
+ --xy-attribution-background-color-default: rgba(150, 150, 150, 0.25);
62
+
63
+ --xy-minimap-background-color-default: #141414;
64
+ --xy-minimap-mask-background-color-default: rgba(60, 60, 60, 0.6);
65
+ --xy-minimap-mask-stroke-color-default: transparent;
66
+ --xy-minimap-mask-stroke-width-default: 1;
67
+ --xy-minimap-node-background-color-default: #2b2b2b;
68
+ --xy-minimap-node-stroke-color-default: transparent;
69
+ --xy-minimap-node-stroke-width-default: 2;
70
+
71
+ --xy-background-color-default: #141414;
72
+ --xy-background-pattern-dots-color-default: #555;
73
+ --xy-background-pattern-lines-color-default: #333;
74
+ --xy-background-pattern-cross-color-default: #333;
75
+ --xy-node-color-default: #f8f8f8;
76
+ --xy-node-border-default: 1px solid #3c3c3c;
77
+ --xy-node-background-color-default: #1e1e1e;
78
+ --xy-node-group-background-color-default: rgba(240, 240, 240, 0.25);
79
+ --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, 0.08);
80
+ --xy-node-boxshadow-selected-default: 0 0 0 0.5px #999;
81
+
82
+ --xy-handle-background-color-default: #bebebe;
83
+ --xy-handle-border-color-default: #1e1e1e;
84
+
85
+ --xy-selection-background-color-default: rgba(200, 200, 220, 0.08);
86
+ --xy-selection-border-default: 1px dotted rgba(200, 200, 220, 0.8);
87
+
88
+ --xy-controls-button-background-color-default: #2b2b2b;
89
+ --xy-controls-button-background-color-hover-default: #3e3e3e;
90
+ --xy-controls-button-color-default: #f8f8f8;
91
+ --xy-controls-button-color-hover-default: #fff;
92
+ --xy-controls-button-border-color-default: #5b5b5b;
93
+ --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, 0.08);
94
+
95
+ --xy-edge-label-background-color-default: #141414;
96
+ --xy-edge-label-color-default: #f8f8f8;
97
+ }
98
+ .react-flow__background {
99
+ background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
100
+ pointer-events: none;
101
+ z-index: -1;
102
+ }
103
+ .react-flow__container {
104
+ position: absolute;
105
+ width: 100%;
106
+ height: 100%;
107
+ top: 0;
108
+ left: 0;
109
+ }
110
+ .react-flow__pane {
111
+ z-index: 1;
112
+ touch-action: none;
113
+ }
114
+ .react-flow__pane.draggable {
115
+ cursor: grab;
116
+ }
117
+ .react-flow__pane.dragging {
118
+ cursor: grabbing;
119
+ }
120
+ .react-flow__pane.selection {
121
+ cursor: pointer;
122
+ }
123
+ .react-flow__viewport {
124
+ transform-origin: 0 0;
125
+ z-index: 2;
126
+ pointer-events: none;
127
+ }
128
+ .react-flow__renderer {
129
+ z-index: 4;
130
+ }
131
+ .react-flow__selection {
132
+ z-index: 6;
133
+ }
134
+ .react-flow__nodesselection-rect:focus,
135
+ .react-flow__nodesselection-rect:focus-visible {
136
+ outline: none;
137
+ }
138
+ .react-flow__edge-path {
139
+ stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
140
+ stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
141
+ fill: none;
142
+ }
143
+ .react-flow__connection-path {
144
+ stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
145
+ stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
146
+ fill: none;
147
+ }
148
+ .react-flow .react-flow__edges {
149
+ position: absolute;
150
+ }
151
+ .react-flow .react-flow__edges svg {
152
+ overflow: visible;
153
+ position: absolute;
154
+ pointer-events: none;
155
+ }
156
+ .react-flow__edge {
157
+ pointer-events: visibleStroke;
158
+ }
159
+ .react-flow__edge.selectable {
160
+ cursor: pointer;
161
+ }
162
+ .react-flow__edge.animated path {
163
+ stroke-dasharray: 5;
164
+ animation: dashdraw 0.5s linear infinite;
165
+ }
166
+ .react-flow__edge.animated path.react-flow__edge-interaction {
167
+ stroke-dasharray: none;
168
+ animation: none;
169
+ }
170
+ .react-flow__edge.inactive {
171
+ pointer-events: none;
172
+ }
173
+ .react-flow__edge.selected,
174
+ .react-flow__edge:focus,
175
+ .react-flow__edge:focus-visible {
176
+ outline: none;
177
+ }
178
+ .react-flow__edge.selected .react-flow__edge-path,
179
+ .react-flow__edge.selectable:focus .react-flow__edge-path,
180
+ .react-flow__edge.selectable:focus-visible .react-flow__edge-path {
181
+ stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
182
+ }
183
+ .react-flow__edge-textwrapper {
184
+ pointer-events: all;
185
+ }
186
+ .react-flow__edge .react-flow__edge-text {
187
+ pointer-events: none;
188
+ -webkit-user-select: none;
189
+ -moz-user-select: none;
190
+ user-select: none;
191
+ }
192
+ /* Arrowhead marker styles - use CSS custom properties as default */
193
+ .react-flow__arrowhead polyline {
194
+ stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
195
+ }
196
+ .react-flow__arrowhead polyline.arrowclosed {
197
+ fill: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
198
+ }
199
+ .react-flow__connection {
200
+ pointer-events: none;
201
+ }
202
+ .react-flow__connection .animated {
203
+ stroke-dasharray: 5;
204
+ animation: dashdraw 0.5s linear infinite;
205
+ }
206
+ svg.react-flow__connectionline {
207
+ z-index: 1001;
208
+ overflow: visible;
209
+ position: absolute;
210
+ }
211
+ .react-flow__nodes {
212
+ pointer-events: none;
213
+ transform-origin: 0 0;
214
+ }
215
+ .react-flow__node {
216
+ position: absolute;
217
+ -webkit-user-select: none;
218
+ -moz-user-select: none;
219
+ user-select: none;
220
+ pointer-events: all;
221
+ transform-origin: 0 0;
222
+ box-sizing: border-box;
223
+ cursor: default;
224
+ }
225
+ .react-flow__node.selectable {
226
+ cursor: pointer;
227
+ }
228
+ .react-flow__node.draggable {
229
+ cursor: grab;
230
+ pointer-events: all;
231
+ }
232
+ .react-flow__node.draggable.dragging {
233
+ cursor: grabbing;
234
+ }
235
+ .react-flow__nodesselection {
236
+ z-index: 3;
237
+ transform-origin: left top;
238
+ pointer-events: none;
239
+ }
240
+ .react-flow__nodesselection-rect {
241
+ position: absolute;
242
+ pointer-events: all;
243
+ cursor: grab;
244
+ }
245
+ .react-flow__handle {
246
+ position: absolute;
247
+ pointer-events: none;
248
+ min-width: 5px;
249
+ min-height: 5px;
250
+ width: 6px;
251
+ height: 6px;
252
+ background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
253
+ border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
254
+ border-radius: 100%;
255
+ }
256
+ .react-flow__handle.connectingfrom {
257
+ pointer-events: all;
258
+ }
259
+ .react-flow__handle.connectionindicator {
260
+ pointer-events: all;
261
+ cursor: crosshair;
262
+ }
263
+ .react-flow__handle-bottom {
264
+ top: auto;
265
+ left: 50%;
266
+ bottom: 0;
267
+ transform: translate(-50%, 50%);
268
+ }
269
+ .react-flow__handle-top {
270
+ top: 0;
271
+ left: 50%;
272
+ transform: translate(-50%, -50%);
273
+ }
274
+ .react-flow__handle-left {
275
+ top: 50%;
276
+ left: 0;
277
+ transform: translate(-50%, -50%);
278
+ }
279
+ .react-flow__handle-right {
280
+ top: 50%;
281
+ right: 0;
282
+ transform: translate(50%, -50%);
283
+ }
284
+ .react-flow__edgeupdater {
285
+ cursor: move;
286
+ pointer-events: all;
287
+ }
288
+ .react-flow__pane.selection .react-flow__panel {
289
+ pointer-events: none;
290
+ }
291
+ .react-flow__panel {
292
+ position: absolute;
293
+ z-index: 5;
294
+ margin: 15px;
295
+ }
296
+ .react-flow__panel.top {
297
+ top: 0;
298
+ }
299
+ .react-flow__panel.bottom {
300
+ bottom: 0;
301
+ }
302
+ .react-flow__panel.top.center, .react-flow__panel.bottom.center {
303
+ left: 50%;
304
+ transform: translateX(-15px) translateX(-50%);
305
+ }
306
+ .react-flow__panel.left {
307
+ left: 0;
308
+ }
309
+ .react-flow__panel.right {
310
+ right: 0;
311
+ }
312
+ .react-flow__panel.left.center, .react-flow__panel.right.center {
313
+ top: 50%;
314
+ transform: translateY(-15px) translateY(-50%);
315
+ }
316
+ .react-flow__attribution {
317
+ font-size: 10px;
318
+ background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
319
+ padding: 2px 3px;
320
+ margin: 0;
321
+ }
322
+ .react-flow__attribution a {
323
+ text-decoration: none;
324
+ color: #999;
325
+ }
326
+ @keyframes dashdraw {
327
+ from {
328
+ stroke-dashoffset: 10;
329
+ }
330
+ }
331
+ .react-flow__edgelabel-renderer {
332
+ position: absolute;
333
+ width: 100%;
334
+ height: 100%;
335
+ pointer-events: none;
336
+ -webkit-user-select: none;
337
+ -moz-user-select: none;
338
+ user-select: none;
339
+ left: 0;
340
+ top: 0;
341
+ }
342
+ .react-flow__viewport-portal {
343
+ position: absolute;
344
+ width: 100%;
345
+ height: 100%;
346
+ left: 0;
347
+ top: 0;
348
+ -webkit-user-select: none;
349
+ -moz-user-select: none;
350
+ user-select: none;
351
+ }
352
+ .react-flow__minimap {
353
+ background: var(
354
+ --xy-minimap-background-color-props,
355
+ var(--xy-minimap-background-color, var(--xy-minimap-background-color-default))
356
+ );
357
+ }
358
+ .react-flow__minimap-svg {
359
+ display: block;
360
+ }
361
+ .react-flow__minimap-mask {
362
+ fill: var(
363
+ --xy-minimap-mask-background-color-props,
364
+ var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default))
365
+ );
366
+ stroke: var(
367
+ --xy-minimap-mask-stroke-color-props,
368
+ var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default))
369
+ );
370
+ stroke-width: var(
371
+ --xy-minimap-mask-stroke-width-props,
372
+ var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default))
373
+ );
374
+ }
375
+ .react-flow__minimap-node {
376
+ fill: var(
377
+ --xy-minimap-node-background-color-props,
378
+ var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default))
379
+ );
380
+ stroke: var(
381
+ --xy-minimap-node-stroke-color-props,
382
+ var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default))
383
+ );
384
+ stroke-width: var(
385
+ --xy-minimap-node-stroke-width-props,
386
+ var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default))
387
+ );
388
+ }
389
+ .react-flow__background-pattern.dots {
390
+ fill: var(
391
+ --xy-background-pattern-color-props,
392
+ var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default))
393
+ );
394
+ }
395
+ .react-flow__background-pattern.lines {
396
+ stroke: var(
397
+ --xy-background-pattern-color-props,
398
+ var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default))
399
+ );
400
+ }
401
+ .react-flow__background-pattern.cross {
402
+ stroke: var(
403
+ --xy-background-pattern-color-props,
404
+ var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default))
405
+ );
406
+ }
407
+ .react-flow__controls {
408
+ display: flex;
409
+ flex-direction: column;
410
+ box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
411
+ }
412
+ .react-flow__controls.horizontal {
413
+ flex-direction: row;
414
+ }
415
+ .react-flow__controls-button {
416
+ display: flex;
417
+ justify-content: center;
418
+ align-items: center;
419
+ height: 26px;
420
+ width: 26px;
421
+ padding: 4px;
422
+ border: none;
423
+ background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
424
+ border-bottom: 1px solid
425
+ var(
426
+ --xy-controls-button-border-color-props,
427
+ var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
428
+ );
429
+ color: var(
430
+ --xy-controls-button-color-props,
431
+ var(--xy-controls-button-color, var(--xy-controls-button-color-default))
432
+ );
433
+ cursor: pointer;
434
+ -webkit-user-select: none;
435
+ -moz-user-select: none;
436
+ user-select: none;
437
+ }
438
+ .react-flow__controls-button svg {
439
+ width: 100%;
440
+ max-width: 12px;
441
+ max-height: 12px;
442
+ fill: currentColor;
443
+ }
444
+ .react-flow__edge.updating .react-flow__edge-path {
445
+ stroke: #777;
446
+ }
447
+ .react-flow__edge-text {
448
+ font-size: 10px;
449
+ }
450
+ .react-flow__node.selectable:focus,
451
+ .react-flow__node.selectable:focus-visible {
452
+ outline: none;
453
+ }
454
+ .react-flow__node-input,
455
+ .react-flow__node-default,
456
+ .react-flow__node-output,
457
+ .react-flow__node-group {
458
+ padding: 10px;
459
+ border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
460
+ width: 150px;
461
+ font-size: 12px;
462
+ color: var(--xy-node-color, var(--xy-node-color-default));
463
+ text-align: center;
464
+ border: var(--xy-node-border, var(--xy-node-border-default));
465
+ background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
466
+ }
467
+ .react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
468
+ box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
469
+ }
470
+ .react-flow__node-input.selectable.selected,
471
+ .react-flow__node-input.selectable:focus,
472
+ .react-flow__node-input.selectable:focus-visible,
473
+ .react-flow__node-default.selectable.selected,
474
+ .react-flow__node-default.selectable:focus,
475
+ .react-flow__node-default.selectable:focus-visible,
476
+ .react-flow__node-output.selectable.selected,
477
+ .react-flow__node-output.selectable:focus,
478
+ .react-flow__node-output.selectable:focus-visible,
479
+ .react-flow__node-group.selectable.selected,
480
+ .react-flow__node-group.selectable:focus,
481
+ .react-flow__node-group.selectable:focus-visible {
482
+ box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
483
+ }
484
+ .react-flow__node-group {
485
+ background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
486
+ }
487
+ .react-flow__nodesselection-rect,
488
+ .react-flow__selection {
489
+ background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
490
+ border: var(--xy-selection-border, var(--xy-selection-border-default));
491
+ }
492
+ .react-flow__nodesselection-rect:focus,
493
+ .react-flow__nodesselection-rect:focus-visible,
494
+ .react-flow__selection:focus,
495
+ .react-flow__selection:focus-visible {
496
+ outline: none;
497
+ }
498
+ .react-flow__controls-button:hover {
499
+ background: var(
500
+ --xy-controls-button-background-color-hover-props,
501
+ var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default))
502
+ );
503
+ color: var(
504
+ --xy-controls-button-color-hover-props,
505
+ var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default))
506
+ );
507
+ }
508
+ .react-flow__controls-button:disabled {
509
+ pointer-events: none;
510
+ }
511
+ .react-flow__controls-button:disabled svg {
512
+ fill-opacity: 0.4;
513
+ }
514
+ .react-flow__controls-button:last-child {
515
+ border-bottom: none;
516
+ }
517
+ .react-flow__controls.horizontal .react-flow__controls-button {
518
+ border-bottom: none;
519
+ border-right: 1px solid
520
+ var(
521
+ --xy-controls-button-border-color-props,
522
+ var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default))
523
+ );
524
+ }
525
+ .react-flow__controls.horizontal .react-flow__controls-button:last-child {
526
+ border-right: none;
527
+ }
528
+ .react-flow__resize-control {
529
+ position: absolute;
530
+ }
531
+ .react-flow__resize-control.left,
532
+ .react-flow__resize-control.right {
533
+ cursor: ew-resize;
534
+ }
535
+ .react-flow__resize-control.top,
536
+ .react-flow__resize-control.bottom {
537
+ cursor: ns-resize;
538
+ }
539
+ .react-flow__resize-control.top.left,
540
+ .react-flow__resize-control.bottom.right {
541
+ cursor: nwse-resize;
542
+ }
543
+ .react-flow__resize-control.bottom.left,
544
+ .react-flow__resize-control.top.right {
545
+ cursor: nesw-resize;
546
+ }
547
+ /* handle styles */
548
+ .react-flow__resize-control.handle {
549
+ width: 5px;
550
+ height: 5px;
551
+ border: 1px solid #fff;
552
+ border-radius: 1px;
553
+ background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
554
+ translate: -50% -50%;
555
+ }
556
+ .react-flow__resize-control.handle.left {
557
+ left: 0;
558
+ top: 50%;
559
+ }
560
+ .react-flow__resize-control.handle.right {
561
+ left: 100%;
562
+ top: 50%;
563
+ }
564
+ .react-flow__resize-control.handle.top {
565
+ left: 50%;
566
+ top: 0;
567
+ }
568
+ .react-flow__resize-control.handle.bottom {
569
+ left: 50%;
570
+ top: 100%;
571
+ }
572
+ .react-flow__resize-control.handle.top.left {
573
+ left: 0;
574
+ }
575
+ .react-flow__resize-control.handle.bottom.left {
576
+ left: 0;
577
+ }
578
+ .react-flow__resize-control.handle.top.right {
579
+ left: 100%;
580
+ }
581
+ .react-flow__resize-control.handle.bottom.right {
582
+ left: 100%;
583
+ }
584
+ /* line styles */
585
+ .react-flow__resize-control.line {
586
+ border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
587
+ border-width: 0;
588
+ border-style: solid;
589
+ }
590
+ .react-flow__resize-control.line.left,
591
+ .react-flow__resize-control.line.right {
592
+ width: 1px;
593
+ transform: translate(-50%, 0);
594
+ top: 0;
595
+ height: 100%;
596
+ }
597
+ .react-flow__resize-control.line.left {
598
+ left: 0;
599
+ border-left-width: 1px;
600
+ }
601
+ .react-flow__resize-control.line.right {
602
+ left: 100%;
603
+ border-right-width: 1px;
604
+ }
605
+ .react-flow__resize-control.line.top,
606
+ .react-flow__resize-control.line.bottom {
607
+ height: 1px;
608
+ transform: translate(0, -50%);
609
+ left: 0;
610
+ width: 100%;
611
+ }
612
+ .react-flow__resize-control.line.top {
613
+ top: 0;
614
+ border-top-width: 1px;
615
+ }
616
+ .react-flow__resize-control.line.bottom {
617
+ border-bottom-width: 1px;
618
+ top: 100%;
619
+ }
620
+ .react-flow__edge-textbg {
621
+ fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
622
+ }
623
+ .react-flow__edge-text {
624
+ fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
625
+ }
626
+
627
+ .nexus-flow {
628
+ font-family: inherit;
629
+ }
630
+
631
+ .nexus-flow .react-flow__node,
632
+ .nexus-flow .react-flow__controls,
633
+ .nexus-flow .react-flow__minimap,
634
+ .nexus-flow .react-flow__panel {
635
+ font-family: inherit;
636
+ }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-data-nexus-ui-library",
3
- "version": "2.10.20",
3
+ "version": "2.11.0",
4
4
  "description": "Nexus core components",
5
5
  "license": "ISC",
6
6
  "author": "emsmart-sage",
@@ -16,6 +16,10 @@
16
16
  "./schema-form": {
17
17
  "import": "./dist/schema-form.mjs",
18
18
  "types": "./dist/schema-form.d.ts"
19
+ },
20
+ "./react-flow.css": {
21
+ "types": "./dist/react-flow.css.d.ts",
22
+ "default": "./dist/react-flow.css"
19
23
  }
20
24
  },
21
25
  "engines": {
@@ -25,10 +29,12 @@
25
29
  "files": [
26
30
  "dist"
27
31
  ],
28
- "sideEffects": false,
32
+ "sideEffects": [
33
+ "**/*.css"
34
+ ],
29
35
  "scripts": {
30
36
  "prebuild": "node scripts/write-version.mjs",
31
- "build": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\" && rollup -c",
37
+ "build": "node -e \"require('fs').rmSync('dist', {recursive:true, force:true})\" && rollup -c && node scripts/copy-react-flow-styles.mjs",
32
38
  "build-storybook": "storybook build",
33
39
  "generate-favicon": "node scripts/generate-favicon.mjs",
34
40
  "lint": "eslint \"src/**/*.{ts,tsx,js,jsx}\"",
@@ -45,6 +51,7 @@
45
51
  "react-json-view-lite": "^2.5.0"
46
52
  },
47
53
  "peerDependencies": {
54
+ "@xyflow/react": "^12.12.0",
48
55
  "@emotion/react": "^11.14.0",
49
56
  "@emotion/styled": "^11.14.1",
50
57
  "@mui/icons-material": "^7 || ^8 || ^9",
@@ -95,6 +102,7 @@
95
102
  }
96
103
  },
97
104
  "devDependencies": {
105
+ "@xyflow/react": "^12.12.0",
98
106
  "@chromatic-com/storybook": "^5.3.0",
99
107
  "@emotion/react": "^11.14.0",
100
108
  "@emotion/styled": "^11.14.1",
package/readme.md CHANGED
@@ -125,3 +125,43 @@ import { SchemaForm } from "it-data-nexus-ui-library/schema-form";
125
125
 
126
126
  Apps that never import `it-data-nexus-ui-library/schema-form` do not need the
127
127
  `@rjsf/*` packages and never load them.
128
+
129
+ ## NexusFlow (node graphs)
130
+
131
+ `NexusFlow` is a themed wrapper over [`@xyflow/react`](https://reactflow.dev)
132
+ 12. `@xyflow/react` is a **required peer dependency**: install it in the app
133
+ alongside the library, and import the stylesheet once in the app entry.
134
+
135
+ ```bash
136
+ npm i @xyflow/react@^12
137
+ ```
138
+
139
+ ```tsx
140
+ import "it-data-nexus-ui-library/react-flow.css";
141
+ import { NexusFlow, FlowControls } from "it-data-nexus-ui-library";
142
+
143
+ <Box sx={{ height: 480 }}>
144
+ <NexusFlow nodes={nodes} edges={edges} nodeTypes={nodeTypes} edgeTypes={edgeTypes} fitView>
145
+ <FlowControls />
146
+ </NexusFlow>
147
+ </Box>;
148
+ ```
149
+
150
+ - `NexusFlow` takes every `ReactFlowProps` prop (`nodes`, `edges`,
151
+ `nodeTypes`, `edgeTypes`, handlers…) plus `background`
152
+ (`BackgroundVariant` or `false`). It does no auto-layout: pass positioned
153
+ nodes (for example, positions computed with dagre in the app).
154
+ - `colorMode` follows the MUI theme; edges default to `smoothstep` unless
155
+ `defaultEdgeOptions.type` says otherwise.
156
+ - `it-data-nexus-ui-library/react-flow.css` is the upstream xyflow stylesheet
157
+ plus Nexus font inheritance. The canvas fills its parent, so give the parent
158
+ a height.
159
+ - Why a peer, not a dependency: xyflow keeps its store in React context, so an
160
+ app that also uses `FlowProvider` or the xyflow hooks needs the same single
161
+ copy as the library. It is **not** optional, so npm 7+ installs it
162
+ automatically and the barrel's import always resolves. (An optional peer
163
+ imported from the barrel fails vite 8 / rolldown builds with
164
+ `MISSING_EXPORT`.) Declare it explicitly anyway.
165
+ - `FlowNodePaletteProvider`, `FlowNodePalette` and `FlowNodePaletteItem` add
166
+ a drag-or-keyboard palette whose items drop onto the canvas at the flow
167
+ position.