@uiw/react-json-view 1.11.1 → 2.0.0-alpha.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 (261) hide show
  1. package/README.md +249 -263
  2. package/cjs/Container.d.ts +10 -0
  3. package/cjs/Container.js +67 -0
  4. package/cjs/arrow/TriangleArrow.js +3 -1
  5. package/cjs/arrow/TriangleSolidArrow.js +7 -3
  6. package/cjs/comps/Copied.d.ts +16 -0
  7. package/cjs/{copied.js → comps/Copied.js} +44 -32
  8. package/cjs/comps/CountInfo.d.ts +19 -0
  9. package/cjs/comps/CountInfo.js +72 -0
  10. package/cjs/comps/Ellipsis.d.ts +10 -0
  11. package/cjs/comps/Ellipsis.js +35 -0
  12. package/cjs/comps/Key.d.ts +7 -0
  13. package/cjs/comps/Key.js +39 -0
  14. package/cjs/comps/KeyValues.d.ts +22 -0
  15. package/cjs/comps/KeyValues.js +156 -0
  16. package/cjs/comps/NestedClose.d.ts +10 -0
  17. package/cjs/comps/NestedClose.js +38 -0
  18. package/cjs/comps/NestedOpen.d.ts +11 -0
  19. package/cjs/comps/NestedOpen.js +95 -0
  20. package/cjs/comps/ReRender/Symbols.d.ts +44 -0
  21. package/cjs/comps/ReRender/Symbols.js +144 -0
  22. package/cjs/comps/ReRender/Types.d.ts +36 -0
  23. package/cjs/comps/ReRender/Types.js +590 -0
  24. package/cjs/comps/Value.d.ts +11 -0
  25. package/cjs/comps/Value.js +78 -0
  26. package/cjs/index.d.ts +72 -52
  27. package/cjs/index.js +147 -27
  28. package/cjs/section/Copied.d.ts +6 -0
  29. package/cjs/section/Copied.js +17 -0
  30. package/cjs/section/CountInfo.d.ts +6 -0
  31. package/cjs/section/CountInfo.js +17 -0
  32. package/cjs/section/CountInfoExtra.d.ts +6 -0
  33. package/cjs/section/CountInfoExtra.js +17 -0
  34. package/cjs/section/Ellipsis.d.ts +6 -0
  35. package/cjs/section/Ellipsis.js +17 -0
  36. package/cjs/section/KeyName.d.ts +6 -0
  37. package/cjs/section/KeyName.js +17 -0
  38. package/cjs/store/Expands.d.ts +16 -0
  39. package/cjs/store/Expands.js +44 -0
  40. package/cjs/store/Section.d.ts +33 -0
  41. package/cjs/store/Section.js +86 -0
  42. package/cjs/store/ShowTools.d.ts +14 -0
  43. package/cjs/store/ShowTools.js +44 -0
  44. package/cjs/store/Symbols.d.ts +37 -0
  45. package/cjs/store/Symbols.js +112 -0
  46. package/cjs/store/Types.d.ts +52 -0
  47. package/cjs/store/Types.js +162 -0
  48. package/cjs/store.d.ts +29 -5
  49. package/cjs/store.js +96 -46
  50. package/cjs/symbol/Arrow.d.ts +6 -0
  51. package/cjs/symbol/Arrow.js +17 -0
  52. package/cjs/symbol/BraceLeft.d.ts +6 -0
  53. package/cjs/symbol/BraceLeft.js +17 -0
  54. package/cjs/symbol/BraceRight.d.ts +6 -0
  55. package/cjs/symbol/BraceRight.js +17 -0
  56. package/cjs/symbol/BracketsLeft.d.ts +6 -0
  57. package/cjs/symbol/BracketsLeft.js +17 -0
  58. package/cjs/symbol/BracketsRight.d.ts +6 -0
  59. package/cjs/symbol/BracketsRight.js +17 -0
  60. package/cjs/symbol/Colon.d.ts +6 -0
  61. package/cjs/symbol/Colon.js +17 -0
  62. package/cjs/symbol/Quote.d.ts +6 -0
  63. package/cjs/symbol/Quote.js +17 -0
  64. package/cjs/symbol/ValueQuote.d.ts +6 -0
  65. package/cjs/symbol/ValueQuote.js +17 -0
  66. package/cjs/theme/basic.js +3 -0
  67. package/cjs/theme/dark.js +3 -0
  68. package/cjs/theme/github.dark.js +3 -0
  69. package/cjs/theme/github.light.js +3 -0
  70. package/cjs/theme/gruvbox.js +3 -0
  71. package/cjs/theme/light.js +3 -0
  72. package/cjs/theme/monokai.js +3 -0
  73. package/cjs/theme/nord.js +3 -0
  74. package/cjs/theme/vscode.js +3 -0
  75. package/cjs/type.d.ts +50 -0
  76. package/cjs/type.js +57 -0
  77. package/cjs/types/Bigint.d.ts +5 -0
  78. package/cjs/types/Bigint.js +17 -0
  79. package/cjs/types/Date.d.ts +5 -0
  80. package/cjs/types/Date.js +17 -0
  81. package/cjs/types/False.d.ts +5 -0
  82. package/cjs/types/False.js +17 -0
  83. package/cjs/types/Float.d.ts +5 -0
  84. package/cjs/types/Float.js +17 -0
  85. package/cjs/types/Int.d.ts +5 -0
  86. package/cjs/types/Int.js +17 -0
  87. package/cjs/types/Map.d.ts +5 -0
  88. package/cjs/types/Map.js +17 -0
  89. package/cjs/types/Nan.d.ts +5 -0
  90. package/cjs/types/Nan.js +17 -0
  91. package/cjs/types/Null.d.ts +5 -0
  92. package/cjs/types/Null.js +17 -0
  93. package/cjs/types/Set.d.ts +5 -0
  94. package/cjs/types/Set.js +17 -0
  95. package/cjs/types/String.d.ts +5 -0
  96. package/cjs/types/String.js +17 -0
  97. package/cjs/types/True.d.ts +5 -0
  98. package/cjs/types/True.js +17 -0
  99. package/cjs/types/Undefined.d.ts +5 -0
  100. package/cjs/types/Undefined.js +17 -0
  101. package/cjs/types/Url.d.ts +5 -0
  102. package/cjs/types/Url.js +17 -0
  103. package/cjs/utils/useHighlight.d.ts +9 -0
  104. package/cjs/utils/useHighlight.js +62 -0
  105. package/cjs/utils/useRender.d.ts +6 -0
  106. package/cjs/utils/useRender.js +51 -0
  107. package/esm/Container.d.ts +10 -0
  108. package/esm/Container.js +53 -0
  109. package/esm/arrow/TriangleArrow.js +3 -1
  110. package/esm/arrow/TriangleSolidArrow.js +7 -3
  111. package/esm/comps/Copied.d.ts +16 -0
  112. package/esm/{copied.js → comps/Copied.js} +44 -29
  113. package/esm/comps/CountInfo.d.ts +19 -0
  114. package/esm/comps/CountInfo.js +70 -0
  115. package/esm/comps/Ellipsis.d.ts +10 -0
  116. package/esm/comps/Ellipsis.js +31 -0
  117. package/esm/comps/Key.d.ts +7 -0
  118. package/esm/comps/Key.js +35 -0
  119. package/esm/comps/KeyValues.d.ts +22 -0
  120. package/esm/comps/KeyValues.js +142 -0
  121. package/esm/comps/NestedClose.d.ts +10 -0
  122. package/esm/comps/NestedClose.js +34 -0
  123. package/esm/comps/NestedOpen.d.ts +11 -0
  124. package/esm/comps/NestedOpen.js +91 -0
  125. package/esm/comps/ReRender/Symbols.d.ts +44 -0
  126. package/esm/comps/ReRender/Symbols.js +155 -0
  127. package/esm/comps/ReRender/Types.d.ts +36 -0
  128. package/esm/comps/ReRender/Types.js +621 -0
  129. package/esm/comps/Value.d.ts +11 -0
  130. package/esm/comps/Value.js +69 -0
  131. package/esm/index.d.ts +72 -52
  132. package/esm/index.js +98 -18
  133. package/esm/section/Copied.d.ts +6 -0
  134. package/esm/section/Copied.js +10 -0
  135. package/esm/section/CountInfo.d.ts +6 -0
  136. package/esm/section/CountInfo.js +10 -0
  137. package/esm/section/CountInfoExtra.d.ts +6 -0
  138. package/esm/section/CountInfoExtra.js +10 -0
  139. package/esm/section/Ellipsis.d.ts +6 -0
  140. package/esm/section/Ellipsis.js +10 -0
  141. package/esm/section/KeyName.d.ts +6 -0
  142. package/esm/section/KeyName.js +10 -0
  143. package/esm/store/Expands.d.ts +16 -0
  144. package/esm/store/Expands.js +32 -0
  145. package/esm/store/Section.d.ts +33 -0
  146. package/esm/store/Section.js +73 -0
  147. package/esm/store/ShowTools.d.ts +14 -0
  148. package/esm/store/ShowTools.js +32 -0
  149. package/esm/store/Symbols.d.ts +37 -0
  150. package/esm/store/Symbols.js +100 -0
  151. package/esm/store/Types.d.ts +52 -0
  152. package/esm/store/Types.js +150 -0
  153. package/esm/store.d.ts +29 -5
  154. package/esm/store.js +66 -32
  155. package/esm/symbol/Arrow.d.ts +6 -0
  156. package/esm/symbol/Arrow.js +10 -0
  157. package/esm/symbol/BraceLeft.d.ts +6 -0
  158. package/esm/symbol/BraceLeft.js +10 -0
  159. package/esm/symbol/BraceRight.d.ts +6 -0
  160. package/esm/symbol/BraceRight.js +10 -0
  161. package/esm/symbol/BracketsLeft.d.ts +6 -0
  162. package/esm/symbol/BracketsLeft.js +10 -0
  163. package/esm/symbol/BracketsRight.d.ts +6 -0
  164. package/esm/symbol/BracketsRight.js +10 -0
  165. package/esm/symbol/Colon.d.ts +6 -0
  166. package/esm/symbol/Colon.js +10 -0
  167. package/esm/symbol/Quote.d.ts +6 -0
  168. package/esm/symbol/Quote.js +10 -0
  169. package/esm/symbol/ValueQuote.d.ts +6 -0
  170. package/esm/symbol/ValueQuote.js +10 -0
  171. package/esm/theme/basic.js +3 -0
  172. package/esm/theme/dark.js +3 -0
  173. package/esm/theme/github.dark.js +3 -0
  174. package/esm/theme/github.light.js +3 -0
  175. package/esm/theme/gruvbox.js +3 -0
  176. package/esm/theme/light.js +3 -0
  177. package/esm/theme/monokai.js +3 -0
  178. package/esm/theme/nord.js +3 -0
  179. package/esm/theme/vscode.js +3 -0
  180. package/esm/type.d.ts +50 -0
  181. package/esm/type.js +50 -0
  182. package/esm/types/Bigint.d.ts +5 -0
  183. package/esm/types/Bigint.js +10 -0
  184. package/esm/types/Date.d.ts +5 -0
  185. package/esm/types/Date.js +10 -0
  186. package/esm/types/False.d.ts +5 -0
  187. package/esm/types/False.js +10 -0
  188. package/esm/types/Float.d.ts +5 -0
  189. package/esm/types/Float.js +10 -0
  190. package/esm/types/Int.d.ts +5 -0
  191. package/esm/types/Int.js +10 -0
  192. package/esm/types/Map.d.ts +5 -0
  193. package/esm/types/Map.js +10 -0
  194. package/esm/types/Nan.d.ts +5 -0
  195. package/esm/types/Nan.js +10 -0
  196. package/esm/types/Null.d.ts +5 -0
  197. package/esm/types/Null.js +10 -0
  198. package/esm/types/Set.d.ts +5 -0
  199. package/esm/types/Set.js +10 -0
  200. package/esm/types/String.d.ts +5 -0
  201. package/esm/types/String.js +10 -0
  202. package/esm/types/True.d.ts +5 -0
  203. package/esm/types/True.js +10 -0
  204. package/esm/types/Undefined.d.ts +5 -0
  205. package/esm/types/Undefined.js +10 -0
  206. package/esm/types/Url.d.ts +5 -0
  207. package/esm/types/Url.js +10 -0
  208. package/esm/utils/useHighlight.d.ts +9 -0
  209. package/esm/{semicolon.js → utils/useHighlight.js} +1 -52
  210. package/esm/utils/useRender.d.ts +6 -0
  211. package/esm/utils/useRender.js +41 -0
  212. package/package.json +1 -1
  213. package/cjs/comps/ellipsis.d.ts +0 -7
  214. package/cjs/comps/ellipsis.js +0 -37
  215. package/cjs/comps/meta.d.ts +0 -12
  216. package/cjs/comps/meta.js +0 -46
  217. package/cjs/copied.d.ts +0 -11
  218. package/cjs/editor/countInfoExtra.d.ts +0 -28
  219. package/cjs/editor/countInfoExtra.js +0 -101
  220. package/cjs/editor/icon/add.d.ts +0 -4
  221. package/cjs/editor/icon/add.js +0 -30
  222. package/cjs/editor/icon/delete.d.ts +0 -4
  223. package/cjs/editor/icon/delete.js +0 -30
  224. package/cjs/editor/icon/edit.d.ts +0 -4
  225. package/cjs/editor/icon/edit.js +0 -30
  226. package/cjs/editor/index.d.ts +0 -31
  227. package/cjs/editor/index.js +0 -60
  228. package/cjs/editor/objectKey.d.ts +0 -11
  229. package/cjs/editor/objectKey.js +0 -169
  230. package/cjs/editor/value.d.ts +0 -22
  231. package/cjs/editor/value.js +0 -240
  232. package/cjs/node.d.ts +0 -13
  233. package/cjs/node.js +0 -329
  234. package/cjs/semicolon.d.ts +0 -22
  235. package/cjs/semicolon.js +0 -115
  236. package/cjs/value.d.ts +0 -84
  237. package/cjs/value.js +0 -348
  238. package/esm/comps/ellipsis.d.ts +0 -7
  239. package/esm/comps/ellipsis.js +0 -31
  240. package/esm/comps/meta.d.ts +0 -12
  241. package/esm/comps/meta.js +0 -39
  242. package/esm/copied.d.ts +0 -11
  243. package/esm/editor/countInfoExtra.d.ts +0 -28
  244. package/esm/editor/countInfoExtra.js +0 -68
  245. package/esm/editor/icon/add.d.ts +0 -4
  246. package/esm/editor/icon/add.js +0 -24
  247. package/esm/editor/icon/delete.d.ts +0 -4
  248. package/esm/editor/icon/delete.js +0 -24
  249. package/esm/editor/icon/edit.d.ts +0 -4
  250. package/esm/editor/icon/edit.js +0 -24
  251. package/esm/editor/index.d.ts +0 -31
  252. package/esm/editor/index.js +0 -47
  253. package/esm/editor/objectKey.d.ts +0 -11
  254. package/esm/editor/objectKey.js +0 -135
  255. package/esm/editor/value.d.ts +0 -22
  256. package/esm/editor/value.js +0 -192
  257. package/esm/node.d.ts +0 -13
  258. package/esm/node.js +0 -287
  259. package/esm/semicolon.d.ts +0 -22
  260. package/esm/value.d.ts +0 -84
  261. package/esm/value.js +0 -324
