@zohodesk/layout
Version:
Unified Component Library - Layout
38 lines (36 loc) • 1.03 kB
JavaScript
import React from 'react';
import { mergeStyle } from '@zohodesk/utils';
import defaultProps from "./props/defaultProps";
import propTypes from "./props/propTypes";
import cssJSLogic from "./css/cssJSLogic";
import defaultStyle from "./css/Grid.module.css";
const Grid = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
$ui_tagName,
customStyle,
testId,
customId,
children,
$tagAttributes_container,
$a11yAttributes_container
} = props; // external customization - need memorize?
const style = mergeStyle(defaultStyle, customStyle); // css classname added based on logic
const {
gridClass
} = cssJSLogic({
props,
style
});
return /*#__PURE__*/React.createElement($ui_tagName, {
'data-test-id': testId,
'data-id': customId,
className: gridClass,
ref,
...$tagAttributes_container,
...$a11yAttributes_container
}, children);
});
Grid.displayName = 'Grid';
Grid.defaultProps = defaultProps;
Grid.propTypes = propTypes;
export default Grid;