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

feature: improve compose() signature #12745

Merged
merged 38 commits into from
Apr 23, 2020
Merged

feature: improve compose() signature #12745

merged 38 commits into from
Apr 23, 2020

Conversation

layershifter
Copy link
Member

@layershifter layershifter commented Apr 16, 2020

This PR updates the compose signature to allow us to use it for creating as well as composing compoennts.

Examples:

const Button = compose<'button', ButtonProps, ButtonStylesProps, {}, {}>(
  (props, ref, composeOptions) => {
    // component's code
  },
  {
    className: buttonClassName,
    displayName: 'Button',

    handledProps: [
      'accessibility',
      'as',
      'children',
      'circular',
      'className',
      'content',
      'styles',
      'variables',
    ],
  },
)
const AttachmentAction = compose<
  'button',
  AttachmentActionOwnProps,
  AttachmentActionStylesProps,
  ButtonProps,
  ButtonStylesProps
>(Button, {
  className: attachmentActionClassName,
  displayName: 'AttachmentAction',
});

@size-auditor
Copy link

size-auditor bot commented Apr 16, 2020

Asset size changes

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

Baseline commit: a7de477cfecd904300a45c78cfad3f3a456de035 (build)

@msft-github-bot
Copy link
Contributor

msft-github-bot commented Apr 17, 2020

Perf Analysis

No significant results to display.

All results

Scenario Master Ticks PR Ticks Iterations Status
BaseButton 806 841 5000
Checkbox 1548 1572 5000
CheckboxBase 1299 1323 5000
ChoiceGroup 4874 4842 5000
ComboBox 894 911 1000
CommandBar 6875 7119 1000
ContextualMenu 13150 12267 1000
DefaultButton 1057 1031 5000
DetailsRow 3324 3408 5000
DetailsRow (fast icons) 3361 3310 5000
DetailsRow without styles 3138 3063 5000
Dialog 1449 1450 1000
DocumentCardTitle with truncation 1513 1498 1000
Dropdown 2375 2438 5000
FocusZone 1486 1480 5000
IconButton 1668 1732 5000
Label 280 275 5000
Link 440 437 5000
MenuButton 1398 1445 5000
Nav 2995 3022 1000
Panel 1384 1440 1000
Persona 781 829 1000
Pivot 1284 1244 1000
PrimaryButton 1185 1181 5000
SearchBox 1251 1238 5000
Slider 1484 1416 5000
Spinner 377 357 5000
SplitButton 2959 2995 5000
Stack 445 470 5000
Stack with Intrinsic children 1059 1070 5000
Stack with Text children 4176 4207 5000
TagPicker 2533 2676 5000
Text 366 372 5000
TextField 1326 1331 5000
Toggle 862 880 5000
button 52 59 5000

Perf Analysis (Fluent)

⚠️ 25 potential perf regressions detected

Potential regressions comparing to master

