@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
64 lines (63 loc) • 2.56 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _clsx = require("clsx");
var _ListContext = require("./ListContext.js");
var _Container = _interopRequireDefault(require("../flex/Container.js"));
var _SkeletonHelper = require("../skeleton/SkeletonHelper.js");
var _Context = _interopRequireDefault(require("../../shared/Context.js"));
var _jsxRuntime = require("react/jsx-runtime");
var _Pending, _div;
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function ItemContent(props) {
const {
className,
children,
variant,
selected,
pending,
disabled,
skeleton,
...rest
} = props;
const context = (0, _react.useContext)(_Context.default);
const inheritedVariant = (0, _react.useContext)(_ListContext.ListContext)?.variant;
const inheritedSkeleton = (0, _react.useContext)(_ListContext.ListContext)?.skeleton;
const inheritedDisabled = (0, _react.useContext)(_ListContext.ListContext)?.disabled;
const appliedVariant = variant !== null && variant !== void 0 ? variant : inheritedVariant;
const appliedSkeleton = skeleton !== null && skeleton !== void 0 ? skeleton : inheritedSkeleton;
const appliedDisabled = disabled !== null && disabled !== void 0 ? disabled : inheritedDisabled;
const content = (0, _jsxRuntime.jsxs)(_Container.default, {
element: "li",
direction: "horizontal",
justify: "space-between",
wrap: false,
gap: false,
className: (0, _clsx.clsx)('dnb-list__item', 'dnb-t__size--basis', appliedVariant && `dnb-list--variant-${appliedVariant}`, selected !== undefined && 'dnb-list__item--selection', selected && 'dnb-list__item--selected', pending && 'dnb-list__item--pending', appliedDisabled && 'dnb-list__item--disabled', appliedSkeleton && (0, _SkeletonHelper.createSkeletonClass)('font', true), className),
...rest,
children: [children, pending && (_Pending || (_Pending = (0, _jsxRuntime.jsx)(Pending, {})))]
});
if (appliedSkeleton) {
return (0, _jsxRuntime.jsx)(_Context.default, {
value: {
...context,
skeleton: appliedSkeleton
},
children: content
});
}
return content;
}
ItemContent._supportsSpacingProps = true;
var _default = exports.default = ItemContent;
function Pending() {
return _div || (_div = (0, _jsxRuntime.jsx)("div", {
className: "dnb-list__item__pending"
}));
}
Pending._supportsSpacingProps = true;
//# sourceMappingURL=ItemContent.js.map