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; |
