@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
53 lines (52 loc) • 2.03 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _Flex = _interopRequireDefault(require("../flex/Flex.js"));
var _componentHelper = require("../../shared/component-helper.js");
var _StatRootContext = _interopRequireDefault(require("./StatRootContext.js"));
var _useStatSkeleton = _interopRequireDefault(require("./useStatSkeleton.js"));
var _Provider = _interopRequireDefault(require("../../shared/Provider.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function Inline({
children,
className = null,
gap = 'x-small',
align = 'center',
skeleton = null,
...rest
}) {
const {
inRoot
} = _react.default.useContext(_StatRootContext.default);
const {
hasSkeleton,
skeletonClass,
applySkeletonAttributes
} = (0, _useStatSkeleton.default)(skeleton);
if (!inRoot) {
(0, _componentHelper.warn)('Stat.Inline should be used inside Stat.Root');
}
const attributes = {};
applySkeletonAttributes(attributes);
return _react.default.createElement(_StatRootContext.default.Provider, {
value: {
inRoot,
skeleton: hasSkeleton
}
}, _react.default.createElement(_Provider.default, {
skeleton: hasSkeleton
}, _react.default.createElement(_Flex.default.Horizontal, _extends({}, rest, attributes, {
gap: gap,
align: align,
className: (0, _classnames.default)("dnb-stat dnb-stat__inline", skeletonClass, className)
}), children)));
}
Inline._supportsSpacingProps = true;
var _default = exports.default = Inline;
//# sourceMappingURL=Inline.js.map