Package-level declarations

This package contains the catalog of ready-to-use UI components (like OudsButton, OudsNavigationBar) that implement the design system specifications using Jetpack Compose.

Types

Link copied to clipboard

Default values for OudsBadge.

Link copied to clipboard

An icon in an OudsBadge. This icon is not clickable.

Link copied to clipboard

The size of an OudsBadge.

Link copied to clipboard

The status of an OudsBadge without content or with a count. This status determines the background and content colors of the badge. For a badge with icon, please use OudsIconBadgeStatus.

Link copied to clipboard

A DSL builder for constructing an OudsBulletList.

Link copied to clipboard

Default values for OudsBulletList.

Link copied to clipboard
Link copied to clipboard
sealed class OudsBulletListType

The type of an OudsBulletList.

Link copied to clipboard

The icon to be used in an unordered OudsBulletList.

Link copied to clipboard

Represents the appearance of an OudsButton.

Link copied to clipboard

Default values for OudsButton.

Link copied to clipboard

An icon in an OudsButton. This icon is non-clickable.

Link copied to clipboard
data class OudsButtonLoader(val progress: Float?)

A circular loading indicator displayed in an OudsButton.

Link copied to clipboard
Link copied to clipboard

Represents the possible background colors of an OudsColoredBox.

Link copied to clipboard

An icon in a control item like OudsCheckboxItem or OudsRadioButtonItem. It is not clickable and requires no content description because a control item label is always present.

Link copied to clipboard

Represents the possible colors for an OudsHorizontalDivider or an OudsVerticalDivider. Each color corresponds to a specific color key token from the Design System.

Link copied to clipboard
Link copied to clipboard
sealed class OudsIconBadgeStatus

The status of an OudsBadge with icon. This status determines the background and content colors of the badge. It also carries the optional icon to be displayed in the badge. Depending on the status, this icon can be customizable or be a status dedicated icon. For a badge without icon, please use OudsBadgeStatus. A content description should be specified at OudsBadge level through semantics Modifier.

Link copied to clipboard

Represents the type of chevron displayed in an OudsLink.

Link copied to clipboard

Contains the default values used by OUDS links.

Link copied to clipboard

An icon in an OudsLink. This icon is non-clickable and no content description is needed because a link label is always present.

Link copied to clipboard

Represents the size of an OudsLink.

Link copied to clipboard
data class OudsNavigationBarItem(val selected: Boolean, val onClick: () -> Unit, val icon: OudsNavigationBarItemIcon, val label: String? = null, val badge: OudsNavigationBarItemBadge? = null, val interactionSource: MutableInteractionSource? = null) : OudsComponentContent<OudsNavigationBarItem.ExtraParameters>

An OUDS navigation bar item, used in OudsNavigationBar.

Link copied to clipboard
data class OudsNavigationBarItemBadge(val contentDescription: String, val count: Int? = null)

A badge in an OudsNavigationBarItem.

Link copied to clipboard
Link copied to clipboard

An asset in an OudsTag. This asset is non-clickable. No content description is needed because a tag always contains a label.

Link copied to clipboard

Default values for OudsTag.

Link copied to clipboard
data class OudsTagLoader(val progress: Float?)

A circular progress indicator displayed in the tag area to indicate that tags are being loaded or processed.

Link copied to clipboard

Represents the size of an OUDS tag.

Link copied to clipboard
sealed class OudsTagStatus

The status of an OudsTag. Each status is designed to convey a specific meaning and ensure clarity in communication. It determines the background and the content colors of the tag. It also carries the optional asset to be displayed in the tag: bullet or icon. Depending on the status, this icon can be customizable or be a status dedicated icon.

Link copied to clipboard
data class OudsTextInputHelperLink(val text: String, val onClick: () -> Unit)

An helper link displayed below or in place of the helper text.

Link copied to clipboard
data class OudsTextInputLoader(val progress: Float?)

A circular loading indicator displayed in the text input.

Link copied to clipboard

An action in an OudsTopAppBar or any other variant.

Link copied to clipboard
data class OudsTopAppBarActionBadge(val contentDescription: String, val count: Int? = null)

A badge in an OudsTopAppBarAction.

