{"id":317246,"date":"2026-06-28T15:48:30","date_gmt":"2026-06-28T15:48:30","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/anilibrary\/"},"modified":"2026-06-28T15:47:32","modified_gmt":"2026-06-28T15:47:32","slug":"anilibrary","status":"publish","type":"plugin","link":"https:\/\/gax.wordpress.org\/plugins\/anilibrary\/","author":23522909,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"AniLibrary","header_author":"Fearless Future","header_description":"Wrap any block and apply lightweight, content-aware animations.","assets_banners_color":"649175","last_updated":"2026-06-28 15:47:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/jsilff\/wordpress-animation-block-wrapper","header_author_uri":"https:\/\/ff.design","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"jsilff","date":"2026-06-28 15:47:32"}},"upgrade_notice":{"1.1.0":"<p>Adds scroll-controlled video playback and contextual media scroll controls.<\/p>","1.0.0":"<p>Initial public release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3588968,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3588968,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3588968,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3588968,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3588968,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"animation-block-wrapper\/wrapper":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"animation-block-wrapper\/wrapper","version":"1.1.0","title":"AniLibrary","category":"design","icon":"format-image","description":"Wrap any block and add easy animations.","keywords":["animation","wrapper","motion","gutenberg"],"textdomain":"anilibrary","supports":{"html":false,"anchor":true,"spacing":{"margin":true,"padding":true},"layout":true},"attributes":{"preset":{"type":"string","default":"fade"},"contentKind":{"type":"string","default":"mixed"},"trigger":{"type":"string","default":"scroll"},"intensity":{"type":"number","default":100},"direction":{"type":"string","default":"up"},"zoomMode":{"type":"string","default":"in"},"bounceCount":{"type":"number","default":1},"duration":{"type":"number","default":700},"delay":{"type":"number","default":0},"stagger":{"type":"number","default":0},"easing":{"type":"string","default":"ease-out"},"once":{"type":"boolean","default":true},"threshold":{"type":"number","default":0.25},"loop":{"type":"boolean","default":false},"clickToggle":{"type":"boolean","default":false},"hideUntilHover":{"type":"boolean","default":false},"inheritParentDelay":{"type":"boolean","default":false},"followParentAnimation":{"type":"boolean","default":false},"textGranularity":{"type":"string","default":"word"},"mediaScrollPlaybackDirection":{"type":"string","default":"forward"},"mediaScrollDirectionLimit":{"type":"string","default":"both"},"mediaScrollPlaybackCycles":{"type":"number","default":1},"mediaScrollProgressSource":{"type":"string","default":"viewport"},"mediaScrollViewportEdge":{"type":"string","default":"top"},"mediaScrollViewportStart":{"type":"number","default":90},"mediaScrollViewportEnd":{"type":"number","default":10},"mediaScrollStartAtPageTop":{"type":"boolean","default":false},"mediaScrollDocumentStart":{"type":"number","default":0},"mediaScrollDocumentEnd":{"type":"number","default":100}},"editorScript":"file:.\/build\/index.js","editorStyle":"file:.\/build\/index.css","style":"file:.\/build\/style.css","viewScript":"file:.\/build\/view.js"}},"tagged_versions":["1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3588968,"resolution":"1","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"AniLibrary styles and settings in the editor sidebar."}},"plugin_section":[],"plugin_tags":[785,1220,148076,34998,790],"plugin_category":[50],"plugin_contributors":[269284],"plugin_business_model":[],"class_list":["post-317246","plugin","type-plugin","status-publish","hentry","plugin_tags-animation","plugin_tags-block","plugin_tags-gutenberg","plugin_tags-motion","plugin_tags-scroll","plugin_category-media","plugin_contributors-jsilff","plugin_committers-jsilff"],"banners":{"banner":"https:\/\/ps.w.org\/anilibrary\/assets\/banner-772x250.png?rev=3588968","banner_2x":"https:\/\/ps.w.org\/anilibrary\/assets\/banner-1544x500.png?rev=3588968","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/anilibrary\/assets\/icon.svg?rev=3588968","icon":"https:\/\/ps.w.org\/anilibrary\/assets\/icon.svg?rev=3588968","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/anilibrary\/assets\/screenshot-1.png?rev=3588968","caption":"AniLibrary styles and settings in the editor sidebar."}],"raw_content":"<!--section=description-->\n<p>AniLibrary gives you one wrapper block that can hold almost any other block. Add the wrapper, drop your content inside, choose an animation, and you're done.<\/p>\n\n<p>Features:<\/p>\n\n<ul>\n<li>Works with core blocks, groups, columns, and most custom blocks.<\/li>\n<li>Choose when animations start: page load, scroll into view, hover, click, or loop.<\/li>\n<li>Use the Scrub media preset to move through a video or GIF as someone scrolls.<\/li>\n<li>GIFs can move in steps; videos give the smoothest result.<\/li>\n<li>Start top-of-page scrub media at the beginning when the page first loads.<\/li>\n<li>Repeat scrubbed media playback across a scroll range for multiple visible cycles.<\/li>\n<li>Suggests animation styles based on the content inside.<\/li>\n<li>Respects users who prefer reduced motion.<\/li>\n<li>Lightweight front-end output.<\/li>\n<li>No tracking and no outside asset requests.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/anilibrary<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Open the block editor and add \"AniLibrary\".<\/li>\n<li>Place one or more blocks inside the wrapper and configure animation settings in the sidebar.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20work%20with%20my%20blocks%3F\"><h3>Will this work with my blocks?<\/h3><\/dt>\n<dd><p>Usually yes. The wrapper can contain core blocks and most custom blocks.<\/p><\/dd>\n<dt id=\"can%20i%20nest%20anilibrary%20blocks%3F\"><h3>Can I nest AniLibrary blocks?<\/h3><\/dt>\n<dd><p>Yes. Nesting gives you more control over different parts of your content.<\/p><\/dd>\n<dt id=\"does%20it%20load%20scripts%20on%20every%20page%3F\"><h3>Does it load scripts on every page?<\/h3><\/dt>\n<dd><p>No. Front-end assets only load on pages where AniLibrary is used.<\/p><\/dd>\n<dt id=\"what%20if%20a%20visitor%20prefers%20reduced%20motion%3F\"><h3>What if a visitor prefers reduced motion?<\/h3><\/dt>\n<dd><p>AniLibrary automatically reduces motion for those users.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added the Scrub media preset for videos and animated GIFs.<\/li>\n<li>Added controls for forward\/backward scroll playback, one-way scroll, and once-only locking.<\/li>\n<li>Added screen, page, and parent block scroll sources for fixed and nested media layouts.<\/li>\n<li>Added beginning-at-page-top behavior for hero, fixed, and sticky media.<\/li>\n<li>Added a playback cycles control for repeating scrubbed media as users scroll.<\/li>\n<li>Added animated GIF support with graceful fallback when a browser cannot step through the GIF.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Added wrapper block with load\/scroll\/hover\/click\/loop triggers.<\/li>\n<li>Added smart preset suggestions based on your content.<\/li>\n<li>Added reduced-motion-safe runtime defaults.<\/li>\n<\/ul>","raw_excerpt":"Add easy animations to any block in the WordPress editor.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/317246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=317246"}],"author":[{"embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jsilff"}],"wp:attachment":[{"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=317246"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=317246"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=317246"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=317246"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=317246"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/gax.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=317246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}