@muxcodecli/cli 1.15.17 → 1.15.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bip-bop-01-ga21wr3r.mp3 +0 -0
- package/dist/bip-bop-03-kgfd4rq4.mp3 +0 -0
- package/dist/chunk-0hqmdrjr.js +3 -0
- package/dist/chunk-0npjzye0.js +2 -0
- package/dist/chunk-0pe6y883.js +2 -0
- package/dist/chunk-0qqpjj2h.js +3 -0
- package/dist/chunk-0r3h8jgj.js +2 -0
- package/dist/chunk-11285jfy.js +3 -0
- package/dist/chunk-11ant2kk.js +3 -0
- package/dist/chunk-124qmktt.js +18 -0
- package/dist/chunk-138ntz3h.js +2 -0
- package/dist/chunk-1e73ypg5.js +3 -0
- package/dist/chunk-1evcc54z.js +3 -0
- package/dist/chunk-1mqsg5s7.js +75 -0
- package/dist/chunk-1pv2317e.js +7 -0
- package/dist/chunk-1y3ssxx6.js +2 -0
- package/dist/chunk-20x8vsdn.js +7 -0
- package/dist/chunk-21x3anp4.js +9 -0
- package/dist/chunk-22qpzg37.js +212 -0
- package/dist/chunk-2bt5mtgm.js +3 -0
- package/dist/chunk-2d95ene8.js +2 -0
- package/dist/chunk-2h2zq5cp.js +2 -0
- package/dist/chunk-2pc63est.js +2 -0
- package/dist/chunk-33gs9z8d.js +2 -0
- package/dist/chunk-33vwwxjk.js +2 -0
- package/dist/chunk-3dq7hfxc.js +9 -0
- package/dist/chunk-3jvft1k1.js +2 -0
- package/dist/chunk-4jqh4mpm.js +2 -0
- package/dist/chunk-4mgyaytc.js +672 -0
- package/dist/chunk-4va8fzq1.js +2 -0
- package/dist/chunk-4wkq9y2z.js +7 -0
- package/dist/chunk-526nbm9e.js +2 -0
- package/dist/chunk-5a6895cv.js +37 -0
- package/dist/chunk-5e9dq2av.js +2 -0
- package/dist/chunk-5jn2z3nf.js +3 -0
- package/dist/chunk-5npr1qyq.js +574 -0
- package/dist/chunk-5sfky0gz.js +8 -0
- package/dist/chunk-5t7xqdvk.js +3 -0
- package/dist/chunk-5tpqj6ag.js +10 -0
- package/dist/chunk-5v5015am.js +12 -0
- package/dist/chunk-5wawdxv2.js +7 -0
- package/dist/chunk-6btrg3ff.js +2 -0
- package/dist/chunk-6skbzman.js +6 -0
- package/dist/chunk-6sz698ew.js +11 -0
- package/dist/chunk-6xzrzmsr.js +2 -0
- package/dist/chunk-7848rf5q.js +63 -0
- package/dist/chunk-7ep2edcv.js +12 -0
- package/dist/chunk-7svw66kw.js +13 -0
- package/dist/chunk-7xgr8vx6.js +2 -0
- package/dist/chunk-7zjn6m1m.js +2 -0
- package/dist/chunk-8atqb297.js +12 -0
- package/dist/chunk-8ebkxjar.js +7 -0
- package/dist/chunk-8j3aw4qg.js +3 -0
- package/dist/chunk-8jy0dvcn.js +3 -0
- package/dist/chunk-8refh038.js +2 -0
- package/dist/chunk-93cszp8k.js +3 -0
- package/dist/chunk-93ze3gcb.js +2 -0
- package/dist/chunk-98yxzxtd.js +2 -0
- package/dist/chunk-9g64kggy.js +3 -0
- package/dist/chunk-9h1pwxb2.js +8 -0
- package/dist/chunk-9j4j9nrm.js +2 -0
- package/dist/chunk-9kzczwh0.js +3 -0
- package/dist/chunk-9n629gtn.js +3 -0
- package/dist/chunk-9y59sxde.js +2 -0
- package/dist/chunk-a2m5jyd8.js +2 -0
- package/dist/chunk-a595cp8s.js +2 -0
- package/dist/chunk-ak0k3m4q.js +3 -0
- package/dist/chunk-apksmrz9.js +3 -0
- package/dist/chunk-b05r09sj.js +10 -0
- package/dist/chunk-b47e563q.js +2 -0
- package/dist/chunk-b57avnse.js +2 -0
- package/dist/chunk-bfjq7w7k.js +2 -0
- package/dist/chunk-bhc70qet.js +3 -0
- package/dist/chunk-bvtscj68.js +2 -0
- package/dist/chunk-bw2cy5v0.js +8 -0
- package/dist/chunk-c7dvyh2x.js +2 -0
- package/dist/chunk-cbz8b7g5.js +3 -0
- package/dist/chunk-cw4vbnet.js +3 -0
- package/dist/chunk-czcj3j9y.js +2 -0
- package/dist/chunk-dg466kdp.js +2 -0
- package/dist/chunk-dmscgnhq.js +2 -0
- package/dist/chunk-dtk4m8rm.js +3 -0
- package/dist/chunk-dy7akyj3.js +2 -0
- package/dist/chunk-e2wv2sp4.js +2 -0
- package/dist/chunk-e8j03wnd.js +3 -0
- package/dist/chunk-egkp6tct.js +2 -0
- package/dist/chunk-emfc800a.js +2 -0
- package/dist/chunk-envnht72.js +4 -0
- package/dist/chunk-eskw1cj2.js +3 -0
- package/dist/chunk-ezz15tyg.js +2 -0
- package/dist/chunk-fkmzj0qt.js +16 -0
- package/dist/chunk-fqt3c3g5.js +4 -0
- package/dist/chunk-frbht418.js +19 -0
- package/dist/chunk-ftz8cqfq.js +2 -0
- package/dist/chunk-g4jxdrr6.js +2 -0
- package/dist/chunk-g52xzmrr.js +2 -0
- package/dist/chunk-gbtvkje9.js +4 -0
- package/dist/chunk-gm9msqq5.js +8 -0
- package/dist/chunk-gxat3dpd.js +3 -0
- package/dist/chunk-hfppq1w5.js +4 -0
- package/dist/chunk-jdg870gy.js +1683 -0
- package/dist/chunk-jfz77m78.js +3 -0
- package/dist/chunk-jg9r58pf.js +16 -0
- package/dist/chunk-jgzt4945.js +2 -0
- package/dist/chunk-jh2epywq.js +2 -0
- package/dist/chunk-jpj6a56k.js +2 -0
- package/dist/chunk-jw4sgq23.js +2 -0
- package/dist/chunk-jws11ngd.js +2 -0
- package/dist/chunk-jxhz82qt.js +2 -0
- package/dist/chunk-k19y2psf.js +4 -0
- package/dist/chunk-k6cj14zk.js +2 -0
- package/dist/chunk-kktm0pdc.js +3 -0
- package/dist/chunk-kmr27ake.js +160 -0
- package/dist/chunk-kyhwvbvq.js +2 -0
- package/dist/chunk-mgn5pejx.js +2 -0
- package/dist/chunk-mskyzxb3.js +3 -0
- package/dist/chunk-my9cfmvt.js +5 -0
- package/dist/chunk-n4vx7kvs.js +389 -0
- package/dist/chunk-nc44rvs7.js +23 -0
- package/dist/chunk-ng3vbpmy.js +3 -0
- package/dist/chunk-nmnp5g5p.js +228 -0
- package/dist/chunk-nn0t3xmn.js +2 -0
- package/dist/chunk-npr41z9a.js +19 -0
- package/dist/chunk-ntvr3177.js +25 -0
- package/dist/chunk-pkc5hkha.js +2 -0
- package/dist/chunk-ppg6zhae.js +3 -0
- package/dist/chunk-pqwm9zk1.js +6 -0
- package/dist/chunk-ptvjmfqx.js +2 -0
- package/dist/chunk-q1r48y0y.js +34 -0
- package/dist/chunk-q9yddd1r.js +3 -0
- package/dist/chunk-qavtgsrh.js +2 -0
- package/dist/chunk-qvh8ghjw.js +7 -0
- package/dist/chunk-qx6r187q.js +2 -0
- package/dist/chunk-r093mfa8.js +32 -0
- package/dist/chunk-rbaj9ktq.js +2 -0
- package/dist/chunk-rkf9ynkx.js +3 -0
- package/dist/chunk-rpp44jtx.js +3 -0
- package/dist/chunk-rrvwp351.js +2 -0
- package/dist/chunk-rs8fsgqt.js +81 -0
- package/dist/chunk-s4gy87ft.js +8 -0
- package/dist/chunk-s5qq2ch2.js +12 -0
- package/dist/chunk-s92578qx.js +71 -0
- package/dist/chunk-snsb760m.js +2 -0
- package/dist/chunk-sp1cvejp.js +2 -0
- package/dist/chunk-spb3tm25.js +4 -0
- package/dist/chunk-srnmswkj.js +2 -0
- package/dist/chunk-sxgbzwrs.js +2 -0
- package/dist/chunk-t2s6m9t2.js +35 -0
- package/dist/chunk-t98sdxty.js +2 -0
- package/dist/chunk-tbnxx5na.js +2 -0
- package/dist/chunk-tfxm3qz4.js +2 -0
- package/dist/chunk-treb38pz.js +3 -0
- package/dist/chunk-tvw8tfpr.js +6 -0
- package/dist/chunk-v107htgw.js +101 -0
- package/dist/chunk-v8at4gnt.js +2 -0
- package/dist/chunk-vmr3get8.js +2 -0
- package/dist/chunk-vqrnejgj.js +71 -0
- package/dist/chunk-vvwy955j.js +3 -0
- package/dist/chunk-w5jxffnq.js +2 -0
- package/dist/chunk-wcbh5jqy.js +3 -0
- package/dist/chunk-wfmrnep1.js +2 -0
- package/dist/chunk-wk11yy8h.js +3 -0
- package/dist/chunk-wn5f1tfj.js +2 -0
- package/dist/chunk-wpm2p1gq.js +3 -0
- package/dist/chunk-wxkyv5gj.js +2 -0
- package/dist/chunk-wyed730e.js +2 -0
- package/dist/chunk-x65zs89t.js +3 -0
- package/dist/chunk-x6zjq78z.js +2 -0
- package/dist/chunk-xedav0qx.js +3 -0
- package/dist/chunk-xmftb9ad.js +38 -0
- package/dist/chunk-xvtkw7hj.js +3 -0
- package/dist/chunk-xy0txg0n.js +2 -0
- package/dist/chunk-y7s5cpwr.js +34 -0
- package/dist/chunk-yg48tfvv.js +16 -0
- package/dist/chunk-ygpen625.js +3 -0
- package/dist/chunk-ymb45bt6.js +2 -0
- package/dist/chunk-yp2zfcvh.js +8 -0
- package/dist/chunk-z3mx7n44.js +3 -0
- package/dist/chunk-zaj612bw.js +3 -0
- package/dist/chunk-zb3179f9.js +3 -0
- package/dist/chunk-zhd8f4pc.js +759 -0
- package/dist/chunk-zjpnyah2.js +3 -0
- package/dist/cli/cmd/tui/worker.js +2 -0
- package/dist/highlights-eq9cgrbb.scm +604 -0
- package/dist/highlights-ghv9g403.scm +205 -0
- package/dist/highlights-hk7bwhj4.scm +284 -0
- package/dist/highlights-r812a2qc.scm +150 -0
- package/dist/highlights-x6tmsnaa.scm +115 -0
- package/dist/index.js +146 -5742
- package/dist/injections-73j83es3.scm +27 -0
- package/dist/muxcode-linux-x64 +0 -0
- package/dist/nope-03-2z8weyjw.mp3 +0 -0
- package/dist/photon_rs_bg-bq08arze.wasm +0 -0
- package/dist/staplebops-06-rz29m246.mp3 +0 -0
- package/dist/tree-sitter-3jzf13jk.wasm +0 -0
- package/dist/tree-sitter-bash-hq5s6fxb.wasm +0 -0
- package/dist/tree-sitter-javascript-nd0q4pe9.wasm +0 -0
- package/dist/tree-sitter-markdown-411r6y9b.wasm +0 -0
- package/dist/tree-sitter-markdown_inline-j5349f42.wasm +0 -0
- package/dist/tree-sitter-powershell-ryb2ffqs.wasm +0 -0
- package/dist/tree-sitter-typescript-zxjzwt75.wasm +0 -0
- package/dist/tree-sitter-zig-e78zbjpm.wasm +0 -0
- package/dist/yup-01-30ecpeh9.mp3 +0 -0
- package/package.json +2 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{Mj as a,Nj as b}from"./chunk-2bt5mtgm.js";import"./chunk-jdg870gy.js";import"./chunk-11285jfy.js";import"./chunk-nmnp5g5p.js";import"./chunk-tvw8tfpr.js";import"./chunk-xmftb9ad.js";import"./chunk-rpp44jtx.js";import"./chunk-4mgyaytc.js";import"./chunk-pqwm9zk1.js";import"./chunk-22qpzg37.js";import"./chunk-93cszp8k.js";import"./chunk-n4vx7kvs.js";import"./chunk-v107htgw.js";import"./chunk-cbz8b7g5.js";import"./chunk-5jn2z3nf.js";import"./chunk-vqrnejgj.js";import"./chunk-zhd8f4pc.js";import"./chunk-ygpen625.js";import"./chunk-jfz77m78.js";import"./chunk-my9cfmvt.js";import"./chunk-8jy0dvcn.js";import"./chunk-frbht418.js";import"./chunk-8ebkxjar.js";import"./chunk-zjpnyah2.js";import"./chunk-0hqmdrjr.js";import"./chunk-1pv2317e.js";import"./chunk-21x3anp4.js";import"./chunk-ntvr3177.js";import"./chunk-9h1pwxb2.js";import"./chunk-fkmzj0qt.js";import"./chunk-q9yddd1r.js";import"./chunk-eskw1cj2.js";import"./chunk-k19y2psf.js";import"./chunk-ppg6zhae.js";import"./chunk-ng3vbpmy.js";import"./chunk-1mqsg5s7.js";import"./chunk-z3mx7n44.js";import"./chunk-0qqpjj2h.js";import"./chunk-9g64kggy.js";import"./chunk-8j3aw4qg.js";export{b as AppRuntime,a as AppLayer};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{SF as kQ}from"./chunk-8j3aw4qg.js";function xJ(J){let Q=J.trim().toLowerCase();if(!Q)throw Error("Invalid keymap token: token cannot be empty");return Q}function GZ(J){let Q=J.trim().toLowerCase();if(!Q)throw Error("Invalid key name: key name cannot be empty");return Q}function JQ(J){return{name:GZ(J.name),ctrl:J.ctrl??!1,shift:J.shift??!1,meta:J.meta??!1,super:J.super??!1,hyper:J.hyper||void 0}}function KJ(J){return{name:J.name,ctrl:J.ctrl,shift:J.shift,meta:J.meta,super:J.super,hyper:J.hyper||void 0}}function yJ(J,Q){let Z=KJ(JQ(J));return{stroke:Z,display:Q?.display??tJ(Z),match:Q?.match??aJ(Z),tokenName:Q?.tokenName?xJ(Q.tokenName):void 0}}function WZ(J){return{stroke:KJ(J.stroke),display:J.display,match:J.match,tokenName:J.tokenName,patternName:J.patternName,payloadKey:J.payloadKey}}function OJ(J){return J.map((Q)=>WZ(Q))}function wQ(J){if("match"in J)return J.match;if("stroke"in J)return aJ(J.stroke);return aJ(J)}function aJ(J){return`key:${XZ(JQ(J))}`}function QQ(J){let Q=J.trim();if(!Q)throw Error("Invalid keymap match id: id cannot be empty");return`text:${Q}`}function SJ(J,Q){if("stroke"in J){if(Q?.preferDisplay&&J.display)return J.display;return tJ(J.stroke)}return tJ(JQ(J))}function lJ(J,Q){return J.map((Z)=>SJ(Z,Q)).join(Q?.separator??"")}function tJ(J){let Q=[];if(J.ctrl)Q.push("ctrl");if(J.shift)Q.push("shift");if(J.meta)Q.push("meta");if(J.super)Q.push("super");if(J.hyper)Q.push("hyper");return Q.push(J.name==="return"?"enter":J.name),Q.join("+")}function XZ(J){return`${J.name}:${J.ctrl?1:0}:${J.shift?1:0}:${J.meta?1:0}:${J.super?1:0}:${J.hyper?1:0}`}var ZQ=Symbol("keymap-extension-context");function mJ(J){if(J.isDestroyed)return null;return J.getFocusedTarget()}function YZ(J,Q,Z){let $=Q??J.rootTarget,G=Q!==null;while($){if(Z($,G)===!1)return;$=J.getParentTarget($),G=!1}}function TQ(J,Q){let Z=new Set;return YZ(J,Q,($)=>{Z.add($)}),Z}function $Q(J,Q,Z){let $=[],G=TQ(Q,Z),W=Array.isArray(J)?J:jZ(J);for(let j of W)if(uJ(Q,j,Z,G))$.push(j);return $}function jZ(J){return[...J].sort((Q,Z)=>{return Z.priority-Q.priority||Z.order-Q.order})}function uJ(J,Q,Z,$=TQ(J,Z)){let G=Q.target;if(!G)return!0;if(J.isTargetDestroyed(G))return!1;if(Q.targetMode==="focus")return G===Z;return $.has(G)}function GQ(J){let Q=J.binding.sequence[J.index];if(!Q?.patternName)return 0;let Z=J.patterns?.at(-1);return Z?.name===Q.patternName?Z.values.length:0}function pJ(J,Q,Z=!0){let $=J.binding.sequence[J.index];if(!$?.patternName)return!0;let G=Q.get($.patternName);return G?GQ(J)>=G.min:Z}function kJ(J,Q,Z=!0){let $=J.binding.sequence[J.index];if($?.patternName){let G=Q.get($.patternName);if(G&&GQ(J)<G.max)return!0}return pJ(J,Q,Z)&&J.index+1<J.binding.sequence.length}function hJ(J,Q){return J.index===J.binding.sequence.length-1&&pJ(J,Q,!1)}function nJ(J,Q,Z,$){return{parent:J,depth:J?J.depth+1:0,stroke:Q,match:Z,pattern:$,children:new Map,patternChildren:[],bindings:[],reachableBindings:[]}}function WQ(J,Q){let Z=nJ(null,null,null);for(let $ of J){if($.event!=="press")continue;let G=Z;for(let W of $.sequence){let j;if(W.patternName){let X=Q.get(W.patternName);if(j=G.patternChildren.find((_)=>_.pattern?.name===W.patternName),!j)j=nJ(G,W.stroke,W.match,X),G.patternChildren.push(j)}else if(j=G.children.get(W.match),!j)j=nJ(G,W.stroke,W.match),G.children.set(W.match,j);j.reachableBindings.push($),G=j}G.bindings.push($)}return Z}function k0(J,Q){let Z=J;for(let $=0;$<=Q.index;$+=1){let G=Q.binding.sequence[$];if(!G||!Z)return;Z=G.patternName?Z.patternChildren.find((W)=>W.pattern?.name===G.patternName):Z.children.get(G.match)}return Z}function h0(J){let Q=[],Z=J;while(Z?.stroke&&Z.match)Q.push({stroke:KJ(Z.stroke),display:"",match:Z.match}),Z=Z.parent;return Q.reverse(),Q}function f0(J){if(!J.stroke||J.depth===0)return{display:""};let Q=J.depth-1;for(let Z of J.reachableBindings){let $=Z.sequence[Q];if($)return{display:$.display,tokenName:$.tokenName}}return{display:SJ(J.stroke)}}function v0(J){return[...J.children.values(),...J.patternChildren]}function DQ(J,Q){let Z=[];for(let $ of J){if(!pJ($,Q))continue;let G=$.index+1,W=$.binding.sequence[G];if(W)Z.push({part:W,binding:$.binding,index:G,exact:G===$.binding.sequence.length-1,continues:G<$.binding.sequence.length-1})}return Z}function NQ(J,Q,Z,$){let G=Z.patternName;if(!G)return{...J,index:Q};let W=[...J.patterns??[]],j=W.at(-1);if(j?.name===G)W[W.length-1]={...j,values:[...j.values,$],parts:[...j.parts,Z]};else W.push({name:G,payloadKey:Z.payloadKey??G,values:[$],parts:[Z]});return{layer:J.layer,binding:J.binding,index:Q,parts:[...J.parts,Z],patterns:W}}function dJ(J,Q){let Z=J.parts.at(-1);if(!Z||Z.patternName)return Q.length;let $=Q.indexOf(Z.match);return $===-1?Q.length:$}function eJ(J,Q,Z,$,G,W,j,X,_){let V=Q.sequence[Z];if(!V)return;if(V.patternName){let I=X(V.patternName,j);if(!I)return;let D=_(j,V.patternName,I);return NQ({layer:J,binding:Q,index:Z,parts:$,patterns:G},Z,D,I.value??j.name)}if(!W.includes(V.match))return;return{layer:J,binding:Q,index:Z,parts:[...$,V],patterns:G}}function BQ(J,Q,Z,$,G,W){let j=J.binding.sequence[J.index];if(j?.patternName){let X=$.get(j.patternName);if(X&&GQ(J)<X.max){let _=G(X.name,Z);if(_){let V=W(Z,X.name,_);return NQ(J,J.index,V,_.value??Z.name)}}if(!pJ(J,$,!1))return;return eJ(J.layer,J.binding,J.index+1,J.parts,J.patterns,Q,Z,G,W)}return eJ(J.layer,J.binding,J.index+1,J.parts,J.patterns,Q,Z,G,W)}function MQ(J,Q,Z,$,G){let W=[],j=Number.POSITIVE_INFINITY;for(let X of J.bindings){if(X.event!=="press")continue;let _=eJ(J,X,0,[],void 0,Q,Z,$,G);if(!_)continue;let V=dJ(_,Q);if(V<j)j=V,W.length=0;if(V===j)W.push(_)}return W}var D0={};kQ(D0,{stringifyKeyStroke:()=>SJ,stringifyKeySequence:()=>lJ,Keymap:()=>iQ,KEYMAP_EXTENSION_CONTEXT:()=>ZQ});function qQ(J){let Q=Object.create(null),Z=($,G)=>{let W=Q[$];if(!W)return;let j=W.filter((X)=>X!==G);if(j.length===0)delete Q[$];else if(j.length!==W.length)Q[$]=j};return{hook($,G){return Q[$]=[...Q[$]??[],G],()=>Z($,G)},has($){return(Q[$]?.length??0)>0},emit($,...G){let W=Q[$];if(!W)return;for(let j of W)try{if(G.length===0)j();else j(G[0])}catch(X){J($,X)}}}}function hQ(){let J=[];return{get:()=>J,set:(Q)=>{J=Q},remove(Q){J=J.filter((Z)=>Z!==Q)},has:()=>J.length>0,clear:()=>{J=[]}}}function MJ(){let J=hQ();return{append(Q){return J.set([...J.get(),Q]),()=>J.remove(Q)},prepend(Q){return J.set([Q,...J.get()]),()=>J.remove(Q)},values:J.get,has:J.has,clear:J.clear}}function XQ(){let J=hQ(),Q=0;return{register(Z,$){let G={...$,listener:Z,order:Q++};return J.set([...J.get(),G].sort((W,j)=>{return j.priority-W.priority||W.order-j.order})),()=>J.remove(G)},entries:J.get,has:J.has,clear:J.clear}}function _Z(J){return typeof J==="string"||!!J&&typeof J==="object"&&!Array.isArray(J)}function fQ(J){if(!Array.isArray(J))return{ok:!1,reason:"Invalid keymap bindings: expected an array of binding objects"};for(let[Q,Z]of J.entries()){if(!Z||typeof Z!=="object"||Array.isArray(Z))return{ok:!1,reason:`Invalid keymap binding at index ${Q}: expected a binding object`};if(!_Z(Z.key))return{ok:!1,reason:`Invalid keymap binding at index ${Q}: expected "key" to be a string or keystroke object`}}return{ok:!0}}function zQ(J){let Q=fQ(J);if(!Q.ok)throw Error(Q.reason);return J.map((Z)=>({...Z,key:typeof Z.key==="string"?Z.key:{...Z.key}}))}function HQ(J){return{...J,sequence:OJ(J.sequence)}}function UZ(J,Q){let Z=MJ();return{prependLayerAnalyzer($){return Z.prepend($)},appendLayerAnalyzer($){return Z.append($)},clearLayerAnalyzers(){Z.clear()},analyzeLayer($){let G=Z.values();if(G.length===0)return;let W=VZ($.bindings),j={target:$.target,order:$.order,sourceBindings:$.sourceBindings,bindings:W,hasTokenBindings:$.hasTokenBindings,checkCommandResolution(X){return Q.getCommandResolutionStatus(X,$.commands)},warn(X,_,V){J.emitWarning(X,_,V)},warnOnce(X,_,V,I){J.warnOnce(X,_,V,I)},error(X,_,V){J.emitError(X,_,V)}};for(let X of G)try{X(j)}catch(_){J.emitError("layer-analyzer-error",_,"[Keymap] Error in layer analyzer:")}}}}function VZ(J){return J.map((Q)=>({sequence:OJ(Q.sequence),command:Q.command,attrs:Q.attrs,event:Q.event,preventDefault:Q.preventDefault,fallthrough:Q.fallthrough,parsedBinding:HQ(Q.parsedBinding),sourceTarget:Q.sourceTarget,sourceLayerOrder:Q.sourceLayerOrder,bindingIndex:Q.bindingIndex,hasCommandAtSequence:J.some((Z)=>{return Z.event==="press"&&Z.command!==void 0&&AZ(Z,Q)}),hasContinuations:J.some((Z)=>{return Z.event==="press"&&HZ(Q,Z)})}))}function AZ(J,Q){return J.sequence.length===Q.sequence.length&&J.sequence.every((Z,$)=>Z.match===Q.sequence[$]?.match)}function HZ(J,Q){return J.sequence.length<Q.sequence.length&&J.sequence.every((Z,$)=>Z.match===Q.sequence[$]?.match)}function cJ(){return{version:-1,notifyVersion:-1,focused:void 0,value:[],targets:new WeakMap}}function FZ(){return{plain:cJ(),bindings:cJ(),metadata:cJ(),bindingsAndMetadata:cJ()}}function IZ(J,Q){if(Q===void 0)return J.plain;let Z=Q.includeBindings===!0,$=Q.includeMetadata===!0;return Z?$?J.bindingsAndMetadata:J.bindings:$?J.metadata:J.plain}function EZ(J,Q,Z){let $=Z?J.targets.get(Z):J.nullTarget;return $?.version===Q?$:void 0}function RZ(J,Q,Z,$){let G={version:Q,value:$};if(Z)J.targets.set(Z,G);else J.nullTarget=G}function OZ(J,Q){if(J===Q)return!0;if(!J||!Q)return!1;if(J.captures.length!==Q.captures.length)return!1;for(let Z=0;Z<J.captures.length;Z+=1){let $=J.captures[Z],G=Q.captures[Z];if(!$||!G||$.layer!==G.layer||$.binding!==G.binding||$.index!==G.index||$.parts.length!==G.parts.length)return!1;for(let X=0;X<$.parts.length;X+=1)if($.parts[X]?.match!==G.parts[X]?.match)return!1;let W=$.patterns??[],j=G.patterns??[];if(W.length!==j.length)return!1;for(let X=0;X<W.length;X+=1){let _=W[X],V=j[X];if(!_||!V||_.name!==V.name)return!1;if(_.values.length!==V.values.length)return!1;for(let I=0;I<_.values.length;I+=1)if(!Object.is(_.values[I],V.values[I]))return!1}}return!0}function wZ(J){let Q=J.parts.at(-1);if(!Q||J.parts.length<=1)return;let Z=J.index-1,$=J.patterns;if(Q.patternName){let G=$?.at(-1);if(G?.name===Q.patternName)if(G.values.length>1)Z=J.index,$=[...($??[]).slice(0,-1),{...G,values:G.values.slice(0,-1),parts:G.parts.slice(0,-1)}];else $=($??[]).slice(0,-1)}return{layer:J.layer,binding:J.binding,index:Z,parts:J.parts.slice(0,-1),patterns:$}}function YQ(J){let Q=J.captures[0];if(!Q||Q.parts.length===0)return[];let Z=[];for(let $=0;$<Q.parts.length;$+=1){let G=Q.parts[$];if(!G)continue;let W,j,X=!1,_=!1;for(let V of J.captures){let I=V.parts[$];if(!I)continue;if(W===void 0){W=I.display,j=I.tokenName;continue}if(!X&&W!==I.display)X=!0;if(!_&&j!==I.tokenName)_=!0}if(W===void 0||X)W=SJ(G.stroke);if(_)j=void 0;Z.push(yJ(G.stroke,{display:W,match:G.match,tokenName:j}))}return Z}function SQ(J){if(J.isDestroyed)throw Error("Cannot use a keymap after its host was destroyed");return J}function TZ(J,Q,Z,$,G,W,j={}){let X=FZ(),_=-1,V=[],I=()=>{return SQ(Q).getFocusedTarget()},D=()=>{return mJ(Q)},z=(U)=>{let E=J.pending;if(OZ(E,U))return;J.pending=U,j.onPendingSequenceChanged?.(E,U),bJ(),$.queueStateChange()},K=()=>{let U=J.pending;if(!U)return;let E=I(),L=W.getActiveCommandView(E),M=U.captures.filter((C)=>{return J.layers.has(C.layer)&&y(C.layer,E)&&G.matchesConditions(C.layer)&&ZJ(C.binding,E,L)&&kJ(C,J.patterns)});if(M.length===0){z(null);return}if(M.length!==U.captures.length)z({captures:M});return J.pending??void 0},m=()=>{if(Q.isDestroyed||!J.pending)return;K()},d=()=>{return!Q.isDestroyed&&J.pending!==null},g=()=>{if(_===J.cacheVersion)return V;let U=K(),E=U?YQ(U):[];if(!U||n())_=J.cacheVersion,V=E;return E},i=()=>{let U=K();if(!U)return!1;let E=U.captures[0];if(!E||E.parts.length<=1)return z(null),!0;let L=[];for(let M of U.captures){let C=wZ(M);if(!C)continue;L.push(C)}if(L.length===0)return z(null),!0;return z({captures:L}),!0},GJ=(U)=>{let E=U?.includeBindings===!0,L=U?.includeMetadata===!0,M=IZ(X,U);if(M.notifyVersion===J.derivedVersion)return M.value;return a(M,E,L)},a=(U,E,L)=>{if(Q.isDestroyed)SQ(Q);let M=I(),C=EZ(U,J.cacheVersion,M);if(C)return U.notifyVersion=J.derivedVersion,U.version=J.cacheVersion,U.focused=M,U.value=C.value,C.value;let h=W.getActiveCommandView(M),v=K(),f=v?[]:x(M),o=v?UJ(v.captures,E,L,M,h):p(f,E,L,M,h);if(v?n():t(f))U.version=J.cacheVersion,U.notifyVersion=J.derivedVersion,U.focused=M,U.value=o,RZ(U,J.cacheVersion,M,o);return o},O=(U,E)=>{let L=E?.includeBindings===!0,M=E?.includeMetadata===!0,C=I(),h=W.getActiveCommandView(C);return UJ(U,L,M,C,h)},S=(U,E)=>{let L=E?.includeBindings===!0,M=E?.includeMetadata===!0,C=D(),h=U===C?K():void 0,v=W.getActiveCommandView(U);if(h)return UJ(h.captures,L,M,U,v);return p(x(U),L,M,U,v)},x=(U)=>{if(J.activeLayersCacheVersion===J.cacheVersion&&J.activeLayersCacheFocused===U)return J.activeLayersCache;return J.activeLayersCacheVersion=J.cacheVersion,J.activeLayersCacheFocused=U,J.activeLayersCache=$Q(J.sortedLayers,Q,U),J.activeLayersCache},y=(U,E)=>{return uJ(Q,U,E)},t=(U)=>{return!J.commandResolvers.has()&&J.activeKeyCacheBlockers===0},n=()=>{return!J.commandResolvers.has()&&J.activeKeyCacheBlockers===0},QJ=(U,E,L)=>{let M=[];for(let C of U)if(G.matchesConditions(C)&&W.isBindingVisible(C,E,L))M.push(C);return M},ZJ=(U,E,L)=>{return G.matchesConditions(U)&&W.isBindingVisible(U,E,L)},WJ=(U,E)=>{let L,M,C=!1,h=!1;for(let v of U){let f=v.sequence[E];if(!f)continue;if(L===void 0){L=f.display,M=f.tokenName;continue}if(!C&&L!==f.display)C=!0;if(!h&&M!==f.tokenName)h=!0}if(L===void 0||C){let v=U[0]?.sequence[E]?.stroke;L=v?SJ(v):""}if(h)M=void 0;return{display:L,tokenName:M}},e=(U,E,L)=>{return{sequence:U.sequence,command:U.command,commandAttrs:W.getBindingCommandAttrs(U,E,L),attrs:U.attrs,event:U.event,preventDefault:U.preventDefault,fallthrough:U.fallthrough}},JJ=(U,E,L)=>{return U.map((M)=>e(M,E,L))},p=(U,E,L,M,C)=>{let h=new Map,v=new Set;for(let f of U){if(f.root.children.size===0&&f.root.patternChildren.length===0||!G.matchesConditions(f))continue;l(f.root.children.values(),h,v,E,M,C),l(f.root.patternChildren,h,v,E,M,C)}return IJ(h,E,L,M,C)},l=(U,E,L,M,C,h)=>{for(let v of U){let f=v.match;if(!f||L.has(f)||!v.stroke)continue;let o=jJ(v,M,C,h);if(!o)continue;let $J=E.get(f);if(!$J)E.set(f,NJ(v.stroke,o,M));else VJ($J,o,M);if(o.stop)L.add(f)}},jJ=(U,E,L,M)=>{if(!(U.children.size>0||U.patternChildren.length>0)){let o=XJ(FJ(U)?QJ(U.bindings,L,M):U.bindings,L,M);if(!o)return;let $J=WJ(o.bindings,U.depth-1);return{display:$J.display,tokenName:$J.tokenName,continues:!1,firstBinding:o.bindings[0],commandBinding:o.commandBinding,bindings:E?[...o.bindings]:void 0,stop:o.stop}}let h=QJ(U.reachableBindings,L,M);if(h.length===0)return;let v=XJ(U.bindings,L,M),f=WJ(h,U.depth-1);return{display:f.display,tokenName:f.tokenName,continues:!0,firstBinding:v?.bindings[0],commandBinding:v?.commandBinding,bindings:E&&v?[...v.bindings]:void 0,stop:!0}},FJ=(U)=>{if(J.commandResolvers.has())return!0;for(let E of U.bindings)if(E.matchers.length>0)return!0;return!1},UJ=(U,E,L,M,C)=>{let h=new Map,v=new Set;return wJ(DQ(U,J.patterns),h,v,E,M,C),IJ(h,E,L,M,C)},wJ=(U,E,L,M,C,h)=>{let v=new Set;for(let f of U){if(v.has(f.part.match))continue;v.add(f.part.match),BJ(f,U,E,L,M,C,h)}},BJ=(U,E,L,M,C,h,v)=>{let f=U.part.match;if(M.has(f))return;let o=TJ(U,E,C,h,v);if(!o)return;let $J=L.get(f);if(!$J)L.set(f,NJ(U.part.stroke,o,C));else VJ($J,o,C);if(o.stop)M.add(f)},IJ=(U,E,L,M,C)=>{let h=[];for(let v of U.values()){let f=CJ(v,E,L,M,C);if(f)h.push(f)}return h},TJ=(U,E,L,M,C)=>{let h=E.filter((EJ)=>EJ.part.match===U.part.match),v=h.filter((EJ)=>EJ.exact).map((EJ)=>EJ.binding),f=XJ(v,M,C),o=h.some((EJ)=>EJ.continues);if(!o&&!f)return;let $J=DJ(h);return{display:$J.display,tokenName:$J.tokenName,continues:o,firstBinding:f?.bindings[0],commandBinding:f?.commandBinding,bindings:L&&f?[...f.bindings]:void 0,stop:o||f?.stop===!0}},DJ=(U)=>{let E,L,M=!1,C=!1;for(let v of U){let f=v.part;if(E===void 0){E=f.display,L=f.tokenName;continue}if(!M&&E!==f.display)M=!0;if(!C&&L!==f.tokenName)C=!0}let h=U[0]?.part;if(E===void 0||M)E=h?SJ(h.stroke):"";if(C)L=void 0;return{display:E,tokenName:L}},XJ=(U,E,L)=>{let M=[],C;for(let h of U){if(!G.matchesConditions(h)||!W.isBindingVisible(h,E,L))continue;if(M.push(h),h.command===void 0)continue;if(C??=h,!h.fallthrough)return{bindings:M,commandBinding:C,stop:!0}}if(M.length===0)return;return{bindings:M,commandBinding:C,stop:!1}},NJ=(U,E,L)=>{return{stroke:U,display:E.display,tokenName:E.tokenName,continues:E.continues,firstBinding:E.firstBinding,commandBinding:E.commandBinding,bindings:L&&E.bindings?[...E.bindings]:void 0}},VJ=(U,E,L)=>{if(!U.firstBinding&&E.firstBinding)U.firstBinding=E.firstBinding;if(!U.commandBinding&&E.commandBinding)U.commandBinding=E.commandBinding;if(E.continues)U.continues=!0;if(!L||!E.bindings||E.bindings.length===0)return;if(!U.bindings){U.bindings=[...E.bindings];return}U.bindings.push(...E.bindings)},CJ=(U,E,L,M,C)=>{if(!U.commandBinding&&!U.continues)return;let h={stroke:KJ(U.stroke),display:U.display,continues:U.continues};if(U.tokenName)h.tokenName=U.tokenName;if(U.commandBinding)h.command=U.commandBinding.command;if(E&&U.bindings&&U.bindings.length>0)h.bindings=U.bindings.length===1?[e(U.bindings[0],M,C)]:JJ(U.bindings,M,C);if(L){if(U.firstBinding?.attrs)h.bindingAttrs=U.firstBinding.attrs;let v=U.commandBinding?W.getBindingCommandAttrs(U.commandBinding,M,C):void 0;if(v)h.commandAttrs=v}return h},bJ=()=>{if(!Z.has("pendingSequence"))return;Z.emit("pendingSequence",J.pending?YQ(J.pending):[])};return{getFocusedTarget:I,getFocusedTargetIfAvailable:D,setPendingSequence:z,ensureValidPendingSequence:K,revalidatePendingSequenceIfNeeded:m,hasPendingSequenceState:d,getPendingSequence:g,popPendingSequence:i,getActiveKeys:GJ,getActiveKeysForCaptures:O,getActiveKeysForFocused:S,getActiveLayers:x,isLayerActiveForFocused:y,collectSequencePartsFromPending:YQ,collectMatchingBindings:QJ,collectActiveBindings:JJ}}var vQ=new Set(["name","run","fields","attrs","rejectedResult"]),gQ=new Set(["key","cmd","event","preventDefault","fallthrough"]),yQ=new Set(["target","targetMode","priority","bindings","commands"]);function lQ(J){if(J===void 0||typeof J==="function")return J;let Q=J.trim();if(!Q)throw Error("Invalid keymap command: command cannot be empty");return Q}function DZ(J){let Q=J.trim();if(!Q)throw Error("Invalid keymap command name: name cannot be empty");if(/\s/.test(Q))throw Error(`Invalid keymap command name "${J}": command names cannot contain whitespace`);return Q}function mQ(J,Q,Z){let $=J.get(Q);if($)$.push(Z);else J.set(Q,[Z])}function NZ(J){let Q=[],Z=new Map;for(let $ of J.layers)for(let G of $.commands){let W={layer:$,commandState:G};Q.push(W),mQ(Z,G.command.name,W)}return{entries:Q,chainsByName:Z}}function BZ(J,Q,Z){let $=[],G=[],W=new Map,j=new Map;for(let X of J){if(X.commands.length===0)continue;if(Z&&!Q.matchesConditions(X))continue;for(let _ of X.commands){if(!Q.matchesConditions(_))continue;let V={layer:X,commandState:_};if($.push(V),mQ(j,_.command.name,V),!W.has(_.command.name))W.set(_.command.name,V),G.push(V)}}return{layers:J,entries:$,reachable:G,reachableByName:W,chainsByName:j}}function MZ(J,Q,Z,$){if(J.activeLayersCacheVersion!==J.cacheVersion||J.activeLayersCacheFocused!==$)J.activeLayersCacheVersion=J.cacheVersion,J.activeLayersCacheFocused=$,J.activeLayersCache=$Q(J.sortedLayers,Q,$);return BZ(J.activeLayersCache,Z,!0)}function qZ(J,Q,Z,$){if(Object.prototype.hasOwnProperty.call(J,Q)&&!Object.is(J[Q],Z))throw Error(`Conflicting keymap requirement for "${Q}" from ${$}`);J[Q]=Z}function zZ(J,Q,Z,$){if(Object.prototype.hasOwnProperty.call(J,Q)&&!Object.is(J[Q],Z))throw Error(`Conflicting keymap attribute for "${Q}" from ${$}`);J[Q]=Z}function RQ(J){let Q=`field ${J.fieldName}`;return{require(Z,$){qZ(J.requirements,Z,$,Q)},attr(Z,$){if(!J.attrs)throw Error(`Keymap ${Q} cannot publish attrs`);zZ(J.attrs,Z,$,Q)},activeWhen(Z){J.matchers.push(J.conditions.buildRuntimeMatcher(Z,Q))}}}function SZ(J){let Q=Object.getPrototypeOf(J);return Q===Object.prototype||Q===null}function HJ(J,Q){if(J instanceof Error&&J.message)return J.message;return Q}function FQ(J){if(!J)return!1;if(typeof J!=="object"&&typeof J!=="function")return!1;return typeof J.then==="function"}function vJ(J,Q){let Z=Q?.deep===!0,$=Q?.freeze===!0,G=Q?.preserveNonPlainObjects===!0;if(Array.isArray(J)){let W=Z?J.map((j)=>vJ(j,Q)):[...J];return $?Object.freeze(W):W}if(J&&typeof J==="object"){if(G&&!SZ(J))return J;let W={};for(let[j,X]of Object.entries(J))W[j]=Z?vJ(X,Q):X;return $?Object.freeze(W):W}return J}var LZ=["name"],uQ=Object.freeze({}),LQ=new WeakMap;function KZ(J,Q,Z,$,G){let W=-1,j,X=-1,_,V,I=-1,D,z,K=-1,m,d=-1,g=new Map,i=(A)=>{return PZ({commands:A,commandFields:J.commandFields,conditions:$,onError:(F,N,b)=>{Z.emitError(F,N,b)}})},GJ=(A)=>{return IJ(()=>J.commandResolvers.prepend(A),A)},a=(A)=>{return IJ(()=>J.commandResolvers.append(A),A)},O=()=>{if(!J.commandResolvers.has())return;Z.runWithStateChangeBatch(()=>{J.commandResolvers.clear(),G.onCommandResolversChanged(),Z.queueStateChange()})},S=(A)=>{return E(A).map((F)=>jQ(F.commandState))},x=(A)=>{let F=U(A),N=E(A,F);if(N.length===0)return[];let b=N.map((u)=>({entry:u,command:jQ(u.commandState),commandAttrs:u.commandState.attrs,bindings:[]})),s=new Map;for(let[u,r]of b.entries()){let YJ=s.get(r.command.name);if(YJ)YJ.push(u);else s.set(r.command.name,[u])}if(s.size>0)L(b,s,F);return b.map((u)=>({command:u.command,bindings:u.bindings}))},y=(A)=>{if(A.visibility==="registered"&&I===J.derivedVersion&&D===A.commands&&z)return z;let F=new Map;for(let N of A.commands)if(!F.has(N))F.set(N,[]);if(F.size===0)return F;if(M(F,U(A)),A.visibility==="registered")I=J.derivedVersion,D=A.commands,z=F;return F},t=(A,F,N)=>{let b=l(F);if(N){let r=[],YJ=b.chainsByName.get(A);if(YJ)for(let Y of YJ)r.push({target:Y.layer.target,command:Y.commandState.command,attrs:Y.commandState.attrs,payload:N.payload});let _J=$J(A,F,{mode:"active",execution:N});if(_J.resolved)r.push(_J.resolved);return{entries:r.length>0?r:void 0,hadError:_J.hadError}}let s=[];for(let r of b.chainsByName.get(A)??[])s.push({target:r.layer.target,command:r.commandState.command,attrs:r.commandState.attrs});let u=$J(A,F,{mode:"active"});if(u.resolved)s.push(u.resolved);return{entries:s.length>0?s:void 0,hadError:u.hadError}},n=(A)=>{if(d!==J.derivedVersion)d=J.derivedVersion,g=new Map;if(g.has(A))return g.get(A)??void 0;let F=NJ(XJ(A));return g.set(A,F??null),F},QJ=(A,F)=>{return NJ(l(F).chainsByName.get(A))},ZJ=(A,F)=>{return $J(A,null,{mode:"registered",execution:F})},WJ=(A,F,N)=>{return $J(A,F,{mode:"active",execution:N})},e=(A,F)=>{return TJ(A,F)?.command},JJ=(A)=>{return DJ(A)?.commandState.command},p=(A,F,N)=>{let s=jJ().chainsByName.get(A);if(!s||s.length===0)return;let u,r;for(let _J of s){if(!uJ(Q,_J.layer,F)){u??=_J;continue}if(!$.matchesConditions(_J.layer)||!$.matchesConditions(_J.commandState))r??=_J}let YJ=r??u;if(!YJ)return;return{reason:r?"disabled":"inactive",command:N?YJ.commandState.command:void 0}},l=(A)=>{if(X===J.derivedVersion&&_===A&&V)return V;let F=MZ(J,Q,$,A);if(FJ())X=J.derivedVersion,_=A,V=F;return F},jJ=()=>{if(W===J.derivedVersion&&j)return j;return W=J.derivedVersion,j=NZ(J),j},FJ=()=>{return J.activeCommandViewCacheBlockers===0},UJ=(A,F,N)=>{if(A.command===void 0||A.run)return!0;if(typeof A.command!=="string")return!1;if(N.reachableByName.has(A.command))return!0;return VJ(A.command,F,"active")!==void 0},wJ=(A,F,N)=>{if(typeof A.command!=="string")return;let b=N.reachableByName.get(A.command);if(b)return b.commandState.attrs;return VJ(A.command,F,"active")?.attrs},BJ=(A,F)=>{if(F?.some((b)=>b.command.name===A)||jJ().chainsByName.has(A))return"resolved";let N=$J(A,mJ(Q));if(N.resolved||N.hadError)return N.resolved?"resolved":"error";return"unresolved"},IJ=(A,F)=>{return Z.runWithStateChangeBatch(()=>{let N=A();return G.onCommandResolversChanged(),Z.queueStateChange(),()=>{Z.runWithStateChangeBatch(()=>{if(N(),J.commandResolvers.values().includes(F))return;G.onCommandResolversChanged(),Z.queueStateChange()})}})},TJ=(A,F)=>{let b=l(F).reachableByName.get(A);if(b)return{target:b.layer.target,command:b.commandState.command,attrs:b.commandState.attrs};return VJ(A,F,"active")},DJ=(A)=>{return XJ(A)?.[0]},XJ=(A)=>{let F=[];for(let N of J.sortedLayers)for(let b of N.commands)if(b.command.name===A)F.push({layer:N,commandState:b});return F.length>0?F:void 0},NJ=(A)=>{if(!A?.length)return;return A.map((F)=>({target:F.layer.target,command:F.commandState.command,attrs:F.commandState.attrs}))},VJ=(A,F,N)=>{return $J(A,F,{mode:N}).resolved},CJ=()=>{return jJ().entries},bJ=()=>{if(K===J.derivedVersion&&m)return m;let A=new Map;for(let F of J.layers)for(let N of F.bindings){if(typeof N.command!=="string")continue;let b=A.get(N.command);if(b)b.push(N);else A.set(N.command,[N])}return K=J.derivedVersion,m=A,A},U=(A)=>{let F=A?.visibility??"reachable",N=A&&Object.prototype.hasOwnProperty.call(A,"focused")?A.focused??null:mJ(Q);if(F==="registered")return{visibility:F,focused:N};return{visibility:F,focused:N,activeView:l(N)}},E=(A,F=U(A))=>{let N;if(F.visibility==="registered")N=CJ();else if(F.visibility==="active")N=F.activeView?.entries??[];else N=F.activeView?.reachable??[];return kZ({entries:N,query:A,getCommand:(b)=>jQ(b),onFilterError:(b)=>{Z.emitError("command-query-filter-error",b,"[Keymap] Error in command query filter:")}})},L=(A,F,N)=>{C(N,(b)=>{h(A,F,b)})},M=(A,F)=>{if(F.visibility==="registered"){let N=bJ();for(let[b,s]of A){let u=jJ().chainsByName.get(b)?.[0]?.commandState.attrs;for(let r of N.get(b)??[])s.push(f(r,u))}return}C(F,(N)=>{v(A,N,F)})},C=(A,F)=>{if(A.visibility==="registered"){for(let b of J.layers)for(let s of b.bindings)F(s);return}let N=A.activeView;if(!N)return;for(let b of N.layers){if(b.bindings.length===0||!$.matchesConditions(b))continue;for(let s of b.bindings)if($.matchesConditions(s)&&UJ(s,A.focused,N))F(s)}},h=(A,F,N)=>{if(typeof N.command!=="string")return;let b=F.get(N.command);if(!b||b.length===0)return;for(let s of b){let u=A[s];if(!u)continue;u.bindings.push(f(N,u.commandAttrs))}},v=(A,F,N)=>{if(typeof F.command!=="string")return;let b=A.get(F.command);if(!b)return;b.push(f(F,o(F,N)))},f=(A,F)=>{return{sequence:A.sequence,command:A.command,commandAttrs:F,attrs:A.attrs,event:A.event,preventDefault:A.preventDefault,fallthrough:A.fallthrough}},o=(A,F)=>{if(typeof A.command!=="string")return;if(F.visibility==="registered")return jJ().chainsByName.get(A.command)?.[0]?.commandState.attrs;let N=F.activeView;if(!N)return;return wJ(A,F.focused,N)},$J=(A,F,N)=>{let b=N?.mode??"active",s=N?.execution??{input:A},u=CZ(A,J.commandResolvers.values(),()=>gJ(F,b,s),(YJ)=>{Z.emitError("command-resolver-error",YJ,`[Keymap] Error in command resolver for "${A}":`)}),r=u.resolved;if(r){let YJ=rJ(r.command.name,F,b);if(YJ?.commandState.command===r.command&&r.target===void 0)r={...r,target:YJ.layer.target},u.resolved=r}if(r&&!r.attrs){let YJ=EJ(r.command.name,F,b)??xZ(r.command);if(YJ)u.resolved={...r,attrs:YJ}}return u},EJ=(A,F,N)=>{if(N==="registered")return DJ(A)?.commandState.attrs;return l(F).reachableByName.get(A)?.commandState.attrs},rJ=(A,F,N)=>{if(N==="registered")return DJ(A);return l(F).reachableByName.get(A)},gJ=(A,F,N)=>{let{input:b,payload:s}=N;return{context:{get input(){return b},get payload(){return s},setInput(u){b=u},setPayload(u){s=u},getCommand:(u)=>{if(F==="registered")return JJ(u);return e(u,A)}},getExecutionFields(){return{input:b,payload:s}}}};return{normalizeCommands:i,prependCommandResolver:GJ,appendCommandResolver:a,clearCommandResolvers:O,getCommands:S,getCommandEntries:x,getCommandBindings:y,getResolvedCommandChain:t,getRegisteredResolvedEntries:n,getActiveRegisteredResolvedEntries:QJ,resolveRegisteredResolverFallback:ZJ,resolveActiveResolverFallback:WJ,getTopCommand:e,getDispatchUnavailableCommandState:p,getActiveCommandView:l,isBindingVisible:UJ,getBindingCommandAttrs:wJ,getCommandResolutionStatus:BJ}}function jQ(J){return J.command}function PZ(J){let Q=[],Z=new Set;for(let $ of J.commands)try{let G={},W=[],j=DZ($.name),X=pQ($),_={};if(Z.has(j)){J.onError("duplicate-command",{command:j},`Duplicate keymap command "${j}" in the same layer`);continue}$.name=j;for(let[I,D]of Object.entries(X)){if(D===void 0)continue;let z=J.commandFields.get(I);if(!z)continue;z(D,RQ({fieldName:I,conditions:J.conditions,requirements:G,matchers:W,attrs:_}))}let V={command:$,fields:X,attrs:Object.keys(_).length===0?void 0:_,requires:Object.entries(G),matchers:W};Z.add(V.command.name),Q.push(V)}catch(G){J.onError("register-command-failed",G,HJ(G,`Failed to register keymap command "${String($.name)}"`));continue}return Q}function CZ(J,Q,Z,$){if(Q.length===0)return{hadError:!1};let G=!1;for(let W of Q){let j,X=Z();try{j=W(J,X.context)}catch(_){G=!0,$(_);continue}if(j)return{hadError:G,resolved:bZ(j,X.getExecutionFields())}}return{hadError:G}}function pQ(J){let Q={};for(let[Z,$]of Object.entries(J))if(!vQ.has(Z)&&$!==void 0)Q[Z]=$;return Object.keys(Q).length===0?uQ:Q}function bZ(J,Q){return{command:J,input:Q.input,payload:Q.payload}}function xZ(J){let Q=pQ(J);return Q===uQ?void 0:Q}function kZ(J){let Q=J.query?.namespace,Z=hZ(J.query?.limit);if(Z===0)return[];let $=J.query?.search?.trim().toLowerCase()??"",G=LZ;if(J.query?.searchIn&&J.query.searchIn.length>0)G=J.query.searchIn;let W=J.query?.filter,j,X,_;if(typeof W==="function")X=W;else if(W){let I=Object.entries(W),D=[];for(let[z,K]of I){if(z==="name"){if(typeof K==="string"){_=new Set([K]);continue}if(Array.isArray(K)){let m=new Set;for(let d of K)if(typeof d==="string")m.add(d);_=m;continue}}D.push([z,K])}j=D.length>0?D:void 0}let V=[];for(let I of J.entries){let D=I.commandState;if(!vZ(D,Q))continue;if(!fZ(D,$,G))continue;if(_&&!_.has(D.command.name))continue;if(!gZ(D,j,J))continue;if(X){let z=!1;try{z=X(J.getCommand(D))}catch(K){J.onFilterError(K);continue}if(!z)continue}if(V.push(I),Z!==void 0&&V.length>=Z)break}return V}function hZ(J){if(J===void 0)return;let Q=Math.floor(Number(J));if(!Number.isFinite(Q)||Q<=0)return 0;return Q}function fZ(J,Q,Z){if(!Q)return!0;for(let $ of Z)if(yZ(J,$,Q))return!0;return!1}function vZ(J,Q){if(Q===void 0)return!0;let Z=J.fields;if(!Object.prototype.hasOwnProperty.call(Z,"namespace"))return!1;return oJ(Z.namespace,Q)}function gZ(J,Q,Z){if(!Q)return!0;for(let[$,G]of Q)if(!mZ(J,$,G,Z))return!1;return!0}function yZ(J,Q,Z){return lZ(J,Q)?.includes(Z)===!0}function lZ(J,Q){let Z=LQ.get(J);if(!Z)Z=new Map,LQ.set(J,Z);if(Z.has(Q))return Z.get(Q);let{fields:$,attrs:G}=J,W;if(Q==="name")W=J.command.name;else if(Object.prototype.hasOwnProperty.call($,Q))W=$[Q];else if(G&&Object.prototype.hasOwnProperty.call(G,Q))W=G[Q];let j=dQ(W);return Z.set(Q,j),j}function dQ(J){if(Array.isArray(J)){let Q=[];for(let Z of J){let $=dQ(Z);if($!==void 0)Q.push($)}return Q.length>0?Q.join("\x00"):void 0}if(typeof J==="string")return J.toLowerCase();if(typeof J==="number"||typeof J==="boolean"||typeof J==="bigint")return String(J).toLowerCase();return}function sJ(J,Q,Z,$){try{return J(Q,Z)}catch(G){return $(G),!1}}function mZ(J,Q,Z,$){if(typeof Z==="function")return uZ(J,Q,Z,$);return pZ(J,Q,Z)}function uZ(J,Q,Z,$){let{command:G,fields:W,attrs:j}=J,X,_=!1,V=()=>X??=$.getCommand(J);if(Q==="name"){if(_=!0,sJ(Z,G.name,V(),$.onFilterError))return!0}if(Object.prototype.hasOwnProperty.call(W,Q)){if(_=!0,sJ(Z,W[Q],V(),$.onFilterError))return!0}if(j&&Object.prototype.hasOwnProperty.call(j,Q)){if(_=!0,sJ(Z,j[Q],V(),$.onFilterError))return!0}return!_&&sJ(Z,void 0,V(),$.onFilterError)}function pZ(J,Q,Z){let{command:$,fields:G,attrs:W}=J;if(Q==="name"&&oJ($.name,Z))return!0;if(Object.prototype.hasOwnProperty.call(G,Q)&&oJ(G[Q],Z))return!0;return!!W&&Object.prototype.hasOwnProperty.call(W,Q)&&oJ(W[Q],Z)}function oJ(J,Q){if(Array.isArray(Q))return Q.some((Z)=>IQ(J,Z));return IQ(J,Q)}function IQ(J,Q){if(Array.isArray(J))return J.some((Z)=>IQ(Z,Q));return Object.is(J,Q)}function dZ(J,Q,Z,$,G){let W=(V,I,D,z,K,m)=>{return{keymap:G.keymap,event:V,focused:I,target:D,data:z,input:K,payload:m}},j=(V,I,D,z)=>{let K=typeof I==="function"?void 0:I,m=typeof I==="function"?I:I.run,d=z?K:void 0,g;try{g=m(K?{...D,command:K}:D)}catch(i){return J.emitError("command-execution-error",i,`[Keymap] Error running command "${V}":`),{status:"error",result:d?{ok:!1,reason:"error",command:d}:{ok:!1,reason:"error"}}}if(FQ(g))return g.catch((i)=>{J.emitError("async-command-error",i,`[Keymap] Async error in command "${V}":`)}),{status:"handled",result:d?{ok:!0,command:d}:{ok:!0}};if(cZ(g)){let i=g;if(!g.ok&&g.reason!=="not-found"&&z&&K&&!g.command)i={...g,command:K};else if(g.ok&&z&&K&&!g.command)i={...g,command:K};return{status:g.ok?"handled":"rejected",result:i}}if(g===!1)return{status:"rejected",result:d?{ok:!1,reason:"rejected",command:d}:{ok:!1,reason:"rejected"}};return{status:"handled",result:d?{ok:!0,command:d}:{ok:!0}}},X=(V,I,D,z,K,m,d,g)=>{let i;for(let GJ of I??[]){let a=j(V,GJ.command,W(D,z,K??GJ.target??null,m,V,d),g);if(a.status==="handled"||a.status==="error")return[a.result,i];i=a.result}return[void 0,i]},_=(V,I,D)=>{let z;try{z=lQ(V)}catch{return{ok:!1,reason:"invalid-args"}}if(typeof z!=="string")return{ok:!1,reason:"not-found"};let K=I?.includeCommand===!0,m=I?.focused??Z.getFocusedTargetIfAvailable(),d=I?.event??G.createCommandEvent(),g=Q.getReadonlyData(),i=I?.payload,GJ=D==="registered"?$.getRegisteredResolvedEntries(z):$.getActiveRegisteredResolvedEntries(z,m),[a,O]=X(z,GJ,d,m,I?.target,g,i,K);if(a)return a;let S=O,x=D==="registered"?$.resolveRegisteredResolverFallback(z,{input:z,payload:i}):$.resolveActiveResolverFallback(z,m,{input:z,payload:i});if(x.resolved){let y=j(z,x.resolved.command,W(d,m,I?.target??x.resolved.target??null,g,x.resolved.input??z,x.resolved.payload),K);if(y.status==="handled"||y.status==="error")return y.result;S=y.result}if(x.hadError)return{ok:!1,reason:"error"};if(D==="active"){let y=$.getDispatchUnavailableCommandState(z,m,K);if(y)return y.command?{ok:!1,reason:y.reason,command:y.command}:{ok:!1,reason:y.reason}}return S??{ok:!1,reason:"not-found"}};return{runCommand(V,I){return _(V,I,"registered")},dispatchCommand(V,I){return _(V,I,"active")},runBinding(V,I,D,z,K){let m=Q.getReadonlyData();if(I.run){if(j(typeof I.command==="string"?I.command:"<function>",I.run,W(D,z,V.target??null,m,typeof I.command==="string"?I.command:"<function>",K),!1).status==="rejected")return!1;return KQ(I,D),!0}if(typeof I.command!=="string")return!1;let d=$.getResolvedCommandChain(I.command,z,K===void 0?void 0:{input:I.command,payload:K}).entries;for(let g of d??[]){if(j(I.command,g.command,W(D,z,g.target??V.target??null,m,g.input??I.command,g.payload),!1).status==="rejected")continue;return KQ(I,D),!0}return!1}}}function cZ(J){return typeof J==="object"&&J!==null&&"ok"in J}function KQ(J,Q){if(!J.preventDefault)return;Q.preventDefault(),Q.stopPropagation()}var fJ=Object.freeze({}),sZ=[],iZ=[];function oZ(J){if(Object.keys(J).length===0)return;return vJ(J,{freeze:!0})}function rZ(J,Q,Z,$){let G=(D)=>{return CQ(D,J.bindingParsers.values(),{tokens:J.tokens,patterns:J.patterns,layer:fJ,parseObjectKey:(z,K)=>_(z,K)})},W=(D)=>{if(typeof D!=="string")return[_(D)];let z=EQ(D,J.bindingParsers.values(),{tokens:J.tokens,patterns:J.patterns,layer:fJ,parseObjectKey:(K,m)=>_(K,m)});for(let K of z.unknownTokens)$.warnUnknownToken(K,D);return z.parts},j=(D,z)=>{return lJ(W(D),z)},X=(D,z,K,m,d)=>{let g=[],i=!1,GJ=J.bindingExpanders.values(),a=J.bindingParsers.values(),O=J.bindingFields,S=J.disambiguationResolvers.has(),x=$.warnUnknownField,y=$.warnUnknownToken;for(let[t,n]of D.entries()){let QJ;try{QJ=aZ(n.key,GJ,{layer:d})}catch(ZJ){Q.emitError("binding-expand-error",ZJ,HJ(ZJ,"Failed to expand keymap binding"));continue}for(let ZJ of QJ){let WJ=ZJ.key,e;try{e=typeof WJ==="string"?EQ(WJ,a,{tokens:z,patterns:J.patterns,layer:d,parseObjectKey:(p,l)=>_(p,l)}):{parts:[_(WJ)],usedTokens:[],unknownTokens:[],hasTokenBindings:!1},e=tZ(e,ZJ)}catch(p){Q.emitError("binding-parse-error",p,HJ(p,"Failed to parse keymap binding"));continue}let JJ=e.parts;i||=e.hasTokenBindings;for(let p of e.unknownTokens)y(p,typeof WJ==="string"?WJ:String(WJ.name));for(let p of I(n,JJ,z,a,d))try{let l=V(p.event),jJ=p.sequence,FJ={},UJ={},wJ=[];for(let XJ in p){if(XJ==="sequence")continue;if(gQ.has(XJ))continue;let NJ=p[XJ];if(NJ===void 0)continue;let VJ=O.get(XJ);if(!VJ){x("binding",XJ);continue}VJ(NJ,RQ({fieldName:XJ,conditions:Z,requirements:FJ,matchers:wJ,attrs:UJ}))}let BJ=Object.keys(UJ).length>0?oZ(UJ):void 0,IJ=lQ(p.cmd),TJ={binding:n,sequence:jJ,command:IJ,event:l,parsedBinding:HQ(p),sourceTarget:K,sourceLayerOrder:m,bindingIndex:t,requires:Object.keys(FJ).length>0?Object.entries(FJ):sZ,matchers:wJ.length>0?wJ:iZ,preventDefault:p.preventDefault!==!1,fallthrough:p.fallthrough??!1};if(BJ)TJ.attrs=BJ;if(typeof IJ==="function")TJ.run=IJ;if(jJ.length===0)continue;if(l==="release"&&jJ.length>1)throw Error("Keymap release bindings only support a single key stroke");let DJ=jJ.at(-1);if(DJ?.patternName){let XJ=J.patterns.get(DJ.patternName);if(XJ&&XJ.max!==XJ.min)throw Error("Keymap unbounded sequence patterns must be followed by a concrete continuation")}if(l==="press"&&!S)nZ(g,TJ);g.push(TJ)}catch(l){Q.emitError("binding-compile-error",l,HJ(l,"Failed to compile keymap binding"))}}}return{bindings:g,hasTokenBindings:i}},_=(D,z)=>{return yJ(D,z)},V=(D)=>{if(D===void 0||D==="press")return"press";if(D==="release")return"release";throw Error(`Invalid keymap binding event "${String(D)}": expected "press" or "release"`)},I=(D,z,K,m,d)=>{let g=J.bindingTransformers.values();if(g.length===0)return[{...D,sequence:OJ(z)}];let i={...D,sequence:OJ(z)},GJ=[],a=!0,O=d??fJ;for(let S of g)try{S(i,{layer:O,parseKey:(x)=>{return CQ(x,m,{tokens:K,patterns:J.patterns,layer:O,parseObjectKey:(y,t)=>_(y,t)})},add:(x)=>{GJ.push(HQ(x))},skipOriginal:()=>{a=!1}})}catch(x){Q.emitError("binding-transformer-error",x,"[Keymap] Error in binding transformer:")}if(!a)return GJ;if(GJ.length===0)return[i];return[i,...GJ]};return{parseTokenKey:G,parseKeySequence:W,formatKey:j,compileBindings:X}}function PQ(J,Q){if(J.length>=Q.length)return!1;for(let Z=0;Z<J.length;Z+=1)if(J[Z]?.match!==Q[Z]?.match)return!1;return!0}function nZ(J,Q){for(let Z of J){if(Z.event!=="press")continue;if(Z.command!==void 0&&PQ(Z.sequence,Q.sequence)||Q.command!==void 0&&PQ(Q.sequence,Z.sequence))throw Error("Keymap bindings cannot use the same sequence as both an exact match and a prefix in the same layer")}}function aZ(J,Q,Z){if(typeof J!=="string"||Q.length===0)return[{key:J}];let $=Z?.layer??fJ,G=[{key:J}];for(let W of Q){let j=[];for(let X of G){let _=W({input:X.key,displays:X.displays,layer:$});if(!_){j.push(X);continue}if(_.length===0)throw Error(`Keymap binding expander must return at least one key sequence for "${X.key}"`);for(let V of _){if(!V||typeof V!=="object"||Array.isArray(V)||typeof V.key!=="string")throw Error(`Keymap binding expander must return expansion objects with string keys for "${X.key}"`);if(V.displays!==void 0){if(!Array.isArray(V.displays))throw Error(`Keymap binding expander displays must be an array of strings for "${X.key}"`);for(let I of V.displays)if(typeof I!=="string")throw Error(`Keymap binding expander displays must be an array of strings for "${X.key}"`)}j.push(V)}}G=j}return G}function tZ(J,Q){if(!Q.displays)return J;if(Q.displays.length!==J.parts.length)throw Error(`Keymap binding expansion displays length must match parsed sequence length for "${String(Q.key)}"`);return{...J,parts:J.parts.map((Z,$)=>({...Z,display:Q.displays[$]}))}}function EQ(J,Q,Z){if(J.length===0)throw Error("Invalid key sequence: sequence cannot be empty");if(Q.length===0)throw Error("No keymap binding parsers are registered");let $=Z.tokens??new Map,G=Z.patterns??new Map,W=Z.layer??fJ,j=Z.parseObjectKey,X=[],_=new Set,V=new Set,I=0;while(I<J.length){let D=!1;for(let z of Q){let K=z({input:J,index:I,layer:W,tokens:$,patterns:G,normalizeTokenName:xJ,createMatch:QQ,parseObjectKey:j});if(!K)continue;if(K.nextIndex<=I||K.nextIndex>J.length)throw Error(`Keymap binding parser must advance the input for "${J}" at index ${I}`);X.push(...K.parts);for(let m of K.usedTokens??[])_.add(m);for(let m of K.unknownTokens??[])V.add(m);I=K.nextIndex,D=!0;break}if(!D)throw Error(`No keymap binding parser handled input at index ${I} in "${J}"`)}return{parts:X,usedTokens:[..._],unknownTokens:[...V],hasTokenBindings:_.size>0||V.size>0}}function CQ(J,Q,Z){if(typeof J!=="string")return Z.parseObjectKey(J);let{parts:$}=EQ(J,Q,Z),[G]=$;if(!G||$.length!==1)throw Error(`Invalid key "${String(J)}": expected a single key stroke`);return G}function eZ(J){if(!J||typeof J!=="object")return!1;let Q=J;return typeof Q.get==="function"&&typeof Q.subscribe==="function"}function J0(J,Q){let Z=(X)=>{return X.requires.length===0&&X.matchers.length===0},$=(X)=>{try{return X.match()}catch(_){return Q.emitError("runtime-matcher-error",_,`[Keymap] Error evaluating runtime matcher from ${X.source}:`),!1}},G=(X)=>{if(X.matchers.length===0)return!0;if(X.matchers.length===1){let[_]=X.matchers;return _?$(_):!0}for(let _ of X.matchers)if(!$(_))return!1;return!0},W=(X)=>{if(X.length===0)return!0;for(let[_,V]of X)if(!Object.is(J.data[_],V))return!1;return!0};return{buildRuntimeMatcher(X,_){if(typeof X==="function")return{source:_,match:X};if(eZ(X))return{source:_,match:()=>X.get(),subscribe:(V)=>X.subscribe(V)};throw Error(`Keymap ${_} expected a function or a reactive matcher`)},matchesConditions:(X)=>{return Z(X)||W(X.requires)&&G(X)}}}var cQ=Symbol("keymap-disambiguation-decision"),sQ=Symbol("keymap-deferred-disambiguation-decision");function iJ(J,Q){return{[cQ]:!0,action:J,handler:Q}}function _Q(J){return{[sQ]:!0,action:J}}function Q0(J){return!!J&&typeof J==="object"&&J[cQ]===!0}function Z0(J){return!!J&&typeof J==="object"&&J[sQ]===!0}function $0(J,Q){if(Q.aborted)return Promise.resolve(!1);return new Promise((Z)=>{let $=setTimeout(()=>{Q.removeEventListener("abort",G),Z(!0)},Math.max(0,J)),G=()=>{clearTimeout($),Q.removeEventListener("abort",G),Z(!1)};Q.addEventListener("abort",G,{once:!0})})}function G0(J,Q,Z,$){let G=J.get(Z);if(!G)return;try{return G.matcher($)}catch(W){Q.emitError("sequence-pattern-match-error",W,`[Keymap] Error matching sequence pattern "${G.name}":`);return}}function W0(J,Q,Z,$){let W=J.get(Z)?.payloadKey??Z;return{...yJ({name:Q.name,ctrl:Q.ctrl,shift:Q.shift,meta:Q.meta,super:Q.super??!1,hyper:Q.hyper||void 0},{display:$.display??String($.value??Q.name)}),patternName:Z,payloadKey:W}}function X0(J,Q,Z){if(!Z?.patterns||Z.patterns.length===0)return;let $={},G=!1;for(let W of Z.patterns){let j=J.get(W.name),X;try{X=j?.finalize?j.finalize(W.values):W.values.length===1?W.values[0]:[...W.values]}catch(V){Q.emitError("sequence-pattern-finalize-error",V,`[Keymap] Error finalizing sequence pattern "${W.name}":`);continue}let _=$[W.payloadKey];if(_===void 0)$[W.payloadKey]=X,G=!0;else if(Array.isArray(_))_.push(X);else $[W.payloadKey]=[_,X]}return G?$:void 0}function Y0(J,Q,Z,$,G,W,j,X,_,V){let I={resolveKey:(Y)=>j.parseTokenKey(Y).match},D=null,z=0;function K(Y,H,R){if(Y==="key"){let B=R;return J.keyHooks.register(H,{priority:B?.priority??0,release:B?.release??!1})}if(Y==="key:after"){let B=R;return J.keyAfterHooks.register(H,{priority:B?.priority??0,release:B?.release??!1})}let T=R;return J.rawHooks.register(H,{priority:T?.priority??0})}function m(Y){return J.eventMatchResolvers.prepend(Y)}function d(Y){return J.eventMatchResolvers.append(Y)}function g(){J.eventMatchResolvers.clear()}function i(Y){return BJ(()=>J.disambiguationResolvers.prepend(Y),Y)}function GJ(Y){return BJ(()=>J.disambiguationResolvers.append(Y),Y)}function a(){if(!J.disambiguationResolvers.has())return;Q.runWithStateChangeBatch(()=>{J.disambiguationResolvers.clear(),_.recompileBindings()})}function O(Y,H){if(!D)return;f()}function S(Y){let H=J.rawHooks.entries();if(H.length===0)return!1;let R=!1,T={sequence:Y,stop(){R=!0}};for(let B of H){try{B.listener(T)}catch(P){Q.emitError("raw-intercept-error",P,"[Keymap] Error in raw intercept listener:")}if(R)return!0}return!1}function x(Y,H){return{sequence:OJ(Y.sequence),command:Y.command,commandAttrs:X.getBindingCommandAttrs(Y,H,X.getActiveCommandView(H)),attrs:Y.attrs,event:Y.event,preventDefault:Y.preventDefault,fallthrough:Y.fallthrough,sourceLayerOrder:Y.sourceLayerOrder,bindingIndex:Y.bindingIndex}}function y(Y){if(!V.has("dispatch"))return;V.emit("dispatch",Y)}function t(Y,H,R,T){if(!V.has("dispatch"))return;y({phase:Y,event:R.event,focused:T,layer:{order:H.order,priority:H.priority,target:H.target,targetMode:H.targetMode},binding:x(R,T),sequence:OJ(R.sequence),command:R.command})}function n(Y,H,R){if(!V.has("dispatch"))return;let T=H[0],B=H.length>0?$.collectSequencePartsFromPending({captures:H}):[];y({phase:Y,event:"press",focused:R,layer:T?{order:T.layer.order,priority:T.layer.priority,target:T.layer.target,targetMode:T.layer.targetMode}:void 0,sequence:B})}function QJ(Y){let H=J.keyAfterHooks.entries();for(let R of H)if(R.release===Y)return H;return}function ZJ(Y){if(Y.sequence)return OJ(Y.sequence);if(Y.captures)return $.collectSequencePartsFromPending({captures:Y.captures});return[]}function WJ(Y,H){return{handled:Y!=="sequence-miss",reason:Y,captures:H}}function e(Y,H){return{handled:H,reason:H?"binding-handled":"binding-rejected",sequence:Y.sequence}}function JJ(Y,H){if(H.handled||Y.reason==="no-match")return H;return Y}function p(Y,H,R,T,B){let P={event:H,eventType:R?"release":"press",focused:T,handled:B.handled,reason:B.reason,sequence:ZJ(B),pendingSequence:$.getPendingSequence(),setData:(w,q)=>{Z.setData(w,q)},getData:(w)=>{return Z.getData(w)},consume:(w)=>{let q=w?.preventDefault??!0,k=w?.stopPropagation??!0;if(q)H.preventDefault();if(k)H.stopPropagation()}};for(let w of Y){if(w.release!==R)continue;try{w.listener(P)}catch(q){Q.emitError("key-after-intercept-error",q,"[Keymap] Error in key:after intercept listener:")}}}function l(){return{handled:!1,reason:"no-match"}}function jJ(Y){Y.preventDefault(),Y.stopPropagation()}function FJ(Y,H,R,T){$.setPendingSequence({captures:H});let B=WJ("sequence-pending",H);return n(Y,H,R),jJ(T),B}function UJ(Y,H,R,T){let B=WJ(Y,H);return n("sequence-clear",H,R),$.setPendingSequence(null),jJ(T),B}function wJ(Y,H){if(!H)f();let R=QJ(H),T=R?$.getFocusedTarget():null,B=J.keyHooks.entries(),P={event:Y,setData:(q,k)=>{Z.setData(q,k)},getData:(q)=>{return Z.getData(q)},consume:(q)=>{let k=q?.preventDefault??!0,c=q?.stopPropagation??!0;if(k)Y.preventDefault();if(c)Y.stopPropagation()}};for(let q of B){if(q.release!==H)continue;try{q.listener(P)}catch(k){Q.emitError("key-intercept-error",k,"[Keymap] Error in key intercept listener:")}if(Y.propagationStopped){if(R)p(R,Y,H,T,{handled:!0,reason:"intercept-consumed",sequence:[]});return}}if(H){let q=IJ(Y);if(R)p(R,Y,H,T,q);return}let w=TJ(Y);if(R)p(R,Y,H,T,w)}function BJ(Y,H){return Q.runWithStateChangeBatch(()=>{let R=J.disambiguationResolvers.has(),T=Y();if(!R&&J.disambiguationResolvers.has())_.recompileBindings();return()=>{Q.runWithStateChangeBatch(()=>{let B=J.disambiguationResolvers.has();if(T(),J.disambiguationResolvers.values().includes(H))return;if(B&&!J.disambiguationResolvers.has())_.recompileBindings()})}})}function IJ(Y){let H=$.getFocusedTarget(),R=$.getActiveLayers(H),T=A(Y),B=l();for(let P of T)J:for(let w of R){if(w.bindings.length===0)continue;if(!G.matchesConditions(w))continue;let q=F(w,P,Y,H);if(B=JJ(B,q.outcome),!q.handled)continue;if(q.stop)return B;continue J}return B}function TJ(Y){let H=$.getFocusedTarget(),R=$.ensureValidPendingSequence(),T=A(Y);if(R)return DJ(R,T,Y,H);let B=$.getActiveLayers(H),P=l();for(let w of T){let q=NJ(B,[w],Y,H);if(P=JJ(P,q),q.handled)return P}return P}function DJ(Y,H,R,T){let B=X.getActiveCommandView(T),P=[];for(let k of Y.captures){let c=BQ(k,H,R,J.patterns,N,b);if(!c)continue;P.push(c)}let w=P.reduce((k,c)=>Math.min(k,dJ(c,H)),Number.POSITIVE_INFINITY),q=P.filter((k)=>dJ(k,H)===w);if(q.length===0||!q.some((k)=>YJ(k,T,B))){let k=WJ("sequence-miss",Y.captures);return n("sequence-clear",Y.captures,T),$.setPendingSequence(null),k}return XJ(q,0,!1,R,T)}function XJ(Y,H,R,T,B){let P=R,w=l(),q=new Set;for(let k=H;k<Y.length;k+=1){let c=Y[k];if(!c||q.has(c))continue;let LJ=rJ(Y,k,c);if(LJ.length>0){if(P)continue;let AJ=gJ(Y,c),zJ=bJ(Y,k,LJ,AJ,T,B,P);if(zJ)return zJ;return FJ("sequence-advance",LJ,B,T)}if(!hJ(c,J.patterns))continue;let qJ=gJ(Y,c);for(let AJ of qJ)q.add(AJ);let RJ=_J(c.layer,qJ,T,B);if(w=JJ(w,RJ.outcome),!RJ.handled)continue;if(P=!0,RJ.stop)return n("sequence-clear",Y,B),$.setPendingSequence(null),w}return n("sequence-clear",Y,B),$.setPendingSequence(null),w}function NJ(Y,H,R,T){return VJ(Y,0,H,R,T)}function VJ(Y,H,R,T,B){let P=X.getActiveCommandView(B),w=l();for(let q=H;q<Y.length;q+=1){let k=Y[q];if(!k)continue;if(!G.matchesConditions(k))continue;let c=s(k,R,T,B,P);if(c.length===0)continue;if(c.filter((AJ)=>kJ(AJ,J.patterns,!1)).length>0){let AJ=c.filter(($Z)=>hJ($Z,J.patterns)),zJ=EJ(Y,q,R,T,B),OQ=CJ(Y,q,R,zJ,AJ,T,B);if(OQ)return OQ;return FJ("sequence-start",zJ,B,T)}let qJ=c.filter((AJ)=>hJ(AJ,J.patterns)),RJ=_J(k,qJ,T,B);if(w=JJ(w,RJ.outcome),!RJ.handled)continue;if(RJ.stop)return w}return w}function CJ(Y,H,R,T,B,P,w){let q=()=>{$.setPendingSequence(null);let k=B[0]?.layer;if(!k)return l();let c=_J(k,B,P,w);if(!c.stop)return JJ(c.outcome,VJ(Y,H+1,R,P,w));return c.outcome};return U({event:P,focused:w,continuationCaptures:T,exactBindingsSource:B.map((k)=>k.binding),sequencePhase:"sequence-start",runExact:q})}function bJ(Y,H,R,T,B,P,w){let q=()=>{$.setPendingSequence(null);let k=T[0]?.layer;if(!k)return l();let c=_J(k,T,B,P);if(c.stop)return c.outcome;return JJ(c.outcome,XJ(Y,H+1,w||c.handled,B,P))};return U({event:B,focused:P,continuationCaptures:R,exactBindingsSource:T.map((k)=>k.binding),sequencePhase:"sequence-advance",runExact:q})}function U(Y){let{event:H,focused:R,continuationCaptures:T,exactBindingsSource:B,sequencePhase:P,runExact:w}=Y;if(!J.disambiguationResolvers.has()||T.length===0)return;let q=X.getActiveCommandView(R),k=$.collectMatchingBindings(B,R,q);if(!k.some((zJ)=>zJ.command!==void 0))return;let c=()=>{return FJ(P,T,R,H)},LJ=()=>{return UJ("sequence-cleared",T,R,H)},qJ,RJ=()=>{return qJ??=$.collectSequencePartsFromPending({captures:T}),qJ},AJ=L({event:H,focused:R,getSequence:RJ,exactBindings:k,continuationCaptures:T,activeView:q});if(!AJ)return $J(RJ()),c();return E(AJ,T,w,c,LJ,R,RJ)}function E(Y,H,R,T,B,P,w){if(Y.action==="run-exact")return R();if(Y.action==="continue-sequence")return T();if(Y.action==="clear")return B();let q=T();return M(H,Y.handler,P,w(),(k)=>{if(!k)return;if(k.action==="run-exact"){R();return}if(k.action==="continue-sequence"){T();return}B()}),q}function L(Y){let H,R,T,B,P={event:Y.event,focused:Y.focused,get sequence(){return H??=OJ(Y.getSequence()),H},get stroke(){let w=Y.getSequence().at(-1);if(!w)throw Error("Disambiguation context expected a non-empty sequence");return B??={...w,stroke:KJ(w.stroke)},B},get exact(){return R??=$.collectActiveBindings(Y.exactBindings,Y.focused,Y.activeView).map((w)=>({...w,sequence:OJ(w.sequence)})),R},get continuations(){return T??=$.getActiveKeysForCaptures(Y.continuationCaptures,{includeBindings:!0,includeMetadata:!0}),T},getData:(w)=>{return Z.getData(w)},setData:(w,q)=>{Z.setData(w,q)},runExact:()=>iJ("run-exact"),continueSequence:()=>iJ("continue-sequence"),clear:()=>iJ("clear"),defer:(w)=>iJ("defer",w)};for(let w of J.disambiguationResolvers.values()){let q;try{q=w(P)}catch(k){Q.emitError("disambiguation-resolver-error",k,"[Keymap] Error in disambiguation resolver:");continue}if(q===void 0)continue;if(FQ(q)){Q.emitError("invalid-disambiguation-resolver-return",q,"[Keymap] Disambiguation resolvers must return synchronously; use ctx.defer(...) for async handling");continue}if(!Q0(q)){Q.emitError("invalid-disambiguation-decision",q,"[Keymap] Invalid disambiguation decision returned by resolver:");continue}return q}return}function M(Y,H,R,T,B){f();let P=new AbortController,w={id:z++,controller:P,captures:Y,apply:B};D=w,queueMicrotask(()=>{C(w,H,R,T)})}function C(Y,H,R,T){if(!o(Y))return;let B={signal:Y.controller.signal,sequence:OJ(T),focused:R,sleep:(w)=>{return $0(w,Y.controller.signal)},runExact:()=>_Q("run-exact"),continueSequence:()=>_Q("continue-sequence"),clear:()=>_Q("clear")},P;try{P=H(B)}catch(w){if(o(Y))Q.emitError("deferred-disambiguation-error",w,"[Keymap] Error in deferred disambiguation handler:"),v(Y);return}if(FQ(P)){P.then((w)=>{h(Y,w)}).catch((w)=>{if(!o(Y))return;Q.emitError("deferred-disambiguation-error",w,"[Keymap] Error in deferred disambiguation handler:"),v(Y)});return}h(Y,P)}function h(Y,H){if(!o(Y))return;if(H!==void 0&&!Z0(H)){Q.emitError("invalid-deferred-disambiguation-decision",H,"[Keymap] Invalid deferred disambiguation decision returned by handler:"),v(Y);return}v(Y),Y.apply(H)}function v(Y){if(!o(Y))return;D=null}function f(){let Y=D;if(!Y)return;D=null,Y.controller.abort()}function o(Y){return D===Y}function $J(Y){let H=lJ(Y,{preferDisplay:!0});Q.warnOnce(`unresolved-disambiguation:${H}`,"unresolved-disambiguation",{sequence:H},`[Keymap] Ambiguous exact/prefix sequence "${H}" fell back to prefix handling because no disambiguation resolver resolved it`)}function EJ(Y,H,R,T,B){let P=[],w=X.getActiveCommandView(B);for(let q=H;q<Y.length;q+=1){let k=Y[q];if(!k)continue;if(!G.matchesConditions(k))continue;for(let c of s(k,R,T,B,w))if(kJ(c,J.patterns,!1))P.push(c)}return P}function rJ(Y,H,R){return Y.filter((T,B)=>{return B>=H&&kJ(T,J.patterns,!1)&&bQ(T.parts,R.parts)})}function gJ(Y,H){return Y.filter((R)=>{return R.layer===H.layer&&hJ(R,J.patterns)&&bQ(R.parts,H.parts)})}function A(Y){let H=J.eventMatchResolvers.values();if(H.length===0)return[];if(H.length===1)return j0(H[0],Y,I,Q);let R=[],T=new Set;for(let B of H){let P;try{P=B(Y,I)}catch(w){Q.emitError("event-match-resolver-error",w,"[Keymap] Error in event match resolver:");continue}if(!P||P.length===0)continue;for(let w of P){if(typeof w!=="string"){Q.emitError("invalid-event-match-resolver-candidate",w,"[Keymap] Invalid event match resolver candidate:");continue}if(T.has(w))continue;T.add(w),R.push(w)}}return R}function F(Y,H,R,T){let B=!1,P=l();for(let w of Y.bindings){if(w.event!=="release")continue;let q=w.sequence[0];if(!q||q.match!==H)continue;if(!G.matchesConditions(w))continue;let k=W.runBinding(Y,w,R,T);if(P=JJ(P,e(w,k)),!k){t("binding-reject",Y,w,T);continue}if(t("binding-execute",Y,w,T),B=!0,!w.fallthrough)return{handled:!0,stop:!0,outcome:P}}return{handled:B,stop:!1,outcome:P}}function N(Y,H){return G0(J.patterns,Q,Y,H)}function b(Y,H,R){return W0(J.patterns,Y,H,R)}function s(Y,H,R,T,B){let P=MQ(Y,H,R,N,b);return P.some((w)=>YJ(w,T,B))?P:[]}function u(Y){return X0(J.patterns,Q,Y)}function r(Y,H,R){return G.matchesConditions(Y)&&X.isBindingVisible(Y,H,R)}function YJ(Y,H,R){return r(Y.binding,H,R)}function _J(Y,H,R,T){let B=!1,P=l();for(let w of H){let q=w.binding;if(!G.matchesConditions(q))continue;let k=W.runBinding(Y,q,R,T,u(w));if(P=JJ(P,e(q,k)),!k){t("binding-reject",Y,q,T);continue}if(t("binding-execute",Y,q,T),B=!0,!q.fallthrough)return{handled:!0,stop:!0,outcome:P}}return{handled:B,stop:!1,outcome:P}}return{intercept:K,prependEventMatchResolver:m,appendEventMatchResolver:d,clearEventMatchResolvers:g,prependDisambiguationResolver:i,appendDisambiguationResolver:GJ,clearDisambiguationResolvers:a,handlePendingSequenceChange:O,handleRawSequence:S,handleKeyEvent:wJ}}function j0(J,Q,Z,$){let G;try{G=J(Q,Z)}catch(X){return $.emitError("event-match-resolver-error",X,"[Keymap] Error in event match resolver:"),[]}if(!G||G.length===0)return[];if(G.length===1){let[X]=G;if(typeof X!=="string")return $.emitError("invalid-event-match-resolver-candidate",X,"[Keymap] Invalid event match resolver candidate:"),[];return[X]}let W=[],j=new Set;for(let X of G){if(typeof X!=="string"){$.emitError("invalid-event-match-resolver-candidate",X,"[Keymap] Invalid event match resolver candidate:");continue}if(j.has(X))continue;j.add(X),W.push(X)}return W}function bQ(J,Q){if(J.length!==Q.length)return!1;for(let Z=0;Z<J.length;Z+=1)if(J[Z]?.match!==Q[Z]?.match)return!1;return!0}var PJ=()=>{};function xQ(J,Q,Z,$){if(Z===void 0)return $;if(typeof Z!=="number"||!Number.isInteger(Z)||Z<0)throw Error(`Keymap sequence pattern "${J}" ${Q} must be a non-negative integer`);return Z}function _0(J,Q){let{kind:Z,reservedFields:$,registeredFields:G,emitError:W}=Q,j=Object.entries(J),X=[];for(let[_,V]of j){if($.has(_)){W(`reserved-${Z}-field`,{field:_,kind:Z},`Keymap ${Z} field "${_}" is reserved`);continue}if(G.has(_)){W(`duplicate-${Z}-field`,{field:_,kind:Z},`Keymap ${Z} field "${_}" is already registered`);continue}G.set(_,V),X.push([_,V])}return()=>{for(let[_,V]of X)if(G.get(_)===V)G.delete(_)}}function U0(J,Q,Z,$,G){let W;try{W=xJ(G.name)}catch(V){return Q.emitError("token-name-normalize-error",V,HJ(V,"Failed to register keymap token")),PJ}if(J.tokens.has(W)||J.patterns.has(W))return Q.emitError("duplicate-token",{token:W},`Keymap token "${W}" is already registered`),PJ;let j;try{if(j=Z.parseTokenKey(G.key),j.patternName)throw Error(`Invalid key "${String(G.key)}": expected a concrete key stroke`)}catch(V){return Q.emitError("token-parse-error",V,HJ(V,`Failed to register keymap token "${W}"`)),PJ}let X={stroke:j.stroke,match:j.match},_=new Map(J.tokens);_.set(W,X);try{$.applyTokenState(_)}catch(V){return Q.emitError("token-register-error",V,HJ(V,`Failed to register keymap token "${W}"`)),PJ}return()=>{if(J.tokens.get(W)!==X)return;let I=new Map(J.tokens);I.delete(W);try{$.applyTokenState(I)}catch(D){Q.emitError("token-unregister-error",D,HJ(D,`Failed to unregister keymap token "${W}"`))}}}function V0(J,Q,Z,$){let G,W;try{G=xJ($.name);let j=xQ(G,"min",$.min,1),X=xQ(G,"max",$.max,Number.MAX_SAFE_INTEGER);if(X<j)throw Error(`Keymap sequence pattern "${G}" max must be greater than or equal to min`);W={name:G,display:$.display,payloadKey:$.payloadKey??G,match:QQ(`pattern:${G}`),min:j,max:X,matcher:(_)=>$.match(_),finalize:$.finalize}}catch(j){return Q.emitError("sequence-pattern-register-error",j,HJ(j,"Failed to register keymap sequence pattern")),PJ}if(J.tokens.has(G)||J.patterns.has(G))return Q.emitError("duplicate-sequence-pattern",{pattern:G},`Keymap sequence pattern "${G}" is already registered`),PJ;return J.patterns.set(G,W),Z.recompileBindings(),()=>{if(J.patterns.get(G)!==W)return;J.patterns.delete(G),Z.recompileBindings()}}function UQ(J,Q,Z,$){let G=Z==="layer"?yQ:Z==="binding"?gQ:vQ,W=Z==="layer"?J.layerFields:Z==="binding"?J.bindingFields:J.commandFields;return _0($,{kind:Z,reservedFields:G,registeredFields:W,emitError:(j,X,_)=>Q.emitError(j,X,_)})}var VQ=()=>{};function A0(J,Q){return Q.priority-J.priority||Q.order-J.order}function H0(J){if(J.matchers.length>0)return!0;for(let Q of J.commands)if(Q.matchers.length>0)return!0;for(let Q of J.bindings)if(Q.matchers.length>0)return!0;return!1}function F0(J){if(J.commands.length===0)return!1;if(J.matchers.length>0)return!0;for(let Q of J.commands)if(Q.matchers.length>0)return!0;return!1}function I0(J,Q,Z,$,G){let W=(O)=>{return Q.runWithStateChangeBatch(()=>{let S=O.target;if(S&&G.host.isTargetDestroyed(S))return Q.emitError("destroyed-layer-target",{target:S},"Cannot register a keymap layer for a destroyed keymap target"),VQ;let x,y,t,n,QJ,ZJ,WJ;try{WJ=V(O),x=I(zQ(O.bindings??[]),O);let l=D(O.commands??[],O);ZJ=l.length===0?[]:G.commands.normalizeCommands(l),{requires:y,matchers:t,fields:n,attrs:QJ}=z(O)}catch(l){return Q.emitError("register-layer-failed",l,HJ(l,"Failed to register keymap layer")),VQ}let e=J.order++,JJ=G.compiler.compileBindings(x,J.tokens,S,e,n);if(JJ.bindings.length===0&&!JJ.hasTokenBindings&&ZJ.length===0)return VQ;G.diagnostics?.analyzeLayer({target:S,order:e,commands:ZJ,sourceBindings:x,bindings:JJ.bindings,hasTokenBindings:JJ.hasTokenBindings});let p={order:e,target:S,targetMode:WJ,priority:O.priority??0,requires:y,matchers:t,fields:n,attrs:QJ,commands:ZJ,sourceBindings:x,bindings:JJ.bindings,root:WQ(JJ.bindings,J.patterns),hasTokenBindings:JJ.hasTokenBindings,activeKeyCacheBlocked:!1,activeCommandViewCacheBlocked:!1};i(p),J.layers.add(p),J.sortedLayers=[...J.sortedLayers,p].sort(A0),g(p);for(let l of p.commands)g(l);for(let l of p.bindings)g(l);if(S){let l=()=>{d(p)};p.offTargetDestroy=G.host.onTargetDestroy(S,l)}if(p.commands.length>0)$.ensureValidPendingSequence();return Q.queueStateChange(),()=>{d(p)}})},j=(O)=>{Q.runWithStateChangeBatch(()=>{let S=new Map;for(let y of J.layers){if(!y.hasTokenBindings)continue;S.set(y,K(y,O))}J.tokens=O;let x=!1;for(let[y,t]of S)if(m(y,t))x=!0;if(x)$.setPendingSequence(null);if(S.size>0)Q.queueStateChange()})},X=()=>{Q.runWithStateChangeBatch(()=>{let O=0,S=!1;for(let x of J.layers){if(x.sourceBindings.length===0)continue;let y=K(x,J.tokens);if(m(x,y))S=!0;O+=1}if(S)$.setPendingSequence(null);if(O>0)Q.queueStateChange()})},_=()=>{for(let O of J.layers){a(O);for(let S of O.commands)a(S);for(let S of O.bindings)a(S);O.offTargetDestroy?.(),O.offTargetDestroy=void 0}},V=(O)=>{if(O.targetMode){if(!O.target)throw Error(`Keymap targetMode "${O.targetMode}" requires a target`);return O.targetMode}return O.target?"focus-within":void 0},I=(O,S)=>{let x=J.layerBindingsTransformers.values();if(x.length===0)return O;let y=O;for(let t of x){let n=t(y,{layer:S,validateBindings:(QJ)=>fQ(QJ)});if(!n)continue;y=zQ(n)}return y},D=(O,S)=>{let x=J.commandTransformers.values();if(O.length===0||x.length===0)return O;let y=[];for(let t of O){let n={...t},QJ=[],ZJ=!0;for(let WJ of x)try{WJ(n,{layer:S,add(e){QJ.push({...e})},skipOriginal(){ZJ=!1}})}catch(e){Q.emitError("command-transformer-error",e,"[Keymap] Error in command transformer:")}if(ZJ)y.push(n);y.push(...QJ)}return y},z=(O)=>{let S={},x=[],y=Object.create(null),t={};for(let[n,QJ]of Object.entries(O)){if(yQ.has(n))continue;if(QJ===void 0)continue;y[n]=vJ(QJ);let ZJ=J.layerFields.get(n);if(!ZJ){G.warnUnknownField("layer",n);continue}ZJ(QJ,RQ({fieldName:n,conditions:Z,requirements:S,matchers:x,attrs:t}))}return{requires:Object.entries(S),matchers:x,fields:Object.keys(y).length>0?Object.freeze(y):void 0,attrs:Object.keys(t).length>0?vJ(t,{freeze:!0}):void 0}},K=(O,S)=>{return G.compiler.compileBindings(O.sourceBindings,S,O.target,O.order,O.fields)},m=(O,S)=>{G.diagnostics?.analyzeLayer({target:O.target,order:O.order,commands:O.commands,sourceBindings:O.sourceBindings,bindings:S.bindings,hasTokenBindings:S.hasTokenBindings}),GJ(O);for(let x of O.bindings)a(x);O.bindings=S.bindings,O.root=WQ(S.bindings,J.patterns),O.hasTokenBindings=S.hasTokenBindings,i(O);for(let x of O.bindings)g(x);return J.pending?.captures.some((x)=>x.layer===O)??!1},d=(O)=>{Q.runWithStateChangeBatch(()=>{if(!J.layers.delete(O))return;J.sortedLayers=J.sortedLayers.filter((S)=>S!==O),GJ(O),a(O);for(let S of O.commands)a(S);for(let S of O.bindings)a(S);if(O.offTargetDestroy?.(),O.offTargetDestroy=void 0,J.pending?.captures.some((S)=>S.layer===O))$.setPendingSequence(null);else if(O.commands.length>0&&!G.host.isDestroyed)$.ensureValidPendingSequence();Q.queueStateChange()})},g=(O)=>{for(let S of O.matchers){if(!S.subscribe)continue;try{S.dispose=S.subscribe(()=>{if(!$.hasPendingSequenceState()){Q.queueStateChange();return}Q.runWithStateChangeBatch(()=>{$.revalidatePendingSequenceIfNeeded(),Q.queueStateChange()})})}catch(x){Q.emitError("reactive-matcher-subscribe-error",x,HJ(x,`Failed to subscribe to reactive matcher from ${S.source}`))}}},i=(O)=>{let S=H0(O),x=F0(O);if(O.activeKeyCacheBlocked=S,O.activeCommandViewCacheBlocked=x,S)J.activeKeyCacheBlockers+=1;if(x)J.activeCommandViewCacheBlockers+=1},GJ=(O)=>{if(O.activeKeyCacheBlocked)J.activeKeyCacheBlockers-=1,O.activeKeyCacheBlocked=!1;if(O.activeCommandViewCacheBlocked)J.activeCommandViewCacheBlockers-=1,O.activeCommandViewCacheBlocked=!1},a=(O)=>{for(let S of O.matchers){if(!S.dispose)continue;try{S.dispose()}catch(x){Q.emitError("reactive-matcher-dispose-error",x,HJ(x,`Failed to dispose reactive matcher from ${S.source}`))}S.dispose=void 0}};return{registerLayer:W,applyTokenState:j,recompileBindings:X,cleanup:_}}var AQ=1000;function E0(J,Q,Z){let $=(j,X,_)=>{if(!Q.has("warning")){let V=`[${j}] ${_}`;if(X instanceof Error)console.warn(V,X);else console.warn(V);return}Q.emit("warning",{code:j,message:_,warning:X})},G=(j,X,_)=>{if(!Q.has("error")){let V=`[${j}] ${_}`;if(X instanceof Error)console.error(V,X);else console.error(V);return}Q.emit("error",{code:j,message:_,error:X})},W=()=>{if(!J.stateChangePending||J.stateChangeDepth>0||J.flushingStateChange)return;J.flushingStateChange=!0;try{let j=0;while(J.stateChangePending&&J.stateChangeDepth===0){if(j>=AQ){J.stateChangePending=!1,G("state-change-feedback-loop",{iterations:AQ},`[Keymap] Possible infinite state listener feedback loop detected after ${AQ} iterations; pending state notifications were dropped`);break}j+=1,J.stateChangePending=!1,Z.emit("state")}}finally{J.flushingStateChange=!1}};return{runWithStateChangeBatch(j){J.stateChangeDepth+=1;try{return j()}finally{if(J.stateChangeDepth-=1,J.stateChangeDepth===0)W()}},queueStateChange(j){if(J.derivedVersion+=1,j?.invalidateCaches!==!1)J.cacheVersion+=1;if(!Z.has("state"))return;if(J.stateChangePending=!0,J.stateChangeDepth===0&&!J.flushingStateChange)W()},emitWarning:$,emitError:G,reportListenerError(j,X){if(j==="state"){G("state-listener-error",X,"[Keymap] Error in state listener:");return}if(j==="pendingSequence"){G("pending-sequence-listener-error",X,"[Keymap] Error in pending sequence listener:");return}if(j==="dispatch")G("dispatch-listener-error",X,"[Keymap] Error in dispatch listener:")},warnOnce(j,X,_,V){if(J.usedWarningKeys.has(j))return;J.usedWarningKeys.add(j),$(X,_,V)}}}function R0(J,Q,Z){return{getData($){return J.data[$]},setData($,G){Q.runWithStateChangeBatch(()=>{if(G===void 0){if(!($ in J.data))return;delete J.data[$],J.dataVersion+=1,Z.ensureValidPendingSequence(),Q.queueStateChange();return}if(Object.is(J.data[$],G))return;J.data[$]=G,J.dataVersion+=1,Z.ensureValidPendingSequence(),Q.queueStateChange()})},getReadonlyData(){if(J.readonlyDataVersion===J.dataVersion)return J.readonlyData;return J.readonlyData=Object.freeze({...J.data}),J.readonlyDataVersion=J.dataVersion,J.readonlyData}}}var O0=Object.freeze({});function w0(){return{order:0,tokens:new Map,patterns:new Map,layerFields:new Map,layerBindingsTransformers:MJ(),bindingExpanders:MJ(),bindingParsers:MJ(),bindingTransformers:MJ(),bindingFields:new Map,commandTransformers:MJ(),commandFields:new Map,eventMatchResolvers:MJ(),disambiguationResolvers:MJ(),keyHooks:XQ(),keyAfterHooks:XQ(),rawHooks:XQ(),layers:new Set,sortedLayers:[],activeLayersCacheVersion:-1,activeLayersCacheFocused:void 0,activeLayersCache:[],activeKeyCacheBlockers:0,activeCommandViewCacheBlockers:0,commandResolvers:MJ(),pending:null,data:{},dataVersion:0,readonlyDataVersion:-1,readonlyData:O0,cacheVersion:0,derivedVersion:0,stateChangeDepth:0,stateChangePending:!1,flushingStateChange:!1,usedWarningKeys:new Set}}function T0(J){return wQ(J)}class iQ{#J=w0();#I=!1;#j=new Map;#_=[];#E=qQ(()=>{});#V;#Q;#$;#A;#X;#W;#F;#Y;#G;#U;#H;#R;#O;#w;#T;#Z;getPendingSequence;getActiveKeys;constructor(J){if(this.#Z=J,J.isDestroyed)throw Error("Cannot create a keymap for a destroyed host");if(this.#V=qQ((Q,Z)=>{this.#Q.reportListenerError(Q,Z)}),this.#Q=E0(this.#J,this.#E,this.#V),this.#X=J0(this.#J,this.#Q),this.#W=KZ(this.#J,this.#Z,this.#Q,this.#X,{onCommandResolversChanged:()=>{this.#$.ensureValidPendingSequence()}}),this.#$=TZ(this.#J,this.#Z,this.#V,this.#Q,this.#X,this.#W,{onPendingSequenceChanged:(Q,Z)=>{this.#G?.handlePendingSequenceChange(Q,Z)}}),this.#A=R0(this.#J,this.#Q,this.#$),this.#F=dZ(this.#Q,this.#A,this.#$,this.#W,{keymap:this,createCommandEvent:()=>this.#Z.createCommandEvent()}),this.#Y=rZ(this.#J,this.#Q,this.#X,{warnUnknownField:(Q,Z)=>{this.#D(Q,Z)},warnUnknownToken:(Q,Z)=>{this.#q(Q,Z)}}),this.#H=UZ(this.#Q,this.#W),this.#U=I0(this.#J,this.#Q,this.#X,this.#$,{compiler:this.#Y,commands:this.#W,host:this.#Z,diagnostics:this.#H,warnUnknownField:(Q,Z)=>{this.#D(Q,Z)}}),this.#G=Y0(this.#J,this.#Q,this.#A,this.#$,this.#X,this.#F,this.#Y,this.#W,this.#U,this.#V),this.getPendingSequence=this.#$.getPendingSequence,this.getActiveKeys=this.#$.getActiveKeys,this.#R=(Q)=>{this.#G.handleKeyEvent(Q,!1)},this.#O=(Q)=>{this.#G.handleKeyEvent(Q,!0)},this.#w=(Q)=>{return this.#G.handleRawSequence(Q)},this.#T=(Q)=>{this.#M(Q)},this.#_.push(this.#Z.onKeyPress(this.#R)),this.#_.push(this.#Z.onKeyRelease(this.#O)),this.#Z.onRawInput)this.#_.push(this.#Z.onRawInput(this.#w));if(this.#_.push(this.#Z.onFocusChange(this.#T)),this.#Z.onDestroy)this.#_.push(this.#Z.onDestroy(()=>{this.#B()}))}[ZQ](){return{state:this.#J,host:this.#Z,conditions:this.#X,catalog:this.#W,activation:this.#$}}#B(){if(this.#I)return;this.#I=!0,this.#$.setPendingSequence(null);for(let J of this.#j.values())J.dispose();this.#j.clear(),this.#U.cleanup();for(let J of this.#_.splice(0))J()}setData(J,Q){this.#A.setData(J,Q)}getData(J){return this.#A.getData(J)}getHostMetadata(){return this.#Z.metadata}hasPendingSequence(){return this.#$.ensureValidPendingSequence()!==void 0}createKeyMatcher(J){let Q=this.#Y.parseTokenKey(J).match;return(Z)=>{if(!Z)return!1;return T0(Z)===Q}}parseKeySequence(J){return this.#Y.parseKeySequence(J)}formatKey(J,Q){return this.#Y.formatKey(J,Q)}clearPendingSequence(){this.#$.setPendingSequence(null)}popPendingSequence(){return this.#$.popPendingSequence()}getCommands(J){return this.#W.getCommands(J)}getCommandEntries(J){return this.#W.getCommandEntries(J)}getCommandBindings(J){return this.#W.getCommandBindings(J)}acquireResource(J,Q){if(this.#I||this.#Z.isDestroyed)throw Error("Cannot use a keymap after its host was destroyed");let Z=this.#j.get(J);if(Z)return Z.count+=1,()=>{this.#N(J,Z)};let G={count:1,dispose:Q()};return this.#j.set(J,G),()=>{this.#N(J,G)}}runCommand(J,Q){return this.#F.runCommand(J,Q)}dispatchCommand(J,Q){return this.#F.dispatchCommand(J,Q)}on(J,Q){if(J==="warning")return this.#E.hook(J,Q);if(J==="error")return this.#E.hook(J,Q);return this.#V.hook(J,Q)}intercept(J,Q,Z){if(J==="key")return this.#G.intercept(J,Q,Z);if(J==="key:after")return this.#G.intercept(J,Q,Z);return this.#G.intercept(J,Q,Z)}registerLayer(J){return this.#U.registerLayer(J)}registerLayerFields(J){return UQ(this.#J,this.#Q,"layer",J)}prependLayerBindingsTransformer(J){return this.#J.layerBindingsTransformers.prepend(J)}appendLayerBindingsTransformer(J){return this.#J.layerBindingsTransformers.append(J)}clearLayerBindingsTransformers(){this.#J.layerBindingsTransformers.clear()}prependBindingTransformer(J){return this.#J.bindingTransformers.prepend(J)}appendBindingTransformer(J){return this.#J.bindingTransformers.append(J)}clearBindingTransformers(){this.#J.bindingTransformers.clear()}prependCommandTransformer(J){return this.#J.commandTransformers.prepend(J)}appendCommandTransformer(J){return this.#J.commandTransformers.append(J)}clearCommandTransformers(){this.#J.commandTransformers.clear()}prependBindingParser(J){return this.#J.bindingParsers.prepend(J)}appendBindingParser(J){return this.#J.bindingParsers.append(J)}clearBindingParsers(){this.#J.bindingParsers.clear()}registerToken(J){return U0(this.#J,this.#Q,this.#Y,this.#U,J)}registerSequencePattern(J){return V0(this.#J,this.#Q,this.#U,J)}prependBindingExpander(J){return this.#J.bindingExpanders.prepend(J)}appendBindingExpander(J){return this.#J.bindingExpanders.append(J)}clearBindingExpanders(){this.#J.bindingExpanders.clear()}registerBindingFields(J){return UQ(this.#J,this.#Q,"binding",J)}registerCommandFields(J){return UQ(this.#J,this.#Q,"command",J)}prependCommandResolver(J){return this.#W.prependCommandResolver(J)}appendCommandResolver(J){return this.#W.appendCommandResolver(J)}clearCommandResolvers(){this.#W.clearCommandResolvers()}prependLayerAnalyzer(J){return this.#H.prependLayerAnalyzer(J)}appendLayerAnalyzer(J){return this.#H.appendLayerAnalyzer(J)}clearLayerAnalyzers(){this.#H.clearLayerAnalyzers()}prependEventMatchResolver(J){return this.#G.prependEventMatchResolver(J)}appendEventMatchResolver(J){return this.#G.appendEventMatchResolver(J)}clearEventMatchResolvers(){this.#G.clearEventMatchResolvers()}prependDisambiguationResolver(J){return this.#G.prependDisambiguationResolver(J)}appendDisambiguationResolver(J){return this.#G.appendDisambiguationResolver(J)}clearDisambiguationResolvers(){this.#G.clearDisambiguationResolvers()}#M(J){this.#Q.runWithStateChangeBatch(()=>{this.#$.setPendingSequence(null),this.#Q.queueStateChange({invalidateCaches:!1})})}#D(J,Q){this.#Q.warnOnce(`${J}:${Q}`,`unknown-${J}-field`,{field:Q,kind:J},`[Keymap] Unknown ${J} field "${Q}" was ignored`)}#q(J,Q){this.#Q.warnOnce(`token:${J}`,"unknown-token",{token:J,sequence:Q},`[Keymap] Unknown token "${J}" in key sequence "${Q}" was ignored`)}#N(J,Q){if(this.#j.get(J)!==Q)return;if(Q.count-=1,Q.count>0)return;Q.dispose(),this.#j.delete(J)}}var x0={};kQ(x0,{formatKeySequence:()=>ZZ,formatCommandBindings:()=>b0,createBindingLookup:()=>K0,commandBindings:()=>C0});var QZ=Object.prototype.hasOwnProperty,N0=Object.freeze([]);function B0(J){return!!J&&typeof J==="object"&&!Array.isArray(J)}function oQ(J){return typeof J==="string"||B0(J)}function rQ(J){if(typeof J==="string")return J;return{...J}}function M0(J){if(J.length===0)throw Error("Invalid binding command: command cannot be empty");return J}function q0(J,Q){let Z=M0(J);if(!Q||!QZ.call(Q,Z))return Z;let $=Q[Z];if(typeof $!=="string")throw Error(`Invalid binding command map entry for "${Z}": expected a command string`);if($.length===0)throw Error(`Invalid binding command map entry for "${Z}": command cannot be empty`);return $}function nQ(J,Q){let Z=Q===void 0?`"${J}"`:`"${J}" at index ${Q}`;return Error(`Invalid binding value for ${Z}: expected false, a key, a binding object, or an array of keys/binding objects`)}function aQ(J,Q,Z){if(!oQ(Q))throw nQ(J,Z);if(typeof Q==="string"||!("key"in Q))return{key:rQ(Q),cmd:J};let $=Q.key;if(!oQ($))throw nQ(J,Z);return{...Q,key:rQ($),cmd:J}}function z0(J,Q,Z){if(Q===!1||Q==="none")return;if(Array.isArray(Q)){if(Q.length===0)return;let G=Q,W=Array(G.length);for(let j=0;j<G.length;j+=1){let X=aQ(J,G[j],j);W[j]=Z?tQ(J,X,Z):X}return W}let $=aQ(J,Q);return[Z?tQ(J,$,Z):$]}function tQ(J,Q,Z){let $=Z?.({command:J,binding:Q});if(!$)return Q;return{...$,...Q}}function S0(J){let Q=0;for(let G of J.values())Q+=G.length;let Z=Array(Q),$=0;for(let G of J.values())for(let W=0;W<G.length;W+=1)Z[$]=G[W],$+=1;return Z}function eQ(J,Q,Z){let $=new Map;for(let G in J){if(!QZ.call(J,G))continue;let W=q0(G,Q),j=z0(W,J[G],Z);if(!j)$.delete(W);else $.set(W,j)}return{bindings:S0($),byCommand:$}}function L0(J,Q){let Z=new Map,$=[];for(let G of Q){let W=J.get(G);if(!W)continue;Z.set(G,W);for(let j=0;j<W.length;j+=1)$.push(W[j])}return{bindings:$,byCommand:Z}}function K0(J,Q){let Z=J,$=eQ(Z,Q?.commandMap,Q?.bindingDefaults),G=new Map;return{get bindings(){return $.bindings},get(W){return $.byCommand.get(W)??N0},has(W){return $.byCommand.has(W)},gather(W,j){let X=G.get(W);if(X)return X.bindings;let _=L0($.byCommand,j);return G.set(W,_),_.bindings},pick(W,j){let X=G.get(W);if(!X)return[];let _=[];for(let V of j){let I=X.byCommand.get(V);if(!I)continue;for(let D=0;D<I.length;D+=1)_.push(I[D])}return _},omit(W,j){let X=G.get(W);if(!X)return[];if(j.length===0)return X.bindings;if(j.length===1){let I=j[0],D=[];for(let z=0;z<X.bindings.length;z+=1){let K=X.bindings[z];if(typeof K.cmd==="string"&&K.cmd===I)continue;D.push(K)}return D}let _=new Set(j),V=[];for(let I=0;I<X.bindings.length;I+=1){let D=X.bindings[I];if(typeof D.cmd==="string"&&_.has(D.cmd))continue;V.push(D)}return V},invalidate(W){if(W===void 0){G.clear();return}G.delete(W)},update(W){if(W)Z=W;$=eQ(Z,Q?.commandMap,Q?.bindingDefaults),G.clear()}}}function P0(J){return typeof J==="string"||!!J&&typeof J==="object"&&!Array.isArray(J)}function C0(J,Q){let Z=[],$=new Map;for(let[G,W]of Object.entries(J)){if(!P0(W)){let V=Error(`Invalid command binding for "${G}": command bindings must map command strings to key strings or keystroke objects`);Q?.onError?.({code:"invalid-command-binding",command:G,value:W,reason:V});continue}let j=G.trim(),X={key:typeof W==="string"?W:{...W},cmd:j},_=$.get(j);if(_!==void 0){let V=Z[_];Q?.onWarning?.({code:"command-binding-override",command:j,previousKey:V.key,nextKey:X.key}),Z[_]=X;continue}$.set(j,Z.length),Z.push(X)}return Z}function JZ(J,Q){if(J.tokenName){let _=Q.tokenDisplay;if(!_)return J.display;if(typeof _==="function")return _(J.tokenName,J)??J.display;return _[J.tokenName]??J.display}if(J.patternName){let _=Q.patternDisplay;if(!_)return J.display;if(typeof _==="function")return _(J.patternName,J)??J.display;return _[J.patternName]??J.display}if(!Q.keyNameAliases&&!Q.modifierAliases)return J.display;let Z=J.stroke,$=Q.modifierAliases,G="",W=0;if(Z.ctrl)G=$?.ctrl??"ctrl",W=1;if(Z.shift){let _=$?.shift??"shift";G=W===0?_:`${G}+${_}`,W+=1}if(Z.meta){let _=$?.meta??"meta";G=W===0?_:`${G}+${_}`,W+=1}if(Z.super){let _=$?.super??"super";G=W===0?_:`${G}+${_}`,W+=1}if(Z.hyper){let _=$?.hyper??"hyper";G=W===0?_:`${G}+${_}`,W+=1}let j=Z.name==="return"?"enter":Z.name,X=Q.keyNameAliases?.[j]??j;return W===0?X:`${G}+${X}`}function ZZ(J,Q={}){if(!J||J.length===0)return"";let Z=Q.separator??" ",$=JZ(J[0],Q);for(let G=1;G<J.length;G+=1)$+=Z+JZ(J[G],Q);return $}function b0(J,Q={}){if(!J?.length)return;let Z=Q.bindingSeparator??", ",G=Q.dedupe!==!1?new Set:void 0,W="",j=0;for(let X of J){let _=ZZ(X.sequence,Q);if(!_)continue;if(G){if(G.has(_))continue;G.add(_)}W=j===0?_:`${W}${Z}${_}`,j+=1}return W}
|
|
3
|
+
export{KJ as bj,OJ as cj,SJ as dj,lJ as ej,ZQ as fj,mJ as gj,TQ as hj,jZ as ij,uJ as jj,k0 as kj,h0 as lj,f0 as mj,v0 as nj,iQ as oj,D0 as pj,K0 as qj,ZZ as rj,b0 as sj,x0 as tj};
|