it-data-nexus-ui-library 2.6.4 → 2.8.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.
Files changed (97) hide show
  1. package/dist/components/AccordionSingle.mjs +1 -1
  2. package/dist/components/ActionBar.mjs +1 -1
  3. package/dist/components/AgentChat/AgentActivity/AgentActivityHeader.mjs +1 -0
  4. package/dist/components/AgentChat/AgentChatDialog.mjs +1 -0
  5. package/dist/components/{NexusChat/NexusChatWidget.mjs → AgentChat/AgentChatWidget.mjs} +1 -1
  6. package/dist/components/AgentChat/AgentChatWindow.mjs +1 -0
  7. package/dist/components/AgentChat/ChatComponents/ChatAvatar.mjs +1 -0
  8. package/dist/components/AgentChat/ChatComponents/MessageBubble.mjs +1 -0
  9. package/dist/components/AgentChat/ChatComponents/MessageList.mjs +1 -0
  10. package/dist/components/AgentChat/ChatComponents/TypingIndicator.mjs +1 -0
  11. package/dist/components/AgentChat/ChatHistoryButtonBase.mjs +1 -0
  12. package/dist/components/AgentChat/ChatInput.mjs +1 -0
  13. package/dist/components/AgentChat/WidgetParts/WidgetBody.mjs +1 -0
  14. package/dist/components/AiCard.mjs +1 -1
  15. package/dist/components/AiChip.mjs +1 -1
  16. package/dist/components/AiGlassCard.mjs +1 -1
  17. package/dist/components/AiGlassPaper.mjs +1 -1
  18. package/dist/components/AiPaper.mjs +1 -1
  19. package/dist/components/Buttons/AiButton.mjs +1 -1
  20. package/dist/components/Buttons/PrimaryButton.mjs +1 -1
  21. package/dist/components/Buttons/SecondaryButton.mjs +1 -1
  22. package/dist/components/Buttons/SecondaryButtonLink.mjs +1 -1
  23. package/dist/components/Card.mjs +1 -1
  24. package/dist/components/Charts/NexusBarChart.mjs +1 -1
  25. package/dist/components/Charts/NexusLineChart.mjs +1 -1
  26. package/dist/components/Charts/NexusPieChart.mjs +1 -1
  27. package/dist/components/Charts/NexusScatterChart.mjs +1 -1
  28. package/dist/components/DateRangeFilter.mjs +1 -1
  29. package/dist/components/Forms/FormDialog.mjs +1 -0
  30. package/dist/components/GlassCard.mjs +1 -1
  31. package/dist/components/GlassPaper.mjs +1 -1
  32. package/dist/components/GreenWaveBackground.mjs +1 -1
  33. package/dist/components/Logo/LogoOptions/LogoOption1.mjs +1 -1
  34. package/dist/components/Logo/LogoOptions/LogoOption11.mjs +1 -1
  35. package/dist/components/Logo/LogoOptions/LogoOptionBase.mjs +1 -1
  36. package/dist/components/Logo/LogoOptions/SageLogo.mjs +1 -1
  37. package/dist/components/Logo/NexusLogoNode.mjs +1 -1
  38. package/dist/components/Logo/NexusNodeIcon.mjs +1 -1
  39. package/dist/components/SegmentedControl.mjs +1 -1
  40. package/dist/components/SideBlade/SideBlade.mjs +1 -1
  41. package/dist/components/SideBlade/SideBladeNavListItem.mjs +1 -1
  42. package/dist/components/SkillChip.mjs +1 -1
  43. package/dist/components/SkipLink.mjs +1 -1
  44. package/dist/components/StatusBadge.mjs +1 -1
  45. package/dist/components/StatusChip.mjs +1 -1
  46. package/dist/components/Theme/ThemeToggle.mjs +1 -0
  47. package/dist/components/Theme/fontFaces.mjs +1 -0
  48. package/dist/components/_Primitives/Link.mjs +1 -1
  49. package/dist/generated/version.mjs +1 -1
  50. package/dist/index.d.ts +37 -11
  51. package/dist/index.mjs +1 -1
  52. package/package.json +1 -1
  53. package/dist/components/NexusChat/AgentActivity/AgentActivityHeader.mjs +0 -1
  54. package/dist/components/NexusChat/AgentChatWindow.mjs +0 -1
  55. package/dist/components/NexusChat/ChatComponents/ChatAvatar.mjs +0 -1
  56. package/dist/components/NexusChat/ChatComponents/MessageBubble.mjs +0 -1
  57. package/dist/components/NexusChat/ChatComponents/MessageList.mjs +0 -1
  58. package/dist/components/NexusChat/ChatComponents/TypingIndicator.mjs +0 -1
  59. package/dist/components/NexusChat/ChatHistoryButtonBase.mjs +0 -1
  60. package/dist/components/NexusChat/ChatInput.mjs +0 -1
  61. package/dist/components/NexusChat/NexusChatDialog.mjs +0 -1
  62. package/dist/components/NexusChat/WidgetParts/WidgetBody.mjs +0 -1
  63. package/dist/components/ThemeToggle.mjs +0 -1
  64. package/dist/theme/fontFaces.mjs +0 -1
  65. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/ActivityCard.mjs +0 -0
  66. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/ActivityCards.mjs +0 -0
  67. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/AgentActivity.mjs +0 -0
  68. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/SourceLink.mjs +0 -0
  69. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/TokenSummary.mjs +0 -0
  70. /package/dist/components/{NexusChat → AgentChat}/AgentActivity/activityModel.mjs +0 -0
  71. /package/dist/components/{NexusChat → AgentChat}/AgentChatWindowHeader.mjs +0 -0
  72. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/CopyableTableContainer.mjs +0 -0
  73. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/EmptyState.mjs +0 -0
  74. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/MarkdownContent.mjs +0 -0
  75. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/MessageFeedbackBar.mjs +0 -0
  76. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/SourceCitations.mjs +0 -0
  77. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/StreamingBubble.mjs +0 -0
  78. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/SuggestedPrompts.mjs +0 -0
  79. /package/dist/components/{NexusChat → AgentChat}/ChatComponents/latestTraceLabel.mjs +0 -0
  80. /package/dist/components/{NexusChat → AgentChat}/ChatHistory.mjs +0 -0
  81. /package/dist/components/{NexusChat → AgentChat}/ChatHistoryAgentItem.mjs +0 -0
  82. /package/dist/components/{NexusChat → AgentChat}/ChatHistoryHeader.mjs +0 -0
  83. /package/dist/components/{NexusChat → AgentChat}/ChatHistorySearch.mjs +0 -0
  84. /package/dist/components/{NexusChat → AgentChat}/FABButton.mjs +0 -0
  85. /package/dist/components/{NexusChat → AgentChat}/WidgetParts/WidgetHeader.mjs +0 -0
  86. /package/dist/components/{NexusChat → AgentChat}/WidgetParts/WidgetInput.mjs +0 -0
  87. /package/dist/components/{FormControls → Forms}/Checkbox.mjs +0 -0
  88. /package/dist/components/{FormControls → Forms}/CheckboxGroup.mjs +0 -0
  89. /package/dist/components/{FormControls → Forms}/FormControlLabel.mjs +0 -0
  90. /package/dist/components/{FormControls → Forms}/FormGroup.mjs +0 -0
  91. /package/dist/{theme → components/Theme}/MuiAppThemeProvider.mjs +0 -0
  92. /package/dist/{theme → components/Theme}/ThemeContext.mjs +0 -0
  93. /package/dist/{theme → components/Theme}/chartColours.mjs +0 -0
  94. /package/dist/{theme → components/Theme}/sageTheme.mjs +0 -0
  95. /package/dist/{theme → components/Theme}/sxHelpers.mjs +0 -0
  96. /package/dist/{theme → components/Theme}/tokens.mjs +0 -0
  97. /package/dist/{theme → components/Theme}/useTokens.mjs +0 -0
