How It Works
Refer to the Clipboard API documentation for details.
Programmatic
<button class="btn preset-filled" data-button>Copy to Clipboard</button>
<script>  // Define your source data  const sourceData = 'Hello world';
  // Select your trigger element  const elemButton: HTMLButtonElement | null = document.querySelector('[data-button]');
  // Add a click event handler to the trigger  elemButton?.addEventListener('click', () => {    // Call the Clipboard API    navigator.clipboard      // Use the `writeText` method write content to the clipboard      .writeText(sourceData)      // Handle confirmation      .then(() => console.log('Source data copied to clipboard!'));  });</script>Using Inputs
<div class="flex items-center gap-4">  <input type="text" class="input" value="Hello Skeleton" data-source />  <button class="btn preset-filled" data-trigger>Copy</button></div>
<script>  // Create element references  const elemButton: HTMLButtonElement | null = document.querySelector('[data-trigger]');  const elemInput: HTMLInputElement | null = document.querySelector('[data-source]');
  // Add a click event handler to the trigger  elemButton?.addEventListener('click', () => {    // Call the Clipboard API    navigator.clipboard      // Use the `writeText` method write content to the clipboard      .writeText(elemInput?.value || '')      // Handle confirmation      .then(() => console.log('Input value copied to clipboard!'));  });</script>