# Components

- [Component basics](https://docs.aurelia.io/components/components.md): Components are the building blocks of Aurelia applications. This guide covers creating, configuring, and using components effectively.
- [Component lifecycles](https://docs.aurelia.io/components/component-lifecycles.md)
- [Lifecycle Visual Diagrams](https://docs.aurelia.io/components/lifecycle-diagrams.md)
- [Bindable properties](https://docs.aurelia.io/components/bindable-properties.md): How to create components that accept one or more bindable properties. You might know these as "props" if you are coming from other frameworks and libraries.
- [Styling components](https://docs.aurelia.io/components/class-and-style-binding.md): Master the art of dynamic styling in Aurelia 2. Learn everything from basic class toggling to advanced CSS custom properties, plus component styling strategies that will make your apps both beautiful
- [Shadow DOM](https://docs.aurelia.io/components/shadow-dom.md): Learn how to use Shadow DOM in Aurelia components for style encapsulation and native web component features.
- [Slotted content](https://docs.aurelia.io/components/shadow-dom-and-slots.md): Learn how to project content into custom elements using native slots and au-slot, and how to observe and react to slot changes.
- [Scope and context](https://docs.aurelia.io/components/scope-and-binding-context.md): Master the art of scope and binding context - the secret sauce behind Aurelia's powerful data binding magic.
- [CustomElement API](https://docs.aurelia.io/components/customelement-api.md)
- [Component Recipes](https://docs.aurelia.io/components/component-recipes.md)
- [Recipes Overview](https://docs.aurelia.io/components/component-recipes/recipes.md): Practical component recipes for building common UI elements in Aurelia
- [Dropdown Menu](https://docs.aurelia.io/components/component-recipes/dropdown-menu.md): Build a fully-featured dropdown menu component with keyboard navigation and accessibility
- [Modal Dialog](https://docs.aurelia.io/components/component-recipes/modal-dialog.md): Build a flexible modal dialog component with backdrop, animations, and focus management
- [Accordion](https://docs.aurelia.io/components/component-recipes/accordion.md): Build an accessible accordion component with smooth animations and keyboard support
- [Template compilation](https://docs.aurelia.io/components/template-compilation.md)
- [processContent](https://docs.aurelia.io/components/template-compilation/process-content.md): Learn how to manipulate the DOM from the usage-side of a custom element using the processContent hook.
- [Extending templating syntax](https://docs.aurelia.io/components/template-compilation/extending-templating-syntax.md): The Aurelia template compiler is powerful and developer-friendly, allowing you extend its syntax with great ease.
- [Modifying template parsing with AttributePattern](https://docs.aurelia.io/components/template-compilation/attributepattern.md)
- [Extending binding language](https://docs.aurelia.io/components/template-compilation/bindingcommand.md): The Aurelia template compiler is powerful and developer-friendly, allowing you extend its binding language with great ease.
- [Using the template compiler](https://docs.aurelia.io/components/template-compilation/the-template-compiler.md): The template compiler is used by Aurelia under the hood to process templates and provides hooks and APIs allowing you intercept and modify how this behavior works in your applications.
- [Extending the template compiler](https://docs.aurelia.io/components/template-compilation/extending-the-template-compiler.md)
- [Attribute mapping](https://docs.aurelia.io/components/template-compilation/attributemapper.md): Learn about binding values to attributes of DOM elements and how to extend the attribute mapping with great ease.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aurelia.io/components.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
