@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
62 lines (61 loc) • 2.49 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _clsx = require("clsx");
var _Context = _interopRequireDefault(require("../../shared/Context.js"));
var _FilterContext = require("./FilterContext.js");
var _useSharedState = require("../../shared/helpers/useSharedState.js");
var _SpacingUtils = require("../space/SpacingUtils.js");
var _ListContext = require("../list/ListContext.js");
var _ItemBasic = _interopRequireDefault(require("../list/ItemBasic.js"));
var _withComponentMarkers = _interopRequireDefault(require("../../shared/helpers/withComponentMarkers.js"));
var _P = _interopRequireDefault(require("../../elements/P.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function FilterNoResults({
connectedTo,
resultCount: resultCountProp,
children,
className,
...spacingRest
}) {
var _ref, _ref2;
const sharedContext = (0, _react.useContext)(_Context.default);
const {
noResultsMessage
} = sharedContext.getTranslation({}).Filter;
const context = (0, _react.useContext)(_FilterContext.FilterContext);
const connectedId = (0, _react.useContext)(_FilterContext.FilterConnectedIdContext);
const resolvedId = (_ref = connectedTo !== null && connectedTo !== void 0 ? connectedTo : connectedId) !== null && _ref !== void 0 ? _ref : context?.id;
const {
data: sharedData
} = (0, _useSharedState.useSharedState)(resolvedId);
const listContext = (0, _react.useContext)(_ListContext.ListContext);
const resultCount = (_ref2 = resultCountProp !== null && resultCountProp !== void 0 ? resultCountProp : sharedData?.resultCount) !== null && _ref2 !== void 0 ? _ref2 : context?.resultCount;
const spacingProps = (0, _SpacingUtils.useSpacing)(spacingRest, {
className: (0, _clsx.clsx)('dnb-filter__no-results', className)
});
if (resultCount === undefined || resultCount > 0) {
return null;
}
const message = children || noResultsMessage;
if (listContext) {
return (0, _jsxRuntime.jsx)(_ItemBasic.default, {
...spacingProps,
title: message
});
}
return (0, _jsxRuntime.jsx)(_P.default, {
...spacingProps,
children: message
});
}
(0, _withComponentMarkers.default)(FilterNoResults, {
_supportsSpacingProps: true
});
var _default = exports.default = FilterNoResults;
//# sourceMappingURL=FilterNoResults.js.map