Widget Coverage & Upstream Audit
This page tracks parity against vue-instantsearch@4.24.3 (Vue 3 build).
Coverage snapshot
- Total widget components in
vue-instantsearch@4.24.3: 37 - Implemented upstream-equivalent widgets in Swiftsearch: 36
- Intentionally not implemented as a separate component: 1 (
AisInstantSearchSsr)
Implemented in Swiftsearch
AisAutocomplete, AisBreadcrumb, AisClearRefinements, AisConfigure, AisCurrentRefinements, AisDynamicWidgets, AisExperimentalConfigureRelatedItems, AisExperimentalDynamicWidgets, AisHierarchicalMenu, AisHierarchicalMenuList, AisHighlight, AisHits, AisHitsPerPage, AisIndex, AisInfiniteHits, AisInstantSearch, AisMenu, AisMenuSelect, AisNumericMenu, AisPagination, AisPanel, AisPoweredBy, AisQueryRuleContext, AisQueryRuleCustomData, AisRangeInput, AisRatingMenu, AisRefinementList, AisRelevantSort, AisSearchBox, AisSearchInput, AisSnippet, AisSortBy, AisStateResults, AisStats, AisToggleRefinement, AisVoiceSearch.
AisConfigureRelatedItems is also available as a compatibility alias for AisExperimentalConfigureRelatedItems.
Remaining intentional difference
| Widget | Status | Notes |
|---|---|---|
AisInstantSearchSsr | Intentionally different | Swiftsearch SSR is built into AisInstantSearch |
Upstream logic audit (4.21.3 -> 4.24.3)
After upgrading from vue-instantsearch@4.21.x to 4.24.3, we compared widget source files between versions.
Result
- No functional behavior changes were found for widgets that overlap with Swiftsearch.
- Most upstream changes are import-path updates to UMD entrypoints (
instantsearch.js/es/connectors/index.umd,instantsearch.js/es/widgets/index.umd). - The
Menuwidget also has a template formatting adjustment, but no behavior change.
Impact on Swiftsearch rewritten logic
No immediate widget-logic rewrite is required from this upstream update.
Current intentional differences remain:
- Parent-owned widget graph for deterministic Nuxt SSR.
- Compile-time declarative transform to generate
:widgets. - Scoped widget IDs and explicit
indexIdisolation rules. - Nuxt-first router integration through
useAisRouter().