@omniviewdev/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/LICENSE +661 -0
  2. package/dist/Button-Dmu1cikC.cjs +1 -0
  3. package/dist/Button-lr02bh_m.js +51 -0
  4. package/dist/CodeBlock-B1iQO7zU.js +73 -0
  5. package/dist/CodeBlock-CIyG0DbW.cjs +2 -0
  6. package/dist/CopyButton-CACe3RCF.cjs +1 -0
  7. package/dist/CopyButton-DPBgL0K8.js +77 -0
  8. package/dist/ErrorState-CexYrMpy.js +188 -0
  9. package/dist/ErrorState-CnIR-1xa.cjs +1 -0
  10. package/dist/HotkeyHint-6SOi-MaU.js +37 -0
  11. package/dist/HotkeyHint-DrTOTrIM.cjs +1 -0
  12. package/dist/Icon-CKdIOrjZ.cjs +1 -0
  13. package/dist/Icon-CuO9W7cA.js +27 -0
  14. package/dist/SearchInput-CFBBNdI2.cjs +1 -0
  15. package/dist/SearchInput-D3AsCI5H.js +41 -0
  16. package/dist/Select-CnRBSc5w.cjs +1 -0
  17. package/dist/Select-DTUF31OP.js +206 -0
  18. package/dist/Skeleton-BUYyXUiC.js +32 -0
  19. package/dist/Skeleton-CfdQWLQM.cjs +1 -0
  20. package/dist/StatusDot-CYyJxjJK.cjs +1 -0
  21. package/dist/StatusDot-CncykBAY.js +68 -0
  22. package/dist/StatusPill-C1NaiCzd.js +29 -0
  23. package/dist/StatusPill-C7yn7dSA.cjs +1 -0
  24. package/dist/TabPanel-CkUSl6Bt.cjs +1 -0
  25. package/dist/TabPanel-DLHbgKpl.js +124 -0
  26. package/dist/Text-By4P3in5.js +71 -0
  27. package/dist/Text-Mk6Uyg1w.cjs +1 -0
  28. package/dist/Tooltip-44-P5KfQ.cjs +1 -0
  29. package/dist/Tooltip-BEVuYuZ3.js +41 -0
  30. package/dist/_commonjsHelpers-CvWRHxnb.js +26 -0
  31. package/dist/_commonjsHelpers-D3HyQheV.cjs +1 -0
  32. package/dist/buttons/ActionMenu.d.ts +21 -0
  33. package/dist/buttons/Button.d.ts +31 -0
  34. package/dist/buttons/ButtonGroup.d.ts +18 -0
  35. package/dist/buttons/ConfirmButton.d.ts +10 -0
  36. package/dist/buttons/CopyButton.d.ts +11 -0
  37. package/dist/buttons/IconButton.d.ts +21 -0
  38. package/dist/buttons/SearchBar.d.ts +22 -0
  39. package/dist/buttons/ToggleButton.d.ts +18 -0
  40. package/dist/buttons/ToggleGroup.d.ts +23 -0
  41. package/dist/buttons/Toolbar.d.ts +15 -0
  42. package/dist/buttons/ToolbarGroup.d.ts +11 -0
  43. package/dist/buttons/index.d.ts +22 -0
  44. package/dist/buttons.cjs +1 -0
  45. package/dist/buttons.js +430 -0
  46. package/dist/cells/BadgesCell.d.ts +19 -0
  47. package/dist/cells/ChipCell.d.ts +16 -0
  48. package/dist/cells/SelectBoxHeader.d.ts +11 -0
  49. package/dist/cells/SelectBoxRow.d.ts +11 -0
  50. package/dist/cells/TextCell.d.ts +25 -0
  51. package/dist/cells/index.d.ts +5 -0
  52. package/dist/cells.cjs +1 -0
  53. package/dist/cells.js +284 -0
  54. package/dist/charts/BarChart.d.ts +15 -0
  55. package/dist/charts/ChartContainer.d.ts +12 -0
  56. package/dist/charts/ChartLegend.d.ts +11 -0
  57. package/dist/charts/GaugeCard.d.ts +18 -0
  58. package/dist/charts/MetricsPanel.d.ts +61 -0
  59. package/dist/charts/PieChart.d.ts +13 -0
  60. package/dist/charts/ScatterChart.d.ts +25 -0
  61. package/dist/charts/Sparkline.d.ts +16 -0
  62. package/dist/charts/StackedAreaChart.d.ts +18 -0
  63. package/dist/charts/TimeSeriesChart.d.ts +43 -0
  64. package/dist/charts/formatters.d.ts +17 -0
  65. package/dist/charts/index.d.ts +21 -0
  66. package/dist/charts/palette.d.ts +7 -0
  67. package/dist/charts/types.d.ts +67 -0
  68. package/dist/charts/useChartTheme.d.ts +13 -0
  69. package/dist/charts.cjs +1 -0
  70. package/dist/charts.js +967 -0
  71. package/dist/components/ActionCard.d.ts +22 -0
  72. package/dist/components/AspectRatio.d.ts +13 -0
  73. package/dist/components/Avatar.d.ts +19 -0
  74. package/dist/components/Badge.d.ts +22 -0
  75. package/dist/components/Card.d.ts +24 -0
  76. package/dist/components/Chip.d.ts +32 -0
  77. package/dist/components/ClipboardText.d.ts +14 -0
  78. package/dist/components/DetailsCard.d.ts +25 -0
  79. package/dist/components/EmptySearch.d.ts +12 -0
  80. package/dist/components/ExpandableSections.d.ts +51 -0
  81. package/dist/components/FileIcon.d.ts +12 -0
  82. package/dist/components/HotkeyHint.d.ts +8 -0
  83. package/dist/components/Icon.d.ts +7 -0
  84. package/dist/components/InlineEdit.d.ts +14 -0
  85. package/dist/components/KVCard.d.ts +12 -0
  86. package/dist/components/Kbd.d.ts +8 -0
  87. package/dist/components/List.d.ts +29 -0
  88. package/dist/components/ListCard.d.ts +30 -0
  89. package/dist/components/ListItem.d.ts +27 -0
  90. package/dist/components/LoadingOverlay.d.ts +14 -0
  91. package/dist/components/MediaCard.d.ts +24 -0
  92. package/dist/components/MetricsSection.d.ts +37 -0
  93. package/dist/components/OverflowText.d.ts +12 -0
  94. package/dist/components/StatCard.d.ts +26 -0
  95. package/dist/components/StatusCard.d.ts +29 -0
  96. package/dist/components/TruncatedList.d.ts +13 -0
  97. package/dist/domain/DescriptionList.d.ts +12 -0
  98. package/dist/domain/EventsList.d.ts +11 -0
  99. package/dist/domain/FilterBar.d.ts +23 -0
  100. package/dist/domain/LogsViewer.d.ts +15 -0
  101. package/dist/domain/MetricCard.d.ts +14 -0
  102. package/dist/domain/ObjectInspector.d.ts +19 -0
  103. package/dist/domain/ResourceBreadcrumb.d.ts +19 -0
  104. package/dist/domain/ResourceRef.d.ts +15 -0
  105. package/dist/domain/ResourceStatus.d.ts +17 -0
  106. package/dist/domain/SecretValueMask.d.ts +11 -0
  107. package/dist/domain/Timeline.d.ts +21 -0
  108. package/dist/domain/index.d.ts +23 -0
  109. package/dist/domain/types.d.ts +25 -0
  110. package/dist/domain.cjs +1 -0
  111. package/dist/domain.js +871 -0
  112. package/dist/editors/CodeEditor.d.ts +19 -0
  113. package/dist/editors/CommandPalette.d.ts +22 -0
  114. package/dist/editors/DiffViewer.d.ts +14 -0
  115. package/dist/editors/MarkdownPreview.d.ts +9 -0
  116. package/dist/editors/Terminal.d.ts +18 -0
  117. package/dist/editors/index.d.ts +11 -0
  118. package/dist/editors/themes.d.ts +4 -0
  119. package/dist/editors.cjs +42 -0
  120. package/dist/editors.js +38396 -0
  121. package/dist/feedback/Alert.d.ts +21 -0
  122. package/dist/feedback/ConnectionIndicator.d.ts +15 -0
  123. package/dist/feedback/EmptyState.d.ts +17 -0
  124. package/dist/feedback/ErrorState.d.ts +12 -0
  125. package/dist/feedback/IDEStatusFooter.d.ts +104 -0
  126. package/dist/feedback/NotificationStack.d.ts +32 -0
  127. package/dist/feedback/ProgressBar.d.ts +16 -0
  128. package/dist/feedback/ProgressRing.d.ts +26 -0
  129. package/dist/feedback/RunButton.d.ts +17 -0
  130. package/dist/feedback/Skeleton.d.ts +13 -0
  131. package/dist/feedback/StatusBar.d.ts +12 -0
  132. package/dist/feedback/StatusBarItem.d.ts +18 -0
  133. package/dist/feedback/StatusDot.d.ts +14 -0
  134. package/dist/feedback/StatusPill.d.ts +13 -0
  135. package/dist/feedback/index.d.ts +29 -0
  136. package/dist/feedback.cjs +1 -0
  137. package/dist/feedback.js +1011 -0
  138. package/dist/index.cjs +1 -0
  139. package/dist/index.d.ts +54 -0
  140. package/dist/index.js +1632 -0
  141. package/dist/inputs/Autocomplete.d.ts +30 -0
  142. package/dist/inputs/Checkbox.d.ts +17 -0
  143. package/dist/inputs/ColorPicker.d.ts +13 -0
  144. package/dist/inputs/DebouncedInput.d.ts +10 -0
  145. package/dist/inputs/FormField.d.ts +15 -0
  146. package/dist/inputs/FormSection.d.ts +14 -0
  147. package/dist/inputs/KeyValueEditor.d.ts +17 -0
  148. package/dist/inputs/RadioGroup.d.ts +23 -0
  149. package/dist/inputs/SearchInput.d.ts +14 -0
  150. package/dist/inputs/Select.d.ts +32 -0
  151. package/dist/inputs/Slider.d.ts +24 -0
  152. package/dist/inputs/Switch.d.ts +17 -0
  153. package/dist/inputs/TagInput.d.ts +18 -0
  154. package/dist/inputs/TextArea.d.ts +26 -0
  155. package/dist/inputs/TextField.d.ts +39 -0
  156. package/dist/inputs/TimeRangePicker.d.ts +21 -0
  157. package/dist/inputs/index.d.ts +31 -0
  158. package/dist/inputs.cjs +21 -0
  159. package/dist/inputs.js +15834 -0
  160. package/dist/layout/AppShell.d.ts +18 -0
  161. package/dist/layout/DockLayout.d.ts +23 -0
  162. package/dist/layout/Inline.d.ts +15 -0
  163. package/dist/layout/Panel.d.ts +17 -0
  164. package/dist/layout/ResizableSplitPane.d.ts +18 -0
  165. package/dist/layout/Spacer.d.ts +9 -0
  166. package/dist/layout/Stack.d.ts +19 -0
  167. package/dist/layout/index.d.ts +16 -0
  168. package/dist/layout/useResizablePanel.d.ts +18 -0
  169. package/dist/layout.cjs +5 -0
  170. package/dist/layout.js +378 -0
  171. package/dist/menus/ContextMenu.d.ts +12 -0
  172. package/dist/menus/DropdownMenu.d.ts +20 -0
  173. package/dist/menus/MenuBar.d.ts +11 -0
  174. package/dist/menus/NestedMenuItem.d.ts +13 -0
  175. package/dist/menus/SplitButton.d.ts +15 -0
  176. package/dist/menus/index.d.ts +11 -0
  177. package/dist/menus/types.d.ts +24 -0
  178. package/dist/menus.cjs +1 -0
  179. package/dist/menus.js +355 -0
  180. package/dist/navigation/Breadcrumbs.d.ts +18 -0
  181. package/dist/navigation/DraggableTabs.d.ts +24 -0
  182. package/dist/navigation/Pagination.d.ts +15 -0
  183. package/dist/navigation/PersistentTabPanel.d.ts +13 -0
  184. package/dist/navigation/Stepper.d.ts +19 -0
  185. package/dist/navigation/TabPanel.d.ts +11 -0
  186. package/dist/navigation/Tabs.d.ts +26 -0
  187. package/dist/navigation/TreeView.d.ts +27 -0
  188. package/dist/navigation/index.d.ts +16 -0
  189. package/dist/navigation.cjs +1 -0
  190. package/dist/navigation.js +429 -0
  191. package/dist/overlays/Dialog.d.ts +18 -0
  192. package/dist/overlays/Drawer.d.ts +17 -0
  193. package/dist/overlays/ErrorOverlay.d.ts +21 -0
  194. package/dist/overlays/Modal.d.ts +14 -0
  195. package/dist/overlays/NotificationCenter.d.ts +31 -0
  196. package/dist/overlays/Popover.d.ts +15 -0
  197. package/dist/overlays/Spotlight.d.ts +24 -0
  198. package/dist/overlays/ToastProvider.d.ts +32 -0
  199. package/dist/overlays/Tooltip.d.ts +15 -0
  200. package/dist/overlays/index.d.ts +20 -0
  201. package/dist/overlays/useToast.d.ts +21 -0
  202. package/dist/overlays.cjs +1 -0
  203. package/dist/overlays.js +865 -0
  204. package/dist/sidebars/ActivityBar.d.ts +16 -0
  205. package/dist/sidebars/NavMenu.d.ts +27 -0
  206. package/dist/sidebars/NavMenu.test.d.ts +1 -0
  207. package/dist/sidebars/PropertyGrid.d.ts +16 -0
  208. package/dist/sidebars/SidebarGroup.d.ts +15 -0
  209. package/dist/sidebars/SidebarPanel.d.ts +19 -0
  210. package/dist/sidebars/SidebarTreeItem.d.ts +21 -0
  211. package/dist/sidebars/index.d.ts +13 -0
  212. package/dist/sidebars/types.d.ts +29 -0
  213. package/dist/sidebars.cjs +1 -0
  214. package/dist/sidebars.js +762 -0
  215. package/dist/table/ColumnFilter.d.ts +10 -0
  216. package/dist/table/DataTable.d.ts +23 -0
  217. package/dist/table/IDETable.d.ts +48 -0
  218. package/dist/table/TableEmptyState.d.ts +12 -0
  219. package/dist/table/TableSkeleton.d.ts +11 -0
  220. package/dist/table/TableToolbar.d.ts +15 -0
  221. package/dist/table/index.d.ts +12 -0
  222. package/dist/table/types.d.ts +4 -0
  223. package/dist/table.cjs +1 -0
  224. package/dist/table.js +580 -0
  225. package/dist/theme/AppTheme.d.ts +14 -0
  226. package/dist/theme/customizations/dataDisplay.d.ts +2 -0
  227. package/dist/theme/customizations/feedback.d.ts +2 -0
  228. package/dist/theme/customizations/inputs.d.ts +2 -0
  229. package/dist/theme/customizations/navigation.d.ts +2 -0
  230. package/dist/theme/index.d.ts +36 -0
  231. package/dist/theme/primitives.d.ts +234 -0
  232. package/dist/theme.cjs +1 -0
  233. package/dist/theme.js +1362 -0
  234. package/dist/tokens.css +252 -0
  235. package/dist/types/index.d.ts +7 -0
  236. package/dist/types/maps.d.ts +25 -0
  237. package/dist/types/variants.d.ts +21 -0
  238. package/dist/types.cjs +1 -0
  239. package/dist/types.js +96 -0
  240. package/dist/typography/CodeBlock.d.ts +15 -0
  241. package/dist/typography/CodeInline.d.ts +10 -0
  242. package/dist/typography/Heading.d.ts +13 -0
  243. package/dist/typography/Link.d.ts +18 -0
  244. package/dist/typography/Text.d.ts +22 -0
  245. package/dist/typography/index.d.ts +10 -0
  246. package/dist/typography.cjs +1 -0
  247. package/dist/typography.js +120 -0
  248. package/dist/ui.css +1 -0
  249. package/dist/units-BuBKbqQ7.js +54 -0
  250. package/dist/units-CDpdlN1W.cjs +1 -0
  251. package/dist/utils/index.d.ts +4 -0
  252. package/dist/utils/language.d.ts +4 -0
  253. package/dist/utils/time.d.ts +5 -0
  254. package/dist/utils/units.d.ts +7 -0
  255. package/dist/utils.cjs +1 -0
  256. package/dist/utils.js +78 -0
  257. package/package.json +261 -0
