-
Notifications
You must be signed in to change notification settings - Fork 355
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(Page) allow change of main tag #9296
fix(Page) allow change of main tag #9296
Conversation
Preview: https://patternfly-react-pr-9296.surge.sh A11y report: https://patternfly-react-pr-9296-a11y.surge.sh |
6f86930
to
2b8ccb3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking good Dominik! Looks like we just need to pass mainTag
to the props object in the render method, since we don't want mainTag
showing as an attribute on div.pf-v5-c-page
Also, I wouldn't block over this but noticed we use the prop name component
for similar cases throughout the repo... maybe we can rename to include 'component' eg mainTagComponent
or mainComponentTag
. Does anyone have any thoughts on this?
You're right I forgot to include the prop in render. And for the prop name, I'd go with mainTagComponent or maybe just mainComponent. Thanks for the feedback. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/** HTML component used as main component of the page, defaults to 'main'. */ | ||
mainComponent?: 'main' | 'div'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: we could just call this prop component
, and update the description to say Base HTML component used for the page. Defaults to 'main'
or something along those lines. Could also be worth mentioning that "Only pass in 'div' if another 'main' element already exists" EDIT: just saw Jenny's comment about the same thing 😆
There could also be an argument to just typing this as a string/keyof JSX.IntrinsicElements
(like some other `component' props) as who knows whether just main and div would cover whatever use cases consumers need, but at the same time that might be too flexible. Personally I think limiting the type here is fine (we should be able to update this to be more flexible if needed without a breaking change), but curious if anyone else has any thoughts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I might argue keeping it as mainComponent
is good because
- There are a handful of props that are named
main[PropName]
, so it's more consistent - If we did ever want to allow someone to change
div.pf-[v]-c-page
, it's probably best if that was done viacomponent
so we could run into namespacing issues
What's the reasoning for changing it to component
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was probably thinking of mainComponent
as in the main
tag, rather than "main" as in the base/primary/etc component. So "mainComponent" sounded a little off/confusing since the main
element is one of the two types allowed. The naming is something we should align on, though, since we have a mix of "mainComponent" and just "component" for a prop.
I don't feel super strong about it, though, so if we'd want to revert this back I can push a quick change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would agree with Michael here. I think we usually us component
to change the outermost tag. Using mainComponet
is more specific as to which tag/component is actually being updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, I like mainComponent
here as well
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@thatblindgeye ah, gotcha! I believe the word here "main" refers to the BEM element name - .pf-[v]-c-page__main
. If it were its own component, we would likely call it <PageMain>
based off of the BEM name.
ebdfa87
to
4d3c185
Compare
4d3c185
to
28916f7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! I had to verify locally since surge wasn't up to date, even though it was finished building.
Also I left a comment about keeping the prop as mainComponent
, though it's just my opinion - I'm fine with whatever y'all decide.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think think we want to change the prop name to what you had originally.
* fix(Page) allow change of main tag * rename prop and add it to render method * change prop name and description * update description * Reverted prop name --------- Co-authored-by: Eric Olkowski <thatblindgeye@gmail.com>
* fix(Toolbar): resolved typeerror on full page demo (#9355) * chore(TreeView): converted examples to TS (#9286) * fix(ExpandableSection): added ARIA attributes (#9303) * fix(ExpandableSection): added ARIA attributes * Updated failing snapshots due to mismatching generated ID * chore(Tooltip): updated unit tests (#9295) * chore(Tooltip): updated unit tests * Updated mock and tests * Updated based on Austin feedback * Updated integration tests * Removed unused imports * Updated remaining tests using Popper mock * Removed extraenous snapshot test * Removed test * Split out onTooltipHidden test * chore(Card): added tests for new clickable/selectable (#9262) * chore(Card): added tests for new clickable/selectable * Added tests for clickable cards * Updated card with actions test * fix(Slider): reverted taborder (#9293) * fix(chore): Fix deprecated wizard integration tests (#9312) * fix(chore): Fix deprecated wizard integration tests * updated non deprecated test as well --------- Co-authored-by: Titani <tlabaj@redaht.com> * Rebase postv5 (#9393) * chore(deps): bump docs framework (#9370) * chore(docs): Updated screenshots (#9337) * chore(docs): Updated screenshots * updated screenshots after logo update --------- Co-authored-by: Titani <tlabaj@redaht.com> * chore(release): releasing packages [ci skip] - @patternfly/react-docs@6.0.0-prerelease.26 * chore(deps): bump to latest chore version (#9389) * chore(deps): bump to latest chore version * bump to 16 * chore(release): releasing packages [ci skip] - @patternfly/react-charts@7.0.0-prerelease.12 - @patternfly/react-code-editor@5.0.0-prerelease.24 - @patternfly/react-core@5.0.0-prerelease.24 - @patternfly/react-docs@6.0.0-prerelease.27 - @patternfly/react-icons@5.0.0-prerelease.9 - demo-app-ts@5.0.0-prerelease.22 - @patternfly/react-styles@5.0.0-prerelease.7 - @patternfly/react-table@5.0.0-prerelease.24 - @patternfly/react-tokens@5.0.0-prerelease.9 * fix(fileupload): use default readonly text input instead of plain (#9387) * fix(fileupload): use default readonly text input instead of plain * chore(build): snaps * fix(CodeEditor): prevent clicks in textarea from opening fileupload (#9385) * fix(toolbar): added chip container class to toolbar content (#9379) * feat(Menu): added support for tooltips to menu (#9382) * fix(whitespace): Update readme to trigger release * chore(release): releasing packages [ci skip] - @patternfly/react-code-editor@5.0.0-prerelease.25 - @patternfly/react-core@5.0.0-prerelease.25 - @patternfly/react-docs@6.0.0-prerelease.28 - demo-app-ts@5.0.0-prerelease.23 - @patternfly/react-table@5.0.0-prerelease.25 * fix(Toolbar): resolved typeerror on full page demo (#9355) * chore(TreeView): converted examples to TS (#9286) * fix(ExpandableSection): added ARIA attributes (#9303) * fix(ExpandableSection): added ARIA attributes * Updated failing snapshots due to mismatching generated ID * chore(Tooltip): updated unit tests (#9295) * chore(Tooltip): updated unit tests * Updated mock and tests * Updated based on Austin feedback * Updated integration tests * Removed unused imports * Updated remaining tests using Popper mock * Removed extraenous snapshot test * Removed test * Split out onTooltipHidden test * chore(Card): added tests for new clickable/selectable (#9262) * chore(Card): added tests for new clickable/selectable * Added tests for clickable cards * Updated card with actions test * fix(Slider): reverted taborder (#9293) * fix(chore): Fix deprecated wizard integration tests (#9312) * fix(chore): Fix deprecated wizard integration tests * updated non deprecated test as well --------- Co-authored-by: Titani <tlabaj@redaht.com> --------- Co-authored-by: Titani <tlabaj@redaht.com> Co-authored-by: patternfly-build <patternfly-build@redhat.com> Co-authored-by: Michael Coker <35148959+mcoker@users.noreply.github.com> Co-authored-by: Dallas <dallas.nicol@gmail.com> Co-authored-by: Dana Gutride <dgutride@gmail.com> Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> * feat(MenuItem): allow target and rel on links (#9294) * feat(MenuItem): allow target and rel on links * update desc * move desc to right prop * chore(deps): update dependency lint-staged to v13.2.3 (#9335) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(JumpLinks) href does not work properly (#9307) * chore(deps): update dependency eslint to v8.42.0 (#9236) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(SelectToggle): corrected removeEventListener on unmount for v5 (#9380) * fix(Page) allow change of main tag (#9296) * fix(Page) allow change of main tag * rename prop and add it to render method * change prop name and description * update description * Reverted prop name --------- Co-authored-by: Eric Olkowski <thatblindgeye@gmail.com> * fix(AlertActionLink) support ReactNode as child (#9278) * fix(AlertActionLink) support ReactNode as child * add test * update prop type and description * update test * fix: changed the button lable from Upload to Browse (#9275) * fix: changed the button lable from Upload to Browse * change button label from hardcoded text to props element * passes label as Browse * Update MultipleFileUploadMain.tsx * made changes as per your requirements * follow-up * follow-up * follow-up * fix snaphots --------- Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> Co-authored-by: Titani <tlabaj@redaht.com> Co-authored-by: patternfly-build <patternfly-build@redhat.com> Co-authored-by: Michael Coker <35148959+mcoker@users.noreply.github.com> Co-authored-by: Dallas <dallas.nicol@gmail.com> Co-authored-by: Dana Gutride <dgutride@gmail.com> Co-authored-by: kmcfaul <45077788+kmcfaul@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Dominik Petřík <77832970+Dominik-Petrik@users.noreply.github.com> Co-authored-by: Eric Olkowski <thatblindgeye@gmail.com> Co-authored-by: Tarun Samanta <tarunsamanta77@gmail.com>
* fix(Toolbar): resolved typeerror on full page demo (patternfly#9355) * chore(TreeView): converted examples to TS (patternfly#9286) * fix(ExpandableSection): added ARIA attributes (patternfly#9303) * fix(ExpandableSection): added ARIA attributes * Updated failing snapshots due to mismatching generated ID * chore(Tooltip): updated unit tests (patternfly#9295) * chore(Tooltip): updated unit tests * Updated mock and tests * Updated based on Austin feedback * Updated integration tests * Removed unused imports * Updated remaining tests using Popper mock * Removed extraenous snapshot test * Removed test * Split out onTooltipHidden test * chore(Card): added tests for new clickable/selectable (patternfly#9262) * chore(Card): added tests for new clickable/selectable * Added tests for clickable cards * Updated card with actions test * fix(Slider): reverted taborder (patternfly#9293) * fix(chore): Fix deprecated wizard integration tests (patternfly#9312) * fix(chore): Fix deprecated wizard integration tests * updated non deprecated test as well --------- Co-authored-by: Titani <tlabaj@redaht.com> * Rebase postv5 (patternfly#9393) * chore(deps): bump docs framework (patternfly#9370) * chore(docs): Updated screenshots (patternfly#9337) * chore(docs): Updated screenshots * updated screenshots after logo update --------- Co-authored-by: Titani <tlabaj@redaht.com> * chore(release): releasing packages [ci skip] - @patternfly/react-docs@6.0.0-prerelease.26 * chore(deps): bump to latest chore version (patternfly#9389) * chore(deps): bump to latest chore version * bump to 16 * chore(release): releasing packages [ci skip] - @patternfly/react-charts@7.0.0-prerelease.12 - @patternfly/react-code-editor@5.0.0-prerelease.24 - @patternfly/react-core@5.0.0-prerelease.24 - @patternfly/react-docs@6.0.0-prerelease.27 - @patternfly/react-icons@5.0.0-prerelease.9 - demo-app-ts@5.0.0-prerelease.22 - @patternfly/react-styles@5.0.0-prerelease.7 - @patternfly/react-table@5.0.0-prerelease.24 - @patternfly/react-tokens@5.0.0-prerelease.9 * fix(fileupload): use default readonly text input instead of plain (patternfly#9387) * fix(fileupload): use default readonly text input instead of plain * chore(build): snaps * fix(CodeEditor): prevent clicks in textarea from opening fileupload (patternfly#9385) * fix(toolbar): added chip container class to toolbar content (patternfly#9379) * feat(Menu): added support for tooltips to menu (patternfly#9382) * fix(whitespace): Update readme to trigger release * chore(release): releasing packages [ci skip] - @patternfly/react-code-editor@5.0.0-prerelease.25 - @patternfly/react-core@5.0.0-prerelease.25 - @patternfly/react-docs@6.0.0-prerelease.28 - demo-app-ts@5.0.0-prerelease.23 - @patternfly/react-table@5.0.0-prerelease.25 * fix(Toolbar): resolved typeerror on full page demo (patternfly#9355) * chore(TreeView): converted examples to TS (patternfly#9286) * fix(ExpandableSection): added ARIA attributes (patternfly#9303) * fix(ExpandableSection): added ARIA attributes * Updated failing snapshots due to mismatching generated ID * chore(Tooltip): updated unit tests (patternfly#9295) * chore(Tooltip): updated unit tests * Updated mock and tests * Updated based on Austin feedback * Updated integration tests * Removed unused imports * Updated remaining tests using Popper mock * Removed extraenous snapshot test * Removed test * Split out onTooltipHidden test * chore(Card): added tests for new clickable/selectable (patternfly#9262) * chore(Card): added tests for new clickable/selectable * Added tests for clickable cards * Updated card with actions test * fix(Slider): reverted taborder (patternfly#9293) * fix(chore): Fix deprecated wizard integration tests (patternfly#9312) * fix(chore): Fix deprecated wizard integration tests * updated non deprecated test as well --------- Co-authored-by: Titani <tlabaj@redaht.com> --------- Co-authored-by: Titani <tlabaj@redaht.com> Co-authored-by: patternfly-build <patternfly-build@redhat.com> Co-authored-by: Michael Coker <35148959+mcoker@users.noreply.github.com> Co-authored-by: Dallas <dallas.nicol@gmail.com> Co-authored-by: Dana Gutride <dgutride@gmail.com> Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> * feat(MenuItem): allow target and rel on links (patternfly#9294) * feat(MenuItem): allow target and rel on links * update desc * move desc to right prop * chore(deps): update dependency lint-staged to v13.2.3 (patternfly#9335) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(JumpLinks) href does not work properly (patternfly#9307) * chore(deps): update dependency eslint to v8.42.0 (patternfly#9236) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * fix(SelectToggle): corrected removeEventListener on unmount for v5 (patternfly#9380) * fix(Page) allow change of main tag (patternfly#9296) * fix(Page) allow change of main tag * rename prop and add it to render method * change prop name and description * update description * Reverted prop name --------- Co-authored-by: Eric Olkowski <thatblindgeye@gmail.com> * fix(AlertActionLink) support ReactNode as child (patternfly#9278) * fix(AlertActionLink) support ReactNode as child * add test * update prop type and description * update test * fix: changed the button lable from Upload to Browse (patternfly#9275) * fix: changed the button lable from Upload to Browse * change button label from hardcoded text to props element * passes label as Browse * Update MultipleFileUploadMain.tsx * made changes as per your requirements * follow-up * follow-up * follow-up * fix snaphots --------- Co-authored-by: Eric Olkowski <70952936+thatblindgeye@users.noreply.github.com> Co-authored-by: Titani <tlabaj@redaht.com> Co-authored-by: patternfly-build <patternfly-build@redhat.com> Co-authored-by: Michael Coker <35148959+mcoker@users.noreply.github.com> Co-authored-by: Dallas <dallas.nicol@gmail.com> Co-authored-by: Dana Gutride <dgutride@gmail.com> Co-authored-by: kmcfaul <45077788+kmcfaul@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Dominik Petřík <77832970+Dominik-Petrik@users.noreply.github.com> Co-authored-by: Eric Olkowski <thatblindgeye@gmail.com> Co-authored-by: Tarun Samanta <tarunsamanta77@gmail.com>
What: Closes #9000