-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
feat(chart-web-components): Create chart web components - Donut and Horizontal Bar Chart #33084
base: master
Are you sure you want to change the base?
Conversation
change/@fluentui-web-components-a2072109-cb0f-486e-9cbe-81ebc19d21c4.json
Outdated
Show resolved
Hide resolved
🕵 FluentUIV0 No visual regressions between this PR and main |
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
FluentProviderWithTheme | virtual-rerender | 36 | 35 | 10 | Possible regression |
All results
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
Avatar | mount | 624 | 632 | 5000 | |
Button | mount | 308 | 300 | 5000 | |
Field | mount | 1141 | 1151 | 5000 | |
FluentProvider | mount | 709 | 730 | 5000 | |
FluentProviderWithTheme | mount | 86 | 87 | 10 | |
FluentProviderWithTheme | virtual-rerender | 36 | 35 | 10 | Possible regression |
FluentProviderWithTheme | virtual-rerender-with-unmount | 74 | 82 | 10 | |
MakeStyles | mount | 865 | 880 | 50000 | |
Persona | mount | 1757 | 1690 | 5000 | |
SpinButton | mount | 1373 | 1440 | 5000 | |
SwatchPicker | mount | 1649 | 1646 | 5000 |
Perf Analysis (
|
Scenario | Current PR Ticks | Baseline Ticks | Ratio |
---|---|---|---|
AttachmentMinimalPerf.default | 94 | 76 | 1.24:1 |
TreeWith60ListItems.default | 97 | 85 | 1.14:1 |
AvatarMinimalPerf.default | 112 | 101 | 1.11:1 |
ChatWithPopoverPerf.default | 201 | 183 | 1.1:1 |
LoaderMinimalPerf.default | 199 | 181 | 1.1:1 |
ReactionMinimalPerf.default | 222 | 205 | 1.08:1 |
AccordionMinimalPerf.default | 90 | 84 | 1.07:1 |
ButtonMinimalPerf.default | 91 | 85 | 1.07:1 |
ProviderMinimalPerf.default | 212 | 199 | 1.07:1 |
StatusMinimalPerf.default | 408 | 382 | 1.07:1 |
ListNestedPerf.default | 332 | 312 | 1.06:1 |
ChatDuplicateMessagesPerf.default | 165 | 157 | 1.05:1 |
HeaderMinimalPerf.default | 213 | 203 | 1.05:1 |
MenuMinimalPerf.default | 517 | 491 | 1.05:1 |
SkeletonMinimalPerf.default | 205 | 195 | 1.05:1 |
TooltipMinimalPerf.default | 1275 | 1218 | 1.05:1 |
CardMinimalPerf.default | 328 | 314 | 1.04:1 |
DialogMinimalPerf.default | 456 | 440 | 1.04:1 |
FlexMinimalPerf.default | 159 | 153 | 1.04:1 |
ListWith60ListItems.default | 376 | 362 | 1.04:1 |
RefMinimalPerf.default | 115 | 111 | 1.04:1 |
AlertMinimalPerf.default | 165 | 160 | 1.03:1 |
CarouselMinimalPerf.default | 277 | 269 | 1.03:1 |
CheckboxMinimalPerf.default | 1164 | 1132 | 1.03:1 |
DropdownManyItemsPerf.default | 414 | 402 | 1.03:1 |
ItemLayoutMinimalPerf.default | 719 | 700 | 1.03:1 |
ButtonOverridesMissPerf.default | 675 | 661 | 1.02:1 |
EmbedMinimalPerf.default | 1923 | 1883 | 1.02:1 |
GridMinimalPerf.default | 191 | 188 | 1.02:1 |
InputMinimalPerf.default | 561 | 549 | 1.02:1 |
ListCommonPerf.default | 397 | 390 | 1.02:1 |
SliderMinimalPerf.default | 755 | 740 | 1.02:1 |
TextMinimalPerf.default | 191 | 187 | 1.02:1 |
CustomToolbarPrototype.default | 1466 | 1440 | 1.02:1 |
BoxMinimalPerf.default | 194 | 193 | 1.01:1 |
DividerMinimalPerf.default | 206 | 203 | 1.01:1 |
HeaderSlotsPerf.default | 467 | 461 | 1.01:1 |
LabelMinimalPerf.default | 217 | 215 | 1.01:1 |
MenuButtonMinimalPerf.default | 963 | 949 | 1.01:1 |
PortalMinimalPerf.default | 85 | 84 | 1.01:1 |
RadioGroupMinimalPerf.default | 274 | 270 | 1.01:1 |
SegmentMinimalPerf.default | 195 | 194 | 1.01:1 |
TreeMinimalPerf.default | 487 | 484 | 1.01:1 |
AnimationMinimalPerf.default | 304 | 303 | 1:1 |
DropdownMinimalPerf.default | 1466 | 1463 | 1:1 |
FormMinimalPerf.default | 220 | 221 | 1:1 |
ImageMinimalPerf.default | 227 | 227 | 1:1 |
LayoutMinimalPerf.default | 201 | 202 | 1:1 |
TextAreaMinimalPerf.default | 290 | 290 | 1:1 |
DatepickerMinimalPerf.default | 3615 | 3642 | 0.99:1 |
ListMinimalPerf.default | 311 | 315 | 0.99:1 |
RosterPerf.default | 1570 | 1593 | 0.99:1 |
ToolbarMinimalPerf.default | 546 | 550 | 0.99:1 |
VideoMinimalPerf.default | 453 | 456 | 0.99:1 |
AttachmentSlotsPerf.default | 648 | 662 | 0.98:1 |
ButtonSlotsPerf.default | 304 | 310 | 0.98:1 |
TableManyItemsPerf.default | 1123 | 1146 | 0.98:1 |
PopupMinimalPerf.default | 346 | 358 | 0.97:1 |
SplitButtonMinimalPerf.default | 2209 | 2269 | 0.97:1 |
ChatMinimalPerf.default | 424 | 440 | 0.96:1 |
ProviderMergeThemesPerf.default | 640 | 664 | 0.96:1 |
IconMinimalPerf.default | 387 | 403 | 0.96:1 |
TableMinimalPerf.default | 219 | 239 | 0.92:1 |
change/@fluentui-web-components-a2072109-cb0f-486e-9cbe-81ebc19d21c4.json
Outdated
Show resolved
Hide resolved
Perf Analysis (
|
Scenario | Render type | Master Ticks | PR Ticks | Iterations | Status |
---|---|---|---|---|---|
BaseButton | mount | 649 | 633 | 5000 | |
Breadcrumb | mount | 1738 | 1722 | 1000 | |
Checkbox | mount | 1763 | 1736 | 5000 | |
CheckboxBase | mount | 1517 | 1486 | 5000 | |
ChoiceGroup | mount | 2988 | 3026 | 5000 | |
ComboBox | mount | 678 | 696 | 1000 | |
CommandBar | mount | 6807 | 6797 | 1000 | |
ContextualMenu | mount | 15990 | 15798 | 1000 | |
DefaultButton | mount | 822 | 827 | 5000 | |
DetailsRow | mount | 2269 | 2213 | 5000 | |
DetailsRowFast | mount | 2219 | 2248 | 5000 | |
DetailsRowNoStyles | mount | 2065 | 2054 | 5000 | |
Dialog | mount | 2799 | 2873 | 1000 | |
DocumentCardTitle | mount | 237 | 228 | 1000 | |
Dropdown | mount | 2033 | 2038 | 5000 | |
FocusTrapZone | mount | 1136 | 1167 | 5000 | |
FocusZone | mount | 1105 | 1120 | 5000 | |
GroupedList | mount | 43313 | 42988 | 2 | |
GroupedList | virtual-rerender | 20578 | 20669 | 2 | |
GroupedList | virtual-rerender-with-unmount | 52992 | 52847 | 2 | |
GroupedListV2 | mount | 234 | 243 | 2 | |
GroupedListV2 | virtual-rerender | 226 | 229 | 2 | |
GroupedListV2 | virtual-rerender-with-unmount | 244 | 243 | 2 | |
IconButton | mount | 1155 | 1159 | 5000 | |
Label | mount | 347 | 356 | 5000 | |
Layer | mount | 2747 | 2756 | 5000 | |
Link | mount | 418 | 407 | 5000 | |
MenuButton | mount | 995 | 1021 | 5000 | |
MessageBar | mount | 21548 | 21493 | 5000 | |
Nav | mount | 2033 | 2027 | 1000 | |
OverflowSet | mount | 802 | 798 | 5000 | |
Panel | mount | 1852 | 1885 | 1000 | |
Persona | mount | 754 | 776 | 1000 | |
Pivot | mount | 936 | 924 | 1000 | |
PrimaryButton | mount | 949 | 935 | 5000 | |
Rating | mount | 4664 | 4735 | 5000 | |
SearchBox | mount | 931 | 954 | 5000 | |
Shimmer | mount | 1919 | 1920 | 5000 | |
Slider | mount | 1355 | 1350 | 5000 | |
SpinButton | mount | 3031 | 2981 | 5000 | |
Spinner | mount | 399 | 398 | 5000 | |
SplitButton | mount | 1936 | 1886 | 5000 | |
Stack | mount | 424 | 413 | 5000 | |
StackWithIntrinsicChildren | mount | 881 | 891 | 5000 | |
StackWithTextChildren | mount | 2778 | 2801 | 5000 | |
SwatchColorPicker | mount | 6466 | 6387 | 5000 | |
TagPicker | mount | 1473 | 1458 | 5000 | |
Text | mount | 393 | 388 | 5000 | |
TextField | mount | 965 | 947 | 5000 | |
ThemeProvider | mount | 857 | 849 | 5000 | |
ThemeProvider | virtual-rerender | 581 | 591 | 5000 | |
ThemeProvider | virtual-rerender-with-unmount | 1308 | 1312 | 5000 | |
Toggle | mount | 593 | 636 | 5000 | |
buttonNative | mount | 201 | 196 | 5000 |
packages/web-components/src/horizontalbarchart/horizontalbarchart.ts
Outdated
Show resolved
Hide resolved
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.
Saw this request and fui-wc review, so I've added some initial comments. I think the main areas of concern for me are:
- Use of Tabster - this would increase our bundle size by 50~75%
- Render functions seem overloaded with DOM manipulation functions. Seems like some of that could be cleaned up and abstracted out to the template.
packages/web-components/src/horizontalbarchart/horizontalbarchart.ts
Outdated
Show resolved
Hide resolved
packages/web-components/src/donut-chart/donut-chart.template.ts
Outdated
Show resolved
Hide resolved
packages/web-components/src/horizontalbarchart/horizontalbarchart.styles.ts
Outdated
Show resolved
Hide resolved
🕵 fluentui-web-components-v3 No visual regressions between this PR and main |
packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/donut-chart/donut-chart.template.ts
Show resolved
Hide resolved
packages/charts/chart-web-components/src/donut-chart/donut-chart.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/donut-chart/donut-chart.styles.ts
Outdated
Show resolved
Hide resolved
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.
please see comments, there is some action needed before getting approval from v-build. ty
packages/charts/chart-web-components/src/donut-chart/donut-chart.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts
Outdated
Show resolved
Hide resolved
packages/charts/chart-web-components/src/horizontal-bar-chart/horizontal-bar-chart.ts
Outdated
Show resolved
Hide resolved
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.
v-build related changes
To summarize, tabster is not working as expected for web components. It has been removed. |
Dismissing my review - once Dave has reviewed and signed off, GTG
Previous Behavior
New Behavior
Create chart controls as web components.
This PR introduces the following charts:
The functionality and design is aligned with their corresponding v8 implementation.
Related Issue(s)