UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

56 lines (55 loc) 2.01 kB
"use client"; import { useContext } from 'react'; import { clsx } from 'clsx'; import SharedContext from "../../shared/Context.js"; import { FilterContext, FilterConnectedIdContext } from "./FilterContext.js"; import { useSharedState } from "../../shared/helpers/useSharedState.js"; import { useSpacing } from "../space/SpacingUtils.js"; import { ListContext } from "../list/ListContext.js"; import ListItemBasic from "../list/ItemBasic.js"; import withComponentMarkers from "../../shared/helpers/withComponentMarkers.js"; import P from "../../elements/P.js"; import { jsx as _jsx } from "react/jsx-runtime"; function FilterNoResults({ connectedTo, resultCount: resultCountProp, children, className, ...spacingRest }) { var _ref, _ref2; const sharedContext = useContext(SharedContext); const { noResultsMessage } = sharedContext.getTranslation({}).Filter; const context = useContext(FilterContext); const connectedId = useContext(FilterConnectedIdContext); const resolvedId = (_ref = connectedTo !== null && connectedTo !== void 0 ? connectedTo : connectedId) !== null && _ref !== void 0 ? _ref : context?.id; const { data: sharedData } = useSharedState(resolvedId); const listContext = useContext(ListContext); const resultCount = (_ref2 = resultCountProp !== null && resultCountProp !== void 0 ? resultCountProp : sharedData?.resultCount) !== null && _ref2 !== void 0 ? _ref2 : context?.resultCount; const spacingProps = useSpacing(spacingRest, { className: clsx('dnb-filter__no-results', className) }); if (resultCount === undefined || resultCount > 0) { return null; } const message = children || noResultsMessage; if (listContext) { return _jsx(ListItemBasic, { ...spacingProps, title: message }); } return _jsx(P, { ...spacingProps, children: message }); } withComponentMarkers(FilterNoResults, { _supportsSpacingProps: true }); export default FilterNoResults; //# sourceMappingURL=FilterNoResults.js.map