Skip to content
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

Update Component Implementation Epic template #25480

Merged
merged 9 commits into from
Nov 10, 2022

Conversation

behowell
Copy link
Contributor

@behowell behowell commented Nov 2, 2022

Update the Component Implementation Epic issue template

📜 Preview convergence_epic.md

A significant part of this also included updating the Component Implementation Guide, and adding links to relevant sections from this Epic issue, for reference.

Related Issue(s)

@behowell behowell self-assigned this Nov 2, 2022
@github-actions github-actions bot added this to the October Project Cycle Q4 2022 milestone Nov 2, 2022
@codesandbox-ci
Copy link

codesandbox-ci bot commented Nov 2, 2022

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.

Latest deployment of this branch, based on commit 191670a:

Sandbox Source
@fluentui/react 8 starter Configuration
@fluentui/react-components 9 starter Configuration

@size-auditor
Copy link

size-auditor bot commented Nov 2, 2022

Asset size changes

Size Auditor did not detect a change in bundle size for any component!

Baseline commit: 715bd7f0686e1080ec0cbbdb5aa14c0d6ef18498 (build)

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 2, 2022

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 1580 1552 5000
Button mount 1108 1136 5000
FluentProvider mount 1882 1880 5000
FluentProviderWithTheme mount 737 758 10
FluentProviderWithTheme virtual-rerender 703 712 10
FluentProviderWithTheme virtual-rerender-with-unmount 746 789 10
MakeStyles mount 2261 2272 50000
SpinButton mount 3018 3032 5000

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 2, 2022

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
BoxMinimalPerf.default 358 315 1.14:1
PortalMinimalPerf.default 179 162 1.1:1
ProviderMinimalPerf.default 422 388 1.09:1
AccordionMinimalPerf.default 152 142 1.07:1
ListMinimalPerf.default 519 487 1.07:1
AttachmentMinimalPerf.default 153 144 1.06:1
ChatWithPopoverPerf.default 379 359 1.06:1
AvatarMinimalPerf.default 192 183 1.05:1
FlexMinimalPerf.default 291 277 1.05:1
SkeletonMinimalPerf.default 344 329 1.05:1
FormMinimalPerf.default 365 350 1.04:1
TreeWith60ListItems.default 160 154 1.04:1
DropdownManyItemsPerf.default 674 657 1.03:1
GridMinimalPerf.default 333 322 1.03:1
SliderMinimalPerf.default 1587 1547 1.03:1
TableManyItemsPerf.default 1873 1812 1.03:1
AlertMinimalPerf.default 257 252 1.02:1
AnimationMinimalPerf.default 526 515 1.02:1
DatepickerMinimalPerf.default 5697 5607 1.02:1
DialogMinimalPerf.default 770 754 1.02:1
EmbedMinimalPerf.default 3626 3572 1.02:1
ImageMinimalPerf.default 374 367 1.02:1
LayoutMinimalPerf.default 363 357 1.02:1
MenuButtonMinimalPerf.default 1676 1651 1.02:1
SegmentMinimalPerf.default 334 329 1.02:1
StatusMinimalPerf.default 656 646 1.02:1
TooltipMinimalPerf.default 2329 2274 1.02:1
ButtonMinimalPerf.default 162 161 1.01:1
ButtonSlotsPerf.default 546 538 1.01:1
CardMinimalPerf.default 513 509 1.01:1
ChatMinimalPerf.default 695 689 1.01:1
ListWith60ListItems.default 601 595 1.01:1
ProviderMergeThemesPerf.default 1288 1271 1.01:1
CustomToolbarPrototype.default 2643 2621 1.01:1
VideoMinimalPerf.default 714 707 1.01:1
ButtonOverridesMissPerf.default 1304 1299 1:1
CheckboxMinimalPerf.default 2064 2056 1:1
DividerMinimalPerf.default 339 339 1:1
HeaderSlotsPerf.default 729 730 1:1
LabelMinimalPerf.default 375 374 1:1
RadioGroupMinimalPerf.default 427 426 1:1
SplitButtonMinimalPerf.default 4325 4328 1:1
CarouselMinimalPerf.default 450 454 0.99:1
ChatDuplicateMessagesPerf.default 269 271 0.99:1
DropdownMinimalPerf.default 2621 2646 0.99:1
InputMinimalPerf.default 1107 1118 0.99:1
MenuMinimalPerf.default 810 817 0.99:1
AttachmentSlotsPerf.default 1064 1082 0.98:1
ListNestedPerf.default 534 546 0.98:1
LoaderMinimalPerf.default 329 335 0.98:1
RosterPerf.default 2088 2127 0.98:1
PopupMinimalPerf.default 626 641 0.98:1
IconMinimalPerf.default 608 620 0.98:1
TextMinimalPerf.default 328 333 0.98:1
TextAreaMinimalPerf.default 450 457 0.98:1
ToolbarMinimalPerf.default 898 918 0.98:1
TreeMinimalPerf.default 801 816 0.98:1
HeaderMinimalPerf.default 346 355 0.97:1
ItemLayoutMinimalPerf.default 1146 1176 0.97:1
ListCommonPerf.default 604 636 0.95:1
RefMinimalPerf.default 212 223 0.95:1
TableMinimalPerf.default 387 411 0.94:1
ReactionMinimalPerf.default 347 388 0.89:1

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 2, 2022

