decathlon / vitamin-compose Goto Github PK
View Code? Open in Web Editor NEWDecathlon Design System UI components for Compose applications
Home Page: https://www.decathlon.design
License: Apache License 2.0
Decathlon Design System UI components for Compose applications
Home Page: https://www.decathlon.design
License: Apache License 2.0
Describe the bug
In VitaminTabs, if the list provided is empty, the exception 'NoSuchElementException' is thrown.
The behavior is the same for both composable (Fixed and Scrollable)
To Reproduce
VitaminTabs.Scrollable(
tabItems = listOf(),
)
This will throw
java.util.NoSuchElementException: List is empty.
at kotlin.collections.CollectionsKt___CollectionsKt.first(_Collections.kt:214)
at com.decathlon.vitamin.compose.tabs.VitaminTabs.Scrollable-kKmfEb0(VitaminTabs.kt:77)
Describe the solution you'd like
Write tests with paparazzi for quantity picker component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the bug
See Decathlon/vitamin-design#90
Decathlon.design link
https://www.decathlon.design/726f8c765/p/79685a-skeleton/b/122d98
Additional context
Is your feature request related to a problem? Please describe.
We don't have homogeneous way to customize our components. We should unify this before the first official release!
Describe the solution you'd like
We should migrate all colors and sizes customization from function or something else to field approach.
Describe the solution you'd like
Write tests with paparazzi for radio button component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the bug
The text input filled is not vitamin compliant, the row is too long.
To Reproduce
Expected behavior
https://www.decathlon.design/726f8c765/p/31121d-text-input/b/601da7
No margin is required.
Screenshots
Smartphone (please complete the following information):
Decathlon.design link
https://www.decathlon.design/726f8c765/p/88fc2b-card-beta
Design update: We want only a card container with its specifications but NO content templates.
Material.io link
Describe the bug
When you import Vitamin Compose in an Android app, you have auto completion for previews inside Vitamin Compose.
These components shouldn't be exposed.
To Reproduce
Expected behavior
Only show Vitamin<Component>s
objects and their colors, sizes, etc.
Describe the bug
When using Talkback on radiobutton, there is several accessibility issue :
To Reproduce
Expected behavior
We should :
Screenshots
Smartphone (please complete the following information):
Is your feature request related to a problem? Please describe.
Now we have tests in our project, we should run them in our CI to avoid breaking tests in the future.
Describe the solution you'd like
Create a public Firebase project in Decathlon infrastructure to run our tests in Firebase Test Labs.
Describe the solution you'd like
Write tests with paparazzi for badges component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the solution you'd like
Write tests with paparazzi for appbar component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the solution you'd like
Write tests with paparazzi for modal component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the bug
In the Figma specification, there isn't small size for the Button component.
To Reproduce
VitaminButtons.Primary(
/* other parameters */
sizes = VitaminButtonSizes.small()
)
Expected behavior
Only medium and large sizes available
Describe the bug
See Decathlon/vitamin-design#124
Describe the bug
When we try to upgrade Compose UI to 1.3.0, we encounter difficulties with Paparazzi.
Fork published here: chrisbanes/paparazzi#2
Probably fixed here: cashapp/paparazzi#640
Need to track a new version of Paparazzi with one of these fixes.
Expected behavior
Upgrade Compose version to 1.3.0
Decathlon.design link
https://www.decathlon.design/726f8c765/p/8008f8-button/b/58097e
Is your feature request related to a problem? Please describe.
Today, radius is based on the material component or are hard coded in the Vitamin component.
Describe the solution you'd like
Like colors or typography, we should add radius variants in foundation module and use them in all modules.
Additional context
Vitamin specification: https://www.decathlon.design/726f8c765/p/533f3d-radius/b/844ae0
Describe the solution you'd like
Write tests with paparazzi for price component for all variants & themes.
Additional context
FYI Buttons already have ones.
We need to add new icons:
Thanks!
Describe the bug
Text
styles, the developer need to declare the text style by themself.Text
styles are named Body
instead of Text
.Expected behavior
We should add text styles for bold versions and declare new text styles for Text
styles.
Think to deprecated previous text styles with this change!
Decathlon.design link
https://www.decathlon.design/726f8c765/p/08dbe1-chip/b/10cbe3
Material.io link
Decathlon.design link
https://www.decathlon.design/726f8c765/p/078570-list-beta/b/9115e7
Material.io link
Decathlon.design link
https://www.decathlon.design/726f8c765/p/28ad9b-divider-beta/b/0602e5
Material.io link
Decathlon.design link
https://www.decathlon.design/726f8c765/p/465f7c-badge-beta/b/5496b9
Material.io link
Describe the solution you'd like
Write tests with paparazzi for rating component for all variants & themes.
Additional context
FYI Buttons already have ones.
Describe the solution you'd like
Write tests with paparazzi for menu component (dropdowns) for all variants & themes.
Additional context
FYI Buttons already have ones.
Is your feature request related to a problem? Please describe.
When writing automated test on compose screen using component like OutlinedDropdown the lack of testTag modifier on subComponent make those screen hard to test
Describe the solution you'd like
Add testTag on component with userInteraction, for example to trigger the click on the trailing Icon of the anchored Outlined of a OutlinedDropdown
Describe the bug
The conversion button text color is not correct in dark mode.
To Reproduce
Buttons
Expected behavior
In dark mode, the conversion button text color must remain in the same color as light mode
@Composable
fun conversion(
backgroundColor: Color = VitaminTheme.colors.vtmnBackgroundAccent,
contentColor: Color = VitaminTheme.colors.vtmnContentPrimary,
disabledBackgroundColor: Color = VitaminTheme.colors.vtmnBackgroundAccent
.copy(alpha = VtmnStatesDisabled),
disabledContentColor: Color = VitaminTheme.colors.vtmnContentPrimary
.copy(alpha = VtmnStatesDisabled)
): ButtonColors = ButtonDefaults.buttonColors(
backgroundColor = backgroundColor,
contentColor = contentColor,
disabledBackgroundColor = disabledBackgroundColor,
disabledContentColor = disabledContentColor
)
Use vtmnContentAccent
instead of vtmnContentPrimary
Screenshots
Smartphone (please complete the following information):
Describe the bug
content description is hardcoded to null
for icon buttons.
To Reproduce
Expected behavior
New parameter on the component contentDescription: String?
Describe the solution you'd like
Write tests with paparazzi for checkbox component for all variants & themes.
Additional context
FYI Buttons already have ones.
Decathlon.design link
https://www.decathlon.design/726f8c765/p/798580-snackbar-beta/b/129609
Material.io link
To do
Add a small size to the existing Tag component.
See design issue : Decathlon/vitamin-design#15
Decathlon.design link
Figma link
Additional context
Tag with Medium Size already exists
Describe the bug
I have the impression that ripples effect are not good since beta 2 before I was on alpha I did not test your develop branch and maybe it is already fixed.
Context
https://developer.android.com/develop/ui/views/touch-and-input/keyboard-input/navigation
TL;DR
"Android supports physical keyboards attached to the device. A keyboard offers not only a convenient mode for text input, but also offers a way for users to navigate and interact with your app. [...], tablets and similar devices are growing in popularity and many users like to attach keyboard accessories."
Describe the bug
The selected state of a button makes the text unreadable.
To Reproduce
Connect a physical keyboard to your device (usb C, or bluetooth).
Launch vitamin compose demo with your bare hands
Navigate to button demo
Now use the keyboard, press "tab" to go from one button to the other
Expected behavior
When a button is selected (or has the "keyboard focus") its text should be readable
Screenshots
^ primary
^ Ghost living up to his name
Smartphone (please complete the following information):
All
Describe the bug
When you declare a BottomNavigation
with too much items and with a long text, the icon is over the text
To Reproduce
Expected behavior
Need to define a solution with the design team
Screenshots
Smartphone (please complete the following information):
Describe the solution you'd like
Is your feature request related to a problem? Please describe.
I was needing to have the same functionality that AutoCompleteTextView but using Vitamin Compose. But I can't access to PopupProperties because it's not targetable using VitaminMenus.Dropdown.
Modify the PopupProperties will enables me to change the default properties from focusable to not focusable in order to continue to type text even if dropdown is appearing.
Describe the solution you'd like
I would like to have the possibility to define my own PopupProperties from VitaminMenus.Dropdown.
Describe the solution you'd like
Make fab full width possible & add it to the sample.
Design request : Decathlon/vitamin-design#128
Additional context
Is your feature request related to a problem? Please describe.
Because we don't have yet all radius defined in foundation
module, we can have mistakes about radius in some components with old values.
Describe the solution you'd like
Declare all radius variants in foundation
module and create a local (like colors or typography defined in VitaminTheme
) to give an access in all components.
Describe the solution you'd like
Write tests with paparazzi for divider component for all variants & themes.
Additional context
FYI Buttons already have ones.
Is your feature request related to a problem? Please describe.
Error message has been added to Design Specificiations.
Describe the solution you'd like
Add optional error input param to add an error message under Quantity Picker.
Null Default value in order to have no breaking change to the component.
Additional context
Closes Decathlon/vitamin-design#30
Decathlon.design link
https://www.decathlon.design/726f8c765/p/207abd-quantity-beta/b/0602e5
Decathlon.design link
https://www.decathlon.design/726f8c765/p/8008f8-button/b/58097e/t/47f29a
Material.io link
https://m3.material.io/components/floating-action-button/overview
https://m3.material.io/components/extended-fab/overview
Additional context
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.