Scenario Current PR Ticks Baseline Ticks Ratio Regression Analysis
AttachmentSlotsPerf.default 1160 1081 1.07:1 analysis
ButtonMinimalPerf.default 175 166 1.05:1 analysis
ButtonSlotsPerf.default 631 609 1.04:1 analysis
InputMinimalPerf.default 960 925 1.04:1 analysis
LoaderMinimalPerf.default 790 762 1.04:1 analysis
Dropdown.Fluent 3169 3079 1.03:1 analysis
CarouselMinimalPerf.default 596 587 1.02:1 analysis
ListNestedPerf.default 908 891 1.02:1 analysis
AvatarMinimalPerf.default 503 499 1.01:1 analysis
DropdownManyItemsPerf.default 1334 1328 1:1 analysis
EmbedMinimalPerf.default 4128 4140 1:1 analysis
Button.Fluent 533 535 1:1 analysis
DropdownMinimalPerf.default 3183 3212 0.99:1 analysis
Avatar.Fluent 936 947 0.99:1 analysis
ChatWithPopoverPerf.default 577 588 0.98:1 analysis
ListCommonPerf.default 987 1007 0.98:1 analysis
ListWith60ListItems.default 1157 1183 0.98:1 analysis
Checkbox.Fluent 605 616 0.98:1 analysis
Slider.Fluent 1315 1341 0.98:1 analysis
BoxMinimalPerf.default 331 341 0.97:1 analysis
TreeWith60ListItems.default 213 223 0.96:1 analysis
CheckboxMinimalPerf.default 2822 2984 0.95:1 analysis
SliderMinimalPerf.default 1281 1348 0.95:1 analysis
AlertMinimalPerf.default 298 322 0.93:1 analysis
ChatDuplicateMessagesPerf.default 372 420 0.89:1 analysis
Perf comparison
Status Scenario Fluent TPI Fabric TPI Ratio Iterations Ticks
🔧 Avatar.Fluent 0.47 0.46 1.02:1 2000 936
🦄 Button.Fluent 0.11 0.18 0.61:1 5000 533
🔧 Checkbox.Fluent 0.61 0.35 1.74:1 1000 605
🔧 Dialog.Fluent 0.35 0.21 1.67:1 5000 1765
🔧 Dropdown.Fluent 3.17 0.42 7.55:1 1000 3169
🔧 Icon.Fluent 0.14 0.05 2.8:1 5000 676
🎯 Image.Fluent 0.08 0.1 0.8:1 5000 376
🔧 Slider.Fluent 1.32 0.36 3.67:1 1000 1315
🔧 Text.Fluent 0.07 0.02 3.5:1 5000 336
🦄 Tooltip.Fluent 0.09 15.09 0.01:1 5000 450

🔧 Needs work     🎯 On target     🦄 Amazing

Perf tests with no regressions
Scenario Current PR Ticks Baseline Ticks Ratio
GridMinimalPerf.default 708 667 1.06:1
HeaderMinimalPerf.default 534 502 1.06:1
HierarchicalTreeMinimalPerf.default 1067 1030 1.04:1
ProviderMergeThemesPerf.default 1523 1462 1.04:1
FormMinimalPerf.default 821 800 1.03:1
StatusMinimalPerf.default 734 711 1.03:1
DialogMinimalPerf.default 1818 1791 1.02:1
LayoutMinimalPerf.default 584 575 1.02:1
ReactionMinimalPerf.default 1914 1883 1.02:1
TextAreaMinimalPerf.default 2772 2706 1.02:1
DividerMinimalPerf.default 764 757 1.01:1
MenuMinimalPerf.default 1867 1850 1.01:1
PortalMinimalPerf.default 306 303 1.01:1
ProviderMinimalPerf.default 668 663 1.01:1
RadioGroupMinimalPerf.default 606 599 1.01:1
SegmentMinimalPerf.default 959 948 1.01:1
TreeMinimalPerf.default 1232 1219 1.01:1
Dialog.Fluent 1765 1753 1.01:1
HeaderSlotsPerf.default 1494 1488 1:1
RefMinimalPerf.default 190 190 1:1
SplitButtonMinimalPerf.default 3413 3411 1:1
CustomToolbarPrototype.default 3508 3498 1:1
AttachmentMinimalPerf.default 149 150 0.99:1
TableMinimalPerf.default 568 574 0.99:1
ToolbarMinimalPerf.default 1046 1060 0.99:1
AnimationMinimalPerf.default 644 657 0.98:1
CardMinimalPerf.default 600 611 0.98:1
LabelMinimalPerf.default 430 439 0.98:1
MenuButtonMinimalPerf.default 1551 1575 0.98:1
TextMinimalPerf.default 362 368 0.98:1
ChatMinimalPerf.default 621 640 0.97:1
ImageMinimalPerf.default 376 387 0.97:1
ItemLayoutMinimalPerf.default 1724 1769 0.97:1
ListMinimalPerf.default 492 505 0.97:1
IconMinimalPerf.default 659 681 0.97:1
TooltipMinimalPerf.default 697 722 0.97:1
Tooltip.Fluent 450 462 0.97:1
AccordionMinimalPerf.default 211 222 0.95:1
FlexMinimalPerf.default 304 319 0.95:1
PopupMinimalPerf.default 238 252 0.94:1
Icon.Fluent 676 719 0.94:1
Image.Fluent 376 400 0.94:1
Text.Fluent 336 362 0.93:1
VideoMinimalPerf.default 598 648 0.92:1

