From c7b9bf0a418bbe2ab296eca4c7b0590cb4ca6e74 Mon Sep 17 00:00:00 2001 From: Mikei386 <44135113+Mikei386@users.noreply.github.com> Date: Tue, 23 Jun 2026 13:42:15 +0200 Subject: [PATCH] Add explorer typeahead navigation --- build-plugin.sh | 2 +- packages/u-navigator-2026.06.23.r029.tgz | Bin 23072 -> 0 bytes packages/u-navigator-2026.06.23.r030.tgz | Bin 0 -> 23722 bytes server/public/app.js | 66 +++++++++++++++++++++++ u-navigator.plg | 4 +- 5 files changed, 69 insertions(+), 3 deletions(-) delete mode 100644 packages/u-navigator-2026.06.23.r029.tgz create mode 100644 packages/u-navigator-2026.06.23.r030.tgz diff --git a/build-plugin.sh b/build-plugin.sh index 9e32399..2924131 100755 --- a/build-plugin.sh +++ b/build-plugin.sh @@ -2,7 +2,7 @@ set -eu PLUGIN="u-navigator" -VERSION="2026.06.23.r029" +VERSION="2026.06.23.r030" PKG_DIR="packages" WORK_DIR=".plugin-build" PKG_NAME="${PLUGIN}-${VERSION}.tgz" diff --git a/packages/u-navigator-2026.06.23.r029.tgz b/packages/u-navigator-2026.06.23.r029.tgz deleted file mode 100644 index e060eb6739053bf3e00e95ba40b5ae3627595ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23072 zcmV*9KybewiwFQ)Z#rrK1MR&{a~s!^AnNXjiHYH?XVzs}_X21GAihCTq}Y^1+q~A- z6)D+nwT3DJ1)?mV3b(4j59@L}i;0+sS@rb1&BTlDcMb&#U=#eWL^)BkFIfI+UFyyuyF`HkoHy=dd(@qxMYU$3R; zztw8CK65TVQh$u+6Q}=X%^4^D*xRjlHyaHA{8qi%?sPh>#@1$It=)AV9p2x6{@|O# zmj~5LH%X$Zja+y4|9H6HKdgmeqx0?6@#D4DmU9G!9{n(@kVfNczcd^^)d#44<72lm zkN%NfQtN-a1@zzk*d4>?6Q_Ti|LVyo?75?l*2ePkUkg%K^53mIEBWt}evtl^4ES;Q z!1D56yWQxlV&L-fU%TGyuH?Vlcrx=}J(-NAXMPZWxHguT|2o}HVU{`L9uH*J~^J?>3%1`L9)LH(D$C?>GNs=$}*lhm-@Cm;XAQMr|ek-NutU|J9Re zC2-IEGdBs}(=lji`L9ujA1nFqR-Tpo_enpw^shMvzAqnGUjA!zTPy#+TY0SV-&VWT zZnr!2mHhXce{$(xqx$!i1(%lpfFZP3{(rafEHwYslNXgI;un0WPTVtZ@iqV+omOiZ z`LET*{hyWmcMH!-{`;h#h3H?&f;Zv=bLl@L|8+qASjm64@mS@*ZmqdluQxVV^51X% zS&07MYxSQ?|IK!%n_mCP|97?ifBfgM7fg58?@yB?4C3vrt@X8IKN)$u>)M>JuO0Tn zV0Ybze=F0_fgmt$Vt@R;g6hcH&;-Pm+6U#bU|Xz304Ja~voUCk{aP z%uBwByn(ap6gG~-a1`rERk)kVdhA^$m=*HuzdZbU|M=;1$OD-M)1a65Vc-N|G*(nrCRY(~Z;Uj!8nRw9yH};ApZ1vix)enC3 zddUkN+l!)Zf8Z4RVQ)J2f~5MVsTW-xc_YXjM#X~rY6yedUC$0}{dL)KU-jL@t!Na5 z-*(rNXzH!ME|f$IqW^d47xhelW#k8MV}Qu3YPD+b#Qtam{V0@P-_?pG*qujE7K&08 z)qx-Mi$(k{=Sa)Wz^-76`Kp-uAPf>{vUJzTKV&mXxnS1zfz$h^)5I$l@J*q_fPdE* z9B*V7X7{^;=imO_!HcgC3Ybx)A3uHi=!nu-1G^GwcwN_}yK8bzK9_@B0FD=ti}Mei zmZgB5MKH93k%vItt0wN*6L;*fW*;3EoV~of&bE4^L*0jzI5|wbF|@;5%v5U>U|F?t zdybstUgWun$D1q`Mn1rGJNGqUz}*zyELyWm6=Ppm4K%I2ksHUX;~E%Lsy4%vpQD7L zcg|bsX!V%+Cy~H6_BX11y1q=oV`rO0JF%gK@$M0cK&{0Q$ zMWGIk-x#%+KNBD=a2ETBi!<^jK)qxb2n1h?OprAl@{?b$N%VT-PS7~)0Ae*Z_er-%;93=$8h5Icc&DmHF#Xu$3M z)lmWn&PZ+)x_wv_3Ibj-BlP0{B+>+X(^&a`-O{tN|9sNV&Fw#n^MM=Ke`+iLuiJTY z_WzpQdaK!9*?)fX&$9NPt=(bR16q?_V*T#gopUdW(ZT|68o=MHwNACstVXrQ7QEfNx3)u?YUGV}*W=`B ztvd;uMUm`;-e3@T!TLRsva`V|$f@sH6oU4Z_+Ff@(LeKo zxHm)vEYPaeljqd^$Ei2+uZV(S((j3nZPDh~GL9GlF-sQxFpHOz-f}XX0Pv)J~ z4xmK>s-EmVhccQkwXp=C?u|y%;7qp00dISi>BwLHkN;+NVP^v-lu&Ae;S_xzyFTmF zg_up*9W6y~UBfa*qQLsSoeiuC5Sn3-w6$LNK|j2xzId|#@?`(n;mQ5|qXQ(e9Fm#% zKyG@Omj};}4xc{3A|~zV+A43&iKE^eVg%}{{%9e@U!mr^dhl6L|M$nR?BDb#$UOg_ ztp4975bv(z z{BLh;TwGjKFPhabI@uvmvpYZ#P7kUx+3GU{^ zUUY=E@u$HHG{}p6fH(;!4*pZ=g`+UqUH@V**g9C?dETHoYY;mdVpet{ua`I%em@!R zuH&>0J^yT&uoI-mRa)u&CZ0bVzhy%U2Qw? zho8f(YNJ=Lb^&Rc)kbyGX;tfxr#@=Hzgxq4x7zIi!DDtT>hPlHjam;%RCto8aad_K zd(cP?6DqtZ{5!8S+CPb2PNPxr3x-vtOjn`x?y%K>2C&1>Ce#C+YFFS7KUouy42@uN zqrzXlY;s(EtcG9G)b~n8QLWE8%2E;ai}+FM3=3X1|y2NUK2|IqyIR>eYI6%W2?$!;Tz4 zzvs0*FI}!#cbawRK7Hv7>n;4!f|Q!pWaqTo-E5153P+rVOh8=gxs%=XD4YiU%mj3t zMsrwiXcZ0yz1pU`aD`3?1mh=HyX)0WtbGR=)M{VphR=ffzdP}7-p2C#KlN^Bb^iBu zo|XRpNk2>K|2N_T%kTd*+x6A?-&=X?`hTli+uU5mfB6KSh3Frs{(WM=EWiI#?=;%0 z{h!--7M1_Vz3YZ;EHD2x+KtuyZ@2TT<+00uTU)LA zW^3jD^V@$GlmD1=_f6YaUj73GaCQINtvt)jfAvJ2wOOW(+VcKComKq5TY6UV-zWVn zL;p$)T#gUSrTAk%~t<;^xteZ8X5hs zRbTo4-pW&Dr=l@{QKfQvw(Wc|Xbn1p&AXHkPosg`^DvbjBel|ibk7?!25pv(@x36a z4veJHXG!B};`Je|Q}04DOT+zqNa_vxn_itIxjl^Vgw>Jvjh;xYG&Z|#hqn?B-F|qn z?EubfPA;8x8~%yTPTgXoRd$;2*J_uYTD8%j&`YOo@9h~m4s1K;ZdAlUmRPvKQ5cCd ziXn)peLtRz+^cQpEb^%vgAn^wZ%r;Y>eZGLU&Vz8^cWW-H3|*B!v+5Q<&wgR63iiR>Ny{ z#T$+k=#Mmzi2^O$=4tJ;FH$*TG&`+kYanaRo9-ISGW);UYKbsgYioQAe^Zv@3dInkfu4q!mDvBu4`8sTVFc1m1(NP+Rq>PM@2uFw2hMPfiUYPl7vpf`_jw*1 zmzJS|Zdg;8@Xq8i9}|1iD8}ST=m*eOg^PYL1T0F@Ski2;+9qzlPlEw~)h3pKY!4B0 z_}HmGMh6(xm9pikcz&LWxg-B9s9@|h7zE~K-IKKA2RP!&VB}GcWDjeshd%<#^#@nb zEX7#Ut1t#sOAiQtk#~?7t?FWxMQ)hYy+!5@rXGemo-u`TkYaRa?gX-Ta)w5y_baDf za^Z0b6{D%c2za^dFoty=J=KO8hz5wVKr2WRm_+avfFqtdb|YBE5esTg%ihRD5=52g zG20|1myGIC6;a#@DwqKbepWD)-!=vGld#&%^oCW!v5Z9ooK0<&hCXNW(6=fhEl{mG zj@6cAq_Reepzsk`0-sM}N}TcWO6iw4+`!bC|-JZ&~4+*23rg4#>L0t8{uof+Xh8rig_IcJ`@r!xro`(Iad1NV| zqj+a(VXHVltfLYxw@sMkvpp*s)ALg@raQ( z0CcI;=hptg#6`Qv=QuxAV4WgrHhMDfLG@4E(~*}Fc}DIe_6TR`+kC~t&Wr?)snvd$ z*KRT_Ta){9#8T&Te>@4J#5JgPzNnMwXR0E}22n=oGPEPXf|ieM2j>*i&M~%J&mD>M zF^C~4d^AQmcWzVt$kAYQcB*sO3(lK5wOY0h(LzH0Yz4mW4czI7x(1D%zV(v|No~mR zEHayDm#OLHOnOzsV7I)&DuH~?tgrBR7|17nAEeK`3@oht0@Re-VZgr`eYU?9-OhWf z_k2bk-uZb1kj5CxP_k`W_+fgXXmXY~ce&~|GRsvS-sK|9Jjp)`Tax|R$tmEv)plFU zUomnC#664L(^E(^D#jZKDm~B;mXZv0F>uD1bm^*HTSUV-b^B*o`D77UaBFMJA`L2j zk++6h_{bcC79UZ2GbJuIm_9cLCbP#+SMs1@Y04dj`dP2d)ITF{;<-r?g@+2B4lHA* zLEkRcQS2? zy2{KMJN#V{N6(9(h4sC&vcnI?JGI|s6e_^S9I~9hx}h@mMffcYSm_|RK_#o+zw{j{j0Mbp|mZHs~1T)vDhChuoPQI%fR%s-th>g zUkuutZqt1~Xg2K7G|XET-HhvJGfYHc@nWi0dzQh7z*X5Y>_v_4BGA(eVH)u4vs&Mr zvrJou(bPw=h}lc<?w2XBIqTs_2g>8<`LX?Hr18wi&!w!~#xO40bJIHO!B|X>DmgQjp~K zgn8hcs{?0j7i}W5)=UhoHy6N4X6g{6RyU@DRWM^Zh{|TpMs5y18CE)7<2QR5^P!8$ zWkYB#(Tcg@G!WWQBe}o(ZN7A{d}y8m>0lY`MFv7$T;9`$wd4+r1lHT>w^ix?+N? zC5(ImlrZ4v@2UCT$Q?uZMs}QIFL7sWFK3i0tpb`L5T3_gF#Wacxax}PR(cztGmGAp zJ(2vx@<*Dr`f}K%6r+stNxLxU)RyE~;PSK%OZ&RB$Olma5`KY0W#R_j=+`oz^OV9G zQ-cLf2|9zf#WwEnl%`a+G8;SZjSsN%?y%{HrE`q*NIn@D2#S`GEPl-Z zeKnkT+?^-z$1ZC~W{CmNUIpM4;HJ$uc04!sD&aK24aniFYI`H-Hn$|@*F2r*^@8xr zs&$0BQ^mt88Dra?w$WUL-`{c*!^4t${TZXyd}p5}xAXHy`C)d+#l0vR?aiC}j%DtD z35xxwG{Y-KYHn_3s2L4HjGA@Ys@GV*g4vA@Pi`OQN-Fc9*>N+{5 z&ep=NHgm~D+tZl8{N)TQ9=qI9KF`W5?LoSUA_x9dwephSe$sjSnrSbWv=7VQzV)sK z5eTBOl?7l6gD4zxuV5tt-=*J@v^WDnfd5deVC^L*20DUYwdz(!-O>xIYO1RGtg33V zn!0lG&F?cTEO|X%vKebvZ#HUe3jc%`U;+8Y$y|%Q?k3@#PR}Z%@JyEnnVK<|G1y$u z3_DoMpi`chMm^Po`Mhmuo|I_^GFc3nAJ7FTmnrG(VGOwEHZQUTKOR)7; zW-%2E(r{6M4p)Rv*9AbdavFK=TNpWhR4~OD>yP2-jW*@dTVz=uu_!!?yf|J)BgvQ& zQ(kg9F>L0E7Pda%-GcUhh@&ee1Li6?XTY^|rTo%8r$3s(8gOl%v&!N8a!QjPz*hHd zz0D*a(Q`_$Ek~{98HNO-3Xj})<_Hh=P0JaYnWYJ7b(k$#Ea&=SA%F8IK;9{byrTfJ z{frByJ`Bx+*UmIF2|3rR{XP7AMQ5;zU&=QVZC!W@>%(xwT3QxfOrOd!M&pQ;W^(JI zqGBAZ(od)slS1kYqi!jg*pD{Yx^HGDr|WViCFNhAvYT_E$L4&Pc3kF( z_M>YI9;UaJu&~xL>1l+{+ZyHe)@%iunJe|q0+a0^Op4+dLy1E{Qn+x&FbZa!&gYe| z7{A2$$yXo)f|RYP3xF&;WN|9x0VxuTjio-GllbQhh*<0dv%C4hI&r-^34Y7Za`9i- z^{&gdv3&fOX1BhI|93mjD*nqS{oE}6%W`~Re*Bki`u?X@tF?;%avM)$%NGBy+wL}7 zs{k;cz_Sef-)!}tL;v+=z0u9A|Lxl9{_k6PdY~jHj#49coj&M5V=qY1R2^L%k+W_X z6$@X;Oa)LrSUJFmqahv!$S=l}3RMK)m`vkiG$YJtOXX4}h4yrxc}C1A9e5XiL_0gn zskO}&oB1`EIaLk&&kj%S?;jmNS*|(1c(VWUL?-|F&rSiur599zXD2TYo*x}PeUd68 zQn5(iJ1^(}!g*k(o?zhPVSwpqR3_6QmIvkg)$1~uMMzye?5iBYx%vR@%qp3?c0Bfi zsY)a_@k~~}1OJenLJ-wXClj=JJ{bAEx6fQu;L@)S6K}kar}1b%`9+ZUBhUw_9khIl zJ_pc^hnRr9u4BrN;VEwPdl$}QcTz0zr03oMY8|FtpvL`&Y<^6B?#0tll71tQ<{7H8 zFWK40ZD-()VlVUh0drljyxs?8^&7wM9m7f)>A+@Kl2bVj^*fp|Io6*J*$#4}wsw7Y zjn6o`NX2}{mGi7q_=@hZD$q=$qaUQe2mKbFeNN#Kd{7c|<#P%+4+X59Rn84}2bYN# z#6D{XA#~&=#aD#{2(0WBM&TKLjQjX+#Qu%x&6PVI(I@-(F$QXY&r9~R7oX#YANcfZ zK(!#!;%7X>e<#BUE6DQG$1s87uYsu6W|8p01sJZWwX?Ck2Xj&xLw$!->`=19jrs)nsM&1?17x`)pymVo&AQ9FR6+w0+WBXVa~d#fTtD)DWR}y# z25l|(4zjv2nj5XXVlPXwQ)@s4NfE!e@m0`s2Gf9Qa#%XGEp{~>#^tMwzXL_O7p{-X zsb7S@7tyF#V6Uo3J|%AK^9N4xbG=|S3d1Dcs{-WDlA*9#LNi135I`zt9WFcx9qm>| zhl=sVWg2a5~w z^nhy&ro59?+FN))#7+;HDLu+nvIsqTDs14Ca@U4Bap5-J%>E=J4)r20b*s%(mDC zY8V2M!Us?NbZj{hDe+Sp$Jy+9m%wY#y>T}M=K*{ci@2FXjD`-Hy@fPqcNg$U?VB=E zqaN_8L?=j?;}|2~31kDQAu5&()DwAR4|#eD_53qf_j^P1@TZkq>q-g(Ta6S3HX8~9 z>jE1A&9+Qb5>uF+5|TW0P!lDx`2n%_b3f*J@Tfn}C+B1sUNG*Z@v*Od{+|(uNM7s( z&O;cbpIl8G^rd+V1nW63!w82uMHltK&;Rr6)Qzf=duAy1{U??BoFJzezf^0D!B%nYnNC99L^C4xEFY$=CDFII_&Spk0Z-9&f zc9k8(u`<+5F||rU6GTk`P|tY-eW=`d$52(*F~0or`pw*=tQ9`h*zJ-K9gurSNk%B@i&XYNWiP7g*gGp0;)|5xU;~BLNe%rx!_dPp_h97V zuVNwQf-^Nl2LaqTeu4*_7|LS6M1i&1EbWq2qzah5=M;E)!9g0nhV1xC`6fUP`GeB$@V+6BU zZQroGtU6XOQy(KIW^Cd=_YOira$F5m+jp`jWztSR#lFIGB$n zegB-Hh{$UoNh~9m%R> zohf_DD?5N*&$g+UYPrL00(g%-3iIw6*%5_&VuE$o`P@jz3Oiy|F!}%W62oAC|Bz!a zmI{loIf6+^i<`g~KbI`hs7GJv%$nS!SgDuxuq-T|N*GK-LXs`{VlF_kn9n3vEsAGB zh{4!bB_&IJx5V3*Ivy5c$Yn37D^0wtrsZMj+=5&%m!+6QXEsQK$xdzDi^9=Jayu?R z@iw>|-g|pQxs=6)Dq}^DX+5#z#uqRj+(pVL^N6immO}JKFU3R{-CiS0>Ft{xx@*hG z8%=dXLk?ULNa838iYYr1?2!l56DRxP0NGb~9HXcMEgvSa1s*e?5oaNBEvMdO1Y$-Q zUNaB9MKIgpc}?s#Jp2kqzGb=Ub1Ig@S2a)z;SO_a@*GpWMmAB+LQk5=Mk2I=r9^zo zimEM+JY49kRnd|0OH&KhbRt))160ZnP60m7Pg799dT-YqH}c)e$UXH&*7x`R@*n?8 zW|3rPozC6S6e<-f{(h1~MZyp4Ep4L}O4nusXuVrvX+H~P*MI(p!61ND)~HS-LMQ*9 zjV?)~K-|L^pG=J#!P$-YrmB{5x%Ps5S5bLOji zfBA?1D+6sIQkh@1IZ#1zd6#ih^(h`2gs#e%wxYM9UY?iPYxbNsI}=eK9WPin#afjY z1=`8IH>@_ZE@2&lW;3-t0(7cYt5_C$!uSU6B_1#8qz&!Wu%YrI)Y zEZhSc!i!p?3%05Vc9F(GK@@Gjlx8qK{mV4SsPN`3GJ-d>OQf~GLsGM2nF=P&P)%gF zbN~sHjse+Zc$6xJZu}66KXb2eGI$mx?lCbR9^4!_<|lq6nlwy;JaFrhhVSEVVwG zL+lHB89h^;V#Y-3yGGYDJ7g{dq8DThABNLW|H$fF2BS38V6in#8@JlNjnVJf9qFHr zK2%@i?s7G`ns`ilm0n#1MS!*)Z&pr2JfvR_aE)r6wOxu&cGFc>vdCP_rs{dC#Z1dr z-VCYNGx$OlovtlvurAJWQZJKZLTcw3S%B#;!?o+I*!&PTnj`0F)CU03HuK2yqAJ^Y z_5$ba&;J9o=)f8J@Y+2+gCU+J&IJ&d7cgNvrNCR%8P)kiOcGr$8DjdeoN#<)GXi9D zX*Pg}nH$CE$L^#kHsxV@x%Qt#V)QZsIVd3#AF10GKMCe%gIb43HZ?PRo6^}eBp11m zQmnb~MM>#RJ4yfEPCRj?vM9rmubb%<7aY|n0`x0Y*=y2f$VU=42cU?lYq6YIZArY} z*??BH4hXPdb=R|AvZ+RJ;!I<>5I4Dhl?WG=D%p4#w6fKp*8?IN&pQtL{=oP8`$?&q zgpbf;-#dc&49s2)KUm^bMIIbc~=NB~W9Y(epgnY-fc6wtv9b^$X zy@{c3u;;t3-PIQ{>A9A%%F> zWR+)NuH=s+Q9@AOcHTUin@LJFO#8{@nyN?29-46e1YdUg{aGm4@9U+Ak>wX+1e7j> z2IX0$7*(fBNj_;SDB)}=r}(KXx!k&7)_32F{p2SvvUh~d)iWsD^Czwt5$FnDBqUS% zao8`}h6v(u&Is)lWAKoPsF;3OD}L_vhRMw71&kT{F+1C^=e(&&wyn~y-&A7|@4aHB zMGJ1Fpf?2HMsnYLG4b6C;%VeP)G=QZxoz@kb`x@eU78GesMtBm?NB%WF2NVjC@eiD zg>^W~541K63qqDOmo#GAn#xhzuNK|5(jw+)Yo^6h#A9nW#b1VXk6IExl;2|7e}u1O zHtc3Bj%`=so+H%5+Ymo%rBZ6eQX2{w4=gnXRE2CH6keiyzY9PaX);sl=s}J@qq%ft z{YvGlv_q-xL7*&Ba3uA|%mX*!NyMKYS35Ct-lQu{sBRBMcd; zD_Qqh`7U7lwX6s9E4|^(wt;yDasQ{5LHXYDJUoFA(`rG>z$kl$!5R30I~rZ3ODKTr zb|l?7!@@t9kEs$EGUPy!1s}W7+v$YWa_R?tDz(pioP^7SUbj(5V@P-=59)jce1XX# zn85Z{;$rD_6^#H<>=k)@EMA0F1m!3zwHl~E-*eMXG^8f#ToyBd&89gIiwOsUGp3R!9{QM}*X*5lPp0Ej zm|Lt+WGoR&xc(hV+E}Nt)5zhHl4Wt>%8~Abt7ojZIA2)sn9~vS%*>pYp_eGY;ip7` zZE|(Z=#1K6RSZi6r<`{kI(OdbEnjDKIe|EzN*xJVErn_rMd4mHJ0_Ecj;}>t zC6QM!t9aRIlr&bqB#Jx39M0gX6loyHc)4h z@NI}D7%@B+B2?Sq=b)kjX~5;_ zt7I=r7x;!~882^0%{FKVUVo~{Pe5zINr%;+IWmdz55j4H$As@WHGH|i-EQ&0gHEH;ofrd2uk^eqIhi{HDPAy)Ztf&_PSp) z)mciR1?$&yAPZU*44gajlKU8A7%F~1C!jE!u64%P1}`g{oLh?e@f|o z^gQxJo7OA~G7Vi(ox^NjI-9HpS;hP_F&e5Z;@)Rj671#)g&etjimaeIlUj~Np~z9N z3el+}k?bTd--OA=_`&l>`EQj_v%o=1Tf>VlA!elB%o1Yj-Mlp-6^drw8j;HW>sccT zDcCH=@If^OEFO)f!I>8<#q_N=0A-lIQU8Zw{G#Fa2y-1b_{sAbz^I67bi-_wpA=yL1OdJG_B6cYP~+X^){J#2 zG^DLz1u7@^@s)Xjfbc;;0y7kO{^?KCv&bI|X29mf1Z~A-=Q#_lzZKBVwc&b$SiEaGjB#0Q}mb9wV?}~(dK^`yXSJ1F1`~n1$i8?X@ut^j_FqTD#uFU zE4XmK7y-OzzXW+~JD)Gwx7-ysBke4=*lN;FYFp6gGaH)WO~uaxqpQJ-=Z}s&H|h6o^su$*AYiKviaRSpwob6cJP{#VD`%~veXnSKWQ!MZsx71uyG5GOw-Urjbbw3P8 zo*NWRc|`QrO2Jvz@q`$R3U7Cl?S1)zc|2-$zQ^W2?i0@0`Pcex+4<+4;T!W4-kX$b z03KYFd3eGvxOtzNuAH+v={Yk(Q(}yn7XnF?E^)7Z=)Zj$(% zF(3l@)e|M9L$#%ZKN<*t-98f09mgwO3 zOs*$@T3k=CBNutrD73O6)kl$HxD3PKm_Iu)^fN|?;eL^gSro)5o4^MP zidbS7=3qtS=?tA=Zd~;HhF&)fe82?8k_E0~7Bxp~4ag5pMSja5Ddfa>LgrnRtyG6@ zT;!3fDBi1jL#F^3z7Re+C6^Xs^KT2D@kd;H+8wK!t8_+rpcQdB0u1;a-AxiKQ1M zMNr3hW7n7wD}{x`9K0P?sj%qUmOl@(u20Zjl?j0qp``R$m+#Huue0iB-b63i0fsl0 z4wwptF^zf+tO6NjKYvbV4hBypQCNok(I~v|`u4G8`(O3+Qn*WkG8kHw3pW{yQQHDz z$_yeKUxHP+z)1SCC?Y(4vEf5r*Hv+K;{mTmKV+QYvMA_hPBBZ__Ja$qLS|*;iot&Q z_SOU#<^-1EC*IVH988o;vD8J#v?9x3C_q_$cURAx>tZGfXxwk3FneSVd3S)|q5*R| z4Vl33VRSM&z4Y*yitnAK-ldmD zi3+kk`-G>V&vc*^>}4Gw3Qb0C&ns^H{l=Y*GP%cZh@)45n1Cw#Rhv)bE+DUD_LISTQ`iS#HkiKV_5%*?Ch{@J0XQ`xz zTV<{A@WR}nzGk_5V$pCRye1a&{8fR6BAgL3OyiEPg=uQhSR$#$v_Ss)O-OpA5!u9= zrF{Al3Lf`sE-w(3vI|@+%sA81i!nx%40Ooktl6UOOce&d1u;-oG-KJ|QL%FCOtb1m ztEKhNfUV)2pK3)$j+}uN=F;$5?XYV$&{rhnmwENC(HzQKGA*j7nQQb?Y~)nlo<|xs z+qGn9?ueJ>J7bfFx?#M}-^=Eaxr~4{Hg>Iin$tI6m@&4*a>xd*^5lin$_uEKj=e+N zPj_@+BUAH`<>~Yr!&ay(=D63cfwi3SQsUdN1DL0J7nQ zh!N5X3HcZwJfH(ozyzr;MYB%XqkN>$hcF|1PVcYF4*IGqLjca5Ri5OA8^52{TNX3Q z`hB}W7Ed(F?XZ-YNjEXgFeM6;`+Ir7D@04adh{ znP4UrbbRE}AvLvpQ<1>{GF6-+>~SeUB>yrLL&+HXiy+y}uuF*LIo&`C+G zS!~eVa8oT1eyW`lfocq8g$6aAVBS8NCGjoW9xi3NE`TlUw_@K%D&)B+Xkb3CKjIul}x9^-Oy9jx1-6}dG-*wRFh9_}{6N6`_fUI#${eBR2&5ybi z2$IbkxbCi{@3(?l4@M~dE9;0Q`YOw)%z~nz=E=woSrp~{PGyxTdnu85-HGBG+>_EU z)|eihZ+I=tv6J6T0@BqwyOziAU$4J@BZ-{XCv_V3bM`GtR+lydovF5L=-QbO%*L<9 z5S>}@$q;kpOrYA?@#%8i@hl{l9>9g=p0k|GYV3Enq?AU+{N85@ovL>2%o|P4RnbwD z+GD#ih6{uy$5;{#iXr&6J_{gVj88Q zFs(iy-PzT6IH%jqC?DMOxb;Bb(4nuy|u6O>W5T^%hJqo z?iqIoGBdR5rn-$*c`T#sz z6?1c`+)=af4=ceK``Qe-G6*M_@aLGppch^ahKcH_I9oZqnuL6lP_waPVMa^emow&d z_40?3(HvW?=`giyX2|U##qts8MtmfisdYLN=w$3nQhfSoq2DIw)TLhskMD zGd&f4?+H1{+&u%nrY{?4z!!^;J4(Lwu5PrjYWu7?vzRsxYQCKmIL!~}nipeK1SQSI z*a~6OWmKB%?0`1cNxd=tT6cLhN*u;O4BPU|f`W5NUBjFPB@?+cLCqNSu7;*KJ6dnd zmrArthA38R8}NUedZQ6L8u@p=H*#W>MEyQ=!H;{xs(#Z5?*Ue74QNaL#|W3h0M8d& zX2P(uSvqq75;G4P|JDrxC&2rq97x2ArqDKU3iEzWTS6i32=R#VW+&6T@j5)|>?QdJ zY&*h7LSs9IyYefx3>soxIZaEijg|gpCwuZ(0uu&iuoXagrQ0Z4w}-8Z=}YgIw4h3QS08UdyV$yT&9D-(MZxbI8rs0N?shQX0HpDna!KF zw2nyO(&uTpau`*u({dXe^~d@5^xU9Xp|d{^R%z8 z*%el#&)SPImKn>z51a)-W#$BE6wP~#gcioYNcXCmiEF`8^P;?%?qE2h_hr%aw(3LT zo{`_pj6sPzP^teVGsoHuy=QWbbBY0Djj&crKk&~pcm3M>F-xk)*};WWnXolV?+N)D z$z7nWWN+HOeJcBNs!;wkCRJJ8?()JkGNUXEQU5IgqQZ>XulB*sct22gph?X3u0Gj`y}%^U-Hf+C*l%X`G?{gk{NA4JLUl;hY&N6W_sVCh5Xo8{9AGK0v&`l0iMVAxdy)G{Tr1D_ zL#RHnw`;pao@ZgUE#-5>lbKsquBV()e;&SRXZI~Yw4qxjV;-`R<5)c#FBSirMueHi(`lfUQ4beVqf z1An0fc#*pZvQn9%Iy`SfLf?v5o4to4CHX3D+X6QmPl}?~Upg|cwtFBp4)myx@Ldr( z%laLU{D^a^A=Oo?l^-mv{2*HSVQwqmcszpCW=)+L(V|Kyz_KkUbIhn_EMt~msE{(t z^Y(d}g*UI}2VSm?bR1l|_Zp!+ zj8dAV)4NoWazqW}`ks!h!{vXv9Abip){B^HQ7Z&=y!vAt1{s?R_KSZNu5+>*+<#7K z)98zTOq=;K4?llTE`tT0g#_V(+yh{tN3gg2iVncKMy*yWEp5kP)^&Oz#m)2{W-idP zaSrhfj7@O<*jjqScLvPbwqnb-&IgiZ*GoXcKGTad| z7|&qLPR-LDX>xw^pqr1VDFjs8JG?iVM=%kosM%c07~?s{z^p|>)RTs@-IU?Xp!_#N zO<}Rc40WGrkPP`?sTbWA5ajsOQo_QylUNw<3k)P0s;&gZwfuvMggj3krb?VZvNEO{xU3;^Ek+U(koW@FBT#N%P zq+_v(GsL&nVJP(;-39#g0=&xb>7b~NY)iwz)KfiH^QW;apL;V>-YRJN3Ar>vZ3VvX z$UDX|-a~h`J)WEOkiGa4Mnv~aUZ9MQXL5KX2s6%I_G}^N#MA~ywDhg7Xu@FS4#a5r z=>~1^%Fj$*vB&pg%|6JDbcUQ|M?p&r1# zrCp!Zy^E*#uZ<@7&1>|YUBW0RmF3uR>a|9zq~QdmUpx2T*fKhQlgZEDZ?G3Y8(;aC zAcoXS*Uq;yE16f9waUk=%GpJ%CBMF(<$yWY_8Rgn3+tFYD|2QXAu_}Y?TiiY=-ne( zRQpRN#C5#WE|e4(2vYmk?7n3$U};*l*W5GYjSZRA6}c?-qBu}Up*UFF4rbm*ACPkDoNC0X+y8bgbT%daEf={`Tgrsdihc}-Dy0~tdb$} z-k!-?U;TdP-g@En##!0HNW~G4Q%T5G_&rAa`n@}z+~twM3OkfCN@T)4N;p#q>y(Au zWl)q|*avVzIt8RdK|<*eq)S4&Qx+rz1SA9&aA{Cr36TaV=`IC{C1mN&1(t4?hNYI> zm*;styfg2Y_v<}p=ALWj%sJPbx&FW75@(*|+50-rRlNVYhrZf0o!67{iuC;$;7gcs z0@rTQ&&&9{98w-y?AR$+i1X#^xyiCR&NBz-(BxkxdFAq-CeyDF^3pObkYJxg>inLi zjqswO4zHq(X6H9gh*koyWB+_PN;q-SKO5;c6sfp{Szb(VI^El#Z zSCeE-h*bCUk>t15paEI=PckZx1tm<=G77&~zj-%WUoSUliYTci+M5eAPx3Bk<#|_WBvvL)&aK4#G0mp~U25k}jA&)@H0> zRkXhR&?#nq+Vp^dS@yXZz5Tb|o+&o$!bzz@y}9eR6qB_xZz;;49$BH^M3Z*J8VrxB z`nBZK-E$`;R>}gvF7rsFQ^n3*t~0Y+T;jNR+lkO?E~ey(b5bFPaOSN$QM&XYd_Hle znPj$}De9%BWA-?U+E+~XxWkl-SvMT-U{=1oNwt7e2+UU zlr}lVloR?mARreysBK4XZZ>-+Qpf3@sP+D_;Adlyn@h}10|bp|=yM+f25bf$9TQB+ z-AWwKg+S!H*wE;b-tr}RInXG?_DgUCBsgpE)b#n?%7qefmF(%U7s6Xmf%O7reRttB z5G;T;JkCX%p5c;uU2MvdOkqSXPnkscJ@`flwkLzzQwxIomr=tlsNF&gBKcp~p%Bqz zdE_q6cwypN0dVtUf~&T-H#N;3N+pmV9mxkDkE{)a?{oIg>(8iGx84TJEFH1UcGpf^ zBloXPEL?{q!;}(0>Bj1XCo{Hal7IdPHoec_S$q6!xOW|9t*S7;P7sK$_tk5lQZ^vB zf5^O~B+&l~wfUz^Dv~U3(UX3hOwDg@RxiyTInt0^c;^%?10C(>?)kLY!Xd^-bCk`@ zA`=WeMj5Z|cAfP&^>JIX$VuJLyh0d;BTM&;t^yQSk^RX>*2TDQ}Fl}n~x-#8jCSo{+u!s zWj)63v95}mF69FYbs=hq8wYMOyCU%prx;&L_=tZjloRY%-h&88BYuIt>PFHG&nl`J z)0T#Dx;(18vOs=sP>*73*_rPrI08OzrVl(+r~bJt=h*Z!cVBda#$UthJ=y8PBe}VnrB%>;G+&OGc5M<_4ts16G1d5iLK0fN zDwpleO9fi#LPY?IH&*(Rw_ zXL*-?p#P-*oy~obt+A4Xsb`YMCd4V6W|g#;ac69@8v>W^Gfn}tO02>=SC9Yjel1p9 zk%=m&=mFaaYUl(lXvlQ&&Yh>?8MgI^VjRZIS z8_CZ`^xJEiHE35?3?-2DxJDa2pYo}H--rnmSMb5@vkwVPn|OTGJA@MdCXXKbsb}}kC|!XM z9`gWYn220v)Fc=S=8gL*)o|=>dM5>dW?O`x{V#Q@vr5c^qPU>18*ggJ-65V zISpmL?DOzCGNll#Y8|cgo>rz<&OY#4VC2!wyN6G|5m83XShe*8(ev;Md0t@`s0P4H zr8R7=j4`8Oj~_O(Nw0}LG5T<=%`mN2!BakDOY-5WzOc%Z%ZN5f`7h6BIr1?F1QmV( z1pM;oA%E5z6Wn<6bUq8AmSK}GPgwU<{CQqQ4ge|HGkD3KP}3vQz_wlkqd)Q@71VK( zrT4Yf1mHqro2sJ(-n}a0PXeZRkYlnWMSPQov^p#|7Fa!R!MvW@dYOp=PF;F`)nmGS zj_c@;xH;tghj^f2c%!^rq8q7FIFWEy9+0yR3ExQb!_>J1725LLeXg>s)}Z$#nU#Xm zn>)5^SDnhX$+;0kZx;1SU z(MVCwfpRB69_^Y)>cksc-A0iIT<0{k<73-k3>y-%maji?(!wtN28|i(^Vn;eIJ5Y* zxYgCM`>M2*BVlgr=$s}IuXUh%n7;0FqxXS{*4buJ>w|G>FYnJ8_T79lxBWaBj_26}x8Q-#g{I5}bHqgK|lN6U~ro3{SLW`Iq0=dNnm3}3CnQp8i2qszQBjVVn_@q@llofms-u`Tuvuh**eNh9~bs)k}9A-n#kz?8@dB%}#7tGE*RDkKb z&oXpk?40Fl+c0Xai)A$^dH0RF+h8$Qc$H37$0_D&ME<|SyXAc4U1!4djdjI8Yqrb> zG2xOI|0WGKVQ1lK(F7|wGRqkBCYqv;KrQdQdrEvW&IerQ~9sg&#O9`w`M# zfGa|&MNsTd$hD{8LuFqXu(Nbu3h~ojKfldq22!K6 zoKGwq*`*XW2*QOH0WjdtVARN3a?SVe%t66H$D6yyd(>hoOP*U7uo~h4PSuAzaZ11S z-G-~p>@WsFq22$D^LK`jUI7O{$aQbjF>Wr1Y`*>dTcJ+fm^3Sec|*n2T)8MBnqYn` z+U&%cqS7eB-@->vf6>7dOg&ulsFCH~<8cF4ScL`H_O@a9Jvf9y3I!~Q>*vI=?v4d! zeg4pMuGHB`aX)|_W9p*Q0Z|sJ$z-aXdAK3IstgQviAaj0l>K1jzB--Lci9^fa0-3B z@B@!VYVEZrdeuHZD^8b;OvsZ8TK~Jg0e#u@k(NWaW)_d@aGGN2v*o)ho{T;m8|#xt z#{E&sskNl*4W!M5uNbCheevmKD#X&Jv`$`q0VBXlI>^j~^mdvaYvn8Sq|Aw7KjX<6qov6mq-Ey4gvmbU-jYa1 zd$iq*m0;YV=sCpn{=I1-{=H}{xD=Oli~@bNzPfw0dD3+vq02@rh;q_Rh~E-eVPRDd zxxTK;3*=7cVjepB0|@gCHM6IJMB2S@oXx2eBa3PzG%EWbk?G3TcFvoE{#_|D^&0J? zlUnLzHwy9*%-hcG7ipu__@D#vv|%tF+I<=wxk&IXq54%j$vOWo>!U(Z{wJ6OA@Qre zJWM5uB6e&ab$M_PK>btE<9{l0uf@!n4PbtqZ6Yuq|AO89im*_~+{ir)v;y4ks zI)a#6-!C}jV>1PsEm^Al29xu2tbaFL9o?YE7)Ut{rY%^>FD^`w zTz~H!hx-!075NeS2@Y3WVhn{*kh%LuCY&Da60m2`_RB~+J)k4(P}=Gu{$&JF7)W)62?U>$t-{0 z{Jn(9gKnC&BApMCFWe02f7_P*Fjk^8)S$bQdE5GyxiMoY`ja>*S~*aA+&E=I7r>Ak zWgzvdG!8S4P2?R~N7EDXEYh~%&uo4VA!P`auI|Ru=g{PSim!@w$E~$`+b~Usl1ZxH z{EIwsJ?fG(X~yYy>nwB{IgCCVnQF%)BxQ%CxHlOUr&o3H8h6!I^_7n?GWmlU)5Xr$V!$dVAN|PU7N@NB;Mr0Ud$H;Ej^MHc} z1p&j^NG-gxDfllH(RDq~w^UFx=OI8>Ag?2AZ7Ybtiuu?}n1kYP(y942U~MT2EB4#` z$Nsvs+7+q~NZhpeqyZ4>>&~Xm1t%hG%Pc{W5ojZQn`a{(JGvbPKCNZF>$Z`$vk6?e z2qwB6^ARD2qxlao;?n;aD|b8hJIMxPo=LIPiJm%aG(p}Y76@dnNqfT#%;Gv2^S_&^ zW@G3a?P0ft`N%tFfMokR4E#a2lv{NBX`CZd8nCkT{Lk}r59$C#v-FSWqh`_czeTv+ z;4(hZI25b{lz2+J(0I>{L@D;~!qg7LXRFRNW>1QnJN%Kmd+46z@SQQ;@1P126tM7h zt}53Ehc5xEl}Ja$^~#{D#Bi+<&ankmbUTr$Lp)WJAZ6Ylqg@~UAT6oGM86SVGd3SK zw{2AOYi`^H`{8qWJgc)mmu;Y;oEjKEluGctVT*Zl-Kyi6X2^(Rw!u#xOK$T{YWQ%0 z7CGL8kn1Z{09ayTM!sJD+yD&;qvL}?wa+0YcD)#nE%UwL+;eXZ%nIjq=lw@_x1xWX zvO-K#D_Hec>m=r$KB7WHB;MTZK!cAO7cSz^b8oKiNwuDH`8)fgp70u^wTzS;5PiNU z+}{-m_Dp=QrMQDjrZC4oFXfg(5P(<=kH6iKq42h1WUzK{CjZebpKeihdHyoCf+l!dbl_WOPXh=9Ar)3 z&pxGtVuzN`lH3A>16QXf3HQk({pRpMsdEU1m5)>xf=e9e_+D40z&tKmhYl}+T{D|s z$=(vrEpn>#!KpL!fO&G#t*h1RfuTFK=tiPo%-)n5!L6#%#wtf(g{vfNq_a*zf0R z`t9+UyGTZ3Bk8#3%{Tw3;o0Ickn?xX+UAJb341B|arfdxo#Q(yrH%H4kT{&<>mQ_P z1iV3xnZu#g&F>D3i>1p#$}=JJ6+Y?r2Ot)CbyC@+vu_4|Ue#he=cKKrC1FCk#d> zPkoAoSK255xpas6tnCbT_?^5|U)az_>JS|kY;PUpJ4;bJ{aTU-H&cu`C9DFP6EDwBD z8z$2tGBiQmRXr3zGz2kt03)P?fO`4nh_k2syxT;*R~%(Z#RNhGq1bd%VrBJDp=_Bv9mOI2Kg>>9U1nN2dRxzxQ$fQPQqjz)lY*$ z%B@rOdN3NZ^^2(d0e=SwqRsSM>$%&Tl!o_kDUm+-*YGbrzI8-YC(n4D>%QW1yZ9O*gO~It*SFo|8 zZ?a=|62B>8q*At~4{_rmJL}_OZ(d5GW}l|Haw?D^7U6yPeQjW9Njy0tuD2#VB3P`MkRaO4KIykJ8T@Mra3* zp~(+!Jj415tE8mb2dF)?=q(odI_FbkpU`%=xBw8hq|Klv?4zBEIL%irW8a?(v%@f7 z>uL=}LE$ei*q-YJ;Y+yFvVbzMj#6I(o|a3KFnMg*Gibq`YLOI#G3Pi?rNd&^ewzMe}LEmN*kGY5WiO4Xg1Uv2dseFaX|d<&ZVLRvL)BAJ%U0_~n&xY%+|e(dAdyV$brxit#;Z zH>FjEcrIhZZ@c+7;-YV!7h0pRp@}7WwTp31M@-ME<#cJGL(Y!t5#%OfVgA1Q^ne|O z(RrmR2K5Lb;df~0yfUZH& zCS=KLUSY6N?zC7oKn%pOVZ!17vohFlin+%knXWMW_pR3|#?)29|+TZ8=3b!(Az=UA1T z_b6ijaoB28Gc;O(19RKmj~jSom80l4Gun&_^QormT729_s6Mf#eG)$$WBFXG3OVJT z{?|A(3+w#My$siqPaMzua2wnwMLr}fV~|HHMGKWG^XS@>O>wga8w4TtV`%=q<;GVw zI2$LW1|}yhp2b8yCnrJ|hhn%%3%g2~D681TOdik-f6+eJa1lCNdblh#PMpwR&`sbe zRB!(?c1$MFhP4C$>0Ig5@Sz3PHN!GEPw#?LF$t=mEl$e*P8Hh%*q#uzIA1uq{h$N( zeFD0fA)HT`{r$tRaEM+&UBHROpRAMs3CJhk1M*e@YK3A$v8_V7?DC`gp)<8DtAO@r zJ;mMl0;DCN+RzN1&TmO!!lmCoogp^SYsq&z@`*E{BJ3aYCcr^}X65@pn`7h46`I-! zoP@M)FlS{T6?|f~@;WLX(}%nCY3ZZOpx*5-Gu?^Uz{5YW(aVHK0ngUQ`?ojpM!4_3 zN+jPdA2s-0W`jHYIuz@^F&h#=pqsbTHZ#a(wdlxR z7Y4{`R9pHHLP#Z=NqLH7lMa5KT^7W3^+7VlBgOtfRdI3+3v=W1z&QWU*>NxI>M&Z?vC6M&d@w>sBsc{N@gRq4+Y4(*fR6c~m{e^mp_TNa-LA z48IUZLv^n{K}p&PQ4geIxeXGy+{XeL+dj8n1io=y_>%k~tPa4H0(ePW2)_`-53ib< zwfWRDOhu0G|MYEp$N$mq;)oInnO@n&k`?INg}?g%&G zP#@mGIvTm68`b*vWtH-nJQEip&}V=Pm*)PY72Jp4JR^tF)Aw3=3k z<)}6pJDV<&-(zzhDi(HUDy$ST9h>ywJ{B`ln`H@%$49fZ%T>OC3diXzu~Kcjz{1&Z zsz=|Sx-gq$jXA8_<(m`ZAomHsqbmkDtSUO$7LLbJ?G4kG3N diff --git a/packages/u-navigator-2026.06.23.r030.tgz b/packages/u-navigator-2026.06.23.r030.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5bbc173dabbb930d250c4aa6cfbf8acf2ad78d7a GIT binary patch literal 23722 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 Z-dccIKkH}xte@qc{{=9|+ { window.addEventListener('unhandledrejection', (event) => { recordDebug('window.unhandledrejection', { reason: serializeError(event.reason) }); }); +document.addEventListener('keydown', handleTypeAheadKey); init(); @@ -1015,6 +1021,59 @@ function updateSelectedRows() { } } +function handleTypeAheadKey(event) { + if (event.defaultPrevented || event.metaKey || event.ctrlKey || event.altKey) return; + if (state.contextMenu || state.settingsPanelVisible) return; + if (isTypingTarget(document.activeElement)) return; + if (event.key.length !== 1) return; + + const key = event.key.toLocaleLowerCase(); + if (!/^[\p{L}\p{N}]$/u.test(key)) return; + + const win = state.windows.find((item) => item.id === state.focusedId && item.kind === 'explorer'); + if (!win || !win.data.entries?.length) return; + + const now = Date.now(); + const repeated = state.typeAhead.windowId === win.id && state.typeAhead.key === key && now - state.typeAhead.at < 1000; + const entries = win.data.entries; + const selectedIndex = entries.findIndex((entry) => entry.path === win.data.selectedPath); + const startIndex = repeated ? selectedIndex + 1 : Math.max(0, selectedIndex + 1); + const match = findTypeAheadMatch(entries, key, startIndex); + if (!match) return; + + event.preventDefault(); + state.typeAhead = { key, windowId: win.id, at: now }; + win.data.selectedPath = match.path; + state.selectedEntry = match; + focusWindow(win); + updateSelectedRows(); + updatePropertiesWindows(); + scrollEntryIntoView(win, match.path); + recordDebug('typeahead.match', { key, path: match.path }); +} + +function findTypeAheadMatch(entries, key, startIndex) { + for (let offset = 0; offset < entries.length; offset += 1) { + const index = (startIndex + offset) % entries.length; + const entry = entries[index]; + if (entry.name?.toLocaleLowerCase().startsWith(key)) { + return entry; + } + } + return null; +} + +function scrollEntryIntoView(win, path) { + const row = workspace.querySelector(`.window[data-window-id="${win.id}"] .file-row[data-path="${cssEscape(path)}"]`); + row?.scrollIntoView({ block: 'nearest', inline: 'nearest' }); +} + +function isTypingTarget(element) { + if (!element) return false; + const tag = element.tagName; + return tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT' || element.isContentEditable; +} + function updatePropertiesWindows() { for (const win of state.windows.filter((item) => item.kind === 'properties')) { const body = workspace.querySelector(`.window[data-window-id="${win.id}"] .window-body`); @@ -1419,6 +1478,13 @@ function escapeAttr(value) { return escapeHtml(value); } +function cssEscape(value) { + if (window.CSS?.escape) { + return window.CSS.escape(String(value)); + } + return String(value).replace(/["\\]/g, '\\$&'); +} + function clamp(value, min, max) { return Math.max(min, Math.min(max, value)); } diff --git a/u-navigator.plg b/u-navigator.plg index f890578..895f04c 100644 --- a/u-navigator.plg +++ b/u-navigator.plg @@ -1,7 +1,7 @@ - + @@ -24,7 +24,7 @@ https://git.casaderoll.de/michael/Unraid-Navigator/raw/branch/main/packages/&package; -2c27aa33b2a3be760a518625a0762cac +64307317988b7af11b76fce0993e76e6