diff --git a/hexawebshare/src/components/admin/crud-data/FilterChips.stories.svelte b/hexawebshare/src/components/admin/crud-data/FilterChips.stories.svelte new file mode 100644 index 0000000..aa3cde4 --- /dev/null +++ b/hexawebshare/src/components/admin/crud-data/FilterChips.stories.svelte @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + console.log('Remove', id), + onClearAll: () => console.log('Clear all') + }} +/> + + + + + + + + + diff --git a/hexawebshare/src/components/admin/crud-data/FilterChips.svelte b/hexawebshare/src/components/admin/crud-data/FilterChips.svelte index 315da07..7c7fdee 100644 --- a/hexawebshare/src/components/admin/crud-data/FilterChips.svelte +++ b/hexawebshare/src/components/admin/crud-data/FilterChips.svelte @@ -2,3 +2,216 @@ SPDX-FileCopyrightText: 2025 hexaTune LLC SPDX-License-Identifier: MIT --> + + + +
+ {#if loading && filters.length === 0} + + {:else} + {#each filters as filter (filter.id)} +
+ + {filter.label}: + {filter.value} + + {#if onRemove && !disabled && !loading} + onRemove?.(filter.id)} + ariaLabel={removeFilterAriaLabelFormat.replace('{label}', filter.label)} + class="hover:bg-base-content/20 flex h-auto min-h-0 items-center justify-center p-0.5" + > + + + {/if} +
+ {/each} + + {#if filters.length > 0 && onClearAll && !disabled && !loading} + + {/if} + {/if} +