📊 Bundle size report

Unchanged fixtures
Package & Exports Size (minified/GZIP)
global-context
createContext
533 B
341 B
global-context
createContextSelector
554 B
348 B
priority-overflow
createOverflowManager
3.153 kB
1.299 kB
react-accordion
Accordion (including children components)
79.284 kB
24.446 kB
react-alert
Alert
86.986 kB
21.736 kB
react-avatar
Avatar
51.171 kB
14.313 kB
react-avatar
AvatarGroup
14.996 kB
6.013 kB
react-avatar
AvatarGroupItem
65.749 kB
18.412 kB
react-badge
Badge
22.646 kB
7.228 kB
react-badge
CounterBadge
23.536 kB
7.512 kB
react-badge
PresenceBadge
24.096 kB
7.09 kB
react-button
Button
36.85 kB
9.917 kB
react-button
CompoundButton
43.875 kB
11.134 kB
react-button
MenuButton
41.527 kB
11.19 kB
react-button
SplitButton
48.973 kB
12.592 kB
react-button
ToggleButton
52.675 kB
11.418 kB
react-card
Card - All
71.863 kB
20.939 kB
react-card
Card
67.641 kB
19.897 kB
react-card
CardFooter
8.607 kB
3.622 kB
react-card
CardHeader
9.782 kB
3.998 kB
react-card
CardPreview
8.708 kB
3.678 kB
react-combobox
Combobox (including child components)
78.076 kB
24.991 kB
react-combobox
Dropdown (including child components)
77.363 kB
24.893 kB
react-components
react-components: Button, FluentProvider & webLightTheme
62.941 kB
17.678 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
189.948 kB
52.993 kB
react-components
react-components: FluentProvider & webLightTheme
33.446 kB
11.033 kB
react-dialog
Dialog (including children components)
83.147 kB
24.799 kB
react-divider
Divider
16.505 kB
5.925 kB
react-image
Image
10.826 kB
4.286 kB
react-infobutton
InfoButton
117.928 kB
35.402 kB
react-input
Input
24.112 kB
7.892 kB
react-label
Label
9.384 kB
3.883 kB
react-link
Link
11.852 kB
4.888 kB
react-menu
Menu (including children components)
117.131 kB
36.2 kB
react-menu
Menu (including selectable components)
120.2 kB
36.726 kB
react-overflow
hooks only
11.004 kB
4.188 kB
react-persona
Persona
56.289 kB
15.712 kB
react-popover
Popover
103.672 kB
31.871 kB
react-portal
Portal
10.495 kB
3.851 kB
react-portal-compat
PortalCompatProvider
5.857 kB
1.978 kB
react-positioning
usePositioning
19.826 kB
7.417 kB
react-progress
Progress
13.526 kB
5.113 kB
react-provider
FluentProvider
15.807 kB
5.909 kB
react-radio
Radio
36.436 kB
12.126 kB
react-radio
RadioGroup
14.294 kB
5.723 kB
react-select
Select
23.428 kB
8.023 kB
react-slider
Slider
32.108 kB
10.195 kB
react-spinbutton
SpinButton
44.42 kB
12.815 kB
react-spinner
Spinner
20.003 kB
6.449 kB
react-switch
Switch
33.443 kB
10.585 kB
react-text
Text - Default
11.828 kB
4.627 kB
react-text
Text - Wrappers
15.138 kB
5.064 kB
react-textarea
Textarea
25.687 kB
8.331 kB
react-theme
Single theme token import
69 B
89 B
react-theme
Teams: all themes
29.65 kB
6.444 kB
react-theme
Teams: Light theme
17.486 kB
5.057 kB
react-tooltip
Tooltip
42.032 kB
14.739 kB
react-utilities
SSRProvider
180 B
159 B
🤖 This report was generated against 715bd7f0686e1080ec0cbbdb5aa14c0d6ef18498

