/
alt3rmann
/
label-studio
Обзор
Документация
Войти
/
alt3rmann
/
label-studio
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
web/libs/editor/src/components/Label/Label.jsx
60 строк
1 KB
carly-bartel
refactor: OPTIC-987: convert styl to scss (#6228)
23 авг 2024, 23:53
Не верифицирован
23 авг 2024, 23:53
4caeef3
Код
Авторство
О чём код?
import chroma from "chroma-js"; import React, { useMemo } from "react"; import { Block, Elem } from "../../utils/bem"; import { asVars } from "../../utils/styles"; import "./Label.scss"; export const Label = React.forwardRef( ( { className, style, color, empty = false, hidden = false, selected = false, margins = false, onClick, children, hotkey, ...rest }, ref, ) => { const styles = useMemo(() => { if (!color) return null; const background = chroma(color).alpha(0.15); return { ...(style ?? {}), ...asVars({ color, background, }), }; }, [color]); return ( <Block tag="span" ref={ref} name="label" mod={{ empty, hidden, selected, clickable: !!onClick, margins }} mix={className} style={styles} onClick={onClick} {...rest} > <Elem tag="span" name="text"> {children} </Elem> {hotkey ? ( <Elem tag="span" name="hotkey"> {hotkey} </Elem> ) : null} </Block> ); }, );