Skip to content

Commit

Permalink
[#271] Add OdsComponentApi annotation to ODS component composable met…
Browse files Browse the repository at this point in the history
…hods
  • Loading branch information
florentmaitre committed Oct 6, 2022
1 parent c4fa5bd commit 24b8cf0
Show file tree
Hide file tree
Showing 27 changed files with 86 additions and 25 deletions.
53 changes: 28 additions & 25 deletions demo/src/main/java/com/orange/ods/demo/ui/components/Component.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ package com.orange.ods.demo.ui.components
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.compose.ui.Alignment
import com.orange.ods.compose.component.OdsComponent
import com.orange.ods.compose.component.button.OdsButtonStyle
import com.orange.ods.demo.R

sealed class Component(
Expand Down Expand Up @@ -51,7 +53,7 @@ sealed class Component(
R.drawable.il_bottom_navigation,
null,
R.string.component_bottom_navigation_description,
composableName = "OdsBottomNavigation"
composableName = OdsComponent.OdsBottomNavigation.name
)

object Buttons : Component(
Expand All @@ -75,7 +77,7 @@ sealed class Component(
R.drawable.il_checkboxes,
null,
R.string.component_checkboxes_description,
composableName = "OdsCheckbox"
composableName = OdsComponent.OdsCheckbox.name
)

object Chips : Component(
Expand All @@ -91,15 +93,15 @@ sealed class Component(
R.drawable.il_dialogs,
null,
R.string.component_dialogs_description,
composableName = "OdsAlertDialog"
composableName = OdsComponent.OdsAlertDialog.name
)

object Lists : Component(
R.string.component_lists,
R.drawable.il_lists,
null,
R.string.component_lists_description,
composableName = "OdsListItem"
composableName = OdsComponent.OdsListItem.name
)

object Progress : Component(
Expand All @@ -115,23 +117,23 @@ sealed class Component(
R.drawable.il_radio_buttons,
null,
R.string.component_radio_buttons_description,
composableName = "OdsRadioButton"
composableName = OdsComponent.OdsRadioButton.name
)

object Sliders : Component(
R.string.component_sliders,
R.drawable.il_sliders,
null,
R.string.component_sliders_description,
composableName = "OdsSlider"
composableName = OdsComponent.OdsSlider.name
)

object Switches : Component(
R.string.component_switches,
R.drawable.il_switches,
R.drawable.il_switches_small,
R.string.component_switches_description,
composableName = "OdsSwitch"
composableName = OdsComponent.OdsSwitch.name
)

object TextFields : Component(
Expand Down Expand Up @@ -166,30 +168,31 @@ sealed class Variant(

val id: Long = Variant::class.sealedSubclasses.indexOf(this::class).toLong()

object AppBarsTopRegular : Variant(R.string.component_app_bars_top_regular, "OdsTopAppBar")
object AppBarsTopRegular : Variant(R.string.component_app_bars_top_regular, OdsComponent.OdsTopAppBar.name)

object ButtonsPrimary : Variant(R.string.component_buttons_highest_emphasis, "OdsButton with OdsButtonStyle.Primary")
object ButtonsDefault : Variant(R.string.component_buttons_high_emphasis, "OdsButton with OdsButtonStyle.Default")
object ButtonsOutlined : Variant(R.string.component_buttons_medium_emphasis, "OdsOutlinedButton")
object ButtonsText : Variant(R.string.component_buttons_low_emphasis, "OdsTextButton")
object ButtonsFunctional : Variant(R.string.component_buttons_functional, "OdsButton with a functional style")
object ButtonsToggle : Variant(R.string.component_buttons_toggle, "OdsIconToggleButton")
object ButtonsPrimary : Variant(R.string.component_buttons_highest_emphasis, "${OdsComponent.OdsButton.name} with ${OdsButtonStyle.Primary.name}")
object ButtonsDefault : Variant(R.string.component_buttons_high_emphasis, "${OdsComponent.OdsButton.name} with ${OdsButtonStyle.Default.name}")
object ButtonsOutlined : Variant(R.string.component_buttons_medium_emphasis, OdsComponent.OdsOutlinedButton.name)
object ButtonsText : Variant(R.string.component_buttons_low_emphasis, OdsComponent.OdsTextButton.name)
object ButtonsFunctional : Variant(R.string.component_buttons_functional, "${OdsComponent.OdsButton.name} with a functional style")
object ButtonsToggle : Variant(R.string.component_buttons_toggle, OdsComponent.OdsIconToggleButton.name)

object CardImageFirst : Variant(R.string.component_card_image_first, "OdsImageFirstCard")
object CardTitleFirst : Variant(R.string.component_card_title_first, "OdsTitleFirstCard")
object CardSmall : Variant(R.string.component_card_small, "OdsSmallCard")
object CardImageFirst : Variant(R.string.component_card_image_first, OdsComponent.OdsImageFirstCard.name)
object CardTitleFirst : Variant(R.string.component_card_title_first, OdsComponent.OdsTitleFirstCard.name)
object CardSmall : Variant(R.string.component_card_small, OdsComponent.OdsSmallCard.name)

object Chip : Variant(R.string.component_chip, "OdsChip")
object ChipFilter : Variant(R.string.component_chip_filter, "OdsFilterChip")
object Chip : Variant(R.string.component_chip, OdsComponent.OdsChip.name)
object ChipFilter : Variant(R.string.component_chip_filter, OdsComponent.OdsFilterChip.name)

object ProgressBar : Variant(R.string.component_progress_bar, "LinearProgressIndicator")
object ProgressActivityIndicator : Variant(R.string.component_progress_activity_indicator, "CircularProgressIndicator")

object TextFieldFilledText : Variant(R.string.component_text_field_text, "OdsTextField", Section.TextFieldFilled)
object TextFieldFilledPassword : Variant(R.string.component_text_field_password, "OdsPasswordTextField", Section.TextFieldFilled)
object TextFieldOutlinedText : Variant(R.string.component_text_field_text, "OdsOutlinedTextField", Section.TextFieldOutlined)
object TextFieldOutlinedPassword : Variant(R.string.component_text_field_password, "OdsPasswordOutlinedTextField", Section.TextFieldOutlined)
object TextFieldFilledText : Variant(R.string.component_text_field_text, OdsComponent.OdsTextField.name, Section.TextFieldFilled)
object TextFieldFilledPassword : Variant(R.string.component_text_field_password, OdsComponent.OdsPasswordTextField.name, Section.TextFieldFilled)
object TextFieldOutlinedText : Variant(R.string.component_text_field_text, OdsComponent.OdsOutlinedTextField.name, Section.TextFieldOutlined)
object TextFieldOutlinedPassword :
Variant(R.string.component_text_field_password, OdsComponent.OdsPasswordOutlinedTextField.name, Section.TextFieldOutlined)

object TabsFixed : Variant(R.string.component_tabs_fixed, "OdsTabRow")
object TabsScrollable : Variant(R.string.component_tabs_scrollable, "OdsScrollableTabRow")
object TabsFixed : Variant(R.string.component_tabs_fixed, OdsComponent.OdsTabRow.name)
object TabsScrollable : Variant(R.string.component_tabs_scrollable, OdsComponent.OdsScrollableTabRow.name)
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview

/**
Expand All @@ -47,6 +48,7 @@ import com.orange.ods.compose.component.utilities.Preview
* @param elevated True to set an elevation to the top app bar (shadow displayed), false otherwise.
*/
@Composable
@OdsComponentApi
fun OdsTopAppBar(
modifier: Modifier = Modifier,
title: String? = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview

/**
Expand All @@ -43,6 +44,7 @@ import com.orange.ods.compose.component.utilities.Preview
* [OdsBottomNavigationItem]s
*/
@Composable
@OdsComponentApi
fun OdsBottomNavigation(
modifier: Modifier = Modifier,
content: @Composable RowScope.() -> Unit
Expand Down Expand Up @@ -81,6 +83,7 @@ fun OdsBottomNavigation(
* only be shown when this item is selected.
*/
@Composable
@OdsComponentApi
fun RowScope.OdsBottomNavigationItem(
selected: Boolean,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.EnumPreviewParameterProvider
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.Black900
Expand Down Expand Up @@ -72,7 +73,9 @@ enum class OdsButtonStyle {
* @param displaySurface optional allow to force the button display on a dark or light
* surface. By default the appearance applied is based on the system night mode value.
*/

@Composable
@OdsComponentApi
fun OdsButton(
text: String,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.DisabledInteractionSource
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsDisplaySurface
Expand All @@ -53,6 +54,7 @@ import com.orange.ods.compose.theme.odsLightThemeColors
* surface. By default the appearance applied is based on the system night mode value.
*/
@Composable
@OdsComponentApi
fun OdsIconToggleButton(
checked: Boolean,
onCheckedChange: (Boolean) -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsDarkRippleTheme
import com.orange.ods.compose.theme.OdsDisplaySurface
Expand All @@ -51,6 +52,7 @@ import com.orange.ods.compose.theme.odsLightThemeColors
* surface. By default the appearance applied is based on the system night mode value.
*/
@Composable
@OdsComponentApi
fun OdsOutlinedButton(
text: String,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.painter.Painter
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.EnumPreviewParameterProvider
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsDarkRippleTheme
Expand Down Expand Up @@ -60,6 +61,7 @@ enum class OdsTextButtonStyle {
* surface. By default the appearance applied is based on the system night mode value.
*/
@Composable
@OdsComponentApi
fun OdsTextButton(
text: String,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.button.OdsTextButton
import com.orange.ods.compose.component.button.OdsTextButtonStyle
import com.orange.ods.compose.component.utilities.Preview
Expand Down Expand Up @@ -61,6 +62,7 @@ import com.orange.ods.compose.text.OdsTextSubtitle2
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun OdsImageFirstCard(
title: String,
image: Painter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview

/**
Expand All @@ -51,6 +52,7 @@ import com.orange.ods.compose.component.utilities.Preview
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun OdsSmallCard(
title: String,
image: Painter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.button.OdsTextButton
import com.orange.ods.compose.component.button.OdsTextButtonStyle
import com.orange.ods.compose.component.utilities.OdsImageCircleShape
Expand Down Expand Up @@ -65,6 +66,7 @@ import com.orange.ods.utilities.extension.orElse
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun OdsTitleFirstCard(
title: String,
image: Painter,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.BasicPreviewParameterProvider
import com.orange.ods.compose.component.utilities.OdsImageCircleShape
import com.orange.ods.compose.component.utilities.Preview
Expand Down Expand Up @@ -69,6 +70,7 @@ internal const val ChipSurfaceOverlayOpacity = 0.12f
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun OdsChip(
text: String,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.res.stringResource
import com.google.accompanist.flowlayout.FlowRow
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi

/**
* Displays a full width [FlowRow] containing customized choice chips [OdsChoiceChipsFlowRowScope.ChoiceChip].
Expand All @@ -31,6 +32,7 @@ import com.orange.ods.R
* @param content The content of the choice chips [FlowRow].
*/
@Composable
@OdsComponentApi
fun <T> OdsChoiceChipsFlowRow(
selectedChip: MutableState<T>,
modifier: Modifier = Modifier,
Expand All @@ -54,6 +56,7 @@ fun <T> OdsChoiceChipsFlowRow(
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun <T> OdsChoiceChipsFlowRowScope<T>.ChoiceChip(text: String, value: T, enabled: Boolean = true) {
OdsChip(
text = text,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.BasicPreviewParameterProvider
import com.orange.ods.compose.component.utilities.DisabledInteractionSource
import com.orange.ods.compose.component.utilities.OdsImageCircleShape
Expand All @@ -62,6 +63,7 @@ import com.orange.ods.compose.text.OdsTextBody2
*/
@ExperimentalMaterialApi
@Composable
@OdsComponentApi
fun OdsFilterChip(
text: String,
onClick: () -> Unit,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsPrimaryRippleTheme

Expand All @@ -40,6 +41,7 @@ import com.orange.ods.compose.theme.OdsPrimaryRippleTheme
* @param enabled whether the component is enabled or grayed out
*/
@Composable
@OdsComponentApi
fun OdsCheckbox(
checked: Boolean,
onCheckedChange: ((Boolean) -> Unit)?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsPrimaryRippleTheme

Expand All @@ -44,6 +45,7 @@ import com.orange.ods.compose.theme.OdsPrimaryRippleTheme
* not be selectable and appears disabled
*/
@Composable
@OdsComponentApi
fun OdsRadioButton(
selected: Boolean,
onClick: (() -> Unit)?,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import com.orange.ods.R
import com.orange.ods.compose.component.OdsComponentApi
import com.orange.ods.compose.component.utilities.Preview
import com.orange.ods.compose.theme.OdsMaterialTheme
import com.orange.ods.compose.theme.SliderActiveTickColor
Expand Down Expand Up @@ -73,6 +74,7 @@ import com.orange.ods.compose.theme.SliderActiveTickColor
* @param rightIconContentDescription Right icon content description
*/
@Composable
@OdsComponentApi
fun OdsSlider(
value: Float,
onValueChange: (Float) -> Unit,
Expand Down Expand Up @@ -150,6 +152,7 @@ fun OdsSlider(
* know when the user has completed selecting a new value by ending a drag or a click.
*/
@Composable
@OdsComponentApi
fun OdsSliderLockups(
value: Float,
onValueChange: (Float) -> Unit,
Expand Down
Loading

0 comments on commit 24b8cf0

Please sign in to comment.