@@ -1 +1 @@
1
- import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Accordion as a,AccordionSummary as d,AccordionDetails as n}from"@mui/material";import o from"@mui/icons-material/ExpandMore";import{useTokens as i}from"../theme/useTokens.mjs";const m=({summary:m,children:s,defaultExpanded:t=!1,expanded:p,onChange:x,disabled:c,summaryProps:l,expandIcon:u,sx:h,detailsSx:f})=>{const y=i();return r(a,{defaultExpanded:t,expanded:p,onChange:x,disabled:c,sx:[{backgroundColor:y.background.paper},...Array.isArray(h)?h:h?[h]:[]],children:[e(d,{expandIcon:u??e(o,{}),...l,children:m}),e(n,{sx:Array.isArray(f)?f:f?[f]:void 0,children:s})]})};export{m as AccordionSingle};
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Accordion as a,AccordionSummary as d,AccordionDetails as n}from"@mui/material";import o from"@mui/icons-material/ExpandMore";import{useTokens as i}from"./Theme/useTokens.mjs";const m=({summary:m,children:s,defaultExpanded:p=!1,expanded:t,onChange:x,disabled:c,summaryProps:l,expandIcon:u,sx:h,detailsSx:f})=>{const y=i();return r(a,{defaultExpanded:p,expanded:t,onChange:x,disabled:c,sx:[{backgroundColor:y.background.paper},...Array.isArray(h)?h:h?[h]:[]],children:[e(d,{expandIcon:u??e(o,{}),...l,children:m}),e(n,{sx:Array.isArray(f)?f:f?[f]:void 0,children:s})]})};export{m as AccordionSingle};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import{useTheme as i,useMediaQuery as r,AppBar as l,Toolbar as o}from"@mui/material";import{Box as s}from"./_Primitives/Box.mjs";import{Stack as c}from"./_Primitives/Stack.mjs";import{NexusHome as d}from"./Logo/NexusHome.mjs";import{ThemeToggle as x}from"./ThemeToggle.mjs";import f from"./Logo/NexusLogo.mjs";import{ActionBarTitle as a}from"./Typography.mjs";import{useRef as h,useState as u,useEffect as m}from"react";const p=({title:p,extraLeft:g,extraRight:w,homeHref:y,showHome:v=!0,logo:j})=>{const C=j??e(f,{}),I=i(),b=r(I.breakpoints.up("lg")),B=h(null),[R,k]=u(49),z=h(null),E=h(null),L=h(null),M=h(null),A=h(null),S=h(null),[H,T]=u(null),[$,D]=u(null);return m(()=>{const e=B.current;if(!e)return;const n=()=>k(e.getBoundingClientRect().height);n();const t=window.ResizeObserver;if(!t)return;const i=new t(n);return i.observe(e),()=>i.disconnect()},[]),m(()=>{if(!b)return T(null),void D(null);function e(){const e=E.current,n=L.current,t=z.current,i=M.current,r=A.current,l=S.current;if(!e||!n||!t)return;const o=e.getBoundingClientRect(),s=n.getBoundingClientRect(),c=t.getBoundingClientRect();if(i){const e=i.getBoundingClientRect().width||0,n=(o.right+s.left)/2,t=o.right+e/2+8,r=s.left-e/2-8,l=Math.min(Math.max(n,t),r);T(l-c.left)}else T(null);if(r&&l){const e=r.getBoundingClientRect().width||0,n=l.getBoundingClientRect(),t=(s.right+n.left)/2,i=s.right+e/2+8,o=n.left-e/2-8,d=Math.min(Math.max(t,i),o);D(d-c.left)}else D(null)}e(),window.addEventListener("resize",e);let n=null;const t=window.ResizeObserver;return t&&(n=new t(e),z.current&&n.observe(z.current)),()=>{window.removeEventListener("resize",e),n&&n.disconnect()}},[b,g,w]),n(t,{children:[e(l,{position:"sticky",component:"header",color:"inherit",elevation:0,ref:B,sx:{zIndex:{xs:I.zIndex.appBar,sm:I.zIndex.drawer+1},[I.breakpoints.up("sm")]:{position:"fixed"}},children:n(o,{variant:"dense",sx:{display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:{lg:"center"},py:{xs:.5,lg:0}},children:[n(c,{sx:{display:{xs:"flex",sm:"none"},width:"100%"},spacing:.25,children:[n(c,{direction:"row",sx:{justifyContent:"flex-end","& .MuiIconButton-root":{padding:"4px"},"& svg":{fontSize:"1.1rem"}},children:[v&&e(d,{href:y}),e(x,{})]}),e(a,{sx:{textAlign:"center",fontSize:"1.1rem"},children:p})]}),(g||w)&&n(c,{direction:"row",sx:{display:{xs:"flex",sm:"none"},justifyContent:"center",alignItems:"center",gap:1,width:"100%",mt:1},children:[g,w]}),n(c,{sx:{display:{xs:"none",sm:"flex",lg:"none"},width:"100%"},spacing:.5,children:[n(c,{direction:"row",sx:{alignItems:"center",width:"100%"},children:[e(s,{sx:{flex:1,display:"flex",alignItems:"center"},children:e(s,{sx:{height:"38px",pt:.5},children:C})}),e(a,{children:p}),n(c,{direction:"row",sx:{flex:1,justifyContent:"flex-end",alignItems:"center",gap:1},children:[v&&e(d,{href:y}),e(x,{})]})]}),(g||w)&&n(c,{direction:"row",sx:{justifyContent:"center",alignItems:"center",gap:2,pb:.5},children:[g&&e(s,{children:g}),w&&e(s,{children:w})]})]}),e(s,{sx:{display:{xs:"none",lg:"block"},width:"100%"},children:n(s,{sx:{display:"flex",flexDirection:"row",alignItems:"center",width:"100%",position:"relative"},ref:z,children:[e(s,{sx:{display:"flex",alignItems:"center",flex:1,justifyContent:"flex-start"},children:e(s,{sx:{height:"38px",pt:.5},ref:E,children:C})}),e(s,{sx:{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",left:0,right:0,pointerEvents:"none"},children:e(s,{sx:{pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:L,children:e(a,{children:p})})})}),e(s,{sx:{display:g?"block":"none",position:"absolute",left:null!=H?`${H}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:M,children:g})}),e(s,{sx:{display:w?"block":"none",position:"absolute",left:null!=$?`${$}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(s,{ref:A,children:w})}),e(s,{sx:{display:"flex",alignItems:"center",flex:1,justifyContent:"flex-end"},children:n(s,{sx:{flex:"0 0 auto",display:"flex",alignItems:"center",gap:1},ref:S,children:[v&&e(d,{href:y}),e(x,{})]})})]})})]})}),e(s,{sx:{display:{xs:"none",sm:"block"},height:`${R}px`,flexShrink:0}})]})};export{p as ActionBar};
1
+ import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import{useTheme as i,useMediaQuery as r,AppBar as l,Toolbar as o,IconButton as s}from"@mui/material";import c from"@mui/icons-material/ChevronLeft";import a from"@mui/icons-material/Menu";import{Box as d}from"./_Primitives/Box.mjs";import{Stack as m}from"./_Primitives/Stack.mjs";import{NexusHome as f}from"./Logo/NexusHome.mjs";import{ThemeToggle as x}from"./Theme/ThemeToggle.mjs";import h from"./Logo/NexusLogo.mjs";import{ActionBarTitle as p}from"./Typography.mjs";import{useRef as u,useState as g,useEffect as w}from"react";const y=({title:y,extraLeft:v,extraRight:C,homeHref:I,showHome:b=!0,logo:j,mobileNavigation:z})=>{const R=j??e(h,{}),k=i(),B=r(k.breakpoints.up("lg")),L=u(null),[E,M]=g(49),T=u(null),S=u(null),A=u(null),H=u(null),O=u(null),N=u(null),[$,D]=g(null),[P,W]=g(null);return w(()=>{const e=L.current;if(!e)return;const n=()=>M(e.getBoundingClientRect().height);n();const t=window.ResizeObserver;if(!t)return;const i=new t(n);return i.observe(e),()=>i.disconnect()},[]),w(()=>{if(!B)return D(null),void W(null);function e(){const e=S.current,n=A.current,t=T.current,i=H.current,r=O.current,l=N.current;if(!e||!n||!t)return;const o=e.getBoundingClientRect(),s=n.getBoundingClientRect(),c=t.getBoundingClientRect();if(i){const e=i.getBoundingClientRect().width||0,n=(o.right+s.left)/2,t=o.right+e/2+8,r=s.left-e/2-8,l=Math.min(Math.max(n,t),r);D(l-c.left)}else D(null);if(r&&l){const e=r.getBoundingClientRect().width||0,n=l.getBoundingClientRect(),t=(s.right+n.left)/2,i=s.right+e/2+8,o=n.left-e/2-8,a=Math.min(Math.max(t,i),o);W(a-c.left)}else W(null)}e(),window.addEventListener("resize",e);let n=null;const t=window.ResizeObserver;return t&&(n=new t(e),T.current&&n.observe(T.current)),()=>{window.removeEventListener("resize",e),n&&n.disconnect()}},[B,v,C]),n(t,{children:[e(l,{position:"sticky",component:"header",color:"inherit",elevation:0,ref:L,sx:{zIndex:{xs:k.zIndex.appBar,sm:k.zIndex.drawer+1},[k.breakpoints.up("sm")]:{position:"fixed"}},children:n(o,{variant:"dense",sx:{display:"flex",flexDirection:"column",alignItems:"stretch",justifyContent:{lg:"center"},py:{xs:.5,lg:0}},children:[n(m,{direction:"row",sx:{display:{xs:"grid",sm:"none"},gridTemplateColumns:"minmax(72px, 1fr) minmax(0, auto) minmax(72px, 1fr)",alignItems:"center",width:"100%",minHeight:40,"& .MuiIconButton-root":{padding:"4px"},"& svg":{fontSize:"1.1rem"}},children:[e(d,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start"},children:z&&e(s,{ref:z.buttonRef,onClick:z.onToggle,size:"small","aria-label":z.open?"Close navigation":"Open navigation","aria-expanded":z.open,children:z.open?e(c,{fontSize:"small"}):e(a,{fontSize:"small"})})}),e(p,{noWrap:!0,sx:{minWidth:0,textAlign:"center",overflow:"hidden",textOverflow:"ellipsis"},children:y}),n(m,{direction:"row",sx:{justifyContent:"flex-end",alignItems:"center"},children:[b&&e(f,{href:I}),e(x,{})]})]}),(v||C)&&n(m,{direction:"row",sx:{display:{xs:"flex",sm:"none"},justifyContent:"center",alignItems:"center",gap:1,width:"100%",mt:1},children:[v,C]}),n(m,{sx:{display:{xs:"none",sm:"flex",lg:"none"},width:"100%"},spacing:.5,children:[n(m,{direction:"row",sx:{alignItems:"center",width:"100%"},children:[e(d,{sx:{flex:1,display:"flex",alignItems:"center"},children:e(d,{sx:{height:"38px",pt:.5},children:R})}),e(p,{children:y}),n(m,{direction:"row",sx:{flex:1,justifyContent:"flex-end",alignItems:"center",gap:1},children:[b&&e(f,{href:I}),e(x,{})]})]}),(v||C)&&n(m,{direction:"row",sx:{justifyContent:"center",alignItems:"center",gap:2,pb:.5},children:[v&&e(d,{children:v}),C&&e(d,{children:C})]})]}),e(d,{sx:{display:{xs:"none",lg:"block"},width:"100%"},children:n(d,{sx:{display:"flex",flexDirection:"row",alignItems:"center",width:"100%",position:"relative"},ref:T,children:[e(d,{sx:{display:"flex",alignItems:"center",flex:1,justifyContent:"flex-start"},children:e(d,{sx:{height:"38px",pt:.5},ref:S,children:R})}),e(d,{sx:{display:"flex",justifyContent:"center",alignItems:"center",position:"absolute",left:0,right:0,pointerEvents:"none"},children:e(d,{sx:{pointerEvents:"auto",textAlign:"center"},children:e(d,{ref:A,children:e(p,{children:y})})})}),e(d,{sx:{display:v?"block":"none",position:"absolute",left:null!=$?`${$}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(d,{ref:H,children:v})}),e(d,{sx:{display:C?"block":"none",position:"absolute",left:null!=P?`${P}px`:void 0,transform:"translateX(-50%)",pointerEvents:"auto",textAlign:"center"},children:e(d,{ref:O,children:C})}),e(d,{sx:{display:"flex",alignItems:"center",flex:1,justifyContent:"flex-end"},children:n(d,{sx:{flex:"0 0 auto",display:"flex",alignItems:"center",gap:1},ref:N,children:[b&&e(f,{href:I}),e(x,{})]})})]})})]})}),e(d,{sx:{display:{xs:"none",sm:"block"},height:`${E}px`,flexShrink:0}})]})};export{y as ActionBar};
@@ -0,0 +1 @@
1
+ import{jsxs as i,jsx as e}from"react/jsx-runtime";import{Body1 as r}from"../../Typography.mjs";import{GhostButton as t}from"../../Buttons/GhostButton.mjs";import{Chip as o}from"../../_Primitives/Chip.mjs";import{CircularProgress as a}from"../../_Primitives/CircularProgress.mjs";import{Stack as s}from"../../_Primitives/Stack.mjs";import{colours as n}from"../../Theme/tokens.mjs";import m from"@mui/icons-material/CheckCircle";import l from"@mui/icons-material/ExpandMore";import c from"@mui/icons-material/ExpandLess";const d=({isStreaming:d,thinkingSteps:p,kbSearches:h,toolCalls:x,isExpanded:g,setIsExpanded:f})=>{const u=n.jadeLight;return i(t,{onClick:()=>f(i=>!i),"aria-expanded":g,"aria-label":g?"Collapse agent activity":"Expand agent activity",sx:{display:"flex",alignItems:"center",gap:1,width:"100%",minHeight:32,px:0,borderRadius:1,color:"text.secondary","&:hover":{color:"text.primary"}},children:[i(s,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1,minWidth:0},children:[e(s,{direction:"row",spacing:1,sx:{alignItems:"center",color:d?"primary.main":"text.secondary"},children:d?e(a,{size:14,"aria-hidden":"true"}):e(m,{sx:{color:u,fontSize:16},"aria-hidden":"true"})}),e(r,{children:d?"Agent is working...":"Response generated"}),i(s,{direction:"row",spacing:.5,sx:{ml:"auto",pr:.5},children:[p>0&&e(o,{size:"small",label:`${p} thinking`}),h>0&&e(o,{size:"small",label:`${h} KB`}),x>0&&e(o,{size:"small",label:`${x} tools`})]})]}),e(g?c:l,{sx:{fontSize:14,color:"text.secondary"},"aria-hidden":"true"})]})};export{d as default};
@@ -0,0 +1 @@
1
+ import{jsxs as o,jsx as e,Fragment as t}from"react/jsx-runtime";import{useState as i}from"react";import{useTheme as n,useMediaQuery as r,Popover as s}from"@mui/material";import l from"@mui/icons-material/CloseFullscreen";import a from"@mui/icons-material/GridView";import m from"@mui/icons-material/History";import{AgentChatWindow as p}from"./AgentChatWindow.mjs";import{ChatHistory as c}from"./ChatHistory.mjs";import{Dialog as d}from"../_Primitives/Dialog.mjs";import{Box as h}from"../_Primitives/Box.mjs";import{Stack as C}from"../_Primitives/Stack.mjs";import{IconButton as g}from"../Buttons/IconButton.mjs";import{AiChip as u}from"../AiChip.mjs";import{H1 as f,H2 as v}from"../Typography.mjs";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material/styles";import"../Theme/tokens.mjs";import"./ChatComponents/ChatAvatar.mjs";import{chatWindowMarkdownComponents as x}from"./ChatComponents/MarkdownContent.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"../Code.mjs";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import w from"./ChatComponents/SuggestedPrompts.mjs";import S from"./ChatComponents/MessageList.mjs";function b({open:b,onClose:y,title:j="Ask Nexus",subtitle:k="Ready to help",placeholder:A,suggestedPrompts:I=[],showAiChip:T=!0,isTyping:z,messages:P,streamingText:D,liveTraceEvents:E,showActivity:O=!1,onSend:U,onStop:L,onFeedback:N,followUpPrompts:B,followUpLabel:F="Suggested follow-ups:",topOffset:M,conversations:_,activeConversationId:H,onSelectConversation:W,onDeleteConversation:X,onNewConversation:$,agents:G,activeAgentId:R,onSelectAgent:V}){const q=n(),J=r(q.breakpoints.down("md")),[K,Q]=i(!1),[Y,Z]=i(!1),[oo,eo]=i(null),to=P.length>0||z,io=void 0!==_,no=M?`calc(100vh - ${M}px)`:"100vh",ro=o(C,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[T&&e(u,{}),io&&J&&e(g,{title:"Chat history",size:"small",onClick:()=>Q(o=>!o),children:e(m,{sx:{fontSize:18}})}),e(g,{title:"Close full view",size:"small",onClick:y,children:e(l,{sx:{fontSize:16}})})]}),so=to?e(S,{messages:P,isTyping:z,streamingText:D,liveTraceEvents:E,showActivity:O,markdownComponents:x,onFeedback:N}):o(C,{direction:"column",sx:{gap:4,alignItems:"center"},children:[e(f,{children:j}),e(v,{sx:{color:"text.secondary"},children:k})]}),lo=!to&&I.length>0?o(t,{children:[e(g,{title:"Open prompt gallery",ariaLabel:"Open prompt gallery",size:"small",sx:{color:"text.jades"},onClick:o=>eo(o.currentTarget),children:e(a,{sx:{fontSize:18}})}),e(s,{open:Boolean(oo),anchorEl:oo,onClose:()=>eo(null),anchorOrigin:{vertical:"top",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"left"},children:e(h,{sx:{p:2,maxWidth:360},children:e(w,{prompts:I,onSelect:o=>{eo(null),U(o)}})})})]}):void 0;return o(d,{open:b,fullScreen:!0,onClose:y,sx:M?{top:`${M}px`}:void 0,children:[o(h,{sx:{display:"flex",height:no,overflow:"hidden"},children:[io&&e(h,{sx:{display:{xs:"none",md:"flex"},flexShrink:0},children:e(c,{conversations:_,activeConversationId:H??null,onSelectConversation:W??(()=>{}),onDeleteConversation:X,onNewConversation:$,agents:G,activeAgentId:R,onSelectAgent:V,isCollapsed:Y,onToggleCollapse:()=>Z(o=>!o)})}),e(p,{title:j,subtitle:k,showAiChip:!1,headerActions:ro,isEmpty:!to,body:so,followUpPrompts:B,onSelectFollowUp:U,followUpLabel:F,onSend:U,isStreaming:z,onStop:L,inputPlaceholder:A,inputActions:lo})]}),io&&J&&o(t,{children:[K&&e(h,{onClick:()=>Q(!1),sx:{position:"absolute",inset:0,zIndex:9,bgcolor:"rgba(0,0,0,0.45)"}}),e(h,{sx:{position:"absolute",top:0,left:0,bottom:0,width:288,zIndex:10,bgcolor:"background.paper",boxShadow:4,display:"flex",flexDirection:"column",overflow:"hidden",transform:K?"translateX(0)":"translateX(-100%)",transition:"transform 0.25s ease"},children:e(c,{conversations:_,activeConversationId:H??null,onSelectConversation:o=>{W?.(o),Q(!1)},onDeleteConversation:X,onNewConversation:$?()=>{$(),Q(!1)}:void 0,agents:G,activeAgentId:R,onSelectAgent:V,onClose:()=>Q(!1)})})]})]})}export{b as AgentChatDialog};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as t,jsx as s}from"react/jsx-runtime";import{FABButton as o}from"./FABButton.mjs";import{Paper as i}from"../_Primitives/Paper.mjs";import a from"./WidgetParts/WidgetBody.mjs";import n from"./WidgetParts/WidgetHeader.mjs";import r from"./WidgetParts/WidgetInput.mjs";const m=["Summarise my latest data","What changed this week?","Show me the key trends","Help me understand my metrics"];function d({title:d="Ask Nexus",subtitle:l="Ready to help",fabLabel:p="Ask Nexus",avatarIcon:c,placeholder:x,emptyTitle:h="Ask Nexus",emptyDescription:u="Ask me anything about your data and I'll help you find answers.",dataSources:g,suggestedPrompts:f=m,isOpen:y,isTyping:v,messages:b,streamingText:S,liveTraceEvents:w,showActivity:T=!1,onOpen:P,onClose:A,onSend:I,onStop:W,onExpandToFullPage:j,hideFab:k=!1,placement:B="bottom-right"}){if(k)return null;return e(t,{children:[y&&e(i,{elevation:8,sx:{boxShadow:e=>e.shadows[2],borderRadius:3,position:"fixed",bottom:{xs:16,sm:24},..."bottom-left"===B?{left:{xs:16,sm:24}}:{right:{xs:16,sm:24}},zIndex:e=>e.zIndex.appBar+50,display:"flex",flexDirection:"column",width:{xs:"calc(100vw - 32px)",sm:380},height:{xs:"min(560px, calc(100dvh - 88px))",sm:"min(520px, calc(100dvh - 104px))"},overflow:"hidden",p:0},children:[s(n,{title:d,subtitle:l,onExpandToFullPage:j,onClose:A,avatarIcon:c}),s(a,{avatarIcon:c,isTyping:v,liveTraceEvents:w,messages:b,showActivity:T,streamingText:S,emptyTitle:h,emptyDescription:u,dataSources:g,suggestedPrompts:f,onSend:I}),s(r,{placeholder:x,isStreaming:v,onStop:W,onSend:I})]}),!y&&s(o,{onOpen:P,fabLabel:p,placement:B})]})}export{d as NexusChatWidget};
1
+ import{jsxs as e,Fragment as t,jsx as s}from"react/jsx-runtime";import{FABButton as o}from"./FABButton.mjs";import{Paper as i}from"../_Primitives/Paper.mjs";import a from"./WidgetParts/WidgetBody.mjs";import n from"./WidgetParts/WidgetHeader.mjs";import r from"./WidgetParts/WidgetInput.mjs";const m=["Summarise my latest data","What changed this week?","Show me the key trends","Help me understand my metrics"];function d({title:d="Ask Nexus",subtitle:l="Ready to help",fabLabel:p="Ask Nexus",avatarIcon:c,placeholder:x,emptyTitle:h="Ask Nexus",emptyDescription:u="Ask me anything about your data and I'll help you find answers.",dataSources:g,suggestedPrompts:f=m,isOpen:y,isTyping:v,messages:b,streamingText:S,liveTraceEvents:w,showActivity:T=!1,onOpen:P,onClose:A,onSend:I,onStop:W,onExpandToFullPage:j,hideFab:k=!1,placement:B="bottom-right"}){if(k)return null;return e(t,{children:[y&&e(i,{elevation:8,sx:{boxShadow:e=>e.shadows[2],borderRadius:3,position:"fixed",bottom:{xs:16,sm:24},..."bottom-left"===B?{left:{xs:16,sm:24}}:{right:{xs:16,sm:24}},zIndex:e=>e.zIndex.appBar+50,display:"flex",flexDirection:"column",width:{xs:"calc(100vw - 32px)",sm:380},height:{xs:"min(560px, calc(100dvh - 88px))",sm:"min(520px, calc(100dvh - 104px))"},overflow:"hidden",p:0},children:[s(n,{title:d,subtitle:l,onExpandToFullPage:j,onClose:A,avatarIcon:c}),s(a,{avatarIcon:c,isTyping:v,liveTraceEvents:w,messages:b,showActivity:T,streamingText:S,emptyTitle:h,emptyDescription:u,dataSources:g,suggestedPrompts:f,onSend:I}),s(r,{placeholder:x,isStreaming:v,onStop:W,onSend:I})]}),!y&&s(o,{onOpen:P,fabLabel:p,placement:B})]})}export{d as AgentChatWidget};
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as t,Fragment as e}from"react/jsx-runtime";import{useState as i,useRef as n,useEffect as o}from"react";import{Box as s}from"../_Primitives/Box.mjs";import{Stack as a}from"../_Primitives/Stack.mjs";import{Caption as l}from"../Typography.mjs";import{Paper as m}from"../_Primitives/Paper.mjs";import{ChatInput as c}from"./ChatInput.mjs";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material";import"@mui/material/styles";import"../Theme/tokens.mjs";import"./ChatComponents/ChatAvatar.mjs";import"react-markdown";import"remark-gfm";import"../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import u from"./ChatComponents/SuggestedPrompts.mjs";import{AgentChatWindowHeader as p}from"./AgentChatWindowHeader.mjs";const d=({title:d="Nexus AI Chat",subtitle:h="Your intelligent assistant",showAiChip:f=!0,headerActions:x,body:C,followUpLabel:g="Suggested follow-ups:",followUpPrompts:b,onSelectFollowUp:y,onSend:w,inputDisabled:S=!1,inputPlaceholder:A="Ask me anything...",isStreaming:j=!1,onStop:k,inputActions:D,inputRef:v,inputLabel:T="Message",isEmpty:M=!1,inputSx:P,sx:I})=>{const[R,E]=i(!1),L=n(0),U=n(0),Y=n(0),H=n(null),W=Boolean(b&&b.length>0&&y);o(()=>{M&&(E(!1),L.current=0,U.current=0)},[M]);const _=r(c,{onSend:w,disabled:S,placeholder:A,isStreaming:j,onStop:k,actions:D,inputRef:v,label:T});return t(s,{sx:[{display:"flex",flex:1,flexDirection:"column",minWidth:0,minHeight:0,height:"100%"},...Array.isArray(I)?I:I?[I]:[]],onWheelCapture:()=>{Y.current=Date.now()},onTouchStartCapture:r=>{H.current=r.touches[0]?.clientY??null},onTouchMoveCapture:r=>{const t=r.touches[0]?.clientY;void 0!==t&&null!==H.current&&Math.abs(t-H.current)>1&&(Y.current=Date.now(),H.current=t)},onScrollCapture:r=>{const t=r.target;if(!(t instanceof HTMLElement))return;if("true"!==t.dataset.agentChatScrollContainer)return;const e=t.scrollTop,i=e-L.current;if(L.current=e,e<=0)return U.current=0,void E(!1);Date.now()-Y.current>250?U.current=0:(Math.sign(i)!==Math.sign(U.current)?U.current=i:U.current+=i,U.current>=12?(E(!0),U.current=0):U.current<=-12&&(E(!1),U.current=0))},children:[r(s,{sx:{display:{xs:R?"none":"block",sm:"block"},flexShrink:0},children:r(p,{title:d,subtitle:h,showAiChip:f,actions:x})}),M?t(m,{sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",px:2,pb:4},children:[C,r(s,{sx:[{mt:3,width:"100%"},...Array.isArray(P)?P:P?[P]:[]],children:_})]}):t(e,{children:[r(m,{"data-agent-chat-scroll-container":"true",sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",overflowY:"scroll"},children:C}),W&&t(a,{direction:{xs:"column",md:"row"},spacing:1,sx:{px:2,py:1,justifyContent:{xs:"center",sm:"flex-end"},alignItems:"center"},children:[r(l,{sx:{display:"block",mb:1},children:g}),r(u,{prompts:b??[],onSelect:y})]}),r(m,{sx:{borderRadius:0,border:"none"},children:r(s,{sx:[{p:2,flexShrink:0},...Array.isArray(P)?P:P?[P]:[]],children:_})})]})]})};export{d as AgentChatWindow};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as i,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as t}from"@mui/material";import s from"@mui/icons-material/AutoAwesomeOutlined";import{colours as a,gradients as r}from"../../Theme/tokens.mjs";const l={sm:32,md:48,lg:64},d={sm:14,md:20,lg:26},m=r.aiConic,p="nexus-ai-icon-gradient",c=e(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),f=()=>e(t,{component:"svg","aria-hidden":!0,width:0,height:0,sx:{position:"absolute"},children:e("defs",{children:i("linearGradient",{id:p,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[e("stop",{offset:"0%",stopColor:a.brilliantGreen}),e("stop",{offset:"50%",stopColor:a.cyan}),e("stop",{offset:"100%",stopColor:a.blue})]})})}),u=({size:o="sm",icon:r,sx:u})=>{const x=l[o],g=d[o];return i(n,{children:[c,!r&&e(f,{}),i(t,{sx:[{position:"relative",isolation:"isolate",width:x,height:x,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"transparent",boxShadow:`0 0 8px 0 ${a.cyan}73`},...Array.isArray(u)?u:u?[u]:[]],children:[e(t,{component:"span",sx:{position:"absolute",inset:0,borderRadius:"50%",background:m,padding:"1.5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude",animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),e(t,{component:"span",sx:{position:"relative",display:"inline-flex"},children:r??e(s,{sx:{fontSize:g,fill:`url(#${p})`}})})]})]})};export{u as default};
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as r}from"react";import t from"@mui/icons-material/ExpandMore";import n from"@mui/icons-material/ExpandLess";import i from"@mui/icons-material/Download";import a from"../AgentActivity/AgentActivity.mjs";import{Box as l}from"../../_Primitives/Box.mjs";import{Stack as c}from"../../_Primitives/Stack.mjs";import{GhostButton as s}from"../../Buttons/GhostButton.mjs";import{SecondaryButton as m}from"../../Buttons/SecondaryButton.mjs";import d from"./MarkdownContent.mjs";import p from"./MessageFeedbackBar.mjs";import{ChatWindowBody as f}from"../../Typography.mjs";import{colours as h}from"../../Theme/tokens.mjs";const g=({block:i})=>{const[a,c]=r(!1),m=i.language?.trim()||"text",d=i.content||"";if(!d.trim())return null;const p=Boolean(i.title);return o(l,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden",mb:1,"&:last-child":{mb:0}},children:[p&&o(s,{onClick:()=>c(e=>!e),"aria-expanded":a,sx:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",px:1.5,py:.75,bgcolor:"action.hover",borderBottom:a?"1px solid":"none",borderColor:"divider"},children:[e(l,{component:"span",sx:{fontSize:"0.8rem",fontWeight:600,color:"text.secondary"},children:i.title}),e(l,{component:"span","aria-hidden":"true",sx:{display:"inline-flex",alignItems:"center",color:"text.secondary"},children:e(a?n:t,{sx:{fontSize:16}})})]}),(!p||a)&&e(l,{component:"pre",sx:{m:0,p:1.5,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:"0.8125rem",fontFamily:'"SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace',lineHeight:1.5,bgcolor:"action.hover"},children:e(l,{component:"code",className:`language-${m}`,children:d})})]})},u=({file:o,onDownloadFile:t})=>{const[n,a]=r(!1);return e(m,{size:"small",startIcon:e(i,{}),onClick:async()=>{if(t){a(!0);try{await t(o)}finally{a(!1)}}},disabled:n||!t,children:n?"Preparing…":o.downloadLabel||o.displayName||"Download file"})},x=(o,r)=>{const t=r?.trim();if(!t)return o;const n=new RegExp(`(${(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(t)})`,"ig");return o.split(n).map((o,r)=>{if(!o)return null;return o.toLowerCase()===t.toLowerCase()?e(l,{component:"mark",sx:{backgroundColor:e=>"dark"===e.palette.mode?"rgba(255, 214, 10, 0.35)":"rgba(255, 214, 10, 0.45)",color:"inherit",borderRadius:.5,px:.25,py:0},children:o},`${o}-${r}`):o})},y=({message:r,highlightQuery:t,showActivity:n=!1,onFeedback:i,onDownloadFile:s,contentRenderer:m,markdownComponents:y,compact:b=!1})=>{const w="user"===r.role,k=!w&&r.codeBlocks&&r.codeBlocks.length>0,v=!w&&r.files&&r.files.length>0;return e(l,{sx:{display:"flex",justifyContent:w?"flex-end":"flex-start"},children:o(l,{sx:{display:"flex",flexDirection:"column",gap:1,minWidth:0,...w?{}:{flex:1}},children:[!w&&n&&r.traceEvents&&r.traceEvents.length>0&&e(a,{isStreaming:!1,traceEvents:r.traceEvents,latency:r.latency,activitySummary:r.activitySummary,compact:!0}),o(l,{sx:{borderRadius:w?"1rem 0.25rem 1rem 1rem":"0.25rem 1rem 1rem 1rem",px:1.75,py:1.25,bgcolor:w?h.jadeLight:"background.default",color:w?h.black:"text.primary",border:"none"},children:[k&&e(c,{spacing:0,sx:{mb:1.5},children:r.codeBlocks.map((o,r)=>e(g,{block:o},r))}),w?e(f,{sx:{whiteSpace:"pre-wrap",fontSize:b?"0.875rem":void 0},children:x(r.content,t)}):e("div",{className:"message-content",children:m?m(r.content):e(d,{content:r.content,highlightQuery:t,compact:b,components:y})}),v&&e(c,{direction:"row",spacing:1,sx:{mt:1.5,flexWrap:"wrap"},children:r.files.map((o,r)=>e(u,{file:o,onDownloadFile:s},`${o.bucket}-${o.key}-${r}`))})]}),!w&&i&&e(p,{message:r,onFeedback:i})]})})};export{y as default};
@@ -0,0 +1 @@
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useRef as r,useEffect as o}from"react";import{Box as n}from"../../_Primitives/Box.mjs";import c from"./MessageBubble.mjs";import i from"./StreamingBubble.mjs";import l from"./TypingIndicator.mjs";import{latestTraceLabel as s}from"./latestTraceLabel.mjs";const m=({messages:m,isTyping:a,streamingText:u,liveTraceEvents:g,highlightQuery:h,onAbort:p,showActivity:f=!1,compact:d=!1,markdownComponents:b,onFeedback:x})=>{const y=r(null),v=r(null),T=r(!1),j=r(m.length),w=r(!1),A=()=>{const t=v.current;t&&(w.current=!0,t.scrollTop=t.scrollHeight,requestAnimationFrame(()=>{w.current=!1}))};o(()=>{const t=m[m.length-1];m.length>j.current&&"user"===t?.role&&(T.current=!1,A()),j.current=m.length},[m]),o(()=>{T.current||A()},[a,u]);const k=(u||"").trim().length>0,H=a&&(k||f),B=a&&!H;return t(n,{ref:v,"data-agent-chat-scroll-container":"true",onScroll:()=>{w.current||(T.current=!(()=>{const t=v.current;return!t||t.scrollHeight-t.scrollTop-t.clientHeight<80})())},sx:{flex:1,minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:1.5,px:2,py:1.5},children:[m.filter(t=>"user"===t.role||t.content).map(t=>e(c,{message:t,highlightQuery:h,showActivity:f,compact:d,markdownComponents:b,onFeedback:x},t.id)),H&&e(i,{text:u||"",traceEvents:g||[],highlightQuery:h,onAbort:p,showActivity:f,compact:d}),B&&e(l,{traceLabel:g&&g.length>0?s(g):void 0}),e(n,{ref:y})]})};export{m as default};
@@ -0,0 +1 @@
1
+ import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Box as i}from"../../_Primitives/Box.mjs";import{Stack as t}from"../../_Primitives/Stack.mjs";import{Body2 as o}from"../../Typography.mjs";import{useTheme as a}from"@mui/material/styles";import{colours as n}from"../../Theme/tokens.mjs";const m=({traceLabel:m,avatarIcon:s})=>{const c="dark"===a().palette.mode?n.jadeLight:n.jadeDark;return r(t,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[s&&e(i,{sx:{mt:.25,flexShrink:0},children:s}),e(i,{sx:{borderRadius:"1rem 1rem 1rem 0.25rem",border:"1px solid",borderColor:"divider",bgcolor:"background.default",px:1.75,py:1.25},children:r(t,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e(o,{sx:{color:"text.primary",fontWeight:600,opacity:1},children:m?`Agent is working... ${m}`:"Agent is working..."}),e(t,{direction:"row",spacing:.5,children:[0,150,300].map(r=>e(i,{component:"span",sx:{width:6,height:6,borderRadius:"50%",bgcolor:c,animation:"bounce 1s ease-in-out infinite",animationDelay:`${r}ms`,"@keyframes bounce":{"0%, 80%, 100%":{opacity:.35,transform:"translateY(0)"},"40%":{opacity:1,transform:"translateY(-1px)"}}}},r))})]})})]})};export{m as default};
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as r}from"react/jsx-runtime";import t from"@mui/icons-material/ChatBubbleOutlined";import o from"@mui/icons-material/DeleteForeverOutlined";import{Tooltip as i}from"@mui/material";import{Body1 as n,Caption as a}from"../Typography.mjs";import{GhostButton as s}from"../Buttons/GhostButton.mjs";import{Box as l}from"../_Primitives/Box.mjs";import{IconButton as m}from"../Buttons/IconButton.mjs";import{colours as p}from"../Theme/tokens.mjs";const d=(e,t)=>{const o=t?.trim();if(!o)return e;const i=new RegExp(`(${(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(o)})`,"ig");return e.split(i).map((e,t)=>{if(!e)return null;return e.toLowerCase()===o.toLowerCase()?r(l,{component:"mark",sx:{backgroundColor:e=>"dark"===e.palette.mode?"rgba(255, 214, 10, 0.35)":"rgba(255, 214, 10, 0.45)",color:"inherit",borderRadius:.5,px:.25,py:0},children:e},`${e}-${t}`):e})},c=({conversation:c,isActive:u,highlightQuery:b,onSelectConversation:h,onDeleteConversation:g,deleteConversationTitle:x,formatMessageCount:f,showMessageCount:v=!1,sx:y})=>{const C=(e=>"number"==typeof e.messageCount?e.messageCount:Array.isArray(e.messages)?e.messages.length:0)(c);return e(l,{sx:[{position:"relative",mb:.5,"&:hover .delete-button":{visibility:"visible"}},...Array.isArray(y)?y:y?[y]:[]],children:[r(i,{title:c.agentName??"",placement:"right",disableInteractive:!0,children:r("span",{children:e(s,{onClick:()=>h(c.id),sx:{width:"100%",display:"flex",alignItems:"center",gap:1.25,borderRadius:1,px:1.5,py:.75,pr:4.5,backgroundColor:u?e=>e.palette.background.paper:"transparent",backgroundImage:"none",opacity:1,border:"1px solid",borderColor:u?p.primaryGreenActive:"transparent","&:hover":{backgroundColor:u?e=>e.palette.background.paper:"action.hover",backgroundImage:"none"},"&:focus-visible":{boxShadow:e=>`0 0 0 2px ${e.palette.primary.main}`}},children:[r(t,{sx:{fontSize:14,color:u?p.primaryGreenActive:"text.disabled"}}),e(l,{sx:{flex:1,minWidth:0},children:[r(n,{component:"span",sx:{display:"block",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:u?"text.primary":"text.secondary"},children:d(c.title,b)}),v&&r(a,{noWrap:!0,sx:{display:"block"},children:f(C)})]})]})})}),r(l,{sx:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)"},children:r(m,{className:"delete-button",title:x,ariaLabel:x,onClick:e=>{e.stopPropagation(),g&&Promise.resolve(g(c.id))},disabled:!g,sx:{visibility:"hidden"},children:r(o,{sx:{fontSize:14,color:u?"error.main":"text.disabled"}})})})]})};export{c as ChatHistoryButtonBase};
@@ -0,0 +1 @@
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useId as o,useState as i}from"react";import r from"@mui/icons-material/Send";import l from"@mui/icons-material/Stop";import{Box as n}from"../_Primitives/Box.mjs";import{IconButton as a}from"../Buttons/IconButton.mjs";import{Paper as s}from"../_Primitives/Paper.mjs";import{TextField as m}from"../_Primitives/TextField.mjs";import{colours as d}from"../Theme/tokens.mjs";const p=({onSend:p,disabled:c=!1,placeholder:u="Ask about campaigns, performance…",maxRows:f=5,sendButtonTitle:h="Send message",isStreaming:b=!1,onStop:x,stopButtonTitle:g="Stop generating",actions:v,value:S,onChange:y,inputRef:j,label:k="Message"})=>{const w=o(),[z,B]=i(""),R=void 0!==S,I=R?S:z,P=e=>{R?y?.(e):B(e)},T=d.jadeLight,C=d.black,D=()=>{const e=I.trim();e&&!c&&(p(e),P(""))};return e(n,{component:"form",onSubmit:e=>{e.preventDefault(),b||D()},sx:{display:"flex",alignItems:"center",gap:1},children:[t("label",{htmlFor:w,style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:k}),e(s,{variant:"outlined",sx:{display:"flex",flex:1,alignItems:"center",gap:1,px:1.5,py:.75,borderRadius:2,borderColor:"text.jades"},children:[t(m,{variant:"standard",fullWidth:!0,multiline:!0,minRows:1,maxRows:f,value:I,onChange:e=>P(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),b||D())},placeholder:u,disabled:c,inputRef:j,slotProps:{htmlInput:{id:w,"aria-label":u},input:{disableUnderline:!0}},sx:{"& .MuiInputBase-input":{p:.5,fontSize:"0.875rem",color:"text.primary",resize:"none","&::placeholder":{color:"text.disabled",opacity:1}}}}),v,t(a,b&&x?{type:"button",title:g,onClick:x,variant:"filled",size:"small",sx:{flexShrink:0,bgcolor:"error.main",color:"error.contrastText","&:hover":{bgcolor:"error.dark"}},children:t(l,{sx:{fontSize:13}})}:{type:"submit",title:h,disabled:!I.trim()||c,variant:"filled",size:"small",sx:{flexShrink:0,bgcolor:T,color:C,"&:hover":{bgcolor:d.jade},"&.Mui-disabled":{bgcolor:T,color:C,opacity:.4}},children:t(r,{sx:{fontSize:13}})})]})]})};export{p as ChatInput};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{Box as i}from"../../_Primitives/Box.mjs";import"react";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material";import"@mui/material/styles";import"../../Theme/tokens.mjs";import"../ChatComponents/ChatAvatar.mjs";import"react-markdown";import"remark-gfm";import"../../Typography.mjs";import"../../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import m from"../ChatComponents/MessageList.mjs";import e from"../ChatComponents/EmptyState.mjs";const o=({avatarIcon:o,isTyping:r,liveTraceEvents:a,messages:s,showActivity:n,streamingText:p,emptyTitle:c,emptyDescription:l,dataSources:u,suggestedPrompts:h,onSend:d})=>{const g=s.length>0||r;return t(i,{sx:{flex:"1 1 0",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:g?t(m,{messages:s,isTyping:r,streamingText:p,liveTraceEvents:a,avatarIcon:o,showActivity:n,compact:!0}):t(e,{title:c,description:l,dataSources:u,prompts:h.slice(0,4),avatarIcon:o,onSelect:d})})};export{o as default};
@@ -1 +1 @@
1
- import{jsx as i,jsxs as e,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as r}from"@mui/material";import{gradients as a}from"../theme/tokens.mjs";import{Card as t}from"./Card.mjs";const s=i(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),d=a.aiConic,l=({sx:o,children:a,...l})=>e(n,{children:[s,i(r,{sx:{position:"relative",isolation:"isolate",borderRadius:"8px",display:"inline-flex","&::after":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,filter:"blur(8px)",opacity:.5,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}},children:i(t,{...l,sx:[{position:"relative",zIndex:1,border:"none",boxShadow:"none",width:"100%"},...Array.isArray(o)?o:o?[o]:[]],children:a})})]});export{l as AiCard};
1
+ import{jsx as i,jsxs as e,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as r}from"@mui/material";import{gradients as a}from"./Theme/tokens.mjs";import{Card as t}from"./Card.mjs";const s=i(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),d=a.aiConic,l=({sx:o,children:a,...l})=>e(n,{children:[s,i(r,{sx:{position:"relative",isolation:"isolate",borderRadius:"8px",display:"inline-flex","&::after":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,filter:"blur(8px)",opacity:.5,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}},children:i(t,{...l,sx:[{position:"relative",zIndex:1,border:"none",boxShadow:"none",width:"100%"},...Array.isArray(o)?o:o?[o]:[]],children:a})})]});export{l as AiCard};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as r,Chip as t}from"@mui/material";import a from"@mui/icons-material/AutoAwesomeOutlined";import{gradients as s}from"../theme/tokens.mjs";import{useTokens as l}from"../theme/useTokens.mjs";const d=e(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),m=s.aiConic,c=({label:o="Powered by Nexus AI",icon:s=e(a,{sx:{fontSize:"0.875rem !important"}}),size:c="small",sx:u,disabled:p,...b})=>{const f=l();return i(n,{children:[d,e(r,{sx:{position:"relative",isolation:"isolate",display:"inline-flex",borderRadius:999,opacity:p?.45:1,"&::after":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,filter:"blur(8px)",opacity:0,animation:"ai-spin 3s linear infinite",transition:"opacity 160ms ease","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&:hover::before":{opacity:.6}},children:e(t,{label:o,icon:s,size:c,disabled:p,variant:"outlined",sx:[{bgcolor:"background.default",color:f.text.blues,borderColor:"transparent","& .MuiChip-icon":{color:"inherit"}},...Array.isArray(u)?u:u?[u]:[]],...b})})]})};export{c as AiChip};
1
+ import{jsx as e,jsxs as i,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as r,Chip as t}from"@mui/material";import a from"@mui/icons-material/AutoAwesomeOutlined";import{gradients as s}from"./Theme/tokens.mjs";import{useTokens as l}from"./Theme/useTokens.mjs";const d=e(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),m=s.aiConic,c=({label:o="Powered by Nexus AI",icon:s=e(a,{sx:{fontSize:"0.875rem !important"}}),size:c="small",sx:u,disabled:p,...b})=>{const f=l();return i(n,{children:[d,e(r,{sx:{position:"relative",isolation:"isolate",display:"inline-flex",borderRadius:999,opacity:p?.45:1,"&::after":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:m,filter:"blur(8px)",opacity:0,animation:"ai-spin 3s linear infinite",transition:"opacity 160ms ease","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&:hover::before":{opacity:.6}},children:e(t,{label:o,icon:s,size:c,disabled:p,variant:"outlined",sx:[{bgcolor:"background.default",color:f.text.blues,borderColor:"transparent","& .MuiChip-icon":{color:"inherit"}},...Array.isArray(u)?u:u?[u]:[]],...b})})]})};export{c as AiChip};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n,Fragment as i}from"react/jsx-runtime";import{GlobalStyles as a,Box as r}from"@mui/material";import{gradients as o}from"../theme/tokens.mjs";import{GlassCard as s}from"./GlassCard.mjs";const t=e(a,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n @keyframes ai-glass-card-glow {\n 0%, 100% { box-shadow: 0 0 14px 3px rgba(0,214,57,0.45), 0 0 28px 6px rgba(0,214,222,0.2); }\n 50% { box-shadow: 0 0 20px 5px rgba(0,214,222,0.5), 0 0 40px 8px rgba(45,96,255,0.25); }\n }\n "}),d=o.aiConic,p=({sx:a,children:o,...p})=>n(i,{children:[t,n(r,{sx:{position:"relative",display:"inline-flex",padding:"2px",borderRadius:"8px",animation:"ai-glass-card-glow 3s ease-in-out infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:[e(s,{...p,sx:[{border:"none",boxShadow:"none",width:"100%",borderRadius:"6px"},...Array.isArray(a)?a:a?[a]:[]],children:o}),e(r,{sx:{position:"absolute",inset:0,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"},mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",padding:"2px",pointerEvents:"none"}})]})]});export{p as AiGlassCard};
1
+ import{jsx as e,jsxs as n,Fragment as i}from"react/jsx-runtime";import{GlobalStyles as a,Box as r}from"@mui/material";import{gradients as o}from"./Theme/tokens.mjs";import{GlassCard as s}from"./GlassCard.mjs";const t=e(a,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n @keyframes ai-glass-card-glow {\n 0%, 100% { box-shadow: 0 0 14px 3px rgba(0,214,57,0.45), 0 0 28px 6px rgba(0,214,222,0.2); }\n 50% { box-shadow: 0 0 20px 5px rgba(0,214,222,0.5), 0 0 40px 8px rgba(45,96,255,0.25); }\n }\n "}),d=o.aiConic,p=({sx:a,children:o,...p})=>n(i,{children:[t,n(r,{sx:{position:"relative",display:"inline-flex",padding:"2px",borderRadius:"8px",animation:"ai-glass-card-glow 3s ease-in-out infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:[e(s,{...p,sx:[{border:"none",boxShadow:"none",width:"100%",borderRadius:"6px"},...Array.isArray(a)?a:a?[a]:[]],children:o}),e(r,{sx:{position:"absolute",inset:0,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"},mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",padding:"2px",pointerEvents:"none"}})]})]});export{p as AiGlassCard};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n,Fragment as i}from"react/jsx-runtime";import{GlobalStyles as a,Box as r}from"@mui/material";import{gradients as o}from"../theme/tokens.mjs";import{GlassPaper as s}from"./GlassPaper.mjs";const t=e(a,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n @keyframes ai-glow-pulse {\n 0%, 100% { box-shadow: 0 0 14px 3px rgba(0,214,57,0.45), 0 0 28px 6px rgba(0,214,222,0.2); }\n 50% { box-shadow: 0 0 20px 5px rgba(0,214,222,0.5), 0 0 40px 8px rgba(45,96,255,0.25); }\n }\n "}),p=o.aiConic,d=({sx:a,children:o,...d})=>n(i,{children:[t,n(r,{sx:{position:"relative",display:"inline-flex",padding:"2px",borderRadius:"8px",animation:"ai-glow-pulse 3s ease-in-out infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:[e(s,{...d,sx:[{border:"none",boxShadow:"none",width:"100%",borderRadius:"6px"},...Array.isArray(a)?a:a?[a]:[]],children:o}),e(r,{sx:{position:"absolute",inset:0,borderRadius:"8px",background:p,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"},mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",padding:"2px",pointerEvents:"none"}})]})]});export{d as AiGlassPaper};
1
+ import{jsx as e,jsxs as n,Fragment as i}from"react/jsx-runtime";import{GlobalStyles as a,Box as r}from"@mui/material";import{gradients as o}from"./Theme/tokens.mjs";import{GlassPaper as s}from"./GlassPaper.mjs";const t=e(a,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n @keyframes ai-glow-pulse {\n 0%, 100% { box-shadow: 0 0 14px 3px rgba(0,214,57,0.45), 0 0 28px 6px rgba(0,214,222,0.2); }\n 50% { box-shadow: 0 0 20px 5px rgba(0,214,222,0.5), 0 0 40px 8px rgba(45,96,255,0.25); }\n }\n "}),p=o.aiConic,d=({sx:a,children:o,...d})=>n(i,{children:[t,n(r,{sx:{position:"relative",display:"inline-flex",padding:"2px",borderRadius:"8px",animation:"ai-glow-pulse 3s ease-in-out infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},children:[e(s,{...d,sx:[{border:"none",boxShadow:"none",width:"100%",borderRadius:"6px"},...Array.isArray(a)?a:a?[a]:[]],children:o}),e(r,{sx:{position:"absolute",inset:0,borderRadius:"8px",background:p,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"},mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",padding:"2px",pointerEvents:"none"}})]})]});export{d as AiGlassPaper};
@@ -1 +1 @@
1
- import{jsx as i,jsxs as e,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as r,Box as o}from"@mui/material";import{Paper as a}from"./_Primitives/Paper.mjs";import{gradients as t}from"../theme/tokens.mjs";const s=i(r,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),d=t.aiConic,l=({sx:r,children:t,...l})=>e(n,{children:[s,i(o,{sx:{position:"relative",isolation:"isolate",borderRadius:"8px",display:"inline-flex","&::after":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,filter:"blur(8px)",opacity:.5,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}},children:i(a,{...l,sx:[{position:"relative",zIndex:1,border:"none",boxShadow:"none",width:"100%"},...Array.isArray(r)?r:r?[r]:[]],children:t})})]});export{l as AiPaper};
1
+ import{jsx as i,jsxs as e,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as r,Box as o}from"@mui/material";import{Paper as a}from"./_Primitives/Paper.mjs";import{gradients as t}from"./Theme/tokens.mjs";const s=i(r,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),d=t.aiConic,l=({sx:r,children:t,...l})=>e(n,{children:[s,i(o,{sx:{position:"relative",isolation:"isolate",borderRadius:"8px",display:"inline-flex","&::after":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1,zIndex:-1,borderRadius:"8px",background:d,filter:"blur(8px)",opacity:.5,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}},children:i(a,{...l,sx:[{position:"relative",zIndex:1,border:"none",boxShadow:"none",width:"100%"},...Array.isArray(r)?r:r?[r]:[]],children:t})})]});export{l as AiPaper};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as i,Fragment as o}from"react/jsx-runtime";import{GlobalStyles as r,Box as n}from"@mui/material";import t from"@mui/icons-material/AutoAwesomeOutlined";import{gradients as a,colours as s}from"../../theme/tokens.mjs";import{useTokens as l}from"../../theme/useTokens.mjs";import{SecondaryButton as d}from"./SecondaryButton.mjs";const m=e(r,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),c=a.aiConic,u={small:25,medium:37,large:45},p=({label:r="Nexus Insights",startIcon:a=e(t,{sx:{fontSize:"1.1em"}}),sx:p,disabled:b,size:f="medium",...g})=>{const x=l();return i(o,{children:[m,e(n,{sx:{position:"relative",isolation:"isolate",display:"inline-flex",borderRadius:999,opacity:b?.45:1,"&::after":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:c,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:c,filter:"blur(8px)",opacity:0,animation:"ai-spin 3s linear infinite",transition:"opacity 160ms ease","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&:hover::before":{opacity:.6}},children:e(d,{disabled:b,startIcon:a,size:f,sx:[{minHeight:u[f],backgroundColor:"background.default",color:x.text.blues,transition:"color 160ms ease, background-color 160ms ease, border-color 160ms ease","&:hover":{backgroundColor:"background.default",borderColor:"transparent",color:s.brilliantGreen},borderColor:"transparent","&.Mui-disabled":{borderColor:"transparent"}},...Array.isArray(p)?p:p?[p]:[]],...g,children:r})})]})};export{p as AiButton};
1
+ import{jsx as e,jsxs as i,Fragment as o}from"react/jsx-runtime";import{GlobalStyles as r,Box as n}from"@mui/material";import a from"@mui/icons-material/AutoAwesomeOutlined";import{gradients as t,colours as s}from"../Theme/tokens.mjs";import{useTokens as l}from"../Theme/useTokens.mjs";import{SecondaryButton as d}from"./SecondaryButton.mjs";const m=e(r,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),c=t.aiConic,u={small:25,medium:37,large:45},p=({label:r="Nexus Insights",startIcon:t=e(a,{sx:{fontSize:"1.1em"}}),sx:p,disabled:b,size:f="medium",...g})=>{const x=l();return i(o,{children:[m,e(n,{sx:{position:"relative",isolation:"isolate",display:"inline-flex",borderRadius:999,opacity:b?.45:1,"&::after":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:c,animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&::before":{content:'""',position:"absolute",inset:-1.5,zIndex:-1,borderRadius:"inherit",background:c,filter:"blur(8px)",opacity:0,animation:"ai-spin 3s linear infinite",transition:"opacity 160ms ease","@media (prefers-reduced-motion: reduce)":{animation:"none"}},"&:hover::before":{opacity:.6}},children:e(d,{disabled:b,startIcon:t,size:f,sx:[{minHeight:u[f],backgroundColor:"background.default",color:x.text.blues,transition:"color 160ms ease, background-color 160ms ease, border-color 160ms ease","&:hover":{backgroundColor:"background.default",borderColor:"transparent",color:s.brilliantGreen},borderColor:"transparent","&.Mui-disabled":{borderColor:"transparent"}},...Array.isArray(p)?p:p?[p]:[]],...g,children:r})})]})};export{p as AiButton};
@@ -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 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 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Button as o}from"@mui/material";import{useTheme as e,alpha as i}from"@mui/material/styles";import{colours as t}from"../../theme/tokens.mjs";const a={small:{height:28,px:"14px",fontSize:"0.7rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}},d=({color:d="primary",size:n="medium",children:l,sx:m,...s})=>{const p=e(),x="dark"===p.palette.mode,h="error"===d?p.palette.error.main:x?t.jadeLight:t.jadeDark,{height:c,px:u,fontSize:b}=a[n];return r(o,{variant:"outlined",size:n,sx:[{borderRadius:999,minHeight:c,paddingInline:u,fontSize:b,fontFamily:"inherit",backgroundColor:"transparent",color:h,borderColor:h,borderWidth:"1.5px",transition:"color 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease","&:hover":{backgroundColor:i(h,x?.2:.15),borderColor:h,borderWidth:"1.5px",color:h,boxShadow:`0 2px 6px ${i(h,.12)}`},"&:active":{boxShadow:`0 1px 3px ${i(h,.08)}`},"&:focus-visible":{outline:`2px solid ${h}`,outlineOffset:3},"&.Mui-disabled":{borderColor:i(h,.6),color:i(h,.6),borderWidth:"1.5px",pointerEvents:"auto",cursor:"not-allowed"}},...Array.isArray(m)?m:m?[m]:[]],...s,children:l})};export{d as SecondaryButton};
1
+ import{jsx as r}from"react/jsx-runtime";import{Button as o}from"@mui/material";import{useTheme as e,alpha as i}from"@mui/material/styles";import{colours as t}from"../Theme/tokens.mjs";const a={small:{height:28,px:"14px",fontSize:"0.7rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}},d=({color:d="primary",size:n="medium",children:l,sx:m,...s})=>{const p=e(),x="dark"===p.palette.mode,h="error"===d?p.palette.error.main:x?t.jadeLight:t.jadeDark,{height:c,px:u,fontSize:b}=a[n];return r(o,{variant:"outlined",size:n,sx:[{borderRadius:999,minHeight:c,paddingInline:u,fontSize:b,fontFamily:"inherit",backgroundColor:"transparent",color:h,borderColor:h,borderWidth:"1.5px",transition:"color 160ms ease, border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease","&:hover":{backgroundColor:i(h,x?.2:.15),borderColor:h,borderWidth:"1.5px",color:h,boxShadow:`0 2px 6px ${i(h,.12)}`},"&:active":{boxShadow:`0 1px 3px ${i(h,.08)}`},"&:focus-visible":{outline:`2px solid ${h}`,outlineOffset:3},"&.Mui-disabled":{borderColor:i(h,.6),color:i(h,.6),borderWidth:"1.5px",pointerEvents:"auto",cursor:"not-allowed"}},...Array.isArray(m)?m:m?[m]:[]],...s,children:l})};export{d as SecondaryButton};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useTheme as r,alpha as e}from"@mui/material/styles";import{SecondaryButton as t}from"./SecondaryButton.mjs";import{colours as n}from"../../theme/tokens.mjs";const l=({href:l,color:i,openInNewTab:a=!0,children:m,sx:s,...c})=>{const d="dark"===r().palette.mode,p=d?n.brilliantGreen:n.jade,f=i??p,b={href:l,...c};a&&(b.target="_blank",b.rel="noopener noreferrer");const u=i?{color:f,borderColor:f,"&:hover":{backgroundColor:e(f,d?.2:.15),borderColor:f,boxShadow:`0 2px 6px ${e(f,.12)}`,color:f},"&:focus-visible":{outline:`2px solid ${f}`,outlineOffset:3}}:void 0;return o(t,{component:"a",...b,sx:[...u?[u]:[],...Array.isArray(s)?s:s?[s]:[]],children:m})};export{l as SecondaryButtonLink};
1
+ import{jsx as o}from"react/jsx-runtime";import{useTheme as r,alpha as e}from"@mui/material/styles";import{SecondaryButton as t}from"./SecondaryButton.mjs";import{colours as n}from"../Theme/tokens.mjs";const l=({href:l,color:i,openInNewTab:a=!0,children:m,sx:s,...c})=>{const d="dark"===r().palette.mode,p=d?n.brilliantGreen:n.jade,f=i??p,b={href:l,...c};a&&(b.target="_blank",b.rel="noopener noreferrer");const u=i?{color:f,borderColor:f,"&:hover":{backgroundColor:e(f,d?.2:.15),borderColor:f,boxShadow:`0 2px 6px ${e(f,.12)}`,color:f},"&:focus-visible":{outline:`2px solid ${f}`,outlineOffset:3}}:void 0;return o(t,{component:"a",...b,sx:[...u?[u]:[],...Array.isArray(s)?s:s?[s]:[]],children:m})};export{l as SecondaryButtonLink};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as i}from"react/jsx-runtime";import{Card as t,CardContent as o,Box as l}from"@mui/material";import{useTheme as n}from"@mui/material/styles";import{H4 as a,MetricValue as s,Body2 as d}from"./Typography.mjs";import{colours as c}from"../theme/tokens.mjs";const m=({icon:m,label:p,value:x,subtext:h,trend:f="flat",sx:y,children:u,...g})=>{const v=n(),b={up:c.jade,flat:v.palette.text.secondary,down:c.cherry},j=void 0!==m||void 0!==p||void 0!==x||void 0!==h;return e(t,{...g,sx:[{boxShadow:"none"},...Array.isArray(y)?y:y?[y]:[]],children:e(o,{sx:{display:"flex",flexDirection:"column",gap:.5,"&:last-child":{pb:2}},children:j?r(i,{children:[(m||p)&&r(l,{sx:{display:"flex",alignItems:"center",gap:.75},children:[m&&e(l,{sx:{display:"flex",alignItems:"center",fontSize:"1rem",color:"text.secondary"},children:m}),p&&e(a,{children:p})]}),x&&e(s,{children:x}),h&&e(d,{sx:{color:b[f]},children:h})]}):u})})};export{m as Card};
1
+ import{jsx as e,jsxs as r,Fragment as i}from"react/jsx-runtime";import{Card as o,CardContent as t,Box as l}from"@mui/material";import{useTheme as n}from"@mui/material/styles";import{H4 as a,MetricValue as s,Body2 as d}from"./Typography.mjs";import{colours as c}from"./Theme/tokens.mjs";const m=({icon:m,label:p,value:x,subtext:h,trend:f="flat",sx:y,children:u,...g})=>{const v=n(),b={up:c.jade,flat:v.palette.text.secondary,down:c.cherry},j=void 0!==m||void 0!==p||void 0!==x||void 0!==h;return e(o,{...g,sx:[{boxShadow:"none"},...Array.isArray(y)?y:y?[y]:[]],children:e(t,{sx:{display:"flex",flexDirection:"column",gap:.5,"&:last-child":{pb:2}},children:j?r(i,{children:[(m||p)&&r(l,{sx:{display:"flex",alignItems:"center",gap:.75},children:[m&&e(l,{sx:{display:"flex",alignItems:"center",fontSize:"1rem",color:"text.secondary"},children:m}),p&&e(a,{children:p})]}),x&&e(s,{children:x}),h&&e(d,{sx:{color:b[f]},children:h})]}):u})})};export{m as Card};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t}from"react";import{useTheme as e,alpha as i}from"@mui/material/styles";import{getChartColours as s}from"../../theme/chartColours.mjs";import{ChartFrame as p}from"./chartFrame.mjs";import{BarChart as a}from"../../node_modules/@mui/x-charts/BarChart/BarChart.mjs";function l({slotProps:l,slots:d,title:n,titleHidden:m,description:c,actions:f,isLoading:h,isError:x,errorMessage:u,paperSx:y,...g}){const C=e(),j=s(C.palette.mode),z=t().replace(/:/g,""),O="horizontal"===g.layout,$=j.map((o,r)=>({id:`${z}bg${r}`,color:o}));return o(p,{title:n,titleHidden:m,description:c,actions:f,isLoading:h,isError:x,errorMessage:u,paperSx:y,children:o(a,{colors:$.map(({id:o})=>`url(#${o})`),...g,grid:{vertical:!0,horizontal:!0},slots:d,slotProps:{...l,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...l?.tooltip}},children:o("defs",{children:$.map(({id:t,color:e})=>r("linearGradient",O?{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[o("stop",{offset:"0%",stopColor:i(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]}:{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:e,stopOpacity:1}),o("stop",{offset:"100%",stopColor:i(e,.15)})]},t))})})})}export{l as NexusBarChart};
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t}from"react";import{useTheme as e,alpha as i}from"@mui/material/styles";import{getChartColours as s}from"../Theme/chartColours.mjs";import{ChartFrame as p}from"./chartFrame.mjs";import{BarChart as a}from"../../node_modules/@mui/x-charts/BarChart/BarChart.mjs";function l({slotProps:l,slots:d,title:n,titleHidden:m,description:c,actions:f,isLoading:h,isError:x,errorMessage:u,paperSx:y,...g}){const C=e(),j=s(C.palette.mode),z=t().replace(/:/g,""),O="horizontal"===g.layout,$=j.map((o,r)=>({id:`${z}bg${r}`,color:o}));return o(p,{title:n,titleHidden:m,description:c,actions:f,isLoading:h,isError:x,errorMessage:u,paperSx:y,children:o(a,{colors:$.map(({id:o})=>`url(#${o})`),...g,grid:{vertical:!0,horizontal:!0},slots:d,slotProps:{...l,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...l?.tooltip}},children:o("defs",{children:$.map(({id:t,color:e})=>r("linearGradient",O?{id:t,x1:"0",y1:"0",x2:"1",y2:"0",children:[o("stop",{offset:"0%",stopColor:i(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]}:{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:e,stopOpacity:1}),o("stop",{offset:"100%",stopColor:i(e,.15)})]},t))})})})}export{l as NexusBarChart};
@@ -1 +1 @@
1
- import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useId as t,useRef as o,useMemo as i}from"react";import{useTheme as s}from"@mui/material/styles";import{getChartColours as a}from"../../theme/chartColours.mjs";import{ChartFrame as n}from"./chartFrame.mjs";import{AnimatedArea as p}from"../../node_modules/@mui/x-charts/LineChart/AnimatedArea.mjs";import{LineChart as m}from"../../node_modules/@mui/x-charts/LineChart/LineChart.mjs";function d({sx:d,xAxis:l,grid:c,series:f=[],slots:x,slotProps:h,children:u,title:g,titleHidden:y,description:C,actions:S,isLoading:j,isError:w,errorMessage:A,paperSx:L,...$}){const z=s(),I=a(z.palette.mode),M=t().replace(/:/g,""),O=l?.map(r=>({scaleType:"point",...r})),v=f.map((r,e)=>r.area&&!r.id?{...r,id:`${M}s${e}`}:r),E=new Map(v.map((r,e)=>({s:r,i:e})).filter(({s:r})=>r.area).map(({s:r,i:e})=>[r.id,`${M}g${e}`])),H=o(E);H.current=E;const P=i(()=>function(e){const t=e.ownerState?.seriesId,o=t?H.current.get(t):void 0;return r(p,{...e,ownerState:o?{...e.ownerState,gradientId:o}:e.ownerState})},[M]);return r(n,{title:g,titleHidden:y,description:C,actions:S,isLoading:j,isError:w,errorMessage:A,paperSx:L,children:e(m,{colors:I,xAxis:O,grid:c??{horizontal:!0,vertical:!0},series:v,slots:{area:P,...x},slotProps:{...h,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...h?.tooltip}},sx:d,...$,children:[E.size>0&&r("defs",{children:Array.from(E.entries()).map(([,t],o)=>e("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[r("stop",{offset:"0%",stopColor:I[o%I.length],stopOpacity:.4}),r("stop",{offset:"100%",stopColor:I[o%I.length],stopOpacity:0})]},t))}),u]})})}export{d as NexusLineChart};
1
+ import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useId as t,useRef as o,useMemo as i}from"react";import{useTheme as s}from"@mui/material/styles";import{getChartColours as a}from"../Theme/chartColours.mjs";import{ChartFrame as n}from"./chartFrame.mjs";import{AnimatedArea as p}from"../../node_modules/@mui/x-charts/LineChart/AnimatedArea.mjs";import{LineChart as m}from"../../node_modules/@mui/x-charts/LineChart/LineChart.mjs";function d({sx:d,xAxis:l,grid:c,series:f=[],slots:x,slotProps:h,children:u,title:g,titleHidden:y,description:C,actions:S,isLoading:j,isError:w,errorMessage:A,paperSx:L,...$}){const z=s(),I=a(z.palette.mode),M=t().replace(/:/g,""),O=l?.map(r=>({scaleType:"point",...r})),v=f.map((r,e)=>r.area&&!r.id?{...r,id:`${M}s${e}`}:r),E=new Map(v.map((r,e)=>({s:r,i:e})).filter(({s:r})=>r.area).map(({s:r,i:e})=>[r.id,`${M}g${e}`])),H=o(E);H.current=E;const P=i(()=>function(e){const t=e.ownerState?.seriesId,o=t?H.current.get(t):void 0;return r(p,{...e,ownerState:o?{...e.ownerState,gradientId:o}:e.ownerState})},[M]);return r(n,{title:g,titleHidden:y,description:C,actions:S,isLoading:j,isError:w,errorMessage:A,paperSx:L,children:e(m,{colors:I,xAxis:O,grid:c??{horizontal:!0,vertical:!0},series:v,slots:{area:P,...x},slotProps:{...h,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...h?.tooltip}},sx:d,...$,children:[E.size>0&&r("defs",{children:Array.from(E.entries()).map(([,t],o)=>e("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[r("stop",{offset:"0%",stopColor:I[o%I.length],stopOpacity:.4}),r("stop",{offset:"100%",stopColor:I[o%I.length],stopOpacity:0})]},t))}),u]})})}export{d as NexusLineChart};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t,useRef as e}from"react";import{useTheme as i,alpha as s}from"@mui/material/styles";import{getChartColours as c}from"../../theme/chartColours.mjs";import{ChartFrame as p}from"./chartFrame.mjs";import{PieArc as n}from"../../node_modules/@mui/x-charts/PieChart/PieArc.mjs";import{PieChart as m}from"../../node_modules/@mui/x-charts/PieChart/PieChart.mjs";function a({slotProps:a,slots:l,title:d,description:u,actions:f,isLoading:h,isError:x,errorMessage:g,paperSx:y,...C}){const P=i(),j=c(P.palette.mode),M=t().replace(/:/g,""),$=j.map((o,r)=>({id:`${M}pg${r}`,color:o})),A=new Map($.map(({id:o,color:r})=>[r,o])),E=e(A);E.current=A;const L=e(function(r){const t=r.color?E.current.get(r.color):void 0;return o(n,{...r,color:t?`url(#${t})`:r.color})}).current;return o(p,{title:d,description:u,actions:f,isLoading:h,isError:x,errorMessage:g,paperSx:y,children:o(m,{colors:j,...C,slots:{pieArc:L,...l},slotProps:{...a,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...a?.tooltip}},children:o("defs",{children:$.map(({id:t,color:e})=>r("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:s(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]},t))})})})}export{a as NexusPieChart};
1
+ import{jsx as o,jsxs as r}from"react/jsx-runtime";import{useId as t,useRef as e}from"react";import{useTheme as i,alpha as s}from"@mui/material/styles";import{getChartColours as c}from"../Theme/chartColours.mjs";import{ChartFrame as p}from"./chartFrame.mjs";import{PieArc as n}from"../../node_modules/@mui/x-charts/PieChart/PieArc.mjs";import{PieChart as m}from"../../node_modules/@mui/x-charts/PieChart/PieChart.mjs";function a({slotProps:a,slots:l,title:d,description:u,actions:f,isLoading:h,isError:x,errorMessage:g,paperSx:y,...C}){const P=i(),j=c(P.palette.mode),M=t().replace(/:/g,""),$=j.map((o,r)=>({id:`${M}pg${r}`,color:o})),A=new Map($.map(({id:o,color:r})=>[r,o])),E=e(A);E.current=A;const L=e(function(r){const t=r.color?E.current.get(r.color):void 0;return o(n,{...r,color:t?`url(#${t})`:r.color})}).current;return o(p,{title:d,description:u,actions:f,isLoading:h,isError:x,errorMessage:g,paperSx:y,children:o(m,{colors:j,...C,slots:{pieArc:L,...l},slotProps:{...a,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...a?.tooltip}},children:o("defs",{children:$.map(({id:t,color:e})=>r("linearGradient",{id:t,x1:"0",y1:"0",x2:"0",y2:"1",children:[o("stop",{offset:"0%",stopColor:s(e,.15)}),o("stop",{offset:"100%",stopColor:e,stopOpacity:1})]},t))})})})}export{a as NexusPieChart};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{useTheme as t}from"@mui/material/styles";import{getChartColours as o}from"../../theme/chartColours.mjs";import{ChartFrame as e}from"./chartFrame.mjs";import{ScatterChart as i}from"../../node_modules/@mui/x-charts/ScatterChart/ScatterChart.mjs";function s({slotProps:s,slots:a,title:m,description:p,actions:n,isLoading:c,isError:l,errorMessage:d,paperSx:h,...u}){const x=t(),f=o(x.palette.mode);return r(e,{title:m,description:p,actions:n,isLoading:c,isError:l,errorMessage:d,paperSx:h,children:r(i,{colors:f,...u,grid:u.grid??{vertical:!0,horizontal:!0},slots:a,slotProps:{...s,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...s?.tooltip}}})})}export{s as NexusScatterChart};
1
+ import{jsx as r}from"react/jsx-runtime";import{useTheme as o}from"@mui/material/styles";import{getChartColours as t}from"../Theme/chartColours.mjs";import{ChartFrame as e}from"./chartFrame.mjs";import{ScatterChart as i}from"../../node_modules/@mui/x-charts/ScatterChart/ScatterChart.mjs";function s({slotProps:s,slots:a,title:m,description:p,actions:n,isLoading:c,isError:l,errorMessage:d,paperSx:h,...u}){const x=o(),f=t(x.palette.mode);return r(e,{title:m,description:p,actions:n,isLoading:c,isError:l,errorMessage:d,paperSx:h,children:r(i,{colors:f,...u,grid:u.grid??{vertical:!0,horizontal:!0},slots:a,slotProps:{...s,tooltip:{popperOptions:{strategy:"fixed"},sx:{zIndex:1300},container:()=>document.body,...s?.tooltip}}})})}export{s as NexusScatterChart};
@@ -1 +1 @@
1
- import{jsxs as n,Fragment as r,jsx as e}from"react/jsx-runtime";import{useState as t,useMemo as o,useCallback as d}from"react";import{Root as a,Trigger as i,Portal as s,Content as p}from"../node_modules/@radix-ui/react-popover/dist/index.mjs";import{DayPicker as l}from"react-day-picker";import{startOfDay as m,isAfter as c,isBefore as b,subDays as h,format as y}from"date-fns";import u from"@mui/icons-material/CalendarToday";import g from"@mui/icons-material/ChevronLeft";import f from"@mui/icons-material/ChevronRight";import v from"@mui/material/GlobalStyles";import{Box as k}from"./_Primitives/Box.mjs";import{Caption as x}from"./Typography.mjs";import{Chip as w}from"./_Primitives/Chip.mjs";import{Divider as C}from"./_Primitives/Divider.mjs";import{Paper as j}from"./_Primitives/Paper.mjs";import{SecondaryButton as _}from"./Buttons/SecondaryButton.mjs";import{Stack as M}from"./_Primitives/Stack.mjs";import{useTheme as D,alpha as S}from"@mui/material";import{colours as R}from"../theme/tokens.mjs";const z=[{label:"Last 7 days",days:7},{label:"Last 30 days",days:30},{label:"Last 90 days",days:90}],P=({startDate:P,endDate:I,onChange:L,dataAvailableThrough:T,earliestStartDate:G,className:O})=>{const[$,A]=t(!1),B="dark"===D().palette.mode,N=R.brilliantGreen,W=S(N,.2),F=B?R.white:R.black,Y=B?R.lightGrey:R.darkGrey,H=o(()=>T??m(new Date),[T]),q=o(()=>G?m(G):void 0,[G]),E=d(n=>{const r=m(n);return!!c(r,H)||!(!q||!b(r,q))},[H,q]),J=d(n=>{const r=H,e=h(r,n-1),t=q&&b(e,q)?q:e;L({startDate:t,endDate:r})},[H,q,L]),K=d(n=>{L({startDate:n?.from,endDate:n?.to})},[L]),Q=o(()=>{if(!P&&!I)return"Select dates";const n=n=>y(n,"MMM d, yyyy");return P&&I?P.getFullYear()===I.getFullYear()?`${r=P,y(r,"MMM d")} - ${n(I)}`:`${n(P)} - ${n(I)}`:P?n(P):I?n(I):"Select dates";var r},[P,I]),U=o(()=>P||h(H,30),[P,H]);return n(r,{children:[e(v,{styles:{".rdp-nn-root":{padding:16},".rdp-nn-months":{display:"flex",gap:16},"@media (max-width: 899px)":{".rdp-nn-months":{flexDirection:"column"}},".rdp-nn-month":{position:"relative"},".rdp-nn-month-caption":{display:"flex",justifyContent:"center",alignItems:"center",paddingTop:4,minHeight:28},".rdp-nn-caption-label":{fontSize:"0.875rem",fontWeight:500,color:F},".rdp-nn-nav":{display:"flex",alignItems:"center",gap:4},".rdp-nn-weekdays":{display:"flex"},".rdp-nn-weekday":{width:36,borderRadius:6,fontSize:"0.8rem",fontWeight:400,textAlign:"center"},".rdp-nn-week":{display:"flex",width:"100%",marginTop:8},".rdp-nn-day":{position:"relative",width:36,height:36,padding:0,textAlign:"center"},".rdp-nn-day-btn":{width:36,height:36,padding:0,border:0,borderRadius:999,backgroundColor:"transparent",color:F,cursor:"pointer",font:"inherit",transition:"background-color 150ms ease"},".rdp-nn-day-btn:hover":{backgroundColor:W},".rdp-nn-nav-btn":{position:"absolute",top:0,width:28,height:28,padding:0,border:0,backgroundColor:"transparent",color:Y,opacity:.5,cursor:"pointer",transition:"opacity 150ms ease"},".rdp-nn-nav-btn:hover":{opacity:1},".rdp-nn-button-previous":{left:4},".rdp-nn-button-next":{right:4},".rdp-nn-weekday, .rdp-nn-nav-btn":{color:Y},".rdp-nn-outside .rdp-nn-day-btn, .rdp-nn-disabled .rdp-nn-day-btn":{color:Y,opacity:.4},".rdp-nn-disabled .rdp-nn-day-btn:hover":{backgroundColor:"transparent",cursor:"not-allowed"},".rdp-nn-selected":{backgroundColor:N,borderRadius:"50%"},".rdp-nn-selected .rdp-nn-day-btn":{color:R.black},".rdp-nn-selected .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-start":{backgroundColor:N,borderRadius:"50% 0 0 50%"},".rdp-nn-range-start .rdp-nn-day-btn":{color:R.black},".rdp-nn-range-start .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-end":{backgroundColor:N,borderRadius:"0 50% 50% 0"},".rdp-nn-range-end .rdp-nn-day-btn":{color:R.black},".rdp-nn-range-end .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-middle":{backgroundColor:W,borderRadius:0},".rdp-nn-today .rdp-nn-day-btn":{fontWeight:700}}}),n(a,{open:$,onOpenChange:A,children:[e(i,{asChild:!0,children:e(_,{size:"small",startIcon:e(u,{sx:{fontSize:14}}),className:O,children:Q})}),e(s,{children:e(p,{align:"end",sideOffset:8,style:{zIndex:1300},children:n(j,{sx:{p:0,overflow:"hidden",borderRadius:1},children:[e(M,{direction:"row",spacing:1,sx:{p:2},children:z.map(n=>e(w,{label:n.label,size:"small",onClick:()=>J(n.days),variant:"outlined",clickable:!0},n.days))}),e(C,{}),n(M,{direction:"row",spacing:1,sx:{px:2,py:1,alignItems:"center"},children:[e(k,{sx:{width:8,height:8,borderRadius:"50%",bgcolor:"primary.main",flexShrink:0}}),n(x,{children:["Data available through ",y(H,"MMM d, yyyy")]})]}),e(l,{mode:"range",numberOfMonths:2,selected:P||I?{from:P,to:I}:void 0,onSelect:K,defaultMonth:U,startMonth:q,endMonth:H,disabled:E,navLayout:"around",showOutsideDays:!0,classNames:{root:"rdp-nn-root",months:"rdp-nn-months",month:"rdp-nn-month",month_caption:"rdp-nn-month-caption",caption_label:"rdp-nn-caption-label",nav:"rdp-nn-nav",button_previous:"rdp-nn-nav-btn rdp-nn-button-previous",button_next:"rdp-nn-nav-btn rdp-nn-button-next",weekdays:"rdp-nn-weekdays",weekday:"rdp-nn-weekday",week:"rdp-nn-week",day:"rdp-nn-day",day_button:"rdp-nn-day-btn",range_start:"rdp-nn-range-start",range_end:"rdp-nn-range-end",range_middle:"rdp-nn-range-middle",selected:"rdp-nn-selected",today:"rdp-nn-today",outside:"rdp-nn-outside",disabled:"rdp-nn-disabled"},components:{Chevron:({orientation:n,...r})=>e("left"===n?g:f,{sx:{fontSize:16},...r})}})]})})})]})]})};export{P as DateRangeFilter};
1
+ import{jsxs as n,Fragment as r,jsx as e}from"react/jsx-runtime";import{useState as t,useMemo as o,useCallback as d}from"react";import{Root as a,Trigger as i,Portal as s,Content as p}from"../node_modules/@radix-ui/react-popover/dist/index.mjs";import{DayPicker as l}from"react-day-picker";import{startOfDay as m,isAfter as c,isBefore as b,subDays as h,format as y}from"date-fns";import u from"@mui/icons-material/CalendarToday";import g from"@mui/icons-material/ChevronLeft";import f from"@mui/icons-material/ChevronRight";import v from"@mui/material/GlobalStyles";import{Box as k}from"./_Primitives/Box.mjs";import{Caption as x}from"./Typography.mjs";import{Chip as w}from"./_Primitives/Chip.mjs";import{Divider as C}from"./_Primitives/Divider.mjs";import{Paper as j}from"./_Primitives/Paper.mjs";import{SecondaryButton as _}from"./Buttons/SecondaryButton.mjs";import{Stack as M}from"./_Primitives/Stack.mjs";import{useTheme as D,alpha as S}from"@mui/material";import{colours as R}from"./Theme/tokens.mjs";const z=[{label:"Last 7 days",days:7},{label:"Last 30 days",days:30},{label:"Last 90 days",days:90}],P=({startDate:P,endDate:T,onChange:I,dataAvailableThrough:L,earliestStartDate:G,className:O})=>{const[$,A]=t(!1),B="dark"===D().palette.mode,N=R.brilliantGreen,W=S(N,.2),F=B?R.white:R.black,Y=B?R.lightGrey:R.darkGrey,H=o(()=>L??m(new Date),[L]),q=o(()=>G?m(G):void 0,[G]),E=d(n=>{const r=m(n);return!!c(r,H)||!(!q||!b(r,q))},[H,q]),J=d(n=>{const r=H,e=h(r,n-1),t=q&&b(e,q)?q:e;I({startDate:t,endDate:r})},[H,q,I]),K=d(n=>{I({startDate:n?.from,endDate:n?.to})},[I]),Q=o(()=>{if(!P&&!T)return"Select dates";const n=n=>y(n,"MMM d, yyyy");return P&&T?P.getFullYear()===T.getFullYear()?`${r=P,y(r,"MMM d")} - ${n(T)}`:`${n(P)} - ${n(T)}`:P?n(P):T?n(T):"Select dates";var r},[P,T]),U=o(()=>P||h(H,30),[P,H]);return n(r,{children:[e(v,{styles:{".rdp-nn-root":{padding:16},".rdp-nn-months":{display:"flex",gap:16},"@media (max-width: 899px)":{".rdp-nn-months":{flexDirection:"column"}},".rdp-nn-month":{position:"relative"},".rdp-nn-month-caption":{display:"flex",justifyContent:"center",alignItems:"center",paddingTop:4,minHeight:28},".rdp-nn-caption-label":{fontSize:"0.875rem",fontWeight:500,color:F},".rdp-nn-nav":{display:"flex",alignItems:"center",gap:4},".rdp-nn-weekdays":{display:"flex"},".rdp-nn-weekday":{width:36,borderRadius:6,fontSize:"0.8rem",fontWeight:400,textAlign:"center"},".rdp-nn-week":{display:"flex",width:"100%",marginTop:8},".rdp-nn-day":{position:"relative",width:36,height:36,padding:0,textAlign:"center"},".rdp-nn-day-btn":{width:36,height:36,padding:0,border:0,borderRadius:999,backgroundColor:"transparent",color:F,cursor:"pointer",font:"inherit",transition:"background-color 150ms ease"},".rdp-nn-day-btn:hover":{backgroundColor:W},".rdp-nn-nav-btn":{position:"absolute",top:0,width:28,height:28,padding:0,border:0,backgroundColor:"transparent",color:Y,opacity:.5,cursor:"pointer",transition:"opacity 150ms ease"},".rdp-nn-nav-btn:hover":{opacity:1},".rdp-nn-button-previous":{left:4},".rdp-nn-button-next":{right:4},".rdp-nn-weekday, .rdp-nn-nav-btn":{color:Y},".rdp-nn-outside .rdp-nn-day-btn, .rdp-nn-disabled .rdp-nn-day-btn":{color:Y,opacity:.4},".rdp-nn-disabled .rdp-nn-day-btn:hover":{backgroundColor:"transparent",cursor:"not-allowed"},".rdp-nn-selected":{backgroundColor:N,borderRadius:"50%"},".rdp-nn-selected .rdp-nn-day-btn":{color:R.black},".rdp-nn-selected .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-start":{backgroundColor:N,borderRadius:"50% 0 0 50%"},".rdp-nn-range-start .rdp-nn-day-btn":{color:R.black},".rdp-nn-range-start .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-end":{backgroundColor:N,borderRadius:"0 50% 50% 0"},".rdp-nn-range-end .rdp-nn-day-btn":{color:R.black},".rdp-nn-range-end .rdp-nn-day-btn:hover":{backgroundColor:R.jade},".rdp-nn-range-middle":{backgroundColor:W,borderRadius:0},".rdp-nn-today .rdp-nn-day-btn":{fontWeight:700}}}),n(a,{open:$,onOpenChange:A,children:[e(i,{asChild:!0,children:e(_,{size:"small",startIcon:e(u,{sx:{fontSize:14}}),className:O,children:Q})}),e(s,{children:e(p,{align:"end",sideOffset:8,style:{zIndex:1300},children:n(j,{sx:{p:0,overflow:"hidden",borderRadius:1},children:[e(M,{direction:"row",spacing:1,sx:{p:2},children:z.map(n=>e(w,{label:n.label,size:"small",onClick:()=>J(n.days),variant:"outlined",clickable:!0},n.days))}),e(C,{}),n(M,{direction:"row",spacing:1,sx:{px:2,py:1,alignItems:"center"},children:[e(k,{sx:{width:8,height:8,borderRadius:"50%",bgcolor:"primary.main",flexShrink:0}}),n(x,{children:["Data available through ",y(H,"MMM d, yyyy")]})]}),e(l,{mode:"range",numberOfMonths:2,selected:P||T?{from:P,to:T}:void 0,onSelect:K,defaultMonth:U,startMonth:q,endMonth:H,disabled:E,navLayout:"around",showOutsideDays:!0,classNames:{root:"rdp-nn-root",months:"rdp-nn-months",month:"rdp-nn-month",month_caption:"rdp-nn-month-caption",caption_label:"rdp-nn-caption-label",nav:"rdp-nn-nav",button_previous:"rdp-nn-nav-btn rdp-nn-button-previous",button_next:"rdp-nn-nav-btn rdp-nn-button-next",weekdays:"rdp-nn-weekdays",weekday:"rdp-nn-weekday",week:"rdp-nn-week",day:"rdp-nn-day",day_button:"rdp-nn-day-btn",range_start:"rdp-nn-range-start",range_end:"rdp-nn-range-end",range_middle:"rdp-nn-range-middle",selected:"rdp-nn-selected",today:"rdp-nn-today",outside:"rdp-nn-outside",disabled:"rdp-nn-disabled"},components:{Chevron:({orientation:n,...r})=>e("left"===n?g:f,{sx:{fontSize:16},...r})}})]})})})]})]})};export{P as DateRangeFilter};
@@ -0,0 +1 @@
1
+ import{jsx as r,jsxs as i}from"react/jsx-runtime";import o from"@mui/icons-material/Close";import{Box as e}from"@mui/material";import{useId as t}from"react";import{Dialog as a,DialogTitle as l,DialogContent as m,DialogActions as n}from"../_Primitives/Dialog.mjs";import{GlassPaper as s}from"../GlassPaper.mjs";import{IconButton as p}from"../Buttons/IconButton.mjs";import{Stack as c}from"../_Primitives/Stack.mjs";import{H2 as d}from"../Typography.mjs";const h=({actions:h,children:x,closeDisabled:f=!1,maxWidth:u="md",onClose:b,onSubmit:g,open:y,sx:j,title:W,...v})=>{const w=t();return r(a,{...v,open:y,onClose:f?void 0:()=>b(),maxWidth:u,fullWidth:!0,"aria-labelledby":w,sx:[{"& .MuiDialog-paper":{bgcolor:"background.paper",maxHeight:"calc(100vh - 64px)"}},...Array.isArray(j)?j:j?[j]:[]],children:i(e,{component:"form",onSubmit:g,sx:{display:"flex",flexDirection:"column",minHeight:0},children:[r(l,{sx:{p:2},children:i(c,{direction:"row",sx:{alignItems:"center",justifyContent:"space-between",gap:2,flexWrap:"wrap"},children:[r(d,{id:w,sx:{minWidth:0,overflowWrap:"anywhere"},children:W}),r(p,{ariaLabel:"Close",onClick:b,disabled:f,size:"small",children:r(o,{})})]})}),r(m,{sx:{bgcolor:"background.paper",overflowY:"auto",p:3},children:r(s,{sx:{p:2},children:r(c,{sx:{gap:2,minWidth:0},children:x})})}),h&&r(n,{sx:{bgcolor:"background.paper",p:2},children:h})]})})};export{h as FormDialog};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{alpha as r}from"@mui/material/styles";import{gradients as e}from"../theme/tokens.mjs";import{Card as t}from"./Card.mjs";const i=({sx:i,...n})=>o(t,{...n,sx:[{position:"relative",background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",border:`1px solid ${r("#ececec",.2)}`,boxShadow:"none","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,background:e.brand,borderRadius:"inherit",opacity:.1,zIndex:0,padding:"1px",mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",pointerEvents:"none"},"& .MuiCardContent-root":{position:"relative",zIndex:1}},...Array.isArray(i)?i:i?[i]:[]]});export{i as GlassCard};
1
+ import{jsx as o}from"react/jsx-runtime";import{alpha as r}from"@mui/material/styles";import{gradients as e}from"./Theme/tokens.mjs";import{Card as t}from"./Card.mjs";const i=({sx:i,...n})=>o(t,{...n,sx:[{position:"relative",background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",border:`1px solid ${r("#ececec",.2)}`,boxShadow:"none","&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,background:e.brand,borderRadius:"inherit",opacity:.1,zIndex:0,padding:"1px",mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor",pointerEvents:"none"},"& .MuiCardContent-root":{position:"relative",zIndex:1}},...Array.isArray(i)?i:i?[i]:[]]});export{i as GlassCard};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Box as e}from"@mui/material";import{Paper as o}from"./_Primitives/Paper.mjs";import{alpha as i}from"@mui/material/styles";import{gradients as t}from"../theme/tokens.mjs";const a=({sx:a,children:n,...m})=>r(o,{...m,sx:[{position:"relative",background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",border:`1px solid ${i("#ececec",.2)}`,boxShadow:"none",zIndex:1,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,background:t.brand,borderRadius:"inherit",opacity:.1,zIndex:-1,padding:"1px",mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor"}},...Array.isArray(a)?a:a?[a]:[]],children:r(e,{sx:{position:"relative",zIndex:1},children:n})});export{a as GlassPaper};
1
+ import{jsx as r}from"react/jsx-runtime";import{Box as e}from"@mui/material";import{Paper as o}from"./_Primitives/Paper.mjs";import{alpha as i}from"@mui/material/styles";import{gradients as t}from"./Theme/tokens.mjs";const a=({sx:a,children:n,...m})=>r(o,{...m,sx:[{position:"relative",background:"rgba(211, 211, 211, 0.2)",backdropFilter:"blur(8px)",WebkitBackdropFilter:"blur(8px)",border:`1px solid ${i("#ececec",.2)}`,boxShadow:"none",zIndex:1,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,background:t.brand,borderRadius:"inherit",opacity:.1,zIndex:-1,padding:"1px",mask:"linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)",maskComposite:"exclude",WebkitMaskComposite:"xor"}},...Array.isArray(a)?a:a?[a]:[]],children:r(e,{sx:{position:"relative",zIndex:1},children:n})});export{a as GlassPaper};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Box as t}from"@mui/material";import o from"../assets/images/wave-80pxthick.png.mjs";import{useTokens as r}from"../theme/useTokens.mjs";const i=({sx:i,children:n,...a})=>{const s=r();return e(t,{...a,sx:[{minHeight:"100vh",background:s.background.default,display:"flex",flexDirection:"column",position:"relative",overflow:"hidden","&::after":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%",height:"100%",backgroundImage:`url(${o})`,backgroundSize:"100%",backgroundRepeat:"no-repeat",backgroundPosition:"center 50%",zIndex:0,pointerEvents:"none",opacity:.6}},...Array.isArray(i)?i:i?[i]:[]],children:n})};export{i as GreenWaveBackground};
1
+ import{jsx as e}from"react/jsx-runtime";import{Box as o}from"@mui/material";import t from"../assets/images/wave-80pxthick.png.mjs";import{useTokens as r}from"./Theme/useTokens.mjs";const i=({sx:i,children:n,...a})=>{const s=r();return e(o,{...a,sx:[{minHeight:"100vh",background:s.background.default,display:"flex",flexDirection:"column",position:"relative",overflow:"hidden","&::after":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,width:"100%",height:"100%",backgroundImage:`url(${t})`,backgroundSize:"100%",backgroundRepeat:"no-repeat",backgroundPosition:"center 50%",zIndex:0,pointerEvents:"none",opacity:.6}},...Array.isArray(i)?i:i?[i]:[]],children:n})};export{i as GreenWaveBackground};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useId as e}from"react";import{useTheme as r}from"@mui/material";import{colours as i,fontSageHeadline as s}from"../../../theme/tokens.mjs";import{SagePaths as l,SAGE_ASPECT as f}from"./SageLogo.mjs";const p={sm:24,md:32,lg:40},a=[0,60,120,180,240,300],c=({size:c="md"})=>{const n="dark"===r().palette.mode,d=e(),m=p[c],h=m/34,y=(m-m)/2,g=.32*m,u=m*f+g,x=m/100,$=u+1.2+g,C=$+m/2,O=m/2,w=.65*m,b=$+1.3*m,S=m/2+.35*w,G=b+3.4*w+2,v=`${d}-cg`,N=`${d}-ng`,k=`${d}-glow`,B=`${d}-sh`,j=n?i.white:i.black,z=n?i.white:i.black;return t("svg",{width:G,height:m,viewBox:`0 0 ${G} ${m}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":"Nexus logo option 1",role:"img",children:[t("defs",{children:[t("radialGradient",{id:v,cx:"35%",cy:"35%",r:"65%",children:[o("stop",{offset:"0%",stopColor:"#08e808",stopOpacity:"1"}),o("stop",{offset:"80%",stopColor:"#05D505",stopOpacity:"1"}),o("stop",{offset:"100%",stopColor:"#04c004",stopOpacity:"1"})]}),t("radialGradient",{id:N,cx:"35%",cy:"35%",r:"65%",children:[o("stop",{offset:"0%",stopColor:"#08e808",stopOpacity:"1"}),o("stop",{offset:"80%",stopColor:"#05D505",stopOpacity:"1"}),o("stop",{offset:"100%",stopColor:"#04c004",stopOpacity:"1"})]}),t("filter",{id:k,children:[o("feGaussianBlur",{stdDeviation:"1",result:"coloredBlur"}),t("feMerge",{children:[o("feMergeNode",{in:"coloredBlur"}),o("feMergeNode",{in:"SourceGraphic"})]})]}),t("linearGradient",{id:B,gradientUnits:"userSpaceOnUse",x1:"0",y1:m,x2:G,y2:"0",children:[o("stop",{offset:"0%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"40%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"45%",stopColor:i.cyan,stopOpacity:"0.7"}),o("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),o("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"55%",stopColor:i.blue,stopOpacity:"0.7"}),o("stop",{offset:"60%",stopColor:i.blue,stopOpacity:"0"}),o("stop",{offset:"100%",stopColor:i.blue,stopOpacity:"0"}),o("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-G+" 0",to:`${G} 0`,dur:"4s",repeatCount:"indefinite"})]})]}),o("g",{transform:`translate(0, ${y}) scale(${h})`,children:o(l,{})}),o("rect",{x:u,y:0,width:1.2,height:m,fill:z,rx:.6}),t("g",{transform:`translate(${C}, ${O}) scale(${x})`,filter:`url(#${k})`,children:[a.map(e=>t("g",{transform:`rotate(${e})`,children:[o("rect",{x:"0",y:"-3",width:"40",height:"6",fill:`url(#${N})`,rx:"3"}),o("circle",{cx:"44",cy:"0",r:"10",fill:`url(#${N})`})]},e)),o("circle",{cx:"0",cy:"0",r:"14",fill:`url(#${v})`})]}),o("text",{x:b,y:S,fontFamily:s,fontSize:w,fill:j,letterSpacing:"0.04em",children:"NEXUS"}),t("text",{x:b,y:S,fontFamily:s,fontSize:w,letterSpacing:"0.04em","aria-hidden":"true",children:[o("tspan",{fill:"none",children:"NE"}),o("tspan",{fill:`url(#${B})`,children:"X"})]})]})};export{c as LogoOption1};
1
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useId as e}from"react";import{useTheme as r}from"@mui/material";import{colours as i,fontSageHeadline as s}from"../../Theme/tokens.mjs";import{SagePaths as l,SAGE_ASPECT as f}from"./SageLogo.mjs";const p={sm:24,md:32,lg:40},a=[0,60,120,180,240,300],c=({size:c="md"})=>{const n="dark"===r().palette.mode,d=e(),m=p[c],h=m/34,y=(m-m)/2,g=.32*m,u=m*f+g,x=m/100,$=u+1.2+g,C=$+m/2,O=m/2,w=.65*m,b=$+1.3*m,S=m/2+.35*w,G=b+3.4*w+2,v=`${d}-cg`,N=`${d}-ng`,k=`${d}-glow`,B=`${d}-sh`,j=n?i.white:i.black,z=n?i.white:i.black;return t("svg",{width:G,height:m,viewBox:`0 0 ${G} ${m}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":"Nexus logo option 1",role:"img",children:[t("defs",{children:[t("radialGradient",{id:v,cx:"35%",cy:"35%",r:"65%",children:[o("stop",{offset:"0%",stopColor:"#08e808",stopOpacity:"1"}),o("stop",{offset:"80%",stopColor:"#05D505",stopOpacity:"1"}),o("stop",{offset:"100%",stopColor:"#04c004",stopOpacity:"1"})]}),t("radialGradient",{id:N,cx:"35%",cy:"35%",r:"65%",children:[o("stop",{offset:"0%",stopColor:"#08e808",stopOpacity:"1"}),o("stop",{offset:"80%",stopColor:"#05D505",stopOpacity:"1"}),o("stop",{offset:"100%",stopColor:"#04c004",stopOpacity:"1"})]}),t("filter",{id:k,children:[o("feGaussianBlur",{stdDeviation:"1",result:"coloredBlur"}),t("feMerge",{children:[o("feMergeNode",{in:"coloredBlur"}),o("feMergeNode",{in:"SourceGraphic"})]})]}),t("linearGradient",{id:B,gradientUnits:"userSpaceOnUse",x1:"0",y1:m,x2:G,y2:"0",children:[o("stop",{offset:"0%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"40%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"45%",stopColor:i.cyan,stopOpacity:"0.7"}),o("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),o("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"55%",stopColor:i.blue,stopOpacity:"0.7"}),o("stop",{offset:"60%",stopColor:i.blue,stopOpacity:"0"}),o("stop",{offset:"100%",stopColor:i.blue,stopOpacity:"0"}),o("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-G+" 0",to:`${G} 0`,dur:"4s",repeatCount:"indefinite"})]})]}),o("g",{transform:`translate(0, ${y}) scale(${h})`,children:o(l,{})}),o("rect",{x:u,y:0,width:1.2,height:m,fill:z,rx:.6}),t("g",{transform:`translate(${C}, ${O}) scale(${x})`,filter:`url(#${k})`,children:[a.map(e=>t("g",{transform:`rotate(${e})`,children:[o("rect",{x:"0",y:"-3",width:"40",height:"6",fill:`url(#${N})`,rx:"3"}),o("circle",{cx:"44",cy:"0",r:"10",fill:`url(#${N})`})]},e)),o("circle",{cx:"0",cy:"0",r:"14",fill:`url(#${v})`})]}),o("text",{x:b,y:S,fontFamily:s,fontSize:w,fill:j,letterSpacing:"0.04em",children:"NEXUS"}),t("text",{x:b,y:S,fontFamily:s,fontSize:w,letterSpacing:"0.04em","aria-hidden":"true",children:[o("tspan",{fill:"none",children:"NE"}),o("tspan",{fill:`url(#${B})`,children:"X"})]})]})};export{c as LogoOption1};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useId as e}from"react";import{useTheme as r}from"@mui/material";import{colours as i}from"../../../theme/tokens.mjs";import{NexusLogoNode as s}from"../NexusLogoNode.mjs";import{SagePaths as f,SAGE_ASPECT as l}from"./SageLogo.mjs";const a={sm:24,md:32,lg:40},n=({size:n="md"})=>{const p="dark"===r().palette.mode,m=e(),c=a[n],d=c/34,h=(c-c)/2,g=.32*c,y=c*l+g,u=1*c,x=(c-u)/2,b=c/100,w=y+1.2+g,C=w+c/2,O=c/2,$=.65*c,v=w+1.3*c,S=c/2+.35*$,N=v+3.4*$+2,j=`${m}-sh`,k=p?i.white:i.black,z=p?i.white:i.black;return t("svg",{width:N,height:c,viewBox:`0 0 ${N} ${c}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":"Nexus logo option 11",role:"img",children:[o("defs",{children:t("linearGradient",{id:j,gradientUnits:"userSpaceOnUse",x1:"0",y1:c,x2:N,y2:"0",children:[o("stop",{offset:"0%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"40%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"45%",stopColor:i.cyan,stopOpacity:"0.7"}),o("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),o("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"55%",stopColor:i.blue,stopOpacity:"0.7"}),o("stop",{offset:"60%",stopColor:i.blue,stopOpacity:"0"}),o("stop",{offset:"100%",stopColor:i.blue,stopOpacity:"0"}),o("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-N+" 0",to:`${N} 0`,dur:"4s",repeatCount:"indefinite"})]})}),o("g",{transform:`translate(0, ${h}) scale(${d})`,children:o(f,{})}),o("rect",{x:y,y:x,width:1.2,height:u,fill:z,rx:.6}),o("g",{transform:`translate(${C}, ${O}) scale(${b})`,children:o(s,{})}),o("text",{x:v,y:S,fontFamily:"Arial, Helvetica, sans-serif",fontWeight:"bold",fontSize:$,fill:k,letterSpacing:"0.04em",children:"NEXUS"}),t("text",{x:v,y:S,fontFamily:"Arial, Helvetica, sans-serif",fontWeight:"bold",fontSize:$,letterSpacing:"0.04em","aria-hidden":"true",children:[o("tspan",{fill:"none",children:"NE"}),o("tspan",{fill:`url(#${j})`,children:"X"})]})]})};export{n as LogoOption11};
1
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import{useId as e}from"react";import{useTheme as r}from"@mui/material";import{colours as i}from"../../Theme/tokens.mjs";import{NexusLogoNode as s}from"../NexusLogoNode.mjs";import{SagePaths as f,SAGE_ASPECT as l}from"./SageLogo.mjs";const a={sm:24,md:32,lg:40},n=({size:n="md"})=>{const p="dark"===r().palette.mode,m=e(),c=a[n],d=c/34,h=(c-c)/2,g=.32*c,y=c*l+g,u=1*c,x=(c-u)/2,b=c/100,w=y+1.2+g,C=w+c/2,O=c/2,$=.65*c,v=w+1.3*c,S=c/2+.35*$,N=v+3.4*$+2,j=`${m}-sh`,k=p?i.white:i.black,z=p?i.white:i.black;return t("svg",{width:N,height:c,viewBox:`0 0 ${N} ${c}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":"Nexus logo option 11",role:"img",children:[o("defs",{children:t("linearGradient",{id:j,gradientUnits:"userSpaceOnUse",x1:"0",y1:c,x2:N,y2:"0",children:[o("stop",{offset:"0%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"40%",stopColor:i.brilliantGreen,stopOpacity:"0"}),o("stop",{offset:"45%",stopColor:i.cyan,stopOpacity:"0.7"}),o("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),o("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),o("stop",{offset:"55%",stopColor:i.blue,stopOpacity:"0.7"}),o("stop",{offset:"60%",stopColor:i.blue,stopOpacity:"0"}),o("stop",{offset:"100%",stopColor:i.blue,stopOpacity:"0"}),o("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-N+" 0",to:`${N} 0`,dur:"4s",repeatCount:"indefinite"})]})}),o("g",{transform:`translate(0, ${h}) scale(${d})`,children:o(f,{})}),o("rect",{x:y,y:x,width:1.2,height:u,fill:z,rx:.6}),o("g",{transform:`translate(${C}, ${O}) scale(${b})`,children:o(s,{})}),o("text",{x:v,y:S,fontFamily:"Arial, Helvetica, sans-serif",fontWeight:"bold",fontSize:$,fill:k,letterSpacing:"0.04em",children:"NEXUS"}),t("text",{x:v,y:S,fontFamily:"Arial, Helvetica, sans-serif",fontWeight:"bold",fontSize:$,letterSpacing:"0.04em","aria-hidden":"true",children:[o("tspan",{fill:"none",children:"NE"}),o("tspan",{fill:`url(#${j})`,children:"X"})]})]})};export{n as LogoOption11};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useId as o}from"react";import{useTheme as i}from"@mui/material";import{colours as r}from"../../../theme/tokens.mjs";import{NexusLogoNode as s}from"../NexusLogoNode.mjs";import{SagePaths as l,SAGE_ASPECT as f}from"./SageLogo.mjs";const a={sm:24,md:32,lg:40},n=({size:n="md",fontFamily:p,fontWeight:m,text:c,letterSpacing:h="0.04em",nodeShimmerMode:d={shimmer:"text"},baselineOffset:g=.35,ariaLabel:y})=>{const x="dark"===i().palette.mode,u=o(),$=a[n],w=$/34,C=($-$)/2,b=.32*$,O=$*f+b,S=$,k=($-S)/2,v=$,W=v/100,j=O+1.2+b,z=j+v/2,F=$/2,G=.65*$,L=j+1.3*v,N=$/2+G*g,T=L+3.4*G+2,U=`${u}-sh`,B=`${u}-nm`,M=x?r.white:r.black,R=x?r.white:r.black,X="text"===d.shimmer,q="fullText"===d.shimmer,A=c.toUpperCase().indexOf("X"),D=A>=0?c.slice(0,A):c,E=A>=0?c[A]:"",H=A>=0?c.slice(A+1):"";return t("svg",{width:T,height:$,viewBox:`0 0 ${T} ${$}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":y,role:"img",children:[t("defs",{children:[t("linearGradient",{id:U,gradientUnits:"userSpaceOnUse",x1:"0",y1:$,x2:T,y2:"0",children:[e("stop",{offset:"0%",stopColor:r.brilliantGreen,stopOpacity:"0"}),e("stop",{offset:"40%",stopColor:r.brilliantGreen,stopOpacity:"0"}),e("stop",{offset:"45%",stopColor:r.cyan,stopOpacity:"0.7"}),e("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),e("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),e("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),e("stop",{offset:"55%",stopColor:r.blue,stopOpacity:"0.7"}),e("stop",{offset:"60%",stopColor:r.blue,stopOpacity:"0"}),e("stop",{offset:"100%",stopColor:r.blue,stopOpacity:"0"}),e("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-T+" 0",to:`${T} 0`,dur:"4s",repeatCount:"indefinite"})]}),!X&&e("mask",{id:B,children:e("g",{transform:`translate(${z}, ${F}) scale(${W})`,children:e(s,{strokeColor:"white",fillColor:"white",strokeWidth:4.5,centerRadius:12})})})]}),e("g",{transform:`translate(0, ${C}) scale(${w})`,children:e(l,{})}),e("rect",{x:O,y:k,width:1.2,height:S,fill:R,rx:.6}),e("g",{transform:`translate(${z}, ${F}) scale(${W})`,children:e(s,{})}),"node"===d.shimmer&&e("rect",{x:j,y:0,width:v,height:$,fill:`url(#${U})`,mask:`url(#${B})`}),e("text",{x:L,y:N,fontFamily:p,fontWeight:m,fontSize:G,fill:M,letterSpacing:h,children:c}),X&&E&&t("text",{x:L,y:N,fontFamily:p,fontWeight:m,fontSize:G,letterSpacing:h,"aria-hidden":"true",children:[e("tspan",{fill:"none",children:D}),e("tspan",{fill:`url(#${U})`,children:E}),H&&e("tspan",{fill:"none",children:H})]}),q&&e("text",{x:L,y:N,fontFamily:p,fontWeight:m,fontSize:G,letterSpacing:h,fill:`url(#${U})`,"aria-hidden":"true",children:c})]})};export{n as LogoOptionBase};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useId as o}from"react";import{useTheme as i}from"@mui/material";import{colours as r}from"../../Theme/tokens.mjs";import{NexusLogoNode as s}from"../NexusLogoNode.mjs";import{SagePaths as l,SAGE_ASPECT as f}from"./SageLogo.mjs";const a={sm:24,md:32,lg:40},n=({size:n="md",fontFamily:p,fontWeight:m,text:c,letterSpacing:h="0.04em",nodeShimmerMode:d={shimmer:"text"},baselineOffset:g=.35,ariaLabel:y})=>{const x="dark"===i().palette.mode,u=o(),$=a[n],w=$/34,C=($-$)/2,b=.32*$,O=$*f+b,S=$,k=($-S)/2,v=$,W=v/100,j=O+1.2+b,z=j+v/2,F=$/2,T=.65*$,G=j+1.3*v,L=$/2+T*g,N=G+3.4*T+2,U=`${u}-sh`,B=`${u}-nm`,M=x?r.white:r.black,R=x?r.white:r.black,X="text"===d.shimmer,q="fullText"===d.shimmer,A=c.toUpperCase().indexOf("X"),D=A>=0?c.slice(0,A):c,E=A>=0?c[A]:"",H=A>=0?c.slice(A+1):"";return t("svg",{width:N,height:$,viewBox:`0 0 ${N} ${$}`,xmlns:"http://www.w3.org/2000/svg",overflow:"visible","aria-label":y,role:"img",children:[t("defs",{children:[t("linearGradient",{id:U,gradientUnits:"userSpaceOnUse",x1:"0",y1:$,x2:N,y2:"0",children:[e("stop",{offset:"0%",stopColor:r.brilliantGreen,stopOpacity:"0"}),e("stop",{offset:"40%",stopColor:r.brilliantGreen,stopOpacity:"0"}),e("stop",{offset:"45%",stopColor:r.cyan,stopOpacity:"0.7"}),e("stop",{offset:"48%",stopColor:"#ffffff",stopOpacity:"0.95"}),e("stop",{offset:"50%",stopColor:"#ffffff",stopOpacity:"1"}),e("stop",{offset:"52%",stopColor:"#ffffff",stopOpacity:"0.95"}),e("stop",{offset:"55%",stopColor:r.blue,stopOpacity:"0.7"}),e("stop",{offset:"60%",stopColor:r.blue,stopOpacity:"0"}),e("stop",{offset:"100%",stopColor:r.blue,stopOpacity:"0"}),e("animateTransform",{attributeName:"gradientTransform",type:"translate",from:-N+" 0",to:`${N} 0`,dur:"4s",repeatCount:"indefinite"})]}),!X&&e("mask",{id:B,children:e("g",{transform:`translate(${z}, ${F}) scale(${W})`,children:e(s,{strokeColor:"white",fillColor:"white",strokeWidth:4.5,centerRadius:12})})})]}),e("g",{transform:`translate(0, ${C}) scale(${w})`,children:e(l,{})}),e("rect",{x:O,y:k,width:1.2,height:S,fill:R,rx:.6}),e("g",{transform:`translate(${z}, ${F}) scale(${W})`,children:e(s,{})}),"node"===d.shimmer&&e("rect",{x:j,y:0,width:v,height:$,fill:`url(#${U})`,mask:`url(#${B})`}),e("text",{x:G,y:L,fontFamily:p,fontWeight:m,fontSize:T,fill:M,letterSpacing:h,children:c}),X&&E&&t("text",{x:G,y:L,fontFamily:p,fontWeight:m,fontSize:T,letterSpacing:h,"aria-hidden":"true",children:[e("tspan",{fill:"none",children:D}),e("tspan",{fill:`url(#${U})`,children:E}),H&&e("tspan",{fill:"none",children:H})]}),q&&e("text",{x:G,y:L,fontFamily:p,fontWeight:m,fontSize:T,letterSpacing:h,fill:`url(#${U})`,"aria-hidden":"true",children:c})]})};export{n as LogoOptionBase};
@@ -1 +1 @@
1
- import{jsx as C,jsxs as l,Fragment as e}from"react/jsx-runtime";import{colours as i}from"../../../theme/tokens.mjs";const r=60/34,t=({height:l=24,className:e,"aria-label":i="Sage"})=>C("svg",{width:l*r,height:l,viewBox:"0 0 60 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,"aria-label":i,role:"img",children:C(a,{})}),a=()=>l(e,{children:[C("path",{d:"M6.63047 0C10.3844 0 13.4367 2.59879 13.507 6.21582C13.5422 7.23407 12.8055 7.79637 11.9984 7.79637C11.2266 7.79637 10.5602 7.23485 10.525 6.28621C10.4898 4.24894 8.77109 2.73878 6.59531 2.73878C4.56016 2.73878 3.01719 4.17855 3.01719 6.14544C3.01719 8.2875 4.45547 9.23614 7.4375 10.3248C10.6297 11.4838 13.5422 12.8532 13.5422 16.9269C13.5422 20.4744 10.7703 23.3187 6.91172 23.3187C3.12266 23.3195 0 20.6503 0 17.0333C0 14.7857 1.0875 13.2051 2.13984 13.2051C3.05234 13.2051 3.61328 13.8018 3.61328 14.6097C3.61328 15.312 3.01719 15.6279 3.01719 16.8925C3.01719 19.1402 4.84141 20.5799 6.91172 20.5799C9.08672 20.5799 10.525 19.0698 10.525 17.2437C10.525 14.996 9.08672 14.0482 6.10469 12.9939C2.77187 11.8005 0 10.36 0 6.39179C0 2.80995 2.87656 0 6.63047 0Z",fill:i.brilliantGreen}),C("path",{d:"M21.9414 23.3195C18.1523 23.3195 14.9953 20.264 14.9953 16.4006C14.9953 12.3972 18.1875 9.41211 22.0469 9.41211C26.1867 9.41211 29.0984 12.5028 29.0984 16.7173V21.8445C29.0984 22.7228 28.3969 23.3195 27.5898 23.3195C26.7477 23.3195 26.0461 22.7228 26.0461 21.8445V16.8221C26.0461 14.0474 24.4672 12.1509 21.9766 12.1509C19.7664 12.1509 18.0125 14.0122 18.0125 16.4006C18.0125 18.6131 19.7313 20.5096 21.907 20.5096C22.7141 20.5096 23.0648 20.2992 23.5562 20.2992C24.2227 20.2992 24.9242 20.8607 24.9242 21.6686C24.9234 22.7572 23.625 23.3195 21.9414 23.3195Z",fill:i.brilliantGreen}),C("path",{d:"M37.743 33.785C33.8133 33.785 30.5508 30.9751 30.5508 27.3229C30.5508 26.0935 31.2523 25.532 32.0594 25.532C32.8664 25.532 33.5328 26.0591 33.568 27.0773C33.6031 29.3601 35.4273 31.0455 37.7078 31.0455C40.1289 31.0455 41.707 29.5001 41.707 27.4981C41.707 25.2152 39.9531 24.2674 36.9711 23.3187C33.4977 22.1949 30.5508 20.6495 30.5508 16.3654C30.5508 12.4316 33.568 9.41211 37.4969 9.41211C41.4609 9.41211 44.7242 12.2917 44.7242 16.0847C44.7242 18.4027 43.7773 20.1936 42.4789 20.1936C41.6016 20.1936 41.0055 19.5617 41.0055 18.789C41.0055 17.9812 41.707 17.63 41.707 16.1902C41.707 13.7666 39.8125 12.1517 37.532 12.1517C35.3219 12.1517 33.568 13.8378 33.568 16.0502C33.568 18.5435 35.357 19.5977 38.3039 20.5807C41.707 21.7045 44.7242 23.1091 44.7242 27.2181C44.7242 30.9055 41.8125 33.785 37.743 33.785Z",fill:i.brilliantGreen}),C("path",{d:"M53.3344 23.3195C49.4047 23.3195 46.1773 20.2288 46.1773 16.3662C46.1773 12.5028 49.3 9.41289 53.1586 9.41289C57.0531 9.41289 60 12.1173 60 15.5591C60 16.8933 59.0531 17.7012 57.5094 17.7012H53.475C52.668 17.7012 52.0719 17.1397 52.0719 16.4014C52.0719 15.6991 52.668 15.1368 53.475 15.1368H56.4922C56.7727 15.1368 56.9836 14.996 56.9836 14.7153C56.9836 13.697 55.6852 12.1165 53.2648 12.1165C51.0195 12.1165 49.1953 14.0482 49.1953 16.3662C49.1953 18.7194 51.0547 20.5807 53.3703 20.5807C56.0367 20.5807 56.9141 19.0002 58.0016 19.0002C58.9141 19.0002 59.4047 19.5969 59.4047 20.2648C59.4047 20.8967 58.9836 21.459 57.9313 22.1261C56.8773 22.7924 55.2992 23.3195 53.3344 23.3195Z",fill:i.brilliantGreen})]});export{r as SAGE_ASPECT,t as SageLogoSvg,a as SagePaths};
1
+ import{jsx as C,jsxs as l,Fragment as e}from"react/jsx-runtime";import{colours as i}from"../../Theme/tokens.mjs";const r=60/34,a=({height:l=24,className:e,"aria-label":i="Sage"})=>C("svg",{width:l*r,height:l,viewBox:"0 0 60 34",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:e,"aria-label":i,role:"img",children:C(t,{})}),t=()=>l(e,{children:[C("path",{d:"M6.63047 0C10.3844 0 13.4367 2.59879 13.507 6.21582C13.5422 7.23407 12.8055 7.79637 11.9984 7.79637C11.2266 7.79637 10.5602 7.23485 10.525 6.28621C10.4898 4.24894 8.77109 2.73878 6.59531 2.73878C4.56016 2.73878 3.01719 4.17855 3.01719 6.14544C3.01719 8.2875 4.45547 9.23614 7.4375 10.3248C10.6297 11.4838 13.5422 12.8532 13.5422 16.9269C13.5422 20.4744 10.7703 23.3187 6.91172 23.3187C3.12266 23.3195 0 20.6503 0 17.0333C0 14.7857 1.0875 13.2051 2.13984 13.2051C3.05234 13.2051 3.61328 13.8018 3.61328 14.6097C3.61328 15.312 3.01719 15.6279 3.01719 16.8925C3.01719 19.1402 4.84141 20.5799 6.91172 20.5799C9.08672 20.5799 10.525 19.0698 10.525 17.2437C10.525 14.996 9.08672 14.0482 6.10469 12.9939C2.77187 11.8005 0 10.36 0 6.39179C0 2.80995 2.87656 0 6.63047 0Z",fill:i.brilliantGreen}),C("path",{d:"M21.9414 23.3195C18.1523 23.3195 14.9953 20.264 14.9953 16.4006C14.9953 12.3972 18.1875 9.41211 22.0469 9.41211C26.1867 9.41211 29.0984 12.5028 29.0984 16.7173V21.8445C29.0984 22.7228 28.3969 23.3195 27.5898 23.3195C26.7477 23.3195 26.0461 22.7228 26.0461 21.8445V16.8221C26.0461 14.0474 24.4672 12.1509 21.9766 12.1509C19.7664 12.1509 18.0125 14.0122 18.0125 16.4006C18.0125 18.6131 19.7313 20.5096 21.907 20.5096C22.7141 20.5096 23.0648 20.2992 23.5562 20.2992C24.2227 20.2992 24.9242 20.8607 24.9242 21.6686C24.9234 22.7572 23.625 23.3195 21.9414 23.3195Z",fill:i.brilliantGreen}),C("path",{d:"M37.743 33.785C33.8133 33.785 30.5508 30.9751 30.5508 27.3229C30.5508 26.0935 31.2523 25.532 32.0594 25.532C32.8664 25.532 33.5328 26.0591 33.568 27.0773C33.6031 29.3601 35.4273 31.0455 37.7078 31.0455C40.1289 31.0455 41.707 29.5001 41.707 27.4981C41.707 25.2152 39.9531 24.2674 36.9711 23.3187C33.4977 22.1949 30.5508 20.6495 30.5508 16.3654C30.5508 12.4316 33.568 9.41211 37.4969 9.41211C41.4609 9.41211 44.7242 12.2917 44.7242 16.0847C44.7242 18.4027 43.7773 20.1936 42.4789 20.1936C41.6016 20.1936 41.0055 19.5617 41.0055 18.789C41.0055 17.9812 41.707 17.63 41.707 16.1902C41.707 13.7666 39.8125 12.1517 37.532 12.1517C35.3219 12.1517 33.568 13.8378 33.568 16.0502C33.568 18.5435 35.357 19.5977 38.3039 20.5807C41.707 21.7045 44.7242 23.1091 44.7242 27.2181C44.7242 30.9055 41.8125 33.785 37.743 33.785Z",fill:i.brilliantGreen}),C("path",{d:"M53.3344 23.3195C49.4047 23.3195 46.1773 20.2288 46.1773 16.3662C46.1773 12.5028 49.3 9.41289 53.1586 9.41289C57.0531 9.41289 60 12.1173 60 15.5591C60 16.8933 59.0531 17.7012 57.5094 17.7012H53.475C52.668 17.7012 52.0719 17.1397 52.0719 16.4014C52.0719 15.6991 52.668 15.1368 53.475 15.1368H56.4922C56.7727 15.1368 56.9836 14.996 56.9836 14.7153C56.9836 13.697 55.6852 12.1165 53.2648 12.1165C51.0195 12.1165 49.1953 14.0482 49.1953 16.3662C49.1953 18.7194 51.0547 20.5807 53.3703 20.5807C56.0367 20.5807 56.9141 19.0002 58.0016 19.0002C58.9141 19.0002 59.4047 19.5969 59.4047 20.2648C59.4047 20.8967 58.9836 21.459 57.9313 22.1261C56.8773 22.7924 55.2992 23.3195 53.3344 23.3195Z",fill:i.brilliantGreen})]});export{r as SAGE_ASPECT,a as SageLogoSvg,t as SagePaths};
@@ -1 +1 @@
1
- import{jsxs as r,Fragment as e,jsx as t}from"react/jsx-runtime";import{colours as o}from"../../theme/tokens.mjs";const i=[0,60,120,180,240,300],l=({strokeColor:l=o.brilliantGreen,fillColor:n=o.brilliantGreen,strokeWidth:c=4.5,centerRadius:s=12})=>r(e,{children:[t("g",{stroke:l,strokeWidth:c,strokeLinecap:"round",children:i.map(e=>r("g",{transform:`rotate(${e})`,children:[t("line",{x1:"10",y1:"0",x2:"36",y2:"0"}),t("circle",{cx:"44",cy:"0",r:"10",fill:n,stroke:"none"})]},e))}),t("circle",{cx:"0",cy:"0",r:s,fill:n})]});export{l as NexusLogoNode};
1
+ import{jsxs as r,Fragment as e,jsx as o}from"react/jsx-runtime";import{colours as t}from"../Theme/tokens.mjs";const i=[0,60,120,180,240,300],l=({strokeColor:l=t.brilliantGreen,fillColor:n=t.brilliantGreen,strokeWidth:c=4.5,centerRadius:s=12})=>r(e,{children:[o("g",{stroke:l,strokeWidth:c,strokeLinecap:"round",children:i.map(e=>r("g",{transform:`rotate(${e})`,children:[o("line",{x1:"10",y1:"0",x2:"36",y2:"0"}),o("circle",{cx:"44",cy:"0",r:"10",fill:n,stroke:"none"})]},e))}),o("circle",{cx:"0",cy:"0",r:s,fill:n})]});export{l as NexusLogoNode};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"@mui/material/SvgIcon";import{colours as o}from"../../theme/tokens.mjs";import{useTokens as i}from"../../theme/useTokens.mjs";const c={sm:24,md:32,lg:40},m=({className:m,size:s,fontSize:n,titleAccess:l,tone:a="default"})=>{const f=i(),d="brand"===a?o.brilliantGreen:"default"===a?f.text.greens:void 0;return e(r,{className:m,fontSize:s?void 0:n,titleAccess:l,viewBox:"44 44 112 112",sx:{...s?{fontSize:c[s]}:{},...d?{color:d}:{}},children:[[0,60,120,180,240,300].map(r=>e("g",{transform:`rotate(${r} 100 100)`,children:[t("rect",{x:"100",y:"97",width:"40",height:"6",rx:"3"}),t("circle",{cx:"144",cy:"100",r:"10"})]},r)),t("circle",{cx:"100",cy:"100",r:"14"})]})};export{m as NexusNodeIcon};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"@mui/material/SvgIcon";import{colours as o}from"../Theme/tokens.mjs";import{useTokens as i}from"../Theme/useTokens.mjs";const c={sm:24,md:32,lg:40},m=({className:m,size:s,fontSize:n,titleAccess:l,tone:a="default"})=>{const f=i(),d="brand"===a?o.brilliantGreen:"default"===a?f.text.greens:void 0;return e(r,{className:m,fontSize:s?void 0:n,titleAccess:l,viewBox:"44 44 112 112",sx:{...s?{fontSize:c[s]}:{},...d?{color:d}:{}},children:[[0,60,120,180,240,300].map(r=>e("g",{transform:`rotate(${r} 100 100)`,children:[t("rect",{x:"100",y:"97",width:"40",height:"6",rx:"3"}),t("circle",{cx:"144",cy:"100",r:"10"})]},r)),t("circle",{cx:"100",cy:"100",r:"14"})]})};export{m as NexusNodeIcon};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{ToggleButtonGroup as r,ToggleButton as o}from"@mui/material";const t={small:{height:32,px:"14px",fontSize:"0.8125rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}};function a({options:a,value:i,onChange:l,ariaLabel:n,size:p="medium",sx:d,...s}){const{height:x,px:g,fontSize:m}=t[p];return e(r,{exclusive:!0,value:i,onChange:(e,r)=>{null!==r&&l(r)},"aria-label":n,sx:[e=>({bgcolor:"dark"===e.palette.mode?"rgba(255,255,255,0.08)":"rgba(255,255,255,0.85)",borderRadius:"999px",border:"1px solid",borderColor:"divider",boxShadow:"inset 0 1px 2px rgba(10, 22, 34, 0.05)",p:"3px",gap:"2px",minHeight:x,width:"fit-content","& .MuiToggleButton-root":{border:"none",borderRadius:"999px !important",textTransform:"none",fontWeight:600,paddingInline:g,paddingBlock:0,fontSize:m,lineHeight:1,alignSelf:"stretch",color:e.palette.text.primary,transition:"background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease","&:not(.Mui-selected):hover":{bgcolor:e.palette.action.hover,color:e.palette.text.primary}},"&& .MuiToggleButton-root.Mui-selected":{bgcolor:e.palette.primary.main,color:e.palette.primary.contrastText,boxShadow:"0 1px 4px rgba(20, 39, 59, 0.3), inset 0 1px 0 rgba(255,255,255,0.12)","&:hover":{bgcolor:e.palette.primary.dark}}}),...Array.isArray(d)?d:d?[d]:[]],...s,children:a.map(r=>e(o,{value:r.value,disabled:r.disabled,"aria-label":r.ariaLabel,children:r.label},r.value))})}export{a as SegmentedControl};
1
+ import{jsx as e}from"react/jsx-runtime";import{ToggleButtonGroup as r,ToggleButton as o}from"@mui/material";const t={small:{height:32,px:"14px",fontSize:"0.8125rem"},medium:{height:40,px:"20px",fontSize:"0.9375rem"},large:{height:48,px:"28px",fontSize:"1rem"}};function a({options:a,value:i,onChange:l,ariaLabel:n,size:p="medium",sx:d,...x}){const{height:s,px:g,fontSize:b}=t[p];return e(r,{exclusive:!0,value:i,onChange:(e,r)=>{null!==r&&l(r)},"aria-label":n,sx:[e=>({bgcolor:"dark"===e.palette.mode?"rgba(255,255,255,0.08)":"rgba(255,255,255,0.85)",borderRadius:"999px",border:"1px solid",borderColor:"divider",boxShadow:"inset 0 1px 2px rgba(10, 22, 34, 0.05)",p:"3px",gap:"4px",minHeight:s,width:"fit-content",maxWidth:"100%",boxSizing:"border-box",flexWrap:"wrap",justifyContent:"center","& .MuiToggleButton-root":{border:"none",borderRadius:"999px !important",textTransform:"none",fontWeight:600,paddingInline:g,paddingBlock:0,fontSize:b,lineHeight:1,whiteSpace:"nowrap",alignSelf:"stretch",color:e.palette.text.primary,transition:"background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease","&:not(.Mui-selected):hover":{bgcolor:e.palette.action.hover,color:e.palette.text.primary}},"&& .MuiToggleButton-root.Mui-selected":{bgcolor:e.palette.primary.main,color:e.palette.primary.contrastText,boxShadow:"0 1px 4px rgba(20, 39, 59, 0.3), inset 0 1px 0 rgba(255,255,255,0.12)","&:hover":{bgcolor:e.palette.primary.dark}}}),...Array.isArray(d)?d:d?[d]:[]],...x,children:a.map(r=>e(o,{value:r.value,disabled:r.disabled,"aria-label":r.ariaLabel,children:r.label},r.value))})}export{a as SegmentedControl};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as i}from"react/jsx-runtime";import{useTheme as o,useMediaQuery as r,Drawer as n,Box as t,IconButton as l}from"@mui/material";import a from"@mui/icons-material/ChevronLeft";import d from"@mui/icons-material/Menu";const s="0.25s",p=({open:t,onToggle:l,children:a,collapsedContent:d,expandedWidth:p=300,collapsedWidth:x=64,sx:b,headerActions:f})=>{const m=o(),v=r(m.breakpoints.down("sm"));return e(n,v?{anchor:"left",variant:"temporary",open:t,onClose:l,keepMounted:!0,slotProps:{paper:{sx:[{width:p,boxSizing:"border-box",backgroundColor:"background.paper",borderRight:`1px solid ${m.palette.divider}`,overflowX:"hidden"},...Array.isArray(b)?b:b?[b]:[]]}},children:[i(h,{open:t,onToggle:l,collapsedWidth:x,headerActions:f}),i(c,{open:t,collapsedContent:d,children:a})]}:{anchor:"left",variant:"permanent",open:t,slotProps:{paper:{sx:[{position:"relative",width:t?p:x,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflowX:"hidden",transition:`width ${s} ease`,backgroundColor:"background.paper",borderRadius:0,borderRight:`1px solid ${m.palette.divider}`,display:"flex",flexDirection:"column"},...Array.isArray(b)?b:b?[b]:[]]}},sx:{width:t?p:x,flexShrink:0,transition:`width ${s} ease`,"& .MuiDrawer-paper":{width:t?p:x,transition:`width ${s} ease`}},children:[i(h,{open:t,onToggle:l,collapsedWidth:x,headerActions:f}),i(c,{open:t,collapsedContent:d,children:a})]})},c=({open:o,children:r,collapsedContent:n})=>e(t,{sx:{position:"relative",flex:1,overflow:"hidden"},children:[i(t,{sx:{height:"100%",overflowY:"auto",overflowX:"hidden",opacity:o?1:0,visibility:o?"visible":"hidden",transition:`opacity ${s} ease, visibility ${s} ease`},children:r}),n&&i(t,{sx:{position:"absolute",inset:0,overflowY:"auto",overflowX:"hidden",opacity:o?0:1,visibility:o?"hidden":"visible",transition:`opacity ${s} ease, visibility ${s} ease`},children:n})]}),h=({open:o,onToggle:r,collapsedWidth:n,headerActions:s})=>{const p=i(o?a:d,{fontSize:"small"});return e(t,{sx:{display:"flex",alignItems:"center",justifyContent:o&&s?"space-between":o?"flex-end":"center",minHeight:48,px:.5,flexShrink:0},children:[o&&s&&i(t,{sx:{display:"flex",alignItems:"center"},children:s}),i(l,{onClick:r,size:"small","aria-label":o?"Collapse side blade":"Expand side blade",sx:{width:n-16,borderRadius:1,color:"text.secondary","&:hover":{color:"text.primary",backgroundColor:"action.hover"}},children:p})]})};export{p as SideBlade};
1
+ import{jsxs as e,jsx as i}from"react/jsx-runtime";import{useRef as o,useEffect as r}from"react";import{useTheme as n,useMediaQuery as t,Drawer as a,Box as l,IconButton as s}from"@mui/material";import d from"@mui/icons-material/ChevronLeft";import c from"@mui/icons-material/Menu";const p="0.25s",h=({open:l,onToggle:s,mobileOpen:d,onMobileToggle:c,mobileTriggerRef:h,children:m,collapsedContent:x,expandedWidth:f=300,collapsedWidth:g=64,sx:v,headerActions:w})=>{const y=n(),C=t(y.breakpoints.down("sm")),k=o(null),$=o(!1),A=d??l,T=c??s,S=o(C&&A);r(()=>{const e=C&&S.current&&!A;if(S.current=C&&A,!e)return;const i=document.activeElement;i instanceof HTMLElement&&k.current?.contains(i)&&i.blur(),$.current=!0},[C,A]);const E=()=>{const e=document.activeElement;e instanceof HTMLElement&&k.current?.contains(e)&&e.blur(),$.current=!0,T()},R=()=>{$.current&&($.current=!1,h?.current?.focus())};return e(a,C?{ref:k,anchor:"left",variant:"temporary",open:A,onClose:E,disableRestoreFocus:!0,slotProps:{paper:{sx:[{width:f,boxSizing:"border-box",backgroundColor:"background.paper",borderRight:`1px solid ${y.palette.divider}`,overflowX:"hidden"},...Array.isArray(v)?v:v?[v]:[]]},transition:{onExited:R}},children:[i(b,{open:!0,onToggle:E,collapsedWidth:g,headerActions:w,ariaLabel:"Close navigation"}),i(u,{open:!0,children:m})]}:{anchor:"left",variant:"permanent",open:l,slotProps:{paper:{sx:[{position:"relative",width:l?f:g,flexShrink:0,whiteSpace:"nowrap",boxSizing:"border-box",overflowX:"hidden",transition:`width ${p} ease`,backgroundColor:"background.paper",borderRadius:0,borderRight:`1px solid ${y.palette.divider}`,display:"flex",flexDirection:"column"},...Array.isArray(v)?v:v?[v]:[]]}},sx:{width:l?f:g,flexShrink:0,transition:`width ${p} ease`,"& .MuiDrawer-paper":{width:l?f:g,transition:`width ${p} ease`}},children:[i(b,{open:l,onToggle:s,collapsedWidth:g,headerActions:w}),i(u,{open:l,collapsedContent:x,children:m})]})},u=({open:o,children:r,collapsedContent:n})=>e(l,{sx:{position:"relative",flex:1,overflow:"hidden"},children:[i(l,{sx:{height:"100%",overflowY:"auto",overflowX:"hidden",opacity:o?1:0,visibility:o?"visible":"hidden",transition:`opacity ${p} ease, visibility ${p} ease`},children:r}),n&&i(l,{sx:{position:"absolute",inset:0,overflowY:"auto",overflowX:"hidden",opacity:o?0:1,visibility:o?"hidden":"visible",transition:`opacity ${p} ease, visibility ${p} ease`},children:n})]}),b=({open:o,onToggle:r,collapsedWidth:n,headerActions:t,ariaLabel:a})=>{const p=i(o?d:c,{fontSize:"small"});return e(l,{sx:{display:"flex",alignItems:"center",justifyContent:o&&t?"space-between":o?"flex-end":"center",minHeight:48,px:.5,flexShrink:0},children:[o&&t&&i(l,{sx:{display:"flex",alignItems:"center"},children:t}),i(s,{onClick:r,size:"small","aria-label":a??(o?"Collapse side blade":"Expand side blade"),sx:{width:n-16,borderRadius:1,color:"text.secondary","&:hover":{color:"text.primary",backgroundColor:"action.hover"}},children:p})]})};export{h as SideBlade};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{SecondaryButton as o}from"../Buttons/SecondaryButton.mjs";import{alpha as t}from"@mui/material";import{useTheme as e}from"@mui/material/styles";import{colours as i}from"../../theme/tokens.mjs";const n=({item:n,isActive:d,collapsed:a,linkComponent:l,onSelect:m})=>{const s="dark"===e().palette.mode?i.jadeLight:i.jadeDark,c=n.icon;return r(o,{startIcon:r(c,{}),fullWidth:!0,...l?{component:l}:{},...l?{href:n.href}:{},title:a?n.label:void 0,"aria-current":d?"page":void 0,onClick:m?()=>m(n):void 0,sx:[{justifyContent:a?"center":"flex-start",px:1,borderRadius:1,minWidth:0,color:s,borderColor:a?"transparent":s,borderWidth:a?0:"1.5px",borderStyle:"solid",backgroundColor:"transparent","&:hover":{color:s,borderColor:a?"transparent":s,borderWidth:a?0:"1.5px",backgroundColor:t(s,.15)},"&.Mui-disabled":{color:t(s,.6),borderColor:a?"transparent":t(s,.6),borderWidth:a?0:"1.5px"},"& .MuiButton-startIcon":{marginRight:a?0:void 0,marginLeft:0}},d&&{backgroundColor:t(s,.35),borderLeftColor:s,borderLeftWidth:"3px",borderLeftStyle:"solid",fontWeight:700,"&:hover":{backgroundColor:t(s,.28)}}],children:!a&&r("span",{children:n.label})},n.href)};export{n as SideBladeNavListItem};
1
+ import{jsx as r}from"react/jsx-runtime";import{SecondaryButton as o}from"../Buttons/SecondaryButton.mjs";import{alpha as t}from"@mui/material";import{useTheme as e}from"@mui/material/styles";import{colours as i}from"../Theme/tokens.mjs";const n=({item:n,isActive:d,collapsed:a,linkComponent:l,onSelect:m})=>{const s="dark"===e().palette.mode?i.jadeLight:i.jadeDark,c=n.icon;return r(o,{startIcon:r(c,{}),fullWidth:!0,...l?{component:l}:{},...l?{href:n.href}:{},title:a?n.label:void 0,"aria-current":d?"page":void 0,onClick:m?()=>m(n):void 0,sx:[{justifyContent:a?"center":"flex-start",px:1,borderRadius:1,minWidth:0,color:s,borderColor:a?"transparent":s,borderWidth:a?0:"1.5px",borderStyle:"solid",backgroundColor:"transparent","&:hover":{color:s,borderColor:a?"transparent":s,borderWidth:a?0:"1.5px",backgroundColor:t(s,.15)},"&.Mui-disabled":{color:t(s,.6),borderColor:a?"transparent":t(s,.6),borderWidth:a?0:"1.5px"},"& .MuiButton-startIcon":{marginRight:a?0:void 0,marginLeft:0}},d&&{backgroundColor:t(s,.35),borderLeftColor:s,borderLeftWidth:"3px",borderLeftStyle:"solid",fontWeight:700,"&:hover":{backgroundColor:t(s,.28)}}],children:!a&&r("span",{children:n.label})},n.href)};export{n as SideBladeNavListItem};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Chip as r}from"@mui/material";import{colours as t}from"../theme/tokens.mjs";const a={default:e=>({color:"dark"===e.palette.mode?t.white:t.black,borderColor:"dark"===e.palette.mode?t.white:t.black,backgroundColor:"transparent"}),matched:e=>({color:"dark"===e.palette.mode?t.black:t.white,borderColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade,backgroundColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade}),accent:e=>({color:"dark"===e.palette.mode?t.brilliantGreen:t.jade,borderColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade,backgroundColor:"transparent"})},o=({label:t,tone:o="default",sx:l,...d})=>{const n=a[String(o)]||a.default;return e(r,{...d,label:t||"Unknown skill",size:"small",variant:"matched"===o?"filled":"outlined",sx:e=>{let r={};return"function"==typeof l?r=l(e)||{}:Array.isArray(l)?r=l.reduce((e,r)=>({...e,...r}),{}):l&&(r=l),{height:18,borderRadius:999,"& .MuiChip-label":{px:.625,pt:0,pb:"1px",fontSize:"0.6875rem",fontWeight:500,lineHeight:1},...n(e),...r}}})};export{o as SkillChip};
1
+ import{jsx as e}from"react/jsx-runtime";import{Chip as r}from"@mui/material";import{colours as t}from"./Theme/tokens.mjs";const a={default:e=>({color:"dark"===e.palette.mode?t.white:t.black,borderColor:"dark"===e.palette.mode?t.white:t.black,backgroundColor:"transparent"}),matched:e=>({color:"dark"===e.palette.mode?t.black:t.white,borderColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade,backgroundColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade}),accent:e=>({color:"dark"===e.palette.mode?t.brilliantGreen:t.jade,borderColor:"dark"===e.palette.mode?t.brilliantGreen:t.jade,backgroundColor:"transparent"})},o=({label:t,tone:o="default",sx:l,...d})=>{const n=a[String(o)]||a.default;return e(r,{...d,label:t||"Unknown skill",size:"small",variant:"matched"===o?"filled":"outlined",sx:e=>{let r={};return"function"==typeof l?r=l(e)||{}:Array.isArray(l)?r=l.reduce((e,r)=>({...e,...r}),{}):l&&(r=l),{height:18,borderRadius:999,"& .MuiChip-label":{px:.625,pt:0,pb:"1px",fontSize:"0.6875rem",fontWeight:500,lineHeight:1},...n(e),...r}}})};export{o as SkillChip};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as i,jsx as o}from"react/jsx-runtime";import{GlobalStyles as t}from"@mui/material";import{colours as r}from"../theme/tokens.mjs";const n="snu-skip-link",l=({href:l,children:p="Skip to content"})=>e(i,{children:[o(t,{styles:{[`.${n}`]:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0,textDecoration:"none",color:"inherit"},[`.${n}:focus-visible`]:{width:"auto",height:"auto",overflow:"visible",clip:"auto",margin:0,zIndex:9999,top:"8px",left:"8px",borderRadius:"4px",backgroundColor:r.brilliantGreen,color:r.black,padding:"4px 16px",fontSize:"14px",fontWeight:500,outline:`2px solid ${r.black}`,outlineOffset:"2px"}}}),o("a",{className:n,href:l,children:p})]});export{l as SkipLink};
1
+ import{jsxs as e,Fragment as i,jsx as o}from"react/jsx-runtime";import{GlobalStyles as t}from"@mui/material";import{colours as r}from"./Theme/tokens.mjs";const n="snu-skip-link",l=({href:l,children:p="Skip to content"})=>e(i,{children:[o(t,{styles:{[`.${n}`]:{position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0,textDecoration:"none",color:"inherit"},[`.${n}:focus-visible`]:{width:"auto",height:"auto",overflow:"visible",clip:"auto",margin:0,zIndex:9999,top:"8px",left:"8px",borderRadius:"4px",backgroundColor:r.brilliantGreen,color:r.black,padding:"4px 16px",fontSize:"14px",fontWeight:500,outline:`2px solid ${r.black}`,outlineOffset:"2px"}}}),o("a",{className:n,href:l,children:p})]});export{l as SkipLink};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Chip as o}from"@mui/material";import{useTheme as e}from"@mui/material/styles";import{colours as a}from"../theme/tokens.mjs";const t=({variant:t="neutral",label:l})=>{const b=e(),n="dark"===b.palette.mode,i={success:{bg:n?"rgba(0, 166, 92, 0.18)":"rgba(0, 166, 92, 0.12)",color:n?a.brilliantGreen:a.jade},warning:{bg:n?"rgba(233, 135, 91, 0.18)":"rgba(233, 135, 91, 0.12)",color:a.amber},error:{bg:n?"rgba(204, 15, 75, 0.18)":"rgba(204, 15, 75, 0.10)",color:a.cherry},info:{bg:n?"rgba(0, 214, 222, 0.14)":"rgba(45, 96, 255, 0.10)",color:n?a.cyan:a.blue},neutral:{bg:b.palette.action.hover,color:b.palette.text.secondary}},{bg:m,color:g}=i[t];return r(o,{label:l,size:"small",sx:{backgroundColor:m,color:g,border:"none",boxShadow:"none",fontWeight:600,fontSize:"0.7rem",height:22,"& .MuiChip-label":{px:1.25}}})};export{t as StatusBadge};
1
+ import{jsx as r}from"react/jsx-runtime";import{Chip as o}from"@mui/material";import{useTheme as e}from"@mui/material/styles";import{colours as a}from"./Theme/tokens.mjs";const t=({variant:t="neutral",label:l})=>{const b=e(),n="dark"===b.palette.mode,i={success:{bg:n?"rgba(0, 166, 92, 0.18)":"rgba(0, 166, 92, 0.12)",color:n?a.brilliantGreen:a.jade},warning:{bg:n?"rgba(233, 135, 91, 0.18)":"rgba(233, 135, 91, 0.12)",color:a.amber},error:{bg:n?"rgba(204, 15, 75, 0.18)":"rgba(204, 15, 75, 0.10)",color:a.cherry},info:{bg:n?"rgba(0, 214, 222, 0.14)":"rgba(45, 96, 255, 0.10)",color:n?a.cyan:a.blue},neutral:{bg:b.palette.action.hover,color:b.palette.text.secondary}},{bg:m,color:g}=i[t];return r(o,{label:l,size:"small",sx:{backgroundColor:m,color:g,border:"none",boxShadow:"none",fontWeight:600,fontSize:"0.7rem",height:22,"& .MuiChip-label":{px:1.25}}})};export{t as StatusBadge};
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import{Chip as o}from"@mui/material";import{alpha as r}from"@mui/material/styles";import{colours as a}from"../theme/tokens.mjs";const t={active:e=>({color:e.palette.success.contrastText,backgroundColor:e.palette.success.main,border:"none",boxShadow:"none"}),interview:e=>({color:"dark"===e.palette.mode?a.black:a.white,backgroundColor:"dark"===e.palette.mode?a.brilliantGreen:a.jade,border:"none",boxShadow:"none"}),stage:e=>({color:"dark"===e.palette.mode?a.brilliantGreen:a.jade,backgroundColor:"transparent",border:`1px solid ${"dark"===e.palette.mode?a.brilliantGreen:a.jade}`,boxShadow:"none"}),"application stage":e=>({color:"dark"===e.palette.mode?a.brilliantGreen:a.jade,backgroundColor:"transparent",border:`1px solid ${"dark"===e.palette.mode?a.brilliantGreen:a.jade}`,boxShadow:"none"}),closed:e=>({color:"dark"===e.palette.mode?a.white:"#1E2328",backgroundColor:"dark"===e.palette.mode?"rgba(255, 255, 255, 0.16)":"#A7B0B8",border:"none",boxShadow:"none"}),rejected:e=>({color:a.white,backgroundColor:a.cherry,border:"none",boxShadow:"none"}),"on hold":e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),"on-hold":e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),withdrew:e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),"not this vacancy":e=>({color:a.white,backgroundColor:a.navy,border:"none",boxShadow:"none"}),"not-this-vacancy":e=>({color:a.white,backgroundColor:a.navy,border:"none",boxShadow:"none"}),default:e=>({color:e.palette.text.primary,backgroundColor:r(e.palette.text.secondary??"#000","dark"===e.palette.mode?.22:.12),border:"none",boxShadow:"none"})},n={default:{height:28,"& .MuiChip-label":{px:1.25}},small:{height:22,fontSize:"0.75rem","& .MuiChip-label":{px:.875}}},d=({status:r,label:a,chipSize:d="default",sx:l,...b})=>{const i=(e=>String(e??"default").trim().toLowerCase())(r),c=t[i]??t.default,m=n[d]??n.default;return e(o,{...b,label:a??r??"Unknown",size:"small",sx:e=>({borderRadius:999,fontWeight:500,letterSpacing:"0.01em",...m,...c(e),..."function"==typeof l?l(e):l})})};export{d as StatusChip};
1
+ import{jsx as e}from"react/jsx-runtime";import{Chip as o}from"@mui/material";import{alpha as r}from"@mui/material/styles";import{colours as a}from"./Theme/tokens.mjs";const t={active:e=>({color:e.palette.success.contrastText,backgroundColor:e.palette.success.main,border:"none",boxShadow:"none"}),interview:e=>({color:"dark"===e.palette.mode?a.black:a.white,backgroundColor:"dark"===e.palette.mode?a.brilliantGreen:a.jade,border:"none",boxShadow:"none"}),stage:e=>({color:"dark"===e.palette.mode?a.brilliantGreen:a.jade,backgroundColor:"transparent",border:`1px solid ${"dark"===e.palette.mode?a.brilliantGreen:a.jade}`,boxShadow:"none"}),"application stage":e=>({color:"dark"===e.palette.mode?a.brilliantGreen:a.jade,backgroundColor:"transparent",border:`1px solid ${"dark"===e.palette.mode?a.brilliantGreen:a.jade}`,boxShadow:"none"}),closed:e=>({color:"dark"===e.palette.mode?a.white:"#1E2328",backgroundColor:"dark"===e.palette.mode?"rgba(255, 255, 255, 0.16)":"#A7B0B8",border:"none",boxShadow:"none"}),rejected:e=>({color:a.white,backgroundColor:a.cherry,border:"none",boxShadow:"none"}),"on hold":e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),"on-hold":e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),withdrew:e=>({color:"dark"===e.palette.mode?a.black:"#4A2A00",backgroundColor:"dark"===e.palette.mode?r(a.amber,.92):r(a.amber,.72),border:"none",boxShadow:"none"}),"not this vacancy":e=>({color:a.white,backgroundColor:a.navy,border:"none",boxShadow:"none"}),"not-this-vacancy":e=>({color:a.white,backgroundColor:a.navy,border:"none",boxShadow:"none"}),default:e=>({color:e.palette.text.primary,backgroundColor:r(e.palette.text.secondary??"#000","dark"===e.palette.mode?.22:.12),border:"none",boxShadow:"none"})},n={default:{height:28,"& .MuiChip-label":{px:1.25}},small:{height:22,fontSize:"0.75rem","& .MuiChip-label":{px:.875}}},d=({status:r,label:a,chipSize:d="default",sx:l,...b})=>{const i=(e=>String(e??"default").trim().toLowerCase())(r),c=t[i]??t.default,m=n[d]??n.default;return e(o,{...b,label:a??r??"Unknown",size:"small",sx:e=>({borderRadius:999,fontWeight:500,letterSpacing:"0.01em",...m,...c(e),..."function"==typeof l?l(e):l})})};export{d as StatusChip};
@@ -0,0 +1 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{useThemeMode as t}from"./ThemeContext.mjs";import{Tooltip as r,IconButton as i}from"@mui/material";import m from"@mui/icons-material/LightMode";import e from"@mui/icons-material/DarkMode";const a=()=>{const{mode:a,toggleMode:l}=t();return o(r,{title:`Switch to ${"dark"===a?"light":"dark"} mode`,placement:"bottom",children:o(i,{onClick:l,size:"small",color:"warning","aria-label":`Switch to ${"dark"===a?"light":"dark"} mode`,children:o("dark"===a?m:e,{fontSize:"small"})})})};export{a as ThemeToggle};
@@ -0,0 +1 @@
1
+ import{jsx as t}from"react/jsx-runtime";import n from"@mui/material/GlobalStyles";import o from"../../assets/fonts/SageHeadline-Black.otf.mjs";import f from"../../assets/fonts/SageText-Bold.otf.mjs";import e from"../../assets/fonts/SageText-BoldItalic.otf.mjs";import a from"../../assets/fonts/SageText-Light.otf.mjs";import s from"../../assets/fonts/SageText-LightItalic.otf.mjs";import l from"../../assets/fonts/SageText-Medium.otf.mjs";import r from"../../assets/fonts/SageText-MediumItalic.otf.mjs";import m from"../../assets/fonts/SageText-Regular.otf.mjs";import i from"../../assets/fonts/SageText-RegularItalic.otf.mjs";import p from"../../assets/fonts/SageUI-Bold.otf.mjs";import y from"../../assets/fonts/SageUI-Medium.otf.mjs";import g from"../../assets/fonts/SageUI-Regular.otf.mjs";const c=()=>t(n,{styles:`\n @font-face {\n font-family: "Sage Headline";\n src: url("${o}") format("opentype");\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: "SageText";\n src: url("${a}") format("opentype");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${s}") format("opentype");\n font-weight: 300;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${m}") format("opentype");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${i}") format("opentype");\n font-weight: 400;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${l}") format("opentype");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${r}") format("opentype");\n font-weight: 500;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${f}") format("opentype");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${e}") format("opentype");\n font-weight: 700;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: "SageUI";\n src: url("${g}") format("opentype");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageUI";\n src: url("${y}") format("opentype");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageUI";\n src: url("${p}") format("opentype");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n `});export{c as default};
@@ -1 +1 @@
1
- import{jsx as r}from"react/jsx-runtime";import{Link as o}from"@mui/material";import{useTokens as e}from"../../theme/useTokens.mjs";const t=({openInNewTab:t=!1,children:n,sx:i,...a})=>{const m=e().text.blues;return r(o,{target:t?"_blank":void 0,rel:t?"noopener noreferrer":void 0,sx:[{color:m,textDecorationColor:m,"&:hover":{color:m,opacity:.8}},...Array.isArray(i)?i:i?[i]:[]],...a,children:n})};export{t as Link};
1
+ import{jsx as r}from"react/jsx-runtime";import{Link as o}from"@mui/material";import{useTokens as e}from"../Theme/useTokens.mjs";const t=({openInNewTab:t=!1,children:n,sx:i,...a})=>{const m=e().text.blues;return r(o,{target:t?"_blank":void 0,rel:t?"noopener noreferrer":void 0,sx:[{color:m,textDecorationColor:m,"&:hover":{color:m,opacity:.8}},...Array.isArray(i)?i:i?[i]:[]],...a,children:n})};export{t as Link};
@@ -1 +1 @@
1
- const o="2.6.4";export{o as SAGE_NEXUS_UI_VERSION};
1
+ const o="2.8.0";export{o as SAGE_NEXUS_UI_VERSION};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import react__default, { ReactNode, ReactElement, ComponentType, CSSProperties, PropsWithChildren } from 'react';
2
+ import react__default, { ReactNode, Ref, ReactElement, FormEventHandler, RefObject, ComponentType, CSSProperties, PropsWithChildren } from 'react';
3
3
  import { AlertProps, BoxProps, SxProps as SxProps$1, Theme as Theme$1, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, ToggleButtonGroupProps, SwitchProps, SliderProps, AccordionSummaryProps, ButtonProps, ChipProps, CardProps as CardProps$1, PaperProps, CircularProgressProps, CollapseProps, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormGroupProps, DialogProps, 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
4
  export { AlertProps, AlertTitle, BoxProps, ButtonBaseProps, CheckboxProps, ChipProps, CircularProgressProps, CollapseProps, ContainerProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogProps, DialogTitleProps, DividerProps, FormControlLabelProps, FormGroupProps, GridProps, MenuItem, PaperProps, SliderProps, StackProps, SwitchProps, TabProps, TableBodyProps, TableCellProps, TableHeadProps, TableProps, TableRowProps, TabsProps, TextFieldProps, Theme, alpha, useMediaQuery, useTheme } from '@mui/material';
5
5
  import { SxProps, Theme } from '@mui/material/styles';
@@ -129,7 +129,7 @@ interface TraceEvent {
129
129
  timestamp?: string;
130
130
  }
131
131
 
132
- interface NexusChatWidgetProps {
132
+ interface AgentChatWidgetProps {
133
133
  title?: string;
134
134
  subtitle?: string;
135
135
  fabLabel?: string;
@@ -156,7 +156,7 @@ interface NexusChatWidgetProps {
156
156
  /** Anchor corner for the floating widget and FAB. Defaults to 'bottom-right'. */
157
157
  placement?: "bottom-right" | "bottom-left";
158
158
  }
159
- declare function NexusChatWidget({ title, subtitle, fabLabel, avatarIcon, placeholder, emptyTitle, emptyDescription, dataSources, suggestedPrompts, isOpen, isTyping, messages, streamingText, liveTraceEvents, showActivity, onOpen, onClose, onSend, onStop, onExpandToFullPage, hideFab, placement, }: NexusChatWidgetProps): react.JSX.Element | null;
159
+ declare function AgentChatWidget({ title, subtitle, fabLabel, avatarIcon, placeholder, emptyTitle, emptyDescription, dataSources, suggestedPrompts, isOpen, isTyping, messages, streamingText, liveTraceEvents, showActivity, onOpen, onClose, onSend, onStop, onExpandToFullPage, hideFab, placement, }: AgentChatWidgetProps): react.JSX.Element | null;
160
160
 
161
161
  declare const Box: ({ children, ...rest }: BoxProps) => react.JSX.Element;
162
162
 
@@ -201,7 +201,7 @@ interface ChatHistoryProps {
201
201
  collapsedWidth?: number;
202
202
  }
203
203
 
204
- interface NexusChatDialogProps {
204
+ interface AgentChatDialogProps {
205
205
  open: boolean;
206
206
  onClose: () => void;
207
207
  title?: string;
@@ -234,7 +234,7 @@ interface NexusChatDialogProps {
234
234
  activeAgentId?: string | null;
235
235
  onSelectAgent?: (id: string) => void;
236
236
  }
237
- declare function NexusChatDialog({ open, onClose, title, subtitle, placeholder, suggestedPrompts, showAiChip, isTyping, messages, streamingText, liveTraceEvents, showActivity, onSend, onStop, onFeedback, followUpPrompts, followUpLabel, topOffset, conversations, activeConversationId, onSelectConversation, onDeleteConversation, onNewConversation, agents, activeAgentId, onSelectAgent, }: NexusChatDialogProps): react.JSX.Element;
237
+ declare function AgentChatDialog({ open, onClose, title, subtitle, placeholder, suggestedPrompts, showAiChip, isTyping, messages, streamingText, liveTraceEvents, showActivity, onSend, onStop, onFeedback, followUpPrompts, followUpLabel, topOffset, conversations, activeConversationId, onSelectConversation, onDeleteConversation, onNewConversation, agents, activeAgentId, onSelectAgent, }: AgentChatDialogProps): react.JSX.Element;
238
238
 
239
239
  interface FABButtonProps {
240
240
  onOpen: () => void;
@@ -638,8 +638,13 @@ interface ActionBarProps {
638
638
  homeHref?: string;
639
639
  showHome?: boolean;
640
640
  logo?: ReactNode;
641
+ mobileNavigation?: {
642
+ open: boolean;
643
+ onToggle: () => void;
644
+ buttonRef?: Ref<HTMLButtonElement>;
645
+ };
641
646
  }
642
- declare const ActionBar: ({ title, extraLeft, extraRight, homeHref, showHome, logo, }: ActionBarProps) => ReactElement;
647
+ declare const ActionBar: ({ title, extraLeft, extraRight, homeHref, showHome, logo, mobileNavigation, }: ActionBarProps) => ReactElement;
643
648
 
644
649
  interface AccordionGroupProps {
645
650
  children: ReactNode;
@@ -843,14 +848,32 @@ interface CheckboxGroupProps {
843
848
  }
844
849
  declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
845
850
 
846
- declare const Chip: (props: ChipProps) => react.JSX.Element;
847
-
848
851
  declare const Dialog: (props: DialogProps) => react.JSX.Element;
849
852
  declare const DialogTitle: (props: DialogTitleProps) => react.JSX.Element;
850
853
  declare const DialogContent: (props: DialogContentProps) => react.JSX.Element;
851
854
  declare const DialogActions: (props: DialogActionsProps) => react.JSX.Element;
852
855
  declare const DialogContentText: (props: DialogContentTextProps) => react.JSX.Element;
853
856
 
857
+ interface FormDialogProps extends Omit<DialogProps, "aria-labelledby" | "children" | "fullWidth" | "maxWidth" | "onClose" | "onSubmit" | "open" | "title"> {
858
+ actions?: ReactNode;
859
+ children: ReactNode;
860
+ closeDisabled?: boolean;
861
+ maxWidth?: DialogProps["maxWidth"];
862
+ onClose: () => void;
863
+ onSubmit: FormEventHandler<HTMLFormElement>;
864
+ open: boolean;
865
+ title: ReactNode;
866
+ }
867
+ /**
868
+ * Standard shell for create and edit forms displayed in a dialog.
869
+ *
870
+ * Form sections should be rendered in solid `Paper` components so content
871
+ * remains readable against the `GlassPaper` surface.
872
+ */
873
+ declare const FormDialog: ({ actions, children, closeDisabled, maxWidth, onClose, onSubmit, open, sx, title, ...dialogProps }: FormDialogProps) => react.JSX.Element;
874
+
875
+ declare const Chip: (props: ChipProps) => react.JSX.Element;
876
+
854
877
  declare const Divider: ({ children, ...rest }: DividerProps) => react.JSX.Element;
855
878
 
856
879
  declare const Table: (props: TableProps) => react.JSX.Element;
@@ -1111,6 +1134,9 @@ declare const SearchInput: react__default.FC<SearchInputProps>;
1111
1134
  interface SideBladeProps {
1112
1135
  open: boolean;
1113
1136
  onToggle: () => void;
1137
+ mobileOpen?: boolean;
1138
+ onMobileToggle?: () => void;
1139
+ mobileTriggerRef?: RefObject<HTMLButtonElement | null>;
1114
1140
  children?: ReactNode;
1115
1141
  collapsedContent?: ReactNode; /** Width of the blade when expanded (px). Default: 300 */
1116
1142
  expandedWidth?: number; /** Width of the blade when collapsed (px). Default: 64 */
@@ -1124,7 +1150,7 @@ interface SideBladeProps {
1124
1150
  * On mobile (< sm) it becomes a full temporary overlay drawer.
1125
1151
  * Content is fully customisable via `children`.
1126
1152
  */
1127
- declare const SideBlade: ({ open, onToggle, children, collapsedContent, expandedWidth, collapsedWidth, sx, headerActions, }: SideBladeProps) => react.JSX.Element;
1153
+ declare const SideBlade: ({ open, onToggle, mobileOpen, onMobileToggle, mobileTriggerRef, children, collapsedContent, expandedWidth, collapsedWidth, sx, headerActions, }: SideBladeProps) => react.JSX.Element;
1128
1154
 
1129
1155
  interface SideBladeNavItem {
1130
1156
  label: string;
@@ -1423,5 +1449,5 @@ declare const getGradientBorderStyles: (theme: Theme, options?: GradientBorderOp
1423
1449
  declare const leftPipe: SxProps<Theme>;
1424
1450
  declare const expandableText: (isExpanded: boolean) => SxProps<Theme>;
1425
1451
 
1426
- export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, Avatar, Body1, Body2, Box, Breadcrumbs, ButtonBase, ButtonTile, Caption, Card, ChatAvatar, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyableTableContainer, DateRangeFilter, DateRangePicker, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, EmptyState, FABButton, FaviconLinks, FormControlLabel, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusBarChart, NexusChatDialog, NexusChatWidget, NexusDataGrid, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusPieChart, NexusScatterChart, NexusiFrame, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SageLogoSvg, SearchInput, SecondaryButton, SecondaryButtonLink, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Tooltip, TypingIndicator, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, createSageTheme, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDate, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, latestTraceLabel, leftPipe, ragColorForDelta, useThemeMode, useTokens };
1427
- export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivitySummary, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, ButtonTileProps, CardProps, CardTrend, ChartAsyncProps, ChatAvatarProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, CodeBlock, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, EmptyStateProps, FABButtonProps, FileArtifact, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusBarChartProps, NexusChatDialogProps, NexusChatWidgetProps, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusPieChartProps, NexusScatterChartProps, NexusiFrameProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, SecondaryButtonLinkProps, SecondaryButtonProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SourceCitationsProps, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, TooltipProps, TraceEvent, TypingIndicatorProps };
1452
+ export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, AgentChatDialog, AgentChatWidget, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, Avatar, Body1, Body2, Box, Breadcrumbs, ButtonBase, ButtonTile, Caption, Card, ChatAvatar, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyableTableContainer, DateRangeFilter, DateRangePicker, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, Divider, EmptyState, FABButton, FaviconLinks, FormControlLabel, FormDialog, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusBarChart, NexusDataGrid, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusPieChart, NexusScatterChart, NexusiFrame, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, RagChip, RagDot, SageLogoSvg, SearchInput, SecondaryButton, SecondaryButtonLink, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Tooltip, TypingIndicator, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, createSageTheme, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDate, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, latestTraceLabel, leftPipe, ragColorForDelta, useThemeMode, useTokens };
1453
+ export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivitySummary, AgentChatDialogProps, AgentChatWidgetProps, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, ButtonTileProps, CardProps, CardTrend, ChartAsyncProps, ChatAvatarProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, CodeBlock, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, EmptyStateProps, FABButtonProps, FileArtifact, FormDialogProps, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusBarChartProps, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusPieChartProps, NexusScatterChartProps, NexusiFrameProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, SecondaryButtonLinkProps, SecondaryButtonProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SourceCitationsProps, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, 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{NexusChatWidget}from"./components/NexusChat/NexusChatWidget.mjs";export{NexusChatDialog}from"./components/NexusChat/NexusChatDialog.mjs";export{FABButton}from"./components/NexusChat/FABButton.mjs";export{AgentChatWindow}from"./components/NexusChat/AgentChatWindow.mjs";export{AgentChatWindowHeader}from"./components/NexusChat/AgentChatWindowHeader.mjs";export{ChatInput}from"./components/NexusChat/ChatInput.mjs";export{ChatHistory}from"./components/NexusChat/ChatHistory.mjs";export{ChatHistoryHeader}from"./components/NexusChat/ChatHistoryHeader.mjs";export{ChatHistoryButtonBase}from"./components/NexusChat/ChatHistoryButtonBase.mjs";export{ChatHistoryAgentItem}from"./components/NexusChat/ChatHistoryAgentItem.mjs";export{chatHistoryMatchesQuery,filterChatHistoryConversations}from"./components/NexusChat/ChatHistorySearch.mjs";export{CopyableTableContainer}from"./components/NexusChat/ChatComponents/CopyableTableContainer.mjs";export{default as ChatAvatar}from"./components/NexusChat/ChatComponents/ChatAvatar.mjs";export{default as MarkdownContent,chatWindowMarkdownComponents}from"./components/NexusChat/ChatComponents/MarkdownContent.mjs";export{default as MessageBubble}from"./components/NexusChat/ChatComponents/MessageBubble.mjs";export{default as MessageFeedbackBar}from"./components/NexusChat/ChatComponents/MessageFeedbackBar.mjs";export{default as StreamingBubble}from"./components/NexusChat/ChatComponents/StreamingBubble.mjs";export{default as TypingIndicator}from"./components/NexusChat/ChatComponents/TypingIndicator.mjs";export{default as SuggestedPrompts}from"./components/NexusChat/ChatComponents/SuggestedPrompts.mjs";export{default as MessageList}from"./components/NexusChat/ChatComponents/MessageList.mjs";export{default as EmptyState}from"./components/NexusChat/ChatComponents/EmptyState.mjs";export{default as SourceCitations}from"./components/NexusChat/ChatComponents/SourceCitations.mjs";export{latestTraceLabel}from"./components/NexusChat/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/_Primitives/Slider.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{Box}from"./components/_Primitives/Box.mjs";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{GhostButton}from"./components/Buttons/GhostButton.mjs";export{SelectableList}from"./components/Buttons/SelectableList.mjs";export{Card}from"./components/Card.mjs";export{Checkbox}from"./components/FormControls/Checkbox.mjs";export{FormControlLabel}from"./components/FormControls/FormControlLabel.mjs";export{FormGroup}from"./components/FormControls/FormGroup.mjs";export{CheckboxGroup}from"./components/FormControls/CheckboxGroup.mjs";export{Chip}from"./components/_Primitives/Chip.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/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{NexusiFrame}from"./components/NexusiFrame.mjs";export{NexusLineChart}from"./components/Charts/NexusLineChart.mjs";export{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.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"./theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./theme/tokens.mjs";export{useTokens}from"./theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./theme/MuiAppThemeProvider.mjs";export{NEXUS_THEME_STORAGE_KEY,ThemeModeContext,ThemeModeProvider,useThemeMode}from"./theme/ThemeContext.mjs";export{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./theme/sxHelpers.mjs";export{ChartsReferenceLine}from"./node_modules/@mui/x-charts/ChartsReferenceLine/ChartsReferenceLine.mjs";
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 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/_Primitives/Slider.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{Box}from"./components/_Primitives/Box.mjs";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{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{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{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.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{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./components/Theme/sxHelpers.mjs";export{ChartsReferenceLine}from"./node_modules/@mui/x-charts/ChartsReferenceLine/ChartsReferenceLine.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-data-nexus-ui-library",
3
- "version": "2.6.4",
3
+ "version": "2.8.0",
4
4
  "description": "Nexus core components",
5
5
  "license": "ISC",
6
6
  "author": "emsmart-sage",
@@ -1 +0,0 @@
1
- import{jsxs as i,jsx as e}from"react/jsx-runtime";import{Body1 as r}from"../../Typography.mjs";import{GhostButton as t}from"../../Buttons/GhostButton.mjs";import{Chip as o}from"../../_Primitives/Chip.mjs";import{CircularProgress as a}from"../../_Primitives/CircularProgress.mjs";import{Stack as s}from"../../_Primitives/Stack.mjs";import{colours as n}from"../../../theme/tokens.mjs";import m from"@mui/icons-material/CheckCircle";import l from"@mui/icons-material/ExpandMore";import c from"@mui/icons-material/ExpandLess";const d=({isStreaming:d,thinkingSteps:p,kbSearches:h,toolCalls:x,isExpanded:g,setIsExpanded:f})=>{const u=n.jadeLight;return i(t,{onClick:()=>f(i=>!i),"aria-expanded":g,"aria-label":g?"Collapse agent activity":"Expand agent activity",sx:{display:"flex",alignItems:"center",gap:1,width:"100%",minHeight:32,px:0,borderRadius:1,color:"text.secondary","&:hover":{color:"text.primary"}},children:[i(s,{direction:"row",spacing:1,sx:{alignItems:"center",flex:1,minWidth:0},children:[e(s,{direction:"row",spacing:1,sx:{alignItems:"center",color:d?"primary.main":"text.secondary"},children:d?e(a,{size:14,"aria-hidden":"true"}):e(m,{sx:{color:u,fontSize:16},"aria-hidden":"true"})}),e(r,{children:d?"Agent is working...":"Response generated"}),i(s,{direction:"row",spacing:.5,sx:{ml:"auto",pr:.5},children:[p>0&&e(o,{size:"small",label:`${p} thinking`}),h>0&&e(o,{size:"small",label:`${h} KB`}),x>0&&e(o,{size:"small",label:`${x} tools`})]})]}),e(g?c:l,{sx:{fontSize:14,color:"text.secondary"},"aria-hidden":"true"})]})};export{d as default};
@@ -1 +0,0 @@
1
- import{jsx as i,jsxs as e,Fragment as t}from"react/jsx-runtime";import{Box as r}from"../_Primitives/Box.mjs";import{Stack as o}from"../_Primitives/Stack.mjs";import{Caption as m}from"../Typography.mjs";import{Paper as n}from"../_Primitives/Paper.mjs";import{ChatInput as s}from"./ChatInput.mjs";import"react";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material";import"@mui/material/styles";import"../../theme/tokens.mjs";import"./ChatComponents/ChatAvatar.mjs";import"react-markdown";import"remark-gfm";import"../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import l from"./ChatComponents/SuggestedPrompts.mjs";import{AgentChatWindowHeader as a}from"./AgentChatWindowHeader.mjs";const p=({title:p="Nexus AI Chat",subtitle:c="Your intelligent assistant",showAiChip:d=!0,headerActions:u,body:h,followUpLabel:x="Suggested follow-ups:",followUpPrompts:f,onSelectFollowUp:y,onSend:b,inputDisabled:g=!1,inputPlaceholder:C="Ask me anything...",isStreaming:w=!1,onStop:A,inputActions:j,inputRef:S,inputLabel:k="Message",isEmpty:P=!1,inputSx:D,sx:v})=>{const I=Boolean(f&&f.length>0&&y),R=i(s,{onSend:b,disabled:g,placeholder:C,isStreaming:w,onStop:A,actions:j,inputRef:S,label:k});return e(r,{sx:[{display:"flex",flex:1,flexDirection:"column",minWidth:0,minHeight:0,height:"100%"},...Array.isArray(v)?v:v?[v]:[]],children:[i(a,{title:p,subtitle:c,showAiChip:d,actions:u}),P?e(n,{sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",px:2,pb:4},children:[h,i(r,{sx:[{mt:3,width:"100%"},...Array.isArray(D)?D:D?[D]:[]],children:R})]}):e(t,{children:[i(n,{sx:{borderRadius:0,border:"none",flex:1,display:"flex",flexDirection:"column",overflowY:"scroll"},children:h}),I&&e(o,{direction:{xs:"column",md:"row"},spacing:1,sx:{px:2,py:1,justifyContent:{xs:"center",sm:"flex-end"},alignItems:"center"},children:[i(m,{sx:{display:"block",mb:1},children:x}),i(l,{prompts:f??[],onSelect:y})]}),i(n,{sx:{borderRadius:0,border:"none"},children:i(r,{sx:[{p:2,flexShrink:0},...Array.isArray(D)?D:D?[D]:[]],children:R})})]})]})};export{p as AgentChatWindow};
@@ -1 +0,0 @@
1
- import{jsx as e,jsxs as i,Fragment as n}from"react/jsx-runtime";import{GlobalStyles as o,Box as t}from"@mui/material";import s from"@mui/icons-material/AutoAwesomeOutlined";import{colours as a,gradients as r}from"../../../theme/tokens.mjs";const l={sm:32,md:48,lg:64},d={sm:14,md:20,lg:26},m=r.aiConic,p="nexus-ai-icon-gradient",c=e(o,{styles:"\n @property --ai-angle {\n syntax: '<angle>';\n initial-value: 0deg;\n inherits: false;\n }\n @keyframes ai-spin {\n to { --ai-angle: 360deg; }\n }\n "}),f=()=>e(t,{component:"svg","aria-hidden":!0,width:0,height:0,sx:{position:"absolute"},children:e("defs",{children:i("linearGradient",{id:p,x1:"0%",y1:"0%",x2:"100%",y2:"100%",children:[e("stop",{offset:"0%",stopColor:a.brilliantGreen}),e("stop",{offset:"50%",stopColor:a.cyan}),e("stop",{offset:"100%",stopColor:a.blue})]})})}),u=({size:o="sm",icon:r,sx:u})=>{const x=l[o],g=d[o];return i(n,{children:[c,!r&&e(f,{}),i(t,{sx:[{position:"relative",isolation:"isolate",width:x,height:x,flexShrink:0,display:"inline-flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"transparent",boxShadow:`0 0 8px 0 ${a.cyan}73`},...Array.isArray(u)?u:u?[u]:[]],children:[e(t,{component:"span",sx:{position:"absolute",inset:0,borderRadius:"50%",background:m,padding:"1.5px",WebkitMask:"linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0)",WebkitMaskComposite:"xor",maskComposite:"exclude",animation:"ai-spin 3s linear infinite","@media (prefers-reduced-motion: reduce)":{animation:"none"}}}),e(t,{component:"span",sx:{position:"relative",display:"inline-flex"},children:r??e(s,{sx:{fontSize:g,fill:`url(#${p})`}})})]})]})};export{u as default};
@@ -1 +0,0 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as r}from"react";import t from"@mui/icons-material/ExpandMore";import n from"@mui/icons-material/ExpandLess";import i from"@mui/icons-material/Download";import a from"../AgentActivity/AgentActivity.mjs";import{Box as l}from"../../_Primitives/Box.mjs";import{Stack as c}from"../../_Primitives/Stack.mjs";import{GhostButton as s}from"../../Buttons/GhostButton.mjs";import{SecondaryButton as m}from"../../Buttons/SecondaryButton.mjs";import d from"./MarkdownContent.mjs";import p from"./MessageFeedbackBar.mjs";import{ChatWindowBody as f}from"../../Typography.mjs";import{colours as h}from"../../../theme/tokens.mjs";const g=({block:i})=>{const[a,c]=r(!1),m=i.language?.trim()||"text",d=i.content||"";if(!d.trim())return null;const p=Boolean(i.title);return o(l,{sx:{border:"1px solid",borderColor:"divider",borderRadius:1.5,overflow:"hidden",mb:1,"&:last-child":{mb:0}},children:[p&&o(s,{onClick:()=>c(e=>!e),"aria-expanded":a,sx:{display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",px:1.5,py:.75,bgcolor:"action.hover",borderBottom:a?"1px solid":"none",borderColor:"divider"},children:[e(l,{component:"span",sx:{fontSize:"0.8rem",fontWeight:600,color:"text.secondary"},children:i.title}),e(l,{component:"span","aria-hidden":"true",sx:{display:"inline-flex",alignItems:"center",color:"text.secondary"},children:e(a?n:t,{sx:{fontSize:16}})})]}),(!p||a)&&e(l,{component:"pre",sx:{m:0,p:1.5,overflowX:"auto",whiteSpace:"pre-wrap",wordBreak:"break-word",fontSize:"0.8125rem",fontFamily:'"SFMono-Regular", "Consolas", "Liberation Mono", "Menlo", monospace',lineHeight:1.5,bgcolor:"action.hover"},children:e(l,{component:"code",className:`language-${m}`,children:d})})]})},u=({file:o,onDownloadFile:t})=>{const[n,a]=r(!1);return e(m,{size:"small",startIcon:e(i,{}),onClick:async()=>{if(t){a(!0);try{await t(o)}finally{a(!1)}}},disabled:n||!t,children:n?"Preparing…":o.downloadLabel||o.displayName||"Download file"})},x=(o,r)=>{const t=r?.trim();if(!t)return o;const n=new RegExp(`(${(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(t)})`,"ig");return o.split(n).map((o,r)=>{if(!o)return null;return o.toLowerCase()===t.toLowerCase()?e(l,{component:"mark",sx:{backgroundColor:e=>"dark"===e.palette.mode?"rgba(255, 214, 10, 0.35)":"rgba(255, 214, 10, 0.45)",color:"inherit",borderRadius:.5,px:.25,py:0},children:o},`${o}-${r}`):o})},y=({message:r,highlightQuery:t,showActivity:n=!1,onFeedback:i,onDownloadFile:s,contentRenderer:m,markdownComponents:y,compact:b=!1})=>{const w="user"===r.role,k=!w&&r.codeBlocks&&r.codeBlocks.length>0,v=!w&&r.files&&r.files.length>0;return e(l,{sx:{display:"flex",justifyContent:w?"flex-end":"flex-start"},children:o(l,{sx:{display:"flex",flexDirection:"column",gap:1,minWidth:0,...w?{}:{flex:1}},children:[!w&&n&&r.traceEvents&&r.traceEvents.length>0&&e(a,{isStreaming:!1,traceEvents:r.traceEvents,latency:r.latency,activitySummary:r.activitySummary,compact:!0}),o(l,{sx:{borderRadius:w?"1rem 0.25rem 1rem 1rem":"0.25rem 1rem 1rem 1rem",px:1.75,py:1.25,bgcolor:w?h.jadeLight:"background.default",color:w?h.black:"text.primary",border:"none"},children:[k&&e(c,{spacing:0,sx:{mb:1.5},children:r.codeBlocks.map((o,r)=>e(g,{block:o},r))}),w?e(f,{sx:{whiteSpace:"pre-wrap",fontSize:b?"0.875rem":void 0},children:x(r.content,t)}):e("div",{className:"message-content",children:m?m(r.content):e(d,{content:r.content,highlightQuery:t,compact:b,components:y})}),v&&e(c,{direction:"row",spacing:1,sx:{mt:1.5,flexWrap:"wrap"},children:r.files.map((o,r)=>e(u,{file:o,onDownloadFile:s},`${o.bucket}-${o.key}-${r}`))})]}),!w&&i&&e(p,{message:r,onFeedback:i})]})})};export{y as default};
@@ -1 +0,0 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useRef as r,useEffect as o}from"react";import{Box as n}from"../../_Primitives/Box.mjs";import i from"./MessageBubble.mjs";import c from"./StreamingBubble.mjs";import l from"./TypingIndicator.mjs";import{latestTraceLabel as s}from"./latestTraceLabel.mjs";const m=({messages:m,isTyping:a,streamingText:u,liveTraceEvents:g,highlightQuery:h,onAbort:p,showActivity:f=!1,compact:b=!1,markdownComponents:d,onFeedback:x})=>{const y=r(null),v=r(null),T=r(!1),j=r(m.length),w=r(!1),A=()=>{const t=v.current;t&&(w.current=!0,t.scrollTop=t.scrollHeight,requestAnimationFrame(()=>{w.current=!1}))};o(()=>{const t=m[m.length-1];m.length>j.current&&"user"===t?.role&&(T.current=!1,A()),j.current=m.length},[m]),o(()=>{T.current||A()},[a,u]);const k=(u||"").trim().length>0,H=a&&(k||f),B=a&&!H;return t(n,{ref:v,onScroll:()=>{w.current||(T.current=!(()=>{const t=v.current;return!t||t.scrollHeight-t.scrollTop-t.clientHeight<80})())},sx:{flex:1,minHeight:0,overflowY:"auto",display:"flex",flexDirection:"column",gap:1.5,px:2,py:1.5},children:[m.filter(t=>"user"===t.role||t.content).map(t=>e(i,{message:t,highlightQuery:h,showActivity:f,compact:b,markdownComponents:d,onFeedback:x},t.id)),H&&e(c,{text:u||"",traceEvents:g||[],highlightQuery:h,onAbort:p,showActivity:f,compact:b}),B&&e(l,{traceLabel:g&&g.length>0?s(g):void 0}),e(n,{ref:y})]})};export{m as default};
@@ -1 +0,0 @@
1
- import{jsxs as r,jsx as e}from"react/jsx-runtime";import{Box as i}from"../../_Primitives/Box.mjs";import{Stack as t}from"../../_Primitives/Stack.mjs";import{Body2 as o}from"../../Typography.mjs";import{useTheme as a}from"@mui/material/styles";import{colours as n}from"../../../theme/tokens.mjs";const m=({traceLabel:m,avatarIcon:s})=>{const c="dark"===a().palette.mode?n.jadeLight:n.jadeDark;return r(t,{direction:"row",spacing:1,sx:{alignItems:"flex-start"},children:[s&&e(i,{sx:{mt:.25,flexShrink:0},children:s}),e(i,{sx:{borderRadius:"1rem 1rem 1rem 0.25rem",border:"1px solid",borderColor:"divider",bgcolor:"background.default",px:1.75,py:1.25},children:r(t,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e(o,{sx:{color:"text.primary",fontWeight:600,opacity:1},children:m?`Agent is working... ${m}`:"Agent is working..."}),e(t,{direction:"row",spacing:.5,children:[0,150,300].map(r=>e(i,{component:"span",sx:{width:6,height:6,borderRadius:"50%",bgcolor:c,animation:"bounce 1s ease-in-out infinite",animationDelay:`${r}ms`,"@keyframes bounce":{"0%, 80%, 100%":{opacity:.35,transform:"translateY(0)"},"40%":{opacity:1,transform:"translateY(-1px)"}}}},r))})]})})]})};export{m as default};
@@ -1 +0,0 @@
1
- import{jsxs as e,jsx as r}from"react/jsx-runtime";import t from"@mui/icons-material/ChatBubbleOutlined";import o from"@mui/icons-material/DeleteForeverOutlined";import{Tooltip as i}from"@mui/material";import{Body1 as n,Caption as a}from"../Typography.mjs";import{GhostButton as s}from"../Buttons/GhostButton.mjs";import{Box as l}from"../_Primitives/Box.mjs";import{IconButton as m}from"../Buttons/IconButton.mjs";import{colours as p}from"../../theme/tokens.mjs";const d=(e,t)=>{const o=t?.trim();if(!o)return e;const i=new RegExp(`(${(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(o)})`,"ig");return e.split(i).map((e,t)=>{if(!e)return null;return e.toLowerCase()===o.toLowerCase()?r(l,{component:"mark",sx:{backgroundColor:e=>"dark"===e.palette.mode?"rgba(255, 214, 10, 0.35)":"rgba(255, 214, 10, 0.45)",color:"inherit",borderRadius:.5,px:.25,py:0},children:e},`${e}-${t}`):e})},c=({conversation:c,isActive:u,highlightQuery:b,onSelectConversation:h,onDeleteConversation:g,deleteConversationTitle:x,formatMessageCount:f,showMessageCount:v=!1,sx:y})=>{const C=(e=>"number"==typeof e.messageCount?e.messageCount:Array.isArray(e.messages)?e.messages.length:0)(c);return e(l,{sx:[{position:"relative",mb:.5,"&:hover .delete-button":{visibility:"visible"}},...Array.isArray(y)?y:y?[y]:[]],children:[r(i,{title:c.agentName??"",placement:"right",disableInteractive:!0,children:r("span",{children:e(s,{onClick:()=>h(c.id),sx:{width:"100%",display:"flex",alignItems:"center",gap:1.25,borderRadius:1,px:1.5,py:.75,pr:4.5,backgroundColor:u?e=>e.palette.background.paper:"transparent",backgroundImage:"none",opacity:1,border:"1px solid",borderColor:u?p.primaryGreenActive:"transparent","&:hover":{backgroundColor:u?e=>e.palette.background.paper:"action.hover",backgroundImage:"none"},"&:focus-visible":{boxShadow:e=>`0 0 0 2px ${e.palette.primary.main}`}},children:[r(t,{sx:{fontSize:14,color:u?p.primaryGreenActive:"text.disabled"}}),e(l,{sx:{flex:1,minWidth:0},children:[r(n,{component:"span",sx:{display:"block",fontWeight:500,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:u?"text.primary":"text.secondary"},children:d(c.title,b)}),v&&r(a,{noWrap:!0,sx:{display:"block"},children:f(C)})]})]})})}),r(l,{sx:{position:"absolute",right:8,top:"50%",transform:"translateY(-50%)"},children:r(m,{className:"delete-button",title:x,ariaLabel:x,onClick:e=>{e.stopPropagation(),g&&Promise.resolve(g(c.id))},disabled:!g,sx:{visibility:"hidden"},children:r(o,{sx:{fontSize:14,color:u?"error.main":"text.disabled"}})})})]})};export{c as ChatHistoryButtonBase};
@@ -1 +0,0 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useId as o,useState as i}from"react";import r from"@mui/icons-material/Send";import l from"@mui/icons-material/Stop";import{Box as n}from"../_Primitives/Box.mjs";import{IconButton as a}from"../Buttons/IconButton.mjs";import{Paper as s}from"../_Primitives/Paper.mjs";import{TextField as m}from"../_Primitives/TextField.mjs";import{colours as d}from"../../theme/tokens.mjs";const p=({onSend:p,disabled:c=!1,placeholder:u="Ask about campaigns, performance…",maxRows:f=5,sendButtonTitle:h="Send message",isStreaming:b=!1,onStop:x,stopButtonTitle:g="Stop generating",actions:v,value:S,onChange:y,inputRef:j,label:k="Message"})=>{const w=o(),[z,B]=i(""),R=void 0!==S,I=R?S:z,P=e=>{R?y?.(e):B(e)},C=d.jadeLight,T=d.black,D=()=>{const e=I.trim();e&&!c&&(p(e),P(""))};return e(n,{component:"form",onSubmit:e=>{e.preventDefault(),b||D()},sx:{display:"flex",alignItems:"center",gap:1},children:[t("label",{htmlFor:w,style:{position:"absolute",width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0},children:k}),e(s,{variant:"outlined",sx:{display:"flex",flex:1,alignItems:"center",gap:1,px:1.5,py:.75,borderRadius:2,borderColor:"text.jades"},children:[t(m,{variant:"standard",fullWidth:!0,multiline:!0,minRows:1,maxRows:f,value:I,onChange:e=>P(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),b||D())},placeholder:u,disabled:c,inputRef:j,slotProps:{htmlInput:{id:w,"aria-label":u},input:{disableUnderline:!0}},sx:{"& .MuiInputBase-input":{p:.5,fontSize:"0.875rem",color:"text.primary",resize:"none","&::placeholder":{color:"text.disabled",opacity:1}}}}),v,t(a,b&&x?{type:"button",title:g,onClick:x,variant:"filled",size:"small",sx:{flexShrink:0,bgcolor:"error.main",color:"error.contrastText","&:hover":{bgcolor:"error.dark"}},children:t(l,{sx:{fontSize:13}})}:{type:"submit",title:h,disabled:!I.trim()||c,variant:"filled",size:"small",sx:{flexShrink:0,bgcolor:C,color:T,"&:hover":{bgcolor:d.jade},"&.Mui-disabled":{bgcolor:C,color:T,opacity:.4}},children:t(r,{sx:{fontSize:13}})})]})]})};export{p as ChatInput};
@@ -1 +0,0 @@
1
- import{jsxs as o,jsx as e,Fragment as t}from"react/jsx-runtime";import{useState as i}from"react";import{useTheme as n,useMediaQuery as r,Popover as s}from"@mui/material";import l from"@mui/icons-material/CloseFullscreen";import a from"@mui/icons-material/GridView";import m from"@mui/icons-material/History";import{AgentChatWindow as p}from"./AgentChatWindow.mjs";import{ChatHistory as c}from"./ChatHistory.mjs";import{Dialog as d}from"../_Primitives/Dialog.mjs";import{Box as h}from"../_Primitives/Box.mjs";import{Stack as C}from"../_Primitives/Stack.mjs";import{IconButton as g}from"../Buttons/IconButton.mjs";import{AiChip as u}from"../AiChip.mjs";import{H1 as f,H2 as v}from"../Typography.mjs";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material/styles";import"../../theme/tokens.mjs";import"./ChatComponents/ChatAvatar.mjs";import{chatWindowMarkdownComponents as x}from"./ChatComponents/MarkdownContent.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"../Code.mjs";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import w from"./ChatComponents/SuggestedPrompts.mjs";import S from"./ChatComponents/MessageList.mjs";function b({open:b,onClose:y,title:j="Ask Nexus",subtitle:k="Ready to help",placeholder:A,suggestedPrompts:I=[],showAiChip:T=!0,isTyping:z,messages:P,streamingText:D,liveTraceEvents:E,showActivity:O=!1,onSend:U,onStop:L,onFeedback:N,followUpPrompts:B,followUpLabel:F="Suggested follow-ups:",topOffset:M,conversations:_,activeConversationId:H,onSelectConversation:W,onDeleteConversation:X,onNewConversation:$,agents:G,activeAgentId:R,onSelectAgent:V}){const q=n(),J=r(q.breakpoints.down("md")),[K,Q]=i(!1),[Y,Z]=i(!1),[oo,eo]=i(null),to=P.length>0||z,io=void 0!==_,no=M?`calc(100vh - ${M}px)`:"100vh",ro=o(C,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[T&&e(u,{}),io&&J&&e(g,{title:"Chat history",size:"small",onClick:()=>Q(o=>!o),children:e(m,{sx:{fontSize:18}})}),e(g,{title:"Close full view",size:"small",onClick:y,children:e(l,{sx:{fontSize:16}})})]}),so=to?e(S,{messages:P,isTyping:z,streamingText:D,liveTraceEvents:E,showActivity:O,markdownComponents:x,onFeedback:N}):o(C,{direction:"column",sx:{gap:4,alignItems:"center"},children:[e(f,{children:j}),e(v,{sx:{color:"text.secondary"},children:k})]}),lo=!to&&I.length>0?o(t,{children:[e(g,{title:"Open prompt gallery",ariaLabel:"Open prompt gallery",size:"small",sx:{color:"text.jades"},onClick:o=>eo(o.currentTarget),children:e(a,{sx:{fontSize:18}})}),e(s,{open:Boolean(oo),anchorEl:oo,onClose:()=>eo(null),anchorOrigin:{vertical:"top",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"left"},children:e(h,{sx:{p:2,maxWidth:360},children:e(w,{prompts:I,onSelect:o=>{eo(null),U(o)}})})})]}):void 0;return o(d,{open:b,fullScreen:!0,onClose:y,sx:M?{top:`${M}px`}:void 0,children:[o(h,{sx:{display:"flex",height:no,overflow:"hidden"},children:[io&&e(h,{sx:{display:{xs:"none",md:"flex"},flexShrink:0},children:e(c,{conversations:_,activeConversationId:H??null,onSelectConversation:W??(()=>{}),onDeleteConversation:X,onNewConversation:$,agents:G,activeAgentId:R,onSelectAgent:V,isCollapsed:Y,onToggleCollapse:()=>Z(o=>!o)})}),e(p,{title:j,subtitle:k,showAiChip:!1,headerActions:ro,isEmpty:!to,body:so,followUpPrompts:B,onSelectFollowUp:U,followUpLabel:F,onSend:U,isStreaming:z,onStop:L,inputPlaceholder:A,inputActions:lo})]}),io&&J&&o(t,{children:[K&&e(h,{onClick:()=>Q(!1),sx:{position:"absolute",inset:0,zIndex:9,bgcolor:"rgba(0,0,0,0.45)"}}),e(h,{sx:{position:"absolute",top:0,left:0,bottom:0,width:288,zIndex:10,bgcolor:"background.paper",boxShadow:4,display:"flex",flexDirection:"column",overflow:"hidden",transform:K?"translateX(0)":"translateX(-100%)",transition:"transform 0.25s ease"},children:e(c,{conversations:_,activeConversationId:H??null,onSelectConversation:o=>{W?.(o),Q(!1)},onDeleteConversation:X,onNewConversation:$?()=>{$(),Q(!1)}:void 0,agents:G,activeAgentId:R,onSelectAgent:V,onClose:()=>Q(!1)})})]})]})}export{b as NexusChatDialog};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import{Box as i}from"../../_Primitives/Box.mjs";import"react";import"@mui/icons-material/Check";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/Download";import"@mui/material";import"@mui/material/styles";import"../../../theme/tokens.mjs";import"../ChatComponents/ChatAvatar.mjs";import"react-markdown";import"remark-gfm";import"../../Typography.mjs";import"../../Code.mjs";import"@mui/icons-material/ExpandMore";import"@mui/icons-material/ExpandLess";import"@mui/icons-material/CheckCircle";import"@mui/icons-material/OpenInNew";import"@mui/icons-material/ThumbUp";import"@mui/icons-material/ThumbDown";import m from"../ChatComponents/MessageList.mjs";import e from"../ChatComponents/EmptyState.mjs";const o=({avatarIcon:o,isTyping:r,liveTraceEvents:a,messages:s,showActivity:n,streamingText:p,emptyTitle:c,emptyDescription:l,dataSources:u,suggestedPrompts:h,onSend:d})=>{const g=s.length>0||r;return t(i,{sx:{flex:"1 1 0",minHeight:0,display:"flex",flexDirection:"column",overflow:"hidden"},children:g?t(m,{messages:s,isTyping:r,streamingText:p,liveTraceEvents:a,avatarIcon:o,showActivity:n,compact:!0}):t(e,{title:c,description:l,dataSources:u,prompts:h.slice(0,4),avatarIcon:o,onSelect:d})})};export{o as default};
@@ -1 +0,0 @@
1
- import{jsx as o}from"react/jsx-runtime";import{useThemeMode as t}from"../theme/ThemeContext.mjs";import{Tooltip as r,IconButton as e}from"@mui/material";import i from"@mui/icons-material/LightMode";import m from"@mui/icons-material/DarkMode";const a=()=>{const{mode:a,toggleMode:l}=t();return o(r,{title:`Switch to ${"dark"===a?"light":"dark"} mode`,placement:"bottom",children:o(e,{onClick:l,size:"small",color:"warning","aria-label":`Switch to ${"dark"===a?"light":"dark"} mode`,children:o("dark"===a?i:m,{fontSize:"small"})})})};export{a as ThemeToggle};
@@ -1 +0,0 @@
1
- import{jsx as t}from"react/jsx-runtime";import n from"@mui/material/GlobalStyles";import o from"../assets/fonts/SageHeadline-Black.otf.mjs";import f from"../assets/fonts/SageText-Bold.otf.mjs";import e from"../assets/fonts/SageText-BoldItalic.otf.mjs";import a from"../assets/fonts/SageText-Light.otf.mjs";import s from"../assets/fonts/SageText-LightItalic.otf.mjs";import l from"../assets/fonts/SageText-Medium.otf.mjs";import r from"../assets/fonts/SageText-MediumItalic.otf.mjs";import m from"../assets/fonts/SageText-Regular.otf.mjs";import i from"../assets/fonts/SageText-RegularItalic.otf.mjs";import p from"../assets/fonts/SageUI-Bold.otf.mjs";import y from"../assets/fonts/SageUI-Medium.otf.mjs";import g from"../assets/fonts/SageUI-Regular.otf.mjs";const c=()=>t(n,{styles:`\n @font-face {\n font-family: "Sage Headline";\n src: url("${o}") format("opentype");\n font-weight: 900;\n font-style: normal;\n font-display: swap;\n }\n\n @font-face {\n font-family: "SageText";\n src: url("${a}") format("opentype");\n font-weight: 300;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${s}") format("opentype");\n font-weight: 300;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${m}") format("opentype");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${i}") format("opentype");\n font-weight: 400;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${l}") format("opentype");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${r}") format("opentype");\n font-weight: 500;\n font-style: italic;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${f}") format("opentype");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageText";\n src: url("${e}") format("opentype");\n font-weight: 700;\n font-style: italic;\n font-display: swap;\n }\n\n @font-face {\n font-family: "SageUI";\n src: url("${g}") format("opentype");\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageUI";\n src: url("${y}") format("opentype");\n font-weight: 500;\n font-style: normal;\n font-display: swap;\n }\n @font-face {\n font-family: "SageUI";\n src: url("${p}") format("opentype");\n font-weight: 700;\n font-style: normal;\n font-display: swap;\n }\n `});export{c as default};
File without changes
File without changes
File without changes
File without changes