UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

43 lines (42 loc) 1.68 kB
"use client"; import _extends from "@babel/runtime/helpers/esm/extends"; var _EditButton; import React, { useContext, useMemo } from 'react'; import classnames from 'classnames'; import { convertJsxToString } from "../../../../../shared/component-helper.js"; import { Flex } from "../../../../../components/index.js"; import { Lead } from "../../../../../elements/index.js"; import Toolbar from "../Toolbar/Toolbar.js"; import SectionContainer from "../containers/SectionContainer.js"; import EditButton from "./EditButton.js"; import SectionContainerContext from "../containers/SectionContainerContext.js"; function ViewContainer(props) { const { children, className, title, onEdit, ...restProps } = props || {}; const ariaLabel = useMemo(() => convertJsxToString(title), [title]); const { disableEditing } = useContext(SectionContainerContext) || {}; const hasToolbar = React.Children.toArray(children).some(child => { return child?.['type'] === Toolbar; }); const showDefaultToolbar = !disableEditing && !hasToolbar; return React.createElement(SectionContainer, _extends({ mode: "view", ariaLabel: ariaLabel, className: classnames('dnb-forms-section-view-block', className) }, restProps), React.createElement(Flex.Stack, null, title && React.createElement(Lead, { size: "basis" }, title), children, showDefaultToolbar ? React.createElement(Toolbar, { onEdit: onEdit }, _EditButton || (_EditButton = React.createElement(EditButton, null))) : null)); } ViewContainer.EditButton = EditButton; ViewContainer._supportsSpacingProps = true; export default ViewContainer; //# sourceMappingURL=ViewContainer.js.map