From 7bc4ccb56146a69fc56f80ab922766a71dfb183a Mon Sep 17 00:00:00 2001 From: John Leider Date: Tue, 12 May 2026 12:30:13 -0500 Subject: [PATCH 1/2] docs: add FAQ search and normalize section headers - DocsFaq shows a search input when items >= 5; filter state managed via createFilterContext trinity, per-instance override via provideFaqFilter so each block has its own query state - DocsFaqItem hides via v-show driven by filter.apply per-question - Rename "Questions" / "Frequently Asked Questions" section headers to "FAQ" across 10 pages for consistency --- apps/docs/src/components/docs/DocsFaq.vue | 54 ++++++++++++++++--- apps/docs/src/components/docs/DocsFaqItem.vue | 14 ++++- .../components/primitives/aspect-ratio.md | 2 +- .../src/pages/components/primitives/atom.md | 2 +- .../src/pages/components/primitives/portal.md | 2 +- .../pages/components/primitives/presence.md | 2 +- .../reactivity/use-proxy-registry.md | 2 +- .../composables/registration/create-tokens.md | 2 +- .../pages/composables/system/use-presence.md | 2 +- .../pages/guide/fundamentals/composables.md | 2 +- .../docs/src/pages/guide/fundamentals/core.md | 2 +- .../pages/guide/fundamentals/reactivity.md | 2 +- 12 files changed, 70 insertions(+), 18 deletions(-) diff --git a/apps/docs/src/components/docs/DocsFaq.vue b/apps/docs/src/components/docs/DocsFaq.vue index b4aac3c34..5faf632ef 100644 --- a/apps/docs/src/components/docs/DocsFaq.vue +++ b/apps/docs/src/components/docs/DocsFaq.vue @@ -1,14 +1,56 @@ - - const props = defineProps<{ + diff --git a/apps/docs/src/components/docs/DocsFaqItem.vue b/apps/docs/src/components/docs/DocsFaqItem.vue index b7be753dd..f7e3236ec 100644 --- a/apps/docs/src/components/docs/DocsFaqItem.vue +++ b/apps/docs/src/components/docs/DocsFaqItem.vue @@ -2,13 +2,23 @@ // Framework import { ExpansionPanel } from '@vuetify/v0' - defineProps<{ + // Context + import { useFaqFilter } from './DocsFaq.vue' + + // Utilities + import { toRef } from 'vue' + + const { question } = defineProps<{ question: string }>() + + const filter = useFaqFilter() + const result = filter.apply(filter.query, () => [question]) + const visible = toRef(() => result.items.value.length > 0)