Skip to content

Conversation

@Mitch-At-Work
Copy link
Contributor

Previous Behavior

No mac trackpad drag support
No wheel support (when drag enabled)

New Behavior

We now support wheel gestures, this is mostly useful for mac drag scroll (when dragging is enabled)

@Mitch-At-Work Mitch-At-Work requested review from a team as code owners August 29, 2024 22:04
@fabricteam
Copy link
Collaborator

fabricteam commented Aug 29, 2024

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 662 612 5000
Button mount 302 303 5000
Field mount 1136 1156 5000
FluentProvider mount 715 713 5000
FluentProviderWithTheme mount 90 91 10
FluentProviderWithTheme virtual-rerender 32 35 10
FluentProviderWithTheme virtual-rerender-with-unmount 73 84 10
MakeStyles mount 875 879 50000
Persona mount 1793 1747 5000
SpinButton mount 1447 1377 5000
SwatchPicker mount 1685 1642 5000

@fabricteam
Copy link
Collaborator

🕵 fluentui-web-components-v3 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

🕵 FluentUIV0 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-northstar)

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ButtonMinimalPerf.default 105 88 1.19:1
LoaderMinimalPerf.default 203 177 1.15:1
SkeletonMinimalPerf.default 217 190 1.14:1
IconMinimalPerf.default 401 355 1.13:1
TextMinimalPerf.default 210 189 1.11:1
FlexMinimalPerf.default 168 154 1.09:1
CarouselMinimalPerf.default 268 249 1.08:1
AccordionMinimalPerf.default 91 85 1.07:1
ListMinimalPerf.default 317 295 1.07:1
ListNestedPerf.default 331 310 1.07:1
GridMinimalPerf.default 197 186 1.06:1
AttachmentSlotsPerf.default 658 628 1.05:1
AvatarMinimalPerf.default 110 105 1.05:1
ChatDuplicateMessagesPerf.default 156 150 1.04:1
DropdownManyItemsPerf.default 400 385 1.04:1
MenuMinimalPerf.default 513 494 1.04:1
DropdownMinimalPerf.default 1422 1386 1.03:1
ReactionMinimalPerf.default 217 211 1.03:1
StatusMinimalPerf.default 395 383 1.03:1
AnimationMinimalPerf.default 304 299 1.02:1
BoxMinimalPerf.default 196 192 1.02:1
ButtonSlotsPerf.default 319 312 1.02:1
CardMinimalPerf.default 315 308 1.02:1
DialogMinimalPerf.default 451 440 1.02:1
HeaderMinimalPerf.default 211 207 1.02:1
InputMinimalPerf.default 540 532 1.02:1
RosterPerf.default 1569 1544 1.02:1
PopupMinimalPerf.default 354 348 1.02:1
ProviderMinimalPerf.default 204 200 1.02:1
ChatWithPopoverPerf.default 199 198 1.01:1
DatepickerMinimalPerf.default 3550 3518 1.01:1
ImageMinimalPerf.default 225 223 1.01:1
LayoutMinimalPerf.default 200 199 1.01:1
ListWith60ListItems.default 368 366 1.01:1
SegmentMinimalPerf.default 202 200 1.01:1
VideoMinimalPerf.default 437 431 1.01:1
ChatMinimalPerf.default 430 432 1:1
ItemLayoutMinimalPerf.default 708 711 1:1
LabelMinimalPerf.default 224 224 1:1
RefMinimalPerf.default 106 106 1:1
TableManyItemsPerf.default 1096 1094 1:1
CustomToolbarPrototype.default 1476 1470 1:1
ListCommonPerf.default 383 387 0.99:1
SplitButtonMinimalPerf.default 2249 2264 0.99:1
TableMinimalPerf.default 230 232 0.99:1
TextAreaMinimalPerf.default 290 292 0.99:1
TooltipMinimalPerf.default 1276 1284 0.99:1
AttachmentMinimalPerf.default 85 87 0.98:1
CheckboxMinimalPerf.default 1128 1150 0.98:1
DividerMinimalPerf.default 208 212 0.98:1
ProviderMergeThemesPerf.default 632 643 0.98:1
SliderMinimalPerf.default 730 743 0.98:1
ToolbarMinimalPerf.default 532 543 0.98:1
TreeMinimalPerf.default 469 478 0.98:1
EmbedMinimalPerf.default 1876 1928 0.97:1
MenuButtonMinimalPerf.default 942 967 0.97:1
TreeWith60ListItems.default 85 88 0.97:1
HeaderSlotsPerf.default 455 474 0.96:1
ButtonOverridesMissPerf.default 632 665 0.95:1
FormMinimalPerf.default 219 232 0.94:1
RadioGroupMinimalPerf.default 250 267 0.94:1
PortalMinimalPerf.default 78 88 0.89:1
AlertMinimalPerf.default 141 160 0.88:1

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 610 630 5000
Breadcrumb mount 1672 1691 1000
Checkbox mount 1718 1748 5000
CheckboxBase mount 1496 1495 5000
ChoiceGroup mount 2986 2983 5000
ComboBox mount 695 690 1000
CommandBar mount 6600 6608 1000
ContextualMenu mount 12888 13036 1000
DefaultButton mount 792 805 5000
DetailsRow mount 2279 2287 5000
DetailsRowFast mount 2263 2257 5000
DetailsRowNoStyles mount 2055 2050 5000
Dialog mount 2784 2792 1000
DocumentCardTitle mount 231 230 1000
Dropdown mount 2024 2032 5000
FocusTrapZone mount 1163 1137 5000
FocusZone mount 1065 1090 5000
GroupedList mount 42885 43009 2
GroupedList virtual-rerender 20522 20515 2
GroupedList virtual-rerender-with-unmount 52196 52263 2
GroupedListV2 mount 229 231 2
GroupedListV2 virtual-rerender 220 219 2
GroupedListV2 virtual-rerender-with-unmount 225 230 2
IconButton mount 1140 1132 5000
Label mount 353 351 5000
Layer mount 2779 2766 5000
Link mount 410 398 5000
MenuButton mount 992 997 5000
MessageBar mount 21444 21482 5000
Nav mount 2077 2042 1000
OverflowSet mount 797 787 5000
Panel mount 1841 1866 1000
Persona mount 778 790 1000
Pivot mount 934 908 1000
PrimaryButton mount 937 936 5000
Rating mount 4746 4721 5000
SearchBox mount 978 930 5000
Shimmer mount 1941 1960 5000
Slider mount 1358 1353 5000
SpinButton mount 3063 2941 5000
Spinner mount 408 394 5000
SplitButton mount 1915 1914 5000
Stack mount 420 428 5000
StackWithIntrinsicChildren mount 860 879 5000
StackWithTextChildren mount 2815 2796 5000
SwatchColorPicker mount 6433 6562 5000
TagPicker mount 1472 1494 5000
Text mount 381 391 5000
TextField mount 919 954 5000
ThemeProvider mount 875 880 5000
ThemeProvider virtual-rerender 602 587 5000
ThemeProvider virtual-rerender-with-unmount 1291 1300 5000
Toggle mount 628 603 5000
buttonNative mount 192 200 5000

