UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

25 lines (24 loc) 1.19 kB
'use client'; import { jsx as _jsx } from "react/jsx-runtime"; import * as React from 'react'; import { useDefaultProps } from "../theme/useDefaultProps.js"; import { block } from "../utils/cn.js"; import { eventBroker } from "../utils/event-broker/index.js"; import { getLinkRelWithFallback } from "../utils/getLinkRelWithFallback.js"; import "./Link.css"; const b = block('link'); export const Link = React.forwardRef(function Link(rawProps, ref) { const { view = 'normal', visitable = false, underline = false, href, children, extraProps, qa, onClickCapture, ...props } = useDefaultProps('Link', rawProps); const handleClickCapture = React.useCallback((event) => { eventBroker.publish({ componentId: 'Link', eventId: 'click', domEvent: event, }); if (onClickCapture) { onClickCapture(event); } }, [onClickCapture]); return (_jsx("a", { ...props, ...extraProps, ref: ref, href: href, rel: getLinkRelWithFallback(props), onClickCapture: handleClickCapture, className: b({ view, visitable, underline }, props.className), "data-qa": qa, children: children })); }); //# sourceMappingURL=Link.js.map