@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,19 @@
1
+ import { SxProps, Theme } from '@mui/material/styles';
2
+ export interface ObjectInspectorTab {
3
+ key: string;
4
+ label: string;
5
+ content: React.ReactNode;
6
+ }
7
+ export interface ObjectInspectorProps {
8
+ data: object;
9
+ title?: string;
10
+ tabs?: ObjectInspectorTab[];
11
+ defaultTab?: string;
12
+ readOnly?: boolean;
13
+ sx?: SxProps<Theme>;
14
+ }
15
+ declare function ObjectInspector({ data, title, tabs: customTabs, defaultTab, sx, }: ObjectInspectorProps): import("react/jsx-runtime").JSX.Element;
16
+ declare namespace ObjectInspector {
17
+ var displayName: string;
18
+ }
19
+ export default ObjectInspector;
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+ import { SxProps, Theme } from '@mui/material/styles';
3
+ import { ComponentSize } from '../types';
4
+ export interface BreadcrumbSegment {
5
+ kind: string;
6
+ label: string;
7
+ icon?: React.ReactNode;
8
+ }
9
+ export interface ResourceBreadcrumbProps {
10
+ segments: BreadcrumbSegment[];
11
+ onNavigate?: (segment: BreadcrumbSegment, index: number) => void;
12
+ size?: ComponentSize;
13
+ sx?: SxProps<Theme>;
14
+ }
15
+ declare function ResourceBreadcrumb({ segments, onNavigate, size, sx, }: ResourceBreadcrumbProps): import("react/jsx-runtime").JSX.Element;
16
+ declare namespace ResourceBreadcrumb {
17
+ var displayName: string;
18
+ }
19
+ export default ResourceBreadcrumb;
@@ -0,0 +1,15 @@
1
+ import { ComponentSize } from '../types';
2
+ export interface ResourceRefProps {
3
+ kind: string;
4
+ name: string;
5
+ namespace?: string;
6
+ icon?: React.ReactNode;
7
+ onNavigate?: () => void;
8
+ size?: ComponentSize;
9
+ interactive?: boolean;
10
+ }
11
+ declare function ResourceRef({ kind, name, namespace, icon, onNavigate, size, interactive, }: ResourceRefProps): import("react/jsx-runtime").JSX.Element;
12
+ declare namespace ResourceRef {
13
+ var displayName: string;
14
+ }
15
+ export default ResourceRef;
@@ -0,0 +1,17 @@
1
+ import { ComponentSize } from '../types';
2
+ export interface ResourceStatusProps {
3
+ status: string;
4
+ conditions?: Array<{
5
+ type: string;
6
+ status: string;
7
+ reason?: string;
8
+ message?: string;
9
+ }>;
10
+ size?: ComponentSize;
11
+ showTooltip?: boolean;
12
+ }
13
+ declare function ResourceStatus({ status, conditions, size, showTooltip, }: ResourceStatusProps): import("react/jsx-runtime").JSX.Element;
14
+ declare namespace ResourceStatus {
15
+ var displayName: string;
16
+ }
17
+ export default ResourceStatus;
@@ -0,0 +1,11 @@
1
+ export interface SecretValueMaskProps {
2
+ value: string;
3
+ revealed?: boolean;
4
+ onReveal?: () => void;
5
+ copyable?: boolean;
6
+ }
7
+ declare function SecretValueMask({ value, revealed: controlledRevealed, onReveal, copyable, }: SecretValueMaskProps): import("react/jsx-runtime").JSX.Element;
8
+ declare namespace SecretValueMask {
9
+ var displayName: string;
10
+ }
11
+ export default SecretValueMask;
@@ -0,0 +1,21 @@
1
+ import { default as React } from 'react';
2
+ import { SxProps, Theme } from '@mui/material/styles';
3
+ import { SemanticColor, ComponentSize } from '../types';
4
+ export interface TimelineEvent {
5
+ id: string;
6
+ title: string;
7
+ description?: string;
8
+ timestamp: string | Date;
9
+ icon?: React.ReactNode;
10
+ color?: SemanticColor;
11
+ }
12
+ export interface TimelineProps {
13
+ events: TimelineEvent[];
14
+ size?: ComponentSize;
15
+ sx?: SxProps<Theme>;
16
+ }
17
+ declare function Timeline({ events, size, sx, }: TimelineProps): import("react/jsx-runtime").JSX.Element;
18
+ declare namespace Timeline {
19
+ var displayName: string;
20
+ }
21
+ export default Timeline;
@@ -0,0 +1,23 @@
1
+ export type { KubeEvent, LogLine, DescriptionItem } from './types';
2
+ export { default as ResourceRef } from './ResourceRef';
3
+ export type { ResourceRefProps } from './ResourceRef';
4
+ export { default as ResourceStatus } from './ResourceStatus';
5
+ export type { ResourceStatusProps } from './ResourceStatus';
6
+ export { default as DescriptionList } from './DescriptionList';
7
+ export type { DescriptionListProps } from './DescriptionList';
8
+ export { default as ObjectInspector } from './ObjectInspector';
9
+ export type { ObjectInspectorProps, ObjectInspectorTab } from './ObjectInspector';
10
+ export { default as EventsList } from './EventsList';
11
+ export type { EventsListProps } from './EventsList';
12
+ export { default as LogsViewer } from './LogsViewer';
13
+ export type { LogsViewerProps } from './LogsViewer';
14
+ export { default as MetricCard } from './MetricCard';
15
+ export type { MetricCardProps } from './MetricCard';
16
+ export { default as SecretValueMask } from './SecretValueMask';
17
+ export type { SecretValueMaskProps } from './SecretValueMask';
18
+ export { default as ResourceBreadcrumb } from './ResourceBreadcrumb';
19
+ export type { ResourceBreadcrumbProps, BreadcrumbSegment } from './ResourceBreadcrumb';
20
+ export { default as Timeline } from './Timeline';
21
+ export type { TimelineProps, TimelineEvent } from './Timeline';
22
+ export { default as FilterBar } from './FilterBar';
23
+ export type { FilterBarProps, FilterDef, ActiveFilter } from './FilterBar';
@@ -0,0 +1,25 @@
1
+ export interface KubeEvent {
2
+ type: 'Normal' | 'Warning';
3
+ reason: string;
4
+ message: string;
5
+ count?: number;
6
+ firstTimestamp?: string;
7
+ lastTimestamp?: string;
8
+ involvedObject?: {
9
+ kind: string;
10
+ name: string;
11
+ namespace?: string;
12
+ };
13
+ }
14
+ export interface LogLine {
15
+ timestamp?: string;
16
+ content: string;
17
+ severity?: 'info' | 'warn' | 'error' | 'debug';
18
+ source?: string;
19
+ }
20
+ export interface DescriptionItem {
21
+ label: string;
22
+ value: React.ReactNode;
23
+ icon?: React.ReactNode;
24
+ copyable?: boolean;
25
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("@mui/material/Box"),d=require("@mui/material/Typography"),g=require("@mui/material/Chip"),V=require("./StatusPill-C7yn7dSA.cjs"),F=require("./Tooltip-44-P5KfQ.cjs"),M=require("./CopyButton-CACe3RCF.cjs"),p=require("react"),S=require("./TabPanel-CkUSl6Bt.cjs"),z=require("./CodeBlock-CIyG0DbW.cjs"),K=require("@mui/material/CircularProgress"),k=require("./Skeleton-CfdQWLQM.cjs"),J=require("@mui/material/IconButton"),y=require("react-icons/lu"),G=require("./types.cjs"),U=require("@mui/material/Popover"),X=require("@mui/material/TextField"),Y=require("@mui/material/MenuItem"),_=require("@mui/material/Select"),C={xs:{fontSize:"0.6875rem",chipSize:"small"},sm:{fontSize:"0.75rem",chipSize:"small"},md:{fontSize:"0.8125rem",chipSize:"small"},lg:{fontSize:"0.875rem",chipSize:"medium"},xl:{fontSize:"1rem",chipSize:"medium"}};function I({kind:r,name:n,namespace:i,icon:l,onNavigate:o,size:a="sm",interactive:t=!1}){const u=C[a]||C.sm;return e.jsxs(s,{sx:{display:"inline-flex",alignItems:"center",gap:.5,cursor:t?"pointer":void 0,"&:hover":t?{"& .resource-name":{textDecoration:"underline"}}:void 0},onClick:t?o:void 0,children:[l&&e.jsx(s,{sx:{display:"flex",alignItems:"center",color:"var(--ov-fg-muted)",fontSize:u.fontSize},children:l}),e.jsx(g,{label:r,size:u.chipSize,variant:"outlined",sx:{height:"auto",fontSize:"0.625rem",fontWeight:600,color:"var(--ov-fg-muted)",borderColor:"var(--ov-border-default)",py:0,"& .MuiChip-label":{px:.5,py:0}}}),e.jsx(d,{className:"resource-name",variant:"body2",sx:{fontSize:u.fontSize,fontWeight:500,color:t?"var(--ov-accent-fg)":"var(--ov-fg-base)"},noWrap:!0,children:n}),i&&e.jsxs(d,{variant:"caption",sx:{color:"var(--ov-fg-faint)",fontSize:u.fontSize},children:["(",i,")"]})]})}I.displayName="ResourceRef";const Q={Running:"healthy",Active:"healthy",Bound:"healthy",Available:"healthy",Ready:"healthy",Succeeded:"healthy",Completed:"healthy",Pending:"pending",ContainerCreating:"pending",Terminating:"warning",Warning:"warning",Degraded:"degraded",CrashLoopBackOff:"error",Failed:"error",Error:"error",ImagePullBackOff:"error",ErrImagePull:"error",OOMKilled:"error",Unknown:"unknown"};function T({status:r,conditions:n,size:i="sm",showTooltip:l=!0}){const o=Q[r]??"unknown",a=e.jsx(V.StatusPill,{status:o,label:r,size:i});return l&&n&&n.length>0?e.jsx(F.Tooltip,{variant:"rich",title:e.jsxs(s,{sx:{maxWidth:360},children:[e.jsx(d,{variant:"subtitle2",sx:{fontWeight:600,mb:.5},children:"Conditions"}),n.map((t,u)=>e.jsxs(s,{sx:{mb:.5},children:[e.jsxs(d,{variant:"caption",sx:{fontWeight:600},children:[t.type,": ",t.status]}),t.reason&&e.jsx(d,{variant:"caption",sx:{display:"block",color:"text.secondary"},children:t.reason}),t.message&&e.jsx(d,{variant:"caption",sx:{display:"block",color:"text.secondary",fontSize:"0.65rem"},children:t.message})]},u))]}),children:e.jsx(s,{sx:{display:"inline-flex"},children:a})}):a}T.displayName="ResourceStatus";const w={xs:{labelSize:"0.625rem",valueSize:"0.6875rem",gap:1},sm:{labelSize:"0.6875rem",valueSize:"0.75rem",gap:1.5},md:{labelSize:"0.75rem",valueSize:"0.8125rem",gap:2},lg:{labelSize:"0.8125rem",valueSize:"0.875rem",gap:2.5},xl:{labelSize:"0.875rem",valueSize:"1rem",gap:3}};function j({items:r,columns:n=1,size:i="md"}){const l=w[i]||w.md;return e.jsx(s,{sx:{display:"grid",gridTemplateColumns:`repeat(${n}, 1fr)`,gap:l.gap},children:r.map((o,a)=>e.jsxs(s,{children:[e.jsxs(s,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.25},children:[o.icon&&e.jsx(s,{sx:{display:"flex",alignItems:"center",color:"var(--ov-fg-muted)"},children:o.icon}),e.jsx(d,{variant:"caption",sx:{fontSize:l.labelSize,fontWeight:600,color:"var(--ov-fg-muted)",textTransform:"uppercase",letterSpacing:"0.04em"},children:o.label})]}),e.jsxs(s,{sx:{display:"flex",alignItems:"center",gap:.5},children:[e.jsx(d,{variant:"body2",sx:{fontSize:l.valueSize,color:"var(--ov-fg-base)",wordBreak:"break-word"},children:o.value}),o.copyable&&e.jsx(M.CopyButton,{value:String(o.value),size:"xs"})]})]},a))})}j.displayName="DescriptionList";function A(r,n=""){const i=[];for(const[l,o]of Object.entries(r)){const a=n?`${n}.${l}`:l;o!==null&&typeof o=="object"&&!Array.isArray(o)?i.push(...A(o,a)):i.push({label:a,value:Array.isArray(o)?o.join(", "):String(o??"—"),copyable:!0})}return i}function W({data:r,title:n,tabs:i,defaultTab:l,sx:o}){const a=p.useMemo(()=>A(r),[r]),t=p.useMemo(()=>{try{return JSON.stringify(r,null,2)}catch{return"{}"}},[r]),u=p.useMemo(()=>[{key:"summary",label:"Summary",content:e.jsx(j,{items:a,columns:2})},{key:"yaml",label:"YAML",content:e.jsx(z.CodeBlock,{language:"yaml",lineNumbers:!0,children:t})},{key:"json",label:"JSON",content:e.jsx(z.CodeBlock,{language:"json",lineNumbers:!0,children:t})}],[a,t]),x=p.useMemo(()=>[...u,...i??[]],[u,i]),[m,b]=p.useState(l??x[0]?.key??"summary");return e.jsxs(s,{sx:{border:"1px solid var(--ov-border-default)",borderRadius:"6px",overflow:"hidden",...typeof o=="object"&&!Array.isArray(o)?o:{}},children:[n&&e.jsx(s,{sx:{px:2,py:1,borderBottom:"1px solid var(--ov-border-default)",bgcolor:"var(--ov-bg-surface)"},children:e.jsx(d,{variant:"subtitle2",sx:{fontWeight:600,color:"var(--ov-fg-base)"},children:n})}),e.jsx(s,{sx:{px:2,pt:1},children:e.jsx(S.Tabs,{tabs:x.map(h=>({key:h.key,label:h.label})),value:m,onChange:b,size:"sm"})}),e.jsx(s,{sx:{p:2},children:x.map(h=>e.jsx(S.TabPanel,{value:h.key,activeValue:m,children:h.content},h.key))})]})}W.displayName="ObjectInspector";function Z(r){if(!r)return"—";const n=Date.now()-new Date(r).getTime(),i=Math.floor(n/6e4);if(i<60)return`${i}m`;const l=Math.floor(i/60);return l<24?`${l}h`:`${Math.floor(l/24)}d`}function ee({event:r}){return e.jsxs(s,{sx:{display:"flex",alignItems:"flex-start",gap:1.5,py:1,px:1.5,borderBottom:"1px solid var(--ov-border-muted)","&:last-child":{borderBottom:"none"}},children:[e.jsx(g,{label:r.type,size:"small",color:r.type==="Warning"?"warning":"info",variant:"outlined",sx:{fontSize:"0.625rem",height:20,flexShrink:0,mt:.25}}),e.jsxs(s,{sx:{flex:1,minWidth:0},children:[e.jsx(d,{variant:"body2",sx:{fontWeight:600,fontSize:"0.8125rem",color:"var(--ov-fg-base)"},children:r.reason}),e.jsx(d,{variant:"body2",sx:{fontSize:"0.75rem",color:"var(--ov-fg-default)",mt:.25},children:r.message}),r.involvedObject&&e.jsxs(d,{variant:"caption",sx:{color:"var(--ov-fg-muted)",mt:.25,display:"block"},children:[r.involvedObject.kind,"/",r.involvedObject.name,r.involvedObject.namespace?` (${r.involvedObject.namespace})`:""]})]}),e.jsxs(s,{sx:{display:"flex",alignItems:"center",gap:1,flexShrink:0},children:[r.count!=null&&r.count>1&&e.jsx(g,{label:`×${r.count}`,size:"small",sx:{fontSize:"0.625rem",height:18}}),e.jsx(d,{variant:"caption",sx:{color:"var(--ov-fg-faint)",whiteSpace:"nowrap"},children:Z(r.lastTimestamp??r.firstTimestamp)})]})]})}function B({events:r,loading:n=!1}){return n?e.jsx(s,{sx:{display:"flex",justifyContent:"center",py:4},children:e.jsx(K,{size:24})}):r.length===0?e.jsx(s,{sx:{textAlign:"center",py:4,color:"var(--ov-fg-muted)"},children:e.jsx(d,{variant:"body2",children:"No events"})}):e.jsx(s,{children:r.map((i,l)=>e.jsx(ee,{event:i},l))})}B.displayName="EventsList";const re={info:"var(--ov-fg-default)",warn:"var(--ov-warning)",error:"var(--ov-danger)",debug:"var(--ov-fg-faint)"},R=20;function O({lines:r,follow:n=!1,wrap:i=!1,timestamps:l=!0,maxLines:o,severity:a}){const t=p.useRef(null),u=p.useMemo(()=>{let x=r;return a&&(x=x.filter(m=>m.severity===a)),o&&(x=x.slice(-o)),x},[r,a,o]);return p.useEffect(()=>{n&&t.current&&(t.current.scrollTop=t.current.scrollHeight)},[u.length,n]),e.jsx(s,{ref:t,sx:{fontFamily:"var(--ov-font-mono)",fontSize:"0.75rem",lineHeight:`${R}px`,bgcolor:"#0d1117",color:"var(--ov-fg-default)",border:"1px solid var(--ov-border-default)",borderRadius:"6px",overflow:"auto",maxHeight:400,p:1,whiteSpace:i?"pre-wrap":"pre",wordBreak:i?"break-all":void 0},children:u.length===0?e.jsx(d,{variant:"body2",sx:{color:"var(--ov-fg-muted)",fontFamily:"inherit",fontSize:"inherit",py:2,textAlign:"center"},children:"No log lines"}):u.map((x,m)=>e.jsxs(s,{sx:{display:"flex",gap:1,color:re[x.severity??"info"],minHeight:R,"&:hover":{bgcolor:"rgba(255,255,255,0.03)"}},children:[e.jsx(s,{sx:{color:"var(--ov-fg-faint)",userSelect:"none",width:40,textAlign:"right",flexShrink:0},children:m+1}),l&&x.timestamp&&e.jsx(s,{sx:{color:"var(--ov-fg-muted)",flexShrink:0},children:x.timestamp}),e.jsx(s,{sx:{flex:1},children:x.content})]},m))})}O.displayName="LogsViewer";const oe={up:"var(--ov-success)",down:"var(--ov-danger)",neutral:"var(--ov-fg-muted)"};function q({label:r,value:n,unit:i,delta:l,deltaDirection:o="neutral",sparkline:a,loading:t=!1}){return t?e.jsxs(s,{sx:{p:2,border:"1px solid var(--ov-border-default)",borderRadius:"8px",bgcolor:"var(--ov-bg-surface)"},children:[e.jsx(k.Skeleton,{variant:"text",width:"40%"}),e.jsx(k.Skeleton,{variant:"text",width:"60%",height:32})]}):e.jsxs(s,{sx:{p:2,border:"1px solid var(--ov-border-default)",borderRadius:"8px",bgcolor:"var(--ov-bg-surface)",display:"flex",flexDirection:"column",gap:.5},children:[e.jsx(d,{variant:"caption",sx:{fontSize:"0.6875rem",fontWeight:600,color:"var(--ov-fg-muted)",textTransform:"uppercase",letterSpacing:"0.04em"},children:r}),e.jsxs(s,{sx:{display:"flex",alignItems:"baseline",gap:.5},children:[e.jsx(d,{variant:"h5",sx:{fontWeight:700,color:"var(--ov-fg-base)",lineHeight:1},children:n}),i&&e.jsx(d,{variant:"body2",sx:{color:"var(--ov-fg-muted)",fontSize:"0.75rem"},children:i})]}),l!=null&&e.jsxs(d,{variant:"caption",sx:{color:oe[o],fontWeight:500,fontSize:"0.75rem"},children:[o==="up"&&"↑",o==="down"&&"↓",l>0?"+":"",l,"%"]}),a&&e.jsx(s,{sx:{mt:.5},children:a})]})}q.displayName="MetricCard";function L({value:r,revealed:n,onReveal:i,copyable:l=!1}){const[o,a]=p.useState(!1),t=n??o,u=()=>{i?i():a(x=>!x)};return e.jsxs(s,{sx:{display:"inline-flex",alignItems:"center",gap:.5},children:[e.jsx(d,{variant:"body2",sx:{fontFamily:"var(--ov-font-mono)",fontSize:"0.8125rem",color:t?"var(--ov-fg-base)":"var(--ov-fg-muted)",letterSpacing:t?void 0:"0.15em"},children:t?r:"••••••••"}),e.jsx(J,{size:"small",onClick:u,sx:{p:.25},children:t?e.jsx(y.LuEyeOff,{size:14}):e.jsx(y.LuEye,{size:14})}),l&&e.jsx(M.CopyButton,{value:r,size:"xs"})]})}L.displayName="SecretValueMask";const te={xs:"var(--ov-text-xs)",sm:"var(--ov-text-xs)",md:"var(--ov-text-sm)",lg:"var(--ov-text-sm)",xl:"var(--ov-text-sm)"};function E({segments:r,onNavigate:n,size:i="sm",sx:l}){const o=te[i];return e.jsx(s,{sx:{display:"flex",alignItems:"center",gap:.5,...typeof l=="object"&&!Array.isArray(l)?l:{}},children:r.map((a,t)=>e.jsxs(p.Fragment,{children:[t>0&&e.jsx(y.LuChevronRight,{size:12,color:"var(--ov-fg-faint)"}),e.jsxs(s,{onClick:n?()=>n(a,t):void 0,sx:{display:"inline-flex",alignItems:"center",gap:.5,px:.5,py:.125,borderRadius:"3px",cursor:n?"pointer":"default",...n&&{"&:hover":{bgcolor:"var(--ov-state-hover)"}}},children:[a.icon&&e.jsx(s,{sx:{display:"flex",color:"var(--ov-fg-muted)",flexShrink:0},children:a.icon}),e.jsx(d,{sx:{fontSize:o,color:t===r.length-1?"var(--ov-fg-base)":"var(--ov-fg-muted)",fontWeight:t===r.length-1?500:400,whiteSpace:"nowrap"},children:a.label})]})]},t))})}E.displayName="ResourceBreadcrumb";const se={xs:8,sm:10,md:12,lg:14,xl:16};function N({events:r,size:n="sm",sx:i}){const l=se[n];return e.jsx(s,{sx:{display:"flex",flexDirection:"column",...typeof i=="object"&&!Array.isArray(i)?i:{}},children:r.map((o,a)=>{const t=o.color?G.toCssColor(o.color):"var(--ov-fg-muted)",u=a===r.length-1;return e.jsxs(s,{sx:{display:"flex",gap:1.5},children:[e.jsxs(s,{sx:{display:"flex",flexDirection:"column",alignItems:"center",width:l+8,flexShrink:0},children:[o.icon?e.jsx(s,{sx:{color:t,display:"flex",mt:.25},children:o.icon}):e.jsx(s,{sx:{width:l,height:l,borderRadius:"50%",bgcolor:t,mt:.5,flexShrink:0}}),!u&&e.jsx(s,{sx:{width:2,flex:1,bgcolor:"var(--ov-border-muted)",minHeight:16}})]}),e.jsxs(s,{sx:{flex:1,pb:u?0:2,minWidth:0},children:[e.jsxs(s,{sx:{display:"flex",justifyContent:"space-between",alignItems:"baseline",mb:.25},children:[e.jsx(d,{sx:{fontSize:n==="xs"?"var(--ov-text-xs)":"var(--ov-text-sm)",fontWeight:500,color:"var(--ov-fg-base)"},children:o.title}),e.jsx(d,{sx:{fontSize:"var(--ov-text-xs)",color:"var(--ov-fg-faint)",whiteSpace:"nowrap",ml:1,flexShrink:0},children:typeof o.timestamp=="string"?o.timestamp:o.timestamp.toLocaleTimeString()})]}),o.description&&e.jsx(d,{sx:{fontSize:"var(--ov-text-xs)",color:"var(--ov-fg-muted)",lineHeight:1.5},children:o.description})]})]},o.id)})})}N.displayName="Timeline";function P({filters:r,activeFilters:n,onChange:i,sx:l}){const[o,a]=p.useState(null),[t,u]=p.useState(null),[x,m]=p.useState(""),b=(c,f)=>{a(c.currentTarget),u(f);const v=n.find(H=>H.key===f.key);m(v?.value??"")},h=()=>{if(!t)return;const c=t.key,f=n.filter(v=>v.key!==c);x.trim()&&f.push({key:c,value:x.trim()}),i(f),a(null),u(null)},$=c=>{i(n.filter(f=>f.key!==c))},D=new Set(n.map(c=>c.key));return e.jsxs(s,{sx:{display:"flex",alignItems:"center",gap:.75,flexWrap:"wrap",...typeof l=="object"&&!Array.isArray(l)?l:{}},children:[n.map(c=>{const f=r.find(v=>v.key===c.key);return e.jsx(g,{label:`${f?.label??c.key}: ${c.value}`,size:"small",onDelete:()=>$(c.key),deleteIcon:e.jsx(y.LuX,{size:12}),onClick:v=>f&&b(v,f),sx:{fontSize:"var(--ov-text-xs)",bgcolor:"var(--ov-accent-subtle)",color:"var(--ov-accent-fg)","& .MuiChip-deleteIcon":{color:"var(--ov-accent-fg)"}}},c.key)}),r.filter(c=>!D.has(c.key)).map(c=>e.jsx(g,{label:c.label,size:"small",icon:e.jsx(y.LuPlus,{size:10}),onClick:f=>b(f,c),variant:"outlined",sx:{fontSize:"var(--ov-text-xs)",borderColor:"var(--ov-border-default)",color:"var(--ov-fg-muted)",cursor:"pointer"}},c.key)),e.jsx(U,{open:!!o,anchorEl:o,onClose:()=>{a(null),u(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},slotProps:{paper:{sx:{p:2,minWidth:220,bgcolor:"var(--ov-bg-surface)",border:"1px solid var(--ov-border-default)"}}},children:t&&e.jsxs(s,{children:[e.jsx(d,{sx:{fontSize:"var(--ov-text-xs)",fontWeight:600,color:"var(--ov-fg-muted)",mb:1},children:t.label}),t.type==="text"&&e.jsx(X,{autoFocus:!0,size:"small",fullWidth:!0,value:x,onChange:c=>m(c.target.value),onKeyDown:c=>{c.key==="Enter"&&h()},placeholder:t.placeholder,sx:{mb:1}}),t.type==="select"&&t.options&&e.jsx(_,{size:"small",fullWidth:!0,value:x,onChange:c=>m(c.target.value),sx:{mb:1},children:t.options.map(c=>e.jsx(Y,{value:c,children:c},c))}),e.jsx(s,{sx:{display:"flex",justifyContent:"flex-end",gap:.5},children:e.jsx(g,{label:"Apply",size:"small",onClick:h,sx:{cursor:"pointer",bgcolor:"var(--ov-accent)",color:"#fff",fontSize:"var(--ov-text-xs)"}})})]})})]})}P.displayName="FilterBar";exports.DescriptionList=j;exports.EventsList=B;exports.FilterBar=P;exports.LogsViewer=O;exports.MetricCard=q;exports.ObjectInspector=W;exports.ResourceBreadcrumb=E;exports.ResourceRef=I;exports.ResourceStatus=T;exports.SecretValueMask=L;exports.Timeline=N;