* Remove icons folder * Create folders for badge, button, and dropdown components * Remove Bootstrap 5 from test * Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint` * Cleanup and update BS 5 comments * Move components to the shared folder * Rename `tooltips-bs5` to `tooltip` * Remove `-bs5` suffix * Fix path * Delete BS3 version file * Rename `_form_marketing-bootstrap-5` to `_form_marketing` * Delete BS3 version file * Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing` * Delete BS3 version file * Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing` * Delete BS3 version file * Rename `thin-footer-bootstrap-5` to `thin-footer` * Delete BS3 version file * Rename `language-picker-bootstrap-5` to `language-picker` * Rename `fat-footer-react-bootstrap-5` to `fat-footer-react` * Delete BS3 version file * Rename `navbar-marketing-bootstrap-5` to `navbar-marketing` * Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react` * Delete BS3 version file * Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms` * Source format * Fix path GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
32 lines
696 B
TypeScript
32 lines
696 B
TypeScript
import classNames from 'classnames'
|
|
import type { MergeAndOverride } from '../../../../../types/utils'
|
|
import Badge, { type BadgeProps } from './badge'
|
|
|
|
export type BadgeLinkProps = MergeAndOverride<
|
|
BadgeProps,
|
|
{
|
|
href: string
|
|
badgeContentRef?: React.RefObject<HTMLElement>
|
|
badgeLinkClasses?: string
|
|
}
|
|
>
|
|
|
|
function BadgeLink({
|
|
href,
|
|
badgeLinkClasses,
|
|
children,
|
|
...badgeProps
|
|
}: BadgeLinkProps) {
|
|
const containerClass = classNames(badgeLinkClasses, 'badge-link', {
|
|
[`badge-link-${badgeProps.bg}`]: badgeProps.bg,
|
|
})
|
|
|
|
return (
|
|
<a className={containerClass} href={href}>
|
|
<Badge {...badgeProps}>{children}</Badge>
|
|
</a>
|
|
)
|
|
}
|
|
|
|
export default BadgeLink
|