Link copied to clipboard

A navigation icon in an OudsTopAppBar or any other variant.

Properties

Link copied to clipboard
const val OudsBadgeMaxCount: Int = 99

The maximum count value.

Link copied to clipboard

Height of OUDS navigation bar.

Functions

Link copied to clipboard
fun OudsBadge(modifier: Modifier = Modifier, enabled: Boolean = true, status: OudsBadgeStatus = OudsBadgeDefaults.Status, size: OudsBadgeSize = OudsBadgeDefaults.Size)
fun OudsBadge(modifier: Modifier = Modifier, enabled: Boolean = true, status: OudsIconBadgeStatus = OudsBadgeDefaults.WithIconStatus, size: OudsBadgeSize = OudsBadgeDefaults.Size)
fun OudsBadge(count: Int, modifier: Modifier = Modifier, enabled: Boolean = true, status: OudsBadgeStatus = OudsBadgeDefaults.Status, size: OudsBadgeSize = OudsBadgeDefaults.Size)

Badge is a UI element that emphasizes system notifications, status, or the categorization of an information, throughout colour only. Badge is rendered as a coloured shape, without icon, text or number; and its chosen size remains unchanged regardless of the changes of the interface size.

Link copied to clipboard
fun OudsBulletList(modifier: Modifier = Modifier, type: OudsBulletListType = OudsBulletListDefaults.Type, textStyle: OudsBulletListTextStyle = OudsBulletListDefaults.TextStyle, bold: Boolean = true, builder: OudsBulletListBuilder.() -> Unit)

Bullet list is a UI element that helps to view in related individual text items grouped together; items usually starting with a number or a bullet.

Link copied to clipboard
fun OudsButton(icon: OudsButtonIcon, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, loader: OudsButtonLoader? = null, appearance: OudsButtonAppearance = OudsButtonDefaults.Appearance, interactionSource: MutableInteractionSource? = null)
fun OudsButton(label: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, loader: OudsButtonLoader? = null, appearance: OudsButtonAppearance = OudsButtonDefaults.Appearance, interactionSource: MutableInteractionSource? = null)
fun OudsButton(icon: OudsButtonIcon, label: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, loader: OudsButtonLoader? = null, appearance: OudsButtonAppearance = OudsButtonDefaults.Appearance, interactionSource: MutableInteractionSource? = null)

Button is a UI element that triggers an action or event, and is used to initiate tasks or confirming an action. Button appears in different layouts, styles and states to indicate hierarchy or emphasis.

Link copied to clipboard
fun OudsCenterAlignedTopAppBar(title: String, modifier: Modifier = Modifier, translucent: Boolean = false, navigationIcon: OudsTopAppBarNavigationIcon? = null, actions: List<OudsTopAppBarAction> = emptyList(), expandedHeight: Dp = TopAppBarDefaults.TopAppBarExpandedHeight, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, scrollBehavior: TopAppBarScrollBehavior? = null)

App bar (aka Top app bar on Material 2) is a top-aligned component that displays the screen title and provides access to key actions and navigation elements. It may include an Up button, action icons, overflow menus, search, or tabs. It provides context and controls relevant to the current view.

Link copied to clipboard
fun OudsCheckbox(checked: Boolean, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, interactionSource: MutableInteractionSource? = null)

Checkbox is a UI element that allows to select multiple options from a set of mutually non exclusive choices. Checkbox that does not show icon or text, provides greater flexibility when creating other components that require a checkbox to be displayed.

Link copied to clipboard
fun OudsCheckboxItem(checked: Boolean, label: String, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, description: String? = null, icon: OudsControlItemIcon? = null, edgeToEdge: Boolean = true, divider: Boolean = false, reversed: Boolean = false, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, constrainedMaxWidth: Boolean = false, interactionSource: MutableInteractionSource? = null)

Checkbox item is a UI element that allows to select multiple options from a set of mutually non exclusive choices. Checkbox item covers a wider range of contexts by allowing to toggle the visibility of additional text labels and icon assets.

Link copied to clipboard
fun OudsColoredBox(color: OudsColoredBoxColor, modifier: Modifier = Modifier, contentAlignment: Alignment = Alignment.TopStart, propagateMinConstraints: Boolean = false, content: @Composable BoxScope.() -> Unit)

