Skip to content

Commit

Permalink
Merge branch 'develop' into younes/FilterClick
Browse files Browse the repository at this point in the history
  • Loading branch information
Younes-Charfaoui committed May 17, 2024
2 parents 07b2e35 + be25b6f commit 7a00656
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 17 deletions.
2 changes: 1 addition & 1 deletion tarka-ui/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ publishing {
run {
groupId = "com.tarkalabs"
artifactId = getLibraryArtifactId()
version = "1.1.24"
version = "1.1.25"
artifact("$buildDir/outputs/aar/tarka-ui-release.aar")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ class TUIFabTest {

@Test fun fab_Displayed() {
composable.setContent {
TUIFloatingActionButton(icon = TarkaIcons.Regular.Delete24, tags = tags) {
}
TUIFloatingActionButton(icon = TarkaIcons.Regular.Delete24, tags = tags, onClick = {})
}
composable.onNodeWithTag(tags.parentTag).assertIsDisplayed()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material3.ButtonDefaults
import androidx.compose.material3.FloatingActionButton
import androidx.compose.material3.Icon
import androidx.compose.runtime.Composable
Expand All @@ -22,6 +23,8 @@ import com.tarkalabs.tarkaui.icons.TarkaIcons
import com.tarkalabs.tarkaui.components.base.FloatingActionButtonSize.L
import com.tarkalabs.tarkaui.components.base.FloatingActionButtonSize.R
import com.tarkalabs.tarkaui.components.base.FloatingActionButtonSize.S
import com.tarkalabs.tarkaui.components.base.FloatingButtonStyle.Outline
import com.tarkalabs.tarkaui.components.base.FloatingButtonStyle.Primary
import com.tarkalabs.tarkaui.theme.TUITheme

enum class FloatingActionButtonSize(val size: Dp) {
Expand All @@ -30,6 +33,11 @@ enum class FloatingActionButtonSize(val size: Dp) {
L(96.dp)
}

sealed class FloatingButtonStyle {
object Primary: FloatingButtonStyle()
object Outline: FloatingButtonStyle()
}

/**
* Below TUIFloatingActionButton() defines a reusable composable function which can be used to create an FAB with various styles and sizes which takes several parameters such as
* @param fabSize The size of the FAB. Default is [FloatingActionButtonSize.S].
Expand All @@ -47,15 +55,33 @@ enum class FloatingActionButtonSize(val size: Dp) {
icon: TarkaIcon,
tags: TUIFloatingActionButtonTags = TUIFloatingActionButtonTags(),
onClick: () -> Unit,
buttonStyle: FloatingButtonStyle = Primary
) {
val iconSize = when (fabSize) {
S, R -> 18.dp
L -> 22.dp
}

val buttonColor = when (buttonStyle) {
Primary -> {
ButtonDefaults.buttonColors(
containerColor = TUITheme.colors.primary,
contentColor = TUITheme.colors.onPrimary
)
}

Outline -> {
ButtonDefaults.buttonColors(
containerColor = TUITheme.colors.surface,
contentColor = TUITheme.colors.onSurface
)
}
}

FloatingActionButton(
onClick = onClick,
containerColor = TUITheme.colors.primary,
contentColor = TUITheme.colors.onPrimary,
containerColor = buttonColor.containerColor,
contentColor = buttonColor.contentColor,
shape = CircleShape,
modifier = Modifier
.defaultMinSize(minHeight = fabSize.size, minWidth = fabSize.size)
Expand All @@ -79,22 +105,16 @@ data class TUIFloatingActionButtonTags(
verticalArrangement = Arrangement.SpaceEvenly
) {
TUIFloatingActionButton(
L, TarkaIcons.Regular.ChevronRight20
) {

}
L, TarkaIcons.Regular.ChevronRight20, onClick = {}
)
Spacer(modifier = Modifier.padding(5.dp))
TUIFloatingActionButton(
R, TarkaIcons.Regular.ChevronRight20
) {

}
R, TarkaIcons.Regular.ChevronRight20, onClick = {}
)
Spacer(modifier = Modifier.padding(5.dp))
TUIFloatingActionButton(
S, TarkaIcons.Regular.ChevronRight20
) {

}
S, TarkaIcons.Regular.ChevronRight20, onClick = {}
)
}
}

Expand Down

0 comments on commit 7a00656

Please sign in to comment.