@elevasis/ui 1.14.6 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,20 +66,22 @@ function getSeriesColor(key, colors) {
66
66
  }
67
67
  }
68
68
  var ReferenceLine = ReferenceLine$1;
69
- function CyberDefs({ colors }) {
69
+ function CyberDefs({ colors, isLight }) {
70
+ const gradMul = isLight ? 0.5 : 1;
70
71
  const gradients = [
71
- { id: "gradCyan", color: colors.cyan, opacity: 0.35 },
72
- { id: "gradBlue", color: colors.blue, opacity: 0.3 },
73
- { id: "gradGreen", color: colors.green, opacity: 0.3 },
74
- { id: "gradRed", color: colors.red, opacity: 0.3 },
75
- { id: "gradYellow", color: colors.yellow, opacity: 0.3 }
72
+ { id: "gradCyan", color: colors.cyan, opacity: 0.35 * gradMul },
73
+ { id: "gradBlue", color: colors.blue, opacity: 0.3 * gradMul },
74
+ { id: "gradGreen", color: colors.green, opacity: 0.3 * gradMul },
75
+ { id: "gradRed", color: colors.red, opacity: 0.3 * gradMul },
76
+ { id: "gradYellow", color: colors.yellow, opacity: 0.3 * gradMul }
76
77
  ];
78
+ const glowMul = isLight ? 0.25 : 1;
77
79
  const filters = [
78
- { id: "glowCyan", std: 3 },
79
- { id: "glowBlue", std: 3 },
80
- { id: "glowGreen", std: 2.5 },
81
- { id: "glowRed", std: 2.5 },
82
- { id: "glowYellow", std: 2.5 }
80
+ { id: "glowCyan", std: 3 * glowMul },
81
+ { id: "glowBlue", std: 3 * glowMul },
82
+ { id: "glowGreen", std: 2.5 * glowMul },
83
+ { id: "glowRed", std: 2.5 * glowMul },
84
+ { id: "glowYellow", std: 2.5 * glowMul }
83
85
  ];
84
86
  return /* @__PURE__ */ jsxs("defs", { children: [
85
87
  gradients.map((g) => /* @__PURE__ */ jsxs("linearGradient", { id: g.id, x1: "0", y1: "0", x2: "0", y2: "1", children: [
@@ -303,7 +305,7 @@ function CyberAreaChart({
303
305
  fontFamily: "var(--mantine-font-family-monospace, monospace)"
304
306
  };
305
307
  return /* @__PURE__ */ jsx(Box, { style: { width: "100%", height }, children: /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", height: "100%", children: /* @__PURE__ */ jsxs(AreaChart, { data, margin, children: [
306
- /* @__PURE__ */ jsx(CyberDefs, { colors }),
308
+ /* @__PURE__ */ jsx(CyberDefs, { colors, isLight }),
307
309
  /* @__PURE__ */ jsx(PulseDefs, { series, colors, isLight }),
308
310
  showGrid && /* @__PURE__ */ jsx(CartesianGrid, { ...gridProps }),
309
311
  /* @__PURE__ */ jsx(XAxis, { dataKey: xDataKey, ...xAxisConfig, tickFormatter: xTickFormatter }),
@@ -334,17 +336,8 @@ function CyberAreaChart({
334
336
  ),
335
337
  allZero && (() => {
336
338
  const bColor = colors[baselineColor ?? series[0]?.color ?? "cyan"];
337
- return /* @__PURE__ */ jsx(
338
- ReferenceLine,
339
- {
340
- y: 0,
341
- stroke: bColor,
342
- strokeWidth: 2,
343
- style: {
344
- filter: `drop-shadow(0 0 4px ${bColor}) drop-shadow(0 0 8px ${bColor})`
345
- }
346
- }
347
- );
339
+ const glow = isLight ? `drop-shadow(0 0 2px ${bColor})` : `drop-shadow(0 0 4px ${bColor}) drop-shadow(0 0 8px ${bColor})`;
340
+ return /* @__PURE__ */ jsx(ReferenceLine, { y: 0, stroke: bColor, strokeWidth: isLight ? 1.5 : 2, style: { filter: glow } });
348
341
  })(),
349
342
  series.map((s) => {
350
343
  const cm = COLOR_MAP[s.color ?? "cyan"];
@@ -368,7 +361,7 @@ function CyberAreaChart({
368
361
  s.dataKey
369
362
  );
370
363
  }),
371
- series.map((s, i) => /* @__PURE__ */ jsx(
364
+ !isLight && series.map((s, i) => /* @__PURE__ */ jsx(
372
365
  Area,
373
366
  {
374
367
  type: "monotone",
@@ -1220,6 +1213,27 @@ function CardHeader({ icon, title, subtitle, rightSection }) {
1220
1213
  rightSection
1221
1214
  ] });
1222
1215
  }
1216
+ var SIZE_MAP = {
1217
+ sm: { dot: 7, inner: 6, outer: 12 },
1218
+ md: { dot: 10, inner: 8, outer: 16 },
1219
+ lg: { dot: 12, inner: 10, outer: 20 }
1220
+ };
1221
+ function GlowDot({ color, size = "md" }) {
1222
+ const { dot, inner, outer } = SIZE_MAP[size];
1223
+ return /* @__PURE__ */ jsx(
1224
+ "div",
1225
+ {
1226
+ style: {
1227
+ width: dot,
1228
+ height: dot,
1229
+ borderRadius: "50%",
1230
+ backgroundColor: color,
1231
+ boxShadow: `0 0 ${inner}px ${color}, 0 0 ${outer}px ${color}40`,
1232
+ flexShrink: 0
1233
+ }
1234
+ }
1235
+ );
1236
+ }
1223
1237
  var GRANULARITY_MAP = {
1224
1238
  "1h": "hour",
1225
1239
  "24h": "hour",
@@ -1586,4 +1600,4 @@ function CombinedTrendChart({
1586
1600
  ] });
1587
1601
  }
1588
1602
 
1589
- export { APIErrorAlert, ActivityTrendChart, CardHeader, CollapsibleSection, CombinedTrendChart, ContextViewer, CostTrendChart, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, DetailCardSkeleton, EmptyState, HeroStatsRow, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition, getSeriesColor, useCyberColors };
1603
+ export { APIErrorAlert, ActivityTrendChart, CardHeader, CollapsibleSection, CombinedTrendChart, ContextViewer, CostTrendChart, CustomSelector, CyberAreaChart, CyberDonut, CyberDonutTooltip, CyberLegendItem, DetailCardSkeleton, EmptyState, GlowDot, HeroStatsRow, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition, getSeriesColor, useCyberColors };
@@ -3986,6 +3986,20 @@ declare function CardHeader({ icon, title, subtitle, rightSection }: CardHeaderP
3986
3986
  */
3987
3987
  declare const ElevasisLoader: MantineLoaderComponent;
3988
3988
 
3989
+ /**
3990
+ * Shared glow indicator primitive. Renders a colored circle with a dual-layer
3991
+ * box-shadow glow effect suitable for status indicators, legend dots, and metric
3992
+ * chips. Pass a resolved cyber-neon color from `useCyberColors()` as the `color`
3993
+ * prop to match the dashboard's cyber aesthetic.
3994
+ */
3995
+ interface GlowDotProps {
3996
+ /** The dot/glow color. Pass a cyber-theme color (e.g. cyberColors.green). */
3997
+ color: string;
3998
+ /** Size variant. Defaults to 'md'. */
3999
+ size?: 'sm' | 'md' | 'lg';
4000
+ }
4001
+ declare function GlowDot({ color, size }: GlowDotProps): react_jsx_runtime.JSX.Element;
4002
+
3989
4003
  interface ICustomModalProps {
3990
4004
  opened: boolean;
3991
4005
  onClose: () => void;
@@ -5633,5 +5647,5 @@ interface WebhookUrlDisplayModalProps {
5633
5647
  }
5634
5648
  declare function WebhookUrlDisplayModal({ opened, endpoint, webhookUrl, onClose }: WebhookUrlDisplayModalProps): react_jsx_runtime.JSX.Element;
5635
5649
 
5636
- export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CustomModal, CustomSelector, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, FormFieldRenderer, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, JsonViewer, KnowledgeBasePage, ListSkeleton, LogEntry, LogGroup, MembershipFeaturePanel, MembershipStatusBadge, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OrganizationMembershipsList, PageNotFound, PageTitleCaption, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, SHARED_VIZ_CONSTANTS, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, catalogItemToResourceDefinition, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, iconMap, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout };
5650
+ export { APIErrorAlert, AbsoluteScheduleForm, ActionModal, ActivityCard, ActivityFilters as ActivityFiltersBar, ActivityTable, AgentDefinitionDisplay, AgentExecutionLogs, AgentExecutionTimeline, AgentExecutionVisualizer, AgentIterationEdge, AgentIterationNode, ApiKeyDisplayModal, ApiKeyList, ApiKeySettings, BaseEdge, BaseExecutionLogs, BaseExecutionLogsHeader, BaseExecutionLogsStates, BaseNode, BusinessImpactCard, CONTAINER_CONSTANTS, CardHeader, CheckpointGroup, CollapsibleJsonSection, CollapsibleSection, CommandQueueSidebar, CommandQueueSidebarMiddle, CommandQueueSidebarTop, CommandQueueTaskRow, CommandViewEdge, CommandViewGraph, CommandViewNode, ConfigCard, ConfirmationInputModal, ConfirmationModal, ContentSections, ContextUsageBadge, ContextViewer, ContractDisplay, CostBreakdownCard, CostByModelTable, CostMetricsCard, CrashErrorFallback, CreateApiKeyModal, CreateCredentialModal, CreateScheduleModal, CredentialList, CredentialSettings, CustomModal, CustomSelector, DeleteScheduleModal, DeploymentDetailModal, DeploymentList, DeploymentSettings, DeploymentStatusBadge, DetailCardSkeleton, DocTreeNav, EditApiKeyModal, ElevasisLoader, EmptyState, EmptyVisualizer, ErrorAnalysisCard, ErrorBreakdownTable, ErrorReportCard, ExecutionBreakdownTable, ExecutionErrorSection, ExecutionHealthCard, ExecutionLogsFilters as ExecutionLogsFilterBar, ExecutionLogsTable, ExecutionStats, ExecutionStatusBadge, FilterBar, FormFieldRenderer, GlowDot, GraphBackground, GraphContainer, GraphFitViewButton, GraphFitViewHandler, GraphLegend, JsonViewer, KnowledgeBasePage, ListSkeleton, LogEntry, LogGroup, MembershipFeaturePanel, MembershipStatusBadge, NavigationButton, NewKnowledgeMapEdge, NewKnowledgeMapGraph, NewKnowledgeMapNode, NotificationBell, NotificationItem, NotificationList, NotificationPanel, OAuthConnectModal, OrganizationMembershipsList, PageNotFound, PageTitleCaption, RecurringScheduleForm, RelativeScheduleForm, ResourceCard, ResourceDefinitionSection, ResourceErrorState, ResourceFilter, ResourceHeader, ResourceHealthChart, ResourceHealthPanel, ResourceNotFoundState, SHARED_VIZ_CONSTANTS, ScheduleCard, ScheduleDetailModal, ScheduleTypeSelector, SessionMemory, SortableHeader, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TableSelectionToolbar, TaskCard, TaskScheduler, TimeRangeSelector, TimelineAxis, TimelineBar, TimelineContainer, TimelineRow, ToolsListDisplay, TrendIndicator, UnifiedWorkflowEdge, UnifiedWorkflowGraph, UnifiedWorkflowNode, VisualizerContainer, WebhookUrlDisplayModal, WorkflowDefinitionDisplay, WorkflowExecutionLogs, WorkflowExecutionTimeline, buildErrorReport, catalogItemToResourceDefinition, getExecutionStatusConfig, getGraphBackgroundStyles, getHealthColor, getIcon, getLogLevelConfig, iconMap, showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification, useGraphBackgroundStyles, useGraphTheme, useNewKnowledgeMapLayout };
5637
5651
  export type { ActivityFiltersProps, ActivityTableProps, BaseEdgeProps, BaseExecutionLogsProps, CommandViewGraphRef, ContextViewerProps, CostByModelTableProps, CrashErrorFallbackProps, ErrorAnalysisCardProps, ErrorReportCardProps, ExecutionBreakdownTableProps, ExecutionHealthCardProps, ExecutionLogEntry, ExecutionLogsFiltersProps, ExecutionLogsTableProps, FitViewButtonVariant, GraphFitViewHandlerProps, JsonViewerProps, KnowledgeMapEdgeData, KnowledgeMapNodeData, LogLevel, NavigationButtonProps, ResourceHealthPanelProps, ScheduleType, SerializedKnowledgeMap, SerializedKnowledgeNode, StatCardProps, StyledMarkdownProps, TaskFilterStatus, TrendIndicatorProps };
@@ -1,6 +1,6 @@
1
- import { useCyberColors, EmptyState, CyberLegendItem, CyberAreaChart, APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, ContextViewer, JsonViewer, StyledMarkdown, PageTitleCaption, StatCard, CyberDonut, CollapsibleSection, ListSkeleton } from '../chunk-HGUJ6SSM.js';
2
- export { APIErrorAlert, CardHeader, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-HGUJ6SSM.js';
3
- import { SubshellLoader, SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer, PageContainer, AppShellLoader, SubshellSidebarSection, CollapsibleSidebarGroup, SidebarListItem } from '../chunk-JAUEZCVD.js';
1
+ import { useCyberColors, EmptyState, CyberLegendItem, CyberAreaChart, APIErrorAlert, CardHeader, StatsCardSkeleton, TrendIndicator, DetailCardSkeleton, GlowDot, ContextViewer, JsonViewer, StyledMarkdown, PageTitleCaption, StatCard, CyberDonut, CollapsibleSection, ListSkeleton } from '../chunk-VOSLYTTR.js';
2
+ export { APIErrorAlert, CardHeader, CollapsibleSection, ContextViewer, CustomSelector, DetailCardSkeleton, EmptyState, GlowDot, JsonViewer, ListSkeleton, PageNotFound, PageTitleCaption, ResourceCard, StatCard, StatCardSkeleton, StatsCardSkeleton, StyledMarkdown, TabCountBadge, TimeRangeSelector, TrendIndicator, catalogItemToResourceDefinition } from '../chunk-VOSLYTTR.js';
3
+ import { SubshellLoader, SubshellContainer, SubshellSidebar, SubshellRightSideContainer, SubshellContentContainer, PageContainer, AppShellLoader, SubshellSidebarSection, CollapsibleSidebarGroup, SidebarListItem } from '../chunk-UCTTJ2RS.js';
4
4
  export { NavigationButton } from '../chunk-KBLGVZBD.js';
5
5
  import { useUpdateApiKey, useDeleteApiKey, useCreateApiKey, useListApiKeys, useDeleteCredential, useCreateCredential, useCredentials, useActivateDeployment, useDeactivateDeployment, useDeleteDeployment, useListDeployments, MEMBERSHIP_STATUS_COLORS, transformMembershipToTableRow, showApiErrorNotification, showSuccessNotification, CredentialSchemas, showErrorNotification } from '../chunk-PMSLNXUS.js';
6
6
  export { showApiErrorNotification, showErrorNotification, showInfoNotification, showSuccessNotification, showWarningNotification } from '../chunk-PMSLNXUS.js';
@@ -16,10 +16,11 @@ import { ResourceStatusColors, toWorkflowLogMessages } from '../chunk-ELJIFLCB.j
16
16
  import '../chunk-GU46QC4Z.js';
17
17
  import '../chunk-CKFTPEBC.js';
18
18
  import '../chunk-RNP5R5I3.js';
19
- import '../chunk-RHHWAM22.js';
19
+ import '../chunk-5H6OPZQB.js';
20
20
  export { ElevasisLoader } from '../chunk-SZHARWKU.js';
21
- import '../chunk-6ZNKDPAO.js';
22
- import '../chunk-TBRTRBJV.js';
21
+ import '../chunk-K6DYEZHC.js';
22
+ import '../chunk-GATPOCUD.js';
23
+ import '../chunk-GIQPDIG5.js';
23
24
  import '../chunk-YCOTIVEZ.js';
24
25
  import { useAppearance } from '../chunk-QJ2KCHKX.js';
25
26
  import '../chunk-4J3GVBB7.js';
@@ -1771,6 +1772,7 @@ function ExecutionStats({
1771
1772
  align = "flex-end",
1772
1773
  compact = false
1773
1774
  }) {
1775
+ const cyberColors = useCyberColors();
1774
1776
  if (totalExecutions === 0 && !compact) {
1775
1777
  return null;
1776
1778
  }
@@ -1788,11 +1790,11 @@ function ExecutionStats({
1788
1790
  "%"
1789
1791
  ] }),
1790
1792
  /* @__PURE__ */ jsxs(Group, { gap: 5, wrap: "nowrap", children: [
1791
- /* @__PURE__ */ jsx("div", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--color-success)" } }),
1793
+ /* @__PURE__ */ jsx(GlowDot, { size: "sm", color: cyberColors.green }),
1792
1794
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "green", children: successCount })
1793
1795
  ] }),
1794
1796
  failureCount > 0 && /* @__PURE__ */ jsxs(Group, { gap: 5, wrap: "nowrap", children: [
1795
- /* @__PURE__ */ jsx("div", { style: { width: 7, height: 7, borderRadius: "50%", background: "var(--color-error)" } }),
1797
+ /* @__PURE__ */ jsx(GlowDot, { size: "sm", color: cyberColors.red }),
1796
1798
  /* @__PURE__ */ jsx(Text, { size: "sm", fw: 600, c: "red", children: failureCount })
1797
1799
  ] })
1798
1800
  ] }),
@@ -1865,7 +1867,6 @@ function TimelineContainer({ executionStart, executionEnd, children }) {
1865
1867
  {
1866
1868
  style: {
1867
1869
  borderBottom: "1px solid var(--color-border)",
1868
- borderRadius: "var(--mantine-radius-default)",
1869
1870
  backgroundColor: "var(--color-background)",
1870
1871
  padding: "var(--mantine-spacing-xs)"
1871
1872
  },
@@ -2020,8 +2021,8 @@ var VisualizerContainer = ({ children, handleContainerClick, height }) => {
2020
2021
  bg: "var(--color-background)",
2021
2022
  onClick: handleContainerClick,
2022
2023
  style: {
2023
- borderBottom: "1px solid var(--color-border)",
2024
- borderRadius: "var(--mantine-radius-default)"
2024
+ // borderBottom: '1px solid var(--color-border)',
2025
+ // borderRadius: 'var(--mantine-radius-default)'
2025
2026
  },
2026
2027
  children: /* @__PURE__ */ jsx(
2027
2028
  "div",
@@ -3213,7 +3213,7 @@ interface MembershipFeatureConfig {
3213
3213
  */
3214
3214
  interface UserConfig {
3215
3215
  theme?: {
3216
- preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
3216
+ preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
3217
3217
  colorScheme?: 'light' | 'dark' | 'auto';
3218
3218
  };
3219
3219
  onboarding?: {
@@ -5,10 +5,11 @@ import '../chunk-NJJ3NQ7B.js';
5
5
  import '../chunk-F6RBK7NJ.js';
6
6
  import '../chunk-GU46QC4Z.js';
7
7
  import '../chunk-RNP5R5I3.js';
8
- import '../chunk-RHHWAM22.js';
8
+ import '../chunk-5H6OPZQB.js';
9
9
  import '../chunk-SZHARWKU.js';
10
- import '../chunk-6ZNKDPAO.js';
11
- import '../chunk-TBRTRBJV.js';
10
+ import '../chunk-K6DYEZHC.js';
11
+ import '../chunk-GATPOCUD.js';
12
+ import '../chunk-GIQPDIG5.js';
12
13
  import '../chunk-YCOTIVEZ.js';
13
14
  import '../chunk-QJ2KCHKX.js';
14
15
  import '../chunk-4J3GVBB7.js';
@@ -3642,7 +3642,7 @@ interface MembershipFeatureConfig {
3642
3642
  */
3643
3643
  interface UserConfig {
3644
3644
  theme?: {
3645
- preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
3645
+ preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
3646
3646
  colorScheme?: 'light' | 'dark' | 'auto';
3647
3647
  };
3648
3648
  onboarding?: {
@@ -4,10 +4,11 @@ import '../chunk-NJJ3NQ7B.js';
4
4
  import '../chunk-F6RBK7NJ.js';
5
5
  import '../chunk-GU46QC4Z.js';
6
6
  import '../chunk-RNP5R5I3.js';
7
- import '../chunk-RHHWAM22.js';
7
+ import '../chunk-5H6OPZQB.js';
8
8
  import '../chunk-SZHARWKU.js';
9
- import '../chunk-6ZNKDPAO.js';
10
- import '../chunk-TBRTRBJV.js';
9
+ import '../chunk-K6DYEZHC.js';
10
+ import '../chunk-GATPOCUD.js';
11
+ import '../chunk-GIQPDIG5.js';
11
12
  import '../chunk-YCOTIVEZ.js';
12
13
  import '../chunk-QJ2KCHKX.js';
13
14
  import '../chunk-4J3GVBB7.js';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { QueryClient } from '@tanstack/react-query';
3
1
  import * as react from 'react';
4
2
  import { ReactNode, MouseEvent, AnchorHTMLAttributes, ElementType } from 'react';
3
+ import * as _tanstack_react_query from '@tanstack/react-query';
4
+ import { QueryClient } from '@tanstack/react-query';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
7
7
  import { Node, Edge, NodeMouseHandler } from '@xyflow/react';
@@ -269,8 +269,18 @@ interface ThemePreset {
269
269
  description?: string;
270
270
  /** Three representative hex colors for swatch display: [primary, dark-bg, light-bg]. */
271
271
  colors?: [string, string, string];
272
+ /**
273
+ * Background layers rendered behind app content when this preset is active.
274
+ * Overridden by `theme.background` on the provider if both are set.
275
+ */
276
+ background?: ReactNode;
277
+ /**
278
+ * Loader element used in loading states when this preset is active.
279
+ * Overridden by `theme.loader` on the provider if both are set.
280
+ */
281
+ loader?: ReactNode;
272
282
  }
273
- type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
283
+ type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'honey' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
274
284
 
275
285
  /** 10-shade color tuple (light → dark), compatible with Mantine's color format. */
276
286
  type ColorShadesTuple = [string, string, string, string, string, string, string, string, string, string];
@@ -3661,7 +3671,7 @@ interface MembershipFeatureConfig {
3661
3671
  */
3662
3672
  interface UserConfig {
3663
3673
  theme?: {
3664
- preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
3674
+ preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
3665
3675
  colorScheme?: 'light' | 'dark' | 'auto';
3666
3676
  };
3667
3677
  onboarding?: {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { useAvailablePresets } from './chunk-E72FC2ZF.js';
1
+ export { useAvailablePresets } from './chunk-CWCX2HCP.js';
2
2
  import './chunk-XCYKC6OZ.js';
3
3
  export { ApiKeyService, CredentialService, DeploymentService, OrganizationMembershipService, WebhookEndpointService, filterByDomainFilters, useActivateDeployment, useActivityFilters, useCommandViewDomainFilters, useCreateApiKey, useCreateCredential, useCreateWebhookEndpoint, useCredentials, useDeactivateDeployment, useDeactivateMembership, useDeleteApiKey, useDeleteCredential, useDeleteDeployment, useDeleteWebhookEndpoint, useExecutionLogsFilters, useListApiKeys, useListDeployments, useListWebhookEndpoints, useOrganizationMembers, useReactivateMembership, useResourceSearch, useResourcesDomainFilters, useStatusFilter, useTimeRangeDates, useUpdateApiKey, useUpdateCredential, useUpdateMemberConfig, useUpdateWebhookEndpoint, useUserMemberships, useVisibleResources } from './chunk-PMSLNXUS.js';
4
4
  export { OperationsService, createUseFeatureAccess, executionsKeys, isSessionCapable, operationsKeys, scheduleKeys, sessionsKeys, sortData, useActivities, useActivityTrend, useArchiveSession, useArchivedLogs, useBatchDelete, useBatchedResourcesHealth, useBulkDeleteExecutions, useBusinessImpact, useCancelExecution, useCancelSchedule, useCheckpointTasks, useCommandQueue, useCommandQueueTotals, useCommandViewData, useCommandViewLayout, useCommandViewStats, useCommandViewStore, useCostBreakdown, useCostByModel, useCostSummary, useCostTrends, useCreateSchedule, useCreateSession, useDashboardMetrics, useDeleteExecution, useDeleteSchedule, useDeleteSession, useDeleteTask, useDeploymentDocs, useErrorAnalysis, useErrorDetail, useErrorDetails, useErrorDistribution, useErrorNotification, useExecuteAsync, useExecution, useExecutionHealth, useExecutionLogSSE, useExecutionLogs, useExecutionPanelState, useExecutions, useGetExecutionHistory, useGetSchedule, useGraphStats, useListSchedules, useMarkAllAsRead, useMarkAsRead, useNotificationCount, useNotifications, usePaginationState, usePatchTask, usePauseSchedule, useRecentExecutionsByResource, useResolveAllErrors, useResolveError, useResolveErrorsByExecution, useResourceDefinition, useResourceErrors, useResourceExecutions, useResources, useResourcesHealth, useResumeSchedule, useRetryExecution, useSSEConnection, useScheduledTasks, useSession, useSessionExecution, useSessionExecutions, useSessionMessages, useSessionWebSocket, useSessions, useSortedData, useSubmitAction, useSuccessNotification, useTableSelection, useTableSort, useTestNotification, useTopFailingResources, useUnresolveError, useUnresolvedErrors, useUpdateAnchor, useUpdateSchedule, useWarningNotification } from './chunk-NOGBWAGU.js';
@@ -11,10 +11,11 @@ import './chunk-ELJIFLCB.js';
11
11
  export { createOrganizationsSlice, createUseOrgInitialization, createUseOrganizations } from './chunk-GU46QC4Z.js';
12
12
  export { createUseAppInitialization } from './chunk-CKFTPEBC.js';
13
13
  import './chunk-RNP5R5I3.js';
14
- export { ElevasisUIProvider } from './chunk-RHHWAM22.js';
14
+ export { ElevasisUIProvider } from './chunk-5H6OPZQB.js';
15
15
  import './chunk-SZHARWKU.js';
16
- export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-6ZNKDPAO.js';
17
- import './chunk-TBRTRBJV.js';
16
+ export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from './chunk-K6DYEZHC.js';
17
+ import './chunk-GATPOCUD.js';
18
+ import './chunk-GIQPDIG5.js';
18
19
  export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from './chunk-YCOTIVEZ.js';
19
20
  export { AppearanceProvider, useAppearance } from './chunk-QJ2KCHKX.js';
20
21
  export { OrganizationProvider } from './chunk-4J3GVBB7.js';
@@ -41,6 +41,57 @@ declare function AppBackground({ children }: {
41
41
  children?: ReactNode;
42
42
  }): react_jsx_runtime.JSX.Element;
43
43
 
44
+ type CyberVariant = 'flux' | 'strike' | 'void' | 'volt';
45
+ interface CyberParticlesProps {
46
+ /** Which particle flavor to render. */
47
+ variant: CyberVariant;
48
+ className?: string;
49
+ }
50
+ /**
51
+ * Techy particle layer for cyber-themed presets.
52
+ *
53
+ * Sits alongside `PerspectiveGrid` / `RadiantGlow` / `FloatingOrbs` / `FilmGrain`
54
+ * at the same z-level (via document order) and adds rising electric sparks
55
+ * that inherit their color from `var(--color-primary)` so they automatically
56
+ * match the active preset's accent:
57
+ *
58
+ * - `flux` — yellow sparks
59
+ * - `strike` — red sparks
60
+ * - `void` — blue sparks
61
+ * - `volt` — cyan sparks
62
+ *
63
+ * The `variant` prop is currently unused at the render level (all four
64
+ * cyber presets share the same spark effect), but is kept in the API so
65
+ * individual variants can diverge again without changing preset wiring.
66
+ *
67
+ * Particle field is generated once at module load (fresh per page reload).
68
+ * All animations are disabled under `prefers-reduced-motion`.
69
+ */
70
+ declare function CyberParticles({ variant: _variant, className }: CyberParticlesProps): React$1.JSX.Element;
71
+
72
+ interface CyberBackgroundProps {
73
+ /** Which techy particle effect to layer on top of the default background. */
74
+ variant: CyberVariant;
75
+ }
76
+ /**
77
+ * Composite background for cyber-themed presets.
78
+ *
79
+ * Extends the default `AppBackground` (PerspectiveGrid + RadiantGlow +
80
+ * FloatingOrbs + FilmGrain) with a variant-specific `CyberParticles` layer
81
+ * inserted just below the film grain so the particles feel embedded in
82
+ * the scene rather than sitting flat on top.
83
+ *
84
+ * Designed to be bundled into cyber-themed presets via
85
+ * `ThemePreset.background`. Consumers can still override the full background
86
+ * per-app via `<ElevasisUIProvider theme={{ background: <Custom/> }}>`.
87
+ *
88
+ * - `flux` — Rising electric sparks (hazard yellow)
89
+ * - `strike` — Combat HUD scan sweep + radar pings + targeting brackets
90
+ * - `void` — Matrix-style digital rain
91
+ * - `volt` — Circuit-board data flow with animated pulses
92
+ */
93
+ declare function CyberBackground({ variant }: CyberBackgroundProps): React$1.JSX.Element;
94
+
44
95
  interface FilmGrainProps {
45
96
  /** Opacity in dark mode (0-1). Defaults to 0.04. */
46
97
  darkOpacity?: number;
@@ -70,12 +121,14 @@ declare function FloatingOrbs({ color, count, className }: FloatingOrbsProps): R
70
121
 
71
122
  interface PerspectiveGridProps {
72
123
  glowColor?: string;
124
+ /** Override the grid line color. Defaults to a neutral gray scoped to the color scheme. */
125
+ lineColor?: string;
73
126
  className?: string;
74
127
  }
75
128
  /**
76
129
  * 3D perspective grid background using CSS transforms
77
130
  */
78
- declare function PerspectiveGrid({ glowColor, className }: PerspectiveGridProps): React$1.JSX.Element;
131
+ declare function PerspectiveGrid({ glowColor, lineColor: lineColorProp, className }: PerspectiveGridProps): React$1.JSX.Element;
79
132
 
80
133
  interface RadiantGlowProps {
81
134
  /** Override the glow color. Defaults to var(--color-primary). */
@@ -364,5 +417,5 @@ declare const TopbarContainer: ({ children }: {
364
417
  children: React.ReactNode;
365
418
  }) => react_jsx_runtime.JSX.Element;
366
419
 
367
- export { AppBackground, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, FilmGrain, FloatingOrbs, LinksGroup, PageContainer, PerspectiveGrid, RadiantGlow, Sidebar, SidebarContext, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subsidebarWidth, topbarHeight, useSidebar, useSidebarCollapse };
368
- export type { CollapsibleSidebarGroupProps, LinkItem, LinksGroupProps, SidebarListItemProps, SidebarNestedProps, SubshellContainerProps, SubshellContentContainerProps, SubshellRightSideContainerProps, SubshellSidebarContainerProps, SubshellSidebarProps, SubshellSidebarSectionProps, TopbarProps };
420
+ export { AppBackground, AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, CyberBackground, CyberParticles, FilmGrain, FloatingOrbs, LinksGroup, PageContainer, PerspectiveGrid, RadiantGlow, Sidebar, SidebarContext, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, subsidebarWidth, topbarHeight, useSidebar, useSidebarCollapse };
421
+ export type { CollapsibleSidebarGroupProps, CyberVariant, LinkItem, LinksGroupProps, SidebarListItemProps, SidebarNestedProps, SubshellContainerProps, SubshellContentContainerProps, SubshellRightSideContainerProps, SubshellSidebarContainerProps, SubshellSidebarProps, SubshellSidebarSectionProps, TopbarProps };
@@ -1,6 +1,7 @@
1
- export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-JAUEZCVD.js';
1
+ export { AppShellCenteredContainer, AppShellContainer, AppShellContentContainer, AppShellError, AppShellLoader, AppShellRightSideContainer, AppShellRightSideOuterContainer, AppTopbarAdjusterWrapper, CollapsibleSidebarGroup, LinksGroup, PageContainer, Sidebar, SidebarContext, SidebarListItem, SidebarProvider, SubshellContainer, SubshellContentContainer, SubshellLoader, SubshellRightSideContainer, SubshellSidebar, SubshellSidebarSection, Topbar, TopbarContainer, Vignette, subsidebarWidth, useSidebar, useSidebarCollapse } from '../chunk-UCTTJ2RS.js';
2
2
  export { sidebarBottomSectionCollapsedHeight, sidebarBottomSectionHeight, sidebarCollapsedWidth, sidebarGroupChevronSize, sidebarHoverDelay, sidebarIconInnerSize, sidebarIconSize, sidebarIconStroke, sidebarItemGap, sidebarItemHeight, sidebarItemPadding, sidebarListItemIconSize, sidebarSectionPadding, sidebarSubLinkIndent, sidebarSubLinkPaddingX, sidebarSubLinkPaddingY, sidebarToggleIconSize, sidebarTransitionDuration, sidebarWidth, topbarHeight } from '../chunk-KBLGVZBD.js';
3
3
  import '../chunk-LHQTTUL2.js';
4
- export { AppBackground, FilmGrain, FloatingOrbs, PerspectiveGrid, RadiantGlow } from '../chunk-TBRTRBJV.js';
4
+ export { AppBackground } from '../chunk-GATPOCUD.js';
5
+ export { CyberBackground, CyberParticles, FilmGrain, FloatingOrbs, PerspectiveGrid, RadiantGlow } from '../chunk-GIQPDIG5.js';
5
6
  import '../chunk-QJ2KCHKX.js';
6
7
  import '../chunk-Q7DJKLEN.js';
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { QueryClient } from '@tanstack/react-query';
3
2
  import { ReactNode } from 'react';
3
+ import { QueryClient } from '@tanstack/react-query';
4
4
  import { MantineThemeOverride } from '@mantine/core';
5
5
 
6
6
  /** Framework-agnostic theme overrides bundled with a preset (fonts, radius, component styles). */
@@ -31,8 +31,18 @@ interface ThemePreset {
31
31
  description?: string;
32
32
  /** Three representative hex colors for swatch display: [primary, dark-bg, light-bg]. */
33
33
  colors?: [string, string, string];
34
+ /**
35
+ * Background layers rendered behind app content when this preset is active.
36
+ * Overridden by `theme.background` on the provider if both are set.
37
+ */
38
+ background?: ReactNode;
39
+ /**
40
+ * Loader element used in loading states when this preset is active.
41
+ * Overridden by `theme.loader` on the provider if both are set.
42
+ */
43
+ loader?: ReactNode;
34
44
  }
35
- type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
45
+ type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'honey' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
36
46
 
37
47
  interface ApiErrorDetails {
38
48
  method: string;
@@ -1,7 +1,8 @@
1
- export { ElevasisUIProvider } from '../chunk-RHHWAM22.js';
1
+ export { ElevasisUIProvider } from '../chunk-5H6OPZQB.js';
2
2
  import '../chunk-SZHARWKU.js';
3
- import '../chunk-6ZNKDPAO.js';
4
- import '../chunk-TBRTRBJV.js';
3
+ import '../chunk-K6DYEZHC.js';
4
+ import '../chunk-GATPOCUD.js';
5
+ import '../chunk-GIQPDIG5.js';
5
6
  export { ElevasisCoreProvider, NotificationProvider, useNotificationAdapter } from '../chunk-YCOTIVEZ.js';
6
7
  export { AppearanceProvider, useAppearance } from '../chunk-QJ2KCHKX.js';
7
8
  import '../chunk-4J3GVBB7.js';
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { QueryClient } from '@tanstack/react-query';
3
2
  import { ReactNode } from 'react';
3
+ import { QueryClient } from '@tanstack/react-query';
4
4
 
5
5
  /** Framework-agnostic theme overrides bundled with a preset (fonts, radius, component styles). */
6
6
  interface FrameworkThemeOverrides {
@@ -30,8 +30,18 @@ interface ThemePreset {
30
30
  description?: string;
31
31
  /** Three representative hex colors for swatch display: [primary, dark-bg, light-bg]. */
32
32
  colors?: [string, string, string];
33
+ /**
34
+ * Background layers rendered behind app content when this preset is active.
35
+ * Overridden by `theme.background` on the provider if both are set.
36
+ */
37
+ background?: ReactNode;
38
+ /**
39
+ * Loader element used in loading states when this preset is active.
40
+ * Overridden by `theme.loader` on the provider if both are set.
41
+ */
42
+ loader?: ReactNode;
33
43
  }
34
- type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
44
+ type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'honey' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
35
45
 
36
46
  interface ApiErrorDetails {
37
47
  method: string;
@@ -1,5 +1,6 @@
1
- import { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
2
1
  import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { CSSVariablesResolver, MantineThemeOverride } from '@mantine/core';
3
4
 
4
5
  /** Flat + per-scheme override pattern. Flat values apply to both; `light`/`dark` win over flat. */
5
6
  type WithSchemes<T> = T & {
@@ -84,8 +85,18 @@ interface ThemePreset {
84
85
  description?: string;
85
86
  /** Three representative hex colors for swatch display: [primary, dark-bg, light-bg]. */
86
87
  colors?: [string, string, string];
88
+ /**
89
+ * Background layers rendered behind app content when this preset is active.
90
+ * Overridden by `theme.background` on the provider if both are set.
91
+ */
92
+ background?: ReactNode;
93
+ /**
94
+ * Loader element used in loading states when this preset is active.
95
+ * Overridden by `theme.loader` on the provider if both are set.
96
+ */
97
+ loader?: ReactNode;
87
98
  }
88
- type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
99
+ type PresetName = 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'honey' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
89
100
 
90
101
  /** 10-shade color tuple (light → dark), compatible with Mantine's color format. */
91
102
  type ColorShadesTuple = [string, string, string, string, string, string, string, string, string, string];
@@ -1,2 +1,3 @@
1
- export { useAvailablePresets } from '../chunk-E72FC2ZF.js';
2
- export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-6ZNKDPAO.js';
1
+ export { useAvailablePresets } from '../chunk-CWCX2HCP.js';
2
+ export { PresetsProvider, TOKEN_VAR_MAP, componentThemes, createCssVariablesResolver, generateShades, getPreset, mantineThemeOverride, PRESETS as presets, usePresetsContext } from '../chunk-K6DYEZHC.js';
3
+ import '../chunk-GIQPDIG5.js';
@@ -2957,7 +2957,7 @@ interface MembershipFeatureConfig {
2957
2957
  */
2958
2958
  interface UserConfig {
2959
2959
  theme?: {
2960
- preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void';
2960
+ preset?: 'default' | 'tactical' | 'regal' | 'cyber-volt' | 'aurora' | 'rose-gold' | 'midnight' | 'ember' | 'obsidian' | 'honey' | 'abyss' | 'canopy' | 'slate' | 'cyber-strike' | 'cyber-flux' | 'cyber-void' | 'nirvana' | 'wave';
2961
2961
  colorScheme?: 'light' | 'dark' | 'auto';
2962
2962
  };
2963
2963
  onboarding?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elevasis/ui",
3
- "version": "1.14.6",
3
+ "version": "1.15.1",
4
4
  "description": "UI components and platform-aware hooks for building custom frontends on the Elevasis platform",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -182,8 +182,8 @@
182
182
  "typescript": "5.9.2",
183
183
  "vite": "^7.0.0",
184
184
  "@repo/core": "0.0.0",
185
- "@repo/typescript-config": "0.0.0",
186
- "@repo/eslint-config": "0.0.0"
185
+ "@repo/eslint-config": "0.0.0",
186
+ "@repo/typescript-config": "0.0.0"
187
187
  },
188
188
  "dependencies": {
189
189
  "@dagrejs/dagre": "^1.1.4",
File without changes