@uiw/react-json-view 2.0.0-alpha.3 → 2.0.0-alpha.30
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 +217 -26
- package/basic.d.ts +3 -0
- package/cjs/Container.d.ts +2 -0
- package/cjs/Container.js +13 -6
- package/cjs/arrow/TriangleArrow.js +1 -1
- package/cjs/comps/Copied.d.ts +2 -4
- package/cjs/comps/Copied.js +50 -17
- package/cjs/comps/KeyValues.d.ts +2 -4
- package/cjs/comps/KeyValues.js +62 -27
- package/cjs/comps/NestedClose.d.ts +1 -0
- package/cjs/comps/NestedClose.js +15 -5
- package/cjs/comps/NestedOpen.d.ts +2 -3
- package/cjs/comps/NestedOpen.js +34 -14
- package/cjs/comps/Value.d.ts +1 -2
- package/cjs/comps/Value.js +4 -8
- package/cjs/comps/useIdCompat.d.ts +1 -0
- package/cjs/comps/useIdCompat.js +14 -0
- package/cjs/editor/KeyName.d.ts +2 -0
- package/cjs/editor/KeyName.js +82 -0
- package/cjs/editor/index.d.ts +18 -0
- package/cjs/editor/index.js +44 -0
- package/cjs/editor/store.d.ts +27 -0
- package/cjs/editor/store.js +23 -0
- package/cjs/index.d.ts +10 -3
- package/cjs/index.js +9 -4
- package/cjs/section/Copied.d.ts +1 -1
- package/cjs/section/Copied.js +1 -2
- package/cjs/section/CountInfo.d.ts +1 -2
- package/cjs/section/CountInfo.js +3 -5
- package/cjs/section/CountInfoExtra.d.ts +1 -2
- package/cjs/section/CountInfoExtra.js +2 -4
- package/cjs/section/Ellipsis.d.ts +0 -1
- package/cjs/section/Ellipsis.js +4 -5
- package/cjs/section/KeyName.d.ts +7 -6
- package/cjs/section/KeyName.js +8 -6
- package/cjs/section/Row.d.ts +13 -0
- package/cjs/section/Row.js +51 -0
- package/cjs/store/Expands.js +2 -4
- package/cjs/store/Section.d.ts +12 -6
- package/cjs/store/Section.js +6 -4
- package/cjs/store/ShowTools.js +2 -4
- package/cjs/store/Symbols.d.ts +10 -3
- package/cjs/store/Symbols.js +2 -4
- package/cjs/store/Types.d.ts +29 -25
- package/cjs/store/Types.js +8 -8
- package/cjs/store.d.ts +8 -4
- package/cjs/store.js +5 -10
- package/cjs/symbol/Arrow.d.ts +1 -1
- package/cjs/symbol/Arrow.js +1 -2
- package/cjs/symbol/BraceLeft.d.ts +1 -1
- package/cjs/symbol/BraceLeft.js +1 -2
- package/cjs/symbol/BraceRight.d.ts +1 -1
- package/cjs/symbol/BraceRight.js +1 -2
- package/cjs/symbol/BracketsLeft.d.ts +1 -1
- package/cjs/symbol/BracketsLeft.js +1 -2
- package/cjs/symbol/BracketsRight.d.ts +1 -1
- package/cjs/symbol/BracketsRight.js +1 -2
- package/cjs/symbol/Colon.d.ts +1 -1
- package/cjs/symbol/Colon.js +1 -2
- package/cjs/symbol/Quote.d.ts +1 -1
- package/cjs/symbol/Quote.js +1 -2
- package/cjs/symbol/ValueQuote.d.ts +1 -1
- package/cjs/symbol/ValueQuote.js +1 -2
- package/cjs/symbol/index.d.ts +11 -16
- package/cjs/symbol/index.js +75 -30
- package/cjs/theme/basic.d.ts +1 -2
- package/cjs/theme/basic.js +4 -3
- package/cjs/theme/dark.d.ts +1 -2
- package/cjs/theme/dark.js +2 -3
- package/cjs/theme/github.dark.d.ts +1 -2
- package/cjs/theme/github.dark.js +2 -3
- package/cjs/theme/github.light.d.ts +1 -2
- package/cjs/theme/github.light.js +2 -3
- package/cjs/theme/gruvbox.d.ts +1 -2
- package/cjs/theme/gruvbox.js +2 -3
- package/cjs/theme/light.d.ts +1 -2
- package/cjs/theme/light.js +2 -3
- package/cjs/theme/monokai.d.ts +1 -2
- package/cjs/theme/monokai.js +2 -3
- package/cjs/theme/nord.d.ts +1 -2
- package/cjs/theme/nord.js +2 -3
- package/cjs/theme/vscode.d.ts +1 -2
- package/cjs/theme/vscode.js +2 -3
- package/cjs/types/Bigint.d.ts +1 -1
- package/cjs/types/Bigint.js +1 -2
- package/cjs/types/Date.d.ts +1 -1
- package/cjs/types/Date.js +1 -2
- package/cjs/types/False.d.ts +1 -1
- package/cjs/types/False.js +1 -2
- package/cjs/types/Float.d.ts +1 -1
- package/cjs/types/Float.js +1 -2
- package/cjs/types/Int.d.ts +1 -1
- package/cjs/types/Int.js +1 -2
- package/cjs/types/Map.d.ts +1 -1
- package/cjs/types/Map.js +1 -2
- package/cjs/types/Nan.d.ts +1 -1
- package/cjs/types/Nan.js +1 -2
- package/cjs/types/Null.d.ts +1 -1
- package/cjs/types/Null.js +1 -2
- package/cjs/types/Set.d.ts +1 -1
- package/cjs/types/Set.js +1 -2
- package/cjs/types/String.d.ts +1 -1
- package/cjs/types/String.js +1 -2
- package/cjs/types/True.d.ts +1 -1
- package/cjs/types/True.js +1 -2
- package/cjs/types/Undefined.d.ts +1 -1
- package/cjs/types/Undefined.js +1 -2
- package/cjs/types/Url.d.ts +1 -1
- package/cjs/types/Url.js +1 -2
- package/cjs/types/index.d.ts +3 -1
- package/cjs/types/index.js +96 -124
- package/cjs/utils/useHighlight.d.ts +0 -1
- package/cjs/utils/useRender.d.ts +1 -1
- package/editor.d.ts +22 -20
- package/esm/Container.d.ts +2 -0
- package/esm/Container.js +15 -7
- package/esm/arrow/TriangleArrow.js +1 -1
- package/esm/comps/Copied.d.ts +2 -4
- package/esm/comps/Copied.js +48 -16
- package/esm/comps/KeyValues.d.ts +2 -4
- package/esm/comps/KeyValues.js +53 -21
- package/esm/comps/NestedClose.d.ts +1 -0
- package/esm/comps/NestedClose.js +13 -3
- package/esm/comps/NestedOpen.d.ts +2 -3
- package/esm/comps/NestedOpen.js +33 -14
- package/esm/comps/Value.d.ts +1 -2
- package/esm/comps/Value.js +2 -4
- package/esm/comps/useIdCompat.d.ts +1 -0
- package/esm/comps/useIdCompat.js +8 -0
- package/esm/editor/KeyName.d.ts +2 -0
- package/esm/editor/KeyName.js +77 -0
- package/esm/editor/index.d.ts +18 -0
- package/esm/editor/index.js +33 -0
- package/esm/editor/store.d.ts +27 -0
- package/esm/editor/store.js +13 -0
- package/esm/index.d.ts +10 -3
- package/esm/index.js +10 -5
- package/esm/section/Copied.d.ts +1 -1
- package/esm/section/CountInfo.d.ts +1 -2
- package/esm/section/CountInfo.js +1 -1
- package/esm/section/CountInfoExtra.d.ts +1 -2
- package/esm/section/Ellipsis.d.ts +0 -1
- package/esm/section/Ellipsis.js +1 -1
- package/esm/section/KeyName.d.ts +7 -6
- package/esm/section/KeyName.js +6 -2
- package/esm/section/Row.d.ts +13 -0
- package/esm/section/Row.js +47 -0
- package/esm/store/Section.d.ts +12 -6
- package/esm/store/Section.js +4 -0
- package/esm/store/Symbols.d.ts +10 -3
- package/esm/store/Types.d.ts +29 -25
- package/esm/store/Types.js +6 -4
- package/esm/store.d.ts +8 -4
- package/esm/symbol/Arrow.d.ts +1 -1
- package/esm/symbol/BraceLeft.d.ts +1 -1
- package/esm/symbol/BraceRight.d.ts +1 -1
- package/esm/symbol/BracketsLeft.d.ts +1 -1
- package/esm/symbol/BracketsRight.d.ts +1 -1
- package/esm/symbol/Colon.d.ts +1 -1
- package/esm/symbol/Quote.d.ts +1 -1
- package/esm/symbol/ValueQuote.d.ts +1 -1
- package/esm/symbol/index.d.ts +11 -16
- package/esm/symbol/index.js +76 -23
- package/esm/theme/basic.d.ts +1 -2
- package/esm/theme/basic.js +2 -0
- package/esm/theme/dark.d.ts +1 -2
- package/esm/theme/github.dark.d.ts +1 -2
- package/esm/theme/github.light.d.ts +1 -2
- package/esm/theme/gruvbox.d.ts +1 -2
- package/esm/theme/light.d.ts +1 -2
- package/esm/theme/monokai.d.ts +1 -2
- package/esm/theme/nord.d.ts +1 -2
- package/esm/theme/vscode.d.ts +1 -2
- package/esm/types/Bigint.d.ts +1 -1
- package/esm/types/Date.d.ts +1 -1
- package/esm/types/False.d.ts +1 -1
- package/esm/types/Float.d.ts +1 -1
- package/esm/types/Int.d.ts +1 -1
- package/esm/types/Map.d.ts +1 -1
- package/esm/types/Nan.d.ts +1 -1
- package/esm/types/Null.d.ts +1 -1
- package/esm/types/Set.d.ts +1 -1
- package/esm/types/String.d.ts +1 -1
- package/esm/types/True.d.ts +1 -1
- package/esm/types/Undefined.d.ts +1 -1
- package/esm/types/Url.d.ts +1 -1
- package/esm/types/index.d.ts +3 -1
- package/esm/types/index.js +82 -100
- package/esm/utils/useHighlight.d.ts +0 -1
- package/esm/utils/useRender.d.ts +1 -1
- package/githubDark.d.ts +3 -0
- package/githubLight.d.ts +3 -0
- package/gruvbox.d.ts +3 -0
- package/monokai.d.ts +3 -0
- package/nord.d.ts +3 -0
- package/package.json +11 -5
- package/vscode.d.ts +3 -0
package/cjs/comps/KeyValues.js
CHANGED
|
@@ -5,9 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.KeyValuesItem = exports.KeyValues = exports.KayName = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
11
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
13
|
var _react = require("react");
|
|
13
14
|
var _store = require("../store");
|
|
@@ -15,23 +16,37 @@ var _Expands = require("../store/Expands");
|
|
|
15
16
|
var _ShowTools = require("../store/ShowTools");
|
|
16
17
|
var _Value = require("./Value");
|
|
17
18
|
var _KeyName = require("../section/KeyName");
|
|
19
|
+
var _Row = require("../section/Row");
|
|
18
20
|
var _Container = require("../Container");
|
|
19
21
|
var _symbol = require("../symbol");
|
|
20
22
|
var _useHighlight = require("../utils/useHighlight");
|
|
23
|
+
var _Copied = require("../comps/Copied");
|
|
24
|
+
var _useIdCompat = require("../comps/useIdCompat");
|
|
21
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
var KeyValues = function KeyValues(props) {
|
|
26
|
+
var KeyValues = exports.KeyValues = function KeyValues(props) {
|
|
23
27
|
var _expands$expandKey;
|
|
24
28
|
var value = props.value,
|
|
25
29
|
_props$expandKey = props.expandKey,
|
|
26
30
|
expandKey = _props$expandKey === void 0 ? '' : _props$expandKey,
|
|
27
|
-
level = props.level
|
|
31
|
+
level = props.level,
|
|
32
|
+
_props$keys = props.keys,
|
|
33
|
+
keys = _props$keys === void 0 ? [] : _props$keys;
|
|
28
34
|
var expands = (0, _Expands.useExpandsStore)();
|
|
29
35
|
var _useStore = (0, _store.useStore)(),
|
|
30
36
|
objectSortKeys = _useStore.objectSortKeys,
|
|
31
37
|
indentWidth = _useStore.indentWidth,
|
|
32
|
-
collapsed = _useStore.collapsed
|
|
38
|
+
collapsed = _useStore.collapsed,
|
|
39
|
+
shouldExpandNodeInitially = _useStore.shouldExpandNodeInitially;
|
|
33
40
|
var isMyArray = Array.isArray(value);
|
|
34
|
-
var
|
|
41
|
+
var defaultExpanded = typeof collapsed === 'boolean' ? collapsed : typeof collapsed === 'number' ? level > collapsed : false;
|
|
42
|
+
var isExpanded = (_expands$expandKey = expands[expandKey]) !== null && _expands$expandKey !== void 0 ? _expands$expandKey : defaultExpanded;
|
|
43
|
+
if (expands[expandKey] === undefined && shouldExpandNodeInitially && shouldExpandNodeInitially(isExpanded, {
|
|
44
|
+
value: value,
|
|
45
|
+
keys: keys,
|
|
46
|
+
level: level
|
|
47
|
+
})) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
35
50
|
if (isExpanded) {
|
|
36
51
|
return null;
|
|
37
52
|
}
|
|
@@ -47,11 +62,13 @@ var KeyValues = function KeyValues(props) {
|
|
|
47
62
|
b = _ref4[0];
|
|
48
63
|
return typeof a === 'string' && typeof b === 'string' ? a.localeCompare(b) : 0;
|
|
49
64
|
}) : entries.sort(function (_ref5, _ref6) {
|
|
50
|
-
var _ref7 = (0, _slicedToArray2["default"])(_ref5,
|
|
51
|
-
a = _ref7[0]
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
65
|
+
var _ref7 = (0, _slicedToArray2["default"])(_ref5, 2),
|
|
66
|
+
a = _ref7[0],
|
|
67
|
+
valA = _ref7[1];
|
|
68
|
+
var _ref8 = (0, _slicedToArray2["default"])(_ref6, 2),
|
|
69
|
+
b = _ref8[0],
|
|
70
|
+
valB = _ref8[1];
|
|
71
|
+
return typeof a === 'string' && typeof b === 'string' ? objectSortKeys(a, b, valA, valB) : 0;
|
|
55
72
|
});
|
|
56
73
|
}
|
|
57
74
|
var style = {
|
|
@@ -69,16 +86,18 @@ var KeyValues = function KeyValues(props) {
|
|
|
69
86
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(KeyValuesItem, {
|
|
70
87
|
parentValue: value,
|
|
71
88
|
keyName: key,
|
|
89
|
+
keys: [].concat((0, _toConsumableArray2["default"])(keys), [key]),
|
|
72
90
|
value: val,
|
|
73
91
|
level: level
|
|
74
92
|
}, idx);
|
|
75
93
|
})
|
|
76
94
|
});
|
|
77
95
|
};
|
|
78
|
-
exports.KeyValues = KeyValues;
|
|
79
96
|
KeyValues.displayName = 'JVR.KeyValues';
|
|
80
|
-
var KayName = function KayName(props) {
|
|
97
|
+
var KayName = exports.KayName = function KayName(props) {
|
|
81
98
|
var keyName = props.keyName,
|
|
99
|
+
parentValue = props.parentValue,
|
|
100
|
+
keys = props.keys,
|
|
82
101
|
value = props.value;
|
|
83
102
|
var _useStore2 = (0, _store.useStore)(),
|
|
84
103
|
highlightUpdates = _useStore2.highlightUpdates;
|
|
@@ -89,33 +108,38 @@ var KayName = function KayName(props) {
|
|
|
89
108
|
highlightUpdates: highlightUpdates,
|
|
90
109
|
highlightContainer: highlightContainer
|
|
91
110
|
});
|
|
111
|
+
var compProps = {
|
|
112
|
+
keyName: keyName,
|
|
113
|
+
value: value,
|
|
114
|
+
keys: keys,
|
|
115
|
+
parentValue: parentValue
|
|
116
|
+
};
|
|
92
117
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.Fragment, {
|
|
93
118
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
|
|
94
119
|
ref: highlightContainer,
|
|
95
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Quote, {
|
|
120
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Quote, (0, _objectSpread2["default"])({
|
|
96
121
|
isNumber: isNumber,
|
|
97
122
|
"data-placement": "left"
|
|
98
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyName.KeyNameComp, {
|
|
99
|
-
keyName: keyName,
|
|
100
|
-
value: value,
|
|
123
|
+
}, compProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyName.KeyNameComp, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, compProps), {}, {
|
|
101
124
|
children: keyName
|
|
102
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Quote, {
|
|
125
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Quote, (0, _objectSpread2["default"])({
|
|
103
126
|
isNumber: isNumber,
|
|
104
127
|
"data-placement": "right"
|
|
105
|
-
})]
|
|
106
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Colon, {})]
|
|
128
|
+
}, compProps))]
|
|
129
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Colon, (0, _objectSpread2["default"])({}, compProps))]
|
|
107
130
|
});
|
|
108
131
|
};
|
|
109
|
-
exports.KayName = KayName;
|
|
110
132
|
KayName.displayName = 'JVR.KayName';
|
|
111
|
-
var KeyValuesItem = function KeyValuesItem(props) {
|
|
133
|
+
var KeyValuesItem = exports.KeyValuesItem = function KeyValuesItem(props) {
|
|
112
134
|
var keyName = props.keyName,
|
|
113
135
|
value = props.value,
|
|
114
136
|
parentValue = props.parentValue,
|
|
115
137
|
_props$level = props.level,
|
|
116
|
-
level = _props$level === void 0 ? 0 : _props$level
|
|
138
|
+
level = _props$level === void 0 ? 0 : _props$level,
|
|
139
|
+
_props$keys2 = props.keys,
|
|
140
|
+
keys = _props$keys2 === void 0 ? [] : _props$keys2;
|
|
117
141
|
var dispatch = (0, _ShowTools.useShowToolsDispatch)();
|
|
118
|
-
var subkeyid = (0,
|
|
142
|
+
var subkeyid = (0, _useIdCompat.useIdCompat)();
|
|
119
143
|
var isMyArray = Array.isArray(value);
|
|
120
144
|
var isMySet = value instanceof Set;
|
|
121
145
|
var isMyMap = value instanceof Map;
|
|
@@ -130,6 +154,7 @@ var KeyValuesItem = function KeyValuesItem(props) {
|
|
|
130
154
|
value: myValue,
|
|
131
155
|
parentValue: parentValue,
|
|
132
156
|
initialValue: value,
|
|
157
|
+
keys: keys,
|
|
133
158
|
level: level + 1
|
|
134
159
|
});
|
|
135
160
|
}
|
|
@@ -141,18 +166,28 @@ var KeyValuesItem = function KeyValuesItem(props) {
|
|
|
141
166
|
return dispatch((0, _defineProperty2["default"])({}, subkeyid, false));
|
|
142
167
|
}
|
|
143
168
|
};
|
|
144
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
145
|
-
className: "w-rjv-line"
|
|
169
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Row.RowComp, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
|
|
170
|
+
className: "w-rjv-line",
|
|
171
|
+
value: value,
|
|
172
|
+
keyName: keyName,
|
|
173
|
+
keys: keys,
|
|
174
|
+
parentValue: parentValue
|
|
146
175
|
}, reset), {}, {
|
|
147
176
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(KayName, {
|
|
148
177
|
keyName: keyName,
|
|
149
|
-
value: value
|
|
178
|
+
value: value,
|
|
179
|
+
keys: keys,
|
|
180
|
+
parentValue: parentValue
|
|
150
181
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Value.Value, {
|
|
182
|
+
keyName: keyName,
|
|
183
|
+
value: value
|
|
184
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Copied.Copied, {
|
|
151
185
|
keyName: keyName,
|
|
152
186
|
value: value,
|
|
187
|
+
keys: keys,
|
|
188
|
+
parentValue: parentValue,
|
|
153
189
|
expandKey: subkeyid
|
|
154
190
|
})]
|
|
155
191
|
}));
|
|
156
192
|
};
|
|
157
|
-
exports.KeyValuesItem = KeyValuesItem;
|
|
158
193
|
KeyValuesItem.displayName = 'JVR.KeyValuesItem';
|
package/cjs/comps/NestedClose.js
CHANGED
|
@@ -8,18 +8,29 @@ var _store = require("../store");
|
|
|
8
8
|
var _Expands = require("../store/Expands");
|
|
9
9
|
var _symbol = require("../symbol");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
var NestedClose = function NestedClose(props) {
|
|
11
|
+
var NestedClose = exports.NestedClose = function NestedClose(props) {
|
|
12
12
|
var _expands$expandKey;
|
|
13
13
|
var value = props.value,
|
|
14
14
|
expandKey = props.expandKey,
|
|
15
|
-
level = props.level
|
|
15
|
+
level = props.level,
|
|
16
|
+
_props$keys = props.keys,
|
|
17
|
+
keys = _props$keys === void 0 ? [] : _props$keys;
|
|
16
18
|
var expands = (0, _Expands.useExpandsStore)();
|
|
17
19
|
var isArray = Array.isArray(value);
|
|
18
20
|
var _useStore = (0, _store.useStore)(),
|
|
19
|
-
collapsed = _useStore.collapsed
|
|
21
|
+
collapsed = _useStore.collapsed,
|
|
22
|
+
shouldExpandNodeInitially = _useStore.shouldExpandNodeInitially;
|
|
20
23
|
var isMySet = value instanceof Set;
|
|
21
|
-
var
|
|
24
|
+
var defaultExpanded = typeof collapsed === 'boolean' ? collapsed : typeof collapsed === 'number' ? level > collapsed : false;
|
|
25
|
+
var isExpanded = (_expands$expandKey = expands[expandKey]) !== null && _expands$expandKey !== void 0 ? _expands$expandKey : defaultExpanded;
|
|
22
26
|
var len = Object.keys(value).length;
|
|
27
|
+
if (expands[expandKey] === undefined && shouldExpandNodeInitially && shouldExpandNodeInitially(isExpanded, {
|
|
28
|
+
value: value,
|
|
29
|
+
keys: keys,
|
|
30
|
+
level: level
|
|
31
|
+
})) {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
23
34
|
if (isExpanded || len === 0) {
|
|
24
35
|
return null;
|
|
25
36
|
}
|
|
@@ -34,5 +45,4 @@ var NestedClose = function NestedClose(props) {
|
|
|
34
45
|
})
|
|
35
46
|
});
|
|
36
47
|
};
|
|
37
|
-
exports.NestedClose = NestedClose;
|
|
38
48
|
NestedClose.displayName = 'JVR.NestedClose';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
value?: T;
|
|
1
|
+
import { type SectionElementResult } from '../store/Section';
|
|
2
|
+
export interface NestedOpenProps<T extends object> extends SectionElementResult<T> {
|
|
4
3
|
initialValue?: T;
|
|
5
4
|
expandKey: string;
|
|
6
5
|
level: number;
|
package/cjs/comps/NestedOpen.js
CHANGED
|
@@ -18,22 +18,35 @@ var _symbol = require("../symbol");
|
|
|
18
18
|
var _Ellipsis = require("../section/Ellipsis");
|
|
19
19
|
var _types = require("../types");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
var NestedOpen = function NestedOpen(props) {
|
|
21
|
+
var NestedOpen = exports.NestedOpen = function NestedOpen(props) {
|
|
22
22
|
var _expands$expandKey;
|
|
23
23
|
var keyName = props.keyName,
|
|
24
24
|
expandKey = props.expandKey,
|
|
25
|
+
_props$keys = props.keys,
|
|
26
|
+
keys = _props$keys === void 0 ? [] : _props$keys,
|
|
25
27
|
initialValue = props.initialValue,
|
|
26
28
|
value = props.value,
|
|
29
|
+
parentValue = props.parentValue,
|
|
27
30
|
level = props.level;
|
|
28
31
|
var expands = (0, _Expands.useExpandsStore)();
|
|
29
32
|
var dispatchExpands = (0, _Expands.useExpandsDispatch)();
|
|
30
33
|
var _useStore = (0, _store.useStore)(),
|
|
31
34
|
onExpand = _useStore.onExpand,
|
|
32
|
-
collapsed = _useStore.collapsed
|
|
35
|
+
collapsed = _useStore.collapsed,
|
|
36
|
+
shouldExpandNodeInitially = _useStore.shouldExpandNodeInitially;
|
|
33
37
|
var isArray = Array.isArray(value);
|
|
34
38
|
var isMySet = value instanceof Set;
|
|
35
|
-
var
|
|
39
|
+
var defaultExpanded = typeof collapsed === 'boolean' ? collapsed : typeof collapsed === 'number' ? level > collapsed : false;
|
|
36
40
|
var isObject = (0, _typeof2["default"])(value) === 'object';
|
|
41
|
+
var isExpanded = (_expands$expandKey = expands[expandKey]) !== null && _expands$expandKey !== void 0 ? _expands$expandKey : defaultExpanded;
|
|
42
|
+
var shouldExpand = shouldExpandNodeInitially && shouldExpandNodeInitially(isExpanded, {
|
|
43
|
+
value: value,
|
|
44
|
+
keys: keys,
|
|
45
|
+
level: level
|
|
46
|
+
});
|
|
47
|
+
if (expands[expandKey] === undefined && shouldExpand !== undefined) {
|
|
48
|
+
isExpanded = shouldExpand;
|
|
49
|
+
}
|
|
37
50
|
var click = function click() {
|
|
38
51
|
var opt = {
|
|
39
52
|
expand: !isExpanded,
|
|
@@ -60,26 +73,32 @@ var NestedOpen = function NestedOpen(props) {
|
|
|
60
73
|
if (showArrow) {
|
|
61
74
|
reset.onClick = click;
|
|
62
75
|
}
|
|
76
|
+
var compProps = {
|
|
77
|
+
keyName: keyName,
|
|
78
|
+
value: value,
|
|
79
|
+
keys: keys,
|
|
80
|
+
parentValue: parentValue
|
|
81
|
+
};
|
|
63
82
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
64
|
-
children: [showArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Arrow, {
|
|
83
|
+
children: [showArrow && /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.Arrow, (0, _objectSpread2["default"])({
|
|
65
84
|
style: arrowStyle,
|
|
66
85
|
expandKey: expandKey
|
|
67
|
-
}), (keyName || typeof keyName === 'number') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyValues.KayName, {
|
|
86
|
+
}, compProps)), (keyName || typeof keyName === 'number') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_KeyValues.KayName, (0, _objectSpread2["default"])({}, compProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_types.SetComp, {
|
|
87
|
+
value: initialValue,
|
|
68
88
|
keyName: keyName
|
|
69
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_types.SetComp, {
|
|
70
|
-
value: initialValue
|
|
71
89
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_types.MapComp, {
|
|
72
|
-
value: initialValue
|
|
73
|
-
|
|
90
|
+
value: initialValue,
|
|
91
|
+
keyName: keyName
|
|
92
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.BracketsOpen, (0, _objectSpread2["default"])({
|
|
74
93
|
isBrackets: isArray || isMySet
|
|
75
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ellipsis.EllipsisComp, {
|
|
94
|
+
}, compProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ellipsis.EllipsisComp, {
|
|
76
95
|
keyName: keyName,
|
|
77
96
|
value: value,
|
|
78
97
|
isExpanded: isExpanded
|
|
79
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.BracketsClose, {
|
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.BracketsClose, (0, _objectSpread2["default"])({
|
|
80
99
|
isVisiable: isExpanded || !showArrow,
|
|
81
100
|
isBrackets: isArray || isMySet
|
|
82
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CountInfo.CountInfoComp, {
|
|
101
|
+
}, compProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CountInfo.CountInfoComp, {
|
|
83
102
|
value: value,
|
|
84
103
|
keyName: keyName
|
|
85
104
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CountInfoExtra.CountInfoExtraComps, {
|
|
@@ -88,9 +107,10 @@ var NestedOpen = function NestedOpen(props) {
|
|
|
88
107
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Copied.Copied, {
|
|
89
108
|
keyName: keyName,
|
|
90
109
|
value: value,
|
|
91
|
-
expandKey: expandKey
|
|
110
|
+
expandKey: expandKey,
|
|
111
|
+
parentValue: parentValue,
|
|
112
|
+
keys: keys
|
|
92
113
|
})]
|
|
93
114
|
}));
|
|
94
115
|
};
|
|
95
|
-
exports.NestedOpen = NestedOpen;
|
|
96
116
|
NestedOpen.displayName = 'JVR.NestedOpen';
|
package/cjs/comps/Value.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export declare const isFloat: (n: number) => boolean;
|
|
2
2
|
interface ValueProps {
|
|
3
|
-
value
|
|
3
|
+
value: unknown;
|
|
4
4
|
keyName: string | number;
|
|
5
|
-
expandKey: string;
|
|
6
5
|
}
|
|
7
6
|
export declare const Value: {
|
|
8
7
|
(props: ValueProps): import("react/jsx-runtime").JSX.Element | null;
|
package/cjs/comps/Value.js
CHANGED
|
@@ -8,17 +8,14 @@ exports.isFloat = exports.Value = void 0;
|
|
|
8
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
9
|
var _types = require("../types");
|
|
10
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
var isFloat = function isFloat(n) {
|
|
11
|
+
var isFloat = exports.isFloat = function isFloat(n) {
|
|
12
12
|
return Number(n) === n && n % 1 !== 0 || isNaN(n);
|
|
13
13
|
};
|
|
14
|
-
exports.
|
|
15
|
-
var Value = function Value(props) {
|
|
14
|
+
var Value = exports.Value = function Value(props) {
|
|
16
15
|
var value = props.value,
|
|
17
|
-
keyName = props.keyName
|
|
18
|
-
expandKey = props.expandKey;
|
|
16
|
+
keyName = props.keyName;
|
|
19
17
|
var reset = {
|
|
20
|
-
keyName: keyName
|
|
21
|
-
expandKey: expandKey
|
|
18
|
+
keyName: keyName
|
|
22
19
|
};
|
|
23
20
|
if (value instanceof URL) {
|
|
24
21
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_types.TypeUrl, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
@@ -74,5 +71,4 @@ var Value = function Value(props) {
|
|
|
74
71
|
}
|
|
75
72
|
return null;
|
|
76
73
|
};
|
|
77
|
-
exports.Value = Value;
|
|
78
74
|
Value.displayName = 'JVR.Value';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useIdCompat(): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useIdCompat = useIdCompat;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
function useIdCompat() {
|
|
9
|
+
var idRef = (0, _react.useRef)(null);
|
|
10
|
+
if (idRef.current === null) {
|
|
11
|
+
idRef.current = 'custom-id-' + Math.random().toString(36).substr(2, 9);
|
|
12
|
+
}
|
|
13
|
+
return idRef.current;
|
|
14
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.KeyNameRender = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _store = require("./store");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
var _excluded = ["children"],
|
|
15
|
+
_excluded2 = ["value", "parentValue", "keyName"];
|
|
16
|
+
var KeyNameRender = exports.KeyNameRender = function KeyNameRender(_ref, _ref2) {
|
|
17
|
+
var children = _ref.children,
|
|
18
|
+
reset = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
19
|
+
var value = _ref2.value,
|
|
20
|
+
parentValue = _ref2.parentValue,
|
|
21
|
+
keyName = _ref2.keyName;
|
|
22
|
+
if (typeof children === 'number') {
|
|
23
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
24
|
+
children: children
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Child, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
28
|
+
value: value,
|
|
29
|
+
parentValue: parentValue,
|
|
30
|
+
keyName: keyName,
|
|
31
|
+
children: children
|
|
32
|
+
}));
|
|
33
|
+
};
|
|
34
|
+
var Child = function Child(props) {
|
|
35
|
+
var value = props.value,
|
|
36
|
+
parentValue = props.parentValue,
|
|
37
|
+
keyName = props.keyName,
|
|
38
|
+
reset = (0, _objectWithoutProperties2["default"])(props, _excluded2);
|
|
39
|
+
var $dom = (0, _react.useRef)(null);
|
|
40
|
+
var _useState = (0, _react.useState)(props.children),
|
|
41
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
42
|
+
currentValue = _useState2[0],
|
|
43
|
+
setCurrentValue = _useState2[1];
|
|
44
|
+
var _useStore = (0, _store.useStore)(),
|
|
45
|
+
onEdit = _useStore.onEdit;
|
|
46
|
+
var onKeyDown = function onKeyDown(evn) {
|
|
47
|
+
if (evn.key === 'Enter') {
|
|
48
|
+
var _$dom$current;
|
|
49
|
+
(_$dom$current = $dom.current) === null || _$dom$current === void 0 || _$dom$current.setAttribute('contentEditable', 'false');
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var onClick = function onClick(evn) {
|
|
53
|
+
var _$dom$current2, _$dom$current3;
|
|
54
|
+
evn.stopPropagation();
|
|
55
|
+
(_$dom$current2 = $dom.current) === null || _$dom$current2 === void 0 || _$dom$current2.setAttribute('contentEditable', 'true');
|
|
56
|
+
(_$dom$current3 = $dom.current) === null || _$dom$current3 === void 0 || _$dom$current3.focus();
|
|
57
|
+
};
|
|
58
|
+
var onBlur = function onBlur(evn) {
|
|
59
|
+
var _$dom$current4;
|
|
60
|
+
(_$dom$current4 = $dom.current) === null || _$dom$current4 === void 0 || _$dom$current4.setAttribute('contentEditable', 'false');
|
|
61
|
+
var callback = onEdit && onEdit({
|
|
62
|
+
value: evn.target.textContent,
|
|
63
|
+
oldValue: value,
|
|
64
|
+
keyName: keyName
|
|
65
|
+
});
|
|
66
|
+
if (callback) {
|
|
67
|
+
setCurrentValue(evn.target.textContent);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
var spanProps = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
71
|
+
onKeyDown: onKeyDown,
|
|
72
|
+
onClick: onClick,
|
|
73
|
+
onBlur: onBlur,
|
|
74
|
+
spellCheck: false,
|
|
75
|
+
contentEditable: 'false',
|
|
76
|
+
suppressContentEditableWarning: true,
|
|
77
|
+
children: currentValue
|
|
78
|
+
});
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, spanProps), {}, {
|
|
80
|
+
ref: $dom
|
|
81
|
+
}));
|
|
82
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type JsonViewProps } from '../';
|
|
2
|
+
export interface JsonViewEditorProps<T extends object> extends Omit<JsonViewProps<T>, 'shortenTextAfterLength'> {
|
|
3
|
+
/**
|
|
4
|
+
* When a callback function is passed in, edit functionality is enabled. The callback is invoked before edits are completed.
|
|
5
|
+
* @returns {boolean} Returning false from onEdit will prevent the change from being made.
|
|
6
|
+
*/
|
|
7
|
+
onEdit?: (option: {
|
|
8
|
+
value: unknown;
|
|
9
|
+
oldValue: unknown;
|
|
10
|
+
keyName?: string | number;
|
|
11
|
+
parentName?: string | number;
|
|
12
|
+
type?: 'value' | 'key';
|
|
13
|
+
}) => boolean;
|
|
14
|
+
/** Whether enable edit feature. @default true */
|
|
15
|
+
editable?: boolean;
|
|
16
|
+
}
|
|
17
|
+
declare const JsonViewEditor: import("react").ForwardRefExoticComponent<Omit<JsonViewEditorProps<object>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
18
|
+
export default JsonViewEditor;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = require("react");
|
|
12
|
+
var _ = _interopRequireDefault(require("../"));
|
|
13
|
+
var _KeyName = require("./KeyName");
|
|
14
|
+
var _store = require("./store");
|
|
15
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var _excluded = ["children", "onEdit", "editable"];
|
|
17
|
+
var JsonViewEditor = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
18
|
+
var children = props.children,
|
|
19
|
+
onEdit = props.onEdit,
|
|
20
|
+
_props$editable = props.editable,
|
|
21
|
+
editable = _props$editable === void 0 ? true : _props$editable,
|
|
22
|
+
reset = (0, _objectWithoutProperties2["default"])(props, _excluded);
|
|
23
|
+
var _useStoreReducer = (0, _store.useStoreReducer)({
|
|
24
|
+
onEdit: onEdit
|
|
25
|
+
}),
|
|
26
|
+
_useStoreReducer2 = (0, _slicedToArray2["default"])(_useStoreReducer, 2),
|
|
27
|
+
state = _useStoreReducer2[0],
|
|
28
|
+
dispatch = _useStoreReducer2[1];
|
|
29
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.Context.Provider, {
|
|
30
|
+
value: state,
|
|
31
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.Dispatch.Provider, {
|
|
32
|
+
value: dispatch,
|
|
33
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_["default"], (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, reset), {}, {
|
|
34
|
+
shortenTextAfterLength: 0,
|
|
35
|
+
ref: ref,
|
|
36
|
+
children: [editable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_["default"].KeyName, {
|
|
37
|
+
render: _KeyName.KeyNameRender
|
|
38
|
+
}), children]
|
|
39
|
+
}))
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
var _default = exports["default"] = JsonViewEditor;
|
|
44
|
+
module.exports = exports.default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type InitialState = {
|
|
2
|
+
/**
|
|
3
|
+
* When a callback function is passed in, edit functionality is enabled. The callback is invoked before edits are completed.
|
|
4
|
+
* @returns {boolean} Returning false from onEdit will prevent the change from being made.
|
|
5
|
+
*/
|
|
6
|
+
onEdit?: (option: {
|
|
7
|
+
value: unknown;
|
|
8
|
+
oldValue: unknown;
|
|
9
|
+
keyName?: string | number;
|
|
10
|
+
parentName?: string | number;
|
|
11
|
+
type?: 'value' | 'key';
|
|
12
|
+
}) => boolean;
|
|
13
|
+
};
|
|
14
|
+
type Dispatch = React.Dispatch<InitialState>;
|
|
15
|
+
export declare const Context: import("react").Context<InitialState>;
|
|
16
|
+
export declare const Dispatch: import("react").Context<Dispatch>;
|
|
17
|
+
export declare const useStore: () => InitialState;
|
|
18
|
+
export declare function useStoreReducer(initialState: InitialState): [{
|
|
19
|
+
onEdit?: (option: {
|
|
20
|
+
value: unknown;
|
|
21
|
+
oldValue: unknown;
|
|
22
|
+
keyName?: string | number;
|
|
23
|
+
parentName?: string | number;
|
|
24
|
+
type?: "value" | "key";
|
|
25
|
+
}) => boolean;
|
|
26
|
+
}, import("react").Dispatch<InitialState>];
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useStore = exports.Dispatch = exports.Context = void 0;
|
|
8
|
+
exports.useStoreReducer = useStoreReducer;
|
|
9
|
+
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
var initialState = {};
|
|
12
|
+
var Context = exports.Context = /*#__PURE__*/(0, _react.createContext)(initialState);
|
|
13
|
+
var reducer = function reducer(state, action) {
|
|
14
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, state), action);
|
|
15
|
+
};
|
|
16
|
+
var Dispatch = exports.Dispatch = /*#__PURE__*/(0, _react.createContext)(function () {});
|
|
17
|
+
Dispatch.displayName = 'JVR.Editor.Dispatch';
|
|
18
|
+
var useStore = exports.useStore = function useStore() {
|
|
19
|
+
return (0, _react.useContext)(Context);
|
|
20
|
+
};
|
|
21
|
+
function useStoreReducer(initialState) {
|
|
22
|
+
return (0, _react.useReducer)(reducer, initialState);
|
|
23
|
+
}
|
package/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { BraceLeft } from './symbol/BraceLeft';
|
|
3
2
|
import { BraceRight } from './symbol/BraceRight';
|
|
4
3
|
import { BracketsLeft } from './symbol/BracketsLeft';
|
|
@@ -25,6 +24,7 @@ import { CountInfo } from './section/CountInfo';
|
|
|
25
24
|
import { CountInfoExtra } from './section/CountInfoExtra';
|
|
26
25
|
import { Ellipsis } from './section/Ellipsis';
|
|
27
26
|
import { KeyName } from './section/KeyName';
|
|
27
|
+
import { Row } from './section/Row';
|
|
28
28
|
export * from './store';
|
|
29
29
|
export * from './store/Expands';
|
|
30
30
|
export * from './store/ShowTools';
|
|
@@ -37,7 +37,7 @@ export interface JsonViewProps<T extends object> extends React.DetailedHTMLProps
|
|
|
37
37
|
/** Define the root node name. @default undefined */
|
|
38
38
|
keyName?: string | number;
|
|
39
39
|
/** Whether sort keys through `String.prototype.localeCompare()` @default false */
|
|
40
|
-
objectSortKeys?: boolean | ((
|
|
40
|
+
objectSortKeys?: boolean | ((keyA: string, keyB: string, valueA: T, valueB: T) => number);
|
|
41
41
|
/** Set the indent-width for nested objects @default 15 */
|
|
42
42
|
indentWidth?: number;
|
|
43
43
|
/** When set to `true`, `objects` and `arrays` are labeled with size @default true */
|
|
@@ -48,9 +48,15 @@ export interface JsonViewProps<T extends object> extends React.DetailedHTMLProps
|
|
|
48
48
|
enableClipboard?: boolean;
|
|
49
49
|
/** When set to true, all nodes will be collapsed by default. Use an integer value to collapse at a particular depth. @default false */
|
|
50
50
|
collapsed?: boolean | number;
|
|
51
|
+
/** Determine whether the node should be expanded on the first render, or you can use collapsed to control the level of expansion (by default, the root is expanded). */
|
|
52
|
+
shouldExpandNodeInitially?: (isExpanded: boolean, props: {
|
|
53
|
+
value?: T;
|
|
54
|
+
keys: (number | string)[];
|
|
55
|
+
level: number;
|
|
56
|
+
}) => boolean;
|
|
51
57
|
/** Whether to highlight updates. @default true */
|
|
52
58
|
highlightUpdates?: boolean;
|
|
53
|
-
/** Shorten long JSON strings, Set to `0` to disable this feature @default
|
|
59
|
+
/** Shorten long JSON strings, Set to `0` to disable this feature @default 30 */
|
|
54
60
|
shortenTextAfterLength?: number;
|
|
55
61
|
/** Callback function for when a treeNode is expanded or collapsed */
|
|
56
62
|
onExpand?: (props: {
|
|
@@ -89,6 +95,7 @@ type JsonViewComponent = React.FC<React.PropsWithRef<JsonViewProps<object>>> & {
|
|
|
89
95
|
CountInfo: typeof CountInfo;
|
|
90
96
|
CountInfoExtra: typeof CountInfoExtra;
|
|
91
97
|
KeyName: typeof KeyName;
|
|
98
|
+
Row: typeof Row;
|
|
92
99
|
};
|
|
93
100
|
declare const JsonView: JsonViewComponent;
|
|
94
101
|
export default JsonView;
|