[{"data":1,"prerenderedAt":520},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-declarative-transform":261,"-getting-started-declarative-transform-surround":515},[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":23,"body":263,"description":508,"extension":509,"links":510,"meta":511,"navigation":512,"path":24,"seo":513,"stem":25,"__hash__":514},"docs\u002F1.getting-started\u002F4.declarative-transform.md",{"type":264,"value":265,"toc":498},"minimark",[266,275,280,313,317,344,348,355,370,374,390,405,409,465,469,492],[267,268,269,270,274],"p",{},"Nuxt Swiftsearch ships a Vite transform that converts declarative widget templates into the manual ",[271,272,273],"code",{},"useAis*"," widget array expected by the SSR runtime.",[276,277,279],"h2",{"id":278},"what-the-transform-does","What the transform does",[281,282,283,294,300,307],"ul",{},[284,285,286,287,289,290,293],"li",{},"Finds each ",[271,288,53],{}," root without an existing ",[271,291,292],{},"widgets"," binding.",[284,295,296,297,299],{},"Collects supported child widgets and ",[271,298,89],{}," branches.",[284,301,302,303,306],{},"Injects a generated ",[271,304,305],{},":widgets=\"...\""," computed binding.",[284,308,309,310,312],{},"Imports only the ",[271,311,273],{}," composables needed by that file.",[276,314,316],{"id":315},"supported-control-flow","Supported control flow",[281,318,319,332,338],{},[284,320,321,324,325,324,328,331],{},[271,322,323],{},"v-if",", ",[271,326,327],{},"v-else-if",[271,329,330],{},"v-else"," branches are compiled to conditional array spreads.",[284,333,334,337],{},[271,335,336],{},"\u003Ctemplate v-if>"," wrappers are supported.",[284,339,340,343],{},[271,341,342],{},"v-for"," on widget nodes is intentionally skipped (fallback to manual widgets for loops).",[276,345,347],{"id":346},"refcomputed-expression-handling","Ref\u002Fcomputed expression handling",[267,349,350,351,354],{},"Directive expressions used in props and conditions are normalized with automatic ",[271,352,353],{},"unref(...)"," support where needed.",[267,356,357,358,361,362,365,366,369],{},"This means ref-based props like ",[271,359,360],{},":search-parameters=\"{ filters }\""," and branch conditions like ",[271,363,364],{},"v-if=\"showStats\""," work without manual ",[271,367,368],{},".value"," access.",[276,371,373],{"id":372},"automatic-widget-ids","Automatic widget IDs",[267,375,376,377,324,380,324,383,324,386,389],{},"For widgets that support repeated instances (",[271,378,379],{},"AisRefinementList",[271,381,382],{},"AisClearRefinements",[271,384,385],{},"AisCurrentRefinements",[271,387,388],{},"AisAutocomplete","), the transform:",[281,391,392,399],{},[284,393,394,395,398],{},"uses your explicit ",[271,396,397],{},"id"," when present, or",[284,400,401,402,404],{},"auto-injects a deterministic generated ",[271,403,397],{}," in template markup.",[276,406,408],{"id":407},"supported-declarative-widgets","Supported declarative widgets",[267,410,411,324,413,324,415,324,418,324,420,324,423,324,426,324,429,324,432,324,435,324,438,324,441,324,444,324,447,324,449,324,452,324,455,324,458,324,461,464],{},[271,412,388],{},[271,414,382],{},[271,416,417],{},"AisConfigure",[271,419,385],{},[271,421,422],{},"AisHierarchicalMenu",[271,424,425],{},"AisHits",[271,427,428],{},"AisInfiniteHits",[271,430,431],{},"AisMenu",[271,433,434],{},"AisNumericMenu",[271,436,437],{},"AisPagination",[271,439,440],{},"AisQueryRuleCustomData",[271,442,443],{},"AisRangeInput",[271,445,446],{},"AisRatingMenu",[271,448,379],{},[271,450,451],{},"AisSearchBox",[271,453,454],{},"AisSortBy",[271,456,457],{},"AisStats",[271,459,460],{},"AisToggleRefinement",[271,462,463],{},"AisIndex",".",[276,466,468],{"id":467},"when-transform-is-skipped","When transform is skipped",[281,470,471,479,485],{},[284,472,473,475,476,464],{},[271,474,53],{}," already has ",[271,477,478],{},":widgets",[284,480,481,482,484],{},"Unsupported dynamic structure (for example widget ",[271,483,342],{},").",[284,486,487,488,491],{},"Files importing from ",[271,489,490],{},"vue-instantsearch"," directly.",[267,493,494,495,497],{},"In all skip cases, you can keep using manual ",[271,496,478],{}," composition.",{"title":499,"searchDepth":500,"depth":500,"links":501},"",2,[502,503,504,505,506,507],{"id":278,"depth":500,"text":279},{"id":315,"depth":500,"text":316},{"id":346,"depth":500,"text":347},{"id":372,"depth":500,"text":373},{"id":407,"depth":500,"text":408},{"id":467,"depth":500,"text":468},"How Nuxt Swiftsearch compiles template widgets into connector arrays.","md",null,{},{"icon":26},{"title":23,"description":508},"zyUToDDt1WLrifGbrGBNrsTKaMBTtdkZmOYJMckz03s",[516,518],{"title":18,"path":19,"stem":20,"description":517,"icon":21,"children":-1},"Build search UIs with declarative widgets or manual widget arrays.",{"title":28,"path":29,"stem":30,"description":519,"icon":31,"children":-1},"Move to Nuxt Swiftsearch while keeping a familiar declarative DX.",1775319447344]