fluentui
fluentui copied to clipboard
Scaffold new dev docs
This PR is scaffolding our new documentation directory in the repo.
Perf Analysis (@fluentui/react-components)
No significant results to display.
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| Avatar | mount | 609 | 609 | 5000 | |
| Button | mount | 278 | 280 | 5000 | |
| Field | mount | 1046 | 1076 | 5000 | |
| FluentProvider | mount | 654 | 679 | 5000 | |
| FluentProviderWithTheme | mount | 79 | 81 | 10 | |
| FluentProviderWithTheme | virtual-rerender | 61 | 53 | 10 | |
| FluentProviderWithTheme | virtual-rerender-with-unmount | 75 | 61 | 10 | |
| MakeStyles | mount | 844 | 852 | 50000 | |
| Persona | mount | 1672 | 1657 | 5000 | |
| SpinButton | mount | 1328 | 1360 | 5000 |
This pull request is automatically built and testable in CodeSandbox.
To see build info of the built libraries, click here or the icon next to each commit SHA.
🕵 fluentuiv8 No visual regressions between this PR and main
Perf Analysis (@fluentui/react-northstar)
Perf tests with no regressions
| Scenario | Current PR Ticks | Baseline Ticks | Ratio |
|---|---|---|---|
| AttachmentMinimalPerf.default | 91 | 79 | 1.15:1 |
| ImageMinimalPerf.default | 236 | 212 | 1.11:1 |
| SkeletonMinimalPerf.default | 202 | 184 | 1.1:1 |
| TreeWith60ListItems.default | 90 | 82 | 1.1:1 |
| AvatarMinimalPerf.default | 113 | 105 | 1.08:1 |
| DropdownManyItemsPerf.default | 415 | 384 | 1.08:1 |
| AnimationMinimalPerf.default | 298 | 279 | 1.07:1 |
| ButtonMinimalPerf.default | 88 | 83 | 1.06:1 |
| LayoutMinimalPerf.default | 201 | 190 | 1.06:1 |
| ListMinimalPerf.default | 320 | 301 | 1.06:1 |
| BoxMinimalPerf.default | 192 | 183 | 1.05:1 |
| ChatDuplicateMessagesPerf.default | 159 | 151 | 1.05:1 |
| ChatWithPopoverPerf.default | 186 | 177 | 1.05:1 |
| HeaderSlotsPerf.default | 476 | 452 | 1.05:1 |
| LabelMinimalPerf.default | 221 | 211 | 1.05:1 |
| ChatMinimalPerf.default | 449 | 431 | 1.04:1 |
| ListWith60ListItems.default | 375 | 359 | 1.04:1 |
| StatusMinimalPerf.default | 400 | 384 | 1.04:1 |
| ButtonSlotsPerf.default | 322 | 312 | 1.03:1 |
| InputMinimalPerf.default | 536 | 519 | 1.03:1 |
| MenuMinimalPerf.default | 515 | 499 | 1.03:1 |
| ProviderMergeThemesPerf.default | 664 | 647 | 1.03:1 |
| ReactionMinimalPerf.default | 219 | 213 | 1.03:1 |
| SliderMinimalPerf.default | 753 | 728 | 1.03:1 |
| SplitButtonMinimalPerf.default | 2246 | 2178 | 1.03:1 |
| CustomToolbarPrototype.default | 1495 | 1458 | 1.03:1 |
| ToolbarMinimalPerf.default | 553 | 537 | 1.03:1 |
| EmbedMinimalPerf.default | 1896 | 1861 | 1.02:1 |
| HeaderMinimalPerf.default | 210 | 206 | 1.02:1 |
| ListNestedPerf.default | 327 | 322 | 1.02:1 |
| MenuButtonMinimalPerf.default | 955 | 940 | 1.02:1 |
| TreeMinimalPerf.default | 498 | 486 | 1.02:1 |
| VideoMinimalPerf.default | 454 | 443 | 1.02:1 |
| AccordionMinimalPerf.default | 79 | 78 | 1.01:1 |
| GridMinimalPerf.default | 187 | 186 | 1.01:1 |
| LoaderMinimalPerf.default | 189 | 188 | 1.01:1 |
| RosterPerf.default | 1538 | 1522 | 1.01:1 |
| ProviderMinimalPerf.default | 202 | 200 | 1.01:1 |
| TooltipMinimalPerf.default | 1267 | 1259 | 1.01:1 |
| AttachmentSlotsPerf.default | 625 | 622 | 1:1 |
| ButtonOverridesMissPerf.default | 647 | 646 | 1:1 |
| CardMinimalPerf.default | 305 | 305 | 1:1 |
| CheckboxMinimalPerf.default | 1114 | 1116 | 1:1 |
| PopupMinimalPerf.default | 349 | 348 | 1:1 |
| PortalMinimalPerf.default | 80 | 80 | 1:1 |
| RadioGroupMinimalPerf.default | 261 | 261 | 1:1 |
| TableMinimalPerf.default | 223 | 224 | 1:1 |
| TextAreaMinimalPerf.default | 286 | 285 | 1:1 |
| DividerMinimalPerf.default | 198 | 201 | 0.99:1 |
| DropdownMinimalPerf.default | 1399 | 1415 | 0.99:1 |
| FlexMinimalPerf.default | 152 | 153 | 0.99:1 |
| FormMinimalPerf.default | 225 | 227 | 0.99:1 |
| ItemLayoutMinimalPerf.default | 690 | 700 | 0.99:1 |
| IconMinimalPerf.default | 387 | 390 | 0.99:1 |
| TableManyItemsPerf.default | 1096 | 1107 | 0.99:1 |
| DatepickerMinimalPerf.default | 3477 | 3566 | 0.98:1 |
| DialogMinimalPerf.default | 433 | 443 | 0.98:1 |
| RefMinimalPerf.default | 112 | 114 | 0.98:1 |
| CarouselMinimalPerf.default | 254 | 263 | 0.97:1 |
| ListCommonPerf.default | 400 | 411 | 0.97:1 |
| TextMinimalPerf.default | 190 | 195 | 0.97:1 |
| AlertMinimalPerf.default | 155 | 163 | 0.95:1 |
| SegmentMinimalPerf.default | 187 | 196 | 0.95:1 |
🕵 FluentUIV0 No visual regressions between this PR and main
📊 Bundle size report
Unchanged fixtures
| Package & Exports | Size (minified/GZIP) |
|---|---|
| global-context createContext |
510 B328 B |
| global-context createContextSelector |
537 B339 B |
| keyboard-key keyboard-key package |
3.746 kB1.928 kB |
| priority-overflow createOverflowManager |
4.447 kB1.853 kB |
| react ActivityItem |
68.833 kB22.613 kB |
| react Announced |
36.473 kB12.628 kB |
| react Autofill |
15.365 kB4.743 kB |
| react Breadcrumb |
196.083 kB58.757 kB |
| react Button |
190.127 kB55.019 kB |
| react ButtonGrid |
175.918 kB53.25 kB |
| react Calendar |
118.756 kB36.101 kB |
| react Callout |
80.866 kB26.564 kB |
| react Check |
51.062 kB17.152 kB |
| react Checkbox |
57.791 kB19.17 kB |
| react ChoiceGroup |
63.339 kB20.824 kB |
| react ChoiceGroupOption |
56.601 kB18.695 kB |
| react Coachmark |
89.704 kB28.407 kB |
| react Color |
7.737 kB3.106 kB |
| react ColorPicker |
129.984 kB40.589 kB |
| react ComboBox |
245.355 kB70.51 kB |
| react CommandBar |
197.362 kB58.46 kB |
| react ContextualMenu |
150.967 kB46.982 kB |
| react DatePicker |
180.318 kB54.947 kB |
| react DateTimeUtilities |
5.244 kB1.849 kB |
| react DetailsList |
225.886 kB64.647 kB |
| react Dialog |
205.294 kB61.428 kB |
| react Divider |
17.63 kB6.234 kB |
| react DocumentCard |
211.08 kB62.793 kB |
| react DragDrop |
8.343 kB2.724 kB |
| react DraggableZone |
33.345 kB11.166 kB |
| react Dropdown |
227.732 kB66.867 kB |
| react ExtendedPicker |
94.987 kB27.297 kB |
| react Fabric |
39.75 kB13.688 kB |
| react Facepile |
205.992 kB61.67 kB |
| react FloatingPicker |
236.233 kB67.368 kB |
| react FocusTrapZone |
15.831 kB5.54 kB |
| react FocusZone |
53.259 kB16.869 kB |
| react Grid |
175.918 kB53.25 kB |
| react GroupedList |
131.636 kB39.657 kB |
| react GroupedListV2 |
119.324 kB36.822 kB |
| react HoverCard |
93.735 kB29.778 kB |
| react Icon |
49.74 kB16.603 kB |
| react Icons |
65.829 kB24.212 kB |
| react Image |
44.79 kB15.024 kB |
| react Keytip |
78.588 kB25.825 kB |
| react KeytipData |
13.585 kB4.418 kB |
| react KeytipLayer |
100.422 kB31.128 kB |
| react Keytips |
103.175 kB32.07 kB |
| react Label |
36.347 kB12.639 kB |
| react Layer |
45.683 kB15.585 kB |
| react Link |
37.673 kB12.993 kB |
| react List |
38.136 kB12.004 kB |
| react MarqueeSelection |
72.119 kB21.676 kB |
| react MessageBar |
184.707 kB55.523 kB |
| react Modal |
90.409 kB29.213 kB |
| react Nav |
183.442 kB55.093 kB |
| react OverflowSet |
31.044 kB10.593 kB |
| react Overlay |
38.784 kB13.401 kB |
| react Panel |
194.946 kB58.34 kB |
| react Persona |
111.705 kB35.58 kB |
| react PersonaCoin |
111.705 kB35.58 kB |
| react PersonaPresence |
55.928 kB18.715 kB |
| react Pickers |
287.603 kB80.607 kB |
| react Pivot |
184.252 kB55.823 kB |
| react Popup |
12.032 kB4.114 kB |
| react Positioning |
21.821 kB7.334 kB |
| react PositioningContainer |
70.754 kB22.84 kB |
| react ProgressIndicator |
37.498 kB12.906 kB |
| react Rating |
78.989 kB25.18 kB |
| react ResizeGroup |
13.286 kB4.365 kB |
| react ResponsiveMode |
8.078 kB2.95 kB |
| react ScrollablePane |
53.538 kB17.113 kB |
| react SearchBox |
182.982 kB55.1 kB |
| react SelectableOption |
724 B413 B |
| react SelectedItemsList |
226.659 kB66.321 kB |
| react Selection |
41.202 kB11.839 kB |
| react Separator |
33.397 kB11.529 kB |
| react Shimmer |
47.265 kB15.632 kB |
| react ShimmeredDetailsList |
236.654 kB67.42 kB |
| react Slider |
55.575 kB18.574 kB |
| react SpinButton |
186.661 kB56.205 kB |
| react Spinner |
39.691 kB13.815 kB |
| react Stack |
40.761 kB13.931 kB |
| react Sticky |
32.064 kB10.324 kB |
| react Styling |
44.812 kB14.688 kB |
| react SwatchColorPicker |
186.166 kB56.724 kB |
| react TeachingBubble |
200.004 kB59.345 kB |
| react Text |
35.931 kB12.486 kB |
| react TextField |
78.587 kB24.642 kB |
| react Theme |
42.456 kB13.773 kB |
| react ThemeGenerator |
12.34 kB4.106 kB |
| react TimePicker |
235.197 kB68.29 kB |
| react Toggle |
44.17 kB15.346 kB |
| react Tooltip |
84.225 kB27.277 kB |
| react Utilities |
71.851 kB21.843 kB |
| react Viewport |
22.945 kB7.292 kB |
| react WeeklyDayPicker |
98.762 kB30.828 kB |
| react WindowProvider |
1.059 kB541 B |
| react-accordion Accordion (including children components) |
100.127 kB30.426 kB |
| react-alert Alert |
83.737 kB23.474 kB |
| react-avatar Avatar |
50.175 kB15.944 kB |
| react-avatar AvatarGroup |
19.704 kB7.796 kB |
| react-avatar AvatarGroupItem |
64.831 kB20.274 kB |
| react-badge Badge |
26.905 kB8.729 kB |
| react-badge CounterBadge |
27.806 kB9.024 kB |
| react-badge PresenceBadge |
25.311 kB9.306 kB |
| react-breadcrumb @fluentui/react-breadcrumb - package |
115.48 kB31.84 kB |
| react-button Button |
39.513 kB11.169 kB |
| react-button CompoundButton |
46.874 kB12.661 kB |
| react-button MenuButton |
44.292 kB12.542 kB |
| react-button SplitButton |
52.306 kB14.134 kB |
| react-button ToggleButton |
56.559 kB13.068 kB |
| react-calendar-compat Calendar Compat |
152.073 kB39.83 kB |
| react-card Card - All |
101.557 kB28.932 kB |
| react-card Card |
96.382 kB27.401 kB |
| react-card CardFooter |
13.064 kB5.385 kB |
| react-card CardHeader |
15.307 kB6.143 kB |
| react-card CardPreview |
14.015 kB5.752 kB |
| react-checkbox Checkbox |
35.656 kB12.07 kB |
| react-combobox Combobox (including child components) |
102.463 kB33.101 kB |
| react-combobox Dropdown (including child components) |
103.837 kB33.038 kB |
| react-components react-components: Button, FluentProvider & webLightTheme |
70.732 kB20.465 kB |
| react-components react-components: Accordion, Button, FluentProvider, Image, Menu, Popover |
217.207 kB61.943 kB |
| react-components react-components: FluentProvider & webLightTheme |
43.219 kB14.299 kB |
| react-datepicker-compat DatePicker Compat |
224.523 kB62.939 kB |
| react-dialog Dialog (including children components) |
100.93 kB29.924 kB |
| react-divider Divider |
20.82 kB7.763 kB |
| react-field Field |
22.542 kB8.608 kB |
| react-image Image |
15.745 kB6.23 kB |
| react-infobutton InfoButton |
138.696 kB43.398 kB |
| react-infobutton InfoLabel |
142.497 kB44.627 kB |
| react-input Input |
26.891 kB9.119 kB |
| react-jsx-runtime Classic Pragma |
1.057 kB530 B |
| react-jsx-runtime JSX Dev Runtime |
3.783 kB1.648 kB |
| react-jsx-runtime JSX Runtime |
4.377 kB1.881 kB |
| react-label Label |
14.266 kB5.828 kB |
| react-link Link |
17.082 kB6.911 kB |
| react-menu Menu (including children components) |
149.428 kB45.509 kB |
| react-menu Menu (including selectable components) |
152.114 kB46.021 kB |
| react-message-bar MessageBar (all components) |
25.566 kB9.131 kB |
| react-northstar Accordion |
85.357 kB26.509 kB |
| react-northstar Alert |
87.425 kB26.91 kB |
| react-northstar Animation |
55.304 kB17.834 kB |
| react-northstar Attachment |
86.819 kB26.7 kB |
| react-northstar Avatar |
80.254 kB24.634 kB |
| react-northstar Box |
75.223 kB23.814 kB |
| react-northstar Breadcrumb |
79.889 kB24.707 kB |
| react-northstar Button |
83.135 kB25.957 kB |
| react-northstar Card |
82.674 kB25.027 kB |
| react-northstar Carousel |
105.15 kB31.882 kB |
| react-northstar Chat |
152.326 kB45.963 kB |
| react-northstar Checkbox |
79.782 kB25.085 kB |
| react-northstar Datepicker |
184.887 kB56.167 kB |
| react-northstar Debug |
8.801 kB3.594 kB |
| react-northstar Design |
36.564 kB12.07 kB |
| react-northstar Dialog |
112.02 kB33.638 kB |
| react-northstar Divider |
76.594 kB24.137 kB |
| react-northstar Dropdown |
196.43 kB59.442 kB |
| react-northstar Embed |
81.446 kB25.42 kB |
| react-northstar Flex |
47.702 kB15.45 kB |
| react-northstar Form |
92.492 kB28.881 kB |
| react-northstar Grid |
70.555 kB22.283 kB |
| react-northstar Header |
74.731 kB23.476 kB |
| react-northstar Image |
73.566 kB23.339 kB |
| react-northstar Input |
88.31 kB27.784 kB |
| react-northstar ItemLayout |
78.206 kB24.458 kB |
| react-northstar Label |
77.895 kB24.415 kB |
| react-northstar Layout |
75.368 kB23.806 kB |
| react-northstar List |
88.472 kB27.57 kB |
| react-northstar Loader |
78.591 kB24.745 kB |
| react-northstar Menu |
126.85 kB39.875 kB |
| react-northstar MenuButton |
161.254 kB48.881 kB |
| react-northstar Pill |
83.697 kB26.077 kB |
| react-northstar Popup |
133.56 kB41.486 kB |
| react-northstar Portal |
58.294 kB18.855 kB |
| react-northstar Provider |
93.114 kB29.626 kB |
| react-northstar RadioGroup |
83.25 kB26.056 kB |
| react-northstar Reaction |
77.255 kB24.138 kB |
| react-northstar Segment |
76.184 kB23.899 kB |
| react-northstar Skeleton |
77.74 kB24.21 kB |
| react-northstar Slider |
84.235 kB26.744 kB |
| react-northstar SplitButton |
176.487 kB52.632 kB |
| react-northstar Status |
76.247 kB24.059 kB |
| react-northstar SvgIcon |
36.819 kB11.744 kB |
| react-northstar Table |
80.765 kB25.159 kB |
| react-northstar Text |
74.089 kB23.522 kB |
| react-northstar TextArea |
74.223 kB23.501 kB |
| react-northstar Toolbar |
173.3 kB52.087 kB |
| react-northstar Tooltip |
108.23 kB34.491 kB |
| react-northstar Tree |
87.83 kB27.223 kB |
| react-northstar Video |
75.379 kB23.794 kB |
| react-overflow hooks only |
12.862 kB4.827 kB |
| react-persona Persona |
57.066 kB17.821 kB |
| react-popover Popover |
126.886 kB39.806 kB |
| react-portal Portal |
13.633 kB4.869 kB |
| react-portal-compat PortalCompatProvider |
7.944 kB2.588 kB |
| react-positioning usePositioning |
26.398 kB9.539 kB |
| react-progress ProgressBar |
17.428 kB6.898 kB |
| react-provider FluentProvider |
23.759 kB8.657 kB |
| react-radio Radio |
32.95 kB10.251 kB |
| react-radio RadioGroup |
15.354 kB6.265 kB |
| react-select Select |
28.609 kB10.205 kB |
| react-slider Slider |
39.949 kB12.968 kB |
| react-spinbutton SpinButton |
36.774 kB11.788 kB |
| react-spinner Spinner |
23.517 kB8.512 kB |
| react-switch Switch |
35.14 kB11.2 kB |
| react-table DataGrid |
165.168 kB45.902 kB |
| react-table Table (Primitives only) |
45.324 kB14.116 kB |
| react-table Table as DataGrid |
136.55 kB36.811 kB |
| react-table Table (Selection only) |
76.311 kB20.546 kB |
| react-table Table (Sort only) |
74.977 kB20.154 kB |
| react-tags InteractionTag |
15.259 kB6.058 kB |
| react-tags Tag |
29.982 kB9.439 kB |
| react-tags TagGroup |
80.556 kB24.027 kB |
| react-text Text - Default |
16.705 kB6.569 kB |
| react-text Text - Wrappers |
19.878 kB6.896 kB |
| react-textarea Textarea |
30.947 kB10.476 kB |
| react-theme Single theme token import |
69 B89 B |
| react-theme Teams: all themes |
34.616 kB7.317 kB |
| react-theme Teams: Light theme |
19.287 kB5.498 kB |
| react-timepicker-compat TimePicker |
104.484 kB34.49 kB |
| react-toast Toast (including Toaster) |
100.198 kB29.76 kB |
| react-tooltip Tooltip |
54.58 kB19.188 kB |
| react-utilities SSRProvider |
180 B160 B |
🕵 fluentuiv9 No visual regressions between this PR and main
Perf Analysis (@fluentui/react)
No significant results to display.
All results
| Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
|---|---|---|---|---|---|
| BaseButton | mount | 623 | 624 | 5000 | |
| Breadcrumb | mount | 1697 | 1681 | 1000 | |
| Checkbox | mount | 1693 | 1683 | 5000 | |
| CheckboxBase | mount | 1487 | 1453 | 5000 | |
| ChoiceGroup | mount | 2876 | 2879 | 5000 | |
| ComboBox | mount | 644 | 635 | 1000 | |
| CommandBar | mount | 6260 | 6327 | 1000 | |
| ContextualMenu | mount | 13800 | 13763 | 1000 | |
| DefaultButton | mount | 747 | 726 | 5000 | |
| DetailsRow | mount | 2217 | 2162 | 5000 | |
| DetailsRowFast | mount | 2167 | 2223 | 5000 | |
| DetailsRowNoStyles | mount | 1975 | 1991 | 5000 | |
| Dialog | mount | 2779 | 2645 | 1000 | |
| DocumentCardTitle | mount | 228 | 234 | 1000 | |
| Dropdown | mount | 1984 | 1987 | 5000 | |
| FocusTrapZone | mount | 1141 | 1160 | 5000 | |
| FocusZone | mount | 1071 | 1078 | 5000 | |
| GroupedList | mount | 37574 | 41586 | 2 | |
| GroupedList | virtual-rerender | 19958 | 19910 | 2 | |
| GroupedList | virtual-rerender-with-unmount | 50763 | 50724 | 2 | |
| GroupedListV2 | mount | 228 | 217 | 2 | |
| GroupedListV2 | virtual-rerender | 216 | 220 | 2 | |
| GroupedListV2 | virtual-rerender-with-unmount | 228 | 223 | 2 | |
| IconButton | mount | 1067 | 1069 | 5000 | |
| Label | mount | 328 | 340 | 5000 | |
| Layer | mount | 2760 | 2782 | 5000 | |
| Link | mount | 387 | 390 | 5000 | |
| MenuButton | mount | 939 | 940 | 5000 | |
| MessageBar | mount | 21552 | 21571 | 5000 | |
| Nav | mount | 1893 | 1981 | 1000 | |
| OverflowSet | mount | 807 | 775 | 5000 | |
| Panel | mount | 2063 | 1759 | 1000 | |
| Persona | mount | 739 | 736 | 1000 | |
| Pivot | mount | 868 | 857 | 1000 | |
| PrimaryButton | mount | 838 | 835 | 5000 | |
| Rating | mount | 4604 | 4558 | 5000 | |
| SearchBox | mount | 901 | 905 | 5000 | |
| Shimmer | mount | 1902 | 1831 | 5000 | |
| Slider | mount | 1321 | 1334 | 5000 | |
| SpinButton | mount | 2951 | 2831 | 5000 | |
| Spinner | mount | 383 | 382 | 5000 | |
| SplitButton | mount | 1825 | 1793 | 5000 | |
| Stack | mount | 404 | 406 | 5000 | |
| StackWithIntrinsicChildren | mount | 838 | 853 | 5000 | |
| StackWithTextChildren | mount | 2589 | 2616 | 5000 | |
| SwatchColorPicker | mount | 6191 | 6198 | 5000 | |
| TagPicker | mount | 1455 | 1427 | 5000 | |
| Text | mount | 373 | 369 | 5000 | |
| TextField | mount | 933 | 942 | 5000 | |
| ThemeProvider | mount | 844 | 828 | 5000 | |
| ThemeProvider | virtual-rerender | 587 | 579 | 5000 | |
| ThemeProvider | virtual-rerender-with-unmount | 1260 | 1289 | 5000 | |
| Toggle | mount | 603 | 612 | 5000 | |
| buttonNative | mount | 185 | 191 | 5000 |
Thanks for spinning this up!
On the __documentation__ folder name. I think should avoid the double __'s unless there is a strong reason to use this. It's odd, I assume this is to affect the sort order of the folder. To either hide it or make it stand out more. Perhaps there is something I'm missing here but it seems like a strange practice that will draw unnecessary attention within the repo.
This treatment, either makes the folder really obvious, or makes it hard to find given it's now above the dotfile folders which are ignored. I think the outcome here will vary depending on the engineer with some seeing it and some ignoring it, I don't think we want that outcome.
I think it would be better to just have the folder be docs or documentation (I prefer docs following the pattern of shorter folder names where reasonable). Let's just let it fit within the folders there are already a small number, and there will be less with rfcs and specs moving under docs.
Every unowned file is owned by fluentui-admins
https://github.com/microsoft/fluentui/blob/94468f9267b77b44cbc9114c9eee6957496c2999/.github/CODEOWNERS#L20
I'd suggest adding a code owner entry for the docs folder, following the pattern of rfcs
https://github.com/microsoft/fluentui/blob/94468f9267b77b44cbc9114c9eee6957496c2999/.github/CODEOWNERS#L328
I'm not sure if it should be part of this PR, but I'm leaving this comment so we can start to think about it. It is worth mentioning the contrib repo somehow. It is confusing to people that are not deeply involved in the day-to-day development of the library if a component should belong to the main repo or go to contrib. It would be good to have a document explaining that. :)
Is this PR ready to merge, or will there be work to complete the //TODO's? (If you could elaborate on the plan and details for the PR in the description that will help)
I'm a little unsure about adding actual files with //TODO and assignees, should that be issues instead?
If we have high confidence that we'll fast follow to fix these it's fine, but I'd hate for us to have empty md files with //TODO in them in the repo for an extended period of time (where as having an issue we haven't gotten around to yet is fine).
Thanks!