dom-flip - Vaadin Add-on Directory
� Smooth position animation for web components.# \
[![Build Status](https://travis-ci.org/NeoLegends/dom-flip.svg?branch=master)](https://travis-ci.org/NeoLegends/dom-flip)
[![Greenkeeper badge](https://badges.greenkeeper.io/Festify/dom-flip.svg)](https://greenkeeper.io/)
[![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/Festify/dom-flip)
� Smooth position animation for web components.
[Demo](https://neolegends.github.io/dom-flip/)
This element is an implementation of the [FLIP-technique](https://aerotwist.com/blog/flip-your-animations/) for arbitrary elements. Simply place it around the elements you indend to reorder and they will smoothly slide over the screen when moved.
[[item.name]]
```
### lit-html:
```ts
const template = (items: { id: string, name: string }[]) => html`
${items.map(item => html`
`;
// Render some items
const result = template([
{ id: "1", name: "Hello" },
{ id: "2", name: ", " },
{ id: "3", name: "World!" }
]);
render(result, renderNode);
// ... next animation frame
// Change their order
const result = template([
{ id: "1", name: "Hello" },
{ id: "3", name: "World!" },
{ id: "2", name: ", " }
]);
// Positions are animated and the items will smoothly glide to their new place
render(result, renderNode);
```
### iron-list
Although we wish it did, this element will not work with `` due to the virtualization. Maybe this can be fixed in the future.
### Automatic registration
You can import the custom element class from `dom-flip/element` if you don't want it to automatically be registered within the custom elements registry.
## Performance
The element is designed to avoid layout thrashing as much as possible by batching work into microtasks and to animation frame timing.
## License
MIT
View on NPM## Installation This element lives on npm. Install with `yarn add dom-flip` or `npm install --save dom-flip`. ## Usage You can use this element together with any element that modifies the DOM. The animated elements must be direct children of the `dom-flip` element. To be able to correlate changes in the model to changes to the DOM, this element requires that you give every element a unique ID. This must be an attribute on the element itself and cannot be a property (because properties cannot be observed via MutationObserver). ### Polymer's dom-repeat: ```html
${item.name}
`)}
View on GitHub
dom-flip version 0.2.0
### Dependencies
dom-flip version 0.2.1
### Dependencies
dom-flip version 0.2.2
### Dependencies
dom-flip version 0.2.3
### Dependencies
dom-flip version 0.2.4
### Dependencies
dom-flip version 0.2.5
### Dependencies
dom-flip version 0.2.6
### Dependencies
dom-flip version 0.2.7
### Dependencies
dom-flip version 0.2.8
### Dependencies
dom-flip version 0.2.9
### Dependencies
* lit-html#^0.9.0
dom-flip version 0.3.0
### Dependencies
dom-flip version 0.4.0
### Dependencies
dom-flip version 0.4.1
### Dependencies
dom-flip version 0.4.2
### Dependencies
dom-flip version 0.4.3
### Dependencies