@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
42 lines (41 loc) • 1.52 kB
JavaScript
"use client";
import _extends from "@babel/runtime/helpers/esm/extends";
import React, { useContext } from 'react';
import classnames from 'classnames';
import { ListContext } from "./ListContext.js";
import FlexContainer from "../flex/Stack.js";
import SharedContext from "../../shared/Context.js";
function ListContainer(props) {
var _ref;
const {
className,
children,
variant = 'basic',
separated = false,
skeleton,
disabled,
wrapChildrenInSpace = false,
...rest
} = props;
const parentContext = useContext(ListContext);
const globalContext = useContext(SharedContext);
const appliedSkeleton = (_ref = skeleton !== null && skeleton !== void 0 ? skeleton : parentContext?.skeleton) !== null && _ref !== void 0 ? _ref : globalContext?.skeleton;
const appliedDisabled = disabled !== null && disabled !== void 0 ? disabled : parentContext?.disabled;
return React.createElement(ListContext.Provider, {
value: {
variant,
separated,
skeleton: appliedSkeleton,
disabled: appliedDisabled
}
}, React.createElement(FlexContainer, _extends({
element: "ul",
rowGap: separated ? 'small' : false,
wrap: false,
wrapChildrenInSpace: wrapChildrenInSpace,
className: classnames("dnb-list dnb-list__container", className, variant && `dnb-list--variant-${variant}`, separated && 'dnb-list--separated')
}, rest), children));
}
ListContainer._supportsSpacingProps = true;
export default ListContainer;
//# sourceMappingURL=Container.js.map