- Introduced ModalDestinationButton for destination selection with customizable icons and labels. - Added ModalInput for text input with optional character counter. - Implemented ModalLink for reusable links styled as underlined text. - Created ModalPlatformCard for platform selection with badges. - Developed ModalRadioGroup for radio button groups with custom styling. - Added ModalSection for grouping modal content with optional labels. - Implemented ModalSelect for dropdown selections with custom styling. - Created ModalShareButtons for sharing options via Gmail, Email, and Messenger. - Developed ModalTextarea for multi-line text input with character counter. - Introduced ModalToggle for toggle switches with optional help text and links. - Updated README.md with component descriptions, usage examples, and design guidelines. - Added index.ts for centralized exports of modal components.
42 lines
882 B
TypeScript
42 lines
882 B
TypeScript
import React from 'react'
|
|
import styles from './ModalLink.module.css'
|
|
|
|
interface Props {
|
|
href?: string
|
|
onClick?: () => void
|
|
children: React.ReactNode
|
|
className?: string
|
|
}
|
|
|
|
/**
|
|
* Componente de enlace reutilizable para modales
|
|
* Estilo: texto azul subrayado que se usa en textos de ayuda
|
|
* Soporta tanto navegación (href) como acciones (onClick)
|
|
*/
|
|
export const ModalLink: React.FC<Props> = ({ href, onClick, children, className = '' }) => {
|
|
if (onClick) {
|
|
return (
|
|
<button
|
|
type="button"
|
|
onClick={onClick}
|
|
className={`${styles.link} ${styles.linkButton} ${className}`}
|
|
>
|
|
{children}
|
|
</button>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<a
|
|
href={href || '#'}
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
className={`${styles.link} ${className}`}
|
|
>
|
|
{children}
|
|
</a>
|
|
)
|
|
}
|
|
|
|
export default ModalLink
|