Skip to content

Latest commit

 

History

History
76 lines (46 loc) · 2.46 KB

README.md

File metadata and controls

76 lines (46 loc) · 2.46 KB

Dough React

This package provides some widgets you can use to create a smooshy UI.

Alpha

How to use

This package provides squishy UI components that you can use right out of the box. Or, optionally, you can create your own.

To use This component you must call defineCustomElements() from @dough-react in your app's entry file.

import { defineCustomElements } from 'dough-react';

defineCustomElements();

Pressable Dough

Wrap any component in DoughPressable to make it squish based on a user's input gestures.

<DoughPressable>
  <img src="..." />
</DoughPressable>

DoughPressable Demo

Draggable Dough

DoughDraggable allows you to drag and drop components around... Only this time it's squishy!

<DoughDraggable>
  <img src="..." />
</DoughDraggable>

DraggableDough Demo

Make your own Dough

If the above widgets aren't exactly what you're looking for, you can easily create your own squishy component using the provided DoughAllPurposeFlour component! Check out the DoughPressable implementation for how to do that.

DoughAllPurposeFlour Demo


Customize how the Dough feels

If you don't like the default dough settings, you can easily change how the dough feels. Just update the provided viscosity and adhesion parameters.

<DoughDraggable viscosity="10" adhesion="4">
  <img src="..." />
</DoughDraggable>

Contributing

Contributions to this package are always welcome! Please read the contributing guidlines.

  • If you have an idea/suggestion/bug-report, feel free to create a ticket.
  • If you created a custom Dough widget or some other awesome feature that you want to share with the community, you can fork the repository and submit a pull request!

keywords: dough, rubber, elastic, rubber-band, rubberband, stretchy, squishy, smooshy, linear-algebra, matrix, transformation, flexible, draggable, drag, pressable, custom, ui, ux, interactive, animation, engage, stencil, react, angular, vue, flutter, web, mobile, responsive