@uiw/react-json-view
Version:
JSON viewer for react.
62 lines (61 loc) • 2.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.NestedClose = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
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 keyName = props.keyName,
value = props.value,
expandKey = props.expandKey,
parentValue = props.parentValue,
level = props.level,
_props$keys = props.keys,
keys = _props$keys === void 0 ? [] : _props$keys;
var expands = (0, _Expands.useExpandsStore)();
var _useStore = (0, _store.useStore)(),
collapsed = _useStore.collapsed,
shouldExpandNodeInitially = _useStore.shouldExpandNodeInitially;
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 : shouldExpandNodeInitially ? false : defaultExpanded;
var shouldExpand = shouldExpandNodeInitially && shouldExpandNodeInitially(!isExpanded, {
value: value,
keys: keys,
level: level,
keyName: keyName,
parentValue: parentValue
});
if (expands[expandKey] === undefined && !shouldExpand) {
return null;
}
var len = Object.keys(value).length;
if (isExpanded || len === 0) {
return null;
}
var style = {
paddingLeft: 4
};
var compProps = {
keyName: keyName,
value: value,
keys: keys,
parentValue: parentValue
};
var isArray = Array.isArray(value);
var isMySet = value instanceof Set;
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: style,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_symbol.BracketsClose, (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
isBrackets: isArray || isMySet
}, compProps), {}, {
isVisiable: true
}))
});
};
NestedClose.displayName = 'JVR.NestedClose';