@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
57 lines (56 loc) • 2.09 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _clsx = _interopRequireDefault(require("clsx"));
var _Item = _interopRequireDefault(require("../flex/Item.js"));
var _ItemOverline = _interopRequireDefault(require("./ItemOverline.js"));
var _ItemSubline = _interopRequireDefault(require("./ItemSubline.js"));
var _ListContext = require("./ListContext.js");
var _SkeletonHelper = require("../skeleton/SkeletonHelper.js");
var _Context = _interopRequireDefault(require("../../shared/Context.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function ItemTitleBase({
className,
fontSize = 'basis',
fontWeight,
skeleton,
children,
...rest
}) {
var _useContext;
const context = (0, _react.useContext)(_Context.default);
const inheritedSkeleton = (_useContext = (0, _react.useContext)(_ListContext.ListContext)) === null || _useContext === void 0 ? void 0 : _useContext.skeleton;
const appliedSkeleton = skeleton !== null && skeleton !== void 0 ? skeleton : inheritedSkeleton;
const content = (0, _jsxRuntime.jsx)(_Item.default, {
innerSpace: {
left: 'small'
},
className: (0, _clsx.default)('dnb-list__item__title', className, appliedSkeleton && (0, _SkeletonHelper.createSkeletonClass)('font', true)),
...rest,
children: (0, _jsxRuntime.jsx)("span", {
className: `dnb-t__size--${fontSize}` + (fontWeight === 'medium' ? " dnb-t__weight--medium" : ""),
children: children
})
});
if (appliedSkeleton) {
return (0, _jsxRuntime.jsx)(_Context.default, {
value: {
...context,
skeleton: appliedSkeleton
},
children: content
});
}
return content;
}
ItemTitleBase._supportsSpacingProps = true;
const ItemTitle = ItemTitleBase;
ItemTitle.Overline = _ItemOverline.default;
ItemTitle.Subline = _ItemSubline.default;
var _default = exports.default = ItemTitle;
//# sourceMappingURL=ItemTitle.js.map