@fabricteam
Copy link
Collaborator

fabricteam commented Nov 2, 2022

Perf Analysis (@fluentui/react)

Scenario Render type Master Ticks PR Ticks Iterations Status
GroupedList mount 2441 2806 2 Possible regression
All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 1588 1518 5000
Breadcrumb mount 3594 3833 1000
Checkbox mount 3394 3415 5000
CheckboxBase mount 3011 2966 5000
ChoiceGroup mount 5995 5520 5000
ComboBox mount 1553 1564 1000
CommandBar mount 12062 12659 1000
ContextualMenu mount 14080 14075 1000
DefaultButton mount 1740 1759 5000
DetailsRow mount 4610 4657 5000
DetailsRowFast mount 4508 4584 5000
DetailsRowNoStyles mount 4402 4457 5000
Dialog mount 3887 3890 1000
DocumentCardTitle mount 726 733 1000
Dropdown mount 4053 4068 5000
FocusTrapZone mount 2559 2574 5000
FocusZone mount 2513 2478 5000
GroupedList mount 2441 2806 2 Possible regression
GroupedList virtual-rerender 1414 1396 2
GroupedList virtual-rerender-with-unmount 2099 2120 2
GroupedListV2 mount 718 723 2
GroupedListV2 virtual-rerender 682 712 2
GroupedListV2 virtual-rerender-with-unmount 723 718 2
IconButton mount 2391 2492 5000
Label mount 898 916 5000
Layer mount 5414 5357 5000
Link mount 1065 1029 5000
MenuButton mount 2118 2072 5000
MessageBar mount 2919 2973 5000
Nav mount 4143 4117 1000
OverflowSet mount 1716 1736 5000
Panel mount 3210 3236 1000
Persona mount 1608 1558 1000
Pivot mount 2070 2063 1000
PrimaryButton mount 1952 1956 5000
Rating mount 8882 8837 5000
SearchBox mount 1957 1930 5000
Shimmer mount 3661 3551 5000
Slider mount 2694 2617 5000
SpinButton mount 5836 5880 5000
Spinner mount 1005 1001 5000
SplitButton mount 3963 3861 5000
Stack mount 1044 1064 5000
StackWithIntrinsicChildren mount 3077 3033 5000
StackWithTextChildren mount 6259 6149 5000
SwatchColorPicker mount 13100 13259 5000
TagPicker mount 3358 3340 5000
TeachingBubble mount 107298 108734 5000
Text mount 990 985 5000
TextField mount 2011 1999 5000
ThemeProvider mount 1905 1939 5000
ThemeProvider virtual-rerender 1380 1367 5000
ThemeProvider virtual-rerender-with-unmount 2712 2670 5000
Toggle mount 1369 1376 5000
buttonNative mount 708 689 5000

@behowell behowell marked this pull request as ready for review November 2, 2022 17:10
@behowell behowell requested a review from a team November 2, 2022 17:12
Comment on lines 20 to 21
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to PR, if applicable]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GeoffCox had a good idea about a codesandbox template for the Draft Implementation. Don't have to block on this, but I wanted to mention him so he saw this as a good place to put the link/idea bout the template

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good idea! I don't think this issue tempalte needs to mention the details specifically, but @GeoffCox it would be great to add details about that to the wiki article linked from here: https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess my main feedback here would be to actually encourage folks to use a CodeSandbox instead of a PR. So this:

