UNPKG

@s-ui/react-atom-icon

Version:
19 lines 798 B
import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; var _excluded = ["children"]; import PropTypes from 'prop-types'; import { useNearScreen } from '@s-ui/react-hooks/lib/useOnScreen'; import AtomIcon from './Icon.js'; import { jsx as _jsx } from "react/jsx-runtime"; export default function LazyIcon(_ref) { var children = _ref.children, restOfProps = _objectWithoutPropertiesLoose(_ref, _excluded); var _useNearScreen = useNearScreen(), isIntersecting = _useNearScreen[0], outerRef = _useNearScreen[1]; return /*#__PURE__*/_jsx(AtomIcon, _extends({}, restOfProps, { children: isIntersecting ? children : /*#__PURE__*/_jsx("svg", { ref: outerRef }) })); }