# Dodo Deck Each link below is a single card, as Markdown. `/agents.md` is all of them concatenated into one document, with the source of any live demo inlined. ## Cards - [Scoped Styling](https://dodo.3sln.com/style.md): @3sln/dodo/style is an optional module. It renders a subtree into a shadow root with constructable stylesheets adopted, so its CSS is genuinely scoped: rules inside cannot leak out, and page rules cannot leak in. - [The reconcile function](https://dodo.3sln.com/reconcile.md): The reconcile function is the heart of Dodo. It's responsible for applying your virtual DOM (VNode) changes to the actual DOM. It has a few distinct modes of operation. - [Reactivity](https://dodo.3sln.com/reactive.md): @3sln/dodo/reactive is an optional module. Dodo's core does not import it, does not know it exists, and works exactly the same whether or not you use it. Bring your own reactivity if you already have one — this module is here so that you do not have to, and so that whatever you do bring plugs in cleanly. - [Observing Elements](https://dodo.3sln.com/observe.md): @3sln/dodo/observe is an optional module, built on the reactive module. It turns ResizeObserver and IntersectionObserver into Cells, so element measurements compose with everything else reactive. - [Introduction to Dodo](https://dodo.3sln.com/introduction.md): Dodo is a minimal, highly configurable virtual DOM library. It is not a framework. Instead, it provides the core tools to efficiently create, update, and manage DOM elements based on a virtual representation, giving you full control over your application's rendering process and data model. - [Element Creation](https://dodo.3sln.com/elements.md): Dodo provides two primary ways to create element VNodes: the low-level h() function and a set of convenient HTML helper functions. - [Customization](https://dodo.3sln.com/customization.md): Dodo is designed to be configurable. You can create your own instance of the Dodo API by calling the dodo factory with a settings object. This is particularly useful when integrating with other languages or frameworks that have their own data structures, like ClojureScript's persistent maps and vectors. - [Context](https://dodo.3sln.com/context.md): @3sln/dodo/context is an optional module, built on top of the reactive module. It passes data down the tree without threading it through every intermediate component. - [Components: alias & special](https://dodo.3sln.com/components.md): Dodo provides two types of components for creating reusable and stateful logic: alias and special. - [Enter and Exit Animation](https://dodo.3sln.com/animate.md): @3sln/dodo/animate is an optional module, built on the reactive module. It holds an element on screen long enough to animate out, and reports which phase of appearing or disappearing it is in. ## Optional - [Everything, in one file](https://dodo.3sln.com/agents.md) - [Sitemap](https://dodo.3sln.com/sitemap.xml)