├── .gitattributes ├── LICENSE ├── README.md ├── preview.gif └── src ├── assets ├── align-bottom.svg ├── align-center-h.svg ├── align-center-v.svg ├── align-left.svg ├── align-right.svg ├── align-text-center-active.svg ├── align-text-center.svg ├── align-text-justify-active.svg ├── align-text-justify.svg ├── align-text-left-active.svg ├── align-text-left.svg ├── align-text-right-active.svg ├── align-text-right.svg ├── align-top.svg ├── alyssaimg.jpeg ├── animals.png ├── arrow.svg ├── audio-active.svg ├── audio.svg ├── audio.wav ├── audio │ ├── both-of-us-thumb.png │ ├── both-of-us.mp3 │ ├── epic-cinematic-trailer-thumb.png │ ├── epic-cinematic-trailer.mp3 │ ├── everything-feels-new-thumb.png │ ├── everything-feels-new.mp3 │ ├── inspirational-background-thumb.png │ ├── inspirational-background.mp3 │ ├── lofi-thumb.png │ ├── lofi.mp3 │ ├── stomping-rock-thumb.png │ ├── stomping-rock.mp3 │ ├── the-podcast-intro-thumb.png │ ├── the-podcast-intro.mp3 │ ├── tropical-summer-music-thumb.png │ └── tropical-summer-music.mp3 ├── avatar-temp.png ├── background.png ├── beach.png ├── bevel-active.svg ├── bevel.svg ├── blcrop.svg ├── bold-active.svg ├── bold.svg ├── brcrop.svg ├── cars.png ├── clear.svg ├── close.svg ├── collapse.svg ├── crop-icon.svg ├── dash2-active.svg ├── dash2.svg ├── data.json ├── delete.svg ├── download-icon.svg ├── drop-arrow.svg ├── edgecontrol.svg ├── eyedropper.svg ├── fade-in.svg ├── filters.svg ├── food.png ├── forest.png ├── freeze.svg ├── frozen.svg ├── hand-tool-active.svg ├── hand-tool.svg ├── image-active.svg ├── image.svg ├── import.svg ├── importexport.svg ├── italic-active.svg ├── italic.svg ├── loading-image.svg ├── loading-video.svg ├── loading.gif ├── lock.svg ├── locked.svg ├── logo.svg ├── lottie.json ├── meditation.png ├── middlecontrol.svg ├── middlecontrolhoz.svg ├── miter-active.svg ├── miter.svg ├── mockup-active.svg ├── mockup.svg ├── more-hoz.svg ├── more-options.svg ├── nature.png ├── nolayers.svg ├── office.png ├── pause-button.svg ├── pixabay.svg ├── play-button.svg ├── rain.png ├── repeat.svg ├── replace-image.svg ├── right-arrow.svg ├── rotateicon.svg ├── round-active.svg ├── round.svg ├── scale.svg ├── search.svg ├── seeker.svg ├── shape-active.svg ├── shape.svg ├── shapes │ ├── arrow.svg │ ├── circle.svg │ ├── heart.svg │ ├── hexagon.svg │ ├── polygon.svg │ ├── rectangle.svg │ ├── star.svg │ └── triangle.svg ├── shrink.svg ├── skip.svg ├── slide-bottom.svg ├── slide-left.svg ├── slide-right.svg ├── slide-top.svg ├── space.png ├── sponsor.svg ├── star.svg ├── street.png ├── strike-active.svg ├── strike.svg ├── summer.png ├── tempload.svg ├── text-active.svg ├── text.svg ├── thingy.svg ├── timeline-big.svg ├── timeline-small.svg ├── tlcrop.svg ├── transparent.png ├── travel.png ├── trcrop.svg ├── twemojis │ ├── bomb-emoji.png │ ├── cat-face-emoji.png │ ├── clap-emoji.png │ ├── clock-emoji.png │ ├── construction-emoji.png │ ├── crying-emoji.png │ ├── dog-face-emoji.png │ ├── eyes-emoji.png │ ├── fire-emoji.png │ ├── gem-emoji.png │ ├── ghost-emoji.png │ ├── gift-emoji.png │ ├── graph-emoji.png │ ├── heart-eyes-emoji.png │ ├── heart-kiss-emoji.png │ ├── hundred-100-points-emoji.png │ ├── laughing-emoji.png │ ├── mindblown-emoji.png │ ├── money-emoji.png │ ├── moon-emoji.png │ ├── nail-polish-emoji.png │ ├── party-popper-emoji.png │ ├── pencil-emoji.png │ ├── pizza-emoji.png │ ├── plane-emoji.png │ ├── pleading-face-emoji.png │ ├── point-emoji.png │ ├── praying-hands-emoji.png │ ├── raising-hands-emoji.png │ ├── rocket-emoji.png │ ├── rose-emoji.png │ ├── skull-emoji.png │ ├── smiling-emoji.png │ ├── sparkles-emoji.png │ ├── star-emoji.png │ ├── sun-emoji.png │ ├── sunglasses-cool-emoji.png │ ├── surprised-emoji.png │ ├── target-emoji.png │ ├── thinking-face-emoji.png │ ├── thought-balloon-emoji.png │ ├── thumbs-up-emoji.png │ ├── tongue-emoji.png │ ├── trophy-emoji.png │ ├── tulip-emoji.png │ ├── wave-emoji.png │ ├── winking-face-emoji.png │ └── wip-emoji.png ├── typewriter.svg ├── underline-active.svg ├── underline.svg ├── undo.svg ├── upload-grey.svg ├── upload.svg ├── uploads-active.svg ├── uploads.svg ├── video-active.svg ├── video.svg ├── wallpaper.png ├── work.png ├── zap.svg └── zappy.svg ├── favicon.ico ├── index.html ├── js ├── align.js ├── converter.js ├── database.js ├── encode-worker.js ├── events.js ├── functions.js ├── init.js ├── libraries │ ├── anime.min.js │ ├── fabric.min.js │ ├── ffmpeg.min.js │ ├── jquery.nice-select.min.js │ ├── localbase.js │ ├── pickr.min.js │ ├── range-slider.min.js │ └── sortable.min.js ├── lottie.js ├── recorder.js ├── text.js ├── ui.js └── webm-writer2.js ├── magic-check.min.css ├── meta.png ├── nice-select.css ├── pickr.css ├── range-slider.min.css └── styles.css /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Alyssa X 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Motionity 2 | 3 | ![Preview](preview.gif)

