<script>
  import EventCapture from '$lib/swatch/event-capture.svelte.js';
  import { json } from '$lib/swatch/derive.js';

  import EventLog from '$lib/components/swatch/EventLog.svelte';

  let eventsInput = $state(
    JSON.stringify(
      [{ event: 'example', args: ['argument a', 'argument b'] }],
      /* replacer */ null,
      /* space */ 2,
    ),
  );
  let events = $derived(json(eventsInput));

  let capture = $state(new EventCapture());
  const clear = capture.on('clear');
</script>

<h1><code>swatch/EventLog</code></h1>

<nav><p><a href="..">Back to swatches</a></p></nav>

<h2>properties</h2>

<div class="component-properties">
  <label>events (json) <textarea bind:value={eventsInput}></textarea></label>
</div>

<h2>rendered</h2>

<div class="component-preview">
  <EventLog {events} {clear} />
</div>

<h2>events</h2>

<EventLog events={capture.events} clear={capture.clear.bind(capture)} />
