Skip to content

⬅️ Back to Table of Contents

📄 Buttons/CopyButton

📊 Analysis Summary

Metric Count
🔧 Functions 1
📦 Imports 6
💠 JSX Elements 2

📚 Table of Contents

🛠️ File Location:

📂 packages/website/src/theme/CodeBlock/Buttons/CopyButton/index.tsx

📦 Imports

Name Source
Props @theme/CodeBlock/Buttons/CopyButton
CodeBlockContextProvider @docusaurus/theme-common/internal
useCodeBlockContext @docusaurus/theme-common/internal
CopyButton @theme-original/CodeBlock/Buttons/CopyButton
React react
getVisibleCodeLines ../../utils

JSX Elements

Component Type Props Children
CodeBlockContextProvider component metadata={{ ...metadata, code: getVisibleCodeLines(metadata).join('\n') }}, w...
CopyButton component none none

Functions

CopyButtonWrapper(props: Props): React.JSX.Element

Parameters:

  • props Props

Returns: React.JSX.Element

Calls:

  • useCodeBlockContext (from @docusaurus/theme-common/internal)
  • getVisibleCodeLines(metadata).join
Code
export default function CopyButtonWrapper(props: Props): React.JSX.Element {
  const { metadata, wordWrap } = useCodeBlockContext();

  return (
    <CodeBlockContextProvider
      metadata={{ ...metadata, code: getVisibleCodeLines(metadata).join('\n') }}
      wordWrap={wordWrap}
    >
      <CopyButton {...props} />
    </CodeBlockContextProvider>
  );
}

Generated by Syntax Scribe