4 | The web-based motion graphics editor for everyone 📽 5 | 6 | Motionity is a free and open source animation editor in the web. It's a mix of After Effects and Canva, with powerful features like keyframing, masking, filters, and more, and integrations to browse for assets to easily drag and drop into your video. 7 | 8 | 👉 [Try it now](https://motionity.app) for free, or [read the guide in Notion](https://motionity.notion.site/Get-started-with-Motionity-bc2a2017670d4ec6a44d5ff760ca4656) 9 | 10 | Motionity - The web-based motion graphics editor for everyone | Product Hunt 11 | 12 | > You can support this project (and many others) through [GitHub Sponsors](https://github.com/sponsors/alyssaxuu)! ❤️ 13 | 14 | Made by [Alyssa X](https://twitter.com/alyssaxuu) 15 | 16 | ## Features 17 | 18 | ⚡️ Keyframing with custom easing
19 | 🎚 Image and video filters (adjustments, blur, chroma key...)
20 | ✂️ Trim and cut videos
21 | 👀 Layer masking
22 | 🔊 Audio support
23 | 🔍 Search for images, videos, shapes and more
24 | ✨ Text animation (typewriter, scale, fade...)
25 | 💥 Lottie support
26 | 🧩 Pixabay integration
27 | ...and much more - all for free & no sign in needed! 28 | 29 | # 30 | 31 | Feel free to reach out to me through email at hi@alyssax.com or [on Twitter](https://twitter.com/alyssaxuu) if you have any questions or feedback! Hope you find this useful 💜 32 | 33 | -------------------------------------------------------------------------------- /preview.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/preview.gif -------------------------------------------------------------------------------- /src/assets/align-bottom.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/align-center-h.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/align-center-v.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/align-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/align-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/align-text-center-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-center.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-justify-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-justify.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-left-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-right-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-text-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/align-top.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/alyssaimg.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/alyssaimg.jpeg -------------------------------------------------------------------------------- /src/assets/animals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/animals.png -------------------------------------------------------------------------------- /src/assets/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/audio-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/assets/audio.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/assets/audio.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio.wav -------------------------------------------------------------------------------- /src/assets/audio/both-of-us-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/both-of-us-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/both-of-us.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/both-of-us.mp3 -------------------------------------------------------------------------------- /src/assets/audio/epic-cinematic-trailer-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/epic-cinematic-trailer-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/epic-cinematic-trailer.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/epic-cinematic-trailer.mp3 -------------------------------------------------------------------------------- /src/assets/audio/everything-feels-new-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/everything-feels-new-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/everything-feels-new.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/everything-feels-new.mp3 -------------------------------------------------------------------------------- /src/assets/audio/inspirational-background-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/inspirational-background-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/inspirational-background.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/inspirational-background.mp3 -------------------------------------------------------------------------------- /src/assets/audio/lofi-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/lofi-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/lofi.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/lofi.mp3 -------------------------------------------------------------------------------- /src/assets/audio/stomping-rock-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/stomping-rock-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/stomping-rock.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/stomping-rock.mp3 -------------------------------------------------------------------------------- /src/assets/audio/the-podcast-intro-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/the-podcast-intro-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/the-podcast-intro.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/the-podcast-intro.mp3 -------------------------------------------------------------------------------- /src/assets/audio/tropical-summer-music-thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/tropical-summer-music-thumb.png -------------------------------------------------------------------------------- /src/assets/audio/tropical-summer-music.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/audio/tropical-summer-music.mp3 -------------------------------------------------------------------------------- /src/assets/avatar-temp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/avatar-temp.png -------------------------------------------------------------------------------- /src/assets/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/background.png -------------------------------------------------------------------------------- /src/assets/beach.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/beach.png -------------------------------------------------------------------------------- /src/assets/bevel-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/bevel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/blcrop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/bold-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/bold.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/brcrop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/cars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/cars.png -------------------------------------------------------------------------------- /src/assets/clear.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/collapse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/crop-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/dash2-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/dash2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/data.json: -------------------------------------------------------------------------------- 1 | {"v":"5.7.1","fr":29.6104125976562,"ip":0,"op":148.002062291561,"w":1000,"h":1000,"nm":"textanim","ddd":0,"assets":[],"fonts":{"list":[{"fName":"SFProDisplay-Bold","fFamily":"SF Pro Display","fStyle":"Bold","ascent":70.458984375}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"thetext","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[482,449.123,0],"ix":2,"x":"var $bm_rt;\nvar H, W;\nH = thisComp.height;\nW = thisComp.width;\n$bm_rt = [\n H / 2,\n W / 2\n];"},"a":{"a":0,"k":[0,-36.377,0],"ix":1,"x":"var $bm_rt;\nvar sourceSize, T, L, W, H;\nsourceSize = thisLayer.sourceRectAtTime(time, false);\nT = sourceSize.top;\nL = sourceSize.left;\nW = sourceSize.width;\nH = sourceSize.height;\n$bm_rt = [\n L + W / 2,\n T + H / 2\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxW, maxH, r, w, h, s;\nmaxW = $bm_mul(thisComp.width, 0.9);\nmaxH = $bm_mul(thisComp.height, 0.9);\nr = sourceRectAtTime(time);\nw = r.width;\nh = r.height;\ns = $bm_div(w, h) > $bm_div(maxW, maxH) ? $bm_div(maxW, w) : $bm_div(maxH, h);\n$bm_rt = $bm_mul([\n 100,\n 100\n], s);"}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[2328.63940429688,46],"ps":[-187,-57.5],"s":60,"f":"SFProDisplay-Bold","t":"some text to test","j":2,"tr":0,"lh":72,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59.000822129744,"s":[100]}],"ix":1},"r":1},"a":{"o":{"a":0,"k":0,"ix":9}}}]},"ip":0,"op":257.003581141427,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"s","size":60,"style":"Bold","w":51.46,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.961],[-10.107,-2.148],[0,0],[0,-2.783],[5.371,0],[0.879,4.59],[0,0],[-14.453,0],[0,10.303],[10.938,2.295],[0,0],[0,2.686],[-4.932,0],[-0.439,-4.248],[0,0],[13.428,0]],"o":[[0,7.861],[0,0],[5.127,1.172],[0,3.418],[-5.664,0],[0,0],[0.928,10.303],[13.477,0],[0,-7.666],[0,0],[-5.273,-1.123],[0,-3.467],[5.273,0],[0,0],[-0.293,-10.254],[-13.33,0]],"v":[[3.76,-36.963],[18.994,-21.875],[27.93,-20.02],[34.863,-14.502],[26.172,-8.887],[16.357,-15.918],[2.441,-15.918],[26.172,1.123],[49.072,-15.967],[33.643,-30.225],[24.707,-32.129],[17.48,-37.744],[25.684,-43.457],[34.57,-36.328],[47.705,-36.328],[25.684,-53.467]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"o","size":60,"style":"Bold","w":57.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.82,0],[0,17.236],[15.674,0],[0,-16.943]],"o":[[15.82,0],[0,-16.992],[-15.674,0],[0,17.188]],"v":[[28.662,1.123],[54.59,-26.221],[28.662,-53.467],[2.734,-26.221]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[6.982,0],[0,10.498],[-6.934,0],[0,-10.4]],"o":[[-7.031,0],[0,-10.4],[6.934,0],[0,10.498]],"v":[[28.662,-9.766],[17.188,-26.172],[28.662,-42.578],[40.088,-26.172]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"m","size":60,"style":"Bold","w":86.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.42,0],[0,-5.615],[0,0],[0,0],[0,0],[-5.42,0],[0,-6.055],[0,0],[0,0],[0,0],[10.254,0],[2.344,-6.592],[0,0],[7.568,0],[2.197,-6.299],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.859],[5.273,0],[0,0],[0,0],[0,0],[0,-5.811],[5.518,0],[0,0],[0,0],[0,0],[0,-10.547],[-7.666,0],[0,0],[-1.758,-6.836],[-7.129,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[18.896,0],[18.896,-31.592],[27.979,-41.553],[36.426,-32.617],[36.426,0],[50.146,0],[50.146,-31.787],[59.131,-41.553],[67.676,-32.178],[67.676,0],[81.934,0],[81.934,-35.742],[64.795,-53.32],[48.535,-42.578],[48.242,-42.578],[33.643,-53.32],[18.701,-42.871],[18.408,-42.871],[18.408,-52.344],[4.639,-52.344]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"e","size":60,"style":"Bold","w":55.52,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.225,0],[0,7.471],[0,0],[0,0],[0,0],[15.234,0],[0,-16.699],[-16.113,0],[-1.562,10.254]],"o":[[-1.318,4.004],[-7.275,0],[0,0],[0,0],[0,0],[0,-15.918],[-15.479,0],[0,16.748],[12.939,0],[0,0]],"v":[[39.307,-16.016],[28.76,-9.424],[16.748,-22.021],[16.748,-22.9],[52.832,-22.9],[52.832,-27.246],[27.979,-53.467],[2.734,-25.928],[28.516,1.123],[52.393,-16.016]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-6.25,0],[-0.293,-6.689],[0,0]],"o":[[6.348,0],[0,0],[0.488,-6.543]],"v":[[28.125,-42.92],[39.111,-31.641],[16.895,-31.641]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":" ","size":60,"style":"Bold","w":19.78,"data":{},"fFamily":"SF Pro Display"},{"ch":"t","size":60,"style":"Bold","w":35.55,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-12.305,0],[-1.465,0.342],[0,0],[1.27,0],[0,4.004],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,10.205],[2.881,0],[0,0],[-0.879,0.146],[-4.199,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.447,-64.404],[8.447,-52.344],[1.074,-52.344],[1.074,-41.602],[8.447,-41.602],[8.447,-14.111],[25.537,0.195],[32.324,-0.391],[32.324,-10.889],[28.857,-10.645],[22.705,-16.553],[22.705,-41.602],[32.373,-41.602],[32.373,-52.344],[22.705,-52.344],[22.705,-64.404]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"x","size":60,"style":"Bold","w":52.78,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.172,-18.164],[36.133,0],[51.611,0],[35.4,-26.465],[51.758,-52.344],[36.23,-52.344],[26.953,-34.668],[26.66,-34.668],[17.236,-52.344],[1.172,-52.344],[17.48,-26.074],[1.074,0],[16.064,0],[25.879,-18.164]],"c":true},"ix":2},"nm":"x","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"x","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"}]} -------------------------------------------------------------------------------- /src/assets/delete.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/download-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/drop-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/edgecontrol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/eyedropper.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/fade-in.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/assets/filters.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/assets/food.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/food.png -------------------------------------------------------------------------------- /src/assets/forest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/forest.png -------------------------------------------------------------------------------- /src/assets/freeze.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/assets/frozen.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/assets/hand-tool-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/hand-tool.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/image-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/image.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/import.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/importexport.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/italic-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/italic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/loading.gif -------------------------------------------------------------------------------- /src/assets/lock.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/assets/locked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/lottie.json: -------------------------------------------------------------------------------- 1 | {"v":"5.7.1","fr":29.6104125976562,"ip":0,"op":148.002062291561,"w":1000,"h":1000,"nm":"textanim","ddd":0,"assets":[],"fonts":{"list":[{"fName":"SFProDisplay-Bold","fFamily":"SF Pro Display","fStyle":"Bold","ascent":70.458984375}]},"layers":[{"ddd":0,"ind":1,"ty":5,"nm":"thetext","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[482,449.123,0],"ix":2,"x":"var $bm_rt;\nvar H, W;\nH = thisComp.height;\nW = thisComp.width;\n$bm_rt = [\n H / 2,\n W / 2\n];"},"a":{"a":0,"k":[0,-36.377,0],"ix":1,"x":"var $bm_rt;\nvar sourceSize, T, L, W, H;\nsourceSize = thisLayer.sourceRectAtTime(time, false);\nT = sourceSize.top;\nL = sourceSize.left;\nW = sourceSize.width;\nH = sourceSize.height;\n$bm_rt = [\n L + W / 2,\n T + H / 2\n];"},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxW, maxH, r, w, h, s;\nmaxW = $bm_mul(thisComp.width, 0.9);\nmaxH = $bm_mul(thisComp.height, 0.9);\nr = sourceRectAtTime(time);\nw = r.width;\nh = r.height;\ns = $bm_div(w, h) > $bm_div(maxW, maxH) ? $bm_div(maxW, w) : $bm_div(maxH, h);\n$bm_rt = $bm_mul([\n 100,\n 100\n], s);"}},"ao":0,"t":{"d":{"k":[{"s":{"sz":[2328.63940429688,46],"ps":[-187,-57.5],"s":60,"f":"SFProDisplay-Bold","t":"some text to test","j":2,"tr":0,"lh":72,"ls":0,"fc":[0,0,0]},"t":0}]},"p":{},"m":{"g":1,"a":{"a":0,"k":[0,0],"ix":2}},"a":[{"nm":"Animator 1","s":{"t":0,"xe":{"a":0,"k":0,"ix":7},"ne":{"a":0,"k":0,"ix":8},"a":{"a":0,"k":100,"ix":4},"b":1,"rn":0,"sh":1,"s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":59.000822129744,"s":[100]}],"ix":1},"r":1},"a":{"o":{"a":0,"k":0,"ix":9}}}]},"ip":0,"op":257.003581141427,"st":0,"bm":0}],"markers":[],"chars":[{"ch":"s","size":60,"style":"Bold","w":51.46,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-9.961],[-10.107,-2.148],[0,0],[0,-2.783],[5.371,0],[0.879,4.59],[0,0],[-14.453,0],[0,10.303],[10.938,2.295],[0,0],[0,2.686],[-4.932,0],[-0.439,-4.248],[0,0],[13.428,0]],"o":[[0,7.861],[0,0],[5.127,1.172],[0,3.418],[-5.664,0],[0,0],[0.928,10.303],[13.477,0],[0,-7.666],[0,0],[-5.273,-1.123],[0,-3.467],[5.273,0],[0,0],[-0.293,-10.254],[-13.33,0]],"v":[[3.76,-36.963],[18.994,-21.875],[27.93,-20.02],[34.863,-14.502],[26.172,-8.887],[16.357,-15.918],[2.441,-15.918],[26.172,1.123],[49.072,-15.967],[33.643,-30.225],[24.707,-32.129],[17.48,-37.744],[25.684,-43.457],[34.57,-36.328],[47.705,-36.328],[25.684,-53.467]],"c":true},"ix":2},"nm":"s","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"s","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"o","size":60,"style":"Bold","w":57.28,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.82,0],[0,17.236],[15.674,0],[0,-16.943]],"o":[[15.82,0],[0,-16.992],[-15.674,0],[0,17.188]],"v":[[28.662,1.123],[54.59,-26.221],[28.662,-53.467],[2.734,-26.221]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[6.982,0],[0,10.498],[-6.934,0],[0,-10.4]],"o":[[-7.031,0],[0,-10.4],[6.934,0],[0,10.498]],"v":[[28.662,-9.766],[17.188,-26.172],[28.662,-42.578],[40.088,-26.172]],"c":true},"ix":2},"nm":"o","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"o","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"m","size":60,"style":"Bold","w":86.33,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-5.42,0],[0,-5.615],[0,0],[0,0],[0,0],[-5.42,0],[0,-6.055],[0,0],[0,0],[0,0],[10.254,0],[2.344,-6.592],[0,0],[7.568,0],[2.197,-6.299],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,-5.859],[5.273,0],[0,0],[0,0],[0,0],[0,-5.811],[5.518,0],[0,0],[0,0],[0,0],[0,-10.547],[-7.666,0],[0,0],[-1.758,-6.836],[-7.129,0],[0,0],[0,0],[0,0],[0,0]],"v":[[4.639,0],[18.896,0],[18.896,-31.592],[27.979,-41.553],[36.426,-32.617],[36.426,0],[50.146,0],[50.146,-31.787],[59.131,-41.553],[67.676,-32.178],[67.676,0],[81.934,0],[81.934,-35.742],[64.795,-53.32],[48.535,-42.578],[48.242,-42.578],[33.643,-53.32],[18.701,-42.871],[18.408,-42.871],[18.408,-52.344],[4.639,-52.344]],"c":true},"ix":2},"nm":"m","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"m","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"e","size":60,"style":"Bold","w":55.52,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[5.225,0],[0,7.471],[0,0],[0,0],[0,0],[15.234,0],[0,-16.699],[-16.113,0],[-1.562,10.254]],"o":[[-1.318,4.004],[-7.275,0],[0,0],[0,0],[0,0],[0,-15.918],[-15.479,0],[0,16.748],[12.939,0],[0,0]],"v":[[39.307,-16.016],[28.76,-9.424],[16.748,-22.021],[16.748,-22.9],[52.832,-22.9],[52.832,-27.246],[27.979,-53.467],[2.734,-25.928],[28.516,1.123],[52.393,-16.016]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-6.25,0],[-0.293,-6.689],[0,0]],"o":[[6.348,0],[0,0],[0.488,-6.543]],"v":[[28.125,-42.92],[39.111,-31.641],[16.895,-31.641]],"c":true},"ix":2},"nm":"e","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"e","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":" ","size":60,"style":"Bold","w":19.78,"data":{},"fFamily":"SF Pro Display"},{"ch":"t","size":60,"style":"Bold","w":35.55,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-12.305,0],[-1.465,0.342],[0,0],[1.27,0],[0,4.004],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,10.205],[2.881,0],[0,0],[-0.879,0.146],[-4.199,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.447,-64.404],[8.447,-52.344],[1.074,-52.344],[1.074,-41.602],[8.447,-41.602],[8.447,-14.111],[25.537,0.195],[32.324,-0.391],[32.324,-10.889],[28.857,-10.645],[22.705,-16.553],[22.705,-41.602],[32.373,-41.602],[32.373,-52.344],[22.705,-52.344],[22.705,-64.404]],"c":true},"ix":2},"nm":"t","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"t","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"},{"ch":"x","size":60,"style":"Bold","w":52.78,"data":{"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[26.172,-18.164],[36.133,0],[51.611,0],[35.4,-26.465],[51.758,-52.344],[36.23,-52.344],[26.953,-34.668],[26.66,-34.668],[17.236,-52.344],[1.172,-52.344],[17.48,-26.074],[1.074,0],[16.064,0],[25.879,-18.164]],"c":true},"ix":2},"nm":"x","mn":"ADBE Vector Shape - Group","hd":false}],"nm":"x","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}]},"fFamily":"SF Pro Display"}]} -------------------------------------------------------------------------------- /src/assets/meditation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/meditation.png -------------------------------------------------------------------------------- /src/assets/middlecontrol.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/middlecontrolhoz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/miter-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/miter.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/mockup-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/mockup.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/more-hoz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/assets/more-options.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/assets/nature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/nature.png -------------------------------------------------------------------------------- /src/assets/office.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/office.png -------------------------------------------------------------------------------- /src/assets/pause-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/assets/pixabay.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/assets/play-button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/rain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/rain.png -------------------------------------------------------------------------------- /src/assets/repeat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/assets/right-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/rotateicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/assets/round-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/round.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/scale.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/seeker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shape-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /src/assets/shape.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /src/assets/shapes/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/heart.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/hexagon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/polygon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/rectangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shapes/triangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/shrink.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/skip.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/assets/space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/space.png -------------------------------------------------------------------------------- /src/assets/sponsor.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/star.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/street.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/street.png -------------------------------------------------------------------------------- /src/assets/strike-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/strike.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/summer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/summer.png -------------------------------------------------------------------------------- /src/assets/tempload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/text-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/text.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/thingy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/timeline-big.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/timeline-small.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/tlcrop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/transparent.png -------------------------------------------------------------------------------- /src/assets/travel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/travel.png -------------------------------------------------------------------------------- /src/assets/trcrop.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/assets/twemojis/bomb-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/bomb-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/cat-face-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/cat-face-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/clap-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/clap-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/clock-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/clock-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/construction-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/construction-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/crying-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/crying-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/dog-face-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/dog-face-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/eyes-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/eyes-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/fire-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/fire-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/gem-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/gem-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/ghost-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/ghost-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/gift-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/gift-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/graph-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/graph-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/heart-eyes-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/heart-eyes-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/heart-kiss-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/heart-kiss-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/hundred-100-points-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/hundred-100-points-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/laughing-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/laughing-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/mindblown-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/mindblown-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/money-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/money-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/moon-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/moon-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/nail-polish-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/nail-polish-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/party-popper-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/party-popper-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/pencil-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/pencil-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/pizza-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/pizza-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/plane-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/plane-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/pleading-face-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/pleading-face-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/point-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/point-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/praying-hands-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/praying-hands-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/raising-hands-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/raising-hands-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/rocket-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/rocket-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/rose-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/rose-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/skull-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/skull-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/smiling-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/smiling-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/sparkles-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/sparkles-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/star-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/star-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/sun-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/sun-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/sunglasses-cool-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/sunglasses-cool-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/surprised-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/surprised-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/target-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/target-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/thinking-face-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/thinking-face-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/thought-balloon-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/thought-balloon-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/thumbs-up-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/thumbs-up-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/tongue-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/tongue-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/trophy-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/trophy-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/tulip-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/tulip-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/wave-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/wave-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/winking-face-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/winking-face-emoji.png -------------------------------------------------------------------------------- /src/assets/twemojis/wip-emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/twemojis/wip-emoji.png -------------------------------------------------------------------------------- /src/assets/underline-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/underline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/assets/undo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/assets/upload-grey.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/upload.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/assets/uploads-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/uploads.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/assets/video-active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/assets/video.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/assets/wallpaper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/wallpaper.png -------------------------------------------------------------------------------- /src/assets/work.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/assets/work.png -------------------------------------------------------------------------------- /src/assets/zap.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/assets/zappy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/favicon.ico -------------------------------------------------------------------------------- /src/js/converter.js: -------------------------------------------------------------------------------- 1 | var workerPath = 2 | 'https://archive.org/download/ffmpeg_asm/ffmpeg_asm.js'; 3 | 4 | function processInWebWorker() { 5 | var blob = URL.createObjectURL( 6 | new Blob( 7 | [ 8 | 'importScripts("' + 9 | workerPath + 10 | '");var now = Date.now;function print(text) {postMessage({"type" : "stdout","data" : text});};onmessage = function(event) {var message = event.data;if (message.type === "command") {var Module = {print: print,printErr: print,files: message.files || [],arguments: message.arguments || [],TOTAL_MEMORY: message.TOTAL_MEMORY||536870912 || false};postMessage({"type" : "start","data" : Module.arguments.join(" ")});postMessage({"type" : "stdout","data" : "Received command: " +Module.arguments.join(" ") +((Module.TOTAL_MEMORY ) ? ". Processing with " + Module.TOTAL_MEMORY + " bits." : "")});var time = now();var result = ffmpeg_run(Module);var totalTime = now() - time;postMessage({"type" : "stdout","data" : "Finished processing (took " + totalTime + "ms)"});postMessage({"type" : "done","data" : result,"time" : totalTime});}};postMessage({"type" : "ready"});', 11 | ], 12 | { 13 | type: 'application/javascript', 14 | } 15 | ) 16 | ); 17 | 18 | var worker = new Worker(blob); 19 | URL.revokeObjectURL(blob); 20 | return worker; 21 | } 22 | 23 | var worker; 24 | 25 | function convertStreams(videoBlob, setting) { 26 | var aab; 27 | var buffersReady; 28 | var workerReady; 29 | var posted; 30 | 31 | var fileReader = new FileReader(); 32 | fileReader.onload = function () { 33 | aab = this.result; 34 | postMessage(); 35 | }; 36 | fileReader.readAsArrayBuffer(videoBlob); 37 | 38 | if (!worker) { 39 | worker = processInWebWorker(); 40 | } 41 | worker.onmessage = function (event) { 42 | var message = event.data; 43 | if (message.type == 'ready') { 44 | workerReady = true; 45 | if (buffersReady) postMessage(); 46 | } else if (message.type == 'done') { 47 | var result = message.data[0]; 48 | if (setting == 'gif') { 49 | var blob = new File([result.data], 'test.gif', { 50 | type: 'image/gif', 51 | }); 52 | PostBlob(blob); 53 | } else if (setting == 'mp4') { 54 | var blob = new File([result.data], 'test.mp4', { 55 | type: 'video/mp4', 56 | }); 57 | PostBlob(blob); 58 | } 59 | } 60 | }; 61 | var postMessage = function () { 62 | posted = true; 63 | if (setting == 'gif') { 64 | worker.postMessage({ 65 | type: 'command', 66 | arguments: '-i video.webm -r 24 output-10.gif'.split(' '), 67 | files: [ 68 | { 69 | data: new Uint8Array(aab), 70 | name: 'video.webm', 71 | }, 72 | ], 73 | }); 74 | } else if (setting == 'mp4') { 75 | worker.postMessage({ 76 | type: 'command', 77 | arguments: 78 | '-i video.webm -c:v mpeg4 -b:v 6400k -strict experimental output.mp4'.split( 79 | ' ' 80 | ), 81 | files: [ 82 | { 83 | data: new Uint8Array(aab), 84 | name: 'video.webm', 85 | }, 86 | ], 87 | }); 88 | } 89 | }; 90 | } 91 | 92 | function PostBlob(blob) { 93 | var url = URL.createObjectURL(blob); 94 | const a = document.createElement('a'); 95 | a.style.display = 'none'; 96 | a.href = url; 97 | a.download = name; 98 | document.body.appendChild(a); 99 | a.click(); 100 | recording = false; 101 | currenttime = 0; 102 | animate(false, 0); 103 | $('#seekbar').offset({ 104 | left: 105 | offset_left + 106 | $('#inner-timeline').offset().left + 107 | currenttime / timelinetime, 108 | }); 109 | canvas.renderAll(); 110 | resizeCanvas(); 111 | if (background_audio != false) { 112 | background_audio.pause(); 113 | background_audio = new Audio(background_audio.src); 114 | } 115 | $('#download-real').html('Download'); 116 | $('#download-real').removeClass('downloading'); 117 | updateRecordCanvas(); 118 | } 119 | -------------------------------------------------------------------------------- /src/js/encode-worker.js: -------------------------------------------------------------------------------- 1 | importScripts('./webm-writer2.js'); 2 | 3 | let webmWriter = null; 4 | let fileWritableStream = null; 5 | let frameReader = null; 6 | 7 | async function startRecording( 8 | fileHandle, 9 | frameStream, 10 | trackSettings 11 | ) { 12 | let frameCounter = 0; 13 | 14 | fileWritableStream = await fileHandle.createWritable(); 15 | 16 | webmWriter = new WebMWriter({ 17 | fileWriter: fileWritableStream, 18 | codec: 'VP9', 19 | width: trackSettings.width, 20 | height: trackSettings.height, 21 | }); 22 | 23 | frameReader = frameStream.getReader(); 24 | 25 | const init = { 26 | output: (chunk) => { 27 | webmWriter.addFrame(chunk); 28 | }, 29 | error: (e) => { 30 | console.log(e.message); 31 | stopRecording(); 32 | }, 33 | }; 34 | 35 | const config = { 36 | codec: 'vp09.00.10.08', 37 | width: trackSettings.width, 38 | height: trackSettings.height, 39 | bitrate: 10e6, 40 | }; 41 | 42 | let encoder = new VideoEncoder(init); 43 | let support = await VideoEncoder.isConfigSupported(config); 44 | console.assert(support.supported); 45 | encoder.configure(config); 46 | 47 | frameReader 48 | .read() 49 | .then(async function processFrame({ done, value }) { 50 | let frame = value; 51 | 52 | if (done) { 53 | await encoder.flush(); 54 | encoder.close(); 55 | return; 56 | } 57 | 58 | if (encoder.encodeQueueSize <= 30) { 59 | if (++frameCounter % 20 == 0) { 60 | console.log(frameCounter + ' frames processed'); 61 | } 62 | 63 | const insert_keyframe = frameCounter % 150 == 0; 64 | encoder.encode(frame, { keyFrame: insert_keyframe }); 65 | } else { 66 | console.log('dropping frame, encoder falling behind'); 67 | } 68 | 69 | frame.close(); 70 | frameReader.read().then(processFrame); 71 | }); 72 | } 73 | 74 | async function stopRecording() { 75 | await frameReader.cancel(); 76 | await webmWriter.complete(); 77 | fileWritableStream.close(); 78 | frameReader = null; 79 | webmWriter = null; 80 | fileWritableStream = null; 81 | } 82 | 83 | self.addEventListener('message', function (e) { 84 | switch (e.data.type) { 85 | case 'start': 86 | startRecording( 87 | e.data.fileHandle, 88 | e.data.frameStream, 89 | e.data.trackSettings 90 | ); 91 | break; 92 | case 'stop': 93 | stopRecording(); 94 | break; 95 | } 96 | }); 97 | -------------------------------------------------------------------------------- /src/js/libraries/jquery.nice-select.min.js: -------------------------------------------------------------------------------- 1 | /* jQuery Nice Select - v1.0 2 | https://github.com/hernansartorio/jquery-nice-select 3 | Made by Hernán Sartorio */ 4 | !function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("
").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html(''));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("
  • ").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery); -------------------------------------------------------------------------------- /src/js/libraries/range-slider.min.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"use strict";function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:this.value)+" "+(this.s.unit||"")}},{key:"setValue",value:function(e){(e=this._normalize(e))this.s.max||(null===this.value||e!=this.value&&this.s.onmove.call(this,e)!==!1)&&(this.value=e,this._updatePopup(),this._updateLabel(),this._moveToValue(e))}},{key:"setWidth",value:function(e){arguments.length&&("number"==typeof e&&(e+="px"),this.el.style.width=e)}},{key:"_validateSettings",value:function(){this.s.value=e.toNumber(this.s.value,t.value),this.s.min=e.toNumber(this.s.min,t.min),this.s.max=e.toNumber(this.s.max,t.max),this.s.step=e.toNumber(this.s.step,t.step)}},{key:"_buildDOM",value:function(){this._setClasses(),this._createBar(),this.setWidth(this.s.width),(this.s.showMinMaxLabels||this.s.showCurrentValueLabel)&&this._createLabels(),this.s.popup&&this._createPopup()}},{key:"_setClasses",value:function(){var e=this;["range-slider","rs-theme-"+this.s.theme,"rs-size-"+this.s.size,"rs-design-"+this.s.design,"rs-handle-"+this.s.handle,this.s.showMinMaxLabels||this.s.showCurrentValueLabel?"rs-labels-"+this.s.labelsPosition:null].forEach(function(t){t&&(e.el.className+=" "+t)})}},{key:"_createBar",value:function(){var t=e._el(),s=e._el(),i=e._el(),n=e._el();t.className="rs-bar",s.className="rs-progress",i.className="rs-wrap",n.className="rs-handle",t.appendChild(i),i.appendChild(s),i.appendChild(n),this.el.appendChild(t),this.bar=t,this.progressBar=s,this.range=i,this.handle=n}},{key:"_createLabels",value:function(){var t=e._el(),s=e._el(),i=e._el(),n=e._el(),a=e._el();t.className="rs-labels",s.className="rs-wrap",i.className="rs-label-left",n.className="rs-label-middle",a.className="rs-label-right",t.appendChild(i),t.appendChild(a),t.appendChild(s),s.appendChild(n),this.el.appendChild(t),this.labels={left:i,right:a,middle:n},this._updateLabels()}},{key:"_updateLabels",value:function(){this.s.showMinMaxLabels&&(this.labels.left.innerText=this.labelValue(this.s.min),this.labels.right.innerText=this.labelValue(this.s.max))}},{key:"_updateLabel",value:function(){this.s.showCurrentValueLabel&&(this.labels.middle.innerText=this.labelValue(this.value))}},{key:"_createPopup",value:function(){var t=e._el();t.className="rs-popup rs-hidden rs-popup-"+this.s.popup,this.handle.appendChild(t),this.popup=t}},{key:"_updatePopup",value:function(){this.s.popup&&(this.popup.innerText=this.labelValue(this.value))}},{key:"_togglePopup",value:function(e){this.s.popup&&(e?(this.popup.className=this.popup.className.replace("rs-hidden",""),this.s.showCurrentValueLabel&&(this.labels.middle.className+=" rs-hidden")):(this.popup.className+=" rs-hidden",this.s.showCurrentValueLabel&&(this.labels.middle.className=this.labels.middle.className.replace("rs-hidden",""))))}},{key:"_bindEvents",value:function(){var e=this;this.bar.addEventListener("mousedown",function(t){0==t.button&&(t.preventDefault(),e._begin(t.clientX,t.target))}),this.bar.addEventListener("touchstart",function(t){t.changedTouches&&t.changedTouches[0]&&(t.preventDefault(),e._begin(t.changedTouches[0].clientX,t.target))})}},{key:"_begin",value:function(e,t){this.s.onstart.call(this,this.value)!==!1&&(this.prevValue=this.value,this.el.className+=" rs-active",this._togglePopup(!0),t!=this.handle?this._move(e):this._ensureNoElementsIntersection(),this._initHandle(e))}},{key:"_initHandle",value:function(e){var t=this,s=this.handle.getBoundingClientRect(),i=e-(s.left+s.width/2),n=function(e){var s=e.changedTouches?e.changedTouches[0].clientX:e.clientX;t._move(s-i),e.preventDefault()},a=function e(){document.removeEventListener("mousemove",n),document.removeEventListener("touchmove",n),document.removeEventListener("mouseup",e),document.removeEventListener("touchend",e),document.removeEventListener("touchcancel",e),t._end()};document.addEventListener("mousemove",n),document.addEventListener("touchmove",n),document.addEventListener("mouseup",a),document.addEventListener("touchend",a),document.addEventListener("touchcancel",a)}},{key:"_end",value:function(){this.value!=this.prevValue&&this.s.onfinish.call(this,this.value),this.el.className=this.el.className.replace("rs-active",""),this._togglePopup(!1),this._ensureNoElementsIntersection()}},{key:"_move",value:function(e){var t=this._getRelX(e),s=this._toValue(t);this.setValue(s)}},{key:"_moveToValue",value:function(e){e=100*this._toFraction(e),this.progressBar.style.width=this.handle.style.left=e+"%",this._moveLabel(e)}},{key:"_moveLabel",value:function(e){this.s.showCurrentValueLabel&&(this.labels.middle.style.left=e+"%"),this._ensureNoElementsIntersection()}},{key:"_ensureNoElementsIntersection",value:function(){this.s.showMinMaxLabels&&(this.s.popup&&this.popup.className.indexOf("rs-hidden")==-1&&(e.ensureNoIntersection(this.popup,this.labels.left),e.ensureNoIntersection(this.popup,this.labels.right)),this.s.showCurrentValueLabel&&this.labels.middle.className.indexOf("rs-hidden")==-1&&(e.ensureNoIntersection(this.labels.middle,this.labels.left),e.ensureNoIntersection(this.labels.middle,this.labels.right)))}},{key:"_normalize",value:function(e){e=Math.round(Math.min(Math.max(e,this.s.min),this.s.max));var t=(e-this.initialValue)%this.s.step;return t>=this.s.step/2&&(e+=this.s.step),e-=t}},{key:"_getRelX",value:function(e){var t=this.range.getBoundingClientRect(),s=(e-t.left)/t.width;return Math.min(Math.max(s,0),1)}},{key:"_toValue",value:function(e){return this.s.min+(this.s.max-this.s.min)*e}},{key:"_toFraction",value:function(e){return(e-this.s.min)/(this.s.max-this.s.min)}}],[{key:"_el",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"DIV";return document.createElement(e)}},{key:"ensureNoIntersection",value:function(t,s){s.className=s.className.replace("rs-hidden",""),t.className.indexOf("rs-hidden")==-1&&e.intersects(t,s)&&(s.className+=" rs-hidden")}},{key:"toNumber",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return e=+e,e||0===e||(e=t),e}},{key:"intersects",value:function(e,t){var s=e.getBoundingClientRect(),i=t.getBoundingClientRect();return(this._intersectsRectH(s,i)||this._intersectsRectH(i,s))&&(this._intersectsRectV(s,i)||this._intersectsRectV(i,s))}},{key:"_intersectsRectH",value:function(e,t){return e.left<=t.right&&(e.left>=t.left||e.right>=t.left)}},{key:"_intersectsRectV",value:function(e,t){return e.top<=t.bottom&&(e.top>=t.top||e.bottom>=t.top)}}]),e}(),a=Object.assign||function(e){for(var t=1;t x.id == id).start; 3 | ms -= starttime; 4 | var length = group._objects.length; 5 | var globaldelay = 0; 6 | for (var i = 0; i < length; i++) { 7 | var index = i; 8 | if (props.order == 'backward') { 9 | index = length - i - 1; 10 | } 11 | let left = group.item(index).defaultLeft; 12 | let top = group.item(index).defaultTop; 13 | let scaleX = group.item(index).defaultScaleX; 14 | let scaleY = group.item(index).defaultScaleY; 15 | var delay = i * duration; 16 | var duration = props.duration / length; 17 | var animation = { 18 | opacity: 0, 19 | top: top, 20 | left: left, 21 | scaleX: scaleX, 22 | scaleY: scaleY, 23 | }; 24 | if (props.typeAnim == 'letter') { 25 | delay = i * duration - 100; 26 | } else if (props.typeAnim == 'word') { 27 | if (group.item(index).text == ' ') { 28 | globaldelay += 500; 29 | } 30 | delay = globaldelay; 31 | } 32 | if (props.preset == 'typewriter') { 33 | delay = i * duration; 34 | duration = 20; 35 | } else if (props.preset == 'fade in') { 36 | } else if (props.preset == 'slide top') { 37 | animation.top += 20; 38 | } else if (props.preset == 'slide bottom') { 39 | animation.top -= 20; 40 | } else if (props.preset == 'slide left') { 41 | animation.left += 20; 42 | } else if (props.preset == 'slide right') { 43 | animation.left -= 20; 44 | } else if (props.preset == 'scale') { 45 | animation.scaleX = 0; 46 | animation.scaleY = 0; 47 | } else if (props.preset == 'shrink') { 48 | animation.scaleX = 1.5; 49 | animation.scaleY = 1.5; 50 | } 51 | if (delay < 0) { 52 | delay = 0; 53 | } 54 | if (duration < 20) { 55 | duration = 20; 56 | } 57 | var start = false; 58 | var instance = anime({ 59 | targets: animation, 60 | delay: delay, 61 | opacity: 1, 62 | left: left, 63 | top: top, 64 | scaleX: scaleX, 65 | scaleY: scaleY, 66 | duration: duration, 67 | easing: props.easing, 68 | autoplay: play, 69 | update: function () { 70 | if (start && play) { 71 | group.item(index).set({ 72 | opacity: animation.opacity, 73 | left: animation.left, 74 | top: animation.top, 75 | scaleX: animation.scaleX, 76 | scaleY: animation.scaleY, 77 | }); 78 | cv.renderAll(); 79 | } 80 | }, 81 | changeBegin: function () { 82 | start = true; 83 | }, 84 | }); 85 | instance.seek(ms); 86 | if (!play) { 87 | group.item(index).set({ 88 | opacity: animation.opacity, 89 | left: animation.left, 90 | top: animation.top, 91 | scaleX: animation.scaleX, 92 | scaleY: animation.scaleY, 93 | }); 94 | cv.renderAll(); 95 | } 96 | } 97 | } 98 | 99 | function setText(group, props, cv) { 100 | var length = group._objects.length; 101 | for (var i = 0; i < length; i++) { 102 | group.item(i).set({ 103 | fill: props.fill, 104 | fontFamily: props.fontFamily, 105 | }); 106 | cv.renderAll(); 107 | } 108 | } 109 | 110 | function renderText(string, props, x, y, cv, id, isnew, start) { 111 | var textOffset = 0; 112 | var group = []; 113 | function renderLetter(letter) { 114 | var text = new fabric.Text(letter, { 115 | left: textOffset, 116 | top: 0, 117 | fill: props.fill, 118 | fontFamily: props.fontFamily, 119 | opacity: 1, 120 | }); 121 | text.set({ 122 | defaultLeft: text.left, 123 | defaultTop: text.top, 124 | defaultScaleX: 1, 125 | defaultScaleY: 1, 126 | }); 127 | textOffset += text.get('width'); 128 | return text; 129 | } 130 | for (var i = 0; i < string.length; i++) { 131 | group.push(renderLetter(string.charAt(i))); 132 | } 133 | var result = new fabric.Group(group, { 134 | cursorWidth: 1, 135 | stroke: '#000', 136 | strokeUniform: true, 137 | paintFirst: 'stroke', 138 | strokeWidth: 0, 139 | originX: 'center', 140 | originY: 'center', 141 | left: x - artboard.left, 142 | top: y - artboard.top, 143 | cursorDuration: 1, 144 | cursorDelay: 250, 145 | assetType: 'animatedText', 146 | id: id, 147 | strokeDashArray: false, 148 | inGroup: false, 149 | }); 150 | if (isnew) { 151 | result.set({ 152 | notnew: true, 153 | starttime: start, 154 | }); 155 | } 156 | result.objectCaching = false; 157 | cv.add(result); 158 | cv.renderAll(); 159 | newLayer(result); 160 | result._objects.forEach(function (object, index) { 161 | result.item(index).set({ 162 | defaultLeft: result.item(index).defaultLeft - result.width / 2, 163 | defaultTop: result.item(index).defaultTop - result.height / 2, 164 | }); 165 | }); 166 | cv.setActiveObject(result); 167 | cv.bringToFront(result); 168 | return result.id; 169 | } 170 | 171 | class AnimatedText { 172 | constructor(text, props) { 173 | this.text = text; 174 | this.props = props; 175 | this.id = 'Text' + layer_count; 176 | } 177 | render(cv) { 178 | this.id = renderText( 179 | this.text, 180 | this.props, 181 | this.props.left, 182 | this.props.top, 183 | cv, 184 | this.id, 185 | false, 186 | 0 187 | ); 188 | animateText( 189 | cv.getItemById(this.id), 190 | currenttime, 191 | false, 192 | this.props, 193 | cv, 194 | this.id 195 | ); 196 | } 197 | seek(ms, cv) { 198 | animateText( 199 | cv.getItemById(this.id), 200 | ms, 201 | false, 202 | this.props, 203 | cv, 204 | this.id 205 | ); 206 | } 207 | play(cv) { 208 | animateText( 209 | cv.getItemById(this.id), 210 | 0, 211 | true, 212 | this.props, 213 | cv, 214 | this.id 215 | ); 216 | } 217 | getObject(cv) { 218 | return cv.getItemById(this.id); 219 | } 220 | setProps(newprops, cv) { 221 | this.props = $.extend(this.props, newprops); 222 | setText(cv.getItemById(this.id), this.props, cv); 223 | } 224 | setProp(newprop) { 225 | $.extend(this.props, newprop); 226 | } 227 | reset(text, newprops, cv) { 228 | var obj = cv.getItemById(this.id); 229 | var left = obj.left; 230 | var top = obj.top; 231 | var scaleX = obj, 232 | scaleX; 233 | var scaleY = obj.scaleY; 234 | var angle = obj.angle; 235 | var start = p_keyframes.find((x) => x.id == this.id).start; 236 | deleteObject(obj, false); 237 | this.text = text; 238 | this.props = newprops; 239 | this.inst = renderText( 240 | text, 241 | this.props, 242 | left, 243 | top, 244 | cv, 245 | this.id, 246 | true, 247 | start 248 | ); 249 | cv.getItemById(this.id).set({ 250 | angle: angle, 251 | scaleX: scaleX, 252 | scaleY: scaleY, 253 | }); 254 | cv.renderAll(); 255 | animateText( 256 | cv.getItemById(this.id), 257 | currenttime, 258 | false, 259 | this.props, 260 | cv, 261 | this.id 262 | ); 263 | animate(currenttime, false); 264 | save(); 265 | } 266 | assignTo(id, text, props) { 267 | this.id = id; 268 | } 269 | } 270 | -------------------------------------------------------------------------------- /src/magic-check.min.css: -------------------------------------------------------------------------------- 1 | @keyframes a{0%{border-color:silver}to{border-color:#3e97eb}}.magic-checkbox,.magic-radio{position:absolute;display:none}.magic-checkbox[disabled],.magic-radio[disabled]{cursor:not-allowed}.magic-checkbox+label,.magic-radio+label{position:relative;display:block;padding-left:30px;cursor:pointer;vertical-align:middle}.magic-checkbox+label:hover:before,.magic-radio+label:hover:before{animation-duration:.4s;animation-fill-mode:both;animation-name:a}.magic-checkbox+label:before,.magic-radio+label:before{position:absolute;top:0;left:0;display:inline-block;width:20px;height:20px;content:'';border:1px solid silver}.magic-checkbox+label:after,.magic-radio+label:after{position:absolute;display:none;content:''}.magic-checkbox[disabled]+label,.magic-radio[disabled]+label{cursor:not-allowed;color:#e4e4e4}.magic-checkbox[disabled]+label:after,.magic-checkbox[disabled]+label:before,.magic-checkbox[disabled]+label:hover,.magic-radio[disabled]+label:after,.magic-radio[disabled]+label:before,.magic-radio[disabled]+label:hover{cursor:not-allowed}.magic-checkbox[disabled]+label:hover:before,.magic-radio[disabled]+label:hover:before{border:1px solid #e4e4e4;animation-name:none}.magic-checkbox[disabled]+label:before,.magic-radio[disabled]+label:before{border-color:#e4e4e4}.magic-checkbox:checked+label:before,.magic-radio:checked+label:before{animation-name:none}.magic-checkbox:checked+label:after,.magic-radio:checked+label:after{display:block}.magic-radio+label:before{border-radius:50%}.magic-radio+label:after{top:6px;left:6px;width:8px;height:8px;border-radius:50%;background:#3e97eb}.magic-radio:checked+label:before{border:1px solid #3e97eb}.magic-radio:checked[disabled]+label:before{border:1px solid #c9e2f9}.magic-radio:checked[disabled]+label:after{background:#c9e2f9}.magic-checkbox+label:before{border-radius:3px}.magic-checkbox+label:after{top:2px;left:7px;box-sizing:border-box;width:6px;height:12px;transform:rotate(45deg);border:2px solid #fff;border-top:0;border-left:0}.magic-checkbox:checked+label:before{border:#3e97eb;background:#3e97eb}.magic-checkbox:checked[disabled]+label:before{border:#c9e2f9;background:#c9e2f9} 2 | -------------------------------------------------------------------------------- /src/meta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alyssaxuu/motionity/5843fa14c2fabc72d1bcabf442acf6062ce71387/src/meta.png -------------------------------------------------------------------------------- /src/nice-select.css: -------------------------------------------------------------------------------- 1 | .nice-select { 2 | -webkit-tap-highlight-color: transparent; 3 | background-color: #fff; 4 | border-radius: 5px; 5 | border: solid 1px #D3DADF; 6 | box-sizing: border-box; 7 | clear: both; 8 | cursor: pointer; 9 | display: block; 10 | float: left; 11 | font-family: inherit; 12 | font-size: 14px; 13 | font-weight: normal; 14 | height: 42px; 15 | line-height: 40px; 16 | outline: none; 17 | padding-left: 18px; 18 | padding-right: 30px; 19 | position: relative; 20 | text-align: left !important; 21 | transition: all 0.2s ease-in-out; 22 | user-select: none; 23 | white-space: nowrap; 24 | box-sizing: border-box; 25 | width: auto; } 26 | .nice-select:hover { 27 | border-color: #dbdbdb; } 28 | .nice-select:active, .nice-select.open, .nice-select:focus { 29 | border-color: #D3DADF; border-width: 1.5px; } 30 | .nice-select:after { 31 | border-bottom: 2px solid #999; 32 | border-right: 2px solid #999; 33 | content: ''; 34 | display: block; 35 | height: 5px; 36 | margin-top: -4px; 37 | pointer-events: none; 38 | position: absolute; 39 | right: 12px; 40 | top: 50%; 41 | transform-origin: 66% 66%; 42 | transform: rotate(45deg); 43 | transition: all 0.15s ease-in-out; 44 | width: 5px; } 45 | .nice-select.open:after { 46 | transform: rotate(-135deg); } 47 | .nice-select.open .list { 48 | opacity: 1; 49 | pointer-events: auto; 50 | transform: scaleY(1) translateY(0); } 51 | .nice-select.disabled { 52 | border-color: #ededed; 53 | color: #999; 54 | pointer-events: none; } 55 | .nice-select.disabled:after { 56 | border-color: #cccccc; } 57 | .nice-select.wide { 58 | width: 100%; } 59 | .nice-select.wide .list { 60 | left: 0 !important; 61 | right: 0 !important; } 62 | .nice-select.right { 63 | float: right; } 64 | .nice-select.right .list { 65 | left: auto; 66 | right: 0; } 67 | .nice-select.small { 68 | font-size: 12px; 69 | height: 36px; 70 | line-height: 34px; } 71 | .nice-select.small:after { 72 | height: 4px; 73 | width: 4px; } 74 | .nice-select.small .option { 75 | line-height: 34px; 76 | min-height: 34px; } 77 | .nice-select .list { 78 | background-color: #fff; 79 | border-radius: 5px; 80 | border: 1px solid rgba(68, 68, 68, 0.11); 81 | box-sizing: border-box; 82 | margin-top: 4px; 83 | opacity: 0; 84 | overflow: hidden; 85 | padding: 0; 86 | pointer-events: none; 87 | position: absolute; 88 | margin-left: -1px; 89 | top: 100%; 90 | left: 0; 91 | -webkit-transform-origin: 50% 0; 92 | -ms-transform-origin: 50% 0; 93 | transform-origin: 50% 0; 94 | transform: scaleY(0.75) translateY(-21px); 95 | transition: all .15s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; 96 | z-index: 9; } 97 | .nice-select .list:hover .option:not(:hover) { 98 | background-color: transparent !important; } 99 | .nice-select .option { 100 | cursor: pointer; 101 | font-weight: 400; 102 | line-height: 40px; 103 | list-style: none; 104 | min-height: 40px; 105 | outline: none; 106 | padding-left: 18px; 107 | padding-right: 29px; 108 | text-align: left; 109 | -webkit-transition: opacity 0.2s; 110 | transition: opacity 0.2s; } 111 | .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus { 112 | background-color: #f6f6f6; } 113 | .nice-select .option.selected { 114 | font-weight: bold; } 115 | .nice-select .option.disabled { 116 | background-color: transparent; 117 | color: #999; 118 | cursor: default; } 119 | 120 | .no-csspointerevents .nice-select .list { 121 | display: none; } 122 | 123 | .no-csspointerevents .nice-select.open .list { 124 | display: block; } 125 | -------------------------------------------------------------------------------- /src/pickr.css: -------------------------------------------------------------------------------- 1 | /*! Pickr 1.7.2 MIT | https://github.com/Simonwep/pickr */.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, ') no-repeat 50%;background-size:0;transition:all .3s}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, ');background-size:.5em;z-index:-1;z-index:auto}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;border-radius:.15em}.pickr .pcr-button:after{transition:background .3s;background:currentColor}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear:before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app *,.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pcr-app button.pcr-active,.pcr-app button:focus,.pcr-app input.pcr-active,.pcr-app input:focus,.pickr button.pcr-active,.pickr button:focus,.pickr input.pcr-active,.pickr input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pcr-app .pcr-palette,.pcr-app .pcr-slider,.pickr .pcr-palette,.pickr .pcr-slider{transition:box-shadow .3s}.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus,.pickr .pcr-palette:focus,.pickr .pcr-slider:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.pcr-app .pcr-swatches>button:not(.pcr-active){box-shadow:none}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{-webkit-filter:brightness(.975);filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::-moz-selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{-webkit-filter:brightness(.925);filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-cancel:focus,.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active,.pcr-app .pcr-selection .pcr-color-palette:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=nano]{width:14.25em;max-width:95vw}.pcr-app[data-theme=nano] .pcr-swatches{margin-top:.6em;padding:0 .6em}.pcr-app[data-theme=nano] .pcr-interaction{padding:0 .6em .6em}.pcr-app[data-theme=nano] .pcr-selection{display:grid;grid-gap:.6em;grid-template-columns:1fr 4fr;grid-template-rows:5fr auto auto;align-items:center;height:10.5em;width:100%;align-self:flex-start}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview{grid-area:2/1/4/1;height:100%;width:100%;display:flex;flex-direction:row;justify-content:center;margin-left:.6em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-last-color{display:none}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color{position:relative;background:currentColor;width:2em;height:2em;border-radius:50em;overflow:hidden}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette{grid-area:1/1/2/3;width:100%;height:100%;z-index:1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette{border-radius:.15em;width:100%;height:100%}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, ');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser{grid-area:2/2/2/2}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity{grid-area:3/2/3/2}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity{height:.5em;margin:0 .6em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-picker{top:50%;transform:translateY(-50%)}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider{flex-grow:1;border-radius:50em}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(90deg,transparent,#000),url('data:image/svg+xml;utf8, ');background-size:100%,.25em} --------------------------------------------------------------------------------