summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/lib/scraper/components/SelectorGroup.svelte
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--frontend/src/lib/scraper/components/SelectorGroup.svelte16
1 files changed, 11 insertions, 5 deletions
diff --git a/frontend/src/lib/scraper/components/SelectorGroup.svelte b/frontend/src/lib/scraper/components/SelectorGroup.svelte
index ae7287a..5cf0cf0 100644
--- a/frontend/src/lib/scraper/components/SelectorGroup.svelte
+++ b/frontend/src/lib/scraper/components/SelectorGroup.svelte
@@ -1,9 +1,13 @@
<script lang="ts">
- import { Selector } from '$lib/Scraper';
+ import { Selector } from '../Scraper.svelte';
import SelectorButton from './SelectorButton.svelte';
- export let title: string;
- export let selectors: Selector<string>[];
+ interface Props {
+ title: string;
+ selectors: Selector<string>[];
+ }
+
+ let { title, selectors = $bindable() }: Props = $props();
function invert() {
for (let selector of selectors) {
@@ -19,14 +23,16 @@
<h2>{title}</h2>
<button
type="button"
- class="flex items-end opacity-0 brightness-75 transition-opacity hover:brightness-110 group-hover:opacity-100"
- on:click={invert}
+ class="flex items-end opacity-75 brightness-75 transition-opacity hover:opacity-100 hover:brightness-110 focus-visible:opacity-100"
+ onclick={invert}
title="Invert selection"
+ aria-label="Invert selection"
>
<span class="icon-xs icon-[material-symbols--compare-arrows]"></span>
</button>
</div>
<div class="flex flex-wrap gap-y-1">
+ <!-- eslint-disable-next-line svelte/require-each-key -->
{#each selectors as selector}
<SelectorButton {selector} />
{/each}