diff --git a/.changeset/selfish-cats-admire.md b/.changeset/selfish-cats-admire.md new file mode 100644 index 00000000000..3846a9f318a --- /dev/null +++ b/.changeset/selfish-cats-admire.md @@ -0,0 +1,5 @@ +--- +"@primer/components": patch +--- + +Add basic docs for `AnchoredOverlay` diff --git a/docs/content/AnchoredOverlay.mdx b/docs/content/AnchoredOverlay.mdx new file mode 100644 index 00000000000..cb30a361a36 --- /dev/null +++ b/docs/content/AnchoredOverlay.mdx @@ -0,0 +1,39 @@ +--- +title: AnchoredOverlay +status: Alpha +--- + +An `AnchoredOverlay` provides an anchor that will open a floating overlay positioned relative to the anchor. +The overlay can be opened and navigated using keyboard or mouse. + +## Example + +```jsx live + + {([isOpen, setIsOpen]) => { + const openOverlay = React.useCallback(() => setIsOpen(true), [setIsOpen]) + const closeOverlay = React.useCallback(() => setIsOpen(false), [setIsOpen]) + return ( + ( + + Click me to open + + )} + open={isOpen} + onOpen={openOverlay} + onClose={closeOverlay} + > + +

+ This menu automatically receives a focus trap and focus zone. Use up/down keys to navigate between buttons +

+ + + +
+
+ ) + }} +
+``` diff --git a/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js b/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js index 2febe6f568f..e80b9fa4b32 100644 --- a/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js +++ b/docs/src/@primer/gatsby-theme-doctocat/live-code-scope.js @@ -21,6 +21,7 @@ import { } from '@primer/octicons-react' import State from '../../../components/State' import {Dialog as Dialog2} from '../../../../src/Dialog/Dialog' +import {AnchoredOverlay} from '../../../../src/AnchoredOverlay' import {ConfirmationDialog, useConfirm} from '../../../../src/Dialog/ConfirmationDialog' export default { @@ -46,5 +47,6 @@ export default { VersionsIcon, Dialog2, ConfirmationDialog, - useConfirm + useConfirm, + AnchoredOverlay } diff --git a/src/AnchoredOverlay/AnchoredOverlay.tsx b/src/AnchoredOverlay/AnchoredOverlay.tsx index cfae9243f7f..c165386ecff 100644 --- a/src/AnchoredOverlay/AnchoredOverlay.tsx +++ b/src/AnchoredOverlay/AnchoredOverlay.tsx @@ -29,7 +29,7 @@ export interface AnchoredOverlayProps { } /** - * An `AnchoredOverlay` provides an anchor (button by default) that will open a floating overlay. + * An `AnchoredOverlay` provides an anchor that will open a floating overlay positioned relative to the anchor. * The overlay can be opened and navigated using keyboard or mouse. */ export const AnchoredOverlay: React.FC = ({renderAnchor, children, open, onOpen, onClose}) => {