@uiw/react-json-view
Version:
JSON viewer for react.
52 lines • 1.59 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/objectWithoutPropertiesLoose";
var _excluded = ["value", "keyName"],
_excluded2 = ["as", "render"];
import { useSectionStore } from "../store/Section.js";
import { useSectionRender } from "../utils/useRender.js";
import { useStore } from "../store.js";
import { jsx as _jsx } from "react/jsx-runtime";
export var CountInfo = props => {
var {
CountInfo: Comp = {}
} = useSectionStore();
useSectionRender(Comp, props, 'CountInfo');
return null;
};
CountInfo.displayName = 'JVR.CountInfo';
export var CountInfoComp = props => {
var {
value = {},
keyName
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
var {
displayObjectSize
} = useStore();
var {
CountInfo: Comp = {}
} = useSectionStore();
if (!displayObjectSize) return null;
var {
as,
render
} = Comp,
reset = _objectWithoutPropertiesLoose(Comp, _excluded2);
var Elm = as || 'span';
reset.style = _extends({}, reset.style, props.style);
var len = Object.keys(value).length;
if (!reset.children) {
reset.children = len + " item" + (len === 1 ? '' : 's');
}
var elmProps = _extends({}, reset, other);
var isRender = render && typeof render === 'function';
var child = isRender && render(_extends({}, elmProps, {
'data-length': len
}), {
value,
keyName
});
if (child) return child;
return /*#__PURE__*/_jsx(Elm, _extends({}, elmProps));
};
CountInfoComp.displayName = 'JVR.CountInfoComp';