// Copyright (c) Tailscale Inc & AUTHORS // SPDX-License-Identifier: BSD-3-Clause import * as Primitive from "@radix-ui/react-popover" import cx from "classnames" import React, { useCallback } from "react" import ChevronDown from "src/assets/icons/chevron-down.svg?react" import Copy from "src/assets/icons/copy.svg?react" import NiceIP from "src/components/nice-ip" import useToaster from "src/hooks/toaster" import Button from "src/ui/button" import { copyText } from "src/utils/clipboard" /** * AddressCard renders a clickable IP address text that opens a * dialog with a copyable list of all addresses (IPv4, IPv6, DNS) * for the machine. */ export default function AddressCard({ v4Address, v6Address, shortDomain, fullDomain, className, triggerClassName, }: { v4Address: string v6Address: string shortDomain?: string fullDomain?: string className?: string triggerClassName?: string }) { const children = (