Suggested change
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to PR, if applicable]
- [ ] (Optional) [Draft implementation](https://github.com/microsoft/fluentui/wiki/Component-Implementation-Guide#draft-implementation)
- [link to CodeSandbox, if applicable]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'll make it more generic of "link to draft implementation, if applicable". That way, people can implement the draft in whatever way makes the most sense to them. I think it's worthwhile updating the wiki article to suggest using CodeSandbox, but it's better to leave it unspecified in the epic issue. Does that sound good?

@behowell behowell enabled auto-merge (squash) November 10, 2022 00:10
@behowell behowell merged commit 4c50703 into microsoft:master Nov 10, 2022
@behowell behowell deleted the convergence-epic-template branch November 10, 2022 04:11
sunilsurana added a commit to sunilsurana/fluentuifork1 that referenced this pull request Nov 12, 2022
* stress-test: add "afterframe" dependency (microsoft#25560)

Previously stress-test used a "requestPostAnimationFrame" function that
is used to measure from just before style recalc, layout and paint are
executed to just afterward.

This change drops that function in favor of taking a dependency on
afterframe, a library that does the same thing.

* Fix: Update tabs to remain the same size between unselected and selected states (microsoft#25542)

* Add support to keep tabs from changing size when selected

* Update for naming and tests

* Rename update

* Update packages/react-components/react-tabs/src/components/TabList/TabList.types.ts

Co-authored-by: Sean Monahan <[email protected]>

Co-authored-by: Sean Monahan <[email protected]>

* chore: Add reduced-motion documentation to Spinner (microsoft#25561)

* chore: Add reduced-motion documentation to Spinner

* change file

* chore: Add documentation to Progress about reduced-motion (microsoft#25563)

* chore: Add documentation to Progress about reduced-motion

* change file

* stress-test: disable CSS transitions on injected styles (microsoft#25559)

This addresses an issue where Firefox's style recalculation measurement
becomes unstable when controls under test have CSS transitions.

Specifically, our test injects styles that update the background color
of selected controls and many Fluent controls transition the background
color for different states like "hover" and "focus".

With transitions running Firefox will sometimes include the transition
time in the style recalc measurement and sometimes not. Additionally,
Chromium browsers never include the transition time in the measurement.

Disabling transitions ensures measurement behavior is consistent in
Firefox and in alignment with the behavior of Chromium browsers.

* docs(rfcs): add triage automation rfc (microsoft#24817)

* chore: update beachball ignore list to apply to new project structure (microsoft#25531)

* bugfix(react-switch): adds line-height=0 to switch indicator slot (microsoft#25507)

* chore: add both options to useArrowNavigationGroup (microsoft#25568)

* chore: add both options to useArrowNavigationGroup

* chore: add changes

* chore: update api

* chore(vr-tests-v9): Convert Dialog and Image VR tests to CSF (microsoft#25527)

* chore: toolbar a11y improvements (microsoft#25562)

* feat: create vertical example

* chore: add navigation arrows for vertical scenario

* chore: add labels for all toolbar stories

* chore: update tooltip example

* chore: update radio example

* chore: update toolbar stories examples

* chore: add changes

* chore: use both in toolbar arrow key nav

* chore: update snapshot

* chore(react-dialog): migrate to new package structure (microsoft#25523)

Co-authored-by: Oleksandr Fediashov <[email protected]>

* chore(react-overflow): migrate to new package structure (microsoft#25524)

* Expand @fluentui/react root index file's export *s to uncover and fix duplicate exports. (microsoft#25545)

* expanding index.

* change.

* Replacing with inline deprecation exclusions.

* setting export * to warning.

* change.

* moving rules around.

* fix: v9 form controls with underline should have underline-specific disabled styling (microsoft#25543)

Updates disabled form styling for Input, Select, Spinbutton, Combobox, and Dropdown

* docs(public-docsite-v9): Adding a basic setup section to the SSR docs (microsoft#25564)

* applying package updates

* update regex

* updatE

* Update azure-pipelines.vrt-baseline.yml for Azure Pipelines

* Update azure-pipelines.vrt-baseline.yml for Azure Pipelines

* chore(deps): bump loader-utils from 2.0.0 to 2.0.3 (microsoft#25567)

Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.0 to 2.0.3.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.3/CHANGELOG.md)
- [Commits](webpack/loader-utils@v2.0.0...v2.0.3)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: migrate @types/node to 14 to align with our supported node version (microsoft#25510)

* chore(deps): resolve only to 1 @types/node version to mitigate global leaks and api-generation errors

* fix(bundle-size): fix type errors exposed by node 14 typings

* fix(tools): fix type errors exposed by node 14 typings

* fix(typings): fix type errors exposed by node 14 typings

* revert:  use resolution for @types/node

* chore(ts-minbar-test-react): use @types/node 14 explicitly

* generate changefiles

* chore: dedupe deps

* fix(scripts): fix type errors exposed by node 14 typings

* test: replace deprecated module.parent with require.main within isConformance

* generate changefiles

* test(react): clean up persona-coin test and use isConformant without side-effects

* fix(storybook): fix theme picker current selection (microsoft#25533)

* update

* chore(vr-tests-v9): Convert Accordion VR tests to CSF (microsoft#25525)

* fix: Update Avatar active ring color to match base color (microsoft#25497)

* RFC: Field Package Layout (microsoft#25380)

* Feature: Added large tab size to react-tabs (microsoft#25577)

* Added large tab size

* yarn change

* Update vr-tests

* Code review fix

* feat(react-infobutton): Adding size prop, HCM styles, and updating styles to match design spec (microsoft#25519)

* updating styles and adding size prop

* updating comment

* adding requested changes

* fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components (microsoft#25521)

* fix: Adding expanded styles for MenuButtons and making various other styling fixes for Button components.

* Adding change file.

* Addressing PR feedback.

Co-authored-by: KHMakoto <[email protected]>

* chore: Clean up Field tests and story imports in preparation of moving to individual packages (microsoft#25594)

* Remove custom `isConformant` function for Field tests, and instead inline the customizations in each call to `isConformant`
* Disable the `exported-top-level` test because the components will be exported as e.g. `InputField_unstable` from the component packages.
* Change the stories to import from `@fluentui/react-components/unstable`, instead of the individual package.
* Rename the `FieldComponent` type to `FieldControl` to correspond to the `control` slot name.

* Tabs icon toggle (microsoft#25597)

* Added regular filled icon toggling

* yarn change

* chore: Refactor Field components into the base component's package (microsoft#25593)

Move Field components into their respective packages, as discussed in RFC microsoft#25380

* Update Component Implementation Epic template (microsoft#25480)

* update to use vrscreenshotdiff beta

* change lock file

* update package version

* applying package updates

* update pr pipeline to add v8

* PR to add tasks in pipeline for v9 VRT integration (microsoft#25606)

* fix: create valid export maps (microsoft#25558)

* generate changefiles

* chore(deps): bump socket.io-parser from 4.0.4 to 4.0.5 (microsoft#25604)

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](socketio/socket.io-parser@4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(react-dialog): removes unnecessary union case for DialogOpenChangeData (microsoft#25504)

* templatize

* update

* templatize

* updatE

* refactor(scripts): remove deprecated exec abstractions (microsoft#25569)

* fix(scripts): make eslint run again on pre-commit (microsoft#25537)

* feat(react-components): Move AvatarGroup to stable (microsoft#25005)

* update

* update version

* run partial tests

* update

* update

* update

* update

* update

* update

* updatE

* updatE

* update version

* update lock file

* update name

* update version

* add quotes

* docs: refactor Text documentation and add missing guidance for presets/alignment (microsoft#25587)

Fixes microsoft#24341
Fixes microsoft#25548

* update

* package version

* fix(react-menu): remove unwanted aria attributes on context menu (microsoft#25615)

* fix(react-menu): remove unwanted aria attributes on context menu

* chore: updates trigger selector for cypress tests

* remove unwanted param

* update

* applying package updates

* convert

* checkpoint

* add regex

* change convert script

* updates

* update sw version

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Sean Monahan <[email protected]>
Co-authored-by: Geoff Cox (Microsoft) <[email protected]>
Co-authored-by: tomi-msft <[email protected]>
Co-authored-by: Martin Hochel <[email protected]>
Co-authored-by: Bernardo Sunderhus <[email protected]>
Co-authored-by: chajun <[email protected]>
Co-authored-by: Tristan Watanabe <[email protected]>
Co-authored-by: Oleksandr Fediashov <[email protected]>
Co-authored-by: David Zearing <[email protected]>
Co-authored-by: Sarah Higley <[email protected]>
Co-authored-by: Esteban Munoz Facusse <[email protected]>
Co-authored-by: Fluent UI Build <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tudor Popa <[email protected]>
Co-authored-by: Ben Howell <[email protected]>
Co-authored-by: Makoto Morimoto <[email protected]>
Co-authored-by: KHMakoto <[email protected]>
Co-authored-by: Marcos Moura <[email protected]>
NotWoods pushed a commit to NotWoods/fluentui that referenced this pull request Nov 18, 2022
Hotell pushed a commit to Hotell/fluentui that referenced this pull request Feb 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

chore: Update Component Epic issue template
5 participants