@zohodesk/dot
Version:
In this Library, we Provide Some Basic Components to Build Your Application
71 lines (66 loc) • 1.97 kB
JavaScript
/**** Libraries ****/
import React, { PureComponent } from 'react';
import { defaultProps } from "./props/defaultProps";
import { propTypes } from "./props/propTypes";
/**** Components ****/
import { Container } from '@zohodesk/components/lib/Layout';
/**** Icons ****/
import { Icon } from '@zohodesk/icons';
/**** CSS ****/
import style from "../Fields.module.css";
export default class FieldContainer extends PureComponent {
constructor(props) {
super(props);
}
render() {
let {
children,
ePhiData,
isLocked,
lockedInfoText,
infoText,
dataId,
renderProps,
alignContainer,
dataSelectorId
} = this.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; // if (__DOCS__) {
// FieldContainer.docs = {
// componentGroup: 'Form Fields',
// folderName: 'General'
// };
// }