feature/fetch-fonts #14
@@ -3,7 +3,10 @@ import type { Filter } from '$shared/lib';
|
|||||||
import { Badge } from '$shared/shadcn/ui/badge';
|
import { Badge } from '$shared/shadcn/ui/badge';
|
||||||
import { buttonVariants } from '$shared/shadcn/ui/button';
|
import { buttonVariants } from '$shared/shadcn/ui/button';
|
||||||
import { Checkbox } from '$shared/shadcn/ui/checkbox';
|
import { Checkbox } from '$shared/shadcn/ui/checkbox';
|
||||||
import * as Collapsible from '$shared/shadcn/ui/collapsible';
|
import {
|
||||||
|
Root as CollapsibleRoot,
|
||||||
|
Trigger as CollapsibleTrigger,
|
||||||
|
} from '$shared/shadcn/ui/collapsible';
|
||||||
import { Label } from '$shared/shadcn/ui/label';
|
import { Label } from '$shared/shadcn/ui/label';
|
||||||
import ChevronDownIcon from '@lucide/svelte/icons/chevron-down';
|
import ChevronDownIcon from '@lucide/svelte/icons/chevron-down';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
@@ -66,13 +69,13 @@ const hasSelection = $derived(selectedCount > 0);
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Collapsible card wrapper with subtle hover state for affordance -->
|
<!-- Collapsible card wrapper with subtle hover state for affordance -->
|
||||||
<Collapsible.Root
|
<CollapsibleRoot
|
||||||
bind:open={isOpen}
|
bind:open={isOpen}
|
||||||
class="w-full rounded-lg border bg-card transition-colors hover:bg-accent/5"
|
class="w-full rounded-lg border bg-card transition-colors hover:bg-accent/5"
|
||||||
>
|
>
|
||||||
<!-- Trigger row: title, expand indicator, and optional count badge -->
|
<!-- Trigger row: title, expand indicator, and optional count badge -->
|
||||||
<div class="flex items-center justify-between px-4 py-2">
|
<div class="flex items-center justify-between px-4 py-2">
|
||||||
<Collapsible.Trigger
|
<CollapsibleTrigger
|
||||||
class={buttonVariants({
|
class={buttonVariants({
|
||||||
variant: 'ghost',
|
variant: 'ghost',
|
||||||
size: 'sm',
|
size: 'sm',
|
||||||
@@ -101,7 +104,7 @@ const hasSelection = $derived(selectedCount > 0);
|
|||||||
>
|
>
|
||||||
<ChevronDownIcon class="h-4 w-4" />
|
<ChevronDownIcon class="h-4 w-4" />
|
||||||
</div>
|
</div>
|
||||||
</Collapsible.Trigger>
|
</CollapsibleTrigger>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Expandable content with slide animation -->
|
<!-- Expandable content with slide animation -->
|
||||||
@@ -154,4 +157,4 @@ const hasSelection = $derived(selectedCount > 0);
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
</Collapsible.Root>
|
</CollapsibleRoot>
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { FontSearch } from '$features/FetchFonts';
|
import { FontSearch } from '$features/GetFonts';
|
||||||
import SetupFontMenu from '$features/SetupFont/ui/SetupFontMenu.svelte';
|
import SetupFontMenu from '$features/SetupFont/ui/SetupFontMenu.svelte';
|
||||||
import {
|
import {
|
||||||
Content as ItemContent,
|
Content as ItemContent,
|
||||||
|
|||||||
Reference in New Issue
Block a user