UNPKG

@uiw/react-json-view

Version:
48 lines (47 loc) 1.67 kB
"use strict"; 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';