Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

rea-hole

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rea-hole

fork version of components for factoring

latest
npmnpm
Version
1.0.3
Version published
Weekly downloads
34
-53.42%
Maintainers
1
Weekly downloads
 
Created
Source

This project was bootstrapped with Create React App.

  • React
  • Styled-components
  • Typescript
import { Button, Input } from '@rea-hole/core';

Темизация

В библиотеке реализована возможность темизации компонентов. Компоненты используют в своих стилях переменные, заданные в дефолтной теме (import { DefaultTheme } from '@rea-hole/core';), с помощью темизации значения данных переменных можно перезадать, тем самым изменив внешний вид компонентов. Механизм темизации позаимствован из styled-components.

Как внедрить темизацию в свой проект:

  • с помощью функции createTheme нужно создать новую тему. Для этого в функцию необходимо передать объект, с теми свойствами, которые вы хотите перезадать. Внутри себя createTheme смерджит заданные вами опции с дефолтной темой.
  • затем нужно импортировать компонент ThemeProvider из @rea-hole/core или styled-components. В ThemeProvider вы можете обернуть тот компонент, который хотите стилизовать, или сразу целую часть приложения, тогда тема будет применена сразу к нескольким компонентам.
  • В ThemeProvider задайте параметр theme, в который передайте результат выполнения функции createTheme

Подробнее о механизме темизации можно прочесть здесь https://styled-components.com/docs/advanced. Возможен вариант, когда один ThemeProvider вложен в другой и так далее.

Примеры темизации:

import { ThemeProvider, createTheme, Button } from '@rea-hole/core';

render ( <ThemeProvider theme={createTheme({ borderWidth: '4px', shape: { borderRadiusSmall: '5px' } })}> Привет );

  • Если вы используйте в своем приложении ThemeProvider из styled-components и оборачиваете в него компоненты, но не передаете в нем дефолтную тему, возникнут ошибки в компонентах. Обязательно передайте в компоненты DefaultTheme, как в примере ниже!

import { ThemeProvider } from 'styled-components'; import { DefaultTheme } from '@rea-hole/core';

const globalTheme = {
  primary: {
    bg: '#fff',
    logo: '#fff',
    colorText: '#000',
  },
  secondary: {
    bg: '#fff',
    logo: '#000',
    colorText: '#000',
  },
};

render (
  <ThemeProvider theme={{ ...globalTheme, ...DefaultTheme }}>
    // содержит компоненты из '@rea-hole/core'
    <AppComponent/>
  <ThemeProvider theme={{ ...globalTheme, ...DefaultTheme }}>
);

FAQs

Package last updated on 06 May 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts