Add titleNode prop to @jbrowse/core/ui/Dialog #5039
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows users to provide instance of a ReactNode, e.g. render a custom component into the title area of the Dialog
I used this in a plugin to provide a "Help button" next to the title
I avoided actually allowing the "title prop" to be a ReactNode, because the title specifically a string in MUIDialogProps, and it does not like being overridden with something different. While that type is not necessarily 'sacrosanct', it seemed like it was better to just extend it with a new prop, named titleNode, instead of replacing title with something different.
note that changing title prop would also not be backwards compatible either, because a titleNode would not pass older versions of JBrowse passing title through the SanitizedHTML, so by doing things this way, it is a bit more backwards compatible if components supply both title and titleNode
I used the term titleNode to refer to the type React.ReactNode