SettingsRow = ({
  field,
  node,
  setProp,
  onChange,
  isStyle,
  subProp,
  valuePostfix,
}) => {
  const fullWidth = ["String", "Bool", "textarea"].includes(field.type);
  const needLabel = field.type !== "Bool";
  const inner = field.canBeFormula ? (
    <OrFormula
      nodekey={field.name}
      isFormula={node.isFormula}
      {...{ setProp, node }}
    >
      <ConfigField
        field={field}
        props={node}
        setProp={setProp}
        onChange={onChange}
      />
    </OrFormula>
  ) : (
    <ConfigField
      field={field}
      props={node}
      setProp={setProp}
      onChange={onChange}
      isStyle={isStyle}
      subProp={subProp}
      valuePostfix={valuePostfix}
    />
  );
  return (
    <tr>
      {fullWidth ? (
        <td colSpan="2">
          {needLabel && <label>{field.label}</label>}
          {inner}
          {field.sublabel ? (
            <i
              className="small"
              dangerouslySetInnerHTML={{ __html: field.sublabel }}
            ></i>
          ) : null}
        </td>
      ) : (
        <Fragment>
          <td>
            <label>{field.label}</label>
          </td>
          <td>
            {inner}
            {field.sublabel ? (
              <i
                className="small"
                dangerouslySetInnerHTML={{ __html: field.sublabel }}
              ></i>
            ) : null}
          </td>
        </Fragment>
      )}
    </tr>
  );
}
@param {object} props
@param {string} props.field
@param {object} props.node
@param {function} props.setProp
@param {function} props.onChange
@param {boolean} props.isStyle
@returns {tr}
@category saltcorn-builder
@subcategory components / elements / utils
@namespace