microsoft / fluentui

Fluent UI web represents a collection of utilities, React components, and web components for building web applications.
https://react.fluentui.dev
Other
18.28k stars 2.71k forks source link

[Feature]: implement support for motion groups & sequences #30547

Open layershifter opened 6 months ago

layershifter commented 6 months ago

Library

React Components / v9 (@fluentui/react-components)

Describe the feature that you would like added

To implement more complex motions like below:

gantt
    title Balloon movement motion
    dateFormat  YYYY
    axisFormat %Yms
    section Group 1
    opacity, 0 => 1 (1000ms) : 0000, 1000y
    transformX, 0 => 100px (500ms) : :a1, 0000, 500y
    section Group 2
    transformX, 100px => 200px (500ms) : :a1, 1001, 500y
    transformY, 0 => 200px (1000ms) : :a1, 1001, 1000y
    section Group 3
    opacity, 1 => 0 (500ms) : :a1, 2000, 500y

We need to get API support for that as current factories (createAtom(), createPresence()) support only a single keyframe definition. For context, check the discussion: https://github.com/microsoft/fluentui/pull/29958#discussion_r1486133836

Have you discussed this feature with our team

@microsoft/teams-prg @marcosmoura

Additional context

Prototype is available in #30531.

Validations

Priority

High

layershifter commented 3 months ago

Support for grouped (multiple motions) have been implemented in #31487.

miroslavstastny commented 3 months ago

Groups supported. Delay can be used as a workaround for sequences. Putting this issue on hold for couple of months to gather feedback.