gatsby-plugin-gravity-forms
Version:
A component to take GraphQl Gravity Forms query data and return a usable form.
54 lines (48 loc) • 1.3 kB
JavaScript
import classnames from "classnames";
import { graphql } from "gatsby";
import PropTypes from "prop-types";
import React from "react";
import InputWrapper from "../../components/InputWrapper";
import { valueToLowerCase } from "../../utils/helpers";
const Html = ({ fieldData, name, wrapClassName, ...wrapProps }) => {
const { content, cssClass, type } = fieldData;
return (
<InputWrapper
{...wrapProps}
inputData={fieldData}
labelFor={name}
wrapClassName={classnames(
wrapClassName,
"gfield_html",
"gfield_html_formatted",
"gfield_no_follows_desc",
"gravityform__" + valueToLowerCase(type) + "__wrap",
cssClass
)}
>
<div dangerouslySetInnerHTML={{ __html: content }} />
</InputWrapper>
);
};
export default Html;
Html.propTypes = {
fieldData: PropTypes.shape({
cssClass: PropTypes.string,
content: PropTypes.string,
type: PropTypes.string,
}),
name: PropTypes.string,
wrapClassName: PropTypes.string,
wrapProps: PropTypes.object,
};
export const HtmlField = graphql`
fragment HtmlField on WpHtmlField {
conditionalLogic {
...ConditionalLogic
}
content
cssClass
hasMargins
label
}
`;