Colored box is a Box where the content color is automatically adjusted to maximize the contrast with the chosen background color.

Link copied to clipboard
fun OudsFilterChip(selected: Boolean, onClick: () -> Unit, icon: OudsChipIcon, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)
fun OudsFilterChip(selected: Boolean, onClick: () -> Unit, label: String, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)
fun OudsFilterChip(selected: Boolean, onClick: () -> Unit, label: String, icon: OudsChipIcon, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)

Filter chip is a UI element that allows to select or deselect an option within a series, and is commonly used to capture filtering decisions. Filter chip allows to filter content by being selected or deselected. It can be toggled "On" or "Off" to refine displayed results, and selected Filter Chips remain visually distinct to indicate active filters.

Link copied to clipboard
fun OudsHorizontalDivider(modifier: Modifier = Modifier, color: OudsDividerColor = OudsDividerDefaults.Color)

Divider is a UI element that allows to structure the content by visually separating the content zones. Divider improves readability and content organization without introducing a stronger visual hierarchy like a heading or a container would.

Link copied to clipboard
fun OudsInputChip(label: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)

Input tag is a UI element that allows to enter multiple values, each represented as a tag. As users type and submit values (usually by pressing enter, comma, or tab), each value is transformed into a tag. Input tag is often used for adding labels, categories, or participants.

Link copied to clipboard
fun OudsInputTag(label: String, onClick: () -> Unit, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)

Input tag is a UI element that allows to enter multiple values, each represented as a tag. As users type and submit values (usually by pressing enter, comma, or tab), each value is transformed into a tag. Input tag is often used for adding labels, categories, or participants.

Link copied to clipboard
fun OudsLargeTopAppBar(title: String, modifier: Modifier = Modifier, translucent: Boolean = false, navigationIcon: OudsTopAppBarNavigationIcon? = null, actions: List<OudsTopAppBarAction> = emptyList(), collapsedHeight: Dp = TopAppBarDefaults.LargeAppBarCollapsedHeight, expandedHeight: Dp = TopAppBarDefaults.LargeAppBarExpandedHeight, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, scrollBehavior: TopAppBarScrollBehavior? = null)

App bar (aka Top app bar on Material 2) is a top-aligned component that displays the screen title and provides access to key actions and navigation elements. It may include an Up button, action icons, overflow menus, search, or tabs. It provides context and controls relevant to the current view.

Link copied to clipboard
fun OudsLink(label: String, onClick: () -> Unit, modifier: Modifier = Modifier, size: OudsLinkSize = OudsLinkDefaults.Size, enabled: Boolean = true)
fun OudsLink(label: String, chevron: OudsLinkChevron, onClick: () -> Unit, modifier: Modifier = Modifier, size: OudsLinkSize = OudsLinkDefaults.Size, enabled: Boolean = true)
fun OudsLink(label: String, icon: OudsLinkIcon, onClick: () -> Unit, modifier: Modifier = Modifier, size: OudsLinkSize = OudsLinkDefaults.Size, enabled: Boolean = true)

Link is a UI element that allows to navigate from one location to another, either within the same page or across different pages in the same resource, or to an external resource. Link's primary function is navigation and it communicates its interactive nature visually and semantically.

Link copied to clipboard
fun OudsMediumTopAppBar(title: String, modifier: Modifier = Modifier, translucent: Boolean = false, navigationIcon: OudsTopAppBarNavigationIcon? = null, actions: List<OudsTopAppBarAction> = emptyList(), collapsedHeight: Dp = TopAppBarDefaults.MediumAppBarCollapsedHeight, expandedHeight: Dp = TopAppBarDefaults.MediumAppBarExpandedHeight, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, scrollBehavior: TopAppBarScrollBehavior? = null)

App bar (aka Top app bar on Material 2) is a top-aligned component that displays the screen title and provides access to key actions and navigation elements. It may include an Up button, action icons, overflow menus, search, or tabs. It provides context and controls relevant to the current view.

Link copied to clipboard
fun OudsNavigationBar(items: List<OudsNavigationBarItem>, modifier: Modifier = Modifier, translucent: Boolean = false, windowInsets: WindowInsets = ShortNavigationBarDefaults.windowInsets)

