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

feat(HeightAnimation): adjust height with animation when content changes #1569

Merged
merged 1 commit into from
Sep 23, 2022

Conversation

tujoworker
Copy link
Member

@tujoworker tujoworker commented Sep 20, 2022

This PR is a small adjustment in order to adjust the height automatically when its opened and the content changes.

While nested content will disappear immediately (by React), we make the height animation smooth, especially for the content below.

Preview.

Some thoughts: Here we enter a grey-zone for when this will be needed and useful. There are may other ways to solve the whole animation stagey. Like make a copy of effected DOM elements and use these for the animation, especially during disappearance.

  • Add integration test

@tujoworker tujoworker force-pushed the feat/height-animation-transitions branch from 673e754 to 49b7efb Compare September 20, 2022 12:08
@tujoworker tujoworker changed the title fix(HeightAnimation): only hide overflow during animation feat(HeightAnimation): adjust height with animation when content changes Sep 20, 2022
@codesandbox-ci
Copy link

codesandbox-ci bot commented Sep 20, 2022

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 59e97eb:

Sandbox Source
eufemia-starter Configuration

@gatsby-cloud
Copy link

gatsby-cloud bot commented Sep 20, 2022

✅ DNB Eufemia Portal deploy preview ready

@tujoworker tujoworker force-pushed the feat/height-animation-transitions branch from 49b7efb to 9aa2a0c Compare September 20, 2022 18:30
@tujoworker tujoworker marked this pull request as ready for review September 20, 2022 18:53
@tujoworker tujoworker requested a review from langz September 21, 2022 07:49
@tujoworker tujoworker force-pushed the feat/height-animation-transitions branch from 9aa2a0c to ae1bf53 Compare September 21, 2022 08:02
@langz
Copy link
Contributor

langz commented Sep 21, 2022

I do find it a bit difficult to evaluate the different ways of solving the animation strategy.
I think this approach looks alright, and think it could be a good strategy going forward with 🔮

@langz
Copy link
Contributor

langz commented Sep 21, 2022

Here's a video of me clicking a bit around in the preview

I am not sure if it's the code of the component or the "example code" that makes it sometimes feel a bit "janky"(the "change height as well"-button sort of flashes in or out, etc. See video around 13/14 sec and 22/23 sec.)

Screen.Recording.2022-09-21.at.11.31.45.mov

Also it seems like the borders/edges of the "change height as well"-button is also cut at times.

Screenshot 2022-09-21 at 11 36 47

@tujoworker
Copy link
Member Author

tujoworker commented Sep 22, 2022

Here's a video of me clicking a bit around in the preview

I am not sure if it's the code of the component or the "example code" that makes it sometimes feel a bit "janky"(the "change height as well"-button sort of flashes in or out, etc. See video around 13/14 sec and 22/23 sec.)
Screen.Recording.2022-09-21.at.11.31.45.mov

Also it seems like the borders/edges of the "change height as well"-button is also cut at times.

Screenshot 2022-09-21 at 11 36 47

Regarding the cut edges, this happens due to the fact that we want to have overflow-y: hidden – but you can not overflow only in once direction – yet. It only should "cut" during animation.

@tujoworker tujoworker force-pushed the feat/height-animation-transitions branch 4 times, most recently from 7d4644a to 1062e8f Compare September 23, 2022 06:12
@tujoworker tujoworker force-pushed the feat/height-animation-transitions branch from 1062e8f to 59e97eb Compare September 23, 2022 06:12
@tujoworker tujoworker merged commit f0779c2 into main Sep 23, 2022
@tujoworker tujoworker deleted the feat/height-animation-transitions branch September 23, 2022 07:21
tujoworker pushed a commit that referenced this pull request Oct 3, 2022
# [9.31.0](v9.30.0...v9.31.0) (2022-10-03)

### Bug Fixes