"@swc/helpers": "^0.5.1",
"embla-carousel": "8.1.8",
"embla-carousel-autoplay": "8.1.8",
"embla-carousel": "8.2.0",
Copy link
Contributor

@Hotell Hotell Aug 30, 2024

Choose a reason for hiding this comment

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

using fixed versions for package dependencies is discouraged as it will create dupes in user-land. let's go with ^ (or ~ if the package doesn't follow proper semver).

you'll get some errors from syncpack (known limitation of the tool), so you'll need to ignore those by adding these packages here
image

version "2.2.47"
resolved "https://registry.yarnpkg.com/wheel-gestures/-/wheel-gestures-2.2.47.tgz#0324e511451b5ce643efff6c4e03f2669a058cdf"
integrity sha512-uE73zRoikB0Uwc4mAn6vH/X2w/E7kGe9exnEjaA3poaH+Zw2Tr9V39uMMQX3hd+wlW656dqIWBVWKY/UlP0MgQ==
dependencies:
Copy link
Contributor

Choose a reason for hiding this comment

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

please report issue to this package repo as it ships invalid dependencies. Those 2 deps should be specified as devDependencies, they have no use in production code used from this package - this creeps our node_modules by adding no benefits rather the opposite. ty

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Opened PR & issue here: xiel/wheel-gestures#720

Will wait for merge before landing

Copy link
Contributor

@mltejera mltejera left a comment

Choose a reason for hiding this comment

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

Think addressing Martin's feedback and we're golden :-)

* Defaults to: False
*/
enableDrag?: boolean;
draggable?: boolean;
Copy link
Contributor

Choose a reason for hiding this comment

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

This should probably get a mention in the changefile

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Gonna move this one out to generic pre-stable updates, while we wait for above dependency issues to be merged.

"ejs": "3.1.10",
"embla-carousel": "8.1.8",
"embla-carousel-autoplay": "8.1.8",
"embla-carousel": "^8.2.0",
Copy link
Contributor

Choose a reason for hiding this comment

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

I know this is confusing :D but we use fixed versions for root package.json ( in order to get a match what we actually use ), any package being shipped needs to use ^ or ~ though.

with this in place syncpack will complain -> that's why you need to add those packages to ignore ( which you already did)

Copy link
Contributor

Choose a reason for hiding this comment

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

also ci is failing on invalid yarn.lock

error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`

make sure to run yarn and yarn run dedupe

@Mitch-At-Work Mitch-At-Work marked this pull request as draft September 17, 2024 21:40
@Mitch-At-Work
Copy link
Contributor Author

Setting to draft for now, not sure if we will add this feature but will make sure to fix above before undrafting.

@Mitch-At-Work
Copy link
Contributor Author

Closing for now, will reopen if feature is scheduled for implementation.

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.

4 participants