Для кастомизации темы компонента в Chakra UI можно использовать ChakraProvider и theme.
ChakraProvider обеспечивает контекст для всего приложения, позволяя установить пользовательскую тему для всех компонентов Chakra UI. Вы можете разместить его в корневом компоненте вашего приложения, чтобы установить тему по умолчанию для всего приложения.
Тема в Chakra UI определяет внешний вид всех компонентов Chakra UI. Она может быть настроена, изменена и расширена с помощью пользовательских цветов, шрифтов, границ и других стилей.
Создание пользовательской темы можно выполнить несколькими способами. Один из способов - это создать JavaScript-объект, который будет содержать пользовательскую конфигурацию темы. Например:
import { ChakraProvider, extendTheme } from "@chakra-ui/react"; const theme = extendTheme({ colors: { brand: { 100: "#f7fafc", 900: "#1a202c", }, }, fonts: { heading: "Montserrat, sans-serif", body: "Poppins, sans-serif", }, }); function App() { return ( <ChakraProvider theme={theme}> {/* Ваше приложение */} </ChakraProvider> ); } export default App;
В приведенном выше примере, мы создаем пользовательскую тему с помощью extendTheme, в которой мы определяем пользовательские цвета (brand) и пользовательские шрифты. Можно определить множество других стилей и настроек в теме.
После создания пользовательской темы, мы передаем ее в ChakraProvider с помощью prop theme. Теперь все компоненты Chakra UI в вашем приложении будут использовать эту пользовательскую тему.
Мы также можем переопределить стили конкретных компонентов, используя ThemeProvider и theme-style-components из Chakra UI.
import { ThemeProvider, theme } from "@chakra-ui/react"; import { Button } from "@chakra-ui/button"; const customTheme = { ...theme, colors: { ...theme.colors, brand: { 100: "#f7fafc", 900: "#1a202c", awesome: "#FF0000", }, }, }; function App() { return ( <ThemeProvider theme={customTheme}> <Button colorScheme="awesome">Custom Button</Button> </ThemeProvider> ); } export default App;
В этом примере мы расширяем тему с помощью оператора spread, добавляем новый цвет "awesome" в brand и использование этого цвета для компонента Button.
Таким образом, чтобы проверить, правильно ли вы кастомизировали тему компонента в Chakra UI, вам нужно убедиться, что ваша пользовательская тема правильно определена и передается в ChakraProvider или ThemeProvider. Вы также можете проверить стили компонента, чтобы убедиться, что они соответствуют вашей кастомизации.