package/esm/node.js DELETED
@@ -1,287 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
3
- var _excluded = ["value", "keyName", "className", "displayDataTypes", "components", "displayObjectSize", "enableClipboard", "highlightUpdates", "objectSortKeys", "indentWidth", "shortenTextAfterLength", "collapsed", "level", "keyid", "quotes", "namespace", "onCopied", "onExpand", "parentValue", "setParentValue"];
4
- import { Fragment, useId, cloneElement, useState, useEffect, forwardRef } from 'react';
5
- import { ValueView, Colon, Label, Line, typeMap } from './value';
6
- import { TriangleArrow } from './arrow/TriangleArrow';
7
- import { useExpandsStatus, store } from './store';
8
- import { Semicolon } from './semicolon';
9
- import { Copied } from './copied';
10
- import { Ellipsis } from './comps/ellipsis';
11
- import { Meta } from './comps/meta';
12
- import { jsxs as _jsxs } from "react/jsx-runtime";
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- function getLength(obj) {
15
- try {
16
- return Object.keys(obj).length;
17
- } catch (error) {
18
- return -1;
19
- }
20
- }
21
- export var CountInfo = _ref => {
22
- var {
23
- children
24
- } = _ref;
25
- return /*#__PURE__*/_jsxs(Label, {
26
- style: {
27
- paddingLeft: 4,
28
- fontStyle: 'italic'
29
- },
30
- color: "var(--w-rjv-info-color, #0000004d)",
31
- className: "w-rjv-object-size",
32
- children: [children, " items"]
33
- });
34
- };
35
- CountInfo.displayName = 'JVR.CountInfo';
36
- export var RootNode = /*#__PURE__*/forwardRef((props, ref) => {
37
- var _expands$keyid;
38
- var {
39
- value = {},
40
- keyName,
41
- className,
42
- displayDataTypes = true,
43
- components = {},
44
- displayObjectSize = true,
45
- enableClipboard = true,
46
- highlightUpdates = true,
47
- objectSortKeys = false,
48
- indentWidth = 15,
49
- shortenTextAfterLength = 20,
50
- collapsed,
51
- level = 1,
52
- keyid = 'root',
53
- quotes = '"',
54
- namespace = [],
55
- onCopied,
56
- onExpand,
57
- parentValue,
58
- setParentValue
59
- } = props,
60
- reset = _objectWithoutPropertiesLoose(props, _excluded);
61
- var isArray = Array.isArray(value);
62
- var subkeyid = useId();
63
- var expands = useExpandsStatus();
64
- var expand = (_expands$keyid = expands[keyid]) != null ? _expands$keyid : typeof collapsed === 'boolean' ? collapsed : typeof collapsed === 'number' ? level <= collapsed : true;
65
- var handle = () => {
66
- onExpand && typeof onExpand === 'function' && onExpand({
67
- expand: !expand,
68
- keyid,
69
- keyName,
70
- value: value
71
- });
72
- !expand ? store.expand(keyid) : store.collapse(keyid);
73
- };
74
- var [valueData, setValueData] = useState(value);
75
- var subNodeProps = {
76
- components,
77
- indentWidth,
78
- displayDataTypes,
79
- displayObjectSize,
80
- enableClipboard,
81
- highlightUpdates,
82
- onCopied,
83
- onExpand,
84
- collapsed,
85
- parentValue: value,
86
- setParentValue: setValueData,
87
- quotes,
88
- level: level + 1,
89
- style: {
90
- paddingLeft: indentWidth
91
- }
92
- };
93
- var valueViewProps = {
94
- displayDataTypes,
95
- displayObjectSize,
96
- enableClipboard,
97
- shortenTextAfterLength,
98
- level: level + 1,
99
- parentValue: value,
100
- indentWidth,
101
- data: valueData,
102
- quotes,
103
- setValue: setValueData
104
- };
105
- var arrowStyle = {
106
- transform: "rotate(" + (expand ? '0' : '-90') + "deg)",
107
- transition: 'all 0.3s'
108
- };
109
- var arrowView = components.arrow ? /*#__PURE__*/cloneElement(components.arrow, {
110
- style: arrowStyle,
111
- 'data-expand': expand,
112
- className: 'w-rjv-arrow'
113
- }) : /*#__PURE__*/_jsx(TriangleArrow, {
114
- style: arrowStyle,
115
- className: "w-rjv-arrow"
116
- });
117
- var [showTools, setShowTools] = useState(false);
118
- var eventProps = {};
119
- if (enableClipboard) {
120
- eventProps.onMouseEnter = () => setShowTools(true);
121
- eventProps.onMouseLeave = () => setShowTools(false);
122
- }
123
- useEffect(() => setValueData(value), [value]);
124
- var nameKeys = isArray ? Object.keys(valueData).map(m => Number(m)) : Object.keys(valueData);
125
-
126
- // object
127
- var entries = isArray ? Object.entries(valueData).map(m => [Number(m[0]), m[1]]) : Object.entries(valueData);
128
- if (objectSortKeys) {
129
- entries = objectSortKeys === true ? entries.sort((_ref2, _ref3) => {
130
- var [a] = _ref2;
131
- var [b] = _ref3;
132
- return typeof a === 'string' && typeof b === 'string' ? a.localeCompare(b) : 0;
133
- }) : entries.sort((_ref4, _ref5) => {
134
- var [a] = _ref4;
135
- var [b] = _ref5;
136
- return typeof a === 'string' && typeof b === 'string' ? objectSortKeys(a, b) : 0;
137
- });
138
- }
139
- var countInfo = /*#__PURE__*/_jsx(CountInfo, {
140
- children: nameKeys.length
141
- });
142
- if (components.countInfo) {
143
- countInfo = components.countInfo({
144
- count: nameKeys.length,
145
- level,
146
- visible: expand
147
- }) || countInfo;
148
- }
149
- if (!displayObjectSize) countInfo = null;
150
- var countInfoExtra = components.countInfoExtra && components.countInfoExtra({
151
- count: nameKeys.length,
152
- level,
153
- showTools,
154
- keyName,
155
- visible: expand,
156
- value: valueData,
157
- namespace: [...namespace],
158
- parentValue,
159
- setParentValue,
160
- setValue: setValueData
161
- });
162
- return /*#__PURE__*/_jsxs("div", _extends({
163
- ref: ref
164
- }, reset, {
165
- className: className + " w-rjv-inner"
166
- }, eventProps, {
167
- children: [/*#__PURE__*/_jsxs(Line, {
168
- style: {
169
- display: 'inline-flex',
170
- alignItems: 'center'
171
- },
172
- onClick: handle,
173
- children: [arrowView, (typeof keyName === 'string' || typeof keyName === 'number') && /*#__PURE__*/_jsxs(Fragment, {
174
- children: [/*#__PURE__*/_jsx(Semicolon, {
175
- value: valueData,
176
- quotes: quotes,
177
- "data-keys": keyid,
178
- namespace: [...namespace],
179
- render: components.objectKey,
180
- keyName: keyName,
181
- parentName: keyName,
182
- color: typeof keyName === 'number' ? typeMap['number'].color : ''
183
- }), /*#__PURE__*/_jsx(Colon, {})]
184
- }), /*#__PURE__*/_jsx(Meta, {
185
- start: true,
186
- isArray: isArray,
187
- level: level,
188
- render: components.braces
189
- }), !expand && /*#__PURE__*/_jsx(Ellipsis, {
190
- render: components.ellipsis,
191
- count: nameKeys.length,
192
- level: level
193
- }), !expand && /*#__PURE__*/_jsx(Meta, {
194
- isArray: isArray,
195
- level: level,
196
- render: components.braces
197
- }), countInfo, countInfoExtra, enableClipboard && /*#__PURE__*/_jsx(Copied, {
198
- show: showTools,
199
- text: valueData,
200
- onCopied: onCopied,
201
- render: components == null ? void 0 : components.copied
202
- })]
203
- }), expand && /*#__PURE__*/_jsx(Line, {
204
- className: "w-rjv-content",
205
- style: {
206
- borderLeft: 'var(--w-rjv-border-left-width, 1px) var(--w-rjv-line-style, solid) var(--w-rjv-line-color, #ebebeb)',
207
- marginLeft: 6
208
- },
209
- children: entries.length > 0 && [...entries].map((_ref6, idx) => {
210
- var [key, itemVal] = _ref6;
211
- var item = itemVal;
212
- var isEmpty = Array.isArray(item) && item.length === 0 || typeof item === 'object' && item && !(item instanceof Date) && Object.keys(item).length === 0;
213
- if (Array.isArray(item) && !isEmpty) {
214
- var label = isArray ? idx : key;
215
- return /*#__PURE__*/_jsx(Line, {
216
- className: "w-rjv-wrap",
217
- children: /*#__PURE__*/_jsx(RootNode, _extends({
218
- value: item,
219
- namespace: [...namespace, label],
220
- keyName: label,
221
- keyid: keyid + subkeyid + label
222
- }, subNodeProps))
223
- }, label + idx);
224
- }
225
- if (typeof item === 'object' && item && !(item instanceof Date) && !isEmpty) {
226
- return /*#__PURE__*/_jsx(Line, {
227
- className: "w-rjv-wrap",
228
- children: /*#__PURE__*/_jsx(RootNode, _extends({
229
- value: item,
230
- namespace: [...namespace, key],
231
- keyName: key,
232
- keyid: keyid + subkeyid + key
233
- }, subNodeProps))
234
- }, key + '' + idx);
235
- }
236
- if (typeof item === 'function') {
237
- return;
238
- }
239
- var renderKey = /*#__PURE__*/_jsx(Semicolon, {
240
- value: item,
241
- "data-keys": keyid,
242
- quotes: quotes,
243
- namespace: [...namespace, key],
244
- parentName: keyName,
245
- highlightUpdates: highlightUpdates,
246
- render: components.objectKey,
247
- color: typeof key === 'number' ? typeMap['number'].color : '',
248
- keyName: key
249
- });
250
- var length = Array.isArray(item) ? item.length : getLength(item);
251
- countInfo = /*#__PURE__*/_jsx(CountInfo, {
252
- children: length
253
- });
254
- if (components.countInfo) {
255
- countInfo = components.countInfo({
256
- count: length,
257
- level,
258
- visible: expand
259
- }) || countInfo;
260
- }
261
- return /*#__PURE__*/_jsx(ValueView, _extends({
262
- components: components,
263
- namespace: [...namespace, key]
264
- }, valueViewProps, {
265
- countInfo: countInfo,
266
- renderKey: renderKey,
267
- keyName: key,
268
- value: item
269
- }), idx);
270
- })
271
- }), expand && /*#__PURE__*/_jsx(Line, {
272
- style: {
273
- paddingLeft: 2
274
- },
275
- children: /*#__PURE__*/_jsx(Meta, {
276
- render: components.braces,
277
- isArray: isArray,
278
- level: level,
279
- style: {
280
- paddingLeft: 2,
281
- display: 'inline-block'
282
- }
283
- })
284
- })]
285
- }));
286
- });
287
- RootNode.displayName = 'JVR.RootNode';
@@ -1,22 +0,0 @@
1
- import type { FC, PropsWithChildren } from 'react';
2
- import type { LabelProps } from './value';
3
- import type { JsonViewProps } from './';
4
- export declare function usePrevious<T>(value: T): T | undefined;
5
- interface UseHighlight {
6
- value: any;
7
- highlightUpdates?: boolean;
8
- highlightContainer: React.MutableRefObject<HTMLSpanElement | null>;
9
- }
10
- export declare function useHighlight({ value, highlightUpdates, highlightContainer }: UseHighlight): void;
11
- export interface SemicolonProps extends LabelProps {
12
- highlightUpdates?: boolean;
13
- keyName?: string | number;
14
- parentName?: string | number;
15
- quotes?: JsonViewProps<object>['quotes'];
16
- value?: object;
17
- label?: string;
18
- namespace?: Array<string | number>;
19
- render?: (props: SemicolonProps) => React.ReactNode;
20
- }
21
- export declare const Semicolon: FC<PropsWithChildren<SemicolonProps>>;
22
- export {};
package/esm/value.d.ts DELETED
@@ -1,84 +0,0 @@
1
- import type { FC, PropsWithChildren } from 'react';
2
- import type { JsonViewProps } from './';
3
- export declare const Line: FC<PropsWithChildren<React.HTMLAttributes<HTMLDivElement>>>;
4
- export declare const isFloat: (n: number) => boolean;
5
- export declare const typeMap: {
6
- string: {
7
- color: string;
8
- label: string;
9
- };
10
- number: {
11
- color: string;
12
- label: string;
13
- };
14
- float: {
15
- color: string;
16
- label: string;
17
- };
18
- bigint: {
19
- color: string;
20
- label: string;
21
- };
22
- boolean: {
23
- color: string;
24
- label: string;
25
- };
26
- date: {
27
- color: string;
28
- label: string;
29
- };
30
- url: {
31
- color: string;
32
- label: string;
33
- };
34
- null: {
35
- color: string;
36
- label: string;
37
- };
38
- NaN: {
39
- color: string;
40
- label: string;
41
- };
42
- undefined: {
43
- color: string;
44
- label: string;
45
- };
46
- };
47
- export declare const Colon: FC<PropsWithChildren<React.HTMLAttributes<HTMLSpanElement>>>;
48
- export interface ValueViewProps<T extends object> extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> {
49
- keyName?: string | number;
50
- value?: unknown;
51
- parentValue?: T;
52
- data?: T;
53
- displayDataTypes: boolean;
54
- displayObjectSize: boolean;
55
- enableClipboard: boolean;
56
- indentWidth: number;
57
- level?: number;
58
- shortenTextAfterLength?: JsonViewProps<T>['shortenTextAfterLength'];
59
- namespace?: Array<string | number>;
60
- quotes?: JsonViewProps<T>['quotes'];
61
- components?: JsonViewProps<T>['components'];
62
- renderKey?: JSX.Element;
63
- countInfo?: JSX.Element;
64
- setValue?: React.Dispatch<React.SetStateAction<T>>;
65
- }
66
- export declare function getValueString<T>(value: T): {
67
- type: "string" | "number" | "bigint" | "boolean" | "undefined" | "date" | "url" | "float" | "null" | "NaN";
68
- content: string;
69
- };
70
- export declare function ValueView<T extends object>(props: ValueViewProps<T>): import("react/jsx-runtime").JSX.Element;
71
- export declare namespace ValueView {
72
- var displayName: string;
73
- }
74
- export interface LabelProps extends React.HTMLAttributes<HTMLSpanElement> {
75
- color?: string;
76
- fontSize?: number;
77
- opacity?: number;
78
- paddingRight?: number;
79
- }
80
- export declare const Label: import("react").ForwardRefExoticComponent<LabelProps & import("react").RefAttributes<HTMLSpanElement>>;
81
- export interface TypeProps extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement> {
82
- type: keyof typeof typeMap;
83
- }
84
- export declare const Type: FC<PropsWithChildren<TypeProps>>;