it-data-nexus-ui-library 2.10.1 → 2.10.3

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.
@@ -0,0 +1 @@
1
+ const e=1e3,t=/^[a-z][a-z0-9-]{1,31}$/,s=/^[a-zA-Z][a-zA-Z0-9]{0,31}$/,n=/^\d+\.\d+\.\d+$/,i=/[a-z][a-z0-9+.-]*:\/\/|www\.|\b(?:mailto|data|javascript|vbscript|file|tel|sms):/i,r=["schemaVersion","chartType","title","description","config","data"],a=["valueFormat","xAxis","yAxis"],o=["chartType","version","description","dataItem","configKeys","limits","example","component","lazy"],m=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),u=(e,t)=>Object.keys(e).filter(e=>!t.includes(e)),p=(e,t,s)=>{if("number"===t.type)return"number"==typeof s&&Number.isFinite(s)?void 0!==t.minimum&&s<t.minimum?[`${e} must be >= ${t.minimum}`]:[]:[`${e} must be a finite number`];if("string"!=typeof s||""===s.trim())return[`${e} must be a non-blank string`];const n=[];return void 0!==t.maxLength&&s.length>t.maxLength&&n.push(`${e} must be at most ${t.maxLength} characters`),t.enum&&!t.enum.includes(s)&&n.push(`${e} must be one of ${t.enum.join(", ")}`),void 0===t.pattern||new RegExp(t.pattern).test(s)||n.push(`${e} must match ${t.pattern}`),"iso-date"===t.format&&Number.isNaN(new Date(s.trim()).getTime())&&n.push(`${e} must be a parseable date`),n},c=(e,t)=>{if(!m(t))return{valid:!1,errors:["item must be an object"]};const{properties:s,required:n}=e.dataItem,i=u(t,Object.keys(s)).map(e=>`unknown field ${e}`);for(const e of n)Object.hasOwn(t,e)||i.push(`missing required field ${e}`);for(const[e,n]of Object.entries(s))Object.hasOwn(t,e)&&i.push(...p(e,n,t[e]));return{valid:0===i.length,errors:i}},l=(e,t)=>{if(!m(t))return[`${e} must be an object`];if("number"===t.type){const s=u(t,["type","minimum"]).map(t=>`${e}.${t} is not allowed`);return void 0===t.minimum||Number.isFinite(t.minimum)||s.push(`${e}.minimum must be finite`),s}if("string"!==t.type)return[`${e}.type must be string or number`];const s=u(t,["type","maxLength","enum","pattern","format"]).map(t=>`${e}.${t} is not allowed`),{maxLength:n,enum:i,pattern:r,format:a}=t;if(void 0===n||Number.isInteger(n)&&n>0||s.push(`${e}.maxLength must be a positive integer`),void 0===i||Array.isArray(i)&&i.length>0&&i.every(e=>"string"==typeof e)||s.push(`${e}.enum must be a non-empty string array`),void 0!==r)try{if("string"!=typeof r)throw new TypeError;new RegExp(r)}catch{s.push(`${e}.pattern must be a valid regular expression`)}return void 0!==a&&"iso-date"!==a&&s.push(`${e}.format must be iso-date`),s},h=(e,t,n=[])=>{if(!m(t))return[`${e} must be an object`];const i=Object.keys(t),r=i.length>8?[`${e} has more than 8 fields`]:[];for(const a of i)s.test(a)||r.push(`${e}.${a} has an invalid name`),n.includes(a)&&r.push(`${e}.${a} is a shared envelope config key`),r.push(...l(`${e}.${a}`,t[a]));return r},d=s=>{if(!m(s))return{valid:!1,errors:["definition must be an object"]};const l=u(s,o).map(e=>`${e} is not allowed`),{chartType:d,version:f,description:b,dataItem:y,configKeys:g,limits:$,example:x,lazy:v}=s;"string"==typeof d&&t.test(d)||l.push(`chartType must match ${t}`),"string"==typeof f&&n.test(f)||l.push("version must be semver x.y.z"),"string"!=typeof b||""===b.trim()?l.push("description must be a non-blank string"):(b.length>300&&l.push("description must be at most 300 characters"),i.test(b)&&l.push("description must not contain URLs"),(b.includes("`")||b.includes("~~~"))&&l.push("description must not contain backticks or code fences"));let w=!1;if(m(y)){const e=l.length;l.push(...u(y,["properties","required"]).map(e=>`dataItem.${e} is not allowed`)),l.push(...h("dataItem.properties",y.properties));const{required:t,properties:s}=y;Array.isArray(t)&&t.every(e=>m(s)&&Object.hasOwn(s,e))?new Set(t).size!==t.length&&l.push("dataItem.required must not repeat a field"):l.push("dataItem.required must list declared properties"),w=l.length===e}else l.push("dataItem must be an object");void 0!==g&&l.push(...h("configKeys",g,a));let j=e;if(void 0!==$&&(!m($)||u($,["maxPoints"]).length>0?l.push("limits may only contain maxPoints"):void 0!==$.maxPoints&&(!Number.isInteger($.maxPoints)||$.maxPoints<1||$.maxPoints>e?l.push("limits.maxPoints must be an integer from 1 to 1000"):j=$.maxPoints)),void 0!==v&&"function"!=typeof v&&l.push("lazy must be a function"),m(x)){l.push(...u(x,r).map(e=>`example.${e} is not allowed`)),"1.0"!==x.schemaVersion&&l.push('example.schemaVersion must be "1.0"'),x.chartType!==d&&l.push("example.chartType must equal chartType"),"string"==typeof x.title&&""!==x.title.trim()||l.push("example.title is required");const e=x.config;if(m(e)&&["number","currency","percentage"].includes(e.valueFormat))if(m(g))for(const[t,s]of Object.entries(e)){if(a.includes(t))continue;const e=g[t];void 0===e?l.push(`example.config.${t} is not a declared config key`):l.push(...p(`example.config.${t}`,e,s))}else u(e,a).length>0&&l.push("example.config has undeclared config keys");else l.push("example.config.valueFormat must be number, currency or percentage");const t=x.data;!Array.isArray(t)||0===t.length||t.length>j?l.push(`example.data must hold 1 to ${j} items`):w&&t.forEach((e,t)=>{const n=c(s,e);l.push(...n.errors.map(e=>`example.data[${t}]: ${e}`))})}else l.push("example must be a nexus-chart envelope object");return{valid:0===l.length,errors:l}};export{e as MAX_CHART_POINTS,d as validateChartDefinition,c as validateChartItem};
@@ -0,0 +1 @@
1
+ import{NexusBarChart as e}from"../components/Charts/NexusBarChart.mjs";import{NexusLineChart as t}from"../components/Charts/NexusLineChart.mjs";import{NexusPieChart as a}from"../components/Charts/NexusPieChart.mjs";const r=[{chartType:"pie",version:"1.0.0",description:"Show how a whole splits into parts, such as share by segment. Use for a few non-negative values that together make up a meaningful total. Prefer bar when there are many categories or the values do not form a whole.",dataItem:{properties:{label:{type:"string",maxLength:200},value:{type:"number",minimum:0}},required:["label","value"]},limits:{maxPoints:1e3},example:{schemaVersion:"1.0",chartType:"pie",title:"Share by segment",description:"Current distribution",config:{valueFormat:"percentage"},data:[{label:"Enterprise",value:62}]},component:a},{chartType:"bar",version:"1.0.0",description:"Compare one value across named categories, such as pipeline by stage or revenue by region. Values may be negative.",dataItem:{properties:{category:{type:"string",maxLength:200},value:{type:"number"}},required:["category","value"]},limits:{maxPoints:1e3},example:{schemaVersion:"1.0",chartType:"bar",title:"Pipeline by stage",description:"Open opportunity value",config:{valueFormat:"currency"},data:[{category:"Qualify",value:125e3}]},component:e},{chartType:"line",version:"1.0.0",description:"Show how one value changes over time, such as a monthly trend. Give each point a date, preferably YYYY-MM-DD, and order the points by date.",dataItem:{properties:{date:{type:"string",maxLength:64,format:"iso-date"},value:{type:"number"}},required:["date","value"]},limits:{maxPoints:1e3},example:{schemaVersion:"1.0",chartType:"line",title:"Monthly trend",description:"Revenue over time",config:{valueFormat:"currency"},data:[{date:"2026-08-01",value:42}]},component:t}];export{r as chartDefinitions};
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import{useTheme as a}from"@mui/material/styles";import{colours as t}from"../Theme/tokens.mjs";import{NexusBarChart as r}from"./NexusBarChart.mjs";function l({stages:l,height:o=300,valueFormatter:n=e=>e.toLocaleString(),convertedLabel:d="Converted",droppedLabel:m="Dropped",...i}){const u=a(),s=l.map((e,a)=>{const t=0===a?e.value:l[a-1].value;return{label:e.label,converted:e.value,dropped:Math.max(0,t-e.value),rate:(r=e.value,o=t,o>0?Math.round(r/o*100):0)};var r,o});return e(r,{...i,dataset:s,layout:"horizontal",height:o,gradientColors:[u.palette.primary.main,t.terra],yAxis:[{dataKey:"label",scaleType:"band",width:130,valueFormatter:(e,a)=>{const t=s.find(a=>a.label===e);return"tick"===a.location&&t&&t!==s[0]?`${e} · ${t.rate}%`:e}}],xAxis:[{valueFormatter:n}],series:[{dataKey:"converted",label:d,stack:"funnel",valueFormatter:(e,{dataIndex:a})=>0===a?n(e??0):`${n(e??0)} (${s[a].rate}%)`},{dataKey:"dropped",label:m,stack:"funnel",valueFormatter:(e,{dataIndex:a})=>0===a?null:`${n(e??0)} (${100-s[a].rate}%)`}]})}export{l as NexusFunnelChart};
@@ -0,0 +1 @@
1
+ import{jsxs as r,jsx as e,Fragment as i}from"react/jsx-runtime";import{alpha as o}from"@mui/material/styles";import a from"@mui/icons-material/ArrowDownwardRounded";import n from"@mui/icons-material/ArrowForwardRounded";import t from"@mui/icons-material/SmartToyOutlined";import d from"@mui/material/Box";import{Stack as l}from"./_Primitives/Stack.mjs";import{NexusNodeIcon as m}from"./Logo/NexusNodeIcon.mjs";import{colours as s}from"./Theme/tokens.mjs";import{H3 as p,Body2 as c,Caption as h}from"./Typography.mjs";const x=(r,i,o)=>void 0!==r.element?e(d,{role:i?"img":void 0,"aria-label":i||void 0,"aria-hidden":!i||void 0,sx:[{display:"flex",alignItems:"center",minWidth:0},...Array.isArray(o)?o:[o]],children:r.element}):e(d,{component:"img",src:r.src,alt:i,sx:o}),g=({item:o})=>{const{label:a,text:n,icon:t,logo:d,wordmark:m}=o;return e(l,{direction:"row",sx:{gap:1,alignItems:"center",p:1.25,borderRadius:2,border:1,borderColor:"divider",backgroundColor:"background.paper",minWidth:0},children:d&&m?x(d,a,{height:22,width:110,maxWidth:"100%",objectFit:"contain",objectPosition:"left center"}):r(i,{children:[d?x(d,d.alt,{width:22,height:22,flexShrink:0,objectFit:"contain"}):t?e(t,{"aria-hidden":"true",sx:{fontSize:20,color:"primary.main",flexShrink:0}}):null,r(l,{sx:{minWidth:0},children:[e(c,{sx:{overflowWrap:"anywhere"},children:a}),n&&e(h,{sx:{overflowWrap:"anywhere"},children:n})]})]})})},f=({column:i})=>r(l,{role:"group","aria-label":i.label,sx:{gap:1.25,minWidth:0},children:[e(h,{sx:{letterSpacing:".08em",textTransform:"uppercase"},children:i.label}),i.items.map((r,i)=>e(g,{item:r},i))]}),u=()=>r(d,{"aria-hidden":"true","data-testid":"flow-diagram-connector",sx:r=>({position:"absolute",display:"flex",alignItems:"center",justifyContent:"center",color:"primary.main",top:{xs:"100%",md:0},left:{xs:0,md:"100%"},width:{xs:"100%",md:r.spacing(7)},height:{xs:r.spacing(5),md:"100%"}}),children:[r(d,{"data-testid":"flow-diagram-arrow-right",sx:{display:{xs:"none",md:"flex"},alignItems:"center",width:"100%",gap:.5,px:.5},children:[e(d,{sx:r=>({flex:1,borderTop:`2px dashed ${o(r.palette.primary.main,.4)}`})}),e(n,{})]}),e(a,{"data-testid":"flow-diagram-arrow-down",sx:{display:{xs:"block",md:"none"}}})]}),b=({from:i,hub:a,to:n,membersLabel:x,memberIcon:g=t,headingLevel:b=3,sx:w})=>r(d,{sx:[r=>({display:"grid",gridTemplateColumns:{xs:"minmax(0, 1fr)",md:"minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr)"},columnGap:r.spacing(7),rowGap:{xs:r.spacing(5),md:0},alignItems:"center",width:"100%"}),...Array.isArray(w)?w:w?[w]:[]],children:[r(d,{sx:{position:"relative",minWidth:0},children:[e(f,{column:i}),e(u,{})]}),r(d,{sx:{position:"relative",minWidth:0},children:[r(l,{role:"group","aria-label":a.title,sx:{gap:1.25,p:2.5,borderRadius:3,border:`1.5px solid ${s.jade}`,backgroundColor:o(s.jade,.05),minWidth:0},children:[r(l,{direction:"row",sx:{gap:1,alignItems:"center"},children:[e(m,{size:"sm",tone:"brand"}),e(p,{component:`h${b}`,sx:{overflowWrap:"anywhere"},children:a.title})]}),e(c,{children:a.text}),a.members&&a.members.length>0&&e(l,{direction:"row",role:"group","aria-label":x,sx:{gap:1,flexWrap:"wrap"},children:a.members.map((i,o)=>r(l,{direction:"row",sx:{gap:.75,alignItems:"center",px:1.25,py:.75,borderRadius:2,border:1,borderColor:"divider",backgroundColor:"background.paper",minWidth:0},children:[e(g,{"aria-hidden":"true",sx:{fontSize:18,color:"primary.main",flexShrink:0}}),e(h,{sx:{overflowWrap:"anywhere"},children:i})]},o))}),a.points&&a.points.length>0&&e(d,{component:"ul",role:"list",sx:{listStyle:"none",m:0,p:0,display:"grid",gap:.5},children:a.points.map((i,o)=>r(l,{component:"li",direction:"row",sx:{gap:1,alignItems:"flex-start"},children:[e(d,{"aria-hidden":"true",sx:{width:6,height:6,borderRadius:"50%",backgroundColor:s.jade,flexShrink:0,mt:"6px"}}),e(h,{sx:{overflowWrap:"anywhere"},children:i})]},o))})]}),e(u,{})]}),e(f,{column:n})]});b.displayName="FlowDiagram";export{b as FlowDiagram};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{Dialog as t,DialogActions as a,DialogContent as i,DialogContentText as e,DialogTitle as r}from"@mui/material";const s=a=>o(t,{...a}),l=t=>o(r,{...t}),m=t=>o(i,{...t}),n=t=>o(a,{...t}),g=t=>o(e,{...t});export{s as Dialog,n as DialogActions,m as DialogContent,g as DialogContentText,l as DialogTitle};
1
+ import{jsx as t}from"react/jsx-runtime";import{useRef as n,useCallback as r}from"react";import{Dialog as e,DialogActions as o,DialogContent as i,DialogContentText as s,DialogTitle as a}from"@mui/material";const l="scale(0.92)",c=()=>"undefined"!=typeof window&&Boolean(window.matchMedia?.("(prefers-reduced-motion: reduce)").matches),u=(t,n)=>{t.style.transition=[t.style.transition,n].filter(Boolean).join(", ")},m=({origin:o,slotProps:i,...s})=>{const a=n(null),m=r(t=>{if(!o||c())return void(a.current=null);const n=o.getBoundingClientRect();a.current={x:n.left+n.width/2,y:n.top+n.height/2},t.style.transformOrigin=`${a.current.x}px ${a.current.y}px`,t.style.transform=l},[o]),f=r(t=>{a.current&&(c()||(t.offsetHeight,u(t,"transform 225ms cubic-bezier(.2,.9,.3,1)")),t.style.transform="none")},[]),g=r(t=>{a.current&&!c()&&(u(t,"transform 195ms cubic-bezier(.7,0,.8,.1)"),t.style.transform=l)},[]),d=r(t=>{a.current&&(t.style.transform="",t.style.transformOrigin="",a.current=null)},[]),p=i?.transition,y=r(t=>{const n="function"==typeof p?p(t):p;return{...n,onEnter:(t,r)=>{m(t),n?.onEnter?.(t,r)},onEntering:(t,r)=>{f(t),n?.onEntering?.(t,r)},onExit:t=>{g(t),n?.onExit?.(t)},onExited:t=>{d(t),n?.onExited?.(t)}}},[m,f,g,d,p]);return t(e,{...s,slotProps:{...i,transition:y}})},f=n=>t(a,{...n}),g=n=>t(i,{...n}),d=n=>t(o,{...n}),p=n=>t(s,{...n});export{m as Dialog,d as DialogActions,g as DialogContent,p as DialogContentText,f as DialogTitle};
@@ -1 +1 @@
1
- const o="2.10.1";export{o as SAGE_NEXUS_UI_VERSION};
1
+ const o="2.10.3";export{o as SAGE_NEXUS_UI_VERSION};
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import react__default, { ReactNode, Ref, ReactElement, FormEventHandler, RefObject, ComponentType, CSSProperties, PropsWithChildren } from 'react';
3
- import { AlertProps, SxProps as SxProps$1, Theme as Theme$1, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, ToggleButtonGroupProps, SwitchProps, SliderProps as SliderProps$1, AccordionSummaryProps, ButtonProps, ChipProps, CardProps as CardProps$1, PaperProps, CircularProgressProps, CollapseProps, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormGroupProps, DialogProps, 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
- export { AlertProps, AlertTitle, ButtonBaseProps, CheckboxProps, ChipProps, CircularProgressProps, CollapseProps, ContainerProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogProps, DialogTitleProps, DividerProps, FormControlLabelProps, FormGroupProps, GridProps, MenuItem, PaperProps, StackProps, SwitchProps, TabProps, TableBodyProps, TableCellProps, TableHeadProps, TableProps, TableRowProps, TabsProps, TextFieldProps, Theme, alpha, useMediaQuery, useTheme } from '@mui/material';
3
+ import { AlertProps, SxProps as SxProps$1, Theme as Theme$1, TypographyProps, ContainerProps, GridProps, LinkProps as LinkProps$1, SelectProps as SelectProps$1, ToggleButtonGroupProps, SwitchProps, SliderProps as SliderProps$1, AccordionSummaryProps, ButtonProps, ChipProps, CardProps as CardProps$1, PaperProps, CircularProgressProps, CollapseProps, ButtonBaseProps, CheckboxProps, FormControlLabelProps, FormGroupProps, DialogProps as DialogProps$1, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, TableProps, TableBodyProps, TableCellProps, TableHeadProps, TableRowProps, IconButtonProps as IconButtonProps$1, SkeletonProps as SkeletonProps$1, StackProps, TabProps, TabsProps, TextFieldProps, TooltipProps as TooltipProps$1 } from '@mui/material';
4
+ export { AlertProps, AlertTitle, ButtonBaseProps, CheckboxProps, ChipProps, CircularProgressProps, CollapseProps, ContainerProps, DialogActionsProps, DialogContentProps, DialogContentTextProps, DialogTitleProps, DividerProps, FormControlLabelProps, FormGroupProps, GridProps, MenuItem, PaperProps, StackProps, SwitchProps, TabProps, TableBodyProps, TableCellProps, TableHeadProps, TableProps, TableRowProps, TabsProps, TextFieldProps, Theme, alpha, useMediaQuery, useTheme } from '@mui/material';
5
5
  import { BoxProps } from '@mui/material/Box';
6
6
  export { default as Box, BoxProps } from '@mui/material/Box';
7
7
  import { SxProps, Theme } from '@mui/material/styles';
@@ -981,7 +981,12 @@ interface CheckboxGroupProps {
981
981
  }
982
982
  declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
983
983
 
984
- declare const Dialog: (props: DialogProps) => react.JSX.Element;
984
+ interface DialogProps extends DialogProps$1 {
985
+ /** Element whose centre should be the origin of the dialog's scale transition. */
986
+ origin?: Element | null;
987
+ }
988
+
989
+ declare const Dialog: ({ origin, slotProps, ...props }: DialogProps) => react.JSX.Element;
985
990
  declare const DialogTitle: (props: DialogTitleProps) => react.JSX.Element;
986
991
  declare const DialogContent: (props: DialogContentProps) => react.JSX.Element;
987
992
  declare const DialogActions: (props: DialogActionsProps) => react.JSX.Element;
@@ -1465,6 +1470,24 @@ type NexusStackedBarChartProps = ChartAsyncProps & {
1465
1470
  };
1466
1471
  declare function NexusStackedBarChart({ items, height, layout, gradientColors, title, titleComponent, titleSx, titleHidden, description, actions, isLoading, isError, errorMessage, paperSx, }: NexusStackedBarChartProps): react.JSX.Element;
1467
1472
 
1473
+ interface NexusFunnelStage {
1474
+ label: string;
1475
+ value: number;
1476
+ }
1477
+ interface NexusFunnelChartProps extends ChartAsyncProps {
1478
+ /** Ordered pipeline stages, widest first (e.g. MQL → SAL → SQL → SQO → Won). */
1479
+ stages: NexusFunnelStage[];
1480
+ height?: number;
1481
+ valueFormatter?: (value: number) => string;
1482
+ convertedLabel?: string;
1483
+ droppedLabel?: string;
1484
+ }
1485
+ /**
1486
+ * Pipeline drop-off as stacked horizontal bars: each stage's bar is the volume
1487
+ * that entered it from the previous stage, split into converted and dropped.
1488
+ */
1489
+ declare function NexusFunnelChart({ stages, height, valueFormatter, convertedLabel, droppedLabel, ...frameProps }: NexusFunnelChartProps): react.JSX.Element;
1490
+
1468
1491
  type NexusPieChartProps = Omit<PieChartProps, "colors"> & ChartAsyncProps;
1469
1492
  declare function NexusPieChart({ slotProps, slots, title, titleComponent, titleSx, titleHidden, description, actions, isLoading, isError, errorMessage, paperSx, ...props }: NexusPieChartProps): react.JSX.Element;
1470
1493
 
@@ -1502,6 +1525,73 @@ declare namespace NexusHeatmap {
1502
1525
  var displayName: string;
1503
1526
  }
1504
1527
 
1528
+ /** A logo the consumer has already resolved: an image URL or a ready-made element (e.g. inline SVG). */
1529
+ type FlowDiagramLogo = {
1530
+ src: string;
1531
+ alt: string;
1532
+ element?: never;
1533
+ } | {
1534
+ element: ReactNode;
1535
+ alt: string;
1536
+ src?: never;
1537
+ };
1538
+ interface FlowDiagramItem {
1539
+ label: string;
1540
+ /** Optional supporting line under the label. Ignored for wordmark items. */
1541
+ text?: string;
1542
+ /** Icon component (e.g. an `@mui/icons-material` icon). Used when there is no `logo`. */
1543
+ icon?: typeof SvgIcon;
1544
+ /** Logo shown beside the label, or in place of it when `wordmark` is true. */
1545
+ logo?: FlowDiagramLogo;
1546
+ /**
1547
+ * The logo already spells the name, so it replaces the visible label.
1548
+ * The label stays the item's accessible name. Needs `logo`.
1549
+ */
1550
+ wordmark?: boolean;
1551
+ }
1552
+ interface FlowDiagramColumn {
1553
+ /** Column heading; also the accessible name of the group. */
1554
+ label: string;
1555
+ items: FlowDiagramItem[];
1556
+ }
1557
+ interface FlowDiagramHub {
1558
+ /** Hub heading, shown beside the Nexus node icon; also the accessible name of the group. */
1559
+ title: string;
1560
+ text: string;
1561
+ points?: string[];
1562
+ /** Chips for the things that live in the hub (e.g. agent names). */
1563
+ members?: string[];
1564
+ }
1565
+ interface FlowDiagramProps {
1566
+ /** Source column, left of the hub at `md` and up, above it below. */
1567
+ from: FlowDiagramColumn;
1568
+ hub: FlowDiagramHub;
1569
+ /** Destination column, right of the hub at `md` and up, below it below. */
1570
+ to: FlowDiagramColumn;
1571
+ /** Accessible name of the member chip group. Set it whenever `hub.members` is. */
1572
+ membersLabel?: string;
1573
+ /** Icon on each member chip. Defaults to a robot icon. */
1574
+ memberIcon?: typeof SvgIcon;
1575
+ /** Heading level of the hub title, so the diagram fits the host outline. Defaults to 3. */
1576
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
1577
+ sx?: SxProps<Theme>;
1578
+ }
1579
+ /**
1580
+ * A three-part explainer: a source column, a hub panel and a destination
1581
+ * column joined by arrow connectors. Illustration only, nothing is interactive.
1582
+ *
1583
+ * Parts sit in one row with right arrows from `md` up and stack with down
1584
+ * arrows below it. Connectors are `aria-hidden`; each column and the hub is a
1585
+ * labelled group. All copy arrives as props; logos arrive resolved
1586
+ * (`{ src, alt }` or `{ element, alt }`), the library ships none.
1587
+ *
1588
+ * A wordmark item shows only its logo; the item's `label` stays the accessible name.
1589
+ */
1590
+ declare const FlowDiagram: {
1591
+ ({ from, hub, to, membersLabel, memberIcon: MemberIcon, headingLevel, sx, }: FlowDiagramProps): react.JSX.Element;
1592
+ displayName: string;
1593
+ };
1594
+
1505
1595
  interface ProcessStep {
1506
1596
  /** Icon component (e.g. an `@mui/icons-material` icon), rendered in a tinted tile. */
1507
1597
  icon: typeof SvgIcon;
@@ -1929,6 +2019,70 @@ type ThemeModeProviderProps = PropsWithChildren<{
1929
2019
  }>;
1930
2020
  declare const ThemeModeProvider: ({ children, defaultMode, mode: legacyInitialMode, storageKey, onModeChange, }: ThemeModeProviderProps) => react.JSX.Element;
1931
2021
 
2022
+ /**
2023
+ * Field schema for one data-item or config field of a `nexus-chart` chart type.
2024
+ *
2025
+ * - Every string must be non-blank (not empty after trimming).
2026
+ * - `maxLength` counts the raw, untrimmed string.
2027
+ * - `pattern` is tested against the raw string and is not anchored for you; write `^…$`.
2028
+ * - `format: 'iso-date'` means the trimmed string parses with `new Date()`. It is not
2029
+ * strict ISO 8601: this mirrors the renderer rule persisted chat messages were
2030
+ * validated against, so tightening it would stop old charts rendering.
2031
+ * - Every number must be finite.
2032
+ */
2033
+ type ChartFieldSchema = {
2034
+ type: "string";
2035
+ maxLength?: number;
2036
+ enum?: string[];
2037
+ pattern?: string;
2038
+ format?: "iso-date";
2039
+ } | {
2040
+ type: "number";
2041
+ minimum?: number;
2042
+ };
2043
+ interface ChartDefinition {
2044
+ /** `/^[a-z][a-z0-9-]{1,31}$/`, unique, append-only. */
2045
+ chartType: string;
2046
+ /** Per-type semver, e.g. "1.0.0". A breaking data-shape change is a new chartType instead. */
2047
+ version: string;
2048
+ /** Model-facing: at most 300 chars, no URLs, no code fences, no backticks. */
2049
+ description: string;
2050
+ /** Flat data item. At most 8 fields; names `/^[a-zA-Z][a-zA-Z0-9]{0,31}$/`. Unknown fields are rejected. */
2051
+ dataItem: {
2052
+ properties: Record<string, ChartFieldSchema>;
2053
+ required: string[];
2054
+ };
2055
+ /**
2056
+ * Optional `config` keys beyond the shared envelope keys (`valueFormat`, `xAxis`,
2057
+ * `yAxis`), which are not declared here. At most 8.
2058
+ */
2059
+ configKeys?: Record<string, ChartFieldSchema>;
2060
+ /** `maxPoints` at most 1,000 (the global cap); defaults to 1,000. */
2061
+ limits?: {
2062
+ maxPoints?: number;
2063
+ };
2064
+ /** A full `nexus-chart` envelope; every data item must pass `validateChartItem`. */
2065
+ example: Record<string, unknown>;
2066
+ /** Runtime-only renderer; never serialised into a served catalogue. */
2067
+ component: unknown;
2068
+ /** Frontend-local definitions only (e.g. us-map). */
2069
+ lazy?: () => Promise<unknown>;
2070
+ }
2071
+ interface ChartValidationResult {
2072
+ valid: boolean;
2073
+ errors: string[];
2074
+ }
2075
+ declare const MAX_CHART_POINTS = 1000;
2076
+ /** Validates one `data[]` item of a `nexus-chart` envelope against its chart definition. */
2077
+ declare const validateChartItem: (definition: Pick<ChartDefinition, "dataItem">, item: unknown) => ChartValidationResult;
2078
+ /**
2079
+ * Metaschema check for a chart definition: shape, caps, model-facing description
2080
+ * rules, and that the example envelope validates against the definition itself.
2081
+ */
2082
+ declare const validateChartDefinition: (definition: unknown) => ChartValidationResult;
2083
+
2084
+ declare const chartDefinitions: readonly ChartDefinition[];
2085
+
1932
2086
  type ChatTablePart = {
1933
2087
  type: "markdown";
1934
2088
  content: string;
@@ -1994,5 +2148,5 @@ declare const getGradientBorderStyles: (theme: Theme, options?: GradientBorderOp
1994
2148
  declare const leftPipe: SxProps<Theme>;
1995
2149
  declare const expandableText: (isExpanded: boolean) => SxProps<Theme>;
1996
2150
 
1997
- export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, ActivityFeed, AgentChatDialog, AgentChatWidget, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, ArtifactViewer, Avatar, Body1, Body2, Breadcrumbs, BudgetMeter, ButtonBase, ButtonTile, Caption, Card, ChatAvatar, ChatContentFallback, ChatDatapoints, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatResponseMarkdown, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyButton, CopyableTableContainer, DateRangeFilter, DateRangePicker, DeltaChip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DiffView, Divider, Duration, EmptyState, FABButton, FaviconLinks, FormControlLabel, FormDialog, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, JsonViewer, KeyValueList, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusAreaChart, NexusBarChart, NexusDataGrid, NexusEmptyState, NexusHeatmap, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusOrbit, NexusPieChart, NexusScatterChart, NexusStackedAreaChart, NexusStackedBarChart, NexusiFrame, NotificationBell, NotificationListItem, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, ProcessSteps, RagChip, RagDot, RelativeTime, SageLogoSvg, SchemaFieldView, SearchInput, SecondaryButton, SecondaryButtonLink, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StageProgress, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Toast, Tooltip, TypingIndicator, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, columnsForItemCount, createSageTheme, deltaColorForPolarity, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDatapointDelta, formatDatapointValue, formatDate, formatDurationMs, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, isAllowedImageSrc, latestTraceLabel, leftPipe, ragColorForDelta, resolveArtifact, safeChatMarkdownComponents, safeMarkdownUrl, sanitizeRawHtmlTable, splitRawHtmlTables, toSandboxedSrcDoc, useThemeMode, useTokens };
1998
- export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivityFeedEntry, ActivityFeedProps, ActivitySummary, AgentChatDialogProps, AgentChatWidgetProps, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, ArtifactContent, ArtifactKind, ArtifactViewerProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, BudgetMeterProps, ButtonTileProps, CardProps, CardTrend, ChartAsyncProps, ChatAvatarProps, ChatContentFallbackProps, ChatDatapointDelta, ChatDatapointItem, ChatDatapointPolarity, ChatDatapointValueFormat, ChatDatapointsData, ChatDatapointsProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, ChatResponseMarkdownProps, ChatTableCell, ChatTableData, ChatTablePart, CodeBlock, CopyButtonProps, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, DeltaChipProps, DeltaChipTone, DiffViewProps, DurationProps, EmptyStateProps, FABButtonProps, FileArtifact, FormDialogProps, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, JsonSchema, JsonViewerProps, KeyValueItem, KeyValueListProps, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusAreaChartProps, NexusBarChartProps, NexusEmptyStateProps, NexusHeatmapAxisItem, NexusHeatmapCell, NexusHeatmapProps, NexusHeatmapStatus, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusOrbitProps, NexusPieChartProps, NexusScatterChartProps, NexusStackedAreaChartProps, NexusStackedBarChartProps, NexusiFrameProps, NotificationBellProps, NotificationListItemProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, ProcessStep, ProcessStepsProps, RelativeTimeProps, ResolvedArtifact, SchemaFieldViewProps, SecondaryButtonLinkProps, SecondaryButtonProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SliderMarkOption, SliderProps, SourceCitationsProps, StackedBarItem, StageProgressProps, StageProgressStep, StageState, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, ToastProps, TooltipProps, TraceEvent, TypingIndicatorProps };
2151
+ export { AccordionGroup, AccordionGroupItem, AccordionSingle, ActionBar, ActionBarTitle, ActivityFeed, AgentChatDialog, AgentChatWidget, AgentChatWindow, AgentChatWindowHeader, AiButton, AiButtonTile, AiCard, AiChip, AiGlassCard, AiGlassPaper, AiPaper, Alert, ArtifactViewer, Avatar, Body1, Body2, Breadcrumbs, BudgetMeter, ButtonBase, ButtonTile, Caption, Card, ChatAvatar, ChatContentFallback, ChatDatapoints, ChatHistory, ChatHistoryAgentItem, ChatHistoryButtonBase, ChatHistoryHeader, ChatInput, ChatResponseMarkdown, ChatWindowBody, Checkbox, CheckboxGroup, Chip, CircularProgress, Code, Collapse, Container, CopyButton, CopyableTableContainer, DateRangeFilter, DateRangePicker, DeltaChip, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle, DiffView, Divider, Duration, EmptyState, FABButton, FaviconLinks, FlowDiagram, FormControlLabel, FormDialog, FormGroup, GhostButton, GlassCard, GlassPaper, GlassPaperAsync, GreenWaveBackground, Grid, H1, H2, H3, H4, IconButton, JsonViewer, KeyValueList, Link, LoadingSpinnerNexus, LocationMultiSelect, LogoOptions, MAX_CHART_POINTS, MarkdownContent, MessageBubble, MessageFeedbackBar, MessageList, MetricCard, MetricStat, MetricValue, MuiAppThemeProvider, NEXUS_THEME_STORAGE_KEY, NexusAreaChart, NexusBarChart, NexusDataGrid, NexusEmptyState, NexusFunnelChart, NexusHeatmap, NexusHome, NexusLineChart, NexusLogo, NexusNodeIcon, NexusOrbit, NexusPieChart, NexusScatterChart, NexusStackedAreaChart, NexusStackedBarChart, NexusiFrame, NotificationBell, NotificationListItem, Paper, PaperAsync, PrimaryButton, PrimaryButtonLink, ProcessSteps, RagChip, RagDot, RelativeTime, SageLogoSvg, SchemaFieldView, SearchInput, SecondaryButton, SecondaryButtonLink, SegmentedControl, Select, SelectableList, SideBlade, SideBladeNavList, SideBladeNavListItem, Skeleton, SkillChip, SkipLink, Slider, SourceCitations, Span, Stack, StageProgress, StatusBadge, StatusChip, StreamingBubble, SuggestedPrompts, Switch, Tab, Table, TableBody, TableCell, TableHead, TableRow, Tabs, TextField, ThemeModeContext, ThemeModeProvider, ThemeToggle, Toast, Tooltip, TypingIndicator, chartDefinitions, chatHistoryMatchesQuery, chatWindowMarkdownComponents, colours, columnsForItemCount, createSageTheme, deltaColorForPolarity, expandableText, filterChatHistoryConversations, fontSageHeadline, fontSageText, fontSageUI, formatDatapointDelta, formatDatapointValue, formatDate, formatDurationMs, formatSurnameFirstname, getFaviconUrls, getFiscalPeriod, getGradientBorderStyles, getModeTokens, gradients, isAllowedImageSrc, latestTraceLabel, leftPipe, ragColorForDelta, resolveArtifact, safeChatMarkdownComponents, safeMarkdownUrl, sanitizeRawHtmlTable, splitRawHtmlTables, toSandboxedSrcDoc, useThemeMode, useTokens, validateChartDefinition, validateChartItem };
2152
+ export type { AccordionGroupItemProps, AccordionGroupProps, AccordionSingleProps, ActivityFeedEntry, ActivityFeedProps, ActivitySummary, AgentChatDialogProps, AgentChatWidgetProps, AgentChatWindowHeaderProps, AgentChatWindowProps, AiButtonProps, AiButtonTileProps, AiCardProps, AiChipProps, AiGlassCardProps, AiGlassPaperProps, AiPaperProps, ArtifactContent, ArtifactKind, ArtifactViewerProps, AvatarProps, AvatarSize, AvatarVariant, BreadcrumbItem, BreadcrumbsProps, BudgetMeterProps, ButtonTileProps, CardProps, CardTrend, ChartAsyncProps, ChartDefinition, ChartFieldSchema, ChartValidationResult, ChatAvatarProps, ChatContentFallbackProps, ChatDatapointDelta, ChatDatapointItem, ChatDatapointPolarity, ChatDatapointValueFormat, ChatDatapointsData, ChatDatapointsProps, ChatHistoryAgent, ChatHistoryAgentItemProps, ChatHistoryButtonBaseProps, ChatHistoryConversation, ChatHistoryHeaderProps, ChatHistoryProps, ChatInputProps, ChatMessage, ChatResponseMarkdownProps, ChatTableCell, ChatTableData, ChatTablePart, CodeBlock, CopyButtonProps, CopyableTableContainerProps, DateRangeFilterProps, DateRangePickerProps, DateRangePreset, DateRangeValue, DeltaChipProps, DeltaChipTone, DialogProps, DiffViewProps, DurationProps, EmptyStateProps, FABButtonProps, FileArtifact, FlowDiagramColumn, FlowDiagramHub, FlowDiagramItem, FlowDiagramLogo, FlowDiagramProps, FormDialogProps, GhostButtonProps, GlassCardProps, GlassPaperAsyncProps, GlassPaperProps, GradientBorderOptions, GreenWaveBackgroundProps, IconButtonProps, IconButtonVariant, JsonSchema, JsonViewerProps, KeyValueItem, KeyValueListProps, LatencyMetrics, LinkProps, LoadingSpinnerNexusProps, MarkdownContentProps, MessageBubbleProps, MessageFeedbackBarProps, MessageListProps, MetricCardProps, MetricStatProps, MetricValueSize, ModeTokens, NexusAreaChartProps, NexusBarChartProps, NexusEmptyStateProps, NexusFunnelChartProps, NexusFunnelStage, NexusHeatmapAxisItem, NexusHeatmapCell, NexusHeatmapProps, NexusHeatmapStatus, NexusLineChartProps, NexusNodeIconProps, NexusNodeIconSize, NexusNodeIconTone, NexusOrbitProps, NexusPieChartProps, NexusScatterChartProps, NexusStackedAreaChartProps, NexusStackedBarChartProps, NexusiFrameProps, NotificationBellProps, NotificationListItemProps, PaperAsyncProps, ParsedActivity, PrimaryButtonLinkProps, PrimaryButtonProps, ProcessStep, ProcessStepsProps, RelativeTimeProps, ResolvedArtifact, SchemaFieldViewProps, SecondaryButtonLinkProps, SecondaryButtonProps, SegmentedControlOption, SegmentedControlProps, SelectOption, SelectProps, SelectableListItem, SelectableListProps, SideBladeNavItem, SideBladeNavListItemProps, SideBladeNavListProps, SideBladeProps, SkeletonProps, SkipLinkProps, SliderMarkOption, SliderProps, SourceCitationsProps, StackedBarItem, StageProgressProps, StageProgressStep, StageState, StatusBadgeProps, StatusBadgeVariant, StreamingBubbleProps, SuggestedPromptsProps, ThemeMode, ThemeModeContextValue, ThemeModeProviderProps, ToastProps, TooltipProps, TraceEvent, TypingIndicatorProps };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- export{DateRangeFilter}from"./components/DateRangeFilter.mjs";export{DateRangePicker}from"./components/DateRangePicker.mjs";export{Alert}from"./components/_Primitives/Alert.mjs";export{AgentChatWidget}from"./components/AgentChat/AgentChatWidget.mjs";export{AgentChatDialog}from"./components/AgentChat/AgentChatDialog.mjs";export{FABButton}from"./components/AgentChat/FABButton.mjs";export{AgentChatWindow}from"./components/AgentChat/AgentChatWindow.mjs";export{AgentChatWindowHeader}from"./components/AgentChat/AgentChatWindowHeader.mjs";export{ChatInput}from"./components/AgentChat/ChatInput.mjs";export{ChatHistory}from"./components/AgentChat/ChatHistory.mjs";export{ChatHistoryHeader}from"./components/AgentChat/ChatHistoryHeader.mjs";export{ChatHistoryButtonBase}from"./components/AgentChat/ChatHistoryButtonBase.mjs";export{ChatHistoryAgentItem}from"./components/AgentChat/ChatHistoryAgentItem.mjs";export{chatHistoryMatchesQuery,filterChatHistoryConversations}from"./components/AgentChat/ChatHistorySearch.mjs";export{CopyableTableContainer}from"./components/AgentChat/ChatComponents/CopyableTableContainer.mjs";export{default as ChatAvatar}from"./components/AgentChat/ChatComponents/ChatAvatar.mjs";export{default as MarkdownContent,chatWindowMarkdownComponents}from"./components/AgentChat/ChatComponents/MarkdownContent.mjs";export{default as ChatResponseMarkdown,safeChatMarkdownComponents}from"./components/AgentChat/ChatComponents/ChatResponseMarkdown.mjs";export{default as ChatDatapoints}from"./components/AgentChat/ChatComponents/ChatDatapoints.mjs";export{default as ChatContentFallback}from"./components/AgentChat/ChatComponents/ChatContentFallback.mjs";export{default as MessageBubble}from"./components/AgentChat/ChatComponents/MessageBubble.mjs";export{default as MessageFeedbackBar}from"./components/AgentChat/ChatComponents/MessageFeedbackBar.mjs";export{default as StreamingBubble}from"./components/AgentChat/ChatComponents/StreamingBubble.mjs";export{default as TypingIndicator}from"./components/AgentChat/ChatComponents/TypingIndicator.mjs";export{default as SuggestedPrompts}from"./components/AgentChat/ChatComponents/SuggestedPrompts.mjs";export{default as MessageList}from"./components/AgentChat/ChatComponents/MessageList.mjs";export{default as EmptyState}from"./components/AgentChat/ChatComponents/EmptyState.mjs";export{default as SourceCitations}from"./components/AgentChat/ChatComponents/SourceCitations.mjs";export{latestTraceLabel}from"./components/AgentChat/ChatComponents/latestTraceLabel.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/_Primitives/Container.mjs";export{Grid}from"./components/_Primitives/Grid.mjs";export{Link}from"./components/_Primitives/Link.mjs";export{Select}from"./components/Select.mjs";export{SkipLink}from"./components/SkipLink.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{SegmentedControl}from"./components/SegmentedControl.mjs";export{Breadcrumbs}from"./components/Breadcrumbs.mjs";export{Switch}from"./components/_Primitives/Switch.mjs";export{Slider}from"./components/Slider.mjs";export{NotificationBell}from"./components/NotificationBell.mjs";export{NotificationListItem}from"./components/NotificationListItem.mjs";export{ActionBarTitle,Body1,Body2,Caption,ChatWindowBody,H1,H2,H3,H4,MetricValue,Span}from"./components/Typography.mjs";export{MetricStat}from"./components/MetricStat.mjs";export{MetricCard}from"./components/MetricCard.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/Buttons/AiButton.mjs";export{AiChip}from"./components/AiChip.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{default as Box}from"@mui/material/Box";export{CircularProgress}from"./components/_Primitives/CircularProgress.mjs";export{Collapse}from"./components/_Primitives/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/Buttons/ButtonBase.mjs";export{AiButtonTile,ButtonTile}from"./components/ButtonTile.mjs";export{GhostButton}from"./components/Buttons/GhostButton.mjs";export{SelectableList}from"./components/Buttons/SelectableList.mjs";export{Card}from"./components/Card.mjs";export{Checkbox}from"./components/Forms/Checkbox.mjs";export{FormControlLabel}from"./components/Forms/FormControlLabel.mjs";export{FormGroup}from"./components/Forms/FormGroup.mjs";export{CheckboxGroup}from"./components/Forms/CheckboxGroup.mjs";export{FormDialog}from"./components/Forms/FormDialog.mjs";export{Chip}from"./components/_Primitives/Chip.mjs";export{DeltaChip}from"./components/DeltaChip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/_Primitives/Dialog.mjs";export{Divider}from"./components/_Primitives/Divider.mjs";export{Table,TableBody,TableCell,TableHead,TableRow}from"./components/_Primitives/Table.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{PaperAsync}from"./components/PaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/Buttons/IconButton.mjs";export{Avatar}from"./components/Avatar.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/Logo/LogoOptions/index.mjs";export{NexusHome}from"./components/Logo/NexusHome.mjs";export{default as NexusLogo}from"./components/Logo/NexusLogo.mjs";export{NexusNodeIcon}from"./components/Logo/NexusNodeIcon.mjs";export{SageLogoSvg}from"./components/Logo/LogoOptions/SageLogo.mjs";export{Paper}from"./components/_Primitives/Paper.mjs";export{PrimaryButton}from"./components/Buttons/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/Buttons/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/Buttons/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{ragColorForDelta}from"./components/ragColorForDelta.mjs";export{SecondaryButtonLink}from"./components/Buttons/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade/SideBlade.mjs";export{SideBladeNavList}from"./components/SideBlade/SideBladeNavList.mjs";export{SideBladeNavListItem}from"./components/SideBlade/SideBladeNavListItem.mjs";export{Skeleton}from"./components/_Primitives/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/_Primitives/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/_Primitives/Tab.mjs";export{Tabs}from"./components/_Primitives/Tabs.mjs";export{TextField}from"./components/_Primitives/TextField.mjs";export{ThemeToggle}from"./components/Theme/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{NexusiFrame}from"./components/NexusiFrame.mjs";export{NexusLineChart}from"./components/Charts/NexusLineChart.mjs";export{NexusAreaChart}from"./components/Charts/NexusAreaChart.mjs";export{NexusStackedAreaChart}from"./components/Charts/NexusStackedAreaChart.mjs";export{ChartsReferenceLine}from"@mui/x-charts/ChartsReferenceLine";export{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusStackedBarChart}from"./components/Charts/NexusStackedBarChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.mjs";export{NexusHeatmap}from"./components/Charts/NexusHeatmap.mjs";export{ProcessSteps}from"./components/ProcessSteps.mjs";export{NexusOrbit}from"./components/NexusOrbit.mjs";export{StageProgress}from"./components/StageProgress.mjs";export{ActivityFeed}from"./components/ActivityFeed.mjs";export{BudgetMeter}from"./components/BudgetMeter.mjs";export{CopyButton}from"./components/Buttons/CopyButton.mjs";export{DiffView}from"./components/DiffView.mjs";export{Duration,formatDurationMs}from"./components/Duration.mjs";export{JsonViewer}from"./components/JsonViewer.mjs";export{KeyValueList}from"./components/KeyValueList.mjs";export{NexusEmptyState}from"./components/NexusEmptyState.mjs";export{RelativeTime}from"./components/RelativeTime.mjs";export{Toast}from"./components/Toast.mjs";export{ArtifactViewer,isAllowedImageSrc,resolveArtifact,toSandboxedSrcDoc}from"./components/ArtifactViewer.mjs";export{SchemaFieldView}from"./components/SchemaFieldView.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.mjs";export{createSageTheme}from"./components/Theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./components/Theme/tokens.mjs";export{useTokens}from"./components/Theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./components/Theme/MuiAppThemeProvider.mjs";export{NEXUS_THEME_STORAGE_KEY,ThemeModeContext,ThemeModeProvider,useThemeMode}from"./components/Theme/ThemeContext.mjs";export{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{sanitizeRawHtmlTable,splitRawHtmlTables}from"./utils/chatTableHtml.mjs";export{safeMarkdownUrl}from"./utils/safeMarkdownUrl.mjs";export{columnsForItemCount,deltaColorForPolarity,formatDatapointDelta,formatDatapointValue}from"./utils/chatDatapoints.mjs";export{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./components/Theme/sxHelpers.mjs";
1
+ export{DateRangeFilter}from"./components/DateRangeFilter.mjs";export{DateRangePicker}from"./components/DateRangePicker.mjs";export{Alert}from"./components/_Primitives/Alert.mjs";export{AgentChatWidget}from"./components/AgentChat/AgentChatWidget.mjs";export{AgentChatDialog}from"./components/AgentChat/AgentChatDialog.mjs";export{FABButton}from"./components/AgentChat/FABButton.mjs";export{AgentChatWindow}from"./components/AgentChat/AgentChatWindow.mjs";export{AgentChatWindowHeader}from"./components/AgentChat/AgentChatWindowHeader.mjs";export{ChatInput}from"./components/AgentChat/ChatInput.mjs";export{ChatHistory}from"./components/AgentChat/ChatHistory.mjs";export{ChatHistoryHeader}from"./components/AgentChat/ChatHistoryHeader.mjs";export{ChatHistoryButtonBase}from"./components/AgentChat/ChatHistoryButtonBase.mjs";export{ChatHistoryAgentItem}from"./components/AgentChat/ChatHistoryAgentItem.mjs";export{chatHistoryMatchesQuery,filterChatHistoryConversations}from"./components/AgentChat/ChatHistorySearch.mjs";export{CopyableTableContainer}from"./components/AgentChat/ChatComponents/CopyableTableContainer.mjs";export{default as ChatAvatar}from"./components/AgentChat/ChatComponents/ChatAvatar.mjs";export{default as MarkdownContent,chatWindowMarkdownComponents}from"./components/AgentChat/ChatComponents/MarkdownContent.mjs";export{default as ChatResponseMarkdown,safeChatMarkdownComponents}from"./components/AgentChat/ChatComponents/ChatResponseMarkdown.mjs";export{default as ChatDatapoints}from"./components/AgentChat/ChatComponents/ChatDatapoints.mjs";export{default as ChatContentFallback}from"./components/AgentChat/ChatComponents/ChatContentFallback.mjs";export{default as MessageBubble}from"./components/AgentChat/ChatComponents/MessageBubble.mjs";export{default as MessageFeedbackBar}from"./components/AgentChat/ChatComponents/MessageFeedbackBar.mjs";export{default as StreamingBubble}from"./components/AgentChat/ChatComponents/StreamingBubble.mjs";export{default as TypingIndicator}from"./components/AgentChat/ChatComponents/TypingIndicator.mjs";export{default as SuggestedPrompts}from"./components/AgentChat/ChatComponents/SuggestedPrompts.mjs";export{default as MessageList}from"./components/AgentChat/ChatComponents/MessageList.mjs";export{default as EmptyState}from"./components/AgentChat/ChatComponents/EmptyState.mjs";export{default as SourceCitations}from"./components/AgentChat/ChatComponents/SourceCitations.mjs";export{latestTraceLabel}from"./components/AgentChat/ChatComponents/latestTraceLabel.mjs";export{Code}from"./components/Code.mjs";export{Container}from"./components/_Primitives/Container.mjs";export{Grid}from"./components/_Primitives/Grid.mjs";export{Link}from"./components/_Primitives/Link.mjs";export{Select}from"./components/Select.mjs";export{SkipLink}from"./components/SkipLink.mjs";export{StatusBadge}from"./components/StatusBadge.mjs";export{SegmentedControl}from"./components/SegmentedControl.mjs";export{Breadcrumbs}from"./components/Breadcrumbs.mjs";export{Switch}from"./components/_Primitives/Switch.mjs";export{Slider}from"./components/Slider.mjs";export{NotificationBell}from"./components/NotificationBell.mjs";export{NotificationListItem}from"./components/NotificationListItem.mjs";export{ActionBarTitle,Body1,Body2,Caption,ChatWindowBody,H1,H2,H3,H4,MetricValue,Span}from"./components/Typography.mjs";export{MetricStat}from"./components/MetricStat.mjs";export{MetricCard}from"./components/MetricCard.mjs";export{ActionBar}from"./components/ActionBar.mjs";export{AccordionGroup,AccordionGroupItem}from"./components/AccordionGroup.mjs";export{AccordionSingle}from"./components/AccordionSingle.mjs";export{AiButton}from"./components/Buttons/AiButton.mjs";export{AiChip}from"./components/AiChip.mjs";export{AiCard}from"./components/AiCard.mjs";export{AiGlassCard}from"./components/AiGlassCard.mjs";export{AiPaper}from"./components/AiPaper.mjs";export{AiGlassPaper}from"./components/AiGlassPaper.mjs";export{default as Box}from"@mui/material/Box";export{CircularProgress}from"./components/_Primitives/CircularProgress.mjs";export{Collapse}from"./components/_Primitives/Collapse.mjs";export{NexusDataGrid}from"./components/NexusDataGrid.mjs";export{ButtonBase}from"./components/Buttons/ButtonBase.mjs";export{AiButtonTile,ButtonTile}from"./components/ButtonTile.mjs";export{GhostButton}from"./components/Buttons/GhostButton.mjs";export{SelectableList}from"./components/Buttons/SelectableList.mjs";export{Card}from"./components/Card.mjs";export{Checkbox}from"./components/Forms/Checkbox.mjs";export{FormControlLabel}from"./components/Forms/FormControlLabel.mjs";export{FormGroup}from"./components/Forms/FormGroup.mjs";export{CheckboxGroup}from"./components/Forms/CheckboxGroup.mjs";export{FormDialog}from"./components/Forms/FormDialog.mjs";export{Chip}from"./components/_Primitives/Chip.mjs";export{DeltaChip}from"./components/DeltaChip.mjs";export{Dialog,DialogActions,DialogContent,DialogContentText,DialogTitle}from"./components/_Primitives/Dialog.mjs";export{Divider}from"./components/_Primitives/Divider.mjs";export{Table,TableBody,TableCell,TableHead,TableRow}from"./components/_Primitives/Table.mjs";export{GlassCard}from"./components/GlassCard.mjs";export{GlassPaper}from"./components/GlassPaper.mjs";export{GlassPaperAsync}from"./components/GlassPaperAsync.mjs";export{PaperAsync}from"./components/PaperAsync.mjs";export{GreenWaveBackground}from"./components/GreenWaveBackground.mjs";export{IconButton}from"./components/Buttons/IconButton.mjs";export{Avatar}from"./components/Avatar.mjs";export{LoadingSpinnerNexus}from"./components/LoadingSpinnerNexus.mjs";export{LocationMultiSelect}from"./components/LocationMultiSelect.mjs";export{LogoOptions}from"./components/Logo/LogoOptions/index.mjs";export{NexusHome}from"./components/Logo/NexusHome.mjs";export{default as NexusLogo}from"./components/Logo/NexusLogo.mjs";export{NexusNodeIcon}from"./components/Logo/NexusNodeIcon.mjs";export{SageLogoSvg}from"./components/Logo/LogoOptions/SageLogo.mjs";export{Paper}from"./components/_Primitives/Paper.mjs";export{PrimaryButton}from"./components/Buttons/PrimaryButton.mjs";export{PrimaryButtonLink}from"./components/Buttons/PrimaryButtonLink.mjs";export{SecondaryButton}from"./components/Buttons/SecondaryButton.mjs";export{RagDot}from"./components/RagDot.mjs";export{RagChip}from"./components/RagChip.mjs";export{ragColorForDelta}from"./components/ragColorForDelta.mjs";export{SecondaryButtonLink}from"./components/Buttons/SecondaryButtonLink.mjs";export{SearchInput}from"./components/SearchInput.mjs";export{SideBlade}from"./components/SideBlade/SideBlade.mjs";export{SideBladeNavList}from"./components/SideBlade/SideBladeNavList.mjs";export{SideBladeNavListItem}from"./components/SideBlade/SideBladeNavListItem.mjs";export{Skeleton}from"./components/_Primitives/Skeleton.mjs";export{SkillChip}from"./components/SkillChip.mjs";export{Stack}from"./components/_Primitives/Stack.mjs";export{StatusChip}from"./components/StatusChip.mjs";export{Tab}from"./components/_Primitives/Tab.mjs";export{Tabs}from"./components/_Primitives/Tabs.mjs";export{TextField}from"./components/_Primitives/TextField.mjs";export{ThemeToggle}from"./components/Theme/ThemeToggle.mjs";export{Tooltip}from"./components/Tooltip.mjs";export{NexusiFrame}from"./components/NexusiFrame.mjs";export{NexusLineChart}from"./components/Charts/NexusLineChart.mjs";export{NexusAreaChart}from"./components/Charts/NexusAreaChart.mjs";export{NexusStackedAreaChart}from"./components/Charts/NexusStackedAreaChart.mjs";export{ChartsReferenceLine}from"@mui/x-charts/ChartsReferenceLine";export{NexusBarChart}from"./components/Charts/NexusBarChart.mjs";export{NexusStackedBarChart}from"./components/Charts/NexusStackedBarChart.mjs";export{NexusFunnelChart}from"./components/Charts/NexusFunnelChart.mjs";export{NexusPieChart}from"./components/Charts/NexusPieChart.mjs";export{NexusScatterChart}from"./components/Charts/NexusScatterChart.mjs";export{NexusHeatmap}from"./components/Charts/NexusHeatmap.mjs";export{FlowDiagram}from"./components/FlowDiagram.mjs";export{ProcessSteps}from"./components/ProcessSteps.mjs";export{NexusOrbit}from"./components/NexusOrbit.mjs";export{StageProgress}from"./components/StageProgress.mjs";export{ActivityFeed}from"./components/ActivityFeed.mjs";export{BudgetMeter}from"./components/BudgetMeter.mjs";export{CopyButton}from"./components/Buttons/CopyButton.mjs";export{DiffView}from"./components/DiffView.mjs";export{Duration,formatDurationMs}from"./components/Duration.mjs";export{JsonViewer}from"./components/JsonViewer.mjs";export{KeyValueList}from"./components/KeyValueList.mjs";export{NexusEmptyState}from"./components/NexusEmptyState.mjs";export{RelativeTime}from"./components/RelativeTime.mjs";export{Toast}from"./components/Toast.mjs";export{ArtifactViewer,isAllowedImageSrc,resolveArtifact,toSandboxedSrcDoc}from"./components/ArtifactViewer.mjs";export{SchemaFieldView}from"./components/SchemaFieldView.mjs";export{default as nexusLogoNode}from"./assets/images/nexus-logo-node.svg.mjs";export{default as nexusLogoFavicon}from"./assets/images/nexus-logo-favicon.svg.mjs";export{default as nexusLogoIco}from"./assets/images/favicon.ico.mjs";export{getFaviconUrls}from"./assets/images/urls.mjs";export{FaviconLinks}from"./components/FaviconLinks.mjs";export{createSageTheme}from"./components/Theme/sageTheme.mjs";export{colours,fontSageHeadline,fontSageText,fontSageUI,getModeTokens,gradients}from"./components/Theme/tokens.mjs";export{useTokens}from"./components/Theme/useTokens.mjs";export{default as MuiAppThemeProvider}from"./components/Theme/MuiAppThemeProvider.mjs";export{NEXUS_THEME_STORAGE_KEY,ThemeModeContext,ThemeModeProvider,useThemeMode}from"./components/Theme/ThemeContext.mjs";export{AlertTitle,MenuItem,alpha,useMediaQuery,useTheme}from"@mui/material";export{chartDefinitions}from"./charts/chartDefinitions.mjs";export{MAX_CHART_POINTS,validateChartDefinition,validateChartItem}from"./charts/chartCatalogue.mjs";export{sanitizeRawHtmlTable,splitRawHtmlTables}from"./utils/chatTableHtml.mjs";export{safeMarkdownUrl}from"./utils/safeMarkdownUrl.mjs";export{columnsForItemCount,deltaColorForPolarity,formatDatapointDelta,formatDatapointValue}from"./utils/chatDatapoints.mjs";export{formatSurnameFirstname}from"./utils/nameFormats.mjs";export{formatDate,getFiscalPeriod}from"./utils/dateFormats.mjs";export{expandableText,getGradientBorderStyles,leftPipe}from"./components/Theme/sxHelpers.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "it-data-nexus-ui-library",
3
- "version": "2.10.1",
3
+ "version": "2.10.3",
4
4
  "description": "Nexus core components",
5
5
  "license": "ISC",
6
6
  "author": "emsmart-sage",