diff --git a/CHANGELOG.md b/CHANGELOG.md index 7338dff7eb..113d93822e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,61 @@ it according to semantic versioning. For example, if your PR adds a breaking cha should change the heading of the (upcoming) version to include a major version bump. --> +# 6.1.0 + +## @rjsf/antd + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/antd + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/antd + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/mui + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/shadcn + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/primereact + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/react-bootstrap + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/semantic-ui + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/daisyui + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/fluentui-rc + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/chakra-ui + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/mantine + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + +## @rjsf/utils + +- Added support for rendering `ui:help` as markdown via new `ui:enableMarkdownInHelp` flag in `FieldHelpTemplate` + + # 6.0.2 ## @rjsf/antd diff --git a/packages/antd/src/templates/DescriptionField/index.tsx b/packages/antd/src/templates/FieldDescriptionTemplate/index.tsx similarity index 100% rename from packages/antd/src/templates/DescriptionField/index.tsx rename to packages/antd/src/templates/FieldDescriptionTemplate/index.tsx diff --git a/packages/antd/src/templates/FieldHelpTemplate/index.tsx b/packages/antd/src/templates/FieldHelpTemplate/index.tsx new file mode 100644 index 0000000000..7f374a7d0c --- /dev/null +++ b/packages/antd/src/templates/FieldHelpTemplate/index.tsx @@ -0,0 +1,23 @@ +import { helpId, FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils'; +import { RichHelp } from '@rjsf/core'; + +/** The `FieldHelpTemplate` component renders any help desired for a field + * + * @param props - The `FieldHelpProps` to be rendered + */ +export default function FieldHelpTemplate< + T = any, + S extends StrictRJSFSchema = RJSFSchema, + F extends FormContextType = any, +>(props: FieldHelpProps) { + const { fieldPathId, help, uiSchema, registry } = props; + if (!help) { + return null; + } + + return ( +
+ +
+ ); +} diff --git a/packages/antd/src/templates/FieldTemplate/index.tsx b/packages/antd/src/templates/FieldTemplate/index.tsx index 9b32dcdaa0..d0789cde98 100644 --- a/packages/antd/src/templates/FieldTemplate/index.tsx +++ b/packages/antd/src/templates/FieldTemplate/index.tsx @@ -31,6 +31,7 @@ export default function FieldTemplate< displayLabel, errors, help, + rawHelp, hidden, id, label, @@ -39,7 +40,6 @@ export default function FieldTemplate< onRemoveProperty, rawErrors, rawDescription, - rawHelp, readonly, registry, required, diff --git a/packages/antd/src/templates/index.ts b/packages/antd/src/templates/index.ts index 27f0ca93b9..6ef293fb00 100644 --- a/packages/antd/src/templates/index.ts +++ b/packages/antd/src/templates/index.ts @@ -3,7 +3,7 @@ import { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@r import ArrayFieldItemTemplate from './ArrayFieldItemTemplate'; import ArrayFieldTemplate from './ArrayFieldTemplate'; import BaseInputTemplate from './BaseInputTemplate'; -import DescriptionField from './DescriptionField'; +import DescriptionField from './FieldDescriptionTemplate'; import ErrorList from './ErrorList'; import { AddButton, CopyButton, MoveDownButton, MoveUpButton, RemoveButton } from './IconButton'; import FieldErrorTemplate from './FieldErrorTemplate'; diff --git a/packages/antd/test/__snapshots__/Form.test.tsx.snap b/packages/antd/test/__snapshots__/Form.test.tsx.snap index 3518939b39..c5ef1b1ece 100644 --- a/packages/antd/test/__snapshots__/Form.test.tsx.snap +++ b/packages/antd/test/__snapshots__/Form.test.tsx.snap @@ -5270,12 +5270,12 @@ exports[`single fields checkboxes widget with custom options and labels 1`] = `
-

Select all that apply -

+
-

help me! -

+
@@ -15901,6 +15901,331 @@ exports[`single fields slider field 1`] = ` `; +exports[`single fields string field field with markdown help and description 1`] = ` + +
+
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ + This is + + help + + text with + + a link + + +
+
+
+
+ + This is a *description* with **markdown** + +
+
+
+
+
+
+
+ + + +`; + +exports[`single fields string field field with markdown help text 1`] = ` + +
+
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ + This is + + markdown + + help text with + + a link + + +
+
+
+
+ + A field with markdown help text + +
+
+
+
+
+
+
+ + + +`; + +exports[`single fields string field field with markdown help text without enabling markdown 1`] = ` + +
+
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ This is **markdown** help text with [a link](https://example.com) +
+
+
+
+ + A field with raw help text + +
+
+
+
+
+
+
+ + + +`; + exports[`single fields string field format data-url 1`] = `
`; +exports[`single fields string field required field with markdown help 1`] = ` + + +
+
+
+
+ +
+
+
+
+ + + + +
+
+
+
+
+
+ + This field is + + required + + . Please provide a value. + +
+
+
+
+ + A required field with markdown help + +
+
+
+
+
+
+
+ + + +`; + exports[`single fields string field with placeholder 1`] = `
(props: FieldHelpProps) { - const { fieldPathId, help } = props; + const { fieldPathId, help, uiSchema, registry } = props; if (!help) { return null; } - const id = helpId(fieldPathId); - return {help}; + + return ( + + + + ); } diff --git a/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap b/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap index 7da5c0c839..68e3039290 100644 --- a/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap +++ b/packages/chakra-ui/test/__snapshots__/Form.test.tsx.snap @@ -543,7 +543,7 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = ` class="rjsf-field rjsf-field-object" >
@@ -673,7 +673,7 @@ exports[`nameGenerator bracketNameGenerator array of objects 1`] = ` class="rjsf-field rjsf-field-boolean" >