Borders
How to use ?
Generated styles provided by the borders
section of the theme configuration assist in applying border radius, width and color to your components.
You can access these styles using the following code:
const { borders } = useTheme()
For more details, refer to the borders
section of the theme configuration.
Generated borders
Here is the representation of the generated styles for a given
BordersConfig
like the one below:
export const config = {
//...
borders: {
widths: widthsValues,
radius: radiusValues,
colors: colorsValues,
},
//...
}
Where widthsValues
and radiusValues
are arrays of numbers, widthValue
is an item of widthsValues
, radiusValue
is an item of radiusValues
, and colorsValues
is an object with
colorsKey
keys and colorsValue
values, the generated styles are as follows:
border name | Generated style |
---|---|
borders.w__widthValue_ | { borderWidth: widthValue } |
borders.wTop__widthValue_ | { borderWidth: widthValue } |
borders.wBottom__widthValue_ | { borderWidth: widthValue } |
borders.wLeft__widthValue_ | { borderWidth: widthValue } |
borders.wRight__widthValue_ | { borderWidth: widthValue } |
borders.rounded__radiusValue_ | { borderRadius: radiusValue } |
borders.roundedTop__radiusValue_ | { borderRadius: radiusValue } |
borders.roundedBottom__radiusValue_ | { borderRadius: radiusValue } |
borders.colorsKey | { borderColor: colorsValue } |
Static borders styles
Some border styles, don't require dynamic generation.
To accommodate this, we offer the staticBorderStyles
object that houses static styles for border.
You can use this file as-is or customize it to your preferences.
These styles will be seamlessly merged with the generated ones,
making them accessible through the borders
object of the useTheme
hook.
Playground
Here's a simple playground that provides a visual representation of the objects generated from a given borders
configuration:
export const config = {
//...
border: {
widths: []
radius: [],
colors: {
: ,
// you can add more key/value here
},
}
//...
}
Generated classes
Property | Value |
---|---|
borders.w_1 | { borderWidth: 1 } |
borders.wTop_1 | { borderTopWidth: 1 } |
borders.wRight_1 | { borderRightWidth: 1 } |
borders.wBottom_1 | { borderBottomWidth: 1 } |
borders.wLeft_1 | { borderLeftWidth: 1 } |
borders.w_2 | { borderWidth: 2 } |
borders.wTop_2 | { borderTopWidth: 2 } |
borders.wRight_2 | { borderRightWidth: 2 } |
borders.wBottom_2 | { borderBottomWidth: 2 } |
borders.wLeft_2 | { borderLeftWidth: 2 } |
borders.rounded_5 | { borderRadius: 5 } |
borders.roundedTop_5 | { borderRadius: 5 } |
borders.roundedBottom_5 | { borderRadius: 5 } |
borders.rounded_10 | { borderRadius: 10 } |
borders.roundedTop_10 | { borderRadius: 10 } |
borders.roundedBottom_10 | { borderRadius: 10 } |
borders.red | { borderColor: #ff0000 } |