@nutui/nutui-react
Version:
京东风格的轻量级移动端 React 组件库,支持一套代码生成 H5 和小程序
33 lines (32 loc) • 1.34 kB
JavaScript
import React__default, { useState, useContext, useEffect } from "react";
import classNames from "classnames";
import { D as DataContext } from "./UserContext.js";
import { C as ComponentDefaults } from "./typings.js";
const defaultProps = Object.assign(Object.assign({}, ComponentDefaults), { span: "24", offset: "0", gutter: "0" });
const Col = (props) => {
const { className, style, span, offset, children, onClick } = Object.assign(Object.assign({}, defaultProps), props);
const [colName, setColName] = useState("");
const [colStyle, setColStyle] = useState({});
const { gutter } = useContext(DataContext);
const classs = () => {
const prefixCls = "nut-col";
return `${prefixCls} ${prefixCls}-${span} ${gutter ? `${prefixCls}-gutter` : ""} ${prefixCls}-offset-${offset}`;
};
const getStyle = () => {
const style2 = {};
style2.paddingLeft = `${gutter / 2}px`;
style2.paddingRight = `${gutter / 2}px`;
return style2;
};
useEffect(() => {
setColName(classs);
setColStyle(getStyle);
}, [span, offset, gutter]);
return React__default.createElement("div", { className: classNames(colName, className), style: Object.assign(Object.assign({}, style), colStyle), onClick: (e) => {
onClick && onClick(e, "col");
} }, children);
};
Col.displayName = "NutCol";
export {
Col as default
};