@skyhook-io/k8s-ui 1.5.1 → 1.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyhook-io/k8s-ui",
3
- "version": "1.5.1",
3
+ "version": "1.5.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/skyhook-io/radar",
@@ -1,17 +1,20 @@
1
1
  import { useState, useMemo } from 'react'
2
2
  import { ChevronRight, ChevronDown } from 'lucide-react'
3
- import { getLevelColor } from '../../utils/log-format'
4
3
  import type { LogLevel } from './useLogBuffer'
4
+ import { getLogPalette, getLogLevelColor } from './log-palette'
5
5
 
6
6
  interface JsonLogLineProps {
7
7
  content: string
8
8
  level: LogLevel
9
9
  wordWrap: boolean
10
+ /** Dark/light palette selector. Defaults to `true` for the dark-by-default viewer. */
11
+ isDark?: boolean
10
12
  }
11
13
 
12
- export function JsonLogLine({ content, level, wordWrap }: JsonLogLineProps) {
14
+ export function JsonLogLine({ content, level, wordWrap, isDark = true }: JsonLogLineProps) {
13
15
  const [expanded, setExpanded] = useState(false)
14
- const levelColor = getLevelColor(level)
16
+ const palette = useMemo(() => getLogPalette(isDark), [isDark])
17
+ const levelColor = getLogLevelColor(level, isDark)
15
18
 
16
19
  const parsed = useMemo(() => {
17
20
  try {
@@ -36,17 +39,17 @@ export function JsonLogLine({ content, level, wordWrap }: JsonLogLineProps) {
36
39
  <span className={levelColor}>
37
40
  <button
38
41
  onClick={() => setExpanded(!expanded)}
39
- className="inline-flex items-center gap-0.5 hover:bg-theme-surface/50 rounded px-0.5 -ml-0.5 align-middle"
42
+ className={`inline-flex items-center gap-0.5 ${palette.hoverSurface} rounded px-0.5 -ml-0.5 align-middle`}
40
43
  >
41
44
  {expanded
42
- ? <ChevronDown className="w-3 h-3 shrink-0 text-theme-text-tertiary" />
43
- : <ChevronRight className="w-3 h-3 shrink-0 text-theme-text-tertiary" />
45
+ ? <ChevronDown className={`w-3 h-3 shrink-0 ${palette.textTertiary}`} />
46
+ : <ChevronRight className={`w-3 h-3 shrink-0 ${palette.textTertiary}`} />
44
47
  }
45
48
  </button>
46
49
  {!expanded ? (
47
50
  <span className={wordWrap ? 'whitespace-pre-wrap break-all' : 'whitespace-pre'}>
48
51
  {summary}
49
- <span className="text-theme-text-tertiary ml-1">{`{${fieldCount} fields}`}</span>
52
+ <span className={`${palette.textTertiary} ml-1`}>{`{${fieldCount} fields}`}</span>
50
53
  </span>
51
54
  ) : (
52
55
  <span className={`block ml-4 ${wordWrap ? 'whitespace-pre-wrap break-all' : 'whitespace-pre'}`}>