@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
66 lines (61 loc) • 1.94 kB
JavaScript
/**** Libraries ****/
import React, { memo } from 'react';
import { defaultProps } from "./props/defaultProps";
import { propTypes } from "./props/propTypes";
/**** Components ****/
import { Container } from '@zohodesk/components/es/v1/Layout';
/**** Icons ****/
import { Icon } from '@zohodesk/icons';
/**** CSS ****/
import style from "../../../../form/fields/Fields.module.css";
function FieldContainer(props) {
let {
children,
ePhiData,
isLocked,
lockedInfoText,
infoText,
dataId,
renderProps,
alignContainer,
dataSelectorId
} = props;
let {
ePhiTitle = '',
ePhiText = '',
ePhiStatus = false
} = ePhiData;
let {
start: renderStart = null,
middle: renderMiddle = null,
end: renderEnd = null
} = renderProps;
return /*#__PURE__*/React.createElement(Container, {
align: alignContainer,
alignBox: "row",
isCover: false,
dataSelectorId: dataSelectorId
}, renderStart ? renderStart() : null, children, renderMiddle ? renderMiddle() : null, infoText ? /*#__PURE__*/React.createElement(Icon, {
name: "ZD-GN-info",
iconClass: style.infoIcon,
title: infoText,
size: "15"
}) : null, isLocked ? /*#__PURE__*/React.createElement(Icon, {
name: "ZD-GN-lock",
size: "13",
iconClass: style.lockIcon,
title: lockedInfoText
}) : null, ePhiStatus ? /*#__PURE__*/React.createElement("span", {
"data-title": ePhiTitle,
"data-id": `${dataId}_ePHI`,
"data-test-id": `${dataId}_ePHI`,
className: style.ePhiTag
}, ePhiText) : null, renderEnd ? renderEnd() : null);
}
FieldContainer.propTypes = propTypes;
FieldContainer.defaultProps = defaultProps;
const MemoizedFieldContainer = /*#__PURE__*/memo(FieldContainer);
MemoizedFieldContainer.propTypes = propTypes;
MemoizedFieldContainer.defaultProps = defaultProps;
MemoizedFieldContainer.displayName = 'FieldContainer';
export default MemoizedFieldContainer;