Uniformly export component "Base" implementations#5807
Uniformly export component "Base" implementations#5807cliffkoh merged 5 commits intomicrosoft:masterfrom
Conversation
|
Hmm |
|
If you don't get a clean merge, prettier will run against all of the files that were merged in from master. :/ I usually get around it by reverting conflict files to allow an automerge then reapply. (We still need to figure out how so many files are changing on master without prettier running against them.) I'm a bit concerned about exporting base implementations because I consider them somewhat of an component implementation detail. This will become more of an issue with createComponent. How exactly will they be used? I'm wondering if it would be better to require direct importing to not make it part of the default API surface. |
|
The base components are viewed as the pure unstyled components, and the idea was always to allow styled variants to be created around these bases using You could technically attempt to overwrite everything but think for a moment how unfeasible that is in reality :) |
|
This will get a bit more complicated if we roll out createComponent as there is no "base" component... although I guess we could create an equivalent without styling. |
|
@KevinTCoughlin you need a change file. |
|
@cliffkoh yea wasn't sure on where you both landed re: this change so didn't want to include a change to have it merged. Is this still worth doing with the If we're OK with this I'm assuming |
|
@cliffkoh + changefile w/ |
Pull request checklist
$ npm run changeDescription of changes
Tackled this as I'm waiting to go over the contextual menu changes with Micah. I audited the components and added all missing "Base" implementations I could find. There were also some
.typesexports missing that are probably necessary to theme the components successfully.Remaining non-exported components that I was unsure about w.r.t API surface:
CalloutContent.baseChoiceGroupOption&ChoiceGroupOption.baseColorRectangle&ColorSliderDetailsHeader.baseGroupHeader.base/GroupFooter.base/GroupShowAll.baseKeyTipContent.baseMarqueeSelectionet al are not exportedSome of the above should likely also be exported for customization to work as expected, but would like to double check.
Focus areas to test
Please ensure that the public API surface is as expected with these additional exports.
Microsoft Reviewers: Open in CodeFlow