UNPKG

@zohodesk/dot

Version:

In this Library, we Provide Some Basic Components to Build Your Application

66 lines (61 loc) 1.94 kB
/**** 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;