[{"data":1,"prerenderedAt":3322},["ShallowReactive",2],{"navigation_docs":3,"-recipes-command-palette":188,"-recipes-command-palette-surround":3317},[4,9,27,52,101,130,163],{"title":5,"path":6,"stem":7,"icon":8},"Playground","\u002Fplayground","1.playground","i-lucide-flask-conical",{"title":10,"path":11,"stem":12,"children":13,"page":26},"Getting Started","\u002Fgetting-started","2.getting-started",[14,18,22],{"title":15,"path":16,"stem":17},"Introduction","\u002Fgetting-started\u002Fintroduction","2.getting-started\u002F1.introduction",{"title":19,"path":20,"stem":21},"Installation","\u002Fgetting-started\u002Finstallation","2.getting-started\u002F2.installation",{"title":23,"path":24,"stem":25},"First modal","\u002Fgetting-started\u002Ffirst-modal","2.getting-started\u002F3.first-modal",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Concepts","\u002Fconcepts","3.concepts",[32,36,40,44,48],{"title":33,"path":34,"stem":35},"Architecture","\u002Fconcepts\u002Farchitecture","3.concepts\u002F1.architecture",{"title":37,"path":38,"stem":39},"Imperative flow","\u002Fconcepts\u002Fimperative-flow","3.concepts\u002F2.imperative-flow",{"title":41,"path":42,"stem":43},"Stacking","\u002Fconcepts\u002Fstacking","3.concepts\u002F3.stacking",{"title":45,"path":46,"stem":47},"Groups","\u002Fconcepts\u002Fgroups","3.concepts\u002F4.groups",{"title":49,"path":50,"stem":51},"Headless primitives","\u002Fconcepts\u002Fheadless-primitives","3.concepts\u002F5.headless-primitives",{"title":53,"path":54,"stem":55,"children":56,"page":26},"Guide","\u002Fguide","4.guide",[57,61,65,69,73,77,81,85,89,93,97],{"title":58,"path":59,"stem":60},"Writing a modal","\u002Fguide\u002Fwriting-a-modal","4.guide\u002F01.writing-a-modal",{"title":62,"path":63,"stem":64},"Opening & closing","\u002Fguide\u002Fopening-and-closing","4.guide\u002F02.opening-and-closing",{"title":66,"path":67,"stem":68},"Props & results","\u002Fguide\u002Fpassing-props-and-results","4.guide\u002F03.passing-props-and-results",{"title":70,"path":71,"stem":72},"Behavior options","\u002Fguide\u002Fbehavior-options","4.guide\u002F04.behavior-options",{"title":74,"path":75,"stem":76},"Animations & styling","\u002Fguide\u002Fstyling-and-animations","4.guide\u002F05.styling-and-animations",{"title":78,"path":79,"stem":80},"useModal composable","\u002Fguide\u002Fusemodal-composable","4.guide\u002F06.usemodal-composable",{"title":82,"path":83,"stem":84},"Modal context","\u002Fguide\u002Fmodal-context","4.guide\u002F07.modal-context",{"title":86,"path":87,"stem":88},"Multiple targets","\u002Fguide\u002Fmultiple-targets","4.guide\u002F08.multiple-targets",{"title":90,"path":91,"stem":92},"Overlay","\u002Fguide\u002Foverlay","4.guide\u002F09.overlay",{"title":94,"path":95,"stem":96},"Async components","\u002Fguide\u002Fasync-components","4.guide\u002F10.async-components",{"title":98,"path":99,"stem":100},"TypeScript","\u002Fguide\u002Ftypescript","4.guide\u002F11.typescript",{"title":102,"path":103,"stem":104,"children":105,"page":26},"Recipes","\u002Frecipes","5.recipes",[106,110,114,118,122,126],{"title":107,"path":108,"stem":109},"Confirm dialog","\u002Frecipes\u002Fconfirm-dialog","5.recipes\u002F1.confirm-dialog",{"title":111,"path":112,"stem":113},"Form modal with validation","\u002Frecipes\u002Fform-modal-with-validation","5.recipes\u002F2.form-modal-with-validation",{"title":115,"path":116,"stem":117},"Image lightbox","\u002Frecipes\u002Fimage-lightbox","5.recipes\u002F3.image-lightbox",{"title":119,"path":120,"stem":121},"Command palette","\u002Frecipes\u002Fcommand-palette","5.recipes\u002F4.command-palette",{"title":123,"path":124,"stem":125},"Nested flows \u002F wizards","\u002Frecipes\u002Fnested-flows","5.recipes\u002F5.nested-flows",{"title":127,"path":128,"stem":129},"Global error modal","\u002Frecipes\u002Fglobal-error-modal","5.recipes\u002F6.global-error-modal",{"title":131,"path":132,"stem":133,"children":134,"page":26},"Api","\u002Fapi","6.api",[135,139,143,147,151,155,159],{"title":136,"path":137,"stem":138},"Functions","\u002Fapi\u002Ffunctions","6.api\u002F1.functions",{"title":140,"path":141,"stem":142},"Components","\u002Fapi\u002Fcomponents","6.api\u002F2.components",{"title":144,"path":145,"stem":146},"Composables","\u002Fapi\u002Fcomposables","6.api\u002F3.composables",{"title":148,"path":149,"stem":150},"Plugin","\u002Fapi\u002Fplugin","6.api\u002F4.plugin",{"title":152,"path":153,"stem":154},"State helpers","\u002Fapi\u002Fstate","6.api\u002F5.state",{"title":156,"path":157,"stem":158},"Global events","\u002Fapi\u002Fevents","6.api\u002F6.events",{"title":160,"path":161,"stem":162},"Types","\u002Fapi\u002Ftypes","6.api\u002F7.types",{"title":164,"path":165,"stem":166,"children":167,"page":26},"Resources","\u002Fresources","7.resources",[168,172,176,180,184],{"title":169,"path":170,"stem":171},"Migration from v1","\u002Fresources\u002Fmigration-from-v1","7.resources\u002F1.migration-from-v1",{"title":173,"path":174,"stem":175},"FAQ","\u002Fresources\u002Ffaq","7.resources\u002F2.faq",{"title":177,"path":178,"stem":179},"Troubleshooting","\u002Fresources\u002Ftroubleshooting","7.resources\u002F3.troubleshooting",{"title":181,"path":182,"stem":183},"Comparison","\u002Fresources\u002Fcomparison","7.resources\u002F4.comparison",{"title":185,"path":186,"stem":187},"Changelog","\u002Fresources\u002Fchangelog","7.resources\u002F5.changelog",{"id":189,"title":119,"body":190,"description":3311,"extension":3312,"links":3313,"meta":3314,"navigation":311,"path":120,"seo":3315,"stem":121,"__hash__":3316},"docs\u002F5.recipes\u002F4.command-palette.md",{"type":191,"value":192,"toc":3304},"minimark",[193,197,201,235,240,499,666,670,3128,3132,3147,3178,3182,3262,3265,3278,3282,3300],[194,195,119],"h1",{"id":196},"command-palette",[198,199,200],"p",{},"A keyboard-triggered command palette (Cmd+K \u002F Ctrl+K) built as a modal. It uses:",[202,203,204,217,223,229],"ul",{},[205,206,207,208,212,213,216],"li",{},"A dedicated ",[209,210,211],"code",{},"'palette'"," group with its own ",[209,214,215],{},"\u003CModalTarget>",".",[205,218,219,222],{},[209,220,221],{},"useModal"," so that re-opening resets search state cleanly.",[205,224,225,228],{},[209,226,227],{},"defineOptions({ modalGroup: 'palette' })"," to bind the component to the group.",[205,230,231,234],{},[209,232,233],{},"disableCloseOnInteractOverlay: true"," — keep the palette open if the user accidentally clicks outside the input area (the backdrop is the whole screen).",[236,237,239],"h2",{"id":238},"group-registration","Group registration",[241,242,248],"pre",{"className":243,"code":244,"filename":245,"language":246,"meta":247,"style":247},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { createModal } from '@kolirt\u002Fvue-modal'\nimport type { DefineGroups } from '@kolirt\u002Fvue-modal'\n\ndeclare module '@kolirt\u002Fvue-modal' {\n  interface ModalGroupRegistry extends DefineGroups\u003C['palette']> {}\n}\n\napp.use(\n  createModal({\n    groups: {\n      palette: {\n        \u002F\u002F Clicking outside the inner card doesn't close the palette —\n        \u002F\u002F the \"outside\" is the semi-transparent overlay the user\n        \u002F\u002F intentionally clicks on to dismiss.\n        \u002F\u002F Leave at defaults: closeOnInteractOverlay = true (default),\n        \u002F\u002F which means the overlay *does* close it.\n        \u002F\u002F Set disableCloseOnInteractOverlay: true if you want\n        \u002F\u002F only Esc to close the palette.\n      }\n    }\n  })\n)\n","main.ts","ts","",[209,249,250,283,306,313,333,371,377,382,397,409,420,430,437,443,449,455,461,467,473,479,485,494],{"__ignoreMap":247},[251,252,255,259,263,267,270,273,276,280],"span",{"class":253,"line":254},"line",1,[251,256,258],{"class":257},"s7zQu","import",[251,260,262],{"class":261},"sMK4o"," {",[251,264,266],{"class":265},"sTEyZ"," createModal",[251,268,269],{"class":261}," }",[251,271,272],{"class":257}," from",[251,274,275],{"class":261}," '",[251,277,279],{"class":278},"sfazB","@kolirt\u002Fvue-modal",[251,281,282],{"class":261},"'\n",[251,284,286,288,291,293,296,298,300,302,304],{"class":253,"line":285},2,[251,287,258],{"class":257},[251,289,290],{"class":257}," type",[251,292,262],{"class":261},[251,294,295],{"class":265}," DefineGroups",[251,297,269],{"class":261},[251,299,272],{"class":257},[251,301,275],{"class":261},[251,303,279],{"class":278},[251,305,282],{"class":261},[251,307,309],{"class":253,"line":308},3,[251,310,312],{"emptyLinePlaceholder":311},true,"\n",[251,314,316,320,323,325,327,330],{"class":253,"line":315},4,[251,317,319],{"class":318},"spNyl","declare",[251,321,322],{"class":318}," module",[251,324,275],{"class":261},[251,326,279],{"class":278},[251,328,329],{"class":261},"'",[251,331,332],{"class":261}," {\n",[251,334,336,339,343,346,348,351,355,357,360,362,365,368],{"class":253,"line":335},5,[251,337,338],{"class":318},"  interface",[251,340,342],{"class":341},"sBMFI"," ModalGroupRegistry",[251,344,345],{"class":318}," extends",[251,347,295],{"class":341},[251,349,350],{"class":261},"\u003C",[251,352,354],{"class":353},"swJcz","[",[251,356,329],{"class":261},[251,358,359],{"class":278},"palette",[251,361,329],{"class":261},[251,363,364],{"class":353},"]",[251,366,367],{"class":261},">",[251,369,370],{"class":261}," {}\n",[251,372,374],{"class":253,"line":373},6,[251,375,376],{"class":261},"}\n",[251,378,380],{"class":253,"line":379},7,[251,381,312],{"emptyLinePlaceholder":311},[251,383,385,388,390,394],{"class":253,"line":384},8,[251,386,387],{"class":265},"app",[251,389,216],{"class":261},[251,391,393],{"class":392},"s2Zo4","use",[251,395,396],{"class":265},"(\n",[251,398,400,403,406],{"class":253,"line":399},9,[251,401,402],{"class":392},"  createModal",[251,404,405],{"class":265},"(",[251,407,408],{"class":261},"{\n",[251,410,412,415,418],{"class":253,"line":411},10,[251,413,414],{"class":353},"    groups",[251,416,417],{"class":261},":",[251,419,332],{"class":261},[251,421,423,426,428],{"class":253,"line":422},11,[251,424,425],{"class":353},"      palette",[251,427,417],{"class":261},[251,429,332],{"class":261},[251,431,433],{"class":253,"line":432},12,[251,434,436],{"class":435},"sHwdD","        \u002F\u002F Clicking outside the inner card doesn't close the palette —\n",[251,438,440],{"class":253,"line":439},13,[251,441,442],{"class":435},"        \u002F\u002F the \"outside\" is the semi-transparent overlay the user\n",[251,444,446],{"class":253,"line":445},14,[251,447,448],{"class":435},"        \u002F\u002F intentionally clicks on to dismiss.\n",[251,450,452],{"class":253,"line":451},15,[251,453,454],{"class":435},"        \u002F\u002F Leave at defaults: closeOnInteractOverlay = true (default),\n",[251,456,458],{"class":253,"line":457},16,[251,459,460],{"class":435},"        \u002F\u002F which means the overlay *does* close it.\n",[251,462,464],{"class":253,"line":463},17,[251,465,466],{"class":435},"        \u002F\u002F Set disableCloseOnInteractOverlay: true if you want\n",[251,468,470],{"class":253,"line":469},18,[251,471,472],{"class":435},"        \u002F\u002F only Esc to close the palette.\n",[251,474,476],{"class":253,"line":475},19,[251,477,478],{"class":261},"      }\n",[251,480,482],{"class":253,"line":481},20,[251,483,484],{"class":261},"    }\n",[251,486,488,491],{"class":253,"line":487},21,[251,489,490],{"class":261},"  }",[251,492,493],{"class":265},")\n",[251,495,497],{"class":253,"line":496},22,[251,498,493],{"class":265},[241,500,505],{"className":501,"code":502,"filename":503,"language":504,"meta":247,"style":247},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { ModalOverlay, ModalTarget } from '@kolirt\u002Fvue-modal'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CRouterView \u002F>\n  \u003C!-- Palette sits above everything else via CSS z-index on the target -->\n  \u003CModalTarget group=\"palette\" class=\"z-[100]\">\n    \u003CModalOverlay class=\"bg-black\u002F50 backdrop-blur-sm\" \u002F>\n  \u003C\u002FModalTarget>\n\u003C\u002Ftemplate>\n","App.vue","vue",[209,506,507,533,558,567,571,580,591,596,628,649,658],{"__ignoreMap":247},[251,508,509,511,514,517,520,523,526,528,530],{"class":253,"line":254},[251,510,350],{"class":261},[251,512,513],{"class":353},"script",[251,515,516],{"class":318}," setup",[251,518,519],{"class":318}," lang",[251,521,522],{"class":261},"=",[251,524,525],{"class":261},"\"",[251,527,246],{"class":278},[251,529,525],{"class":261},[251,531,532],{"class":261},">\n",[251,534,535,537,539,542,545,548,550,552,554,556],{"class":253,"line":285},[251,536,258],{"class":257},[251,538,262],{"class":261},[251,540,541],{"class":265}," ModalOverlay",[251,543,544],{"class":261},",",[251,546,547],{"class":265}," ModalTarget",[251,549,269],{"class":261},[251,551,272],{"class":257},[251,553,275],{"class":261},[251,555,279],{"class":278},[251,557,282],{"class":261},[251,559,560,563,565],{"class":253,"line":308},[251,561,562],{"class":261},"\u003C\u002F",[251,564,513],{"class":353},[251,566,532],{"class":261},[251,568,569],{"class":253,"line":315},[251,570,312],{"emptyLinePlaceholder":311},[251,572,573,575,578],{"class":253,"line":335},[251,574,350],{"class":261},[251,576,577],{"class":353},"template",[251,579,532],{"class":261},[251,581,582,585,588],{"class":253,"line":373},[251,583,584],{"class":261},"  \u003C",[251,586,587],{"class":353},"RouterView",[251,589,590],{"class":261}," \u002F>\n",[251,592,593],{"class":253,"line":379},[251,594,595],{"class":435},"  \u003C!-- Palette sits above everything else via CSS z-index on the target -->\n",[251,597,598,600,603,606,608,610,612,614,617,619,621,624,626],{"class":253,"line":384},[251,599,584],{"class":261},[251,601,602],{"class":353},"ModalTarget",[251,604,605],{"class":318}," group",[251,607,522],{"class":261},[251,609,525],{"class":261},[251,611,359],{"class":278},[251,613,525],{"class":261},[251,615,616],{"class":318}," class",[251,618,522],{"class":261},[251,620,525],{"class":261},[251,622,623],{"class":278},"z-[100]",[251,625,525],{"class":261},[251,627,532],{"class":261},[251,629,630,633,636,638,640,642,645,647],{"class":253,"line":399},[251,631,632],{"class":261},"    \u003C",[251,634,635],{"class":353},"ModalOverlay",[251,637,616],{"class":318},[251,639,522],{"class":261},[251,641,525],{"class":261},[251,643,644],{"class":278},"bg-black\u002F50 backdrop-blur-sm",[251,646,525],{"class":261},[251,648,590],{"class":261},[251,650,651,654,656],{"class":253,"line":411},[251,652,653],{"class":261},"  \u003C\u002F",[251,655,602],{"class":353},[251,657,532],{"class":261},[251,659,660,662,664],{"class":253,"line":422},[251,661,562],{"class":261},[251,663,577],{"class":353},[251,665,532],{"class":261},[236,667,669],{"id":668},"the-palette-component","The palette component",[671,672,673,2432],"code-group",{},[241,674,677],{"className":501,"code":675,"filename":676,"language":504,"meta":247,"style":247},"\u003Cscript setup lang=\"ts\">\nimport { ref, computed, onMounted } from 'vue'\nimport {\n  ModalRoot,\n  ModalContent,\n  useModalContext\n} from '@kolirt\u002Fvue-modal'\n\ndefineOptions({ modalGroup: 'palette' })\n\nexport interface Command {\n  id: string\n  label: string\n  description?: string\n  icon?: string\n  action: () => void | Promise\u003Cvoid>\n}\n\nconst props = defineProps\u003C{ commands: Command[] }>()\n\nconst { close } = useModalContext()\n\nconst query = ref('')\nconst inputRef = ref\u003CHTMLInputElement>()\n\n\u002F\u002F Simple fuzzy filter: every word in query must appear in label or description\nconst filtered = computed(() => {\n  const q = query.value.trim().toLowerCase()\n  if (!q) return props.commands\n  const words = q.split(\u002F\\s+\u002F)\n  return props.commands.filter((cmd) => {\n    const haystack = `${cmd.label} ${cmd.description ?? ''}`.toLowerCase()\n    return words.every((w) => haystack.includes(w))\n  })\n})\n\nconst activeIndex = ref(0)\n\nfunction clamp(n: number) {\n  activeIndex.value = Math.max(0, Math.min(n, filtered.value.length - 1))\n}\n\nfunction onKeydown(e: KeyboardEvent) {\n  if (e.key === 'ArrowDown') { e.preventDefault(); clamp(activeIndex.value + 1) }\n  if (e.key === 'ArrowUp') { e.preventDefault(); clamp(activeIndex.value - 1) }\n  if (e.key === 'Enter') run(filtered.value[activeIndex.value])\n}\n\nasync function run(cmd?: Command) {\n  if (!cmd) return\n  close()\n  await cmd.action()\n}\n\nonMounted(() => inputRef.value?.focus())\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CModalRoot class=\"flex items-start justify-center pt-[15vh]\">\n    \u003CModalContent\n      class=\"relative w-full max-w-xl rounded-2xl bg-white shadow-2xl overflow-hidden\"\n      @keydown=\"onKeydown\"\n    >\n        \u003C!-- Search input -->\n        \u003Cdiv class=\"flex items-center gap-3 px-4 py-3 border-b border-gray-100\">\n          \u003Csvg class=\"h-5 w-5 shrink-0 text-gray-400\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n            \u003Cpath fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" \u002F>\n          \u003C\u002Fsvg>\n          \u003Cinput\n            ref=\"inputRef\"\n            v-model=\"query\"\n            type=\"text\"\n            class=\"flex-1 text-sm outline-none placeholder:text-gray-400\"\n            placeholder=\"Search commands…\"\n            @input=\"activeIndex = 0\"\n          \u002F>\n          \u003Ckbd class=\"hidden sm:inline-flex text-xs text-gray-400 bg-gray-100 px-2 py-0.5 rounded\">\n            Esc\n          \u003C\u002Fkbd>\n        \u003C\u002Fdiv>\n\n        \u003C!-- Results -->\n        \u003Cul class=\"max-h-72 overflow-y-auto py-2\" role=\"listbox\">\n          \u003Cli\n            v-for=\"(cmd, i) in filtered\"\n            :key=\"cmd.id\"\n            role=\"option\"\n            :aria-selected=\"i === activeIndex\"\n            class=\"flex items-center gap-3 px-4 py-2.5 cursor-pointer text-sm transition\"\n            :class=\"i === activeIndex ? 'bg-indigo-50 text-indigo-900' : 'text-gray-800 hover:bg-gray-50'\"\n            @click=\"run(cmd)\"\n            @mouseenter=\"activeIndex = i\"\n          >\n            \u003Cspan v-if=\"cmd.icon\" class=\"text-base\">{{ cmd.icon }}\u003C\u002Fspan>\n            \u003Cdiv>\n              \u003Cdiv class=\"font-medium\">{{ cmd.label }}\u003C\u002Fdiv>\n              \u003Cdiv v-if=\"cmd.description\" class=\"text-xs text-gray-500\">{{ cmd.description }}\u003C\u002Fdiv>\n            \u003C\u002Fdiv>\n          \u003C\u002Fli>\n\n          \u003Cli v-if=\"filtered.length === 0\" class=\"px-4 py-6 text-center text-sm text-gray-400\">\n            No results for \"{{ query }}\"\n          \u003C\u002Fli>\n        \u003C\u002Ful>\n    \u003C\u002FModalContent>\n  \u003C\u002FModalRoot>\n\u003C\u002Ftemplate>\n","CommandPalette.vue",[209,678,679,699,728,734,742,749,754,767,771,796,800,813,823,832,842,851,880,884,888,920,924,943,947,966,987,992,998,1019,1052,1081,1111,1144,1189,1227,1234,1241,1246,1266,1271,1294,1353,1358,1363,1385,1446,1500,1547,1552,1557,1581,1597,1605,1621,1626,1631,1659,1668,1673,1682,1703,1711,1727,1742,1748,1754,1776,1822,1868,1878,1886,1901,1916,1931,1946,1961,1976,1982,2003,2009,2018,2028,2033,2039,2071,2079,2094,2109,2124,2139,2153,2168,2183,2198,2204,2245,2254,2284,2324,2334,2343,2348,2379,2385,2394,2403,2414,2423],{"__ignoreMap":247},[251,680,681,683,685,687,689,691,693,695,697],{"class":253,"line":254},[251,682,350],{"class":261},[251,684,513],{"class":353},[251,686,516],{"class":318},[251,688,519],{"class":318},[251,690,522],{"class":261},[251,692,525],{"class":261},[251,694,246],{"class":278},[251,696,525],{"class":261},[251,698,532],{"class":261},[251,700,701,703,705,708,710,713,715,718,720,722,724,726],{"class":253,"line":285},[251,702,258],{"class":257},[251,704,262],{"class":261},[251,706,707],{"class":265}," ref",[251,709,544],{"class":261},[251,711,712],{"class":265}," computed",[251,714,544],{"class":261},[251,716,717],{"class":265}," onMounted",[251,719,269],{"class":261},[251,721,272],{"class":257},[251,723,275],{"class":261},[251,725,504],{"class":278},[251,727,282],{"class":261},[251,729,730,732],{"class":253,"line":308},[251,731,258],{"class":257},[251,733,332],{"class":261},[251,735,736,739],{"class":253,"line":315},[251,737,738],{"class":265},"  ModalRoot",[251,740,741],{"class":261},",\n",[251,743,744,747],{"class":253,"line":335},[251,745,746],{"class":265},"  ModalContent",[251,748,741],{"class":261},[251,750,751],{"class":253,"line":373},[251,752,753],{"class":265},"  useModalContext\n",[251,755,756,759,761,763,765],{"class":253,"line":379},[251,757,758],{"class":261},"}",[251,760,272],{"class":257},[251,762,275],{"class":261},[251,764,279],{"class":278},[251,766,282],{"class":261},[251,768,769],{"class":253,"line":384},[251,770,312],{"emptyLinePlaceholder":311},[251,772,773,776,778,781,784,786,788,790,792,794],{"class":253,"line":399},[251,774,775],{"class":392},"defineOptions",[251,777,405],{"class":265},[251,779,780],{"class":261},"{",[251,782,783],{"class":353}," modalGroup",[251,785,417],{"class":261},[251,787,275],{"class":261},[251,789,359],{"class":278},[251,791,329],{"class":261},[251,793,269],{"class":261},[251,795,493],{"class":265},[251,797,798],{"class":253,"line":411},[251,799,312],{"emptyLinePlaceholder":311},[251,801,802,805,808,811],{"class":253,"line":422},[251,803,804],{"class":257},"export",[251,806,807],{"class":318}," interface",[251,809,810],{"class":341}," Command",[251,812,332],{"class":261},[251,814,815,818,820],{"class":253,"line":432},[251,816,817],{"class":353},"  id",[251,819,417],{"class":261},[251,821,822],{"class":341}," string\n",[251,824,825,828,830],{"class":253,"line":439},[251,826,827],{"class":353},"  label",[251,829,417],{"class":261},[251,831,822],{"class":341},[251,833,834,837,840],{"class":253,"line":445},[251,835,836],{"class":353},"  description",[251,838,839],{"class":261},"?:",[251,841,822],{"class":341},[251,843,844,847,849],{"class":253,"line":451},[251,845,846],{"class":353},"  icon",[251,848,839],{"class":261},[251,850,822],{"class":341},[251,852,853,856,858,861,864,867,870,873,875,878],{"class":253,"line":457},[251,854,855],{"class":353},"  action",[251,857,417],{"class":261},[251,859,860],{"class":261}," ()",[251,862,863],{"class":318}," =>",[251,865,866],{"class":341}," void",[251,868,869],{"class":261}," |",[251,871,872],{"class":341}," Promise",[251,874,350],{"class":261},[251,876,877],{"class":341},"void",[251,879,532],{"class":261},[251,881,882],{"class":253,"line":463},[251,883,376],{"class":261},[251,885,886],{"class":253,"line":469},[251,887,312],{"emptyLinePlaceholder":311},[251,889,890,893,896,898,901,904,907,909,911,914,917],{"class":253,"line":475},[251,891,892],{"class":318},"const",[251,894,895],{"class":265}," props ",[251,897,522],{"class":261},[251,899,900],{"class":392}," defineProps",[251,902,903],{"class":261},"\u003C{",[251,905,906],{"class":353}," commands",[251,908,417],{"class":261},[251,910,810],{"class":341},[251,912,913],{"class":265},"[] ",[251,915,916],{"class":261},"}>",[251,918,919],{"class":265},"()\n",[251,921,922],{"class":253,"line":481},[251,923,312],{"emptyLinePlaceholder":311},[251,925,926,928,930,933,935,938,941],{"class":253,"line":487},[251,927,892],{"class":318},[251,929,262],{"class":261},[251,931,932],{"class":265}," close ",[251,934,758],{"class":261},[251,936,937],{"class":261}," =",[251,939,940],{"class":392}," useModalContext",[251,942,919],{"class":265},[251,944,945],{"class":253,"line":496},[251,946,312],{"emptyLinePlaceholder":311},[251,948,950,952,955,957,959,961,964],{"class":253,"line":949},23,[251,951,892],{"class":318},[251,953,954],{"class":265}," query ",[251,956,522],{"class":261},[251,958,707],{"class":392},[251,960,405],{"class":265},[251,962,963],{"class":261},"''",[251,965,493],{"class":265},[251,967,969,971,974,976,978,980,983,985],{"class":253,"line":968},24,[251,970,892],{"class":318},[251,972,973],{"class":265}," inputRef ",[251,975,522],{"class":261},[251,977,707],{"class":392},[251,979,350],{"class":261},[251,981,982],{"class":341},"HTMLInputElement",[251,984,367],{"class":261},[251,986,919],{"class":265},[251,988,990],{"class":253,"line":989},25,[251,991,312],{"emptyLinePlaceholder":311},[251,993,995],{"class":253,"line":994},26,[251,996,997],{"class":435},"\u002F\u002F Simple fuzzy filter: every word in query must appear in label or description\n",[251,999,1001,1003,1006,1008,1010,1012,1015,1017],{"class":253,"line":1000},27,[251,1002,892],{"class":318},[251,1004,1005],{"class":265}," filtered ",[251,1007,522],{"class":261},[251,1009,712],{"class":392},[251,1011,405],{"class":265},[251,1013,1014],{"class":261},"()",[251,1016,863],{"class":318},[251,1018,332],{"class":261},[251,1020,1022,1025,1028,1030,1033,1035,1038,1040,1043,1045,1047,1050],{"class":253,"line":1021},28,[251,1023,1024],{"class":318},"  const",[251,1026,1027],{"class":265}," q",[251,1029,937],{"class":261},[251,1031,1032],{"class":265}," query",[251,1034,216],{"class":261},[251,1036,1037],{"class":265},"value",[251,1039,216],{"class":261},[251,1041,1042],{"class":392},"trim",[251,1044,1014],{"class":353},[251,1046,216],{"class":261},[251,1048,1049],{"class":392},"toLowerCase",[251,1051,919],{"class":353},[251,1053,1055,1058,1061,1064,1067,1070,1073,1076,1078],{"class":253,"line":1054},29,[251,1056,1057],{"class":257},"  if",[251,1059,1060],{"class":353}," (",[251,1062,1063],{"class":261},"!",[251,1065,1066],{"class":265},"q",[251,1068,1069],{"class":353},") ",[251,1071,1072],{"class":257},"return",[251,1074,1075],{"class":265}," props",[251,1077,216],{"class":261},[251,1079,1080],{"class":265},"commands\n",[251,1082,1084,1086,1089,1091,1093,1095,1098,1100,1103,1106,1109],{"class":253,"line":1083},30,[251,1085,1024],{"class":318},[251,1087,1088],{"class":265}," words",[251,1090,937],{"class":261},[251,1092,1027],{"class":265},[251,1094,216],{"class":261},[251,1096,1097],{"class":392},"split",[251,1099,405],{"class":353},[251,1101,1102],{"class":261},"\u002F",[251,1104,1105],{"class":278},"\\s",[251,1107,1108],{"class":261},"+\u002F",[251,1110,493],{"class":353},[251,1112,1114,1117,1119,1121,1124,1126,1129,1131,1133,1137,1140,1142],{"class":253,"line":1113},31,[251,1115,1116],{"class":257},"  return",[251,1118,1075],{"class":265},[251,1120,216],{"class":261},[251,1122,1123],{"class":265},"commands",[251,1125,216],{"class":261},[251,1127,1128],{"class":392},"filter",[251,1130,405],{"class":353},[251,1132,405],{"class":261},[251,1134,1136],{"class":1135},"sHdIc","cmd",[251,1138,1139],{"class":261},")",[251,1141,863],{"class":318},[251,1143,332],{"class":261},[251,1145,1147,1150,1153,1155,1158,1160,1162,1165,1167,1170,1172,1174,1177,1180,1183,1185,1187],{"class":253,"line":1146},32,[251,1148,1149],{"class":318},"    const",[251,1151,1152],{"class":265}," haystack",[251,1154,937],{"class":261},[251,1156,1157],{"class":261}," `${",[251,1159,1136],{"class":265},[251,1161,216],{"class":261},[251,1163,1164],{"class":265},"label",[251,1166,758],{"class":261},[251,1168,1169],{"class":261}," ${",[251,1171,1136],{"class":265},[251,1173,216],{"class":261},[251,1175,1176],{"class":265},"description ",[251,1178,1179],{"class":261},"??",[251,1181,1182],{"class":261}," ''}`",[251,1184,216],{"class":261},[251,1186,1049],{"class":392},[251,1188,919],{"class":353},[251,1190,1192,1195,1197,1199,1202,1204,1206,1209,1211,1213,1215,1217,1220,1222,1224],{"class":253,"line":1191},33,[251,1193,1194],{"class":257},"    return",[251,1196,1088],{"class":265},[251,1198,216],{"class":261},[251,1200,1201],{"class":392},"every",[251,1203,405],{"class":353},[251,1205,405],{"class":261},[251,1207,1208],{"class":1135},"w",[251,1210,1139],{"class":261},[251,1212,863],{"class":318},[251,1214,1152],{"class":265},[251,1216,216],{"class":261},[251,1218,1219],{"class":392},"includes",[251,1221,405],{"class":353},[251,1223,1208],{"class":265},[251,1225,1226],{"class":353},"))\n",[251,1228,1230,1232],{"class":253,"line":1229},34,[251,1231,490],{"class":261},[251,1233,493],{"class":353},[251,1235,1237,1239],{"class":253,"line":1236},35,[251,1238,758],{"class":261},[251,1240,493],{"class":265},[251,1242,1244],{"class":253,"line":1243},36,[251,1245,312],{"emptyLinePlaceholder":311},[251,1247,1249,1251,1254,1256,1258,1260,1264],{"class":253,"line":1248},37,[251,1250,892],{"class":318},[251,1252,1253],{"class":265}," activeIndex ",[251,1255,522],{"class":261},[251,1257,707],{"class":392},[251,1259,405],{"class":265},[251,1261,1263],{"class":1262},"sbssI","0",[251,1265,493],{"class":265},[251,1267,1269],{"class":253,"line":1268},38,[251,1270,312],{"emptyLinePlaceholder":311},[251,1272,1274,1277,1280,1282,1285,1287,1290,1292],{"class":253,"line":1273},39,[251,1275,1276],{"class":318},"function",[251,1278,1279],{"class":392}," clamp",[251,1281,405],{"class":261},[251,1283,1284],{"class":1135},"n",[251,1286,417],{"class":261},[251,1288,1289],{"class":341}," number",[251,1291,1139],{"class":261},[251,1293,332],{"class":261},[251,1295,1297,1300,1302,1304,1306,1309,1311,1314,1316,1318,1320,1322,1324,1327,1329,1331,1333,1336,1338,1340,1342,1345,1348,1351],{"class":253,"line":1296},40,[251,1298,1299],{"class":265},"  activeIndex",[251,1301,216],{"class":261},[251,1303,1037],{"class":265},[251,1305,937],{"class":261},[251,1307,1308],{"class":265}," Math",[251,1310,216],{"class":261},[251,1312,1313],{"class":392},"max",[251,1315,405],{"class":353},[251,1317,1263],{"class":1262},[251,1319,544],{"class":261},[251,1321,1308],{"class":265},[251,1323,216],{"class":261},[251,1325,1326],{"class":392},"min",[251,1328,405],{"class":353},[251,1330,1284],{"class":265},[251,1332,544],{"class":261},[251,1334,1335],{"class":265}," filtered",[251,1337,216],{"class":261},[251,1339,1037],{"class":265},[251,1341,216],{"class":261},[251,1343,1344],{"class":265},"length",[251,1346,1347],{"class":261}," -",[251,1349,1350],{"class":1262}," 1",[251,1352,1226],{"class":353},[251,1354,1356],{"class":253,"line":1355},41,[251,1357,376],{"class":261},[251,1359,1361],{"class":253,"line":1360},42,[251,1362,312],{"emptyLinePlaceholder":311},[251,1364,1366,1368,1371,1373,1376,1378,1381,1383],{"class":253,"line":1365},43,[251,1367,1276],{"class":318},[251,1369,1370],{"class":392}," onKeydown",[251,1372,405],{"class":261},[251,1374,1375],{"class":1135},"e",[251,1377,417],{"class":261},[251,1379,1380],{"class":341}," KeyboardEvent",[251,1382,1139],{"class":261},[251,1384,332],{"class":261},[251,1386,1388,1390,1392,1394,1396,1399,1402,1404,1407,1409,1411,1413,1416,1418,1421,1423,1426,1428,1430,1433,1435,1437,1440,1442,1444],{"class":253,"line":1387},44,[251,1389,1057],{"class":257},[251,1391,1060],{"class":353},[251,1393,1375],{"class":265},[251,1395,216],{"class":261},[251,1397,1398],{"class":265},"key",[251,1400,1401],{"class":261}," ===",[251,1403,275],{"class":261},[251,1405,1406],{"class":278},"ArrowDown",[251,1408,329],{"class":261},[251,1410,1069],{"class":353},[251,1412,780],{"class":261},[251,1414,1415],{"class":265}," e",[251,1417,216],{"class":261},[251,1419,1420],{"class":392},"preventDefault",[251,1422,1014],{"class":353},[251,1424,1425],{"class":261},";",[251,1427,1279],{"class":392},[251,1429,405],{"class":353},[251,1431,1432],{"class":265},"activeIndex",[251,1434,216],{"class":261},[251,1436,1037],{"class":265},[251,1438,1439],{"class":261}," +",[251,1441,1350],{"class":1262},[251,1443,1069],{"class":353},[251,1445,376],{"class":261},[251,1447,1449,1451,1453,1455,1457,1459,1461,1463,1466,1468,1470,1472,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498],{"class":253,"line":1448},45,[251,1450,1057],{"class":257},[251,1452,1060],{"class":353},[251,1454,1375],{"class":265},[251,1456,216],{"class":261},[251,1458,1398],{"class":265},[251,1460,1401],{"class":261},[251,1462,275],{"class":261},[251,1464,1465],{"class":278},"ArrowUp",[251,1467,329],{"class":261},[251,1469,1069],{"class":353},[251,1471,780],{"class":261},[251,1473,1415],{"class":265},[251,1475,216],{"class":261},[251,1477,1420],{"class":392},[251,1479,1014],{"class":353},[251,1481,1425],{"class":261},[251,1483,1279],{"class":392},[251,1485,405],{"class":353},[251,1487,1432],{"class":265},[251,1489,216],{"class":261},[251,1491,1037],{"class":265},[251,1493,1347],{"class":261},[251,1495,1350],{"class":1262},[251,1497,1069],{"class":353},[251,1499,376],{"class":261},[251,1501,1503,1505,1507,1509,1511,1513,1515,1517,1520,1522,1524,1527,1529,1532,1534,1536,1538,1540,1542,1544],{"class":253,"line":1502},46,[251,1504,1057],{"class":257},[251,1506,1060],{"class":353},[251,1508,1375],{"class":265},[251,1510,216],{"class":261},[251,1512,1398],{"class":265},[251,1514,1401],{"class":261},[251,1516,275],{"class":261},[251,1518,1519],{"class":278},"Enter",[251,1521,329],{"class":261},[251,1523,1069],{"class":353},[251,1525,1526],{"class":392},"run",[251,1528,405],{"class":353},[251,1530,1531],{"class":265},"filtered",[251,1533,216],{"class":261},[251,1535,1037],{"class":265},[251,1537,354],{"class":353},[251,1539,1432],{"class":265},[251,1541,216],{"class":261},[251,1543,1037],{"class":265},[251,1545,1546],{"class":353},"])\n",[251,1548,1550],{"class":253,"line":1549},47,[251,1551,376],{"class":261},[251,1553,1555],{"class":253,"line":1554},48,[251,1556,312],{"emptyLinePlaceholder":311},[251,1558,1560,1563,1566,1569,1571,1573,1575,1577,1579],{"class":253,"line":1559},49,[251,1561,1562],{"class":318},"async",[251,1564,1565],{"class":318}," function",[251,1567,1568],{"class":392}," run",[251,1570,405],{"class":261},[251,1572,1136],{"class":1135},[251,1574,839],{"class":261},[251,1576,810],{"class":341},[251,1578,1139],{"class":261},[251,1580,332],{"class":261},[251,1582,1584,1586,1588,1590,1592,1594],{"class":253,"line":1583},50,[251,1585,1057],{"class":257},[251,1587,1060],{"class":353},[251,1589,1063],{"class":261},[251,1591,1136],{"class":265},[251,1593,1069],{"class":353},[251,1595,1596],{"class":257},"return\n",[251,1598,1600,1603],{"class":253,"line":1599},51,[251,1601,1602],{"class":392},"  close",[251,1604,919],{"class":353},[251,1606,1608,1611,1614,1616,1619],{"class":253,"line":1607},52,[251,1609,1610],{"class":257},"  await",[251,1612,1613],{"class":265}," cmd",[251,1615,216],{"class":261},[251,1617,1618],{"class":392},"action",[251,1620,919],{"class":353},[251,1622,1624],{"class":253,"line":1623},53,[251,1625,376],{"class":261},[251,1627,1629],{"class":253,"line":1628},54,[251,1630,312],{"emptyLinePlaceholder":311},[251,1632,1634,1637,1639,1641,1643,1646,1648,1650,1653,1656],{"class":253,"line":1633},55,[251,1635,1636],{"class":392},"onMounted",[251,1638,405],{"class":265},[251,1640,1014],{"class":261},[251,1642,863],{"class":318},[251,1644,1645],{"class":265}," inputRef",[251,1647,216],{"class":261},[251,1649,1037],{"class":265},[251,1651,1652],{"class":261},"?.",[251,1654,1655],{"class":392},"focus",[251,1657,1658],{"class":265},"())\n",[251,1660,1662,1664,1666],{"class":253,"line":1661},56,[251,1663,562],{"class":261},[251,1665,513],{"class":353},[251,1667,532],{"class":261},[251,1669,1671],{"class":253,"line":1670},57,[251,1672,312],{"emptyLinePlaceholder":311},[251,1674,1676,1678,1680],{"class":253,"line":1675},58,[251,1677,350],{"class":261},[251,1679,577],{"class":353},[251,1681,532],{"class":261},[251,1683,1685,1687,1690,1692,1694,1696,1699,1701],{"class":253,"line":1684},59,[251,1686,584],{"class":261},[251,1688,1689],{"class":353},"ModalRoot",[251,1691,616],{"class":318},[251,1693,522],{"class":261},[251,1695,525],{"class":261},[251,1697,1698],{"class":278},"flex items-start justify-center pt-[15vh]",[251,1700,525],{"class":261},[251,1702,532],{"class":261},[251,1704,1706,1708],{"class":253,"line":1705},60,[251,1707,632],{"class":261},[251,1709,1710],{"class":353},"ModalContent\n",[251,1712,1714,1717,1719,1721,1724],{"class":253,"line":1713},61,[251,1715,1716],{"class":318},"      class",[251,1718,522],{"class":261},[251,1720,525],{"class":261},[251,1722,1723],{"class":278},"relative w-full max-w-xl rounded-2xl bg-white shadow-2xl overflow-hidden",[251,1725,1726],{"class":261},"\"\n",[251,1728,1730,1733,1735,1737,1740],{"class":253,"line":1729},62,[251,1731,1732],{"class":318},"      @keydown",[251,1734,522],{"class":261},[251,1736,525],{"class":261},[251,1738,1739],{"class":278},"onKeydown",[251,1741,1726],{"class":261},[251,1743,1745],{"class":253,"line":1744},63,[251,1746,1747],{"class":261},"    >\n",[251,1749,1751],{"class":253,"line":1750},64,[251,1752,1753],{"class":435},"        \u003C!-- Search input -->\n",[251,1755,1757,1760,1763,1765,1767,1769,1772,1774],{"class":253,"line":1756},65,[251,1758,1759],{"class":261},"        \u003C",[251,1761,1762],{"class":353},"div",[251,1764,616],{"class":318},[251,1766,522],{"class":261},[251,1768,525],{"class":261},[251,1770,1771],{"class":278},"flex items-center gap-3 px-4 py-3 border-b border-gray-100",[251,1773,525],{"class":261},[251,1775,532],{"class":261},[251,1777,1779,1782,1785,1787,1789,1791,1794,1796,1799,1801,1803,1806,1808,1811,1813,1815,1818,1820],{"class":253,"line":1778},66,[251,1780,1781],{"class":261},"          \u003C",[251,1783,1784],{"class":353},"svg",[251,1786,616],{"class":318},[251,1788,522],{"class":261},[251,1790,525],{"class":261},[251,1792,1793],{"class":278},"h-5 w-5 shrink-0 text-gray-400",[251,1795,525],{"class":261},[251,1797,1798],{"class":318}," viewBox",[251,1800,522],{"class":261},[251,1802,525],{"class":261},[251,1804,1805],{"class":278},"0 0 20 20",[251,1807,525],{"class":261},[251,1809,1810],{"class":318}," fill",[251,1812,522],{"class":261},[251,1814,525],{"class":261},[251,1816,1817],{"class":278},"currentColor",[251,1819,525],{"class":261},[251,1821,532],{"class":261},[251,1823,1825,1828,1831,1834,1836,1838,1841,1843,1846,1848,1850,1853,1855,1858,1860,1862,1864,1866],{"class":253,"line":1824},67,[251,1826,1827],{"class":261},"            \u003C",[251,1829,1830],{"class":353},"path",[251,1832,1833],{"class":318}," fill-rule",[251,1835,522],{"class":261},[251,1837,525],{"class":261},[251,1839,1840],{"class":278},"evenodd",[251,1842,525],{"class":261},[251,1844,1845],{"class":318}," d",[251,1847,522],{"class":261},[251,1849,525],{"class":261},[251,1851,1852],{"class":278},"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z",[251,1854,525],{"class":261},[251,1856,1857],{"class":318}," clip-rule",[251,1859,522],{"class":261},[251,1861,525],{"class":261},[251,1863,1840],{"class":278},[251,1865,525],{"class":261},[251,1867,590],{"class":261},[251,1869,1871,1874,1876],{"class":253,"line":1870},68,[251,1872,1873],{"class":261},"          \u003C\u002F",[251,1875,1784],{"class":353},[251,1877,532],{"class":261},[251,1879,1881,1883],{"class":253,"line":1880},69,[251,1882,1781],{"class":261},[251,1884,1885],{"class":353},"input\n",[251,1887,1889,1892,1894,1896,1899],{"class":253,"line":1888},70,[251,1890,1891],{"class":318},"            ref",[251,1893,522],{"class":261},[251,1895,525],{"class":261},[251,1897,1898],{"class":278},"inputRef",[251,1900,1726],{"class":261},[251,1902,1904,1907,1909,1911,1914],{"class":253,"line":1903},71,[251,1905,1906],{"class":318},"            v-model",[251,1908,522],{"class":261},[251,1910,525],{"class":261},[251,1912,1913],{"class":278},"query",[251,1915,1726],{"class":261},[251,1917,1919,1922,1924,1926,1929],{"class":253,"line":1918},72,[251,1920,1921],{"class":318},"            type",[251,1923,522],{"class":261},[251,1925,525],{"class":261},[251,1927,1928],{"class":278},"text",[251,1930,1726],{"class":261},[251,1932,1934,1937,1939,1941,1944],{"class":253,"line":1933},73,[251,1935,1936],{"class":318},"            class",[251,1938,522],{"class":261},[251,1940,525],{"class":261},[251,1942,1943],{"class":278},"flex-1 text-sm outline-none placeholder:text-gray-400",[251,1945,1726],{"class":261},[251,1947,1949,1952,1954,1956,1959],{"class":253,"line":1948},74,[251,1950,1951],{"class":318},"            placeholder",[251,1953,522],{"class":261},[251,1955,525],{"class":261},[251,1957,1958],{"class":278},"Search commands…",[251,1960,1726],{"class":261},[251,1962,1964,1967,1969,1971,1974],{"class":253,"line":1963},75,[251,1965,1966],{"class":318},"            @input",[251,1968,522],{"class":261},[251,1970,525],{"class":261},[251,1972,1973],{"class":278},"activeIndex = 0",[251,1975,1726],{"class":261},[251,1977,1979],{"class":253,"line":1978},76,[251,1980,1981],{"class":261},"          \u002F>\n",[251,1983,1985,1987,1990,1992,1994,1996,1999,2001],{"class":253,"line":1984},77,[251,1986,1781],{"class":261},[251,1988,1989],{"class":353},"kbd",[251,1991,616],{"class":318},[251,1993,522],{"class":261},[251,1995,525],{"class":261},[251,1997,1998],{"class":278},"hidden sm:inline-flex text-xs text-gray-400 bg-gray-100 px-2 py-0.5 rounded",[251,2000,525],{"class":261},[251,2002,532],{"class":261},[251,2004,2006],{"class":253,"line":2005},78,[251,2007,2008],{"class":265},"            Esc\n",[251,2010,2012,2014,2016],{"class":253,"line":2011},79,[251,2013,1873],{"class":261},[251,2015,1989],{"class":353},[251,2017,532],{"class":261},[251,2019,2021,2024,2026],{"class":253,"line":2020},80,[251,2022,2023],{"class":261},"        \u003C\u002F",[251,2025,1762],{"class":353},[251,2027,532],{"class":261},[251,2029,2031],{"class":253,"line":2030},81,[251,2032,312],{"emptyLinePlaceholder":311},[251,2034,2036],{"class":253,"line":2035},82,[251,2037,2038],{"class":435},"        \u003C!-- Results -->\n",[251,2040,2042,2044,2046,2048,2050,2052,2055,2057,2060,2062,2064,2067,2069],{"class":253,"line":2041},83,[251,2043,1759],{"class":261},[251,2045,202],{"class":353},[251,2047,616],{"class":318},[251,2049,522],{"class":261},[251,2051,525],{"class":261},[251,2053,2054],{"class":278},"max-h-72 overflow-y-auto py-2",[251,2056,525],{"class":261},[251,2058,2059],{"class":318}," role",[251,2061,522],{"class":261},[251,2063,525],{"class":261},[251,2065,2066],{"class":278},"listbox",[251,2068,525],{"class":261},[251,2070,532],{"class":261},[251,2072,2074,2076],{"class":253,"line":2073},84,[251,2075,1781],{"class":261},[251,2077,2078],{"class":353},"li\n",[251,2080,2082,2085,2087,2089,2092],{"class":253,"line":2081},85,[251,2083,2084],{"class":318},"            v-for",[251,2086,522],{"class":261},[251,2088,525],{"class":261},[251,2090,2091],{"class":278},"(cmd, i) in filtered",[251,2093,1726],{"class":261},[251,2095,2097,2100,2102,2104,2107],{"class":253,"line":2096},86,[251,2098,2099],{"class":318},"            :key",[251,2101,522],{"class":261},[251,2103,525],{"class":261},[251,2105,2106],{"class":278},"cmd.id",[251,2108,1726],{"class":261},[251,2110,2112,2115,2117,2119,2122],{"class":253,"line":2111},87,[251,2113,2114],{"class":318},"            role",[251,2116,522],{"class":261},[251,2118,525],{"class":261},[251,2120,2121],{"class":278},"option",[251,2123,1726],{"class":261},[251,2125,2127,2130,2132,2134,2137],{"class":253,"line":2126},88,[251,2128,2129],{"class":318},"            :aria-selected",[251,2131,522],{"class":261},[251,2133,525],{"class":261},[251,2135,2136],{"class":278},"i === activeIndex",[251,2138,1726],{"class":261},[251,2140,2142,2144,2146,2148,2151],{"class":253,"line":2141},89,[251,2143,1936],{"class":318},[251,2145,522],{"class":261},[251,2147,525],{"class":261},[251,2149,2150],{"class":278},"flex items-center gap-3 px-4 py-2.5 cursor-pointer text-sm transition",[251,2152,1726],{"class":261},[251,2154,2156,2159,2161,2163,2166],{"class":253,"line":2155},90,[251,2157,2158],{"class":318},"            :class",[251,2160,522],{"class":261},[251,2162,525],{"class":261},[251,2164,2165],{"class":278},"i === activeIndex ? 'bg-indigo-50 text-indigo-900' : 'text-gray-800 hover:bg-gray-50'",[251,2167,1726],{"class":261},[251,2169,2171,2174,2176,2178,2181],{"class":253,"line":2170},91,[251,2172,2173],{"class":318},"            @click",[251,2175,522],{"class":261},[251,2177,525],{"class":261},[251,2179,2180],{"class":278},"run(cmd)",[251,2182,1726],{"class":261},[251,2184,2186,2189,2191,2193,2196],{"class":253,"line":2185},92,[251,2187,2188],{"class":318},"            @mouseenter",[251,2190,522],{"class":261},[251,2192,525],{"class":261},[251,2194,2195],{"class":278},"activeIndex = i",[251,2197,1726],{"class":261},[251,2199,2201],{"class":253,"line":2200},93,[251,2202,2203],{"class":261},"          >\n",[251,2205,2207,2209,2211,2214,2216,2218,2221,2223,2225,2227,2229,2232,2234,2236,2239,2241,2243],{"class":253,"line":2206},94,[251,2208,1827],{"class":261},[251,2210,251],{"class":353},[251,2212,2213],{"class":318}," v-if",[251,2215,522],{"class":261},[251,2217,525],{"class":261},[251,2219,2220],{"class":278},"cmd.icon",[251,2222,525],{"class":261},[251,2224,616],{"class":318},[251,2226,522],{"class":261},[251,2228,525],{"class":261},[251,2230,2231],{"class":278},"text-base",[251,2233,525],{"class":261},[251,2235,367],{"class":261},[251,2237,2238],{"class":265},"{{ cmd.icon }}",[251,2240,562],{"class":261},[251,2242,251],{"class":353},[251,2244,532],{"class":261},[251,2246,2248,2250,2252],{"class":253,"line":2247},95,[251,2249,1827],{"class":261},[251,2251,1762],{"class":353},[251,2253,532],{"class":261},[251,2255,2257,2260,2262,2264,2266,2268,2271,2273,2275,2278,2280,2282],{"class":253,"line":2256},96,[251,2258,2259],{"class":261},"              \u003C",[251,2261,1762],{"class":353},[251,2263,616],{"class":318},[251,2265,522],{"class":261},[251,2267,525],{"class":261},[251,2269,2270],{"class":278},"font-medium",[251,2272,525],{"class":261},[251,2274,367],{"class":261},[251,2276,2277],{"class":265},"{{ cmd.label }}",[251,2279,562],{"class":261},[251,2281,1762],{"class":353},[251,2283,532],{"class":261},[251,2285,2287,2289,2291,2293,2295,2297,2300,2302,2304,2306,2308,2311,2313,2315,2318,2320,2322],{"class":253,"line":2286},97,[251,2288,2259],{"class":261},[251,2290,1762],{"class":353},[251,2292,2213],{"class":318},[251,2294,522],{"class":261},[251,2296,525],{"class":261},[251,2298,2299],{"class":278},"cmd.description",[251,2301,525],{"class":261},[251,2303,616],{"class":318},[251,2305,522],{"class":261},[251,2307,525],{"class":261},[251,2309,2310],{"class":278},"text-xs text-gray-500",[251,2312,525],{"class":261},[251,2314,367],{"class":261},[251,2316,2317],{"class":265},"{{ cmd.description }}",[251,2319,562],{"class":261},[251,2321,1762],{"class":353},[251,2323,532],{"class":261},[251,2325,2327,2330,2332],{"class":253,"line":2326},98,[251,2328,2329],{"class":261},"            \u003C\u002F",[251,2331,1762],{"class":353},[251,2333,532],{"class":261},[251,2335,2337,2339,2341],{"class":253,"line":2336},99,[251,2338,1873],{"class":261},[251,2340,205],{"class":353},[251,2342,532],{"class":261},[251,2344,2346],{"class":253,"line":2345},100,[251,2347,312],{"emptyLinePlaceholder":311},[251,2349,2351,2353,2355,2357,2359,2361,2364,2366,2368,2370,2372,2375,2377],{"class":253,"line":2350},101,[251,2352,1781],{"class":261},[251,2354,205],{"class":353},[251,2356,2213],{"class":318},[251,2358,522],{"class":261},[251,2360,525],{"class":261},[251,2362,2363],{"class":278},"filtered.length === 0",[251,2365,525],{"class":261},[251,2367,616],{"class":318},[251,2369,522],{"class":261},[251,2371,525],{"class":261},[251,2373,2374],{"class":278},"px-4 py-6 text-center text-sm text-gray-400",[251,2376,525],{"class":261},[251,2378,532],{"class":261},[251,2380,2382],{"class":253,"line":2381},102,[251,2383,2384],{"class":265},"            No results for \"{{ query }}\"\n",[251,2386,2388,2390,2392],{"class":253,"line":2387},103,[251,2389,1873],{"class":261},[251,2391,205],{"class":353},[251,2393,532],{"class":261},[251,2395,2397,2399,2401],{"class":253,"line":2396},104,[251,2398,2023],{"class":261},[251,2400,202],{"class":353},[251,2402,532],{"class":261},[251,2404,2406,2409,2412],{"class":253,"line":2405},105,[251,2407,2408],{"class":261},"    \u003C\u002F",[251,2410,2411],{"class":353},"ModalContent",[251,2413,532],{"class":261},[251,2415,2417,2419,2421],{"class":253,"line":2416},106,[251,2418,653],{"class":261},[251,2420,1689],{"class":353},[251,2422,532],{"class":261},[251,2424,2426,2428,2430],{"class":253,"line":2425},107,[251,2427,562],{"class":261},[251,2429,577],{"class":353},[251,2431,532],{"class":261},[241,2433,2436],{"className":501,"code":2434,"filename":2435,"language":504,"meta":247,"style":247},"\u003Cscript setup lang=\"ts\">\nimport { useModal } from '@kolirt\u002Fvue-modal'\nimport CommandPalette, { type Command } from '.\u002FCommandPalette.vue'\nimport { useRouter } from 'vue-router'\nimport { onMounted, onBeforeUnmount } from 'vue'\n\nconst router = useRouter()\n\nconst commands: Command[] = [\n  {\n    id: 'home',\n    label: 'Go to Home',\n    icon: '🏠',\n    action: () => router.push('\u002F')\n  },\n  {\n    id: 'settings',\n    label: 'Open Settings',\n    description: 'Manage your account preferences',\n    icon: '⚙️',\n    action: () => router.push('\u002Fsettings')\n  },\n  {\n    id: 'new-project',\n    label: 'New Project',\n    icon: '➕',\n    action: () => router.push('\u002Fprojects\u002Fnew')\n  }\n]\n\nconst palette = useModal(CommandPalette, { props: { commands } })\n\nfunction onGlobalKeydown(e: KeyboardEvent) {\n  \u002F\u002F Cmd+K on Mac, Ctrl+K elsewhere\n  if ((e.metaKey || e.ctrlKey) && e.key === 'k') {\n    e.preventDefault()\n    if (!palette.isOpen.value) palette.open()\n  }\n}\n\nonMounted(() => window.addEventListener('keydown', onGlobalKeydown))\nonBeforeUnmount(() => window.removeEventListener('keydown', onGlobalKeydown))\n\u003C\u002Fscript>\n\n\u003C!-- This component renders nothing; mount it once anywhere\n     in your app to register the global Cmd+K shortcut. -->\n\u003Ctemplate>\n  \u003Cspan \u002F>\n\u003C\u002Ftemplate>\n","PaletteShortcut.vue (wiring)",[209,2437,2438,2458,2477,2503,2523,2546,2550,2563,2567,2584,2589,2605,2621,2637,2666,2671,2675,2690,2705,2721,2736,2763,2767,2771,2786,2801,2816,2843,2848,2853,2857,2890,2894,2913,2918,2966,2977,3008,3012,3016,3020,3052,3082,3090,3094,3099,3104,3112,3120],{"__ignoreMap":247},[251,2439,2440,2442,2444,2446,2448,2450,2452,2454,2456],{"class":253,"line":254},[251,2441,350],{"class":261},[251,2443,513],{"class":353},[251,2445,516],{"class":318},[251,2447,519],{"class":318},[251,2449,522],{"class":261},[251,2451,525],{"class":261},[251,2453,246],{"class":278},[251,2455,525],{"class":261},[251,2457,532],{"class":261},[251,2459,2460,2462,2464,2467,2469,2471,2473,2475],{"class":253,"line":285},[251,2461,258],{"class":257},[251,2463,262],{"class":261},[251,2465,2466],{"class":265}," useModal",[251,2468,269],{"class":261},[251,2470,272],{"class":257},[251,2472,275],{"class":261},[251,2474,279],{"class":278},[251,2476,282],{"class":261},[251,2478,2479,2481,2484,2486,2488,2490,2492,2494,2496,2498,2501],{"class":253,"line":308},[251,2480,258],{"class":257},[251,2482,2483],{"class":265}," CommandPalette",[251,2485,544],{"class":261},[251,2487,262],{"class":261},[251,2489,290],{"class":257},[251,2491,810],{"class":265},[251,2493,269],{"class":261},[251,2495,272],{"class":257},[251,2497,275],{"class":261},[251,2499,2500],{"class":278},".\u002FCommandPalette.vue",[251,2502,282],{"class":261},[251,2504,2505,2507,2509,2512,2514,2516,2518,2521],{"class":253,"line":315},[251,2506,258],{"class":257},[251,2508,262],{"class":261},[251,2510,2511],{"class":265}," useRouter",[251,2513,269],{"class":261},[251,2515,272],{"class":257},[251,2517,275],{"class":261},[251,2519,2520],{"class":278},"vue-router",[251,2522,282],{"class":261},[251,2524,2525,2527,2529,2531,2533,2536,2538,2540,2542,2544],{"class":253,"line":335},[251,2526,258],{"class":257},[251,2528,262],{"class":261},[251,2530,717],{"class":265},[251,2532,544],{"class":261},[251,2534,2535],{"class":265}," onBeforeUnmount",[251,2537,269],{"class":261},[251,2539,272],{"class":257},[251,2541,275],{"class":261},[251,2543,504],{"class":278},[251,2545,282],{"class":261},[251,2547,2548],{"class":253,"line":373},[251,2549,312],{"emptyLinePlaceholder":311},[251,2551,2552,2554,2557,2559,2561],{"class":253,"line":379},[251,2553,892],{"class":318},[251,2555,2556],{"class":265}," router ",[251,2558,522],{"class":261},[251,2560,2511],{"class":392},[251,2562,919],{"class":265},[251,2564,2565],{"class":253,"line":384},[251,2566,312],{"emptyLinePlaceholder":311},[251,2568,2569,2571,2573,2575,2577,2579,2581],{"class":253,"line":399},[251,2570,892],{"class":318},[251,2572,906],{"class":265},[251,2574,417],{"class":261},[251,2576,810],{"class":341},[251,2578,913],{"class":265},[251,2580,522],{"class":261},[251,2582,2583],{"class":265}," [\n",[251,2585,2586],{"class":253,"line":411},[251,2587,2588],{"class":261},"  {\n",[251,2590,2591,2594,2596,2598,2601,2603],{"class":253,"line":422},[251,2592,2593],{"class":353},"    id",[251,2595,417],{"class":261},[251,2597,275],{"class":261},[251,2599,2600],{"class":278},"home",[251,2602,329],{"class":261},[251,2604,741],{"class":261},[251,2606,2607,2610,2612,2614,2617,2619],{"class":253,"line":432},[251,2608,2609],{"class":353},"    label",[251,2611,417],{"class":261},[251,2613,275],{"class":261},[251,2615,2616],{"class":278},"Go to Home",[251,2618,329],{"class":261},[251,2620,741],{"class":261},[251,2622,2623,2626,2628,2630,2633,2635],{"class":253,"line":439},[251,2624,2625],{"class":353},"    icon",[251,2627,417],{"class":261},[251,2629,275],{"class":261},[251,2631,2632],{"class":278},"🏠",[251,2634,329],{"class":261},[251,2636,741],{"class":261},[251,2638,2639,2642,2644,2646,2648,2651,2653,2656,2658,2660,2662,2664],{"class":253,"line":445},[251,2640,2641],{"class":392},"    action",[251,2643,417],{"class":261},[251,2645,860],{"class":261},[251,2647,863],{"class":318},[251,2649,2650],{"class":265}," router",[251,2652,216],{"class":261},[251,2654,2655],{"class":392},"push",[251,2657,405],{"class":265},[251,2659,329],{"class":261},[251,2661,1102],{"class":278},[251,2663,329],{"class":261},[251,2665,493],{"class":265},[251,2667,2668],{"class":253,"line":451},[251,2669,2670],{"class":261},"  },\n",[251,2672,2673],{"class":253,"line":457},[251,2674,2588],{"class":261},[251,2676,2677,2679,2681,2683,2686,2688],{"class":253,"line":463},[251,2678,2593],{"class":353},[251,2680,417],{"class":261},[251,2682,275],{"class":261},[251,2684,2685],{"class":278},"settings",[251,2687,329],{"class":261},[251,2689,741],{"class":261},[251,2691,2692,2694,2696,2698,2701,2703],{"class":253,"line":469},[251,2693,2609],{"class":353},[251,2695,417],{"class":261},[251,2697,275],{"class":261},[251,2699,2700],{"class":278},"Open Settings",[251,2702,329],{"class":261},[251,2704,741],{"class":261},[251,2706,2707,2710,2712,2714,2717,2719],{"class":253,"line":475},[251,2708,2709],{"class":353},"    description",[251,2711,417],{"class":261},[251,2713,275],{"class":261},[251,2715,2716],{"class":278},"Manage your account preferences",[251,2718,329],{"class":261},[251,2720,741],{"class":261},[251,2722,2723,2725,2727,2729,2732,2734],{"class":253,"line":481},[251,2724,2625],{"class":353},[251,2726,417],{"class":261},[251,2728,275],{"class":261},[251,2730,2731],{"class":278},"⚙️",[251,2733,329],{"class":261},[251,2735,741],{"class":261},[251,2737,2738,2740,2742,2744,2746,2748,2750,2752,2754,2756,2759,2761],{"class":253,"line":487},[251,2739,2641],{"class":392},[251,2741,417],{"class":261},[251,2743,860],{"class":261},[251,2745,863],{"class":318},[251,2747,2650],{"class":265},[251,2749,216],{"class":261},[251,2751,2655],{"class":392},[251,2753,405],{"class":265},[251,2755,329],{"class":261},[251,2757,2758],{"class":278},"\u002Fsettings",[251,2760,329],{"class":261},[251,2762,493],{"class":265},[251,2764,2765],{"class":253,"line":496},[251,2766,2670],{"class":261},[251,2768,2769],{"class":253,"line":949},[251,2770,2588],{"class":261},[251,2772,2773,2775,2777,2779,2782,2784],{"class":253,"line":968},[251,2774,2593],{"class":353},[251,2776,417],{"class":261},[251,2778,275],{"class":261},[251,2780,2781],{"class":278},"new-project",[251,2783,329],{"class":261},[251,2785,741],{"class":261},[251,2787,2788,2790,2792,2794,2797,2799],{"class":253,"line":989},[251,2789,2609],{"class":353},[251,2791,417],{"class":261},[251,2793,275],{"class":261},[251,2795,2796],{"class":278},"New Project",[251,2798,329],{"class":261},[251,2800,741],{"class":261},[251,2802,2803,2805,2807,2809,2812,2814],{"class":253,"line":994},[251,2804,2625],{"class":353},[251,2806,417],{"class":261},[251,2808,275],{"class":261},[251,2810,2811],{"class":278},"➕",[251,2813,329],{"class":261},[251,2815,741],{"class":261},[251,2817,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2839,2841],{"class":253,"line":1000},[251,2819,2641],{"class":392},[251,2821,417],{"class":261},[251,2823,860],{"class":261},[251,2825,863],{"class":318},[251,2827,2650],{"class":265},[251,2829,216],{"class":261},[251,2831,2655],{"class":392},[251,2833,405],{"class":265},[251,2835,329],{"class":261},[251,2837,2838],{"class":278},"\u002Fprojects\u002Fnew",[251,2840,329],{"class":261},[251,2842,493],{"class":265},[251,2844,2845],{"class":253,"line":1021},[251,2846,2847],{"class":261},"  }\n",[251,2849,2850],{"class":253,"line":1054},[251,2851,2852],{"class":265},"]\n",[251,2854,2855],{"class":253,"line":1083},[251,2856,312],{"emptyLinePlaceholder":311},[251,2858,2859,2861,2864,2866,2868,2871,2873,2875,2877,2879,2881,2884,2886,2888],{"class":253,"line":1113},[251,2860,892],{"class":318},[251,2862,2863],{"class":265}," palette ",[251,2865,522],{"class":261},[251,2867,2466],{"class":392},[251,2869,2870],{"class":265},"(CommandPalette",[251,2872,544],{"class":261},[251,2874,262],{"class":261},[251,2876,1075],{"class":353},[251,2878,417],{"class":261},[251,2880,262],{"class":261},[251,2882,2883],{"class":265}," commands ",[251,2885,758],{"class":261},[251,2887,269],{"class":261},[251,2889,493],{"class":265},[251,2891,2892],{"class":253,"line":1146},[251,2893,312],{"emptyLinePlaceholder":311},[251,2895,2896,2898,2901,2903,2905,2907,2909,2911],{"class":253,"line":1191},[251,2897,1276],{"class":318},[251,2899,2900],{"class":392}," onGlobalKeydown",[251,2902,405],{"class":261},[251,2904,1375],{"class":1135},[251,2906,417],{"class":261},[251,2908,1380],{"class":341},[251,2910,1139],{"class":261},[251,2912,332],{"class":261},[251,2914,2915],{"class":253,"line":1229},[251,2916,2917],{"class":435},"  \u002F\u002F Cmd+K on Mac, Ctrl+K elsewhere\n",[251,2919,2920,2922,2925,2927,2929,2932,2935,2937,2939,2942,2944,2947,2949,2951,2953,2955,2957,2960,2962,2964],{"class":253,"line":1236},[251,2921,1057],{"class":257},[251,2923,2924],{"class":353}," ((",[251,2926,1375],{"class":265},[251,2928,216],{"class":261},[251,2930,2931],{"class":265},"metaKey",[251,2933,2934],{"class":261}," ||",[251,2936,1415],{"class":265},[251,2938,216],{"class":261},[251,2940,2941],{"class":265},"ctrlKey",[251,2943,1069],{"class":353},[251,2945,2946],{"class":261},"&&",[251,2948,1415],{"class":265},[251,2950,216],{"class":261},[251,2952,1398],{"class":265},[251,2954,1401],{"class":261},[251,2956,275],{"class":261},[251,2958,2959],{"class":278},"k",[251,2961,329],{"class":261},[251,2963,1069],{"class":353},[251,2965,408],{"class":261},[251,2967,2968,2971,2973,2975],{"class":253,"line":1243},[251,2969,2970],{"class":265},"    e",[251,2972,216],{"class":261},[251,2974,1420],{"class":392},[251,2976,919],{"class":353},[251,2978,2979,2982,2984,2986,2988,2990,2993,2995,2997,2999,3001,3003,3006],{"class":253,"line":1248},[251,2980,2981],{"class":257},"    if",[251,2983,1060],{"class":353},[251,2985,1063],{"class":261},[251,2987,359],{"class":265},[251,2989,216],{"class":261},[251,2991,2992],{"class":265},"isOpen",[251,2994,216],{"class":261},[251,2996,1037],{"class":265},[251,2998,1069],{"class":353},[251,3000,359],{"class":265},[251,3002,216],{"class":261},[251,3004,3005],{"class":392},"open",[251,3007,919],{"class":353},[251,3009,3010],{"class":253,"line":1268},[251,3011,2847],{"class":261},[251,3013,3014],{"class":253,"line":1273},[251,3015,376],{"class":261},[251,3017,3018],{"class":253,"line":1296},[251,3019,312],{"emptyLinePlaceholder":311},[251,3021,3022,3024,3026,3028,3030,3033,3035,3038,3040,3042,3045,3047,3049],{"class":253,"line":1355},[251,3023,1636],{"class":392},[251,3025,405],{"class":265},[251,3027,1014],{"class":261},[251,3029,863],{"class":318},[251,3031,3032],{"class":265}," window",[251,3034,216],{"class":261},[251,3036,3037],{"class":392},"addEventListener",[251,3039,405],{"class":265},[251,3041,329],{"class":261},[251,3043,3044],{"class":278},"keydown",[251,3046,329],{"class":261},[251,3048,544],{"class":261},[251,3050,3051],{"class":265}," onGlobalKeydown))\n",[251,3053,3054,3057,3059,3061,3063,3065,3067,3070,3072,3074,3076,3078,3080],{"class":253,"line":1360},[251,3055,3056],{"class":392},"onBeforeUnmount",[251,3058,405],{"class":265},[251,3060,1014],{"class":261},[251,3062,863],{"class":318},[251,3064,3032],{"class":265},[251,3066,216],{"class":261},[251,3068,3069],{"class":392},"removeEventListener",[251,3071,405],{"class":265},[251,3073,329],{"class":261},[251,3075,3044],{"class":278},[251,3077,329],{"class":261},[251,3079,544],{"class":261},[251,3081,3051],{"class":265},[251,3083,3084,3086,3088],{"class":253,"line":1365},[251,3085,562],{"class":261},[251,3087,513],{"class":353},[251,3089,532],{"class":261},[251,3091,3092],{"class":253,"line":1387},[251,3093,312],{"emptyLinePlaceholder":311},[251,3095,3096],{"class":253,"line":1448},[251,3097,3098],{"class":435},"\u003C!-- This component renders nothing; mount it once anywhere\n",[251,3100,3101],{"class":253,"line":1502},[251,3102,3103],{"class":435},"     in your app to register the global Cmd+K shortcut. -->\n",[251,3105,3106,3108,3110],{"class":253,"line":1549},[251,3107,350],{"class":261},[251,3109,577],{"class":353},[251,3111,532],{"class":261},[251,3113,3114,3116,3118],{"class":253,"line":1554},[251,3115,584],{"class":261},[251,3117,251],{"class":353},[251,3119,590],{"class":261},[251,3121,3122,3124,3126],{"class":253,"line":1559},[251,3123,562],{"class":261},[251,3125,577],{"class":353},[251,3127,532],{"class":261},[236,3129,3131],{"id":3130},"why-usemodal-instead-of-openmodal","Why useModal instead of openModal",[198,3133,3134,3136,3137,3139,3140,3143,3144,3146],{},[209,3135,221],{}," gives a reactive ",[209,3138,2992],{}," flag that prevents re-opening while the palette is already visible. Each ",[209,3141,3142],{},"open()"," call starts fresh — the ",[209,3145,1913],{}," ref inside the component resets because the component remounts.",[241,3148,3150],{"className":243,"code":3149,"language":246,"meta":247,"style":247},"if (!palette.isOpen.value) palette.open()\n",[209,3151,3152],{"__ignoreMap":247},[251,3153,3154,3157,3159,3161,3163,3165,3167,3169,3172,3174,3176],{"class":253,"line":254},[251,3155,3156],{"class":257},"if",[251,3158,1060],{"class":265},[251,3160,1063],{"class":261},[251,3162,359],{"class":265},[251,3164,216],{"class":261},[251,3166,2992],{"class":265},[251,3168,216],{"class":261},[251,3170,3171],{"class":265},"value) palette",[251,3173,216],{"class":261},[251,3175,3005],{"class":392},[251,3177,919],{"class":265},[236,3179,3181],{"id":3180},"behavior-options-explained","Behavior options explained",[3183,3184,3185,3201],"table",{},[3186,3187,3188],"thead",{},[3189,3190,3191,3195,3198],"tr",{},[3192,3193,3194],"th",{},"Option",[3192,3196,3197],{},"Default",[3192,3199,3200],{},"Effect",[3202,3203,3204,3220,3234,3248],"tbody",{},[3189,3205,3206,3212,3217],{},[3207,3208,3209],"td",{},[209,3210,3211],{},"disableLockBodyScroll",[3207,3213,3214],{},[209,3215,3216],{},"false",[3207,3218,3219],{},"Body scroll is locked by default. Palette is fullscreen, locking is fine.",[3189,3221,3222,3227,3231],{},[3207,3223,3224],{},[209,3225,3226],{},"disableCloseOnEscape",[3207,3228,3229],{},[209,3230,3216],{},[3207,3232,3233],{},"Esc closes — good for a palette.",[3189,3235,3236,3241,3245],{},[3207,3237,3238],{},[209,3239,3240],{},"disableCloseOnInteractOverlay",[3207,3242,3243],{},[209,3244,3216],{},[3207,3246,3247],{},"Clicking the backdrop closes — good default.",[3189,3249,3250,3255,3259],{},[3207,3251,3252],{},[209,3253,3254],{},"enableInteractOutside",[3207,3256,3257],{},[209,3258,3216],{},[3207,3260,3261],{},"Page behind palette is non-interactive — correct.",[198,3263,3264],{},"The defaults work well for a palette. No overrides needed.",[3266,3267,3269,3270,3273,3274,3277],"callout",{"type":3268},"note","The fuzzy filter here is intentionally minimal. For production, consider ",[209,3271,3272],{},"fuse.js"," or ",[209,3275,3276],{},"minisearch"," for ranking and typo tolerance.",[236,3279,3281],{"id":3280},"related","Related",[202,3283,3284,3290,3295],{},[205,3285,3286],{},[3287,3288,3289],"a",{"href":141},"API reference — components",[205,3291,3292],{},[3287,3293,3294],{"href":145},"API reference — composables",[205,3296,3297],{},[3287,3298,3299],{"href":149},"API reference — plugin",[3301,3302,3303],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}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 .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":247,"searchDepth":285,"depth":285,"links":3305},[3306,3307,3308,3309,3310],{"id":238,"depth":285,"text":239},{"id":668,"depth":285,"text":669},{"id":3130,"depth":285,"text":3131},{"id":3180,"depth":285,"text":3181},{"id":3280,"depth":285,"text":3281},"A Cmd+K command palette built as a fullscreen modal with fuzzy search, using a dedicated modal group and useModal for clean open\u002Fclose state.","md",null,{},{"title":119,"description":3311},"UIGyAST7l9gbxO_Nh1VZShG6igdVo1SPmAcWB3ADbP0",[3318,3320],{"title":115,"path":116,"stem":117,"description":3319,"children":-1},"A full-screen lightbox that navigates a list of images with arrow keys, closes on backdrop or Esc, and transitions instantly between images using replaceModal.",{"title":123,"path":124,"stem":125,"description":3321,"children":-1},"Build a multi-step wizard using replaceModal + instantEnter so steps swap without full open\u002Fclose transitions. Compares step-replace vs. stacking.",1779523619870]