Skip to content
This repository has been archived by the owner on Mar 4, 2020. It is now read-only.

feat(styles): typing improvements #2312

Merged
merged 2 commits into from
Feb 4, 2020
Merged

Conversation

mnajdova
Copy link
Contributor

@mnajdova mnajdova commented Feb 4, 2020

This PR fixes the typings for the resolved styles on several places. There is new type added ComponentSlotStylesResolved, that replaces the incorrect ComponentSlotStylesPrepared in the return value of

  • useStyles
  • createComponent

BREAKING CHANGES

  • UseStylesResult changes

Prev

UseStylesResult = {
  classes: ComponentSlotClasses
  styles: ComponentSlotStylesPrepared
}

Now

UseStylesResult = {
  classes: ComponentSlotClasses
  styles: ComponentSlotStylesResolved
}
  • CreateComponentRenderConfig changes

Prev

export interface CreateComponentRenderConfig {
  accessibility: ReactAccessibilityBehavior
  classes: ComponentSlotClasses
  rtl: boolean
  styles: ComponentSlotStylesPrepared
}

Now

export interface CreateComponentRenderConfig {
  accessibility: ReactAccessibilityBehavior
  classes: ComponentSlotClasses
  rtl: boolean
  styles: ComponentSlotStylesResolved
}

@layershifter layershifter added ready for merge 🧰 fix Introduces fix for broken behavior. labels Feb 4, 2020
@DustyTheBot
Copy link
Collaborator

Perf comparison

Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🔧 Avatar.Fluent 0.55 0.36 1.53:1 2000 1101
🔧 Button.Fluent 1.17 0.15 7.8:1 1000 1170
🔧 Checkbox.Fluent 1.34 0.27 4.96:1 1000 1335
🔧 Dialog.Fluent 0.31 0.16 1.94:1 5000 1556
🔧 Dropdown.Fluent 3.2 0.34 9.41:1 1000 3198
🔧 Icon.Fluent 0.23 0.03 7.67:1 5000 1152
🔧 Image.Fluent 0.09 0.07 1.29:1 5000 473
🔧 Slider.Fluent 1.89 0.28 6.75:1 1000 1886
🦄 Text.Fluent 0.05 0.15 0.33:1 5000 249
🦄 Tooltip.Fluent 0.38 16.19 0.02:1 5000 1903

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
ButtonSlotsPerf.default 2191 1729 1.27:1
AccordionMinimalPerf.default 242 220 1.1:1
FlexMinimalPerf.default 391 354 1.1:1
ListMinimalPerf.default 685 622 1.1:1
ImageMinimalPerf.default 521 479 1.09:1
PortalMinimalPerf.default 275 252 1.09:1
PopupMinimalPerf.default 428 396 1.08:1
ToolbarMinimalPerf.default 714 663 1.08:1
ChatDuplicateMessagesPerf.default 553 517 1.07:1
ButtonMinimalPerf.default 1355 1280 1.06:1
ProviderMinimalPerf.default 584 552 1.06:1
LabelMinimalPerf.default 1731 1649 1.05:1
ReactionMinimalPerf.default 2478 2363 1.05:1
BoxMinimalPerf.default 228 220 1.04:1
DialogMinimalPerf.default 1686 1623 1.04:1
Slider.Fluent 1886 1811 1.04:1
Text.Fluent 249 240 1.04:1
ChatMinimalPerf.default 1691 1641 1.03:1
DividerMinimalPerf.default 891 864 1.03:1
RefMinimalPerf.default 158 153 1.03:1
StatusMinimalPerf.default 835 808 1.03:1
Tooltip.Fluent 1903 1856 1.03:1
TableMinimalPerf.default 539 527 1.02:1
AttachmentMinimalPerf.default 936 928 1.01:1
CarouselMinimalPerf.default 1925 1913 1.01:1
GridMinimalPerf.default 851 846 1.01:1
HeaderSlotsPerf.default 1254 1243 1.01:1
ListCommonPerf.default 1046 1032 1.01:1
RadioGroupMinimalPerf.default 371 366 1.01:1
SplitButtonMinimalPerf.default 11039 10953 1.01:1
VideoMinimalPerf.default 674 668 1.01:1
HeaderMinimalPerf.default 410 410 1:1
LayoutMinimalPerf.default 491 493 1:1
LoaderMinimalPerf.default 2405 2412 1:1
Button.Fluent 1170 1166 1:1
Dialog.Fluent 1556 1559 1:1
AlertMinimalPerf.default 585 593 0.99:1
AnimationMinimalPerf.default 488 491 0.99:1
Image.Fluent 473 479 0.99:1
CheckboxMinimalPerf.default 6719 6864 0.98:1
TextMinimalPerf.default 250 254 0.98:1
TextAreaMinimalPerf.default 2707 2766 0.98:1
Checkbox.Fluent 1335 1361 0.98:1
Icon.Fluent 1152 1179 0.98:1
HierarchicalTreeMinimalPerf.default 731 754 0.97:1
MenuMinimalPerf.default 1745 1808 0.97:1
SegmentMinimalPerf.default 1398 1444 0.97:1
SliderMinimalPerf.default 1900 1959 0.97:1
Dropdown.Fluent 3198 3294 0.97:1
AttachmentSlotsPerf.default 3591 3732 0.96:1
InputMinimalPerf.default 986 1025 0.96:1
MenuButtonMinimalPerf.default 1469 1547 0.95:1
TooltipMinimalPerf.default 2094 2213 0.95:1
IconMinimalPerf.default 1059 1123 0.94:1
ItemLayoutMinimalPerf.default 1561 1659 0.94:1
TreeMinimalPerf.default 823 879 0.94:1
ChatWithPopoverPerf.default 562 603 0.93:1
CustomToolbarPrototype.default 3611 3869 0.93:1
EmbedMinimalPerf.default 6074 6735 0.9:1
FormMinimalPerf.default 775 870 0.89:1
DropdownManyItemsPerf.default 465 532 0.87:1
Avatar.Fluent 1101 1281 0.86:1
DropdownMinimalPerf.default 3673 4304 0.85:1
AvatarMinimalPerf.default 621 776 0.8:1
ProviderMergeThemesPerf.default 1114 1526 0.73:1

Generated by 🚫 dangerJS

@mnajdova mnajdova merged commit 077f0cb into master Feb 4, 2020
@mnajdova mnajdova deleted the feat/improve-styles-typings branch February 4, 2020 13:23
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
🧰 fix Introduces fix for broken behavior. ready for merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants