@uiw/react-json-view
Version:
JSON viewer for react.
48 lines (47 loc) • 1.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.NestedClose = void 0;
var _store = require("../store");
var _Expands = require("../store/Expands");
var _symbol = require("../symbol/");
var _jsxRuntime = require("react/jsx-runtime");
var NestedClose = exports.NestedClose = function NestedClose(props) {
var _expands$expandKey;
var value = props.value,
expandKey = props.expandKey,
level = props.level,
_props$keys = props.keys,
keys = _props$keys === void 0 ? [] : _props$keys;
var expands = (0, _Expands.useExpandsStore)();
var isArray = Array.isArray(value);
var _useStore = (0, _store.useStore)(),
collapsed = _useStore.collapsed,
shouldExpandNodeInitially = _useStore.shouldExpandNodeInitially;
var isMySet = value instanceof Set;
var defaultExpanded = typeof collapsed === 'boolean' ? collapsed : typeof collapsed === 'number' ? level > collapsed : false;
var isExpanded = (_expands$expandKey = expands[expandKey]) !== null && _expands$expandKey !== void 0 ? _expands$expandKey : defaultExpanded;
var len = Object.keys(value).length;
if (expands[expandKey] === undefined && shouldExpandNodeInitially && shouldExpandNodeInitially(isExpanded, {
value: value,
keys: keys,
level: level
})) {
return null;
}
if (isExpanded || len === 0) {
return null;
}
var style = {
paddingLeft: 4
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: style,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.BracketsClose, {
isBrackets: isArray || isMySet,
isVisiable: true
})
});
};
NestedClose.displayName = 'JVR.NestedClose';
;