diff --git a/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.css b/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.css index 58ee09e9bd..7098c2c72d 100644 --- a/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.css +++ b/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.css @@ -7,8 +7,20 @@ transform: translate(calc(-100% - var(--pf-t--global--spacer--xs)), -50%); opacity: 0; position: absolute; + display: flex; left: 0; top: 50%; + background: none; + border: none; + padding: 0; + tab-index: -1; +} + +.ws-heading-anchor::before { + content: ''; + position: absolute; + inset: 0; + margin: calc(var(--pf-t--global--spacer--xs) * -1); } .ws-heading-anchor-icon { diff --git a/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.js b/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.js index 3ed28a6df8..ef958aa080 100644 --- a/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.js +++ b/packages/documentation-framework/components/autoLinkHeader/autoLinkHeader.js @@ -1,7 +1,6 @@ -import React from 'react'; -import { Flex, FlexItem, Content } from '@patternfly/react-core'; +import React, { useState } from 'react'; +import { Flex, FlexItem, Content, Tooltip } from '@patternfly/react-core'; import LinkIcon from '@patternfly/react-icons/dist/esm/icons/link-icon'; -import { Link } from '../link/link'; import { slugger } from '../../helpers/slugger'; import { css } from '@patternfly/react-styles'; @@ -13,6 +12,15 @@ export const AutoLinkHeader = ({ className }) => { const slug = id || slugger(children); + const [copied, setCopied] = useState(false); + + const handleCopyUrl = (e) => { + e.preventDefault(); + const url = `${window.location.origin}${window.location.pathname}#${slug}`; + navigator.clipboard.writeText(url).then(() => { + setCopied(true); + }); + }; return ( @@ -24,9 +32,21 @@ export const AutoLinkHeader = ({ tabIndex={-1} isEditorial > - - - + setCopied(false)} + > + + {children}