@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;