The Navigation bar (aka Bottom navigation bar on Material 2) provides access to an app’s primary destinations using 3 to 5 persistent tabs. Each destination is represented by an icon and optionally a text label. Positioned at the bottom of the screen, it supports quick switching between top-level sections, following Material Design navigation patterns.

Link copied to clipboard
fun OudsRadioButton(selected: Boolean, onClick: () -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, interactionSource: MutableInteractionSource? = null)

Radio button is a UI element that allows to select a single option from a set of mutually exclusive choices. Radio button that does not show icon or text, provides greater flexibility when creating other components that require a Radio button to be displayed.

Link copied to clipboard
fun OudsRadioButtonItem(selected: Boolean, label: String, onClick: () -> Unit?, modifier: Modifier = Modifier, extraLabel: String? = null, description: String? = null, icon: OudsControlItemIcon? = null, edgeToEdge: Boolean = true, divider: Boolean = false, outlined: Boolean = false, reversed: Boolean = false, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, constrainedMaxWidth: Boolean = false, interactionSource: MutableInteractionSource? = null)

Radio button item is a UI element that allows to select a single option from a set of mutually exclusive choices. Radio button item covers a wider range of contexts by allowing to toggle the visibility of additional text labels and icon assets.

Link copied to clipboard
fun OudsSuggestionChip(onClick: () -> Unit, icon: OudsChipIcon, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)
fun OudsSuggestionChip(onClick: () -> Unit, label: String, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)
fun OudsSuggestionChip(onClick: () -> Unit, label: String, icon: OudsChipIcon, modifier: Modifier = Modifier, enabled: Boolean = true, interactionSource: MutableInteractionSource? = null)

Suggestion chip is a UI element that allows to present recommended or predictive options based on user's input or context, and is commonly used to capture filtering decisions. Suggestion chip is typically non-selected by default and can be tapped or clicked to apply the suggestion, streamlining input and enhancing usability.

Link copied to clipboard
fun OudsSwitch(checked: Boolean, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, readOnly: Boolean = false, interactionSource: MutableInteractionSource? = null)

Switch is a UI element that allows to toggle between two states, typically "On" and "Off", and used to enable or disable features, options or settings. Switch that does not show icon or text, provides greater flexibility when creating other components that require a Switch to be displayed.

Link copied to clipboard
fun OudsSwitchItem(checked: Boolean, label: String, onCheckedChange: (Boolean) -> Unit?, modifier: Modifier = Modifier, description: String? = null, icon: OudsControlItemIcon? = null, edgeToEdge: Boolean = true, divider: Boolean = false, reversed: Boolean = false, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, constrainedMaxWidth: Boolean = false, interactionSource: MutableInteractionSource? = null)

Switch item is a UI element that allows to toggle between two states, typically "On" and "Off", and used to enable or disable features, options or settings. Switch item covers a wider range of contexts by allowing to toggle the visibility of additional text labels and icon assets.

Link copied to clipboard
fun OudsTag(label: String, modifier: Modifier = Modifier, enabled: Boolean = true, appearance: OudsTagAppearance = OudsTagDefaults.Appearance, status: OudsTagStatus = OudsTagDefaults.Status, roundedCorners: Boolean = true, size: OudsTagSize = OudsTagDefaults.Size, loader: OudsTagLoader? = null)

Tag is a UI element that allows to display short info like a label, keyword, or category. Tag helps users quickly find, group, or understand content.

