[{"data":1,"prerenderedAt":1212},["ShallowReactive",2],{"navigation_docs":3,"-api-state":188,"-api-state-surround":1207},[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":152,"body":190,"description":1201,"extension":1202,"links":1203,"meta":1204,"navigation":385,"path":153,"seo":1205,"stem":154,"__hash__":1206},"docs\u002F6.api\u002F5.state.md",{"type":191,"value":192,"toc":1195},"minimark",[193,197,210,267,270,276,308,318,445,447,453,475,481,594,596,602,640,652,797,804,995,997,1003,1032,1047,1191],[194,195,152],"h1",{"id":196},"state-helpers",[198,199,200,201,205,206,209],"p",{},"All four exports are reactive ",[202,203,204],"code",{},"ComputedRef"," values (or functions returning one). They are read-only windows into the internal modal stack. Import them directly from ",[202,207,208],{},"@kolirt\u002Fvue-modal",".",[211,212,217],"pre",{"className":213,"code":214,"language":215,"meta":216,"style":216},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { modals, isOpened, groupModals, isGroupOpen } from '@kolirt\u002Fvue-modal'\n","ts","",[202,218,219],{"__ignoreMap":216},[220,221,224,228,232,236,239,242,244,247,249,252,255,258,261,264],"span",{"class":222,"line":223},"line",1,[220,225,227],{"class":226},"s7zQu","import",[220,229,231],{"class":230},"sMK4o"," {",[220,233,235],{"class":234},"sTEyZ"," modals",[220,237,238],{"class":230},",",[220,240,241],{"class":234}," isOpened",[220,243,238],{"class":230},[220,245,246],{"class":234}," groupModals",[220,248,238],{"class":230},[220,250,251],{"class":234}," isGroupOpen",[220,253,254],{"class":230}," }",[220,256,257],{"class":226}," from",[220,259,260],{"class":230}," '",[220,262,208],{"class":263},"sfazB",[220,265,266],{"class":230},"'\n",[268,269],"hr",{},[271,272,274],"h2",{"id":273},"modals",[202,275,273],{},[211,277,279],{"className":213,"code":278,"language":215,"meta":216,"style":216},"const modals: ComputedRef\u003CModalItem[]>\n",[202,280,281],{"__ignoreMap":216},[220,282,283,287,289,292,296,299,302,305],{"class":222,"line":223},[220,284,286],{"class":285},"spNyl","const",[220,288,235],{"class":234},[220,290,291],{"class":230},":",[220,293,295],{"class":294},"sBMFI"," ComputedRef",[220,297,298],{"class":230},"\u003C",[220,300,301],{"class":294},"ModalItem",[220,303,304],{"class":234},"[]",[220,306,307],{"class":230},">\n",[198,309,310,311,313,314,209],{},"All currently mounted modals across every group, in stack order (oldest → newest). Each entry has the public ",[202,312,301],{}," shape — see ",[315,316,160],"a",{"href":317},"\u002Fapi\u002Ftypes#modalitem",[211,319,323],{"className":320,"code":321,"language":322,"meta":216,"style":216},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { modals } from '@kolirt\u002Fvue-modal'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003C!-- Debug overlay -->\n  \u003Cpre v-if=\"modals.length\">{{ modals.map(m => `[${m.group}] ${m.id}`).join('\\n') }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n","vue",[202,324,325,351,370,380,387,397,404,436],{"__ignoreMap":216},[220,326,327,329,333,336,339,342,345,347,349],{"class":222,"line":223},[220,328,298],{"class":230},[220,330,332],{"class":331},"swJcz","script",[220,334,335],{"class":285}," setup",[220,337,338],{"class":285}," lang",[220,340,341],{"class":230},"=",[220,343,344],{"class":230},"\"",[220,346,215],{"class":263},[220,348,344],{"class":230},[220,350,307],{"class":230},[220,352,354,356,358,360,362,364,366,368],{"class":222,"line":353},2,[220,355,227],{"class":226},[220,357,231],{"class":230},[220,359,235],{"class":234},[220,361,254],{"class":230},[220,363,257],{"class":226},[220,365,260],{"class":230},[220,367,208],{"class":263},[220,369,266],{"class":230},[220,371,373,376,378],{"class":222,"line":372},3,[220,374,375],{"class":230},"\u003C\u002F",[220,377,332],{"class":331},[220,379,307],{"class":230},[220,381,383],{"class":222,"line":382},4,[220,384,386],{"emptyLinePlaceholder":385},true,"\n",[220,388,390,392,395],{"class":222,"line":389},5,[220,391,298],{"class":230},[220,393,394],{"class":331},"template",[220,396,307],{"class":230},[220,398,400],{"class":222,"line":399},6,[220,401,403],{"class":402},"sHwdD","  \u003C!-- Debug overlay -->\n",[220,405,407,410,412,415,417,419,422,424,427,430,432,434],{"class":222,"line":406},7,[220,408,409],{"class":230},"  \u003C",[220,411,211],{"class":331},[220,413,414],{"class":285}," v-if",[220,416,341],{"class":230},[220,418,344],{"class":230},[220,420,421],{"class":263},"modals.length",[220,423,344],{"class":230},[220,425,426],{"class":230},">",[220,428,429],{"class":234},"{{ modals.map(m => `[${m.group}] ${m.id}`).join('\\n') }}",[220,431,375],{"class":230},[220,433,211],{"class":331},[220,435,307],{"class":230},[220,437,439,441,443],{"class":222,"line":438},8,[220,440,375],{"class":230},[220,442,394],{"class":331},[220,444,307],{"class":230},[268,446],{},[271,448,450],{"id":449},"isopened",[202,451,452],{},"isOpened",[211,454,456],{"className":213,"code":455,"language":215,"meta":216,"style":216},"const isOpened: ComputedRef\u003Cboolean>\n",[202,457,458],{"__ignoreMap":216},[220,459,460,462,464,466,468,470,473],{"class":222,"line":223},[220,461,286],{"class":285},[220,463,241],{"class":234},[220,465,291],{"class":230},[220,467,295],{"class":294},[220,469,298],{"class":230},[220,471,472],{"class":294},"boolean",[220,474,307],{"class":230},[198,476,477,480],{},[202,478,479],{},"true"," when at least one modal is mounted in any group. Use to toggle global UI (backdrop blur, disable scrollbars via CSS, analytics events).",[211,482,484],{"className":320,"code":483,"language":322,"meta":216,"style":216},"\u003Cscript setup lang=\"ts\">\nimport { isOpened } from '@kolirt\u002Fvue-modal'\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv :class=\"{ 'pointer-events-none': isOpened }\">\n    \u003CAppSidebar \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[202,485,486,506,524,532,536,544,565,576,585],{"__ignoreMap":216},[220,487,488,490,492,494,496,498,500,502,504],{"class":222,"line":223},[220,489,298],{"class":230},[220,491,332],{"class":331},[220,493,335],{"class":285},[220,495,338],{"class":285},[220,497,341],{"class":230},[220,499,344],{"class":230},[220,501,215],{"class":263},[220,503,344],{"class":230},[220,505,307],{"class":230},[220,507,508,510,512,514,516,518,520,522],{"class":222,"line":353},[220,509,227],{"class":226},[220,511,231],{"class":230},[220,513,241],{"class":234},[220,515,254],{"class":230},[220,517,257],{"class":226},[220,519,260],{"class":230},[220,521,208],{"class":263},[220,523,266],{"class":230},[220,525,526,528,530],{"class":222,"line":372},[220,527,375],{"class":230},[220,529,332],{"class":331},[220,531,307],{"class":230},[220,533,534],{"class":222,"line":382},[220,535,386],{"emptyLinePlaceholder":385},[220,537,538,540,542],{"class":222,"line":389},[220,539,298],{"class":230},[220,541,394],{"class":331},[220,543,307],{"class":230},[220,545,546,548,551,554,556,558,561,563],{"class":222,"line":399},[220,547,409],{"class":230},[220,549,550],{"class":331},"div",[220,552,553],{"class":285}," :class",[220,555,341],{"class":230},[220,557,344],{"class":230},[220,559,560],{"class":263},"{ 'pointer-events-none': isOpened }",[220,562,344],{"class":230},[220,564,307],{"class":230},[220,566,567,570,573],{"class":222,"line":406},[220,568,569],{"class":230},"    \u003C",[220,571,572],{"class":331},"AppSidebar",[220,574,575],{"class":230}," \u002F>\n",[220,577,578,581,583],{"class":222,"line":438},[220,579,580],{"class":230},"  \u003C\u002F",[220,582,550],{"class":331},[220,584,307],{"class":230},[220,586,588,590,592],{"class":222,"line":587},9,[220,589,375],{"class":230},[220,591,394],{"class":331},[220,593,307],{"class":230},[268,595],{},[271,597,599],{"id":598},"groupmodalsgroup",[202,600,601],{},"groupModals(group)",[211,603,605],{"className":213,"code":604,"language":215,"meta":216,"style":216},"function groupModals(group: ModalGroup): ComputedRef\u003CModalItem[]>\n",[202,606,607],{"__ignoreMap":216},[220,608,609,612,615,618,622,624,627,630,632,634,636,638],{"class":222,"line":223},[220,610,611],{"class":285},"function",[220,613,246],{"class":614},"s2Zo4",[220,616,617],{"class":230},"(",[220,619,621],{"class":620},"sHdIc","group",[220,623,291],{"class":230},[220,625,626],{"class":294}," ModalGroup",[220,628,629],{"class":230},"):",[220,631,295],{"class":294},[220,633,298],{"class":230},[220,635,301],{"class":294},[220,637,304],{"class":234},[220,639,307],{"class":230},[198,641,642,643,645,646,648,649,651],{},"Returns a ",[202,644,204],{}," that holds only the modals belonging to ",[202,647,621],{},". Each call creates a new computed — cache the result in a ",[202,650,286],{}," rather than calling it in a template expression.",[211,653,655],{"className":320,"code":654,"language":322,"meta":216,"style":216},"\u003Cscript setup lang=\"ts\">\nimport { groupModals } from '@kolirt\u002Fvue-modal'\n\nconst confirmModals = groupModals('confirm')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cspan v-if=\"confirmModals.length\" class=\"badge\">\n    {{ confirmModals.length }} pending\n  \u003C\u002Fspan>\n\u003C\u002Ftemplate>\n",[202,656,657,677,695,699,723,731,735,743,774,779,788],{"__ignoreMap":216},[220,658,659,661,663,665,667,669,671,673,675],{"class":222,"line":223},[220,660,298],{"class":230},[220,662,332],{"class":331},[220,664,335],{"class":285},[220,666,338],{"class":285},[220,668,341],{"class":230},[220,670,344],{"class":230},[220,672,215],{"class":263},[220,674,344],{"class":230},[220,676,307],{"class":230},[220,678,679,681,683,685,687,689,691,693],{"class":222,"line":353},[220,680,227],{"class":226},[220,682,231],{"class":230},[220,684,246],{"class":234},[220,686,254],{"class":230},[220,688,257],{"class":226},[220,690,260],{"class":230},[220,692,208],{"class":263},[220,694,266],{"class":230},[220,696,697],{"class":222,"line":372},[220,698,386],{"emptyLinePlaceholder":385},[220,700,701,703,706,708,710,712,715,718,720],{"class":222,"line":382},[220,702,286],{"class":285},[220,704,705],{"class":234}," confirmModals ",[220,707,341],{"class":230},[220,709,246],{"class":614},[220,711,617],{"class":234},[220,713,714],{"class":230},"'",[220,716,717],{"class":263},"confirm",[220,719,714],{"class":230},[220,721,722],{"class":234},")\n",[220,724,725,727,729],{"class":222,"line":389},[220,726,375],{"class":230},[220,728,332],{"class":331},[220,730,307],{"class":230},[220,732,733],{"class":222,"line":399},[220,734,386],{"emptyLinePlaceholder":385},[220,736,737,739,741],{"class":222,"line":406},[220,738,298],{"class":230},[220,740,394],{"class":331},[220,742,307],{"class":230},[220,744,745,747,749,751,753,755,758,760,763,765,767,770,772],{"class":222,"line":438},[220,746,409],{"class":230},[220,748,220],{"class":331},[220,750,414],{"class":285},[220,752,341],{"class":230},[220,754,344],{"class":230},[220,756,757],{"class":263},"confirmModals.length",[220,759,344],{"class":230},[220,761,762],{"class":285}," class",[220,764,341],{"class":230},[220,766,344],{"class":230},[220,768,769],{"class":263},"badge",[220,771,344],{"class":230},[220,773,307],{"class":230},[220,775,776],{"class":222,"line":587},[220,777,778],{"class":234},"    {{ confirmModals.length }} pending\n",[220,780,782,784,786],{"class":222,"line":781},10,[220,783,580],{"class":230},[220,785,220],{"class":331},[220,787,307],{"class":230},[220,789,791,793,795],{"class":222,"line":790},11,[220,792,375],{"class":230},[220,794,394],{"class":331},[220,796,307],{"class":230},[198,798,799,803],{},[800,801,802],"strong",{},"Route-guard use case"," — close all modals in a group before navigating away:",[211,805,807],{"className":213,"code":806,"language":215,"meta":216,"style":216},"import { groupModals, closeModalsByGroup } from '@kolirt\u002Fvue-modal'\nimport { watchEffect } from 'vue'\nimport router from '.\u002Frouter'\n\nrouter.beforeEach(async (to, from) => {\n  if (groupModals('confirm').value.length) {\n    await closeModalsByGroup('confirm', { ignoreGuard: true, instantExit: true })\n  }\n})\n",[202,808,809,832,851,868,872,906,942,983,988],{"__ignoreMap":216},[220,810,811,813,815,817,819,822,824,826,828,830],{"class":222,"line":223},[220,812,227],{"class":226},[220,814,231],{"class":230},[220,816,246],{"class":234},[220,818,238],{"class":230},[220,820,821],{"class":234}," closeModalsByGroup",[220,823,254],{"class":230},[220,825,257],{"class":226},[220,827,260],{"class":230},[220,829,208],{"class":263},[220,831,266],{"class":230},[220,833,834,836,838,841,843,845,847,849],{"class":222,"line":353},[220,835,227],{"class":226},[220,837,231],{"class":230},[220,839,840],{"class":234}," watchEffect",[220,842,254],{"class":230},[220,844,257],{"class":226},[220,846,260],{"class":230},[220,848,322],{"class":263},[220,850,266],{"class":230},[220,852,853,855,858,861,863,866],{"class":222,"line":372},[220,854,227],{"class":226},[220,856,857],{"class":234}," router ",[220,859,860],{"class":226},"from",[220,862,260],{"class":230},[220,864,865],{"class":263},".\u002Frouter",[220,867,266],{"class":230},[220,869,870],{"class":222,"line":382},[220,871,386],{"emptyLinePlaceholder":385},[220,873,874,877,879,882,884,887,890,893,895,897,900,903],{"class":222,"line":389},[220,875,876],{"class":234},"router",[220,878,209],{"class":230},[220,880,881],{"class":614},"beforeEach",[220,883,617],{"class":234},[220,885,886],{"class":285},"async",[220,888,889],{"class":230}," (",[220,891,892],{"class":620},"to",[220,894,238],{"class":230},[220,896,257],{"class":620},[220,898,899],{"class":230},")",[220,901,902],{"class":285}," =>",[220,904,905],{"class":230}," {\n",[220,907,908,911,913,916,918,920,922,924,926,928,931,933,936,939],{"class":222,"line":399},[220,909,910],{"class":226},"  if",[220,912,889],{"class":331},[220,914,915],{"class":614},"groupModals",[220,917,617],{"class":331},[220,919,714],{"class":230},[220,921,717],{"class":263},[220,923,714],{"class":230},[220,925,899],{"class":331},[220,927,209],{"class":230},[220,929,930],{"class":234},"value",[220,932,209],{"class":230},[220,934,935],{"class":234},"length",[220,937,938],{"class":331},") ",[220,940,941],{"class":230},"{\n",[220,943,944,947,949,951,953,955,957,959,961,964,966,970,972,975,977,979,981],{"class":222,"line":406},[220,945,946],{"class":226},"    await",[220,948,821],{"class":614},[220,950,617],{"class":331},[220,952,714],{"class":230},[220,954,717],{"class":263},[220,956,714],{"class":230},[220,958,238],{"class":230},[220,960,231],{"class":230},[220,962,963],{"class":331}," ignoreGuard",[220,965,291],{"class":230},[220,967,969],{"class":968},"sfNiH"," true",[220,971,238],{"class":230},[220,973,974],{"class":331}," instantExit",[220,976,291],{"class":230},[220,978,969],{"class":968},[220,980,254],{"class":230},[220,982,722],{"class":331},[220,984,985],{"class":222,"line":438},[220,986,987],{"class":230},"  }\n",[220,989,990,993],{"class":222,"line":587},[220,991,992],{"class":230},"}",[220,994,722],{"class":234},[268,996],{},[271,998,1000],{"id":999},"isgroupopengroup",[202,1001,1002],{},"isGroupOpen(group)",[211,1004,1006],{"className":213,"code":1005,"language":215,"meta":216,"style":216},"function isGroupOpen(group: ModalGroup): ComputedRef\u003Cboolean>\n",[202,1007,1008],{"__ignoreMap":216},[220,1009,1010,1012,1014,1016,1018,1020,1022,1024,1026,1028,1030],{"class":222,"line":223},[220,1011,611],{"class":285},[220,1013,251],{"class":614},[220,1015,617],{"class":230},[220,1017,621],{"class":620},[220,1019,291],{"class":230},[220,1021,626],{"class":294},[220,1023,629],{"class":230},[220,1025,295],{"class":294},[220,1027,298],{"class":230},[220,1029,472],{"class":294},[220,1031,307],{"class":230},[198,1033,642,1034,1037,1038,1040,1041,1043,1044,209],{},[202,1035,1036],{},"ComputedRef\u003Cboolean>"," that is ",[202,1039,479],{}," when at least one modal in ",[202,1042,621],{}," is mounted. Shorthand for ",[202,1045,1046],{},"groupModals(group).value.length > 0",[211,1048,1050],{"className":320,"code":1049,"language":322,"meta":216,"style":216},"\u003Cscript setup lang=\"ts\">\nimport { isGroupOpen } from '@kolirt\u002Fvue-modal'\n\nconst previewOpen = isGroupOpen('preview')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003C!-- Disable primary actions while a preview is shown -->\n  \u003Cbutton :disabled=\"previewOpen.value\" @click=\"save\">Save\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[202,1051,1052,1072,1090,1094,1116,1124,1128,1136,1141,1183],{"__ignoreMap":216},[220,1053,1054,1056,1058,1060,1062,1064,1066,1068,1070],{"class":222,"line":223},[220,1055,298],{"class":230},[220,1057,332],{"class":331},[220,1059,335],{"class":285},[220,1061,338],{"class":285},[220,1063,341],{"class":230},[220,1065,344],{"class":230},[220,1067,215],{"class":263},[220,1069,344],{"class":230},[220,1071,307],{"class":230},[220,1073,1074,1076,1078,1080,1082,1084,1086,1088],{"class":222,"line":353},[220,1075,227],{"class":226},[220,1077,231],{"class":230},[220,1079,251],{"class":234},[220,1081,254],{"class":230},[220,1083,257],{"class":226},[220,1085,260],{"class":230},[220,1087,208],{"class":263},[220,1089,266],{"class":230},[220,1091,1092],{"class":222,"line":372},[220,1093,386],{"emptyLinePlaceholder":385},[220,1095,1096,1098,1101,1103,1105,1107,1109,1112,1114],{"class":222,"line":382},[220,1097,286],{"class":285},[220,1099,1100],{"class":234}," previewOpen ",[220,1102,341],{"class":230},[220,1104,251],{"class":614},[220,1106,617],{"class":234},[220,1108,714],{"class":230},[220,1110,1111],{"class":263},"preview",[220,1113,714],{"class":230},[220,1115,722],{"class":234},[220,1117,1118,1120,1122],{"class":222,"line":389},[220,1119,375],{"class":230},[220,1121,332],{"class":331},[220,1123,307],{"class":230},[220,1125,1126],{"class":222,"line":399},[220,1127,386],{"emptyLinePlaceholder":385},[220,1129,1130,1132,1134],{"class":222,"line":406},[220,1131,298],{"class":230},[220,1133,394],{"class":331},[220,1135,307],{"class":230},[220,1137,1138],{"class":222,"line":438},[220,1139,1140],{"class":402},"  \u003C!-- Disable primary actions while a preview is shown -->\n",[220,1142,1143,1145,1148,1151,1153,1155,1158,1160,1163,1165,1167,1170,1172,1174,1177,1179,1181],{"class":222,"line":587},[220,1144,409],{"class":230},[220,1146,1147],{"class":331},"button",[220,1149,1150],{"class":285}," :disabled",[220,1152,341],{"class":230},[220,1154,344],{"class":230},[220,1156,1157],{"class":263},"previewOpen.value",[220,1159,344],{"class":230},[220,1161,1162],{"class":285}," @click",[220,1164,341],{"class":230},[220,1166,344],{"class":230},[220,1168,1169],{"class":263},"save",[220,1171,344],{"class":230},[220,1173,426],{"class":230},[220,1175,1176],{"class":234},"Save",[220,1178,375],{"class":230},[220,1180,1147],{"class":331},[220,1182,307],{"class":230},[220,1184,1185,1187,1189],{"class":222,"line":781},[220,1186,375],{"class":230},[220,1188,394],{"class":331},[220,1190,307],{"class":230},[1192,1193,1194],"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 .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 .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 .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 pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":216,"searchDepth":353,"depth":353,"links":1196},[1197,1198,1199,1200],{"id":273,"depth":353,"text":273},{"id":449,"depth":353,"text":452},{"id":598,"depth":353,"text":601},{"id":999,"depth":353,"text":1002},"Reactive read-only exports for observing the modal stack — modals, isOpened, groupModals, isGroupOpen.","md",null,{},{"title":152,"description":1201},"LeXM5Wr3CD2EYp2M6IEZEaxCfn-BRkMIGSepR9UN2IY",[1208,1210],{"title":148,"path":149,"stem":150,"description":1209,"children":-1},"createModal() — the Vue plugin factory for @kolirt\u002Fvue-modal.",{"title":156,"path":157,"stem":158,"description":1211,"children":-1},"Subscribe to modal-open and modal-close events globally or per group — onModalOpen, onModalClose.",1779523620952]