11<script setup lang="ts">
22import { type PropType , computed } from ' vue'
33
4- import { type RuleMeta , type Filter , languages } from ' ./data'
4+ import { type RuleMeta , type Filter , languages , intersect } from ' ./data'
55import Option from ' ./Option.vue'
66
77const { meta, filter } = defineProps ({
@@ -37,13 +37,13 @@ const displayedRules = computed(() => {
3737 const result = sortedOptions (meta .rules , filter .selectedRuleFilters )
3838 return result .slice (0 , displayRuleCount .value )
3939})
40- const moreRules = computed (() => meta .rules .length - displayRuleCount .value )
40+ const moreRules = computed (() => meta .rules .slice ( displayRuleCount .value ) )
4141
4242const displayFeatures = computed (() => {
4343 const result = sortedOptions (meta .features , filter .selectedFeatures )
4444 return result .slice (0 , 2 )
4545})
46- const moreFeatures = computed (() => Math . max ( displayFeatures . value . length - 2 , 0 ))
46+ const moreFeatures = computed (() => meta . features . slice ( 2 ))
4747 </script >
4848
4949<template >
@@ -76,9 +76,10 @@ const moreFeatures = computed(() => Math.max(displayFeatures.value.length - 2, 0
7676 :highlight =" filter.selectedRuleFilters.includes(rule)"
7777 />
7878 <Option
79- v-if =" moreRules"
80- :text =" `+${moreRules}`"
81- :data-title =" meta.rules.slice(displayRuleCount).join(', ')"
79+ v-if =" moreRules.length"
80+ :text =" `+${moreRules.length}`"
81+ :data-title =" moreRules.join(', ')"
82+ :highlight =" intersect(moreRules, filter.selectedRuleFilters)"
8283 />
8384 </template >
8485 </div >
@@ -91,9 +92,10 @@ const moreFeatures = computed(() => Math.max(displayFeatures.value.length - 2, 0
9192 :highlight =" filter.selectedFeatures.includes(feature)"
9293 />
9394 <Option
94- v-if =" moreFeatures"
95- :text =" `+${moreFeatures}`"
96- :data-title =" meta.features.slice(2).join(', ')"
95+ v-if =" moreFeatures.length"
96+ :text =" `+${moreFeatures.length}`"
97+ :data-title =" moreFeatures.join(', ')"
98+ :highlight =" intersect(moreFeatures, filter.selectedFeatures)"
9799 />
98100 </div >
99101 <a :href =" meta.playgroundLink" class =" playground link" target =" _blank" >
0 commit comments