Link copied to clipboard
fun OudsTextInput(textFieldState: TextFieldState, modifier: Modifier = Modifier, label: String? = null, placeholder: String? = null, leadingIcon: OudsTextInputLeadingIcon? = null, trailingIconButton: OudsTextInputTrailingIconButton? = null, prefix: String? = null, suffix: String? = null, enabled: Boolean = true, readOnly: Boolean = false, loader: OudsTextInputLoader? = null, outlined: Boolean = false, error: OudsError? = null, helperText: String? = null, helperLink: OudsTextInputHelperLink? = null, constrainedMaxWidth: Boolean = false, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, onKeyboardAction: KeyboardActionHandler? = null, onTextLayout: Density.(getResult: () -> TextLayoutResult?) -> Unit? = null, inputTransformation: InputTransformation? = null, outputTransformation: OutputTransformation? = null, interactionSource: MutableInteractionSource? = null)
fun OudsTextInput(value: TextFieldValue, onValueChange: (TextFieldValue) -> Unit, modifier: Modifier = Modifier, label: String? = null, placeholder: String? = null, leadingIcon: OudsTextInputLeadingIcon? = null, trailingIconButton: OudsTextInputTrailingIconButton? = null, prefix: String? = null, suffix: String? = null, enabled: Boolean = true, readOnly: Boolean = false, loader: OudsTextInputLoader? = null, outlined: Boolean = false, error: OudsError? = null, helperText: String? = null, helperLink: OudsTextInputHelperLink? = null, constrainedMaxWidth: Boolean = false, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, onTextLayout: (TextLayoutResult) -> Unit = {}, visualTransformation: VisualTransformation = VisualTransformation.None, interactionSource: MutableInteractionSource? = null)
fun OudsTextInput(value: String, onValueChange: (String) -> Unit, modifier: Modifier = Modifier, label: String? = null, placeholder: String? = null, leadingIcon: OudsTextInputLeadingIcon? = null, trailingIconButton: OudsTextInputTrailingIconButton? = null, prefix: String? = null, suffix: String? = null, enabled: Boolean = true, readOnly: Boolean = false, loader: OudsTextInputLoader? = null, outlined: Boolean = false, error: OudsError? = null, helperText: String? = null, helperLink: OudsTextInputHelperLink? = null, constrainedMaxWidth: Boolean = false, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, onTextLayout: (TextLayoutResult) -> Unit = {}, visualTransformation: VisualTransformation = VisualTransformation.None, interactionSource: MutableInteractionSource? = null)

Text input is a UI element that allows to enter, edit, or select single-line textual data. Text input is one of the most fundamental form elements used to capture user input such as names, emails, passwords, or search queries. It provides a visual and interactive affordance for text entry while supporting labels, placeholders, icons, descriptions, and validation feedback.

Link copied to clipboard
fun OudsTopAppBar(title: String, modifier: Modifier = Modifier, translucent: Boolean = false, navigationIcon: OudsTopAppBarNavigationIcon? = null, actions: List<OudsTopAppBarAction> = emptyList(), expandedHeight: Dp = TopAppBarDefaults.TopAppBarExpandedHeight, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, scrollBehavior: TopAppBarScrollBehavior? = null)

App bar (aka Top app bar on Material 2) is a top-aligned component that displays the screen title and provides access to key actions and navigation elements. It may include an Up button, action icons, overflow menus, search, or tabs. It provides context and controls relevant to the current view.

Link copied to clipboard
fun OudsTriStateCheckbox(state: ToggleableState, onClick: () -> Unit?, modifier: Modifier = Modifier, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, interactionSource: MutableInteractionSource? = null)

Checkbox is a UI element that allows to select multiple options from a set of mutually non exclusive choices. Checkbox that does not show icon or text, provides greater flexibility when creating other components that require a checkbox to be displayed.

Link copied to clipboard
fun OudsTriStateCheckboxItem(state: ToggleableState, label: String, onClick: () -> Unit?, modifier: Modifier = Modifier, description: String? = null, icon: OudsControlItemIcon? = null, edgeToEdge: Boolean = true, divider: Boolean = false, reversed: Boolean = false, enabled: Boolean = true, readOnly: Boolean = false, error: OudsError? = null, constrainedMaxWidth: Boolean = false, interactionSource: MutableInteractionSource? = null)

Checkbox item is a UI element that allows to select multiple options from a set of mutually non exclusive choices. Checkbox item covers a wider range of contexts by allowing to toggle the visibility of additional text labels and icon assets.

Link copied to clipboard
fun OudsVerticalDivider(modifier: Modifier = Modifier, color: OudsDividerColor = OudsDividerDefaults.Color)

Divider is a UI element that allows to structure the content by visually separating the content zones. Divider improves readability and content organization without introducing a stronger visual hierarchy like a heading or a container would.