# Compose Unstyled

> Compose Multiplatform UI primitives and theming tools for building custom design systems.

The documentation below covers the current Compose Unstyled v2 release.

## Getting Started
- [Overview](https://composables.com/compose-unstyled/docs/overview.md): Overview of the Compose Unstyled library
- [Installation](https://composables.com/compose-unstyled/docs/installation.md): Learn how to use Compose Unstyled in a new or existing projects.
- [Components](https://composables.com/compose-unstyled/docs/components.md): Find all available component primitives in Compose Unstyled.
- [Migration to 2.0](https://composables.com/compose-unstyled/docs/migration-to-2.md): How to migrate Compose Unstyled projects to 2.0.
- [Community](https://composables.com/compose-unstyled/docs/community.md): Contribute to Compose Unstyled, stay up to date with releases and join the discussion.

## Primitives
- [Avatar](https://composables.com/compose-unstyled/docs/avatar.md): An avatar primitive with image, fallback content, and caller-defined shape.
- [Bottom Sheet](https://composables.com/compose-unstyled/docs/bottom-sheet.md): A draggable bottom sheet with custom detents.
- [Bottom Sheet (Modal)](https://composables.com/compose-unstyled/docs/modal-bottom-sheet.md): A dismissible modal bottom sheet with custom detents.
- [Button](https://composables.com/compose-unstyled/docs/button.md): A button component for custom button styles.
- [Checkbox](https://composables.com/compose-unstyled/docs/checkbox.md): A checkbox component with full control over the indicator, bounds, and checked animation.
- [Checkbox (TriState)](https://composables.com/compose-unstyled/docs/tristatecheckbox.md): A three-state checkbox component for checked, unchecked, and indeterminate values.
- [Dialog](https://composables.com/compose-unstyled/docs/dialog.md): A modal dialog component with dismiss behavior and panel transitions.
- [Disclosure](https://composables.com/compose-unstyled/docs/disclosure.md): An expandable content component with a dedicated trigger and content slot.
- [Dropdown Menu](https://composables.com/compose-unstyled/docs/dropdown-menu.md): An anchored menu component with keyboard navigation and custom placement.
- [Icon](https://composables.com/compose-unstyled/docs/icon.md): An icon component for tinted painter, bitmap, and vector assets.
- [Progress Indicator](https://composables.com/compose-unstyled/docs/progressindicator.md): A progress indicator component for determinate and indeterminate loading states.
- [Radio Group](https://composables.com/compose-unstyled/docs/radiogroup.md): A radio group component for single-choice selection.
- [Scroll Area](https://composables.com/compose-unstyled/docs/scrollarea.md): Scrollbar components for scroll state, lazy lists, and lazy grids.
- [Separators](https://composables.com/compose-unstyled/docs/separators.md): Horizontal and vertical separators with caller-defined color and thickness.
- [Slider](https://composables.com/compose-unstyled/docs/slider.md): A slider component with custom track and thumb slots.
- [Tab Group](https://composables.com/compose-unstyled/docs/tabgroup.md): A tab group component with generic tab keys and keyboard navigation.
- [Text Field](https://composables.com/compose-unstyled/docs/textfield.md): A text field component with placeholders, transformations, and text styling hooks.
- [Toggle Switch](https://composables.com/compose-unstyled/docs/toggleswitch.md): A switch component with an animated thumb slot.
- [Tooltip](https://composables.com/compose-unstyled/docs/tooltip.md): A tooltip component for contextual help on hover, focus, and long press.

## Theming
- [Create Custom Themes](https://composables.com/compose-unstyled/docs/custom-themes.md): Learn how to create fully custom themes and how to use them to maintain consistent styling in your Compose apps.
- [Typography](https://composables.com/compose-unstyled/docs/typography.md): A themable component for displaying text with various styles and customizations.
- [Android XML Themes](https://composables.com/compose-unstyled/docs/android-xml-themes.md): A step-by-step guide on using your Android XML themes in Jetpack Compose, using Compose Unstyled.
- [Dynamic Themes](https://composables.com/compose-unstyled/docs/dynamic-themes.md): Create themes that can change over time.
- [Theme Overrides](https://composables.com/compose-unstyled/docs/theme-overrides.md): Learn how to override your themes for advanced customizations.
- [Platform Themes](https://composables.com/compose-unstyled/docs/platform-themes.md): Native look and feel on every platform with one line of code. Platform Themes set beautiful styling defaults based on the platform your app is running on.
- [Minimum Interactive Size](https://composables.com/compose-unstyled/docs/defaultMinimumComponentInteractiveSize.md): A modifier that sets the minimum interactive size of a composable based on the current device type and theme configuration.

## Styling
- [ColoredIndication](https://composables.com/compose-unstyled/docs/coloredindication.md): A customizable indication effect that displays colored overlays based on user interactions like hover, press, focus, and drag.
- [focusRing](https://composables.com/compose-unstyled/docs/focusRing.md): A modifier that draws an outline around a composable's bounds when focus should be visibly indicated, similar to browser focus indicators.
- [outline](https://composables.com/compose-unstyled/docs/outline.md): A modifier that draws an outline outside a composable's bounds, similar to CSS `outline` property.

## Responsive Design
- [Window Breakpoints](https://composables.com/compose-unstyled/docs/window-breakpoints.md): Window breakpoint utilities for building adaptive Compose layouts.
- [Stack](https://composables.com/compose-unstyled/docs/stack.md): A single layout component for horizontal and vertical stacks.

## Utilities
- [buildModifier](https://composables.com/compose-unstyled/docs/buildModifier.md): A utility function that enables conditional chaining of modifiers using a builder pattern, providing a clean alternative to nested conditional statements or multiple modifier chains.
- [Escape Handler](https://composables.com/compose-unstyled/docs/escape-handler.md): A multiplatform handler for dismissing UI from Escape or Back interactions.
- [Modal](https://composables.com/compose-unstyled/docs/modal.md): A low-level modal layer for blocking background interaction.
- [Portal](https://composables.com/compose-unstyled/docs/portal.md): A same-window portal utility for rendering content from one place in composition into a shared host.
- [Window Container Size](https://composables.com/compose-unstyled/docs/window-container-size.md): A Composable function that returns the current window size and automatically triggers recomposition when the window is resized, enabling responsive layouts.
