react-useanimations 2.0.9 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +112 -67
- package/index.d.mts +144 -0
- package/index.d.ts +144 -0
- package/index.js +288 -0
- package/index.mjs +258 -0
- package/lib/activity/index.d.mts +5 -0
- package/lib/activity/index.d.ts +5 -0
- package/lib/activity/index.js +32 -0
- package/lib/activity/index.mjs +9 -0
- package/lib/airplay/index.d.mts +5 -0
- package/lib/airplay/index.d.ts +5 -0
- package/lib/airplay/index.js +32 -0
- package/lib/airplay/index.mjs +9 -0
- package/lib/alertCircle/index.d.mts +5 -0
- package/lib/alertCircle/index.d.ts +5 -0
- package/lib/alertCircle/index.js +32 -0
- package/lib/alertCircle/index.mjs +9 -0
- package/lib/alertOctagon/index.d.mts +5 -0
- package/lib/alertOctagon/index.d.ts +5 -0
- package/lib/alertOctagon/index.js +32 -0
- package/lib/alertOctagon/index.mjs +9 -0
- package/lib/alertTriangle/index.d.mts +5 -0
- package/lib/alertTriangle/index.d.ts +5 -0
- package/lib/alertTriangle/index.js +32 -0
- package/lib/alertTriangle/index.mjs +9 -0
- package/lib/archive/index.d.mts +5 -0
- package/lib/archive/index.d.ts +5 -0
- package/lib/archive/index.js +32 -0
- package/lib/archive/index.mjs +9 -0
- package/lib/arrowDown/index.d.mts +5 -0
- package/lib/arrowDown/index.d.ts +5 -0
- package/lib/arrowDown/index.js +32 -0
- package/lib/arrowDown/index.mjs +9 -0
- package/lib/arrowDownCircle/index.d.mts +5 -0
- package/lib/arrowDownCircle/index.d.ts +5 -0
- package/lib/arrowDownCircle/index.js +32 -0
- package/lib/arrowDownCircle/index.mjs +9 -0
- package/lib/arrowLeftCircle/index.d.mts +5 -0
- package/lib/arrowLeftCircle/index.d.ts +5 -0
- package/lib/arrowLeftCircle/index.js +32 -0
- package/lib/arrowLeftCircle/index.mjs +9 -0
- package/lib/arrowRightCircle/index.d.mts +5 -0
- package/lib/arrowRightCircle/index.d.ts +5 -0
- package/lib/arrowRightCircle/index.js +32 -0
- package/lib/arrowRightCircle/index.mjs +9 -0
- package/lib/arrowUp/index.d.mts +5 -0
- package/lib/arrowUp/index.d.ts +5 -0
- package/lib/arrowUp/index.js +32 -0
- package/lib/arrowUp/index.mjs +9 -0
- package/lib/arrowUpCircle/index.d.mts +5 -0
- package/lib/arrowUpCircle/index.d.ts +5 -0
- package/lib/arrowUpCircle/index.js +32 -0
- package/lib/arrowUpCircle/index.mjs +9 -0
- package/lib/behance/index.d.mts +5 -0
- package/lib/behance/index.d.ts +5 -0
- package/lib/behance/index.js +32 -0
- package/lib/behance/index.mjs +9 -0
- package/lib/bookmark/index.d.mts +5 -0
- package/lib/bookmark/index.d.ts +5 -0
- package/lib/bookmark/index.js +32 -0
- package/lib/bookmark/index.mjs +9 -0
- package/lib/calendar/index.d.mts +5 -0
- package/lib/calendar/index.d.ts +5 -0
- package/lib/calendar/index.js +32 -0
- package/lib/calendar/index.mjs +9 -0
- package/lib/checkBox/index.d.mts +5 -0
- package/lib/checkBox/index.d.ts +5 -0
- package/lib/checkBox/index.js +32 -0
- package/lib/checkBox/index.mjs +9 -0
- package/lib/checkmark/index.d.mts +5 -0
- package/lib/checkmark/index.d.ts +5 -0
- package/lib/checkmark/index.js +32 -0
- package/lib/checkmark/index.mjs +9 -0
- package/lib/chevronLeft/index.d.mts +5 -0
- package/lib/chevronLeft/index.d.ts +5 -0
- package/lib/chevronLeft/index.js +32 -0
- package/lib/chevronLeft/index.mjs +9 -0
- package/lib/chevronRight/index.d.mts +5 -0
- package/lib/chevronRight/index.d.ts +5 -0
- package/lib/chevronRight/index.js +32 -0
- package/lib/chevronRight/index.mjs +9 -0
- package/lib/codepen/index.d.mts +5 -0
- package/lib/codepen/index.d.ts +5 -0
- package/lib/codepen/index.js +32 -0
- package/lib/codepen/index.mjs +9 -0
- package/lib/copy/index.d.mts +5 -0
- package/lib/copy/index.d.ts +5 -0
- package/lib/copy/index.js +32 -0
- package/lib/copy/index.mjs +9 -0
- package/lib/download/index.d.mts +5 -0
- package/lib/download/index.d.ts +5 -0
- package/lib/download/index.js +32 -0
- package/lib/download/index.mjs +9 -0
- package/lib/dribbble/index.d.mts +5 -0
- package/lib/dribbble/index.d.ts +5 -0
- package/lib/dribbble/index.js +32 -0
- package/lib/dribbble/index.mjs +9 -0
- package/lib/edit/index.d.mts +5 -0
- package/lib/edit/index.d.ts +5 -0
- package/lib/edit/index.js +32 -0
- package/lib/edit/index.mjs +9 -0
- package/lib/error/index.d.mts +5 -0
- package/lib/error/index.d.ts +5 -0
- package/lib/error/index.js +32 -0
- package/lib/error/index.mjs +9 -0
- package/lib/explore/index.d.mts +5 -0
- package/lib/explore/index.d.ts +5 -0
- package/lib/explore/index.js +32 -0
- package/lib/explore/index.mjs +9 -0
- package/lib/facebook/index.d.mts +5 -0
- package/lib/facebook/index.d.ts +5 -0
- package/lib/facebook/index.js +32 -0
- package/lib/facebook/index.mjs +9 -0
- package/lib/filter/index.d.mts +5 -0
- package/lib/filter/index.d.ts +5 -0
- package/lib/filter/index.js +32 -0
- package/lib/filter/index.mjs +9 -0
- package/lib/folder/index.d.mts +5 -0
- package/lib/folder/index.d.ts +5 -0
- package/lib/folder/index.js +32 -0
- package/lib/folder/index.mjs +9 -0
- package/lib/github/index.d.mts +5 -0
- package/lib/github/index.d.ts +5 -0
- package/lib/github/index.js +32 -0
- package/lib/github/index.mjs +9 -0
- package/lib/heart/index.d.mts +5 -0
- package/lib/heart/index.d.ts +5 -0
- package/lib/heart/index.js +32 -0
- package/lib/heart/index.mjs +9 -0
- package/lib/help/index.d.mts +5 -0
- package/lib/help/index.d.ts +5 -0
- package/lib/help/index.js +32 -0
- package/lib/help/index.mjs +9 -0
- package/lib/home/index.d.mts +5 -0
- package/lib/home/index.d.ts +5 -0
- package/lib/home/index.js +32 -0
- package/lib/home/index.mjs +9 -0
- package/lib/infinity/index.d.mts +5 -0
- package/lib/infinity/index.d.ts +5 -0
- package/lib/infinity/index.js +32 -0
- package/lib/infinity/index.mjs +9 -0
- package/lib/info/index.d.mts +5 -0
- package/lib/info/index.d.ts +5 -0
- package/lib/info/index.js +32 -0
- package/lib/info/index.mjs +9 -0
- package/lib/instagram/index.d.mts +5 -0
- package/lib/instagram/index.d.ts +5 -0
- package/lib/instagram/index.js +32 -0
- package/lib/instagram/index.mjs +9 -0
- package/lib/linkedin/index.d.mts +5 -0
- package/lib/linkedin/index.d.ts +5 -0
- package/lib/linkedin/index.js +32 -0
- package/lib/linkedin/index.mjs +9 -0
- package/lib/loading/index.d.mts +5 -0
- package/lib/loading/index.d.ts +5 -0
- package/lib/loading/index.js +32 -0
- package/lib/loading/index.mjs +9 -0
- package/lib/loading2/index.d.mts +5 -0
- package/lib/loading2/index.d.ts +5 -0
- package/lib/loading2/index.js +32 -0
- package/lib/loading2/index.mjs +9 -0
- package/lib/loading3/index.d.mts +5 -0
- package/lib/loading3/index.d.ts +5 -0
- package/lib/loading3/index.js +32 -0
- package/lib/loading3/index.mjs +9 -0
- package/lib/loading4/index.d.mts +5 -0
- package/lib/loading4/index.d.ts +5 -0
- package/lib/loading4/index.js +32 -0
- package/lib/loading4/index.mjs +9 -0
- package/lib/lock/index.d.mts +5 -0
- package/lib/lock/index.d.ts +5 -0
- package/lib/lock/index.js +32 -0
- package/lib/lock/index.mjs +9 -0
- package/lib/mail/index.d.mts +5 -0
- package/lib/mail/index.d.ts +5 -0
- package/lib/mail/index.js +32 -0
- package/lib/mail/index.mjs +9 -0
- package/lib/maximizeMinimize/index.d.mts +5 -0
- package/lib/maximizeMinimize/index.d.ts +5 -0
- package/lib/maximizeMinimize/index.js +32 -0
- package/lib/maximizeMinimize/index.mjs +9 -0
- package/lib/maximizeMinimize2/index.d.mts +5 -0
- package/lib/maximizeMinimize2/index.d.ts +5 -0
- package/lib/maximizeMinimize2/index.js +32 -0
- package/lib/maximizeMinimize2/index.mjs +9 -0
- package/lib/menu/index.d.mts +5 -0
- package/lib/menu/index.d.ts +5 -0
- package/lib/menu/index.js +32 -0
- package/lib/menu/index.mjs +9 -0
- package/lib/menu2/index.d.mts +5 -0
- package/lib/menu2/index.d.ts +5 -0
- package/lib/menu2/index.js +32 -0
- package/lib/menu2/index.mjs +9 -0
- package/lib/menu3/index.d.mts +5 -0
- package/lib/menu3/index.d.ts +5 -0
- package/lib/menu3/index.js +32 -0
- package/lib/menu3/index.mjs +9 -0
- package/lib/menu4/index.d.mts +5 -0
- package/lib/menu4/index.d.ts +5 -0
- package/lib/menu4/index.js +32 -0
- package/lib/menu4/index.mjs +9 -0
- package/lib/microphone/index.d.mts +5 -0
- package/lib/microphone/index.d.ts +5 -0
- package/lib/microphone/index.js +32 -0
- package/lib/microphone/index.mjs +9 -0
- package/lib/microphone2/index.d.mts +5 -0
- package/lib/microphone2/index.d.ts +5 -0
- package/lib/microphone2/index.js +32 -0
- package/lib/microphone2/index.mjs +9 -0
- package/lib/notification/index.d.mts +5 -0
- package/lib/notification/index.d.ts +5 -0
- package/lib/notification/index.js +32 -0
- package/lib/notification/index.mjs +9 -0
- package/lib/notification2/index.d.mts +5 -0
- package/lib/notification2/index.d.ts +5 -0
- package/lib/notification2/index.js +32 -0
- package/lib/notification2/index.mjs +9 -0
- package/lib/notification3/index.d.mts +5 -0
- package/lib/notification3/index.d.ts +5 -0
- package/lib/notification3/index.js +32 -0
- package/lib/notification3/index.mjs +9 -0
- package/lib/notification4/index.d.mts +5 -0
- package/lib/notification4/index.d.ts +5 -0
- package/lib/notification4/index.js +32 -0
- package/lib/notification4/index.mjs +9 -0
- package/lib/playPause/index.d.mts +5 -0
- package/lib/playPause/index.d.ts +5 -0
- package/lib/playPause/index.js +32 -0
- package/lib/playPause/index.mjs +9 -0
- package/lib/playPauseCircle/index.d.mts +5 -0
- package/lib/playPauseCircle/index.d.ts +5 -0
- package/lib/playPauseCircle/index.js +32 -0
- package/lib/playPauseCircle/index.mjs +9 -0
- package/lib/plusToX/index.d.mts +5 -0
- package/lib/plusToX/index.d.ts +5 -0
- package/lib/plusToX/index.js +32 -0
- package/lib/plusToX/index.mjs +9 -0
- package/lib/pocket/index.d.mts +5 -0
- package/lib/pocket/index.d.ts +5 -0
- package/lib/pocket/index.js +32 -0
- package/lib/pocket/index.mjs +9 -0
- package/lib/radioButton/index.d.mts +5 -0
- package/lib/radioButton/index.d.ts +5 -0
- package/lib/radioButton/index.js +32 -0
- package/lib/radioButton/index.mjs +9 -0
- package/lib/refresh/index.d.mts +5 -0
- package/lib/refresh/index.d.ts +5 -0
- package/lib/refresh/index.js +32 -0
- package/lib/refresh/index.mjs +9 -0
- package/lib/scrollDown/index.d.mts +5 -0
- package/lib/scrollDown/index.d.ts +5 -0
- package/lib/scrollDown/index.js +32 -0
- package/lib/scrollDown/index.mjs +9 -0
- package/lib/searchToX/index.d.mts +5 -0
- package/lib/searchToX/index.d.ts +5 -0
- package/lib/searchToX/index.js +32 -0
- package/lib/searchToX/index.mjs +9 -0
- package/lib/settings/index.d.mts +5 -0
- package/lib/settings/index.d.ts +5 -0
- package/lib/settings/index.js +32 -0
- package/lib/settings/index.mjs +9 -0
- package/lib/settings2/index.d.mts +5 -0
- package/lib/settings2/index.d.ts +5 -0
- package/lib/settings2/index.js +32 -0
- package/lib/settings2/index.mjs +9 -0
- package/lib/share/index.d.mts +5 -0
- package/lib/share/index.d.ts +5 -0
- package/lib/share/index.js +32 -0
- package/lib/share/index.mjs +9 -0
- package/lib/skipBack/index.d.mts +5 -0
- package/lib/skipBack/index.d.ts +5 -0
- package/lib/skipBack/index.js +32 -0
- package/lib/skipBack/index.mjs +9 -0
- package/lib/skipForward/index.d.mts +5 -0
- package/lib/skipForward/index.d.ts +5 -0
- package/lib/skipForward/index.js +32 -0
- package/lib/skipForward/index.mjs +9 -0
- package/lib/star/index.d.mts +5 -0
- package/lib/star/index.d.ts +5 -0
- package/lib/star/index.js +32 -0
- package/lib/star/index.mjs +9 -0
- package/lib/thumbUp/index.d.mts +5 -0
- package/lib/thumbUp/index.d.ts +5 -0
- package/lib/thumbUp/index.js +32 -0
- package/lib/thumbUp/index.mjs +9 -0
- package/lib/toggle/index.d.mts +5 -0
- package/lib/toggle/index.d.ts +5 -0
- package/lib/toggle/index.js +32 -0
- package/lib/toggle/index.mjs +9 -0
- package/lib/trash/index.d.mts +5 -0
- package/lib/trash/index.d.ts +5 -0
- package/lib/trash/index.js +32 -0
- package/lib/trash/index.mjs +9 -0
- package/lib/trash2/index.d.mts +5 -0
- package/lib/trash2/index.d.ts +5 -0
- package/lib/trash2/index.js +32 -0
- package/lib/trash2/index.mjs +9 -0
- package/lib/twitter/index.d.mts +5 -0
- package/lib/twitter/index.d.ts +5 -0
- package/lib/twitter/index.js +32 -0
- package/lib/twitter/index.mjs +9 -0
- package/lib/userMinus/index.d.mts +5 -0
- package/lib/userMinus/index.d.ts +5 -0
- package/lib/userMinus/index.js +32 -0
- package/lib/userMinus/index.mjs +9 -0
- package/lib/userPlus/index.d.mts +5 -0
- package/lib/userPlus/index.d.ts +5 -0
- package/lib/userPlus/index.js +32 -0
- package/lib/userPlus/index.mjs +9 -0
- package/lib/userX/index.d.mts +5 -0
- package/lib/userX/index.d.ts +5 -0
- package/lib/userX/index.js +32 -0
- package/lib/userX/index.mjs +9 -0
- package/lib/video/index.d.mts +5 -0
- package/lib/video/index.d.ts +5 -0
- package/lib/video/index.js +32 -0
- package/lib/video/index.mjs +9 -0
- package/lib/video2/index.d.mts +5 -0
- package/lib/video2/index.d.ts +5 -0
- package/lib/video2/index.js +32 -0
- package/lib/video2/index.mjs +9 -0
- package/lib/visibility/index.d.mts +5 -0
- package/lib/visibility/index.d.ts +5 -0
- package/lib/visibility/index.js +32 -0
- package/lib/visibility/index.mjs +9 -0
- package/lib/visibility2/index.d.mts +5 -0
- package/lib/visibility2/index.d.ts +5 -0
- package/lib/visibility2/index.js +32 -0
- package/lib/visibility2/index.mjs +9 -0
- package/lib/visibility3/index.d.mts +5 -0
- package/lib/visibility3/index.d.ts +5 -0
- package/lib/visibility3/index.js +32 -0
- package/lib/visibility3/index.mjs +9 -0
- package/lib/volume/index.d.mts +5 -0
- package/lib/volume/index.d.ts +5 -0
- package/lib/volume/index.js +32 -0
- package/lib/volume/index.mjs +9 -0
- package/lib/youtube/index.d.mts +5 -0
- package/lib/youtube/index.d.ts +5 -0
- package/lib/youtube/index.js +32 -0
- package/lib/youtube/index.mjs +9 -0
- package/lib/youtube2/index.d.mts +5 -0
- package/lib/youtube2/index.d.ts +5 -0
- package/lib/youtube2/index.js +32 -0
- package/lib/youtube2/index.mjs +9 -0
- package/lib/zoomIn/index.d.mts +5 -0
- package/lib/zoomIn/index.d.ts +5 -0
- package/lib/zoomIn/index.js +32 -0
- package/lib/zoomIn/index.mjs +9 -0
- package/lib/zoomOut/index.d.mts +5 -0
- package/lib/zoomOut/index.d.ts +5 -0
- package/lib/zoomOut/index.js +32 -0
- package/lib/zoomOut/index.mjs +9 -0
- package/package.json +55 -65
- package/.babelrc +0 -4
- package/.editorconfig +0 -15
- package/.eslintignore +0 -2
- package/.eslintrc.json +0 -31
- package/.gitattributes +0 -1
- package/.prettierrc +0 -10
- package/.storybook/main.js +0 -15
- package/.vscode/settings.json +0 -5
- package/README_v1.md +0 -46
- package/src/bin/addAnimationFiles.sh +0 -28
- package/src/bin/generateStories.sh +0 -34
- package/src/index.tsx +0 -177
- package/src/lib/activity/activity.json +0 -1
- package/src/lib/activity/index.ts +0 -4
- package/src/lib/airplay/airplay.json +0 -1
- package/src/lib/airplay/index.ts +0 -4
- package/src/lib/alertCircle/alertCircle.json +0 -1
- package/src/lib/alertCircle/index.ts +0 -4
- package/src/lib/alertOctagon/alertOctagon.json +0 -1
- package/src/lib/alertOctagon/index.ts +0 -4
- package/src/lib/alertTriangle/alertTriangle.json +0 -1
- package/src/lib/alertTriangle/index.ts +0 -4
- package/src/lib/archive/archive.json +0 -1
- package/src/lib/archive/index.ts +0 -4
- package/src/lib/arrowDown/arrowDown.json +0 -1
- package/src/lib/arrowDown/index.ts +0 -4
- package/src/lib/arrowDownCircle/arrowDownCircle.json +0 -1
- package/src/lib/arrowDownCircle/index.ts +0 -4
- package/src/lib/arrowLeftCircle/arrowLeftCircle.json +0 -1
- package/src/lib/arrowLeftCircle/index.ts +0 -4
- package/src/lib/arrowRightCircle/arrowRightCircle.json +0 -1
- package/src/lib/arrowRightCircle/index.ts +0 -4
- package/src/lib/arrowUp/arrowUp.json +0 -1
- package/src/lib/arrowUp/index.ts +0 -4
- package/src/lib/arrowUpCircle/arrowUpCircle.json +0 -1
- package/src/lib/arrowUpCircle/index.ts +0 -4
- package/src/lib/behance/behance.json +0 -1
- package/src/lib/behance/index.ts +0 -4
- package/src/lib/bookmark/bookmark.json +0 -1
- package/src/lib/bookmark/index.ts +0 -4
- package/src/lib/calendar/calendar.json +0 -1
- package/src/lib/calendar/index.ts +0 -4
- package/src/lib/checkBox/checkBox.json +0 -1
- package/src/lib/checkBox/index.ts +0 -4
- package/src/lib/checkmark/checkmark.json +0 -1
- package/src/lib/checkmark/index.ts +0 -4
- package/src/lib/codepen/codepen.json +0 -1
- package/src/lib/codepen/index.ts +0 -4
- package/src/lib/copy/copy.json +0 -1
- package/src/lib/copy/index.ts +0 -4
- package/src/lib/download/download.json +0 -1
- package/src/lib/download/index.ts +0 -4
- package/src/lib/dribbble/dribbble.json +0 -1
- package/src/lib/dribbble/index.ts +0 -4
- package/src/lib/edit/edit.json +0 -1
- package/src/lib/edit/index.ts +0 -4
- package/src/lib/error/error.json +0 -1
- package/src/lib/error/index.ts +0 -4
- package/src/lib/explore/explore.json +0 -1
- package/src/lib/explore/index.ts +0 -4
- package/src/lib/facebook/facebook.json +0 -1
- package/src/lib/facebook/index.ts +0 -4
- package/src/lib/folder/folder.json +0 -1
- package/src/lib/folder/index.ts +0 -4
- package/src/lib/github/github.json +0 -1
- package/src/lib/github/index.ts +0 -4
- package/src/lib/heart/heart.json +0 -1
- package/src/lib/heart/index.ts +0 -4
- package/src/lib/help/help.json +0 -1
- package/src/lib/help/index.ts +0 -4
- package/src/lib/home/home.json +0 -1
- package/src/lib/home/index.ts +0 -4
- package/src/lib/infinity/index.ts +0 -4
- package/src/lib/infinity/infinity.json +0 -1
- package/src/lib/info/index.ts +0 -4
- package/src/lib/info/info.json +0 -1
- package/src/lib/instagram/index.ts +0 -4
- package/src/lib/instagram/instagram.json +0 -1
- package/src/lib/linkedin/index.ts +0 -4
- package/src/lib/linkedin/linkedin.json +0 -1
- package/src/lib/loading/index.ts +0 -4
- package/src/lib/loading/loading.json +0 -1
- package/src/lib/loading2/index.ts +0 -4
- package/src/lib/loading2/loading2.json +0 -1
- package/src/lib/loading3/index.ts +0 -4
- package/src/lib/loading3/loading3.json +0 -1
- package/src/lib/lock/index.ts +0 -4
- package/src/lib/lock/lock.json +0 -1
- package/src/lib/mail/index.ts +0 -4
- package/src/lib/mail/mail.json +0 -1
- package/src/lib/maximizeMinimize/index.ts +0 -4
- package/src/lib/maximizeMinimize/maximizeMinimize.json +0 -1
- package/src/lib/maximizeMinimize2/index.ts +0 -4
- package/src/lib/maximizeMinimize2/maximizeMinimize2.json +0 -1
- package/src/lib/menu/index.ts +0 -4
- package/src/lib/menu/menu.json +0 -1
- package/src/lib/menu2/index.ts +0 -4
- package/src/lib/menu2/menu2.json +0 -1
- package/src/lib/menu3/index.ts +0 -4
- package/src/lib/menu3/menu3.json +0 -1
- package/src/lib/menu4/index.ts +0 -4
- package/src/lib/menu4/menu4.json +0 -1
- package/src/lib/microphone/index.ts +0 -4
- package/src/lib/microphone/microphone.json +0 -1
- package/src/lib/microphone2/index.ts +0 -4
- package/src/lib/microphone2/microphone2.json +0 -1
- package/src/lib/notification/index.ts +0 -4
- package/src/lib/notification/notification.json +0 -1
- package/src/lib/notification2/index.ts +0 -4
- package/src/lib/notification2/notification2.json +0 -1
- package/src/lib/playPause/index.ts +0 -4
- package/src/lib/playPause/playPause.json +0 -1
- package/src/lib/playPauseCircle/index.ts +0 -4
- package/src/lib/playPauseCircle/playPauseCircle.json +0 -1
- package/src/lib/plusToX/index.ts +0 -4
- package/src/lib/plusToX/plusToX.json +0 -1
- package/src/lib/pocket/index.ts +0 -4
- package/src/lib/pocket/pocket.json +0 -1
- package/src/lib/radioButton/index.ts +0 -4
- package/src/lib/radioButton/radioButton.json +0 -1
- package/src/lib/scrollDown/index.ts +0 -4
- package/src/lib/scrollDown/scrollDown.json +0 -1
- package/src/lib/searchToX/index.ts +0 -4
- package/src/lib/searchToX/searchToX.json +0 -1
- package/src/lib/settings/index.ts +0 -4
- package/src/lib/settings/settings.json +0 -1
- package/src/lib/settings2/index.ts +0 -4
- package/src/lib/settings2/settings2.json +0 -1
- package/src/lib/share/index.ts +0 -4
- package/src/lib/share/share.json +0 -1
- package/src/lib/skipBack/index.ts +0 -4
- package/src/lib/skipBack/skipBack.json +0 -1
- package/src/lib/skipForward/index.ts +0 -4
- package/src/lib/skipForward/skipForward.json +0 -1
- package/src/lib/star/index.ts +0 -4
- package/src/lib/star/star.json +0 -1
- package/src/lib/thumbUp/index.ts +0 -4
- package/src/lib/thumbUp/thumbUp.json +0 -1
- package/src/lib/toggle/index.ts +0 -4
- package/src/lib/toggle/toggle.json +0 -1
- package/src/lib/trash/index.ts +0 -4
- package/src/lib/trash/trash.json +0 -1
- package/src/lib/trash2/index.ts +0 -4
- package/src/lib/trash2/trash2.json +0 -1
- package/src/lib/twitter/index.ts +0 -4
- package/src/lib/twitter/twitter.json +0 -1
- package/src/lib/userMinus/index.ts +0 -4
- package/src/lib/userMinus/userMinus.json +0 -1
- package/src/lib/userPlus/index.ts +0 -4
- package/src/lib/userPlus/userPlus.json +0 -1
- package/src/lib/userX/index.ts +0 -4
- package/src/lib/userX/userX.json +0 -1
- package/src/lib/video/index.ts +0 -4
- package/src/lib/video/video.json +0 -1
- package/src/lib/video2/index.ts +0 -4
- package/src/lib/video2/video2.json +0 -1
- package/src/lib/visibility/index.ts +0 -4
- package/src/lib/visibility/visibility.json +0 -1
- package/src/lib/visibility2/index.ts +0 -4
- package/src/lib/visibility2/visibility2.json +0 -1
- package/src/lib/volume/index.ts +0 -4
- package/src/lib/volume/volume.json +0 -1
- package/src/lib/youtube/index.ts +0 -4
- package/src/lib/youtube/youtube.json +0 -1
- package/src/lib/youtube2/index.ts +0 -4
- package/src/lib/youtube2/youtube2.json +0 -1
- package/src/lib/zoomIn/index.ts +0 -4
- package/src/lib/zoomIn/zoomIn.json +0 -1
- package/src/lib/zoomOut/index.ts +0 -4
- package/src/lib/zoomOut/zoomOut.json +0 -1
- package/src/stories/controlled.stories.tsx +0 -257
- package/src/stories/generated.stories.tsx +0 -406
- package/src/stories/variants.stories.tsx +0 -237
- package/src/typings.d.ts +0 -6
- package/src/utils/constants.ts +0 -93
- package/src/utils/getEffect.ts +0 -91
- package/src/utils/getEvents.ts +0 -81
- package/src/utils/index.ts +0 -3
- package/tsconfig.json +0 -67
- package/useanimations-preview.gif +0 -0
package/README.md
CHANGED
|
@@ -4,37 +4,26 @@
|
|
|
4
4
|
|
|
5
5
|
#### What is react-useanimations?
|
|
6
6
|
|
|
7
|
-
React-useanimations is a
|
|
7
|
+
React-useanimations is the official React component for [useAnimations](https://useanimations.com), a free library of 85+ animated Lottie icons.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
[https://react.useanimations.com](https://react.useanimations.com/) and play with examples or visit our [Storybook](https://useanimations.github.io/react-useanimations/)
|
|
9
|
+
📖 **Documentation:** [useanimations.com/documentation](https://useanimations.com/documentation): React props and all import names, plus plain HTML/JS, Vue, iOS and Android guides.
|
|
12
10
|
|
|
13
11
|

|
|
14
12
|
|
|
15
13
|
### Installation
|
|
16
14
|
|
|
17
|
-
Using Yarn:
|
|
18
|
-
|
|
19
15
|
```
|
|
20
|
-
|
|
16
|
+
npm install react-useanimations
|
|
21
17
|
```
|
|
22
18
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
npm install -S react-useanimations
|
|
27
|
-
```
|
|
19
|
+
Requires React 16.8+ (tested with React 18 and 19). Works with StrictMode, Next.js (App Router) and other SSR frameworks.
|
|
28
20
|
|
|
29
21
|
### Usage
|
|
30
|
-
If you still need to use v1, please refer to this README instead - [react-useanimations@v1](https://github.com/useAnimations/react-useanimations/blob/master/README_v1.md)
|
|
31
22
|
|
|
32
|
-
Basic usage
|
|
33
23
|
```javascript
|
|
34
|
-
import React from 'react';
|
|
35
24
|
import UseAnimations from 'react-useanimations';
|
|
36
25
|
// EVERY ANIMATION NEEDS TO BE IMPORTED FIRST -> YOUR BUNDLE WILL INCLUDE ONLY WHAT IT NEEDS
|
|
37
|
-
import github from 'react-useanimations/lib/github'
|
|
26
|
+
import github from 'react-useanimations/lib/github';
|
|
38
27
|
|
|
39
28
|
const App = () => <UseAnimations animation={github} />;
|
|
40
29
|
|
|
@@ -44,67 +33,123 @@ export default App;
|
|
|
44
33
|
Icons can be configured with inline props:
|
|
45
34
|
|
|
46
35
|
```javascript
|
|
47
|
-
<UseAnimations
|
|
36
|
+
<UseAnimations
|
|
37
|
+
animation={github}
|
|
38
|
+
size={56}
|
|
39
|
+
strokeColor="currentColor"
|
|
40
|
+
wrapperStyle={{ padding: 100 }}
|
|
41
|
+
/>
|
|
48
42
|
```
|
|
49
43
|
|
|
50
44
|
These props are available:
|
|
51
|
-
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
|
58
|
-
|
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
45
|
+
|
|
46
|
+
| Prop | Default | Definition |
|
|
47
|
+
| :----------- | :-------: | ---------------------------------------------------------------------------------------------------------------------------: |
|
|
48
|
+
| animation | / | animation imported from `react-useanimations/lib/<name>` |
|
|
49
|
+
| size | `24` | animation size in px |
|
|
50
|
+
| strokeColor | / | stroke color of the icon, e.g. `'currentColor'` |
|
|
51
|
+
| fillColor | / | fill color of the icon |
|
|
52
|
+
| pathCss | / | extra CSS declarations for the icon's paths |
|
|
53
|
+
| wrapperStyle | `{}` | wrapper div styles |
|
|
54
|
+
| interaction | per icon* | `'loop'`, `'click-toggle'`, `'click-replay'`, `'hover'` or `'hover-loop'` |
|
|
55
|
+
| reverse | `false` | for `click-toggle` icons: `true` shows the end state (e.g. a checked checkbox); can be controlled |
|
|
56
|
+
| autoplay | per icon* | `true` for looping icons like loaders |
|
|
57
|
+
| loop | per icon* | `true` for looping icons like loaders |
|
|
58
|
+
| speed | `1` | playback speed (1 is normal speed) |
|
|
59
|
+
| options | `{}` | any other [lottie-web options](https://github.com/airbnb/lottie-web#other-loading-options); applied when the animation loads |
|
|
60
|
+
| render | / | render prop for a custom wrapper, see below |
|
|
61
|
+
|
|
62
|
+
\* Each icon has a default interaction matching [useanimations.com](https://useanimations.com):
|
|
63
|
+
|
|
64
|
+
- `loop`: plays continuously (loaders, alerts).
|
|
65
|
+
- `click-toggle`: toggles between two states on click (menu, checkbox, play/pause).
|
|
66
|
+
- `click-replay`: replays from the start on every click.
|
|
67
|
+
- `hover`: plays forward on mouse enter and backward on mouse leave.
|
|
68
|
+
- `hover-loop`: loops while hovered (social icons).
|
|
69
|
+
|
|
70
|
+
Any other prop (`className`, `aria-label`, `onClick`, `onMouseEnter`, …) is passed to the wrapper div. Your event handlers run before the animation's; call `event.preventDefault()` to skip the animation.
|
|
71
|
+
|
|
72
|
+
#### Controlled toggle
|
|
67
73
|
|
|
68
74
|
```javascript
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
import { useState } from 'react';
|
|
76
|
+
import UseAnimations from 'react-useanimations';
|
|
77
|
+
import menu from 'react-useanimations/lib/menu';
|
|
78
|
+
|
|
79
|
+
export const MenuButton = () => {
|
|
80
|
+
const [open, setOpen] = useState(false);
|
|
72
81
|
|
|
73
82
|
return (
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}}
|
|
81
|
-
size={40}
|
|
82
|
-
wrapperStyle={{ marginTop: '5px' }}
|
|
83
|
-
animation={radioButton}
|
|
84
|
-
/>
|
|
85
|
-
</div>
|
|
83
|
+
<UseAnimations
|
|
84
|
+
animation={menu}
|
|
85
|
+
size={40}
|
|
86
|
+
reverse={open} // also animates when `open` changes elsewhere, e.g. the menu closes on Escape
|
|
87
|
+
onClick={() => setOpen(!open)}
|
|
88
|
+
/>
|
|
86
89
|
);
|
|
87
90
|
};
|
|
88
91
|
```
|
|
89
92
|
|
|
90
|
-
|
|
93
|
+
#### Changing the interaction
|
|
94
|
+
|
|
91
95
|
```javascript
|
|
92
|
-
|
|
93
|
-
return (
|
|
94
|
-
<UseAnimation
|
|
95
|
-
animation={heart}
|
|
96
|
-
size={60}
|
|
97
|
-
onClick={() => {
|
|
98
|
-
// eslint-disable-next-line
|
|
99
|
-
console.log('additional onClick cb is working');
|
|
100
|
-
}}
|
|
101
|
-
render={(eventProps, animationProps) => (
|
|
102
|
-
<button style={{ padding: '20px' }} type="button" {...eventProps}>
|
|
103
|
-
<div {...animationProps} />
|
|
104
|
-
</button>
|
|
105
|
-
)}
|
|
106
|
-
/>
|
|
107
|
-
);
|
|
108
|
-
};
|
|
96
|
+
<UseAnimations animation={download} interaction="hover" />
|
|
109
97
|
```
|
|
110
|
-
|
|
98
|
+
|
|
99
|
+
#### Wrapping the animation in another element
|
|
100
|
+
|
|
101
|
+
```javascript
|
|
102
|
+
import heart from 'react-useanimations/lib/heart';
|
|
103
|
+
|
|
104
|
+
export const LikeButton = () => (
|
|
105
|
+
<UseAnimations
|
|
106
|
+
animation={heart}
|
|
107
|
+
size={60}
|
|
108
|
+
onClick={() => console.log('liked')}
|
|
109
|
+
render={(eventProps, animationProps) => (
|
|
110
|
+
<button type="button" aria-label="Like" {...eventProps}>
|
|
111
|
+
<div {...animationProps} />
|
|
112
|
+
</button>
|
|
113
|
+
)}
|
|
114
|
+
/>
|
|
115
|
+
);
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
`eventProps` holds the `onClick`, `onMouseEnter` and `onMouseLeave` handlers for your interactive element (e.g. a button) and `animationProps` holds the animation itself, which you spread inside a plain `<div>`.
|
|
119
|
+
|
|
120
|
+
#### Next.js and other SSR frameworks
|
|
121
|
+
|
|
122
|
+
The component is marked `'use client'` and loads lottie-web only in the browser, so it can be rendered from server components without `dynamic(..., { ssr: false })`.
|
|
123
|
+
|
|
124
|
+
### Available animations
|
|
125
|
+
|
|
126
|
+
<!-- icons:start -->
|
|
127
|
+
|
|
128
|
+
`activity`, `airplay`, `alertCircle`, `alertOctagon`, `alertTriangle`, `archive`, `arrowDown`, `arrowDownCircle`, `arrowLeftCircle`, `arrowRightCircle`, `arrowUp`, `arrowUpCircle`, `behance`, `bookmark`, `calendar`, `checkBox`, `checkmark`, `chevronLeft`, `chevronRight`, `codepen`, `copy`, `download`, `dribbble`, `edit`, `error`, `explore`, `facebook`, `filter`, `folder`, `github`, `heart`, `help`, `home`, `infinity`, `info`, `instagram`, `linkedin`, `loading`, `loading2`, `loading3`, `loading4`, `lock`, `mail`, `maximizeMinimize`, `maximizeMinimize2`, `menu`, `menu2`, `menu3`, `menu4`, `microphone`, `microphone2`, `notification`, `notification2`, `notification3`, `notification4`, `playPause`, `playPauseCircle`, `plusToX`, `pocket`, `radioButton`, `refresh`, `scrollDown`, `searchToX`, `settings`, `settings2`, `share`, `skipBack`, `skipForward`, `star`, `thumbUp`, `toggle`, `trash`, `trash2`, `twitter`, `userMinus`, `userPlus`, `userX`, `video`, `video2`, `visibility`, `visibility2`, `visibility3`, `volume`, `youtube`, `youtube2`, `zoomIn`, `zoomOut`
|
|
129
|
+
<!-- icons:end -->
|
|
130
|
+
|
|
131
|
+
Import each one from `react-useanimations/lib/<name>`.
|
|
132
|
+
|
|
133
|
+
### Upgrading from v2
|
|
134
|
+
|
|
135
|
+
- Icon interactions now match useanimations.com (e.g. `zoomIn` plays on hover instead of looping, social icons loop while hovered). Pass `interaction` to keep a different behavior.
|
|
136
|
+
- `reverse` is now fully controlled: changing it from `true` to `false` animates back.
|
|
137
|
+
- `onMouseEnter` / `onMouseLeave` no longer replace the hover animation, and `style` is merged into the wrapper styles.
|
|
138
|
+
- `loop={false}` and `autoplay={false}` now override the defaults of looping icons.
|
|
139
|
+
- `options` is typed as lottie-web's `AnimationConfigWithData<'svg'>`.
|
|
140
|
+
- The `react-useanimations/utils/*` paths were removed; import the types (`Animation`, `AnimationKey`, `Interaction`, `UseAnimationsProps`) from `react-useanimations`.
|
|
141
|
+
|
|
142
|
+
### Development
|
|
143
|
+
|
|
144
|
+
```
|
|
145
|
+
npm install
|
|
146
|
+
npm test # vitest
|
|
147
|
+
npm run lint
|
|
148
|
+
npm run check-types
|
|
149
|
+
npm run build # builds dist/ (CJS + ESM + types)
|
|
150
|
+
npm run sync-icons # syncs src/lib with https://useanimations.com/icons.json
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### License
|
|
154
|
+
|
|
155
|
+
The animations are free for personal and commercial use under [Creative Commons Attribution 4.0](https://creativecommons.org/licenses/by/4.0/). Attribution with a link to [useanimations.com](https://useanimations.com) is required; redistributing or reselling the files themselves (e.g. in icon packs, templates or UI kits) is not allowed. See [LICENSE](LICENSE) and [Licencing & Terms](https://useanimations.com/licencing-and-terms).
|
package/index.d.mts
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AnimationConfigWithData } from 'lottie-web';
|
|
3
|
+
|
|
4
|
+
declare const interactions: {
|
|
5
|
+
readonly activity: "loop";
|
|
6
|
+
readonly airplay: "loop";
|
|
7
|
+
readonly alertCircle: "loop";
|
|
8
|
+
readonly alertOctagon: "loop";
|
|
9
|
+
readonly alertTriangle: "loop";
|
|
10
|
+
readonly archive: "hover";
|
|
11
|
+
readonly arrowDown: "loop";
|
|
12
|
+
readonly arrowDownCircle: "click-replay";
|
|
13
|
+
readonly arrowLeftCircle: "click-replay";
|
|
14
|
+
readonly arrowRightCircle: "click-replay";
|
|
15
|
+
readonly arrowUp: "loop";
|
|
16
|
+
readonly arrowUpCircle: "click-replay";
|
|
17
|
+
readonly behance: "hover-loop";
|
|
18
|
+
readonly bookmark: "click-toggle";
|
|
19
|
+
readonly calendar: "hover";
|
|
20
|
+
readonly checkBox: "click-toggle";
|
|
21
|
+
readonly checkmark: "loop";
|
|
22
|
+
readonly chevronLeft: "click-replay";
|
|
23
|
+
readonly chevronRight: "click-replay";
|
|
24
|
+
readonly codepen: "hover-loop";
|
|
25
|
+
readonly copy: "hover";
|
|
26
|
+
readonly download: "click-replay";
|
|
27
|
+
readonly dribbble: "hover-loop";
|
|
28
|
+
readonly edit: "hover";
|
|
29
|
+
readonly error: "loop";
|
|
30
|
+
readonly explore: "hover";
|
|
31
|
+
readonly facebook: "hover-loop";
|
|
32
|
+
readonly filter: "click-replay";
|
|
33
|
+
readonly folder: "hover";
|
|
34
|
+
readonly github: "hover-loop";
|
|
35
|
+
readonly heart: "click-toggle";
|
|
36
|
+
readonly help: "loop";
|
|
37
|
+
readonly home: "hover";
|
|
38
|
+
readonly infinity: "loop";
|
|
39
|
+
readonly info: "hover";
|
|
40
|
+
readonly instagram: "hover";
|
|
41
|
+
readonly linkedin: "hover-loop";
|
|
42
|
+
readonly loading: "loop";
|
|
43
|
+
readonly loading2: "loop";
|
|
44
|
+
readonly loading3: "loop";
|
|
45
|
+
readonly loading4: "loop";
|
|
46
|
+
readonly lock: "click-toggle";
|
|
47
|
+
readonly mail: "hover";
|
|
48
|
+
readonly maximizeMinimize: "click-toggle";
|
|
49
|
+
readonly maximizeMinimize2: "click-toggle";
|
|
50
|
+
readonly menu: "click-toggle";
|
|
51
|
+
readonly menu2: "click-toggle";
|
|
52
|
+
readonly menu3: "click-toggle";
|
|
53
|
+
readonly menu4: "click-toggle";
|
|
54
|
+
readonly microphone: "click-toggle";
|
|
55
|
+
readonly microphone2: "click-toggle";
|
|
56
|
+
readonly notification: "click-toggle";
|
|
57
|
+
readonly notification2: "click-toggle";
|
|
58
|
+
readonly notification3: "loop";
|
|
59
|
+
readonly notification4: "loop";
|
|
60
|
+
readonly playPause: "click-toggle";
|
|
61
|
+
readonly playPauseCircle: "click-toggle";
|
|
62
|
+
readonly plusToX: "click-toggle";
|
|
63
|
+
readonly pocket: "hover-loop";
|
|
64
|
+
readonly radioButton: "click-toggle";
|
|
65
|
+
readonly refresh: "click-replay";
|
|
66
|
+
readonly scrollDown: "loop";
|
|
67
|
+
readonly searchToX: "click-toggle";
|
|
68
|
+
readonly settings: "hover";
|
|
69
|
+
readonly settings2: "click-toggle";
|
|
70
|
+
readonly share: "hover";
|
|
71
|
+
readonly skipBack: "click-replay";
|
|
72
|
+
readonly skipForward: "click-replay";
|
|
73
|
+
readonly star: "click-toggle";
|
|
74
|
+
readonly thumbUp: "click-toggle";
|
|
75
|
+
readonly toggle: "click-toggle";
|
|
76
|
+
readonly trash: "hover";
|
|
77
|
+
readonly trash2: "hover";
|
|
78
|
+
readonly twitter: "hover-loop";
|
|
79
|
+
readonly userMinus: "hover";
|
|
80
|
+
readonly userPlus: "hover";
|
|
81
|
+
readonly userX: "hover";
|
|
82
|
+
readonly video: "click-toggle";
|
|
83
|
+
readonly video2: "click-toggle";
|
|
84
|
+
readonly visibility: "click-toggle";
|
|
85
|
+
readonly visibility2: "click-toggle";
|
|
86
|
+
readonly visibility3: "click-toggle";
|
|
87
|
+
readonly volume: "click-toggle";
|
|
88
|
+
readonly youtube: "hover";
|
|
89
|
+
readonly youtube2: "hover";
|
|
90
|
+
readonly zoomIn: "hover";
|
|
91
|
+
readonly zoomOut: "hover";
|
|
92
|
+
};
|
|
93
|
+
type AnimationKey = keyof typeof interactions;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* How an icon reacts to the user, matching the `interaction` field of the useAnimations catalog.
|
|
97
|
+
* - `loop`: plays continuously.
|
|
98
|
+
* - `click-toggle`: toggles between two states on click (forward, then backward).
|
|
99
|
+
* - `click-replay`: replays from the start on every click.
|
|
100
|
+
* - `hover`: plays forward on mouse enter and backward on mouse leave.
|
|
101
|
+
* - `hover-loop`: loops while hovered and stops on mouse leave.
|
|
102
|
+
*/
|
|
103
|
+
type Interaction = 'loop' | 'click-toggle' | 'click-replay' | 'hover' | 'hover-loop';
|
|
104
|
+
type Animation = {
|
|
105
|
+
animationData: unknown;
|
|
106
|
+
animationKey: AnimationKey;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
type MouseHandler = (event: React.MouseEvent<HTMLElement>) => void;
|
|
110
|
+
type EventProps = {
|
|
111
|
+
onClick: MouseHandler;
|
|
112
|
+
onMouseEnter: MouseHandler;
|
|
113
|
+
onMouseLeave: MouseHandler;
|
|
114
|
+
};
|
|
115
|
+
type AnimationProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
116
|
+
ref: React.Ref<HTMLDivElement>;
|
|
117
|
+
style: React.CSSProperties;
|
|
118
|
+
};
|
|
119
|
+
type OwnProps = {
|
|
120
|
+
/** Animation imported from `react-useanimations/lib/<name>`. */
|
|
121
|
+
animation: Animation;
|
|
122
|
+
/** Overrides the icon's default interaction, e.g. `'hover'` for an icon that normally plays on click. */
|
|
123
|
+
interaction?: Interaction;
|
|
124
|
+
/** For `click-toggle` icons: `true` shows the end state (e.g. a checked checkbox). Can be controlled. */
|
|
125
|
+
reverse?: boolean;
|
|
126
|
+
strokeColor?: string;
|
|
127
|
+
fillColor?: string;
|
|
128
|
+
/** Extra CSS declarations applied to every path of the icon. */
|
|
129
|
+
pathCss?: string;
|
|
130
|
+
/** Extra lottie-web options, applied when the animation loads. */
|
|
131
|
+
options?: Partial<AnimationConfigWithData<'svg'>>;
|
|
132
|
+
size?: number;
|
|
133
|
+
loop?: boolean | number;
|
|
134
|
+
autoplay?: boolean;
|
|
135
|
+
speed?: number;
|
|
136
|
+
wrapperStyle?: React.CSSProperties;
|
|
137
|
+
/** Renders a custom wrapper: spread `eventProps` on the interactive element, `animationProps` on a div. */
|
|
138
|
+
render?: (eventProps: EventProps, animationProps: AnimationProps) => React.ReactElement;
|
|
139
|
+
};
|
|
140
|
+
type UseAnimationsProps = OwnProps & Omit<React.HTMLAttributes<HTMLDivElement>, keyof OwnProps>;
|
|
141
|
+
|
|
142
|
+
declare const UseAnimations: (props: UseAnimationsProps) => React.ReactElement;
|
|
143
|
+
|
|
144
|
+
export { type Animation, type AnimationKey, type AnimationProps, type EventProps, type Interaction, type UseAnimationsProps, UseAnimations as default };
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { AnimationConfigWithData } from 'lottie-web';
|
|
3
|
+
|
|
4
|
+
declare const interactions: {
|
|
5
|
+
readonly activity: "loop";
|
|
6
|
+
readonly airplay: "loop";
|
|
7
|
+
readonly alertCircle: "loop";
|
|
8
|
+
readonly alertOctagon: "loop";
|
|
9
|
+
readonly alertTriangle: "loop";
|
|
10
|
+
readonly archive: "hover";
|
|
11
|
+
readonly arrowDown: "loop";
|
|
12
|
+
readonly arrowDownCircle: "click-replay";
|
|
13
|
+
readonly arrowLeftCircle: "click-replay";
|
|
14
|
+
readonly arrowRightCircle: "click-replay";
|
|
15
|
+
readonly arrowUp: "loop";
|
|
16
|
+
readonly arrowUpCircle: "click-replay";
|
|
17
|
+
readonly behance: "hover-loop";
|
|
18
|
+
readonly bookmark: "click-toggle";
|
|
19
|
+
readonly calendar: "hover";
|
|
20
|
+
readonly checkBox: "click-toggle";
|
|
21
|
+
readonly checkmark: "loop";
|
|
22
|
+
readonly chevronLeft: "click-replay";
|
|
23
|
+
readonly chevronRight: "click-replay";
|
|
24
|
+
readonly codepen: "hover-loop";
|
|
25
|
+
readonly copy: "hover";
|
|
26
|
+
readonly download: "click-replay";
|
|
27
|
+
readonly dribbble: "hover-loop";
|
|
28
|
+
readonly edit: "hover";
|
|
29
|
+
readonly error: "loop";
|
|
30
|
+
readonly explore: "hover";
|
|
31
|
+
readonly facebook: "hover-loop";
|
|
32
|
+
readonly filter: "click-replay";
|
|
33
|
+
readonly folder: "hover";
|
|
34
|
+
readonly github: "hover-loop";
|
|
35
|
+
readonly heart: "click-toggle";
|
|
36
|
+
readonly help: "loop";
|
|
37
|
+
readonly home: "hover";
|
|
38
|
+
readonly infinity: "loop";
|
|
39
|
+
readonly info: "hover";
|
|
40
|
+
readonly instagram: "hover";
|
|
41
|
+
readonly linkedin: "hover-loop";
|
|
42
|
+
readonly loading: "loop";
|
|
43
|
+
readonly loading2: "loop";
|
|
44
|
+
readonly loading3: "loop";
|
|
45
|
+
readonly loading4: "loop";
|
|
46
|
+
readonly lock: "click-toggle";
|
|
47
|
+
readonly mail: "hover";
|
|
48
|
+
readonly maximizeMinimize: "click-toggle";
|
|
49
|
+
readonly maximizeMinimize2: "click-toggle";
|
|
50
|
+
readonly menu: "click-toggle";
|
|
51
|
+
readonly menu2: "click-toggle";
|
|
52
|
+
readonly menu3: "click-toggle";
|
|
53
|
+
readonly menu4: "click-toggle";
|
|
54
|
+
readonly microphone: "click-toggle";
|
|
55
|
+
readonly microphone2: "click-toggle";
|
|
56
|
+
readonly notification: "click-toggle";
|
|
57
|
+
readonly notification2: "click-toggle";
|
|
58
|
+
readonly notification3: "loop";
|
|
59
|
+
readonly notification4: "loop";
|
|
60
|
+
readonly playPause: "click-toggle";
|
|
61
|
+
readonly playPauseCircle: "click-toggle";
|
|
62
|
+
readonly plusToX: "click-toggle";
|
|
63
|
+
readonly pocket: "hover-loop";
|
|
64
|
+
readonly radioButton: "click-toggle";
|
|
65
|
+
readonly refresh: "click-replay";
|
|
66
|
+
readonly scrollDown: "loop";
|
|
67
|
+
readonly searchToX: "click-toggle";
|
|
68
|
+
readonly settings: "hover";
|
|
69
|
+
readonly settings2: "click-toggle";
|
|
70
|
+
readonly share: "hover";
|
|
71
|
+
readonly skipBack: "click-replay";
|
|
72
|
+
readonly skipForward: "click-replay";
|
|
73
|
+
readonly star: "click-toggle";
|
|
74
|
+
readonly thumbUp: "click-toggle";
|
|
75
|
+
readonly toggle: "click-toggle";
|
|
76
|
+
readonly trash: "hover";
|
|
77
|
+
readonly trash2: "hover";
|
|
78
|
+
readonly twitter: "hover-loop";
|
|
79
|
+
readonly userMinus: "hover";
|
|
80
|
+
readonly userPlus: "hover";
|
|
81
|
+
readonly userX: "hover";
|
|
82
|
+
readonly video: "click-toggle";
|
|
83
|
+
readonly video2: "click-toggle";
|
|
84
|
+
readonly visibility: "click-toggle";
|
|
85
|
+
readonly visibility2: "click-toggle";
|
|
86
|
+
readonly visibility3: "click-toggle";
|
|
87
|
+
readonly volume: "click-toggle";
|
|
88
|
+
readonly youtube: "hover";
|
|
89
|
+
readonly youtube2: "hover";
|
|
90
|
+
readonly zoomIn: "hover";
|
|
91
|
+
readonly zoomOut: "hover";
|
|
92
|
+
};
|
|
93
|
+
type AnimationKey = keyof typeof interactions;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* How an icon reacts to the user, matching the `interaction` field of the useAnimations catalog.
|
|
97
|
+
* - `loop`: plays continuously.
|
|
98
|
+
* - `click-toggle`: toggles between two states on click (forward, then backward).
|
|
99
|
+
* - `click-replay`: replays from the start on every click.
|
|
100
|
+
* - `hover`: plays forward on mouse enter and backward on mouse leave.
|
|
101
|
+
* - `hover-loop`: loops while hovered and stops on mouse leave.
|
|
102
|
+
*/
|
|
103
|
+
type Interaction = 'loop' | 'click-toggle' | 'click-replay' | 'hover' | 'hover-loop';
|
|
104
|
+
type Animation = {
|
|
105
|
+
animationData: unknown;
|
|
106
|
+
animationKey: AnimationKey;
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
type MouseHandler = (event: React.MouseEvent<HTMLElement>) => void;
|
|
110
|
+
type EventProps = {
|
|
111
|
+
onClick: MouseHandler;
|
|
112
|
+
onMouseEnter: MouseHandler;
|
|
113
|
+
onMouseLeave: MouseHandler;
|
|
114
|
+
};
|
|
115
|
+
type AnimationProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
116
|
+
ref: React.Ref<HTMLDivElement>;
|
|
117
|
+
style: React.CSSProperties;
|
|
118
|
+
};
|
|
119
|
+
type OwnProps = {
|
|
120
|
+
/** Animation imported from `react-useanimations/lib/<name>`. */
|
|
121
|
+
animation: Animation;
|
|
122
|
+
/** Overrides the icon's default interaction, e.g. `'hover'` for an icon that normally plays on click. */
|
|
123
|
+
interaction?: Interaction;
|
|
124
|
+
/** For `click-toggle` icons: `true` shows the end state (e.g. a checked checkbox). Can be controlled. */
|
|
125
|
+
reverse?: boolean;
|
|
126
|
+
strokeColor?: string;
|
|
127
|
+
fillColor?: string;
|
|
128
|
+
/** Extra CSS declarations applied to every path of the icon. */
|
|
129
|
+
pathCss?: string;
|
|
130
|
+
/** Extra lottie-web options, applied when the animation loads. */
|
|
131
|
+
options?: Partial<AnimationConfigWithData<'svg'>>;
|
|
132
|
+
size?: number;
|
|
133
|
+
loop?: boolean | number;
|
|
134
|
+
autoplay?: boolean;
|
|
135
|
+
speed?: number;
|
|
136
|
+
wrapperStyle?: React.CSSProperties;
|
|
137
|
+
/** Renders a custom wrapper: spread `eventProps` on the interactive element, `animationProps` on a div. */
|
|
138
|
+
render?: (eventProps: EventProps, animationProps: AnimationProps) => React.ReactElement;
|
|
139
|
+
};
|
|
140
|
+
type UseAnimationsProps = OwnProps & Omit<React.HTMLAttributes<HTMLDivElement>, keyof OwnProps>;
|
|
141
|
+
|
|
142
|
+
declare const UseAnimations: (props: UseAnimationsProps) => React.ReactElement;
|
|
143
|
+
|
|
144
|
+
export { type Animation, type AnimationKey, type AnimationProps, type EventProps, type Interaction, type UseAnimationsProps, UseAnimations as default };
|