* **Accordion:** support nested accordions ([#1595](#1595)) ([dc14a79](dc14a79))
* **AnimateHeight:** [internal] rewrite to TypeScript ([#1570](#1570)) ([e2f0f0d](e2f0f0d))
* **Autocomplete:** ensure value is not visible behind the trigger button ([#1543](#1543)) ([de65acb](de65acb))
* **Autocomplete:** make DrawerList direction observer work ([#1535](#1535)) ([fcdf9f8](fcdf9f8))
* **Autocomplete:** touch device issue: ensure focus is set after second input focus ([#1540](#1540)) ([2f3b82e](2f3b82e))
* **Avatar:** don't overwrite SVG color ([#1579](#1579)) ([a6b3f50](a6b3f50))
* **DrawerList:** remove unused white area on the right side ([#1542](#1542)) ([b5575e7](b5575e7)), closes [#1531](#1531)
* **Input:** ensure dnb-input--null class will not be set ([#1544](#1544)) ([885d2d1](885d2d1))
* **Modal:** Safari Desktop fullscreen video issue ([#1582](#1582)) ([5219ccd](5219ccd))
* **PaginationInfinity:** ensure the load button does not appear when current_page decreases ([#1147](#1147)) ([e19a377](e19a377))
* **Section:** fix spacing + rewrite to TypeScript ([#1573](#1573)) ([4352495](4352495))
* **Slider:** enhance Safari (desktop) UX ([#1539](#1539)) ([6ca785f](6ca785f))
* **Slider:** make it optional to provide an updated prop value ([#1537](#1537)) ([ff1f3b7](ff1f3b7))
* **StepIndicator:** change chevron icon to pointing to the right ([#1541](#1541)) ([8529d8c](8529d8c))
* **Tooltip:** convert to camelCase props with backwards compatibility ([#1557](#1557)) ([24285cb](24285cb))
* **Tooltip:** convert to TypeScript ([#1549](#1549)) ([9789ec6](9789ec6))
* **Tooltip:** ensure controlled active prop takes presence ([#1547](#1547)) ([ac28883](ac28883)), closes [#1411](#1411)
* **Tooltip:** fix React Portal handling ([#1588](#1588)) ([26f4c61](26f4c61))
* **Tooltip:** merge style property with internal ([#1591](#1591)) ([b3e3901](b3e3901))
* **Tooltip:** refactor tests from Enzyme to TestingLib ([#1553](#1553)) ([dde8576](dde8576))
* **Tooltip:** remove unused FormRow integration ([#1589](#1589)) ([be37918](be37918))
* **Tooltip:** rewrite to functional components with React Hooks ([#1555](#1555)) ([8b04fc2](8b04fc2))
* **Tooltip:** use Eufemia cubic-bezier for animations ([#1552](#1552)) ([c60b3a6](c60b3a6))

### Features

* **Breadcrumb:** add animation when in collapse mode ([#1563](#1563)) ([ded90c2](ded90c2))
* **Breadcumb:** align spacing and add small, medium and large ([#1574](#1574)) ([cf4c312](cf4c312))
* **DefinitionList:** add horizontal direction (inline) support ([#1536](#1536)) ([59ec706](59ec706))
* **Easing:** expose default CSS easing with --easing-default ([#1562](#1562)) ([c18b021](c18b021))
* **HeightAnimation:** add new height animation component ([#1566](#1566)) ([72b1da5](72b1da5))
* **HeightAnimation:** add onInit to get animation instance ([#1597](#1597)) ([bf4e656](bf4e656))
* **HeightAnimation:** adjust height with animation when content changes ([#1569](#1569)) ([f0779c2](f0779c2))
* **HelpButton:** rewrite to TypeScript ([#1565](#1565)) ([d4f26c3](d4f26c3))
* **icons:** add "file_jpg, file_png, fish, newspaper, sort" icon ([#1575](#1575)) ([bf3769f](bf3769f))
* **InteractionInvalidation:** add options for partial invalidation (tabIndex and ariaHidden) ([#1559](#1559)) ([6cfc235](6cfc235))
* **Logo:** add inherit_color prop ([#1578](#1578)) ([0983343](0983343))
* **Slider:** add tooltip on active thumb button ([#1529](#1529)) ([437f81c](437f81c))
* **Tooltip:** add skip_portal property ([#1545](#1545)) ([7f492a5](7f492a5))
* **useMediaQuery:** add disable as an option ([#1572](#1572)) ([6078cb4](6078cb4))
@tujoworker
Copy link
Member Author

🎉 This PR is included in version 9.31.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging this pull request may close these issues.

2 participants