Here is a toggle button that animates into a fullscreen menu. The challenge was to transition a circle shape into a rectangle shape of the browser's viewport. It is responsive and works no matter the screen orientation.
There are three main elements to making this interaction possible. You can think of them as layers if it helps.
There are two click interactions on the burger. The first interaction came with it when I copied it from the cloned Burgers Vol 1 project. The second interaction is controlling the menu and menu-bkgd elements.
It became necessary to control the movement path and growth separately.
With interaction controls there's the ability to adjust the timing with Easing, however in order to get a more organic smooth animation we need to move in a non-linear path. No more A⇢B. To get a curved vector path of motion, it is necessary to separate the movement along the X and Y axis and invert the easing.
Yay! Now we get a smooth curved animation path. The rest of the interaction animations are the normal stuff of move, scale, and so on.
To better see what I'm talking about, the toggle below will turn on borders for the main elements and activate interactions that are 10x slower than normal. Try it.