@@ -0,0 +1,1011 @@
1
+ import { jsx as r, jsxs as d, Fragment as L } from "react/jsx-runtime";
2
+ import W from "@mui/material/Alert";
3
+ import M from "@mui/material/IconButton";
4
+ import E from "@mui/icons-material/Close";
5
+ import { alpha as w } from "@mui/material/styles";
6
+ import { S as Je } from "./StatusDot-CncykBAY.js";
7
+ import { S as Oe } from "./StatusPill-C1NaiCzd.js";
8
+ import { E as Ue, a as Ye } from "./ErrorState-CexYrMpy.js";
9
+ import { S as er } from "./Skeleton-BUYyXUiC.js";
10
+ import k, { useState as D, useCallback as I, createContext as F, useRef as H, useEffect as $, useContext as V } from "react";
11
+ import a from "@mui/material/Box";
12
+ import x from "@mui/material/Tooltip";
13
+ import { toCssColor as C, toMuiSize as X } from "./types.js";
14
+ import N from "@mui/material/LinearProgress";
15
+ import b from "@mui/material/Typography";
16
+ import P from "@mui/material/Button";
17
+ import S from "@mui/material/CircularProgress";
18
+ import { LuSquare as _, LuPlay as q, LuX as G, LuCircleAlert as J, LuTriangleAlert as K, LuCircleCheck as O, LuInfo as Q } from "react-icons/lu";
19
+ const U = {
20
+ solid: "filled",
21
+ soft: "standard",
22
+ outline: "outlined"
23
+ }, Y = {
24
+ xs: { padding: "0px 6px", fontSize: "var(--ov-text-xs)", iconSize: 16, borderRadius: 6, closeSize: "small" },
25
+ sm: { padding: "2px 8px", fontSize: "var(--ov-text-sm)", iconSize: 18, borderRadius: 8, closeSize: "small" },
26
+ md: { padding: "6px 12px", fontSize: "var(--ov-text-sm)", iconSize: 20, borderRadius: 10, closeSize: "small" },
27
+ lg: { padding: "8px 16px", fontSize: "var(--ov-text-md)", iconSize: 22, borderRadius: 10, closeSize: "medium" },
28
+ xl: { padding: "12px 16px", fontSize: "var(--ov-text-md)", iconSize: 24, borderRadius: 12, closeSize: "medium" }
29
+ }, Z = {
30
+ success: {
31
+ light: { bg: "hsl(120, 80%, 98%)", fg: "hsl(120, 87%, 6%)", border: "hsl(120, 61%, 77%)", icon: "hsl(120, 44%, 53%)" },
32
+ dark: { bg: "hsl(120, 84%, 10%)", fg: "hsl(120, 75%, 94%)", border: "hsl(120, 75%, 16%)", icon: "hsl(120, 44%, 53%)" }
33
+ },
34
+ warning: {
35
+ light: { bg: "hsl(45, 100%, 97%)", fg: "hsl(45, 93%, 12%)", border: "hsl(45, 90%, 65%)", icon: "hsl(45, 90%, 40%)" },
36
+ dark: { bg: "hsl(45, 95%, 16%)", fg: "hsl(45, 92%, 90%)", border: "hsl(45, 94%, 20%)", icon: "hsl(45, 90%, 40%)" }
37
+ },
38
+ error: {
39
+ light: { bg: "hsl(0, 100%, 97%)", fg: "hsl(0, 93%, 6%)", border: "hsl(0, 90%, 65%)", icon: "hsl(0, 90%, 40%)" },
40
+ dark: { bg: "hsl(0, 95%, 12%)", fg: "hsl(0, 92%, 90%)", border: "hsl(0, 94%, 18%)", icon: "hsl(0, 90%, 40%)" }
41
+ },
42
+ danger: {
43
+ light: { bg: "hsl(0, 100%, 97%)", fg: "hsl(0, 93%, 6%)", border: "hsl(0, 90%, 65%)", icon: "hsl(0, 90%, 40%)" },
44
+ dark: { bg: "hsl(0, 95%, 12%)", fg: "hsl(0, 92%, 90%)", border: "hsl(0, 94%, 18%)", icon: "hsl(0, 90%, 40%)" }
45
+ },
46
+ info: {
47
+ light: { bg: "hsl(210, 100%, 95%)", fg: "hsl(210, 100%, 21%)", border: "hsl(210, 100%, 65%)", icon: "hsl(210, 98%, 42%)" },
48
+ dark: { bg: "hsl(210, 100%, 16%)", fg: "hsl(210, 100%, 92%)", border: "hsl(210, 100%, 35%)", icon: "hsl(210, 98%, 55%)" }
49
+ },
50
+ primary: {
51
+ light: { bg: "hsl(210, 100%, 95%)", fg: "hsl(210, 100%, 21%)", border: "hsl(210, 100%, 80%)", icon: "hsl(210, 98%, 48%)" },
52
+ dark: { bg: "hsl(210, 100%, 16%)", fg: "hsl(210, 100%, 92%)", border: "hsl(210, 100%, 35%)", icon: "hsl(210, 98%, 55%)" }
53
+ },
54
+ secondary: {
55
+ light: { bg: "hsl(270, 100%, 97%)", fg: "hsl(270, 70%, 42%)", border: "hsl(270, 80%, 80%)", icon: "hsl(270, 70%, 50%)" },
56
+ dark: { bg: "hsl(270, 80%, 16%)", fg: "hsl(270, 92%, 90%)", border: "hsl(270, 75%, 25%)", icon: "hsl(270, 70%, 65%)" }
57
+ },
58
+ accent: {
59
+ light: { bg: "hsl(270, 100%, 97%)", fg: "hsl(270, 70%, 42%)", border: "hsl(270, 80%, 80%)", icon: "hsl(270, 70%, 50%)" },
60
+ dark: { bg: "hsl(270, 80%, 16%)", fg: "hsl(270, 92%, 90%)", border: "hsl(270, 75%, 25%)", icon: "hsl(270, 70%, 65%)" }
61
+ },
62
+ neutral: {
63
+ light: { bg: "hsl(220, 35%, 97%)", fg: "hsl(220, 20%, 42%)", border: "hsl(220, 20%, 88%)", icon: "hsl(220, 20%, 65%)" },
64
+ dark: { bg: "hsl(220, 30%, 6%)", fg: "hsl(220, 30%, 94%)", border: "hsl(220, 20%, 25%)", icon: "hsl(220, 20%, 80%)" }
65
+ },
66
+ muted: {
67
+ light: { bg: "hsl(220, 35%, 97%)", fg: "hsl(220, 20%, 42%)", border: "hsl(220, 20%, 88%)", icon: "hsl(220, 20%, 65%)" },
68
+ dark: { bg: "hsl(220, 30%, 6%)", fg: "hsl(220, 30%, 94%)", border: "hsl(220, 20%, 25%)", icon: "hsl(220, 20%, 80%)" }
69
+ }
70
+ };
71
+ function R(e, t) {
72
+ return t === "outline" ? { bg: "transparent", fg: e.fg, border: `1px solid ${w(e.border, 0.7)}`, icon: e.icon } : t === "solid" ? { bg: e.icon, fg: "#fff", border: "none", icon: "#fff" } : { bg: e.bg, fg: e.fg, border: `1px solid ${w(e.border, 0.5)}`, icon: e.icon };
73
+ }
74
+ function ee({
75
+ children: e,
76
+ color: t = "info",
77
+ emphasis: o = "soft",
78
+ dismissible: i = !1,
79
+ onDismiss: n,
80
+ actions: l,
81
+ icon: s,
82
+ startAdornment: c,
83
+ size: f = "md",
84
+ sx: p
85
+ }) {
86
+ const g = U[o] || "standard", h = Y[f], v = {
87
+ success: "success",
88
+ info: "info",
89
+ warning: "warning",
90
+ error: "error",
91
+ danger: "error",
92
+ primary: "info",
93
+ secondary: "info",
94
+ accent: "info",
95
+ neutral: "info",
96
+ muted: "info"
97
+ }[t] ?? "info";
98
+ return /* @__PURE__ */ r(
99
+ W,
100
+ {
101
+ severity: v,
102
+ variant: g,
103
+ icon: s === !1 ? !1 : s ?? c,
104
+ action: /* @__PURE__ */ d(L, { children: [
105
+ l,
106
+ i && /* @__PURE__ */ r(
107
+ M,
108
+ {
109
+ size: h.closeSize,
110
+ color: "inherit",
111
+ onClick: n,
112
+ "aria-label": "Dismiss",
113
+ children: /* @__PURE__ */ r(E, { fontSize: "small" })
114
+ }
115
+ )
116
+ ] }),
117
+ sx: (B) => {
118
+ const A = Z[t], z = R(A.light, o), y = R(A.dark, o), T = o === "soft" ? w(y.bg, 0.3) : y.bg;
119
+ return {
120
+ // Sizing
121
+ padding: h.padding,
122
+ fontSize: h.fontSize,
123
+ borderRadius: `${h.borderRadius}px`,
124
+ alignItems: "center",
125
+ // Light mode colors (default)
126
+ backgroundColor: z.bg,
127
+ color: z.fg,
128
+ border: z.border,
129
+ "& .MuiAlert-icon": {
130
+ fontSize: h.iconSize,
131
+ mr: f === "xs" ? 0.5 : 1,
132
+ py: 0,
133
+ color: z.icon
134
+ },
135
+ "& .MuiAlert-message": {
136
+ py: 0,
137
+ overflow: "hidden"
138
+ },
139
+ "& .MuiAlert-action": {
140
+ py: 0,
141
+ alignItems: "center"
142
+ },
143
+ // Dark mode overrides via MUI v7 CSS variables
144
+ ...B.applyStyles("dark", {
145
+ backgroundColor: T,
146
+ color: y.fg,
147
+ border: y.border,
148
+ "& .MuiAlert-icon": { color: y.icon }
149
+ }),
150
+ // User-provided sx last
151
+ ...typeof p == "object" && p !== null ? p : {}
152
+ };
153
+ },
154
+ children: e
155
+ }
156
+ );
157
+ }
158
+ ee.displayName = "Alert";
159
+ function re({
160
+ children: e,
161
+ height: t = 24,
162
+ sx: o
163
+ }) {
164
+ const i = k.Children.toArray(e), n = i.filter((s) => k.isValidElement(s) ? s.props.align !== "right" : !0), l = i.filter((s) => k.isValidElement(s) ? s.props.align === "right" : !1);
165
+ return /* @__PURE__ */ d(
166
+ a,
167
+ {
168
+ sx: {
169
+ display: "flex",
170
+ alignItems: "center",
171
+ justifyContent: "space-between",
172
+ height: t,
173
+ px: 1,
174
+ bgcolor: "var(--ov-bg-surface)",
175
+ borderTop: "1px solid var(--ov-border-default)",
176
+ fontSize: "var(--ov-text-xs)",
177
+ ...typeof o == "object" && !Array.isArray(o) ? o : {}
178
+ },
179
+ children: [
180
+ /* @__PURE__ */ r(a, { sx: { display: "flex", alignItems: "center", gap: 0 }, children: n }),
181
+ /* @__PURE__ */ r(a, { sx: { display: "flex", alignItems: "center", gap: 0 }, children: l })
182
+ ]
183
+ }
184
+ );
185
+ }
186
+ re.displayName = "StatusBar";
187
+ function te({
188
+ children: e,
189
+ icon: t,
190
+ onClick: o,
191
+ tooltip: i,
192
+ color: n,
193
+ separator: l = !1,
194
+ sx: s
195
+ }) {
196
+ const c = /* @__PURE__ */ d(
197
+ a,
198
+ {
199
+ onClick: o,
200
+ sx: {
201
+ display: "inline-flex",
202
+ alignItems: "center",
203
+ gap: 0.5,
204
+ px: 0.75,
205
+ height: 20,
206
+ fontSize: "var(--ov-text-xs)",
207
+ color: n ? C(n) : "var(--ov-fg-default)",
208
+ cursor: o ? "pointer" : "default",
209
+ borderRadius: "3px",
210
+ whiteSpace: "nowrap",
211
+ ...l && {
212
+ borderRight: "1px solid var(--ov-border-muted)",
213
+ pr: 1,
214
+ mr: 0.25
215
+ },
216
+ ...o && {
217
+ "&:hover": { bgcolor: "var(--ov-state-hover)" }
218
+ },
219
+ ...typeof s == "object" && !Array.isArray(s) ? s : {}
220
+ },
221
+ children: [
222
+ t && /* @__PURE__ */ r(a, { component: "span", sx: { display: "inline-flex", fontSize: "0.75rem" }, children: t }),
223
+ e
224
+ ]
225
+ }
226
+ );
227
+ return i ? /* @__PURE__ */ r(x, { title: i, children: c }) : c;
228
+ }
229
+ te.displayName = "StatusBarItem";
230
+ const oe = {
231
+ xs: 2,
232
+ sm: 4,
233
+ md: 6,
234
+ lg: 8,
235
+ xl: 10
236
+ };
237
+ function ie({
238
+ value: e,
239
+ indeterminate: t = !1,
240
+ color: o = "primary",
241
+ size: i = "sm",
242
+ label: n,
243
+ showValue: l = !1,
244
+ sx: s
245
+ }) {
246
+ const c = C(o), f = oe[i];
247
+ return /* @__PURE__ */ d(
248
+ a,
249
+ {
250
+ sx: {
251
+ display: "flex",
252
+ flexDirection: "column",
253
+ gap: 0.5,
254
+ ...typeof s == "object" && !Array.isArray(s) ? s : {}
255
+ },
256
+ children: [
257
+ (n || l) && /* @__PURE__ */ d(a, { sx: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: [
258
+ n && /* @__PURE__ */ r(b, { sx: { fontSize: "var(--ov-text-xs)", color: "var(--ov-fg-muted)" }, children: n }),
259
+ l && !t && e !== void 0 && /* @__PURE__ */ d(b, { sx: { fontSize: "var(--ov-text-xs)", color: "var(--ov-fg-muted)" }, children: [
260
+ Math.round(e),
261
+ "%"
262
+ ] })
263
+ ] }),
264
+ /* @__PURE__ */ r(
265
+ N,
266
+ {
267
+ variant: t ? "indeterminate" : "determinate",
268
+ value: t ? void 0 : e,
269
+ sx: {
270
+ height: f,
271
+ borderRadius: f / 2,
272
+ bgcolor: "var(--ov-bg-surface-inset)",
273
+ "& .MuiLinearProgress-bar": {
274
+ bgcolor: c,
275
+ borderRadius: f / 2
276
+ }
277
+ }
278
+ }
279
+ )
280
+ ]
281
+ }
282
+ );
283
+ }
284
+ ie.displayName = "ProgressBar";
285
+ const ne = {
286
+ connected: "var(--ov-success-default)",
287
+ connecting: "var(--ov-warning-default)",
288
+ disconnected: "var(--ov-fg-faint)",
289
+ error: "var(--ov-danger-default)"
290
+ }, se = {
291
+ connected: "Connected",
292
+ connecting: "Connecting",
293
+ disconnected: "Disconnected",
294
+ error: "Error"
295
+ }, ae = {
296
+ xs: 6,
297
+ sm: 8,
298
+ md: 10,
299
+ lg: 12,
300
+ xl: 14
301
+ };
302
+ function le({
303
+ status: e,
304
+ label: t,
305
+ size: o = "sm",
306
+ showLabel: i = !0,
307
+ sx: n
308
+ }) {
309
+ const l = ne[e], s = ae[o], c = t ?? se[e];
310
+ return /* @__PURE__ */ d(
311
+ a,
312
+ {
313
+ sx: {
314
+ display: "inline-flex",
315
+ alignItems: "center",
316
+ gap: 0.75,
317
+ ...typeof n == "object" && !Array.isArray(n) ? n : {}
318
+ },
319
+ children: [
320
+ /* @__PURE__ */ r(
321
+ a,
322
+ {
323
+ sx: {
324
+ width: s,
325
+ height: s,
326
+ borderRadius: "50%",
327
+ bgcolor: l,
328
+ flexShrink: 0,
329
+ ...e === "connecting" && {
330
+ animation: "ov-conn-pulse 1.5s ease-in-out infinite",
331
+ "@keyframes ov-conn-pulse": {
332
+ "0%, 100%": { opacity: 1 },
333
+ "50%": { opacity: 0.3 }
334
+ }
335
+ }
336
+ }
337
+ }
338
+ ),
339
+ i && /* @__PURE__ */ r(
340
+ b,
341
+ {
342
+ sx: {
343
+ fontSize: o === "xs" ? "var(--ov-text-xs)" : "var(--ov-text-sm)",
344
+ color: "var(--ov-fg-default)",
345
+ lineHeight: 1
346
+ },
347
+ children: c
348
+ }
349
+ )
350
+ ]
351
+ }
352
+ );
353
+ }
354
+ le.displayName = "ConnectionIndicator";
355
+ const ce = {
356
+ xs: 12,
357
+ sm: 14,
358
+ md: 16,
359
+ lg: 18,
360
+ xl: 20
361
+ };
362
+ function de({
363
+ running: e,
364
+ onStart: t,
365
+ onStop: o,
366
+ loading: i = !1,
367
+ size: n = "sm",
368
+ label: l,
369
+ sx: s
370
+ }) {
371
+ const c = X(n), f = ce[n];
372
+ return /* @__PURE__ */ r(
373
+ P,
374
+ {
375
+ size: c,
376
+ variant: "contained",
377
+ onClick: () => {
378
+ e ? o() : t();
379
+ },
380
+ disabled: i,
381
+ startIcon: i ? /* @__PURE__ */ r(S, { size: f, color: "inherit" }) : e ? /* @__PURE__ */ r(_, { size: f }) : /* @__PURE__ */ r(q, { size: f }),
382
+ sx: {
383
+ bgcolor: e ? "var(--ov-danger-default)" : "var(--ov-success-default)",
384
+ color: "#fff",
385
+ textTransform: "none",
386
+ "&:hover": {
387
+ bgcolor: e ? "var(--ov-danger-default)" : "var(--ov-success-default)",
388
+ filter: "brightness(0.9)"
389
+ },
390
+ ...typeof s == "object" && !Array.isArray(s) ? s : {}
391
+ },
392
+ children: l ?? (e ? "Stop" : "Run")
393
+ }
394
+ );
395
+ }
396
+ de.displayName = "RunButton";
397
+ const j = F(null);
398
+ function _e() {
399
+ const e = V(j);
400
+ if (!e) throw new Error("useNotificationStack must be used within a NotificationStackProvider");
401
+ return e;
402
+ }
403
+ const fe = {
404
+ info: /* @__PURE__ */ r(Q, { size: 16 }),
405
+ success: /* @__PURE__ */ r(O, { size: 16 }),
406
+ warning: /* @__PURE__ */ r(K, { size: 16 }),
407
+ error: /* @__PURE__ */ r(J, { size: 16 })
408
+ }, ge = {
409
+ info: "var(--ov-info-default)",
410
+ success: "var(--ov-success-default)",
411
+ warning: "var(--ov-warning-default)",
412
+ error: "var(--ov-danger-default)"
413
+ };
414
+ function he({
415
+ notification: e,
416
+ onDismiss: t
417
+ }) {
418
+ const { id: o, severity: i, title: n, message: l, actions: s, timeout: c } = e, f = H(void 0);
419
+ $(() => {
420
+ const g = c ?? 8e3;
421
+ return g > 0 && (f.current = setTimeout(() => t(o), g)), () => {
422
+ f.current && clearTimeout(f.current);
423
+ };
424
+ }, [o, c, t]);
425
+ const p = ge[i];
426
+ return /* @__PURE__ */ d(
427
+ a,
428
+ {
429
+ sx: {
430
+ display: "flex",
431
+ gap: 1,
432
+ minWidth: 320,
433
+ maxWidth: 420,
434
+ bgcolor: "var(--ov-bg-surface)",
435
+ border: "1px solid var(--ov-border-default)",
436
+ borderLeft: `3px solid ${p}`,
437
+ borderRadius: "6px",
438
+ boxShadow: "0 4px 16px rgba(0,0,0,0.25)",
439
+ p: 1.5,
440
+ animation: "ov-notif-slide-in 0.2s ease-out",
441
+ "@keyframes ov-notif-slide-in": {
442
+ from: { opacity: 0, transform: "translateX(40px)" },
443
+ to: { opacity: 1, transform: "translateX(0)" }
444
+ }
445
+ },
446
+ children: [
447
+ /* @__PURE__ */ r(a, { sx: { color: p, pt: "2px", flexShrink: 0 }, children: fe[i] }),
448
+ /* @__PURE__ */ d(a, { sx: { flex: 1, minWidth: 0 }, children: [
449
+ /* @__PURE__ */ r(
450
+ b,
451
+ {
452
+ sx: {
453
+ fontSize: "0.8125rem",
454
+ fontWeight: 600,
455
+ color: "var(--ov-fg-base)",
456
+ lineHeight: 1.4
457
+ },
458
+ children: n
459
+ }
460
+ ),
461
+ l && /* @__PURE__ */ r(
462
+ b,
463
+ {
464
+ sx: {
465
+ fontSize: "0.75rem",
466
+ color: "var(--ov-fg-muted)",
467
+ lineHeight: 1.4,
468
+ mt: 0.25
469
+ },
470
+ children: l
471
+ }
472
+ ),
473
+ s && s.length > 0 && /* @__PURE__ */ r(a, { sx: { display: "flex", gap: 0.5, mt: 1 }, children: s.map((g) => /* @__PURE__ */ r(
474
+ P,
475
+ {
476
+ size: "small",
477
+ variant: "text",
478
+ onClick: () => {
479
+ g.onClick(), t(o);
480
+ },
481
+ sx: {
482
+ textTransform: "none",
483
+ fontSize: "0.6875rem",
484
+ fontWeight: 600,
485
+ color: "var(--ov-accent-fg)",
486
+ minWidth: "auto",
487
+ px: 1,
488
+ py: 0.25
489
+ },
490
+ children: g.label
491
+ },
492
+ g.label
493
+ )) })
494
+ ] }),
495
+ /* @__PURE__ */ r(
496
+ M,
497
+ {
498
+ size: "small",
499
+ onClick: () => t(o),
500
+ sx: {
501
+ alignSelf: "flex-start",
502
+ p: "2px",
503
+ color: "var(--ov-fg-faint)",
504
+ "&:hover": { color: "var(--ov-fg-default)" }
505
+ },
506
+ children: /* @__PURE__ */ r(G, { size: 14 })
507
+ }
508
+ )
509
+ ]
510
+ }
511
+ );
512
+ }
513
+ let pe = 0;
514
+ function ue({
515
+ children: e,
516
+ maxVisible: t = 5,
517
+ position: o = "bottom-right",
518
+ sx: i
519
+ }) {
520
+ const [n, l] = D([]), s = I((h) => {
521
+ const m = `notif-${++pe}`;
522
+ return l((v) => [...v, { ...h, id: m }]), m;
523
+ }, []), c = I((h) => {
524
+ l((m) => m.filter((v) => v.id !== h));
525
+ }, []), f = I(() => {
526
+ l([]);
527
+ }, []), p = {
528
+ "bottom-right": { bottom: 32, right: 12 },
529
+ "bottom-left": { bottom: 32, left: 12 },
530
+ "top-right": { top: 12, right: 12 },
531
+ "top-left": { top: 12, left: 12 }
532
+ }, g = n.slice(-t);
533
+ return /* @__PURE__ */ d(j.Provider, { value: { push: s, dismiss: c, dismissAll: f }, children: [
534
+ e,
535
+ g.length > 0 && /* @__PURE__ */ r(
536
+ a,
537
+ {
538
+ sx: {
539
+ position: "fixed",
540
+ zIndex: 9998,
541
+ display: "flex",
542
+ flexDirection: o.startsWith("bottom") ? "column-reverse" : "column",
543
+ gap: 0.75,
544
+ ...p[o],
545
+ ...typeof i == "object" && !Array.isArray(i) ? i : {}
546
+ },
547
+ children: g.map((h) => /* @__PURE__ */ r(
548
+ he,
549
+ {
550
+ notification: h,
551
+ onDismiss: c
552
+ },
553
+ h.id
554
+ ))
555
+ }
556
+ )
557
+ ] });
558
+ }
559
+ ue.displayName = "NotificationStackProvider";
560
+ function me({ label: e, bgColor: t, color: o, icon: i, onClick: n, tooltip: l }) {
561
+ const s = /* @__PURE__ */ d(
562
+ a,
563
+ {
564
+ onClick: n,
565
+ sx: {
566
+ display: "inline-flex",
567
+ alignItems: "center",
568
+ gap: "4px",
569
+ px: "6px",
570
+ height: "100%",
571
+ fontSize: "0.625rem",
572
+ fontWeight: 700,
573
+ letterSpacing: "0.04em",
574
+ textTransform: "uppercase",
575
+ bgcolor: t ?? "transparent",
576
+ color: o ?? "#fff",
577
+ cursor: n ? "pointer" : "default",
578
+ whiteSpace: "nowrap",
579
+ "&:hover": n ? { filter: "brightness(1.15)" } : {}
580
+ },
581
+ children: [
582
+ i && /* @__PURE__ */ r(a, { sx: { display: "flex", fontSize: "0.625rem" }, children: i }),
583
+ e
584
+ ]
585
+ }
586
+ );
587
+ return l ? /* @__PURE__ */ r(x, { title: l, children: s }) : s;
588
+ }
589
+ function xe({ color: e, pulse: t, tooltip: o, onClick: i }) {
590
+ const n = /* @__PURE__ */ r(
591
+ a,
592
+ {
593
+ onClick: i,
594
+ sx: {
595
+ width: 8,
596
+ height: 8,
597
+ borderRadius: "50%",
598
+ bgcolor: e,
599
+ flexShrink: 0,
600
+ cursor: i ? "pointer" : "default",
601
+ "&:hover": i ? { filter: "brightness(1.3)" } : {},
602
+ ...t && {
603
+ animation: "ov-footer-pulse 1.5s ease-in-out infinite",
604
+ "@keyframes ov-footer-pulse": {
605
+ "0%, 100%": { opacity: 1 },
606
+ "50%": { opacity: 0.3 }
607
+ }
608
+ }
609
+ }
610
+ }
611
+ );
612
+ return o ? /* @__PURE__ */ r(x, { title: o, children: n }) : n;
613
+ }
614
+ function ve({ children: e, icon: t, onClick: o, tooltip: i }) {
615
+ const n = /* @__PURE__ */ d(
616
+ a,
617
+ {
618
+ onClick: o,
619
+ sx: {
620
+ display: "inline-flex",
621
+ alignItems: "center",
622
+ gap: "3px",
623
+ px: "6px",
624
+ fontSize: "0.6875rem",
625
+ color: "var(--ov-fg-default)",
626
+ cursor: o ? "pointer" : "default",
627
+ borderRadius: "2px",
628
+ whiteSpace: "nowrap",
629
+ "&:hover": o ? { bgcolor: "rgba(255,255,255,0.08)" } : {}
630
+ },
631
+ children: [
632
+ t && /* @__PURE__ */ r(a, { sx: { display: "flex", fontSize: "0.6875rem" }, children: t }),
633
+ e
634
+ ]
635
+ }
636
+ );
637
+ return i ? /* @__PURE__ */ r(x, { title: i, children: n }) : n;
638
+ }
639
+ function be({ label: e, tooltip: t }) {
640
+ const o = /* @__PURE__ */ d(
641
+ a,
642
+ {
643
+ sx: {
644
+ display: "inline-flex",
645
+ alignItems: "center",
646
+ gap: "4px",
647
+ px: "6px",
648
+ fontSize: "0.6875rem",
649
+ color: "var(--ov-fg-default)"
650
+ },
651
+ children: [
652
+ /* @__PURE__ */ r(S, { size: 10, thickness: 5, sx: { color: "var(--ov-fg-muted)" } }),
653
+ e && /* @__PURE__ */ r("span", { children: e })
654
+ ]
655
+ }
656
+ );
657
+ return t ? /* @__PURE__ */ r(x, { title: t, children: o }) : o;
658
+ }
659
+ function ye({
660
+ value: e,
661
+ width: t = 80,
662
+ color: o = "var(--ov-accent)",
663
+ label: i,
664
+ showValue: n = !1,
665
+ tooltip: l
666
+ }) {
667
+ const s = e === void 0, c = /* @__PURE__ */ d(
668
+ a,
669
+ {
670
+ sx: {
671
+ display: "inline-flex",
672
+ alignItems: "center",
673
+ gap: "4px",
674
+ px: "6px",
675
+ fontSize: "0.625rem",
676
+ color: "var(--ov-fg-default)"
677
+ },
678
+ children: [
679
+ i && /* @__PURE__ */ r(a, { component: "span", sx: { whiteSpace: "nowrap", color: "var(--ov-fg-muted)" }, children: i }),
680
+ /* @__PURE__ */ r(
681
+ N,
682
+ {
683
+ variant: s ? "indeterminate" : "determinate",
684
+ value: s ? void 0 : e,
685
+ sx: {
686
+ width: t,
687
+ height: 3,
688
+ borderRadius: 1.5,
689
+ bgcolor: "rgba(255,255,255,0.1)",
690
+ "& .MuiLinearProgress-bar": {
691
+ bgcolor: o,
692
+ borderRadius: 1.5
693
+ }
694
+ }
695
+ }
696
+ ),
697
+ n && !s && e !== void 0 && /* @__PURE__ */ d(a, { component: "span", sx: { whiteSpace: "nowrap", color: "var(--ov-fg-muted)" }, children: [
698
+ Math.round(e),
699
+ "%"
700
+ ] })
701
+ ]
702
+ }
703
+ );
704
+ return l ? /* @__PURE__ */ r(x, { title: l, children: c }) : c;
705
+ }
706
+ function Se({ color: e }) {
707
+ return /* @__PURE__ */ r(
708
+ a,
709
+ {
710
+ sx: {
711
+ width: "1px",
712
+ height: "60%",
713
+ bgcolor: e ?? "var(--ov-border-default)",
714
+ flexShrink: 0,
715
+ mx: "2px"
716
+ }
717
+ }
718
+ );
719
+ }
720
+ function ze({ icon: e, label: t, onClick: o, tooltip: i, color: n }) {
721
+ const l = /* @__PURE__ */ d(
722
+ a,
723
+ {
724
+ component: "button",
725
+ onClick: o,
726
+ sx: {
727
+ all: "unset",
728
+ display: "inline-flex",
729
+ alignItems: "center",
730
+ gap: "3px",
731
+ px: "5px",
732
+ height: "100%",
733
+ fontSize: "0.625rem",
734
+ fontWeight: 500,
735
+ color: n ?? "var(--ov-fg-default)",
736
+ cursor: "pointer",
737
+ borderRadius: "2px",
738
+ whiteSpace: "nowrap",
739
+ "&:hover": { bgcolor: "rgba(255,255,255,0.1)" },
740
+ "&:active": { bgcolor: "rgba(255,255,255,0.15)" }
741
+ },
742
+ children: [
743
+ e && /* @__PURE__ */ r(a, { sx: { display: "flex", fontSize: "0.625rem" }, children: e }),
744
+ t
745
+ ]
746
+ }
747
+ );
748
+ return i ? /* @__PURE__ */ r(x, { title: i, children: l }) : l;
749
+ }
750
+ function ke({ count: e, icon: t, maxCount: o = 99, onClick: i, tooltip: n, color: l }) {
751
+ const s = e > o ? `${o}+` : String(e), c = /* @__PURE__ */ d(
752
+ a,
753
+ {
754
+ onClick: i,
755
+ sx: {
756
+ display: "inline-flex",
757
+ alignItems: "center",
758
+ gap: "3px",
759
+ px: "5px",
760
+ height: "100%",
761
+ fontSize: "0.625rem",
762
+ fontWeight: 600,
763
+ color: "var(--ov-fg-default)",
764
+ cursor: i ? "pointer" : "default",
765
+ "&:hover": i ? { bgcolor: "rgba(255,255,255,0.08)" } : {}
766
+ },
767
+ children: [
768
+ t && /* @__PURE__ */ r(a, { sx: { display: "flex", fontSize: "0.625rem" }, children: t }),
769
+ e > 0 && /* @__PURE__ */ r(
770
+ a,
771
+ {
772
+ component: "span",
773
+ sx: {
774
+ display: "inline-flex",
775
+ alignItems: "center",
776
+ justifyContent: "center",
777
+ minWidth: 14,
778
+ height: 14,
779
+ borderRadius: "7px",
780
+ bgcolor: l ?? "var(--ov-accent)",
781
+ color: "#fff",
782
+ fontSize: "0.5625rem",
783
+ fontWeight: 700,
784
+ lineHeight: 1,
785
+ px: "3px"
786
+ },
787
+ children: s
788
+ }
789
+ )
790
+ ]
791
+ }
792
+ );
793
+ return n ? /* @__PURE__ */ r(x, { title: n, children: c }) : c;
794
+ }
795
+ function Ie({ time: e, icon: t, running: o, tooltip: i }) {
796
+ const n = /* @__PURE__ */ d(
797
+ a,
798
+ {
799
+ sx: {
800
+ display: "inline-flex",
801
+ alignItems: "center",
802
+ gap: "3px",
803
+ px: "6px",
804
+ fontSize: "0.625rem",
805
+ fontFamily: "var(--ov-font-mono)",
806
+ fontFeatureSettings: '"tnum"',
807
+ color: "var(--ov-fg-muted)",
808
+ whiteSpace: "nowrap",
809
+ ...o && {
810
+ animation: "ov-footer-timer-blink 2s step-end infinite",
811
+ "@keyframes ov-footer-timer-blink": {
812
+ "0%, 100%": { opacity: 1 },
813
+ "50%": { opacity: 0.6 }
814
+ }
815
+ }
816
+ },
817
+ children: [
818
+ t && /* @__PURE__ */ r(a, { sx: { display: "flex", fontSize: "0.625rem" }, children: t }),
819
+ e
820
+ ]
821
+ }
822
+ );
823
+ return i ? /* @__PURE__ */ r(x, { title: i, children: n }) : n;
824
+ }
825
+ function we({ value: e, size: t = 12, color: o, tooltip: i }) {
826
+ const n = e === void 0, l = /* @__PURE__ */ r(a, { sx: { display: "inline-flex", alignItems: "center", px: "4px" }, children: /* @__PURE__ */ r(
827
+ S,
828
+ {
829
+ variant: n ? "indeterminate" : "determinate",
830
+ value: n ? void 0 : e,
831
+ size: t,
832
+ thickness: 5,
833
+ sx: {
834
+ color: o ?? "var(--ov-accent)",
835
+ ...n && { animationDuration: "1s" }
836
+ }
837
+ }
838
+ ) });
839
+ return i ? /* @__PURE__ */ r(x, { title: i, children: l }) : l;
840
+ }
841
+ function u({
842
+ left: e,
843
+ right: t,
844
+ height: o = 22,
845
+ sx: i
846
+ }) {
847
+ return /* @__PURE__ */ d(
848
+ a,
849
+ {
850
+ sx: {
851
+ display: "flex",
852
+ alignItems: "center",
853
+ justifyContent: "space-between",
854
+ height: o,
855
+ bgcolor: "var(--ov-bg-surface)",
856
+ borderTop: "1px solid var(--ov-border-default)",
857
+ fontFamily: "var(--ov-font-ui)",
858
+ overflow: "hidden",
859
+ flexShrink: 0,
860
+ ...typeof i == "object" && !Array.isArray(i) ? i : {}
861
+ },
862
+ children: [
863
+ /* @__PURE__ */ r(a, { sx: { display: "flex", alignItems: "center", height: "100%", gap: 0.25 }, children: e }),
864
+ /* @__PURE__ */ r(a, { sx: { display: "flex", alignItems: "center", height: "100%", gap: 0.25 }, children: t })
865
+ ]
866
+ }
867
+ );
868
+ }
869
+ u.displayName = "IDEStatusFooter";
870
+ u.Chip = me;
871
+ u.Dot = xe;
872
+ u.Text = ve;
873
+ u.Spinner = be;
874
+ u.Progress = ye;
875
+ u.Circular = we;
876
+ u.Separator = Se;
877
+ u.Button = ze;
878
+ u.Badge = ke;
879
+ u.Timer = Ie;
880
+ const Ce = {
881
+ xs: 20,
882
+ sm: 32,
883
+ md: 48,
884
+ lg: 64,
885
+ xl: 80
886
+ }, Ae = {
887
+ xs: 5,
888
+ sm: 4.5,
889
+ md: 4,
890
+ lg: 3.5,
891
+ xl: 3
892
+ }, Re = {
893
+ xs: "0.5rem",
894
+ sm: "0.625rem",
895
+ md: "0.8125rem",
896
+ lg: "1rem",
897
+ xl: "1.25rem"
898
+ };
899
+ function Me({
900
+ value: e,
901
+ size: t = "md",
902
+ color: o = "primary",
903
+ thickness: i,
904
+ showValue: n = !1,
905
+ label: l,
906
+ caption: s,
907
+ trackColor: c,
908
+ sx: f
909
+ }) {
910
+ const p = Ce[t], g = i ?? Ae[t], h = C(o), m = e === void 0, v = l ?? (n && !m ? `${Math.round(e)}%` : null);
911
+ return /* @__PURE__ */ d(
912
+ a,
913
+ {
914
+ sx: {
915
+ display: "inline-flex",
916
+ flexDirection: "column",
917
+ alignItems: "center",
918
+ gap: 0.5,
919
+ ...typeof f == "object" && !Array.isArray(f) ? f : {}
920
+ },
921
+ children: [
922
+ /* @__PURE__ */ d(a, { sx: { position: "relative", display: "inline-flex" }, children: [
923
+ /* @__PURE__ */ r(
924
+ S,
925
+ {
926
+ variant: "determinate",
927
+ value: 100,
928
+ size: p,
929
+ thickness: g,
930
+ sx: {
931
+ color: c ?? "var(--ov-bg-surface-inset)",
932
+ position: "absolute"
933
+ }
934
+ }
935
+ ),
936
+ /* @__PURE__ */ r(
937
+ S,
938
+ {
939
+ variant: m ? "indeterminate" : "determinate",
940
+ value: m ? void 0 : e,
941
+ size: p,
942
+ thickness: g,
943
+ sx: {
944
+ color: h,
945
+ ...m && { animationDuration: "1.2s" }
946
+ }
947
+ }
948
+ ),
949
+ v && /* @__PURE__ */ r(
950
+ a,
951
+ {
952
+ sx: {
953
+ position: "absolute",
954
+ top: 0,
955
+ left: 0,
956
+ right: 0,
957
+ bottom: 0,
958
+ display: "flex",
959
+ alignItems: "center",
960
+ justifyContent: "center"
961
+ },
962
+ children: /* @__PURE__ */ r(
963
+ b,
964
+ {
965
+ sx: {
966
+ fontSize: Re[t],
967
+ fontWeight: 600,
968
+ color: "var(--ov-fg-default)",
969
+ lineHeight: 1,
970
+ fontFeatureSettings: '"tnum"'
971
+ },
972
+ children: v
973
+ }
974
+ )
975
+ }
976
+ )
977
+ ] }),
978
+ s && /* @__PURE__ */ r(
979
+ b,
980
+ {
981
+ sx: {
982
+ fontSize: t === "xs" ? "0.5rem" : "var(--ov-text-xs)",
983
+ color: "var(--ov-fg-muted)",
984
+ textAlign: "center",
985
+ lineHeight: 1.3
986
+ },
987
+ children: s
988
+ }
989
+ )
990
+ ]
991
+ }
992
+ );
993
+ }
994
+ Me.displayName = "ProgressRing";
995
+ export {
996
+ ee as Alert,
997
+ le as ConnectionIndicator,
998
+ Ue as EmptyState,
999
+ Ye as ErrorState,
1000
+ u as IDEStatusFooter,
1001
+ ue as NotificationStackProvider,
1002
+ ie as ProgressBar,
1003
+ Me as ProgressRing,
1004
+ de as RunButton,
1005
+ er as Skeleton,
1006
+ re as StatusBar,
1007
+ te as StatusBarItem,
1008
+ Je as StatusDot,
1009
+ Oe as StatusPill,
1010
+ _e as useNotificationStack
1011
+ };