mirror of
				https://github.com/reduxjs/redux-devtools.git
				synced 2025-11-04 09:57:26 +03:00 
			
		
		
		
	* react-base16-styling * Use inline react-base16-styling themes * Fix * Format * Fix * Fixes * Transform more * react-json-tree * Update lock * Remove unnecessary * react-dock * Move to dep * Lock * Fix * Fix * Create tame-eagles-relax.md
		
			
				
	
	
		
			47 lines
		
	
	
		
			982 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			982 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import React from 'react';
 | 
						|
import type {
 | 
						|
  GetItemString,
 | 
						|
  Key,
 | 
						|
  KeyPath,
 | 
						|
  LabelRenderer,
 | 
						|
  Styling,
 | 
						|
  ValueRenderer,
 | 
						|
} from './types.js';
 | 
						|
 | 
						|
/**
 | 
						|
 * Renders simple values (eg. strings, numbers, booleans, etc)
 | 
						|
 */
 | 
						|
 | 
						|
interface Props {
 | 
						|
  getItemString: GetItemString;
 | 
						|
  key: Key;
 | 
						|
  keyPath: KeyPath;
 | 
						|
  labelRenderer: LabelRenderer;
 | 
						|
  nodeType: string;
 | 
						|
  styling: Styling;
 | 
						|
  value: unknown;
 | 
						|
  valueRenderer: ValueRenderer;
 | 
						|
  valueGetter?: (value: any) => unknown;
 | 
						|
}
 | 
						|
 | 
						|
export default function JSONValueNode({
 | 
						|
  nodeType,
 | 
						|
  styling,
 | 
						|
  labelRenderer,
 | 
						|
  keyPath,
 | 
						|
  valueRenderer,
 | 
						|
  value,
 | 
						|
  valueGetter = (value) => value,
 | 
						|
}: Props) {
 | 
						|
  return (
 | 
						|
    <li {...styling('value', nodeType, keyPath)}>
 | 
						|
      <label {...styling(['label', 'valueLabel'], nodeType, keyPath)}>
 | 
						|
        {labelRenderer(keyPath, nodeType, false, false)}
 | 
						|
      </label>
 | 
						|
      <span {...styling('valueText', nodeType, keyPath)}>
 | 
						|
        {valueRenderer(valueGetter(value), value, ...keyPath)}
 | 
						|
      </span>
 | 
						|
    </li>
 | 
						|
  );
 | 
						|
}
 |