UNPKG

@redocly/asyncapi-docs

Version:

Async API docs for Redocly Realm

39 lines (35 loc) 1.34 kB
import{jsx as e}from"react/jsx-runtime";import s,{css as c}from"styled-components";import{Link as d,useLocation as h}from"react-router-dom";import{LinkIcon as o}from"@redocly/theme";import{tryDecodeURIComponent as v}from"../../utils";function b(i){const n=i.to;return e(d,{"aria-label":i["aria-label"]||`link to ${n}`,id:v(i.id||""),className:i.className||"",to:n,children:i.children})}function f(i){return e(y,Object.assign({},i,{children:e(o,{size:"13px",color:"--heading-anchor-color"})}))}const g=({to:i,className:n})=>{const t=i,a=h(),r=t?.split("#")[1],l=a?a.hash===`#${r}`:!1;return e(m,{ariaLabel:`link to ${t}`,className:n,isActive:l,to:t||"",id:r})},m=s(f)` display: flex; ${o} { visibility: hidden; cursor: pointer; background-color: var(--bg-color); } ${({isActive:i})=>i&&c` ${o} { visibility: visible; opacity: 1; } `} :hover ${o}, :focus ${o} { visibility: visible; opacity: 1; } `,y=s(b)` position: absolute; top: 50%; left: 0; transform: translate(-100%, -50%); padding-right: var(--heading-anchor-offset-right); z-index: 1; ${o} { opacity: 0; transition: visibility 0.3s linear, opacity 0.3s linear; } :hover ${o}, :focus ${o} { visibility: visible; opacity: 1; } `;export{g as LinkToField,f as ShareLink};