diff options
Diffstat (limited to 'src/components/FormElements/Label')
| -rw-r--r-- | src/components/FormElements/Label/Label.module.scss | 22 | ||||
| -rw-r--r-- | src/components/FormElements/Label/Label.tsx | 24 | 
2 files changed, 46 insertions, 0 deletions
| diff --git a/src/components/FormElements/Label/Label.module.scss b/src/components/FormElements/Label/Label.module.scss new file mode 100644 index 0000000..c527b16 --- /dev/null +++ b/src/components/FormElements/Label/Label.module.scss @@ -0,0 +1,22 @@ +@use "@styles/abstracts/functions" as fun; + +.regular { +  display: block; +  color: var(--color-primary-darker); +  font-size: var(--font-size-sm); +  font-variant: small-caps; +  font-weight: 600; +} + +.settings { +  --icon-size: #{fun.convert-px(25)}; +  --toggle-width: #{fun.convert-px(45)}; +  --toggle-height: calc(var(--toggle-width) / 2); + +  display: inline-flex; +  align-items: center; +} + +.required { +  color: var(--color-secondary); +} diff --git a/src/components/FormElements/Label/Label.tsx b/src/components/FormElements/Label/Label.tsx new file mode 100644 index 0000000..baedff0 --- /dev/null +++ b/src/components/FormElements/Label/Label.tsx @@ -0,0 +1,24 @@ +import styles from './Label.module.scss'; + +type LabelKind = 'regular' | 'settings'; + +const Label = ({ +  body, +  htmlFor, +  required = false, +  kind = 'regular', +}: { +  body: string; +  htmlFor: string; +  required?: boolean; +  kind?: LabelKind; +}) => { +  return ( +    <label htmlFor={htmlFor} className={styles[kind]}> +      {body} +      {required && <span className={styles.required}> *</span>} +    </label> +  ); +}; + +export default Label; | 
