@uiw/react-json-view 1.9.0 → 1.10.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.
package/README.md CHANGED
@@ -85,20 +85,38 @@ import React from 'react';
85
85
  import JsonView from '@uiw/react-json-view';
86
86
  import { lightTheme } from '@uiw/react-json-view/light';
87
87
  import { darkTheme } from '@uiw/react-json-view/dark';
88
+ import { nordTheme } from '@uiw/react-json-view/nord';
89
+ import { githubLightTheme } from '@uiw/react-json-view/githubLight';
90
+ import { githubDarkTheme } from '@uiw/react-json-view/githubDark';
91
+ import { vscodeTheme } from '@uiw/react-json-view/vscode';
92
+ import { gruvboxTheme } from '@uiw/react-json-view/gruvbox';
93
+ import { monokaiTheme } from '@uiw/react-json-view/monokai';
88
94
 
89
95
  const object = {
90
96
  string: 'Lorem ipsum dolor sit amet',
91
97
  integer: 42,
92
98
  float: 114.514,
99
+ boolean: true,
100
+ null: null,
101
+ nan: NaN,
102
+ url: new URL('https://example.com'),
93
103
  }
94
104
 
105
+ const style = { display: 'grid', gap: '1rem', gridTemplateColumns: 'repeat(auto-fill, minmax(250px, 1fr))' };
106
+
95
107
  export default function Demo() {
96
108
  return (
97
- <React.Fragment>
109
+ <div style={style}>
98
110
  <JsonView value={object} style={darkTheme} />
99
111
  <JsonView value={object} style={lightTheme} />
100
- </React.Fragment>
101
- )
112
+ <JsonView value={object} style={nordTheme} />
113
+ <JsonView value={object} style={githubLightTheme} />
114
+ <JsonView value={object} style={githubDarkTheme} />
115
+ <JsonView value={object} style={gruvboxTheme} />
116
+ <JsonView value={object} style={vscodeTheme} />
117
+ <JsonView value={object} style={monokaiTheme} />
118
+ </div>
119
+ );
102
120
  }
