<script>
  import EventCapture from '$lib/swatch/event-capture.svelte.js';
  import * as json from '$lib/swatch/json.js';

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

  let eventsInput = $state(
    json.encode([
      { event: 'firstExample', args: ['argument a', 'argument b'] },
      { event: 'secondExample', args: ['argument 1'] },
    ]),
  );
  let events = $derived(json.decode(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)} />