mnajdova and others added 2 commits April 20, 2020 16:58
-fixed screener
Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>
mapPropsToStylesPropsChain: (composeOptions.mapPropsToStylesProps
? [...inputOptions.mapPropsToStylesPropsChain, composeOptions.mapPropsToStylesProps]
: inputOptions.mapPropsToStylesPropsChain) as ((props: ParentStylesProps & InputProps) => InputStylesProps)[],
if ((input as InputComposeComponent).defaultProps) {
Copy link
Contributor

Choose a reason for hiding this comment

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

@layershifter I guess this cast makes sense, as defaultProps will exists only on the components. Am I right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yep

mnajdova and others added 3 commits April 20, 2020 18:08
# Conflicts:
#	packages/fluentui/react-northstar/src/components/Attachment/AttachmentAction.tsx
#	packages/fluentui/react-northstar/src/components/Attachment/AttachmentBody.tsx
#	packages/fluentui/react-northstar/src/components/Attachment/AttachmentDescription.tsx
#	packages/fluentui/react-northstar/src/components/Attachment/AttachmentIcon.tsx
#	packages/fluentui/react-northstar/src/components/Box/Box.tsx
#	packages/fluentui/react-northstar/src/components/Button/Button.tsx
#	packages/fluentui/react-northstar/src/components/Button/ButtonContent.tsx
#	packages/react-compose/etc/react-compose.api.md
#	packages/react-compose/src/compose.ts
#	packages/react-compose/src/types.ts
mnajdova and others added 6 commits April 21, 2020 21:53
Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>
@miroslavstastny miroslavstastny merged commit 4fa63df into master Apr 23, 2020
@msft-github-bot
Copy link
Contributor

🎉@fluentui/react-compose@v0.2.9 has been released which incorporates this pull request.:tada:

Handy links:

assuncaocharles pushed a commit to assuncaocharles/fluentui that referenced this pull request Apr 23, 2020
* feat: compose sig

* wip

* bump api

* -cleanup

* -changed compose tests

* -fixed any

* -fixed screener regressions

* -fixed build issues
-fixed screener

* Update packages/react-compose/src/types.ts

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

* fix types in ButtonContent

* -update api

* -test updates

* -ts fixes

* -added shorthandConfig in Button component

* -fixed compose test

* -fix

* Update packages/fluentui/react-northstar/src/components/Box/Box.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Button/Button.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* fixes

* wip

* fix RefForward to handle `innerRef` changes

* reverted Accordion changes

* -tslint disable

* -screener diff

* -testing

* -reverted changes

* -better description

* fix build

* changelog entry

* Update packages/fluentui/CHANGELOG.md

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>
assuncaocharles added a commit that referenced this pull request Apr 24, 2020
* Roster prototype

* Section not public.

* firt raw version of multiselect tree availability

* unit tests fix

* changing to proper default selection usage

* adressing comment from review, moving Enter filtration to behaviors

* improving code

* polish name, removing not used import

* fixing based on the review, adding screener tests

* removing not used line

* adding behavior test and running lint fix

* feat(Roster): Suggestion with prop `as`

* feat(Roster): Fix keyboard navigation

* feat(Roster): Add Selecttion event

* changing shorthand from ts to tsx

* feat(Roster): Add multiselection

* feat(Roster): Remove Console

* adressing review changes and fix console errors

* feat(Roster): Fix styles for select all

* fixing unstability in screener toolbar test

* improving screener test to cover one more scenario

* feat(Roster): Adding custom idicator prop to the tree

* feat(Roster): Click on item

* feat(Roster): Fix selection

* feat(Roster): add data-is-focusable to custom checkbox

* feat(Roster): Rename props

* fixes from review

* fix from merging another branch

* map prop to behavior

* removing roster prototype

* removing leftover from sidebar

* changing name for custom checkbox

* fixing navigation into cell which has multiple focusable elements

* updating changelog

* feat(Roster): Replace as with children in the data

* feat(Tree): Fix tree selection

* feat(Tree): Remove dead file

* adding table keyboard navigation tests

* deleting from master

* adding table keyboard navigation tests

* deleting files from master, pushed by mistaked

* feat(Tree): remove dup spread props

* feat(Tree): Revert context value prop

* Update packages/fluentui/accessibility/src/behaviors/Tree/treeItemBehavior.ts

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeItem.tsx

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeTitle.tsx

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/react-northstar/src/themes/teams/components/Tree/treeTitleVariables.ts

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/accessibility/src/behaviors/Tree/treeTitleBehavior.ts

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/Tree.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeItem.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* feat(Tree): Temp removing option to pass a custom checkbox to the selectable tree

* Update packages/fluentui/docs/src/examples/components/Tree/Usage/TreeMultiselectExample.shorthand.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* feat(Tree): Reduce over forEach

* feat(Tree): Typo

* Update packages/fluentui/accessibility/test/behaviors/treeTitleBehavior-test.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* feat(Tree): Enable select all nested children

* feat(Tree): Fix select on right click

* feat(Tree): Reverting non-related file

* feat(Tree): Fix tree title behavior tests

* feat(Tree): Fix behavior test for subTree

* feat(Tree): Outline treetitle as block  when selectable

* feat(Tree): Custom Select Indicator

* feat(Tree): Remove focus from custom checkbox

* feat(Tree): fix select all

* removing rtl types and fix if condition for not selectable item

* adding example that will handle custom selectable parent and default

* adding methods to check if all or some of children of a groups has been selected

* handling incompleted group selected

* adding icon for 3rd checkbox state

* feat(Tree): Improve determinated state for selectable parent

* feat(Tree): enable toggle parent select using keyboard

* feat(Tree): indeterminated state url file

* chore(treeTitleVariables): remove lodash

* feat(Tree): border color

* feat(Tree): add step

* feat(Tree): Remove Dup File

* feat(Tree): Right condition

* feat(Tree): Adapt example

* feat(Tree): Fix behavior test

* feat(Tree): Toggle multiselection

* feat(Tree): Toggle multiselection

* feat(Tree): Remove keyboard import

* feat(Tree): Fix conditions

* feat(Tree): Fix test behaviors

* feat(Tree): Remove select on enter

* feat(Tree): Active items test

* feat(Tree): Space select screenshot

* feat(Tree): Review changes

* feat(Tree): Fix test

* feat(Tree): remove log

* feat(Tree): steps

* fix(Dropdown): don't clear value on same item selection (#12784)

* fix same item selection

* improve the unit test

* changelog

* improve code

* hide/unhide legends (#12469)

* adding new prop hideLegend in donut chart and line chart which decides to show or hide legends

* Change files

Co-authored-by: v-sivsar <v-sivsar@microsoft.com>

* User/v sivsar/linchart line click (#12548)

* adding onclick to the line in the line chart

* Change files

Co-authored-by: v-sivsar <v-sivsar@microsoft.com>

* chore(TableRow): Convert to FC (#12797)

* Convert TableRow to FC

* Update Changlelog

* Fix imports

* Apply suggestions from code review

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Add TableRow onClick to handled props

* Properly add onClick to handledProps

Co-authored-by: Marija Najdova <mnajdova@gmail.com>

* FocusZone: Adding preventDefaultWhenHandled to v7 version (#12636)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR brings the `preventDefaultWhenHandled` prop from the v0 version of `FocusZone` to the v7 version. This prop, if true, prevents the default behavior of focus events.

#### Focus areas to test

(optional)

* FocusZone: Updating comment for preventDefaultWhenHandled prop (#12830)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

`FocusZone`: Updating comment for `preventDefaultWhenHandled` prop to be consistent across both versions.

#### Focus areas to test

(optional)

* feature: improve `compose()` signature (#12745)

* feat: compose sig

* wip

* bump api

* -cleanup

* -changed compose tests

* -fixed any

* -fixed screener regressions

* -fixed build issues
-fixed screener

* Update packages/react-compose/src/types.ts

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

* fix types in ButtonContent

* -update api

* -test updates

* -ts fixes

* -added shorthandConfig in Button component

* -fixed compose test

* -fix

* Update packages/fluentui/react-northstar/src/components/Box/Box.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Button/Button.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* fixes

* wip

* fix RefForward to handle `innerRef` changes

* reverted Accordion changes

* -tslint disable

* -screener diff

* -testing

* -reverted changes

* -better description

* fix build

* changelog entry

* Update packages/fluentui/CHANGELOG.md

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>

* applying package updates

* Callout: Updating positioning logic to account for dual screen scenarios (#12785)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR updates the positioning logic in the `Callout` component to make it dual-screen aware using the new `windowSegments` API. Components using `Callout` underneath such as `ContextualMenu` are also updated.

This PR also adds a bunch of unit tests checking that the correct bounds for the screen segments are being calculated.

__Before:__
![Before](https://user-images.githubusercontent.com/7798177/79797849-dd11d100-830c-11ea-8303-c1147d8f0f79.gif)

__After:__
![After](https://user-images.githubusercontent.com/7798177/79797858-e13dee80-830c-11ea-8acc-6df9f44148cd.gif)

#### Focus areas to test

* feat(Tree): steps

Co-authored-by: Michal <michal.frdlik@hotmail.com>
Co-authored-by: Milan Turon <mituron@microsoft.com>
Co-authored-by: Milan Turon <milanturon@centrum.cz>
Co-authored-by: Charles Assuncao <chassunc@microsoft.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>
Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Oleksandr Fediashov <alexander.mcgarret@gmail.com>
Co-authored-by: Charles Assuncao <charles.assuncao@microsoft.com>
Co-authored-by: Silviu Alexandru Avram <silviu.avram91@gmail.com>
Co-authored-by: shivasai09 <33802398+shivasai09@users.noreply.github.com>
Co-authored-by: v-sivsar <v-sivsar@microsoft.com>
Co-authored-by: Makoto Morimoto <humbertomakotomorimoto@gmail.com>
Co-authored-by: Oleksandr Fediashov <olfedias@microsoft.com>
Co-authored-by: Fluent UI Build <fluentui-internal@service.microsoft.com>
DuanShaolong pushed a commit to DuanShaolong/fluentui that referenced this pull request Apr 27, 2020
* feat: compose sig

* wip

* bump api

* -cleanup

* -changed compose tests

* -fixed any

* -fixed screener regressions

* -fixed build issues
-fixed screener

* Update packages/react-compose/src/types.ts

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

* fix types in ButtonContent

* -update api

* -test updates

* -ts fixes

* -added shorthandConfig in Button component

* -fixed compose test

* -fix

* Update packages/fluentui/react-northstar/src/components/Box/Box.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Button/Button.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* fixes

* wip

* fix RefForward to handle `innerRef` changes

* reverted Accordion changes

* -tslint disable

* -screener diff

* -testing

* -reverted changes

* -better description

* fix build

* changelog entry

* Update packages/fluentui/CHANGELOG.md

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>
DuanShaolong pushed a commit to DuanShaolong/fluentui that referenced this pull request Apr 27, 2020
…oft#12822)

* Roster prototype

* Section not public.

* firt raw version of multiselect tree availability

* unit tests fix

* changing to proper default selection usage

* adressing comment from review, moving Enter filtration to behaviors

* improving code

* polish name, removing not used import

* fixing based on the review, adding screener tests

* removing not used line

* adding behavior test and running lint fix

* feat(Roster): Suggestion with prop `as`

* feat(Roster): Fix keyboard navigation

* feat(Roster): Add Selecttion event

* changing shorthand from ts to tsx

* feat(Roster): Add multiselection

* feat(Roster): Remove Console

* adressing review changes and fix console errors

* feat(Roster): Fix styles for select all

* fixing unstability in screener toolbar test

* improving screener test to cover one more scenario

* feat(Roster): Adding custom idicator prop to the tree

* feat(Roster): Click on item

* feat(Roster): Fix selection

* feat(Roster): add data-is-focusable to custom checkbox

* feat(Roster): Rename props

* fixes from review

* fix from merging another branch

* map prop to behavior

* removing roster prototype

* removing leftover from sidebar

* changing name for custom checkbox

* fixing navigation into cell which has multiple focusable elements

* updating changelog

* feat(Roster): Replace as with children in the data

* feat(Tree): Fix tree selection

* feat(Tree): Remove dead file

* adding table keyboard navigation tests

* deleting from master

* adding table keyboard navigation tests

* deleting files from master, pushed by mistaked

* feat(Tree): remove dup spread props

* feat(Tree): Revert context value prop

* Update packages/fluentui/accessibility/src/behaviors/Tree/treeItemBehavior.ts

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeItem.tsx

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeTitle.tsx

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/react-northstar/src/themes/teams/components/Tree/treeTitleVariables.ts

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Update packages/fluentui/accessibility/src/behaviors/Tree/treeTitleBehavior.ts

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/Tree.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* Update packages/fluentui/react-northstar/src/components/Tree/TreeItem.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* feat(Tree): Temp removing option to pass a custom checkbox to the selectable tree

* Update packages/fluentui/docs/src/examples/components/Tree/Usage/TreeMultiselectExample.shorthand.tsx

Co-Authored-By: Oleksandr Fediashov <alexander.mcgarret@gmail.com>

* feat(Tree): Reduce over forEach

* feat(Tree): Typo

* Update packages/fluentui/accessibility/test/behaviors/treeTitleBehavior-test.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* feat(Tree): Enable select all nested children

* feat(Tree): Fix select on right click

* feat(Tree): Reverting non-related file

* feat(Tree): Fix tree title behavior tests

* feat(Tree): Fix behavior test for subTree

* feat(Tree): Outline treetitle as block  when selectable

* feat(Tree): Custom Select Indicator

* feat(Tree): Remove focus from custom checkbox

* feat(Tree): fix select all

* removing rtl types and fix if condition for not selectable item

* adding example that will handle custom selectable parent and default

* adding methods to check if all or some of children of a groups has been selected

* handling incompleted group selected

* adding icon for 3rd checkbox state

* feat(Tree): Improve determinated state for selectable parent

* feat(Tree): enable toggle parent select using keyboard

* feat(Tree): indeterminated state url file

* chore(treeTitleVariables): remove lodash

* feat(Tree): border color

* feat(Tree): add step

* feat(Tree): Remove Dup File

* feat(Tree): Right condition

* feat(Tree): Adapt example

* feat(Tree): Fix behavior test

* feat(Tree): Toggle multiselection

* feat(Tree): Toggle multiselection

* feat(Tree): Remove keyboard import

* feat(Tree): Fix conditions

* feat(Tree): Fix test behaviors

* feat(Tree): Remove select on enter

* feat(Tree): Active items test

* feat(Tree): Space select screenshot

* feat(Tree): Review changes

* feat(Tree): Fix test

* feat(Tree): remove log

* feat(Tree): steps

* fix(Dropdown): don't clear value on same item selection (microsoft#12784)

* fix same item selection

* improve the unit test

* changelog

* improve code

* hide/unhide legends (microsoft#12469)

* adding new prop hideLegend in donut chart and line chart which decides to show or hide legends

* Change files

Co-authored-by: v-sivsar <v-sivsar@microsoft.com>

* User/v sivsar/linchart line click (microsoft#12548)

* adding onclick to the line in the line chart

* Change files

Co-authored-by: v-sivsar <v-sivsar@microsoft.com>

* chore(TableRow): Convert to FC (microsoft#12797)

* Convert TableRow to FC

* Update Changlelog

* Fix imports

* Apply suggestions from code review

Co-Authored-By: Marija Najdova <mnajdova@gmail.com>

* Add TableRow onClick to handled props

* Properly add onClick to handledProps

Co-authored-by: Marija Najdova <mnajdova@gmail.com>

* FocusZone: Adding preventDefaultWhenHandled to v7 version (microsoft#12636)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR brings the `preventDefaultWhenHandled` prop from the v0 version of `FocusZone` to the v7 version. This prop, if true, prevents the default behavior of focus events.

#### Focus areas to test

(optional)

* FocusZone: Updating comment for preventDefaultWhenHandled prop (microsoft#12830)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

`FocusZone`: Updating comment for `preventDefaultWhenHandled` prop to be consistent across both versions.

#### Focus areas to test

(optional)

* feature: improve `compose()` signature (microsoft#12745)

* feat: compose sig

* wip

* bump api

* -cleanup

* -changed compose tests

* -fixed any

* -fixed screener regressions

* -fixed build issues
-fixed screener

* Update packages/react-compose/src/types.ts

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

* fix types in ButtonContent

* -update api

* -test updates

* -ts fixes

* -added shorthandConfig in Button component

* -fixed compose test

* -fix

* Update packages/fluentui/react-northstar/src/components/Box/Box.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* Update packages/fluentui/react-northstar/src/components/Button/Button.tsx

Co-Authored-By: Roman Sudarikov <pompomon@users.noreply.github.com>

* fixes

* wip

* fix RefForward to handle `innerRef` changes

* reverted Accordion changes

* -tslint disable

* -screener diff

* -testing

* -reverted changes

* -better description

* fix build

* changelog entry

* Update packages/fluentui/CHANGELOG.md

Co-Authored-By: Oleksandr Fediashov <olfedias@microsoft.com>

Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>

* applying package updates

* Callout: Updating positioning logic to account for dual screen scenarios (microsoft#12785)

#### Pull request checklist

- [ ] Addresses an existing issue: Fixes #0000
- [x] Include a change request file using `$ yarn change`

#### Description of changes

This PR updates the positioning logic in the `Callout` component to make it dual-screen aware using the new `windowSegments` API. Components using `Callout` underneath such as `ContextualMenu` are also updated.

This PR also adds a bunch of unit tests checking that the correct bounds for the screen segments are being calculated.

__Before:__
![Before](https://user-images.githubusercontent.com/7798177/79797849-dd11d100-830c-11ea-8303-c1147d8f0f79.gif)

__After:__
![After](https://user-images.githubusercontent.com/7798177/79797858-e13dee80-830c-11ea-8acc-6df9f44148cd.gif)

#### Focus areas to test

* feat(Tree): steps

Co-authored-by: Michal <michal.frdlik@hotmail.com>
Co-authored-by: Milan Turon <mituron@microsoft.com>
Co-authored-by: Milan Turon <milanturon@centrum.cz>
Co-authored-by: Charles Assuncao <chassunc@microsoft.com>
Co-authored-by: Roman Sudarikov <pompomon@users.noreply.github.com>
Co-authored-by: Marija Najdova <mnajdova@gmail.com>
Co-authored-by: Oleksandr Fediashov <alexander.mcgarret@gmail.com>
Co-authored-by: Charles Assuncao <charles.assuncao@microsoft.com>
Co-authored-by: Silviu Alexandru Avram <silviu.avram91@gmail.com>
Co-authored-by: shivasai09 <33802398+shivasai09@users.noreply.github.com>
Co-authored-by: v-sivsar <v-sivsar@microsoft.com>
Co-authored-by: Makoto Morimoto <humbertomakotomorimoto@gmail.com>
Co-authored-by: Oleksandr Fediashov <olfedias@microsoft.com>
Co-authored-by: Fluent UI Build <fluentui-internal@service.microsoft.com>
@layershifter layershifter deleted the feat/compose-sig branch May 26, 2020 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants