Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
React Transition Group | 9,771 | 47,715 | 4,686 | 2 months ago | 43 | August 01, 2022 | 218 | other | JavaScript | |
An easy way to perform animations when a React component enters or leaves the DOM | ||||||||||
React Native Animatable | 9,498 | 2,130 | 249 | 21 days ago | 23 | October 13, 2019 | 209 | mit | JavaScript | |
Standard set of easy to use animations and declarative transitions for React Native | ||||||||||
React Burger Menu | 4,862 | 940 | 115 | 2 months ago | 134 | May 23, 2022 | 7 | mit | JavaScript | |
:hamburger: An off-canvas sidebar component with a collection of effects and styles using CSS transitions and SVG path animations | ||||||||||
Blog | 4,349 | 4 years ago | 115 | |||||||
梁少峰的个人博客 | ||||||||||
React Flip Toolkit | 3,772 | 41 | 41 | 19 days ago | 216 | September 04, 2022 | 47 | mit | TypeScript | |
A lightweight magic-move library for configurable layout transitions | ||||||||||
React Overdrive | 3,000 | 106 | 2 | 2 years ago | 10 | May 16, 2018 | 18 | mit | JavaScript | |
Super easy magic-move transitions for React apps | ||||||||||
React Awesome Slider | 2,601 | 42 | 13 | 6 months ago | 45 | February 21, 2020 | 76 | mit | JavaScript | |
React content transition slider. Awesome Slider is a 60fps, light weight, performant component that renders an animated set of production ready UI general purpose sliders with fullpage transition support for NextJS and GatsbyJS. 🖥️ 📱 | ||||||||||
React Router Transition | 2,471 | 458 | 47 | 2 years ago | 20 | January 28, 2021 | 25 | mit | JavaScript | |
painless transitions built for react-router, powered by react-motion | ||||||||||
React Native Shared Element | 1,963 | 5 | 9 | 2 months ago | 27 | January 24, 2022 | 7 | mit | TypeScript | |
Native shared element transition "primitives" for react-native 💫 | ||||||||||
Router5 | 1,707 | 126 | 79 | a year ago | 148 | March 19, 2020 | 94 | mit | TypeScript | |
Flexible and powerful universal routing solution |
Try the Demo plunker
Visualizes the state tree and transitions in UI-Router 1.0+.
This script augments your app with two components:
State Visualizer: Your UI-Router state tree, showing the active state and its active ancestors (green nodes)
Transition Visualizer: A list of each transition (from one state to another)
The Visualizer is a UI-Router plugin.
Register the plugin with the UIRouter
object.
Using a <script>
tag
Add the script as a tag in your HTML.
<script src="//unpkg.com/@uirouter/[email protected]"></script>
The visualizer Plugin can be found (as a global variable) on the window object.
var Visualizer = window['@uirouter/visualizer'].Visualizer;
Using require
or import
(SystemJS, Webpack, etc)
Add the npm package to your project
npm install @uirouter/visualizer
require
or ES6 import
:var Visualizer = require('@uirouter/visualizer').Visualizer;
import { Visualizer } from '@uirouter/visualizer';
First get a reference to the UIRouter
object instance.
This differs by framework (AngularJS, Angular, React, etc. See below for details).
After getting a reference to the UIRouter
object, register the Visualizer
plugin
var pluginInstance = uiRouterInstance.plugin(Visualizer);
You can pass a configuration object when registering the plugin. The configuration object may have the following fields:
state
: (boolean) State Visualizer is not rendered when this is false
transition
: (boolean) Transition Visualizer is not rendered when this is false
stateVisualizer.node.label
: (function) A function that returns the label for a nodestateVisualizer.node.classes
: (function) A function that returns classnames to apply to a nodestateVisualizer.node.label
The labels for tree nodes can be customized.
Provide a function that accepts the node object and the default label and returns a string:
function(node, defaultLabel) { return "label"; }
This example adds (future)
to future states.
Note: node.self
contains a reference to the state declaration object.
var options = {
stateVisualizer: {
node: {
label: function (node, defaultLabel) {
return node.self.name.endsWith('.**') ? defaultLabel + ' (future)' : defaultLabel;
},
},
},
};
var pluginInstance = uiRouterInstance.plugin(Visualizer, options);
stateVisualizer.node.classes
The state tree visualizer can be configured to add additional classes to nodes.
Example below marks every node with angular.js view with is-ng1
class.
var options = {
stateVisualizer: {
node: {
classes(node) {
return Object.entries(node.views || {}).some((routeView) => routeView[1] && routeView[1].$type === 'ng1')
? 'is-ng1'
: '';
},
},
},
};
var pluginInstance = uiRouterInstance.plugin(Visualizer, options);
UIRouter
objectInject the $uiRouter
router instance in a run block.
// inject the router instance into a `run` block by name
app.run(function ($uiRouter) {
var pluginInstance = $uiRouter.plugin(Visualizer);
});
Use a config function in your root module's UIRouterModule.forRoot()
.
The router instance is passed to the config function.
import { Visualizer } from "@uirouter/visualizer";
...
export function configRouter(router: UIRouter) {
var pluginInstance = router.plugin(Visualizer);
}
...
@NgModule({
imports: [ UIRouterModule.forRoot({ config: configRouter }) ]
...
Create the UI-Router instance manually by calling new UIRouterReact();
var Visualizer = require('@uirouter/visualizer').Visualizer;
var router = new UIRouterReact();
var pluginInstance = router.plugin(Visualizer);
Add the plugin to your UIRouter
component
var Visualizer = require('@uirouter/visualizer').Visualizer;
...
render() {
return <UIRouter plugins=[Visualizer]></UIRouter>
}