From 95aaa6bb4eca17e12f23f0f5adea74dfcfca0d5c Mon Sep 17 00:00:00 2001 From: Daniel Sil Date: Mon, 18 Sep 2023 17:19:57 +0200 Subject: [PATCH] feat(FormLabel): migrate to Tailwind --- .../orbit-components/src/FormLabel/index.tsx | 140 +++++++----------- 1 file changed, 53 insertions(+), 87 deletions(-) diff --git a/packages/orbit-components/src/FormLabel/index.tsx b/packages/orbit-components/src/FormLabel/index.tsx index c8b9121875..11b1d0be56 100644 --- a/packages/orbit-components/src/FormLabel/index.tsx +++ b/packages/orbit-components/src/FormLabel/index.tsx @@ -1,95 +1,61 @@ import * as React from "react"; -import styled, { css } from "styled-components"; +import cx from "clsx"; -import defaultTheme from "../defaultTheme"; import AlertCircle from "../icons/AlertCircle"; import InformationCircle from "../icons/InformationCircle"; -import { rtlSpacing, left } from "../utils/rtl"; -import mq from "../utils/mediaQuery"; import type { Props } from "./types"; -const StyledAsterisk = styled.span<{ filled?: boolean }>` - ${({ theme, filled }) => css` - font-weight: ${theme.orbit.fontWeightBold}; - color: ${!filled ? theme.orbit.colorTextError : theme.orbit.colorFormLabelFilled}; - font-size: ${theme.orbit.fontSizeFormLabel}; - vertical-align: top; - `} -`; - -StyledAsterisk.defaultProps = { - theme: defaultTheme, -}; - -const StyledInputErrorIcWrapper = styled.span` - ${({ theme }) => css` - margin: ${rtlSpacing(`0 ${theme.orbit.spaceXXSmall} 0 0`)}; - display: inline-flex; - align-items: center; - `}; -`; - -StyledInputErrorIcWrapper.defaultProps = { - theme: defaultTheme, -}; - -const FormLabel = styled( - ({ - className, - children, - required, - filled, - dataTest, - id, - error, - help, - onMouseEnter, - onMouseLeave, - iconRef, - inlineLabel, - labelRef, - }: Props) => ( - - {!inlineLabel && (error || help) && ( - - {error && } - {!error && help && } - - )} - - {required && !error && ( - - )} - {children} - - ), -)` - ${({ theme, filled, disabled }) => css` - display: inline-flex; - font-family: ${theme.orbit.fontFamily}; - font-size: ${theme.orbit.fontSizeFormLabel}; - font-weight: ${theme.orbit.fontWeightMedium}; - color: ${!filled || disabled ? theme.orbit.colorFormLabel : theme.orbit.colorFormLabelFilled}; - line-height: ${theme.orbit.lineHeightTextNormal}; - margin-bottom: ${theme.orbit.spaceXXSmall}; - margin-${left}: ${theme.orbit.spaceXXSmall}; - ${mq.desktop(css` - margin-${left}: 0; - `)} - `} -`; - -FormLabel.defaultProps = { - theme: defaultTheme, -}; +const FormLabel = ({ + className, + children, + required, + filled, + dataTest, + id, + error, + help, + onMouseEnter, + onMouseLeave, + iconRef, + inlineLabel, + labelRef, + disabled, +}: Props) => ( + + {!inlineLabel && (error || help) && ( + + {error && } + {!error && help && } + + )} + + {required && !error && ( + + )} + {children} + +); export default FormLabel;