[{"data":1,"prerenderedAt":804},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-migration-from-vue-instantsearch":261,"-getting-started-migration-from-vue-instantsearch-surround":799},[4,38,46,186,197,205],{"title":5,"path":6,"stem":7,"children":8,"icon":37},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17,22,27,32],{"title":10,"path":6,"stem":7,"icon":11},"Welcome","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":18,"path":19,"stem":20,"icon":21},"Usage","\u002Fgetting-started\u002Fusage","1.getting-started\u002F3.usage","i-lucide-play",{"title":23,"path":24,"stem":25,"icon":26},"Declarative Transform","\u002Fgetting-started\u002Fdeclarative-transform","1.getting-started\u002F4.declarative-transform","i-lucide-wand",{"title":28,"path":29,"stem":30,"icon":31},"Migration from Vue InstantSearch","\u002Fgetting-started\u002Fmigration-from-vue-instantsearch","1.getting-started\u002F5.migration-from-vue-instantsearch","i-lucide-replace",{"title":33,"path":34,"stem":35,"icon":36},"Widget Coverage & Upstream Audit","\u002Fgetting-started\u002Fwidget-coverage-upstream-audit","1.getting-started\u002F6.widget-coverage-upstream-audit","i-lucide-table",false,{"title":39,"path":40,"stem":41,"children":42,"icon":45},"Routing","\u002Frouting","2.routing\u002F1.index",[43],{"title":39,"path":40,"stem":41,"icon":44},"i-lucide-navigation","i-lucide-route",{"title":47,"icon":48,"path":49,"stem":50,"children":51,"page":37},"Components","i-lucide-layout-grid","\u002Fcomponents","3.components",[52,56,60,64,68,72,76,80,84,88,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150,154,158,162,166,170,174,178,182],{"title":53,"path":54,"stem":55},"\u003CAisInstantSearch>","\u002Fcomponents\u002Fais-instant-search","3.components\u002F01.ais-instant-search",{"title":57,"path":58,"stem":59},"\u003CAisInfiniteHits>","\u002Fcomponents\u002Fais-infinite-hits","3.components\u002F02.ais-infinite-hits",{"title":61,"path":62,"stem":63},"\u003CAisHits>","\u002Fcomponents\u002Fais-hits","3.components\u002F03.ais-hits",{"title":65,"path":66,"stem":67},"\u003CAisRefinementList>","\u002Fcomponents\u002Fais-refinement-list","3.components\u002F04.ais-refinement-list",{"title":69,"path":70,"stem":71},"\u003CAisSortBy>","\u002Fcomponents\u002Fais-sort-by","3.components\u002F05.ais-sort-by",{"title":73,"path":74,"stem":75},"\u003CAisStats>","\u002Fcomponents\u002Fais-stats","3.components\u002F06.ais-stats",{"title":77,"path":78,"stem":79},"\u003CAisToggleRefinement>","\u002Fcomponents\u002Fais-toggle-refinement","3.components\u002F07.ais-toggle-refinement",{"title":81,"path":82,"stem":83},"\u003CAisConfigure>","\u002Fcomponents\u002Fais-configure","3.components\u002F08.ais-configure",{"title":85,"path":86,"stem":87},"\u003CAisSearchBox>","\u002Fcomponents\u002Fais-search-box","3.components\u002F09.ais-search-box",{"title":89,"path":90,"stem":91,"children":92},"\u003CAisIndex>","\u002Fcomponents\u002Fais-index","3.components\u002F10.ais-index",[93],{"title":89,"path":90,"stem":91},{"title":95,"path":96,"stem":97},"\u003CAisRangeInput>","\u002Fcomponents\u002Fais-range-input","3.components\u002F11.ais-range-input",{"title":99,"path":100,"stem":101},"\u003CAisClearRefinements>","\u002Fcomponents\u002Fais-clear-refinements","3.components\u002F12.ais-clear-refinements",{"title":103,"path":104,"stem":105},"\u003CAisCurrentRefinements>","\u002Fcomponents\u002Fais-current-refinements","3.components\u002F13.ais-current-refinements",{"title":107,"path":108,"stem":109},"\u003CAisPagination>","\u002Fcomponents\u002Fais-pagination","3.components\u002F14.ais-pagination",{"title":111,"path":112,"stem":113},"\u003CAisHierarchicalMenu>","\u002Fcomponents\u002Fais-hierarchical-menu","3.components\u002F15.ais-hierarchical-menu",{"title":115,"path":116,"stem":117},"\u003CAisAutocomplete>","\u002Fcomponents\u002Fais-autocomplete","3.components\u002F16.ais-autocomplete",{"title":119,"path":120,"stem":121},"\u003CAisMenu>","\u002Fcomponents\u002Fais-menu","3.components\u002F16.ais-menu",{"title":123,"path":124,"stem":125},"\u003CAisMenuSelect>","\u002Fcomponents\u002Fais-menu-select","3.components\u002F16.ais-menu-select",{"title":127,"path":128,"stem":129},"\u003CAisQueryRuleCustomData>","\u002Fcomponents\u002Fais-query-rule-custom-data","3.components\u002F17.ais-query-rule-custom-data",{"title":131,"path":132,"stem":133},"\u003CAisRatingMenu>","\u002Fcomponents\u002Fais-rating-menu","3.components\u002F17.ais-rating-menu",{"title":135,"path":136,"stem":137},"\u003CAisNumericMenu>","\u002Fcomponents\u002Fais-numeric-menu","3.components\u002F18.ais-numeric-menu",{"title":139,"path":140,"stem":141},"\u003CAisPanel>","\u002Fcomponents\u002Fais-panel","3.components\u002F20.ais-panel",{"title":143,"path":144,"stem":145},"\u003CAisBreadcrumb>","\u002Fcomponents\u002Fais-breadcrumb","3.components\u002F21.ais-breadcrumb",{"title":147,"path":148,"stem":149},"\u003CAisHitsPerPage>","\u002Fcomponents\u002Fais-hits-per-page","3.components\u002F22.ais-hits-per-page",{"title":151,"path":152,"stem":153},"\u003CAisPoweredBy>","\u002Fcomponents\u002Fais-powered-by","3.components\u002F23.ais-powered-by",{"title":155,"path":156,"stem":157},"\u003CAisQueryRuleContext>","\u002Fcomponents\u002Fais-query-rule-context","3.components\u002F24.ais-query-rule-context",{"title":159,"path":160,"stem":161},"\u003CAisRelevantSort>","\u002Fcomponents\u002Fais-relevant-sort","3.components\u002F25.ais-relevant-sort",{"title":163,"path":164,"stem":165},"\u003CAisSnippet>","\u002Fcomponents\u002Fais-snippet","3.components\u002F26.ais-snippet",{"title":167,"path":168,"stem":169},"\u003CAisVoiceSearch>","\u002Fcomponents\u002Fais-voice-search","3.components\u002F27.ais-voice-search",{"title":171,"path":172,"stem":173},"\u003CAisDynamicWidgets>","\u002Fcomponents\u002Fais-dynamic-widgets","3.components\u002F28.ais-dynamic-widgets",{"title":175,"path":176,"stem":177},"\u003CAisExperimentalDynamicWidgets>","\u002Fcomponents\u002Fais-experimental-dynamic-widgets","3.components\u002F29.ais-experimental-dynamic-widgets",{"title":179,"path":180,"stem":181},"\u003CAisConfigureRelatedItems>","\u002Fcomponents\u002Fais-configure-related-items","3.components\u002F30.ais-configure-related-items",{"title":183,"path":184,"stem":185},"\u003CAisExperimentalConfigureRelatedItems>","\u002Fcomponents\u002Fais-experimental-configure-related-items","3.components\u002F31.ais-experimental-configure-related-items",{"title":187,"icon":188,"path":189,"stem":190,"children":191,"page":37},"Composables","i-lucide-function-square","\u002Fcomposables","4.composables",[192],{"title":193,"path":194,"stem":195,"icon":196},"useAisRouter","\u002Fcomposables\u002Fuse-ais-router","4.composables\u002F1.use-ais-router","i-lucide-link",{"title":198,"path":199,"stem":200,"children":201,"icon":204},"Roadmap","\u002Froadmap","5.roadmap\u002F1.index",[202],{"title":198,"path":199,"stem":200,"icon":203},"i-lucide-flag","i-lucide-map",{"title":206,"path":207,"stem":208,"children":209,"icon":260},"Examples","\u002Fexamples","6.examples\u002F1.index",[210,212,217,222,227,234,238,245,250,255],{"title":206,"path":207,"stem":208,"icon":211},"i-lucide-book-marked",{"title":213,"path":214,"stem":215,"icon":216},"Typed transformItems with Generics","\u002Fexamples\u002Ftyped-transform-items-generics","6.examples\u002F10.typed-transform-items-generics","i-lucide-braces",{"title":218,"path":219,"stem":220,"icon":221},"Declarative Faceted Layout","\u002Fexamples\u002Fdeclarative-faceted-layout","6.examples\u002F2.declarative-faceted-layout","i-lucide-layout-dashboard",{"title":223,"path":224,"stem":225,"icon":226},"Manual Widgets Mode","\u002Fexamples\u002Fmanual-widgets-mode","6.examples\u002F3.manual-widgets-mode","i-lucide-wrench",{"title":228,"path":229,"stem":230,"children":231,"icon":233},"Multi-index Isolation","\u002Fexamples\u002Fmulti-index-isolation","6.examples\u002F4.multi-index-isolation",[232],{"title":228,"path":229,"stem":230,"icon":233},"i-lucide-layers-3",{"title":235,"path":236,"stem":237,"icon":45},"Route-driven Filters","\u002Fexamples\u002Froute-driven-filters","6.examples\u002F5.route-driven-filters",{"title":239,"path":240,"stem":241,"children":242,"icon":244},"Multi-index Autocomplete","\u002Fexamples\u002Fautocomplete-multi-index","6.examples\u002F6.autocomplete-multi-index",[243],{"title":239,"path":240,"stem":241,"icon":244},"i-lucide-search-check",{"title":246,"path":247,"stem":248,"icon":249},"Pagination Route Sync","\u002Fexamples\u002Fpagination-route-sync","6.examples\u002F7.pagination-route-sync","i-lucide-scroll-text",{"title":251,"path":252,"stem":253,"icon":254},"Parity Widget Showcase","\u002Fexamples\u002Fparity-widget-showcase","6.examples\u002F8.parity-widget-showcase","i-lucide-sparkles",{"title":256,"path":257,"stem":258,"icon":259},"Analytics and Insights Events","\u002Fexamples\u002Fanalytics-insights-events","6.examples\u002F9.analytics-insights-events","i-lucide-chart-line","i-lucide-flask-conical",{"id":262,"title":28,"body":263,"description":792,"extension":793,"links":794,"meta":795,"navigation":796,"path":29,"seo":797,"stem":30,"__hash__":798},"docs\u002F1.getting-started\u002F5.migration-from-vue-instantsearch.md",{"type":264,"value":265,"toc":781},"minimark",[266,270,275,290,293,297,307,421,425,428,448,456,466,537,541,556,560,563,685,689,740,751,755,770,777],[267,268,269],"p",{},"This page documents how Nuxt Swiftsearch reaches vue-instantsearch-like DX while preserving Nuxt SSR correctness.",[271,272,274],"h2",{"id":273},"_1-keep-your-component-tree-switch-the-runtime","1) Keep your component tree, switch the runtime",[267,276,277,278,282,283,282,286,289],{},"Most widget tags map 1:1 (",[279,280,281],"code",{},"AisSearchBox",", ",[279,284,285],{},"AisHits",[279,287,288],{},"AisRefinementList",", etc.).",[267,291,292],{},"Your primary change is at the root: Nuxt Swiftsearch owns the final widget registration to make SSR deterministic.",[271,294,296],{"id":295},"_2-start-with-declarative-mode","2) Start with declarative mode",[267,298,299,300,303,304,306],{},"If you omit ",[279,301,302],{},":widgets"," on ",[279,305,53],{},", the transform compiles template widgets into the same connector widgets you used to build manually.",[308,309,315],"pre",{"className":310,"code":311,"filename":312,"language":313,"meta":314,"style":314},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ctemplate>\n  \u003CAisInstantSearch :configuration=\"configuration\">\n    \u003CAisSearchBox \u002F>\n    \u003CAisRefinementList attribute=\"brand\" \u002F>\n    \u003CAisHits \u002F>\n  \u003C\u002FAisInstantSearch>\n\u003C\u002Ftemplate>\n","SearchExperience.vue","vue","",[279,316,317,333,360,371,392,401,411],{"__ignoreMap":314},[318,319,322,326,330],"span",{"class":320,"line":321},"line",1,[318,323,325],{"class":324},"sMK4o","\u003C",[318,327,329],{"class":328},"swJcz","template",[318,331,332],{"class":324},">\n",[318,334,336,339,342,346,349,352,356,358],{"class":320,"line":335},2,[318,337,338],{"class":324},"  \u003C",[318,340,341],{"class":328},"AisInstantSearch",[318,343,345],{"class":344},"spNyl"," :configuration",[318,347,348],{"class":324},"=",[318,350,351],{"class":324},"\"",[318,353,355],{"class":354},"sfazB","configuration",[318,357,351],{"class":324},[318,359,332],{"class":324},[318,361,363,366,368],{"class":320,"line":362},3,[318,364,365],{"class":324},"    \u003C",[318,367,281],{"class":328},[318,369,370],{"class":324}," \u002F>\n",[318,372,374,376,378,381,383,385,388,390],{"class":320,"line":373},4,[318,375,365],{"class":324},[318,377,288],{"class":328},[318,379,380],{"class":344}," attribute",[318,382,348],{"class":324},[318,384,351],{"class":324},[318,386,387],{"class":354},"brand",[318,389,351],{"class":324},[318,391,370],{"class":324},[318,393,395,397,399],{"class":320,"line":394},5,[318,396,365],{"class":324},[318,398,285],{"class":328},[318,400,370],{"class":324},[318,402,404,407,409],{"class":320,"line":403},6,[318,405,406],{"class":324},"  \u003C\u002F",[318,408,341],{"class":328},[318,410,332],{"class":324},[318,412,414,417,419],{"class":320,"line":413},7,[318,415,416],{"class":324},"\u003C\u002F",[318,418,329],{"class":328},[318,420,332],{"class":324},[271,422,424],{"id":423},"_3-keep-manual-mode-where-needed","3) Keep manual mode where needed",[267,426,427],{},"Manual mode remains first-class and interoperable:",[429,430,431,439,445],"ul",{},[432,433,434,435,438],"li",{},"existing ",[279,436,437],{},":widgets=\"[...]\""," code keeps working,",[432,440,441,444],{},[279,442,443],{},"useAis*"," composables are unchanged,",[432,446,447],{},"you can mix manual pages and declarative pages in the same app.",[271,449,451,452,455],{"id":450},"_4-use-indexid-for-multi-index-boundaries","4) Use ",[279,453,454],{},"indexId"," for multi-index boundaries",[267,457,458,459,461,462,465],{},"When multiple ",[279,460,89],{}," instances use the same widget types, set ",[279,463,464],{},"index-id"," to ensure state isolation:",[308,467,469],{"className":310,"code":468,"filename":312,"language":313,"meta":314,"style":314},"\u003CAisInstantSearch :configuration=\"configuration\">\n  \u003CAisIndex index-name=\"instant_search\" index-id=\"products\">\n    \u003CAisRefinementList attribute=\"brand\" \u002F>\n  \u003C\u002FAisIndex>\n\n  \u003CAisIndex index-name=\"instant_search\" index-id=\"accessories\">\n    \u003CAisRefinementList attribute=\"brand\" \u002F>\n  \u003C\u002FAisIndex>\n\u003C\u002FAisInstantSearch>\n",[279,470,471,493,498,503,508,514,519,523,528],{"__ignoreMap":314},[318,472,473,475,477,480,482,484,486,489,491],{"class":320,"line":321},[318,474,325],{"class":324},[318,476,341],{"class":328},[318,478,479],{"class":324}," :",[318,481,355],{"class":344},[318,483,348],{"class":324},[318,485,351],{"class":324},[318,487,355],{"class":488},"sTEyZ",[318,490,351],{"class":324},[318,492,332],{"class":324},[318,494,495],{"class":320,"line":335},[318,496,497],{"class":488},"  \u003CAisIndex index-name=\"instant_search\" index-id=\"products\">\n",[318,499,500],{"class":320,"line":362},[318,501,502],{"class":488},"    \u003CAisRefinementList attribute=\"brand\" \u002F>\n",[318,504,505],{"class":320,"line":373},[318,506,507],{"class":488},"  \u003C\u002FAisIndex>\n",[318,509,510],{"class":320,"line":394},[318,511,513],{"emptyLinePlaceholder":512},true,"\n",[318,515,516],{"class":320,"line":403},[318,517,518],{"class":488},"  \u003CAisIndex index-name=\"instant_search\" index-id=\"accessories\">\n",[318,520,521],{"class":320,"line":413},[318,522,502],{"class":488},[318,524,526],{"class":320,"line":525},8,[318,527,507],{"class":488},[318,529,531,533,535],{"class":320,"line":530},9,[318,532,416],{"class":324},[318,534,341],{"class":328},[318,536,332],{"class":324},[271,538,540],{"id":539},"_5-widget-id-parity-for-repeated-widgets","5) Widget-ID parity for repeated widgets",[267,542,543,544,282,547,282,550,282,552,555],{},"Repeated widgets that rely on explicit IDs (",[279,545,546],{},"AisClearRefinements",[279,548,549],{},"AisCurrentRefinements",[279,551,288],{},[279,553,554],{},"AisAutocomplete",") now scope correctly per index and per widget ID.",[271,557,559],{"id":558},"feature-comparison","Feature comparison",[267,561,562],{},"Comparison below is specifically about using these libraries in a Nuxt app.",[564,565,566,585],"table",{},[567,568,569],"thead",{},[570,571,572,576,579,582],"tr",{},[573,574,575],"th",{},"Capability",[573,577,578],{},"Nuxt Swiftsearch",[573,580,581],{},"Vue InstantSearch",[573,583,584],{},"Comparison",[586,587,588,603,620,637,654,671],"tbody",{},[570,589,590,594,597,600],{},[591,592,593],"td",{},"SSR behavior in Nuxt",[591,595,596],{},"Parent-owned widget graph, deterministic SSR\u002Fhydration flow",[591,598,599],{},"Client-first widget registration model",[591,601,602],{},"Better fit for Nuxt SSR",[570,604,605,608,614,617],{},[591,606,607],{},"Declarative widget authoring",[591,609,610,611,613],{},"Supported (compile-time transform to ",[279,612,302],{},")",[591,615,616],{},"Supported (runtime registration)",[591,618,619],{},"Equivalent DX goal, different architecture",[570,621,622,628,631,634],{},[591,623,624,625,627],{},"Existing manual ",[279,626,302],{}," mode",[591,629,630],{},"Fully supported",[591,632,633],{},"N\u002FA (runtime declarative by default)",[591,635,636],{},"Migration-safe advantage",[570,638,639,642,648,651],{},[591,640,641],{},"Multi-index scoped state",[591,643,644,645,647],{},"Explicit ",[279,646,454],{}," + scoped widget IDs",[591,649,650],{},"Multi-index supported",[591,652,653],{},"Better isolation guarantees in this module",[570,655,656,659,665,668],{},[591,657,658],{},"Nuxt router integration",[591,660,661,664],{},[279,662,663],{},"useAisRouter()"," and custom routing patterns validated in playground",[591,666,667],{},"Routing integration is not there out-of-the-box, also its not working server side.",[591,669,670],{},"Better out-of-the-box for Nuxt",[570,672,673,676,679,682],{},[591,674,675],{},"Parity validation",[591,677,678],{},"Dedicated fixture\u002Fe2e parity coverage in this repo",[591,680,681],{},"Upstream library behavior baseline",[591,683,684],{},"Swiftsearch is explicitly tested against Vue IS",[271,686,688],{"id":687},"remaining-differences","Remaining differences",[564,690,691,703],{},[567,692,693],{},[570,694,695,698,701],{},[573,696,697],{},"Area",[573,699,700],{},"Current Swiftsearch status",[573,702,581],{},[586,704,705,723],{},[570,706,707,713,718],{},[591,708,709,712],{},[279,710,711],{},"AisInstantSearchSsr"," component",[591,714,715,716],{},"Not exposed separately; SSR is built into ",[279,717,341],{},[591,719,720,721,712],{},"Separate ",[279,722,711],{},[570,724,725,732,737],{},[591,726,727,728,731],{},"Some advanced dynamic declarative structures (",[279,729,730],{},"v-for"," widgets)",[591,733,734,735,627],{},"Not transformed automatically; use manual ",[279,736,302],{},[591,738,739],{},"Supported by runtime component registration",[267,741,742,743,746,747,750],{},"For a full widget-by-widget matrix against ",[279,744,745],{},"vue-instantsearch@4.24.3",", see ",[748,749,33],"a",{"href":34},".",[271,752,754],{"id":753},"intentional-differences","Intentional differences",[429,756,757,760,767],{},[432,758,759],{},"SSR model is parent-owned by design.",[432,761,762,764,765,750],{},[279,763,711],{}," behavior is merged into ",[279,766,341],{},[432,768,769],{},"Some advanced dynamic widget patterns are intentionally routed through manual mode for predictability.",[771,772,773,774,776],"tip",{},"Migration strategy that works well: start with declarative mode for standard pages, then keep or reintroduce manual ",[279,775,302],{}," only where you need custom runtime composition.",[778,779,780],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":314,"searchDepth":335,"depth":335,"links":782},[783,784,785,786,788,789,790,791],{"id":273,"depth":335,"text":274},{"id":295,"depth":335,"text":296},{"id":423,"depth":335,"text":424},{"id":450,"depth":335,"text":787},"4) Use indexId for multi-index boundaries",{"id":539,"depth":335,"text":540},{"id":558,"depth":335,"text":559},{"id":687,"depth":335,"text":688},{"id":753,"depth":335,"text":754},"Move to Nuxt Swiftsearch while keeping a familiar declarative DX.","md",null,{},{"icon":31},{"title":28,"description":792},"Pg-wqeiPt349-VCY25fqsBECDFFPSAkIlSu-l-GNt2E",[800,802],{"title":23,"path":24,"stem":25,"description":801,"icon":26,"children":-1},"How Nuxt Swiftsearch compiles template widgets into connector arrays.",{"title":33,"path":34,"stem":35,"description":803,"icon":36,"children":-1},"Coverage matrix against vue-instantsearch and logic audit after upgrading to latest.",1775319447344]