103
121
  ```
104
122
 
@@ -200,6 +218,7 @@ const customTheme = {
200
218
  '--w-rjv-copied-success-color': '#28a745',
201
219
 
202
220
  '--w-rjv-curlybraces-color': '#d4d4d4',
221
+ '--w-rjv-colon-color': '#f8f8f2',
203
222
  '--w-rjv-brackets-color': '#d4d4d4',
204
223
 
205
224
  '--w-rjv-type-string-color': '#ce9178',
@@ -1,24 +1,2 @@
1
- export declare const darkTheme: {
2
- '--w-rjv-font-family': string;
3
- '--w-rjv-color': string;
4
- '--w-rjv-background-color': string;
5
- '--w-rjv-line-color': string;
6
- '--w-rjv-arrow-color': string;
7
- '--w-rjv-edit-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-update-color': string;
10
- '--w-rjv-copied-color': string;
11
- '--w-rjv-copied-success-color': string;
12
- '--w-rjv-curlybraces-color': string;
13
- '--w-rjv-brackets-color': string;
14
- '--w-rjv-type-string-color': string;
15
- '--w-rjv-type-int-color': string;
16
- '--w-rjv-type-float-color': string;
17
- '--w-rjv-type-bigint-color': string;
18
- '--w-rjv-type-boolean-color': string;
19
- '--w-rjv-type-date-color': string;
20
- '--w-rjv-type-url-color': string;
21
- '--w-rjv-type-null-color': string;
22
- '--w-rjv-type-nan-color': string;
23
- '--w-rjv-type-undefined-color': string;
24
- };
1
+ /// <reference types="react" />
2
+ export declare const darkTheme: import("react").CSSProperties;
package/cjs/theme/dark.js CHANGED
@@ -25,7 +25,7 @@ var darkTheme = {
25
25
  '--w-rjv-type-date-color': '#586e75',
26
26
  '--w-rjv-type-url-color': '#649bd8',
27
27
  '--w-rjv-type-null-color': '#d33682',
28
- '--w-rjv-type-nan-color': '#859900',
28
+ '--w-rjv-type-nan-color': '#076678',
29
29
  '--w-rjv-type-undefined-color': '#586e75'
30
30
  };
31
31
  exports.darkTheme = darkTheme;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const githubDarkTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.githubDarkTheme = void 0;
7
+ var githubDarkTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#79c0ff',
10
+ '--w-rjv-background-color': '#0d1117',
11
+ '--w-rjv-line-color': '#94949480',
12
+ '--w-rjv-arrow-color': '#ccc',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#7b7b7b',
15
+ '--w-rjv-update-color': '#ebcb8b',
16
+ '--w-rjv-copied-color': '#79c0ff',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#8b949e',
19
+ '--w-rjv-colon-color': '#c9d1d9',
20
+ '--w-rjv-brackets-color': '#8b949e',
21
+ '--w-rjv-type-string-color': '#a5d6ff',
22
+ '--w-rjv-type-int-color': '#79c0ff',
23
+ '--w-rjv-type-float-color': '#79c0ff',
24
+ '--w-rjv-type-bigint-color': '#79c0ff',
25
+ '--w-rjv-type-boolean-color': '#ffab70',
26
+ '--w-rjv-type-date-color': '#79c0ff',
27
+ '--w-rjv-type-url-color': '#4facff',
28
+ '--w-rjv-type-null-color': '#ff7b72',
29
+ '--w-rjv-type-nan-color': '#859900',
30
+ '--w-rjv-type-undefined-color': '#79c0ff'
31
+ };
32
+ exports.githubDarkTheme = githubDarkTheme;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const githubLightTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.githubLightTheme = void 0;
7
+ var githubLightTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#6f42c1',
10
+ '--w-rjv-background-color': '#ffffff',
11
+ '--w-rjv-line-color': '#ddd',
12
+ '--w-rjv-arrow-color': '#6e7781',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#0000004d',
15
+ '--w-rjv-update-color': '#ebcb8b',
16
+ '--w-rjv-copied-color': '#002b36',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#6a737d',
19
+ '--w-rjv-colon-color': '#24292e',
20
+ '--w-rjv-brackets-color': '#6a737d',
21
+ '--w-rjv-type-string-color': '#032f62',
22
+ '--w-rjv-type-int-color': '#005cc5',
23
+ '--w-rjv-type-float-color': '#005cc5',
24
+ '--w-rjv-type-bigint-color': '#005cc5',
25
+ '--w-rjv-type-boolean-color': '#d73a49',
26
+ '--w-rjv-type-date-color': '#005cc5',
27
+ '--w-rjv-type-url-color': '#0969da',
28
+ '--w-rjv-type-null-color': '#d73a49',
29
+ '--w-rjv-type-nan-color': '#859900',
30
+ '--w-rjv-type-undefined-color': '#005cc5'
31
+ };
32
+ exports.githubLightTheme = githubLightTheme;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const gruvboxTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.gruvboxTheme = void 0;
7
+ var gruvboxTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#3c3836',
10
+ '--w-rjv-background-color': '#fbf1c7',
11
+ '--w-rjv-line-color': '#ebdbb2',
12
+ '--w-rjv-arrow-color': 'var(--w-rjv-color)',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#0000004d',
15
+ '--w-rjv-update-color': '#ebcb8b',
16
+ '--w-rjv-copied-color': '#002b36',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#236a7c',
19
+ '--w-rjv-colon-color': '#002b36',
20
+ '--w-rjv-brackets-color': '#236a7c',
21
+ '--w-rjv-type-string-color': '#3c3836',
22
+ '--w-rjv-type-int-color': '#8f3f71',
23
+ '--w-rjv-type-float-color': '#8f3f71',
24
+ '--w-rjv-type-bigint-color': '#8f3f71',
25
+ '--w-rjv-type-boolean-color': '#8f3f71',
26
+ '--w-rjv-type-date-color': '#076678',
27
+ '--w-rjv-type-url-color': '#0969da',
28
+ '--w-rjv-type-null-color': '#076678',
29
+ '--w-rjv-type-nan-color': '#076678',
30
+ '--w-rjv-type-undefined-color': '#076678'
31
+ };
32
+ exports.gruvboxTheme = gruvboxTheme;
@@ -1,24 +1,2 @@
1
- export declare const lightTheme: {
2
- '--w-rjv-font-family': string;
3
- '--w-rjv-color': string;
4
- '--w-rjv-background-color': string;
5
- '--w-rjv-line-color': string;
6
- '--w-rjv-arrow-color': string;
7
- '--w-rjv-edit-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-update-color': string;
10
- '--w-rjv-copied-color': string;
11
- '--w-rjv-copied-success-color': string;
12
- '--w-rjv-curlybraces-color': string;
13
- '--w-rjv-brackets-color': string;
14
- '--w-rjv-type-string-color': string;
15
- '--w-rjv-type-int-color': string;
16
- '--w-rjv-type-float-color': string;
17
- '--w-rjv-type-bigint-color': string;
18
- '--w-rjv-type-boolean-color': string;
19
- '--w-rjv-type-date-color': string;
20
- '--w-rjv-type-url-color': string;
21
- '--w-rjv-type-null-color': string;
22
- '--w-rjv-type-nan-color': string;
23
- '--w-rjv-type-undefined-color': string;
24
- };
1
+ /// <reference types="react" />
2
+ export declare const lightTheme: import("react").CSSProperties;
@@ -16,6 +16,7 @@ var lightTheme = {
16
16
  '--w-rjv-copied-color': '#002b36',
17
17
  '--w-rjv-copied-success-color': '#28a745',
18
18
  '--w-rjv-curlybraces-color': '#236a7c',
19
+ '--w-rjv-colon-color': '#002b36',
19
20
  '--w-rjv-brackets-color': '#236a7c',
20
21
  '--w-rjv-type-string-color': '#cb4b16',
21
22
  '--w-rjv-type-int-color': '#268bd2',
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const monokaiTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.monokaiTheme = void 0;
7
+ var monokaiTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#E6DB74',
10
+ '--w-rjv-background-color': '#272822',
11
+ '--w-rjv-line-color': '#3e3d32',
12
+ '--w-rjv-arrow-color': '#f8f8f2',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#cecece4d',
15
+ '--w-rjv-update-color': '#5f5600',
16
+ '--w-rjv-copied-color': '#E6DB74',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#f8f8f2',
19
+ '--w-rjv-colon-color': '#f8f8f2',
20
+ '--w-rjv-brackets-color': '#f8f8f2',
21
+ '--w-rjv-type-string-color': '#E6DB74',
22
+ '--w-rjv-type-int-color': '#AE81FF',
23
+ '--w-rjv-type-float-color': '#AE81FF',
24
+ '--w-rjv-type-bigint-color': '#AE81FF',
25
+ '--w-rjv-type-boolean-color': '#AE81FF',
26
+ '--w-rjv-type-date-color': '#fd9720c7',
27
+ '--w-rjv-type-url-color': '#55a3ff',
28
+ '--w-rjv-type-null-color': '#FA2672',
29
+ '--w-rjv-type-nan-color': '#FD971F',
30
+ '--w-rjv-type-undefined-color': '#FD971F'
31
+ };
32
+ exports.monokaiTheme = monokaiTheme;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const nordTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.nordTheme = void 0;
7
+ var nordTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#88c0d0',
10
+ '--w-rjv-background-color': '#2e3440',
11
+ '--w-rjv-line-color': '#4c566a',
12
+ '--w-rjv-arrow-color': 'var(--w-rjv-color)',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#c7c7c74d',
15
+ '--w-rjv-update-color': '#88c0cf75',
16
+ '--w-rjv-copied-color': '#119cc0',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#8fbcbb',
19
+ '--w-rjv-colon-color': '#6d9fac',
20
+ '--w-rjv-brackets-color': '#8fbcbb',
21
+ '--w-rjv-type-string-color': '#a3be8c',
22
+ '--w-rjv-type-int-color': '#b48ead',
23
+ '--w-rjv-type-float-color': '#859900',
24
+ '--w-rjv-type-bigint-color': '#b48ead',
25
+ '--w-rjv-type-boolean-color': '#d08770',
26
+ '--w-rjv-type-date-color': '#41a2c2',
27
+ '--w-rjv-type-url-color': '#5e81ac',
28
+ '--w-rjv-type-null-color': '#5e81ac',
29
+ '--w-rjv-type-nan-color': '#859900',
30
+ '--w-rjv-type-undefined-color': '#586e75'
31
+ };
32
+ exports.nordTheme = nordTheme;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const vscodeTheme: import("react").CSSProperties;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.vscodeTheme = void 0;
7
+ var vscodeTheme = {
8
+ '--w-rjv-font-family': 'monospace',
9
+ '--w-rjv-color': '#9cdcfe',
10
+ '--w-rjv-background-color': '#1e1e1e',
11
+ '--w-rjv-line-color': '#36334280',
12
+ '--w-rjv-arrow-color': '#838383',
13
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
14
+ '--w-rjv-info-color': '#9c9c9c7a',
15
+ '--w-rjv-update-color': '#9cdcfe',
16
+ '--w-rjv-copied-color': '#9cdcfe',
17
+ '--w-rjv-copied-success-color': '#28a745',
18
+ '--w-rjv-curlybraces-color': '#d4d4d4',
19
+ '--w-rjv-colon-color': '#d4d4d4',
20
+ '--w-rjv-brackets-color': '#d4d4d4',
21
+ '--w-rjv-type-string-color': '#ce9178',
22
+ '--w-rjv-type-int-color': '#b5cea8',
23
+ '--w-rjv-type-float-color': '#b5cea8',
24
+ '--w-rjv-type-bigint-color': '#b5cea8',
25
+ '--w-rjv-type-boolean-color': '#569cd6',
26
+ '--w-rjv-type-date-color': '#b5cea8',
27
+ '--w-rjv-type-url-color': '#3b89cf',
28
+ '--w-rjv-type-null-color': '#569cd6',
29
+ '--w-rjv-type-nan-color': '#859900',
30
+ '--w-rjv-type-undefined-color': '#569cd6'
31
+ };
32
+ exports.vscodeTheme = vscodeTheme;
package/cjs/value.js CHANGED
@@ -80,9 +80,11 @@ var Colon = function Colon(_ref) {
80
80
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
81
81
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
82
82
  className: "w-rjv-colon",
83
- style: (0, _objectSpread2["default"])({
83
+ style: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
84
84
  paddingRight: 3
85
- }, style)
85
+ }, style), {}, {
86
+ color: 'var(--w-rjv-colon-color, var(--w-rjv-color))'
87
+ })
86
88
  }, props), {}, {
87
89
  children: children
88
90
  }));
@@ -95,6 +97,10 @@ function getValueString(value) {
95
97
  if (typeof value === 'number') {
96
98
  type = isFloat(value) ? 'float' : 'number';
97
99
  content = value.toString();
100
+ if (isNaN(value)) {
101
+ type = 'NaN';
102
+ content = 'NaN';
103
+ }
98
104
  }
99
105
  if (typeof value === 'boolean') {
100
106
  type = 'boolean';
@@ -212,7 +218,7 @@ function ValueView(props) {
212
218
  fontWeight: 'bold'
213
219
  };
214
220
  }
215
- if (value === undefined) {
221
+ if (value === undefined || type === 'NaN') {
216
222
  typeView = /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.Fragment, {});
217
223
  }
218
224
  var isURL = value instanceof URL;
package/dark.d.ts CHANGED
@@ -1,19 +1,3 @@
1
1
  declare module '@uiw/react-json-view/dark' {
2
- export const darkTheme: {
3
- '--w-rjv-font-family': string;
4
- '--w-rjv-color': string;
5
- '--w-rjv-background-color': string;
6
- '--w-rjv-border-left': string;
7
- '--w-rjv-arrow-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-type-string-color': string;
10
- '--w-rjv-type-int-color': string;
11
- '--w-rjv-type-float-color': string;
12
- '--w-rjv-type-bigint-color': string;
13
- '--w-rjv-type-boolean-color': string;
14
- '--w-rjv-type-date-color': string;
15
- '--w-rjv-type-null-color': string;
16
- '--w-rjv-type-nan-color': string;
17
- '--w-rjv-type-undefined-color': string;
18
- };
2
+ export const darkTheme: import('react').CSSProperties;
19
3
  }
@@ -1,24 +1,2 @@
1
- export declare const darkTheme: {
2
- '--w-rjv-font-family': string;
3
- '--w-rjv-color': string;
4
- '--w-rjv-background-color': string;
5
- '--w-rjv-line-color': string;
6
- '--w-rjv-arrow-color': string;
7
- '--w-rjv-edit-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-update-color': string;
10
- '--w-rjv-copied-color': string;
11
- '--w-rjv-copied-success-color': string;
12
- '--w-rjv-curlybraces-color': string;
13
- '--w-rjv-brackets-color': string;
14
- '--w-rjv-type-string-color': string;
15
- '--w-rjv-type-int-color': string;
16
- '--w-rjv-type-float-color': string;
17
- '--w-rjv-type-bigint-color': string;
18
- '--w-rjv-type-boolean-color': string;
19
- '--w-rjv-type-date-color': string;
20
- '--w-rjv-type-url-color': string;
21
- '--w-rjv-type-null-color': string;
22
- '--w-rjv-type-nan-color': string;
23
- '--w-rjv-type-undefined-color': string;
24
- };
1
+ /// <reference types="react" />
2
+ export declare const darkTheme: import("react").CSSProperties;
package/esm/theme/dark.js CHANGED
@@ -19,6 +19,6 @@ export var darkTheme = {
19
19
  '--w-rjv-type-date-color': '#586e75',
20
20
  '--w-rjv-type-url-color': '#649bd8',
21
21
  '--w-rjv-type-null-color': '#d33682',
22
- '--w-rjv-type-nan-color': '#859900',
22
+ '--w-rjv-type-nan-color': '#076678',
23
23
  '--w-rjv-type-undefined-color': '#586e75'
24
24
  };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const githubDarkTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var githubDarkTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#79c0ff',
4
+ '--w-rjv-background-color': '#0d1117',
5
+ '--w-rjv-line-color': '#94949480',
6
+ '--w-rjv-arrow-color': '#ccc',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#7b7b7b',
9
+ '--w-rjv-update-color': '#ebcb8b',
10
+ '--w-rjv-copied-color': '#79c0ff',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#8b949e',
13
+ '--w-rjv-colon-color': '#c9d1d9',
14
+ '--w-rjv-brackets-color': '#8b949e',
15
+ '--w-rjv-type-string-color': '#a5d6ff',
16
+ '--w-rjv-type-int-color': '#79c0ff',
17
+ '--w-rjv-type-float-color': '#79c0ff',
18
+ '--w-rjv-type-bigint-color': '#79c0ff',
19
+ '--w-rjv-type-boolean-color': '#ffab70',
20
+ '--w-rjv-type-date-color': '#79c0ff',
21
+ '--w-rjv-type-url-color': '#4facff',
22
+ '--w-rjv-type-null-color': '#ff7b72',
23
+ '--w-rjv-type-nan-color': '#859900',
24
+ '--w-rjv-type-undefined-color': '#79c0ff'
25
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const githubLightTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var githubLightTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#6f42c1',
4
+ '--w-rjv-background-color': '#ffffff',
5
+ '--w-rjv-line-color': '#ddd',
6
+ '--w-rjv-arrow-color': '#6e7781',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#0000004d',
9
+ '--w-rjv-update-color': '#ebcb8b',
10
+ '--w-rjv-copied-color': '#002b36',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#6a737d',
13
+ '--w-rjv-colon-color': '#24292e',
14
+ '--w-rjv-brackets-color': '#6a737d',
15
+ '--w-rjv-type-string-color': '#032f62',
16
+ '--w-rjv-type-int-color': '#005cc5',
17
+ '--w-rjv-type-float-color': '#005cc5',
18
+ '--w-rjv-type-bigint-color': '#005cc5',
19
+ '--w-rjv-type-boolean-color': '#d73a49',
20
+ '--w-rjv-type-date-color': '#005cc5',
21
+ '--w-rjv-type-url-color': '#0969da',
22
+ '--w-rjv-type-null-color': '#d73a49',
23
+ '--w-rjv-type-nan-color': '#859900',
24
+ '--w-rjv-type-undefined-color': '#005cc5'
25
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const gruvboxTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var gruvboxTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#3c3836',
4
+ '--w-rjv-background-color': '#fbf1c7',
5
+ '--w-rjv-line-color': '#ebdbb2',
6
+ '--w-rjv-arrow-color': 'var(--w-rjv-color)',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#0000004d',
9
+ '--w-rjv-update-color': '#ebcb8b',
10
+ '--w-rjv-copied-color': '#002b36',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#236a7c',
13
+ '--w-rjv-colon-color': '#002b36',
14
+ '--w-rjv-brackets-color': '#236a7c',
15
+ '--w-rjv-type-string-color': '#3c3836',
16
+ '--w-rjv-type-int-color': '#8f3f71',
17
+ '--w-rjv-type-float-color': '#8f3f71',
18
+ '--w-rjv-type-bigint-color': '#8f3f71',
19
+ '--w-rjv-type-boolean-color': '#8f3f71',
20
+ '--w-rjv-type-date-color': '#076678',
21
+ '--w-rjv-type-url-color': '#0969da',
22
+ '--w-rjv-type-null-color': '#076678',
23
+ '--w-rjv-type-nan-color': '#076678',
24
+ '--w-rjv-type-undefined-color': '#076678'
25
+ };
@@ -1,24 +1,2 @@
1
- export declare const lightTheme: {
2
- '--w-rjv-font-family': string;
3
- '--w-rjv-color': string;
4
- '--w-rjv-background-color': string;
5
- '--w-rjv-line-color': string;
6
- '--w-rjv-arrow-color': string;
7
- '--w-rjv-edit-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-update-color': string;
10
- '--w-rjv-copied-color': string;
11
- '--w-rjv-copied-success-color': string;
12
- '--w-rjv-curlybraces-color': string;
13
- '--w-rjv-brackets-color': string;
14
- '--w-rjv-type-string-color': string;
15
- '--w-rjv-type-int-color': string;
16
- '--w-rjv-type-float-color': string;
17
- '--w-rjv-type-bigint-color': string;
18
- '--w-rjv-type-boolean-color': string;
19
- '--w-rjv-type-date-color': string;
20
- '--w-rjv-type-url-color': string;
21
- '--w-rjv-type-null-color': string;
22
- '--w-rjv-type-nan-color': string;
23
- '--w-rjv-type-undefined-color': string;
24
- };
1
+ /// <reference types="react" />
2
+ export declare const lightTheme: import("react").CSSProperties;
@@ -10,6 +10,7 @@ export var lightTheme = {
10
10
  '--w-rjv-copied-color': '#002b36',
11
11
  '--w-rjv-copied-success-color': '#28a745',
12
12
  '--w-rjv-curlybraces-color': '#236a7c',
13
+ '--w-rjv-colon-color': '#002b36',
13
14
  '--w-rjv-brackets-color': '#236a7c',
14
15
  '--w-rjv-type-string-color': '#cb4b16',
15
16
  '--w-rjv-type-int-color': '#268bd2',
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const monokaiTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var monokaiTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#E6DB74',
4
+ '--w-rjv-background-color': '#272822',
5
+ '--w-rjv-line-color': '#3e3d32',
6
+ '--w-rjv-arrow-color': '#f8f8f2',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#cecece4d',
9
+ '--w-rjv-update-color': '#5f5600',
10
+ '--w-rjv-copied-color': '#E6DB74',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#f8f8f2',
13
+ '--w-rjv-colon-color': '#f8f8f2',
14
+ '--w-rjv-brackets-color': '#f8f8f2',
15
+ '--w-rjv-type-string-color': '#E6DB74',
16
+ '--w-rjv-type-int-color': '#AE81FF',
17
+ '--w-rjv-type-float-color': '#AE81FF',
18
+ '--w-rjv-type-bigint-color': '#AE81FF',
19
+ '--w-rjv-type-boolean-color': '#AE81FF',
20
+ '--w-rjv-type-date-color': '#fd9720c7',
21
+ '--w-rjv-type-url-color': '#55a3ff',
22
+ '--w-rjv-type-null-color': '#FA2672',
23
+ '--w-rjv-type-nan-color': '#FD971F',
24
+ '--w-rjv-type-undefined-color': '#FD971F'
25
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const nordTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var nordTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#88c0d0',
4
+ '--w-rjv-background-color': '#2e3440',
5
+ '--w-rjv-line-color': '#4c566a',
6
+ '--w-rjv-arrow-color': 'var(--w-rjv-color)',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#c7c7c74d',
9
+ '--w-rjv-update-color': '#88c0cf75',
10
+ '--w-rjv-copied-color': '#119cc0',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#8fbcbb',
13
+ '--w-rjv-colon-color': '#6d9fac',
14
+ '--w-rjv-brackets-color': '#8fbcbb',
15
+ '--w-rjv-type-string-color': '#a3be8c',
16
+ '--w-rjv-type-int-color': '#b48ead',
17
+ '--w-rjv-type-float-color': '#859900',
18
+ '--w-rjv-type-bigint-color': '#b48ead',
19
+ '--w-rjv-type-boolean-color': '#d08770',
20
+ '--w-rjv-type-date-color': '#41a2c2',
21
+ '--w-rjv-type-url-color': '#5e81ac',
22
+ '--w-rjv-type-null-color': '#5e81ac',
23
+ '--w-rjv-type-nan-color': '#859900',
24
+ '--w-rjv-type-undefined-color': '#586e75'
25
+ };
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const vscodeTheme: import("react").CSSProperties;
@@ -0,0 +1,25 @@
1
+ export var vscodeTheme = {
2
+ '--w-rjv-font-family': 'monospace',
3
+ '--w-rjv-color': '#9cdcfe',
4
+ '--w-rjv-background-color': '#1e1e1e',
5
+ '--w-rjv-line-color': '#36334280',
6
+ '--w-rjv-arrow-color': '#838383',
7
+ '--w-rjv-edit-color': 'var(--w-rjv-color)',
8
+ '--w-rjv-info-color': '#9c9c9c7a',
9
+ '--w-rjv-update-color': '#9cdcfe',
10
+ '--w-rjv-copied-color': '#9cdcfe',
11
+ '--w-rjv-copied-success-color': '#28a745',
12
+ '--w-rjv-curlybraces-color': '#d4d4d4',
13
+ '--w-rjv-colon-color': '#d4d4d4',
14
+ '--w-rjv-brackets-color': '#d4d4d4',
15
+ '--w-rjv-type-string-color': '#ce9178',
16
+ '--w-rjv-type-int-color': '#b5cea8',
17
+ '--w-rjv-type-float-color': '#b5cea8',
18
+ '--w-rjv-type-bigint-color': '#b5cea8',
19
+ '--w-rjv-type-boolean-color': '#569cd6',
20
+ '--w-rjv-type-date-color': '#b5cea8',
21
+ '--w-rjv-type-url-color': '#3b89cf',
22
+ '--w-rjv-type-null-color': '#569cd6',
23
+ '--w-rjv-type-nan-color': '#859900',
24
+ '--w-rjv-type-undefined-color': '#569cd6'
25
+ };
package/esm/value.js CHANGED
@@ -65,7 +65,9 @@ export var Colon = _ref => {
65
65
  className: "w-rjv-colon",
66
66
  style: _extends({
67
67
  paddingRight: 3
68
- }, style)
68
+ }, style, {
69
+ color: 'var(--w-rjv-colon-color, var(--w-rjv-color))'
70
+ })
69
71
  }, props, {
70
72
  children: children
71
73
  }));
@@ -77,6 +79,10 @@ export function getValueString(value) {
77
79
  if (typeof value === 'number') {
78
80
  type = isFloat(value) ? 'float' : 'number';
79
81
  content = value.toString();
82
+ if (isNaN(value)) {
83
+ type = 'NaN';
84
+ content = 'NaN';
85
+ }
80
86
  }
81
87
  if (typeof value === 'boolean') {
82
88
  type = 'boolean';
@@ -195,7 +201,7 @@ export function ValueView(props) {
195
201
  fontWeight: 'bold'
196
202
  };
197
203
  }
198
- if (value === undefined) {
204
+ if (value === undefined || type === 'NaN') {
199
205
  typeView = /*#__PURE__*/_jsx(Fragment, {});
200
206
  }
201
207
  var isURL = value instanceof URL;
package/light.d.ts CHANGED
@@ -1,19 +1,3 @@
1
1
  declare module '@uiw/react-json-view/light' {
2
- export const lightTheme: {
3
- '--w-rjv-font-family': string;
4
- '--w-rjv-color': string;
5
- '--w-rjv-background-color': string;
6
- '--w-rjv-border-left': string;
7
- '--w-rjv-arrow-color': string;
8
- '--w-rjv-info-color': string;
9
- '--w-rjv-type-string-color': string;
10
- '--w-rjv-type-int-color': string;
11
- '--w-rjv-type-float-color': string;
12
- '--w-rjv-type-bigint-color': string;
13
- '--w-rjv-type-boolean-color': string;
14
- '--w-rjv-type-date-color': string;
15
- '--w-rjv-type-null-color': string;
16
- '--w-rjv-type-nan-color': string;
17
- '--w-rjv-type-undefined-color': string;
18
- };
2
+ export const lightTheme: import('react').CSSProperties;
19
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uiw/react-json-view",
3
- "version": "1.9.0",
3
+ "version": "1.10.0",
4
4
  "description": "JSON viewer for react.",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -27,6 +27,36 @@
27
27
  "types": "./cjs/theme/dark.d.ts",
28
28
  "require": "./cjs/theme/dark.js"
29
29
  },
30
+ "./nord": {
31
+ "import": "./esm/theme/nord.js",
32
+ "types": "./cjs/theme/nord.d.ts",
33
+ "require": "./cjs/theme/nord.js"
34
+ },
35
+ "./vscode": {
36
+ "import": "./esm/theme/vscode.js",
37
+ "types": "./cjs/theme/vscode.d.ts",
38
+ "require": "./cjs/theme/vscode.js"
39
+ },
40
+ "./monokai": {
41
+ "import": "./esm/theme/monokai.js",
42
+ "types": "./cjs/theme/monokai.d.ts",
43
+ "require": "./cjs/theme/monokai.js"
44
+ },
45
+ "./gruvbox": {
46
+ "import": "./esm/theme/gruvbox.js",
47
+ "types": "./cjs/theme/gruvbox.d.ts",
48
+ "require": "./cjs/theme/gruvbox.js"
49
+ },
50
+ "./githubLight": {
51
+ "import": "./esm/theme/github.light.js",
52
+ "types": "./cjs/theme/github.light.d.ts",
53
+ "require": "./cjs/theme/github.light.js"
54
+ },
55
+ "./githubDark": {
56
+ "import": "./esm/theme/github.dark.js",
57
+ "types": "./cjs/theme/github.dark.d.ts",
58
+ "require": "./cjs/theme/github.dark.js"
59
+ },
30
60
  "./triangle-arrow": {
31
61
  "import": "./esm/arrow/TriangleArrow.js",
32
62
  "types": "./cjs/arrow/TriangleArrow.d.ts",