+ {#each visibleGroups as visibleGroup (visibleGroup.value)}
+ {@const fullGroup = groups.find((group) => group.value === visibleGroup.value) ?? visibleGroup}
+ {@const selection = groupSelection(fullGroup)}
+
+
+
+ onToggleGroup(
+ fullGroup.options.map((option) => option.value),
+ !selection.all
+ )}
+ />
+
+
+ {selection.count}/{fullGroup.options.length}
+
+
+
+
+ {#each visibleGroup.options as option (option.value)}
+
+ onToggle(option.value)}
+ />
+
+
+ {/each}
+
+
+ {/each}
+