detached abeea67

test(web): regenerate the goldens for the palette close hook and finder load

The pages carry the hx-on:close hook of the palette and the unconditional
ermiteFinder.load() of the k-cmd handler, which came with 84a2d29 and were
not in the goldens.
commit
abeea67232213de89697a3576bacd9a003b9d6c7
author
brice · · 2026-10-12 05:10 UTC
parent
d5d431e
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
31 files · +62 -62
M cmd/ermite/testdata/web/blob-binary.html +2 -2
@@ -262,7 +262,7 @@
262262 </section>
263263 </div>
264264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266266 <div class="panel-head">
267267 <label for="cmd-q" class="sr">go to</label>
268268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373373 k-gh from:body -> document.querySelector('.brand')?.click();
374374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -262,7 +262,7 @@
262 </section>262 </section>
263 </div>263 </div>
264 </dialog>264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266 <div class="panel-head">266 <div class="panel-head">
267 <label for="cmd-q" class="sr">go to</label>267 <label for="cmd-q" class="sr">go to</label>
268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373 k-gh from:body -> document.querySelector('.brand')?.click();373 k-gh from:body -> document.querySelector('.brand')?.click();
374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-code.html +2 -2
@@ -332,7 +332,7 @@
332332 </section>
333333 </div>
334334 </dialog>
335-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
335+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
336336 <div class="panel-head">
337337 <label for="cmd-q" class="sr">go to</label>
338338 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -438,7 +438,7 @@
438438 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
439439 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
440440 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
441- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
441+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
442442 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
443443 k-gh from:body -> document.querySelector('.brand')?.click();
444444 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -332,7 +332,7 @@
332 </section>332 </section>
333 </div>333 </div>
334 </dialog>334 </dialog>
335-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">335+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
336 <div class="panel-head">336 <div class="panel-head">
337 <label for="cmd-q" class="sr">go to</label>337 <label for="cmd-q" class="sr">go to</label>
338 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();338 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -438,7 +438,7 @@
438 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());438 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
439 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();439 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
440 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());440 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
441- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();441+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
442 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();442 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
443 k-gh from:body -> document.querySelector('.brand')?.click();443 k-gh from:body -> document.querySelector('.brand')?.click();
444 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();444 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-empty.html +2 -2
@@ -262,7 +262,7 @@
262262 </section>
263263 </div>
264264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266266 <div class="panel-head">
267267 <label for="cmd-q" class="sr">go to</label>
268268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373373 k-gh from:body -> document.querySelector('.brand')?.click();
374374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -262,7 +262,7 @@
262 </section>262 </section>
263 </div>263 </div>
264 </dialog>264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266 <div class="panel-head">266 <div class="panel-head">
267 <label for="cmd-q" class="sr">go to</label>267 <label for="cmd-q" class="sr">go to</label>
268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373 k-gh from:body -> document.querySelector('.brand')?.click();373 k-gh from:body -> document.querySelector('.brand')?.click();
374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-image.html +2 -2
@@ -264,7 +264,7 @@
264264 </section>
265265 </div>
266266 </dialog>
267-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
267+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
268268 <div class="panel-head">
269269 <label for="cmd-q" class="sr">go to</label>
270270 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -370,7 +370,7 @@
370370 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
371371 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
372372 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
373- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
373+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
374374 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
375375 k-gh from:body -> document.querySelector('.brand')?.click();
376376 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -264,7 +264,7 @@
264 </section>264 </section>
265 </div>265 </div>
266 </dialog>266 </dialog>
267-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">267+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
268 <div class="panel-head">268 <div class="panel-head">
269 <label for="cmd-q" class="sr">go to</label>269 <label for="cmd-q" class="sr">go to</label>
270 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();270 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -370,7 +370,7 @@
370 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());370 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
371 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();371 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
372 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());372 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
373- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();373+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
374 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();374 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
375 k-gh from:body -> document.querySelector('.brand')?.click();375 k-gh from:body -> document.querySelector('.brand')?.click();
376 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();376 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-markdown.html +2 -2
@@ -329,7 +329,7 @@
329329 </section>
330330 </div>
331331 </dialog>
332-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
332+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
333333 <div class="panel-head">
334334 <label for="cmd-q" class="sr">go to</label>
335335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -435,7 +435,7 @@
435435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
436436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
437437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
438- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
438+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
439439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
440440 k-gh from:body -> document.querySelector('.brand')?.click();
441441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -329,7 +329,7 @@
329 </section>329 </section>
330 </div>330 </div>
331 </dialog>331 </dialog>
332-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">332+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
333 <div class="panel-head">333 <div class="panel-head">
334 <label for="cmd-q" class="sr">go to</label>334 <label for="cmd-q" class="sr">go to</label>
335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -435,7 +435,7 @@
435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
438- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();438+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
440 k-gh from:body -> document.querySelector('.brand')?.click();440 k-gh from:body -> document.querySelector('.brand')?.click();
441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-svg.html +2 -2
@@ -287,7 +287,7 @@
287287 </section>
288288 </div>
289289 </dialog>
290-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
290+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
291291 <div class="panel-head">
292292 <label for="cmd-q" class="sr">go to</label>
293293 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -393,7 +393,7 @@
393393 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
394394 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
395395 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
396- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
396+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
397397 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
398398 k-gh from:body -> document.querySelector('.brand')?.click();
399399 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -287,7 +287,7 @@
287 </section>287 </section>
288 </div>288 </div>
289 </dialog>289 </dialog>
290-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">290+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
291 <div class="panel-head">291 <div class="panel-head">
292 <label for="cmd-q" class="sr">go to</label>292 <label for="cmd-q" class="sr">go to</label>
293 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();293 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -393,7 +393,7 @@
393 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());393 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
394 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();394 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
395 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());395 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
396- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();396+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
397 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();397 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
398 k-gh from:body -> document.querySelector('.brand')?.click();398 k-gh from:body -> document.querySelector('.brand')?.click();
399 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();399 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-text.html +2 -2
@@ -282,7 +282,7 @@
282282 </section>
283283 </div>
284284 </dialog>
285-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
285+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
286286 <div class="panel-head">
287287 <label for="cmd-q" class="sr">go to</label>
288288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -388,7 +388,7 @@
388388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
389389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
390390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
391- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
391+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
392392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
393393 k-gh from:body -> document.querySelector('.brand')?.click();
394394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -282,7 +282,7 @@
282 </section>282 </section>
283 </div>283 </div>
284 </dialog>284 </dialog>
285-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">285+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
286 <div class="panel-head">286 <div class="panel-head">
287 <label for="cmd-q" class="sr">go to</label>287 <label for="cmd-q" class="sr">go to</label>
288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -388,7 +388,7 @@
388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
391- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();391+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
393 k-gh from:body -> document.querySelector('.brand')?.click();393 k-gh from:body -> document.querySelector('.brand')?.click();
394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-too-large.html +2 -2
@@ -262,7 +262,7 @@
262262 </section>
263263 </div>
264264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266266 <div class="panel-head">
267267 <label for="cmd-q" class="sr">go to</label>
268268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373373 k-gh from:body -> document.querySelector('.brand')?.click();
374374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -262,7 +262,7 @@
262 </section>262 </section>
263 </div>263 </div>
264 </dialog>264 </dialog>
265-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">265+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
266 <div class="panel-head">266 <div class="panel-head">
267 <label for="cmd-q" class="sr">go to</label>267 <label for="cmd-q" class="sr">go to</label>
268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();268 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -368,7 +368,7 @@
368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());368 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();369 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());370 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
371- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();371+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();372 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
373 k-gh from:body -> document.querySelector('.brand')?.click();373 k-gh from:body -> document.querySelector('.brand')?.click();
374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();374 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/blob-trojan.html +2 -2
@@ -329,7 +329,7 @@
329329 </section>
330330 </div>
331331 </dialog>
332-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
332+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
333333 <div class="panel-head">
334334 <label for="cmd-q" class="sr">go to</label>
335335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -435,7 +435,7 @@
435435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
436436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
437437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
438- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
438+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
439439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
440440 k-gh from:body -> document.querySelector('.brand')?.click();
441441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -329,7 +329,7 @@
329 </section>329 </section>
330 </div>330 </div>
331 </dialog>331 </dialog>
332-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">332+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
333 <div class="panel-head">333 <div class="panel-head">
334 <label for="cmd-q" class="sr">go to</label>334 <label for="cmd-q" class="sr">go to</label>
335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();335 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -435,7 +435,7 @@
435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());435 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();436 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());437 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
438- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();438+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();439 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
440 k-gh from:body -> document.querySelector('.brand')?.click();440 k-gh from:body -> document.querySelector('.brand')?.click();
441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();441 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-big.html +2 -2
@@ -299,7 +299,7 @@
299299 </section>
300300 </div>
301301 </dialog>
302-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
302+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
303303 <div class="panel-head">
304304 <label for="cmd-q" class="sr">go to</label>
305305 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -405,7 +405,7 @@
405405 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
406406 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
407407 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
408- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
408+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
409409 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
410410 k-gh from:body -> document.querySelector('.brand')?.click();
411411 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -299,7 +299,7 @@
299 </section>299 </section>
300 </div>300 </div>
301 </dialog>301 </dialog>
302-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">302+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
303 <div class="panel-head">303 <div class="panel-head">
304 <label for="cmd-q" class="sr">go to</label>304 <label for="cmd-q" class="sr">go to</label>
305 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();305 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -405,7 +405,7 @@
405 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());405 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
406 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();406 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
407 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());407 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
408- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();408+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
409 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();409 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
410 k-gh from:body -> document.querySelector('.brand')?.click();410 k-gh from:body -> document.querySelector('.brand')?.click();
411 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();411 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-binary.html +2 -2
@@ -294,7 +294,7 @@
294294 </section>
295295 </div>
296296 </dialog>
297-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
297+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
298298 <div class="panel-head">
299299 <label for="cmd-q" class="sr">go to</label>
300300 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -400,7 +400,7 @@
400400 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
401401 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
402402 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
403- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
403+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
404404 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
405405 k-gh from:body -> document.querySelector('.brand')?.click();
406406 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -294,7 +294,7 @@
294 </section>294 </section>
295 </div>295 </div>
296 </dialog>296 </dialog>
297-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">297+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
298 <div class="panel-head">298 <div class="panel-head">
299 <label for="cmd-q" class="sr">go to</label>299 <label for="cmd-q" class="sr">go to</label>
300 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();300 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -400,7 +400,7 @@
400 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());400 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
401 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();401 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
402 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());402 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
403- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();403+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
404 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();404 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
405 k-gh from:body -> document.querySelector('.brand')?.click();405 k-gh from:body -> document.querySelector('.brand')?.click();
406 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();406 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-merge.html +2 -2
@@ -333,7 +333,7 @@
333333 </section>
334334 </div>
335335 </dialog>
336-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
336+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
337337 <div class="panel-head">
338338 <label for="cmd-q" class="sr">go to</label>
339339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -439,7 +439,7 @@
439439 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
440440 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
441441 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
442- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
442+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
443443 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
444444 k-gh from:body -> document.querySelector('.brand')?.click();
445445 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -333,7 +333,7 @@
333 </section>333 </section>
334 </div>334 </div>
335 </dialog>335 </dialog>
336-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">336+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
337 <div class="panel-head">337 <div class="panel-head">
338 <label for="cmd-q" class="sr">go to</label>338 <label for="cmd-q" class="sr">go to</label>
339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -439,7 +439,7 @@
439 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());439 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
440 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();440 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
441 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());441 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
442- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();442+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
443 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();443 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
444 k-gh from:body -> document.querySelector('.brand')?.click();444 k-gh from:body -> document.querySelector('.brand')?.click();
445 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();445 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-modify-split.html +2 -2
@@ -454,7 +454,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
454454 </section>
455455 </div>
456456 </dialog>
457-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
457+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
458458 <div class="panel-head">
459459 <label for="cmd-q" class="sr">go to</label>
460460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -560,7 +560,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
560560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
561561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
562562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
563- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
563+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
564564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
565565 k-gh from:body -> document.querySelector('.brand')?.click();
566566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -454,7 +454,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
454 </section>454 </section>
455 </div>455 </div>
456 </dialog>456 </dialog>
457-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">457+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
458 <div class="panel-head">458 <div class="panel-head">
459 <label for="cmd-q" class="sr">go to</label>459 <label for="cmd-q" class="sr">go to</label>
460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -560,7 +560,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
563- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();563+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
565 k-gh from:body -> document.querySelector('.brand')?.click();565 k-gh from:body -> document.querySelector('.brand')?.click();
566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-modify.html +2 -2
@@ -454,7 +454,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
454454 </section>
455455 </div>
456456 </dialog>
457-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
457+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
458458 <div class="panel-head">
459459 <label for="cmd-q" class="sr">go to</label>
460460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -560,7 +560,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
560560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
561561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
562562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
563- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
563+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
564564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
565565 k-gh from:body -> document.querySelector('.brand')?.click();
566566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -454,7 +454,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
454 </section>454 </section>
455 </div>455 </div>
456 </dialog>456 </dialog>
457-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">457+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
458 <div class="panel-head">458 <div class="panel-head">
459 <label for="cmd-q" class="sr">go to</label>459 <label for="cmd-q" class="sr">go to</label>
460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();460 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -560,7 +560,7 @@ And &lt;b&gt;html&lt;/b&gt; &amp; &#34;quotes&#34;.</pre>
560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());560 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();561 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());562 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
563- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();563+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();564 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
565 k-gh from:body -> document.querySelector('.brand')?.click();565 k-gh from:body -> document.querySelector('.brand')?.click();
566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();566 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-rename.html +2 -2
@@ -359,7 +359,7 @@
359359 </section>
360360 </div>
361361 </dialog>
362-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
362+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
363363 <div class="panel-head">
364364 <label for="cmd-q" class="sr">go to</label>
365365 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -465,7 +465,7 @@
465465 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
466466 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
467467 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
468- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
468+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
469469 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
470470 k-gh from:body -> document.querySelector('.brand')?.click();
471471 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -359,7 +359,7 @@
359 </section>359 </section>
360 </div>360 </div>
361 </dialog>361 </dialog>
362-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">362+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
363 <div class="panel-head">363 <div class="panel-head">
364 <label for="cmd-q" class="sr">go to</label>364 <label for="cmd-q" class="sr">go to</label>
365 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();365 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -465,7 +465,7 @@
465 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());465 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
466 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();466 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
467 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());467 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
468- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();468+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
469 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();469 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
470 k-gh from:body -> document.querySelector('.brand')?.click();470 k-gh from:body -> document.querySelector('.brand')?.click();
471 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();471 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-root.html +2 -2
@@ -675,7 +675,7 @@
675675 </section>
676676 </div>
677677 </dialog>
678-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
678+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
679679 <div class="panel-head">
680680 <label for="cmd-q" class="sr">go to</label>
681681 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -781,7 +781,7 @@
781781 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
782782 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
783783 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
784- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
784+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
785785 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
786786 k-gh from:body -> document.querySelector('.brand')?.click();
787787 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -675,7 +675,7 @@
675 </section>675 </section>
676 </div>676 </div>
677 </dialog>677 </dialog>
678-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">678+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
679 <div class="panel-head">679 <div class="panel-head">
680 <label for="cmd-q" class="sr">go to</label>680 <label for="cmd-q" class="sr">go to</label>
681 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();681 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -781,7 +781,7 @@
781 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());781 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
782 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();782 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
783 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());783 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
784- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();784+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
785 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();785 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
786 k-gh from:body -> document.querySelector('.brand')?.click();786 k-gh from:body -> document.querySelector('.brand')?.click();
787 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();787 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commit-trojan.html +2 -2
@@ -468,7 +468,7 @@
468468 </section>
469469 </div>
470470 </dialog>
471-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
471+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
472472 <div class="panel-head">
473473 <label for="cmd-q" class="sr">go to</label>
474474 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -574,7 +574,7 @@
574574 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
575575 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
576576 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
577- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
577+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
578578 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
579579 k-gh from:body -> document.querySelector('.brand')?.click();
580580 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -468,7 +468,7 @@
468 </section>468 </section>
469 </div>469 </div>
470 </dialog>470 </dialog>
471-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">471+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
472 <div class="panel-head">472 <div class="panel-head">
473 <label for="cmd-q" class="sr">go to</label>473 <label for="cmd-q" class="sr">go to</label>
474 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();474 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -574,7 +574,7 @@
574 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());574 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
575 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();575 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
576 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());576 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
577- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();577+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
578 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();578 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
579 k-gh from:body -> document.querySelector('.brand')?.click();579 k-gh from:body -> document.querySelector('.brand')?.click();
580 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();580 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commits-page2.html +2 -2
@@ -283,7 +283,7 @@
283283 </section>
284284 </div>
285285 </dialog>
286-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
286+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
287287 <div class="panel-head">
288288 <label for="cmd-q" class="sr">go to</label>
289289 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -383,7 +383,7 @@
383383 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
384384 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
385385 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
386- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
386+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
387387 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
388388 k-gh from:body -> document.querySelector('.brand')?.click();
389389 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -283,7 +283,7 @@
283 </section>283 </section>
284 </div>284 </div>
285 </dialog>285 </dialog>
286-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">286+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
287 <div class="panel-head">287 <div class="panel-head">
288 <label for="cmd-q" class="sr">go to</label>288 <label for="cmd-q" class="sr">go to</label>
289 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();289 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -383,7 +383,7 @@
383 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());383 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
384 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();384 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
385 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());385 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
386- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();386+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
387 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();387 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
388 k-gh from:body -> document.querySelector('.brand')?.click();388 k-gh from:body -> document.querySelector('.brand')?.click();
389 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();389 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commits-path.html +2 -2
@@ -298,7 +298,7 @@
298298 </section>
299299 </div>
300300 </dialog>
301-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
301+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
302302 <div class="panel-head">
303303 <label for="cmd-q" class="sr">go to</label>
304304 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -398,7 +398,7 @@
398398 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
399399 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
400400 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
401- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
401+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
402402 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
403403 k-gh from:body -> document.querySelector('.brand')?.click();
404404 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -298,7 +298,7 @@
298 </section>298 </section>
299 </div>299 </div>
300 </dialog>300 </dialog>
301-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">301+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
302 <div class="panel-head">302 <div class="panel-head">
303 <label for="cmd-q" class="sr">go to</label>303 <label for="cmd-q" class="sr">go to</label>
304 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();304 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -398,7 +398,7 @@
398 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());398 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
399 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();399 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
400 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());400 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
401- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();401+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
402 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();402 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
403 k-gh from:body -> document.querySelector('.brand')?.click();403 k-gh from:body -> document.querySelector('.brand')?.click();
404 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();404 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commits-root.html +2 -2
@@ -1085,7 +1085,7 @@
10851085 </section>
10861086 </div>
10871087 </dialog>
1088-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1088+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
10891089 <div class="panel-head">
10901090 <label for="cmd-q" class="sr">go to</label>
10911091 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -1185,7 +1185,7 @@
11851185 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
11861186 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
11871187 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
1188- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
1188+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
11891189 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
11901190 k-gh from:body -> document.querySelector('.brand')?.click();
11911191 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -1085,7 +1085,7 @@
1085 </section>1085 </section>
1086 </div>1086 </div>
1087 </dialog>1087 </dialog>
1088-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">1088+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1089 <div class="panel-head">1089 <div class="panel-head">
1090 <label for="cmd-q" class="sr">go to</label>1090 <label for="cmd-q" class="sr">go to</label>
1091 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();1091 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -1185,7 +1185,7 @@
1185 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());1185 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
1186 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();1186 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
1187 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());1187 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
1188- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();1188+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
1189 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();1189 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
1190 k-gh from:body -> document.querySelector('.brand')?.click();1190 k-gh from:body -> document.querySelector('.brand')?.click();
1191 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();1191 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/commits-small.html +2 -2
@@ -438,7 +438,7 @@
438438 </section>
439439 </div>
440440 </dialog>
441-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
441+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
442442 <div class="panel-head">
443443 <label for="cmd-q" class="sr">go to</label>
444444 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -550,7 +550,7 @@
550550 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
551551 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
552552 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
553- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
553+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
554554 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
555555 k-gh from:body -> document.querySelector('.brand')?.click();
556556 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -438,7 +438,7 @@
438 </section>438 </section>
439 </div>439 </div>
440 </dialog>440 </dialog>
441-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">441+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
442 <div class="panel-head">442 <div class="panel-head">
443 <label for="cmd-q" class="sr">go to</label>443 <label for="cmd-q" class="sr">go to</label>
444 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();444 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -550,7 +550,7 @@
550 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());550 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
551 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();551 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
552 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());552 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
553- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();553+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
554 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();554 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
555 k-gh from:body -> document.querySelector('.brand')?.click();555 k-gh from:body -> document.querySelector('.brand')?.click();
556 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();556 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/empty.html +2 -2
@@ -180,7 +180,7 @@
180180 </div>
181181 </dl>
182182 </dialog>
183-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
183+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
184184 <div class="panel-head">
185185 <label for="cmd-q" class="sr">go to</label>
186186 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -244,7 +244,7 @@
244244 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
245245 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
246246 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
247- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
247+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
248248 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
249249 k-gh from:body -> document.querySelector('.brand')?.click();
250250 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -180,7 +180,7 @@
180 </div>180 </div>
181 </dl>181 </dl>
182 </dialog>182 </dialog>
183-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">183+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
184 <div class="panel-head">184 <div class="panel-head">
185 <label for="cmd-q" class="sr">go to</label>185 <label for="cmd-q" class="sr">go to</label>
186 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();186 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -244,7 +244,7 @@
244 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());244 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
245 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();245 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
246 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());246 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
247- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();247+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
248 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();248 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
249 k-gh from:body -> document.querySelector('.brand')?.click();249 k-gh from:body -> document.querySelector('.brand')?.click();
250 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();250 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/home.html +2 -2
@@ -210,7 +210,7 @@
210210 </div>
211211 </dl>
212212 </dialog>
213-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
213+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
214214 <div class="panel-head">
215215 <label for="cmd-q" class="sr">go to</label>
216216 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -280,7 +280,7 @@
280280 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
281281 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
282282 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
283- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
283+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
284284 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
285285 k-gh from:body -> document.querySelector('.brand')?.click();
286286 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -210,7 +210,7 @@
210 </div>210 </div>
211 </dl>211 </dl>
212 </dialog>212 </dialog>
213-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">213+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
214 <div class="panel-head">214 <div class="panel-head">
215 <label for="cmd-q" class="sr">go to</label>215 <label for="cmd-q" class="sr">go to</label>
216 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();216 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -280,7 +280,7 @@
280 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());280 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
281 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();281 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
282 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());282 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
283- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();283+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
284 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();284 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
285 k-gh from:body -> document.querySelector('.brand')?.click();285 k-gh from:body -> document.querySelector('.brand')?.click();
286 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();286 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/not-found-page.html +2 -2
@@ -169,7 +169,7 @@
169169 </div>
170170 </dl>
171171 </dialog>
172-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
172+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
173173 <div class="panel-head">
174174 <label for="cmd-q" class="sr">go to</label>
175175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -227,7 +227,7 @@
227227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
228228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
229229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
230- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
230+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
231231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
232232 k-gh from:body -> document.querySelector('.brand')?.click();
233233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -169,7 +169,7 @@
169 </div>169 </div>
170 </dl>170 </dl>
171 </dialog>171 </dialog>
172-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">172+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
173 <div class="panel-head">173 <div class="panel-head">
174 <label for="cmd-q" class="sr">go to</label>174 <label for="cmd-q" class="sr">go to</label>
175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -227,7 +227,7 @@
227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
230- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();230+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
232 k-gh from:body -> document.querySelector('.brand')?.click();232 k-gh from:body -> document.querySelector('.brand')?.click();
233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/not-found.html +2 -2
@@ -169,7 +169,7 @@
169169 </div>
170170 </dl>
171171 </dialog>
172-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
172+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
173173 <div class="panel-head">
174174 <label for="cmd-q" class="sr">go to</label>
175175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -227,7 +227,7 @@
227227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
228228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
229229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
230- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
230+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
231231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
232232 k-gh from:body -> document.querySelector('.brand')?.click();
233233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -169,7 +169,7 @@
169 </div>169 </div>
170 </dl>170 </dl>
171 </dialog>171 </dialog>
172-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">172+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
173 <div class="panel-head">173 <div class="panel-head">
174 <label for="cmd-q" class="sr">go to</label>174 <label for="cmd-q" class="sr">go to</label>
175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();175 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -227,7 +227,7 @@
227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());227 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();228 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());229 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
230- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();230+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();231 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
232 k-gh from:body -> document.querySelector('.brand')?.click();232 k-gh from:body -> document.querySelector('.brand')?.click();
233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();233 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/refs.html +2 -2
@@ -333,7 +333,7 @@
333333 </section>
334334 </div>
335335 </dialog>
336-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
336+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
337337 <div class="panel-head">
338338 <label for="cmd-q" class="sr">go to</label>
339339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -451,7 +451,7 @@
451451 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
452452 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
453453 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
454- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
454+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
455455 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
456456 k-gh from:body -> document.querySelector('.brand')?.click();
457457 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -333,7 +333,7 @@
333 </section>333 </section>
334 </div>334 </div>
335 </dialog>335 </dialog>
336-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">336+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
337 <div class="panel-head">337 <div class="panel-head">
338 <label for="cmd-q" class="sr">go to</label>338 <label for="cmd-q" class="sr">go to</label>
339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();339 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -451,7 +451,7 @@
451 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());451 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
452 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();452 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
453 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());453 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
454- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();454+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
455 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();455 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
456 k-gh from:body -> document.querySelector('.brand')?.click();456 k-gh from:body -> document.querySelector('.brand')?.click();
457 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();457 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/summary.html +2 -2
@@ -351,7 +351,7 @@
351351 </section>
352352 </div>
353353 </dialog>
354-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
354+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
355355 <div class="panel-head">
356356 <label for="cmd-q" class="sr">go to</label>
357357 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -469,7 +469,7 @@
469469 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
470470 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
471471 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
472- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
472+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
473473 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
474474 k-gh from:body -> document.querySelector('.brand')?.click();
475475 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -351,7 +351,7 @@
351 </section>351 </section>
352 </div>352 </div>
353 </dialog>353 </dialog>
354-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">354+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
355 <div class="panel-head">355 <div class="panel-head">
356 <label for="cmd-q" class="sr">go to</label>356 <label for="cmd-q" class="sr">go to</label>
357 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();357 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -469,7 +469,7 @@
469 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());469 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
470 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();470 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
471 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());471 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
472- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();472+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
473 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();473 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
474 k-gh from:body -> document.querySelector('.brand')?.click();474 k-gh from:body -> document.querySelector('.brand')?.click();
475 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();475 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/tree-nested.html +2 -2
@@ -282,7 +282,7 @@
282282 </section>
283283 </div>
284284 </dialog>
285-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
285+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
286286 <div class="panel-head">
287287 <label for="cmd-q" class="sr">go to</label>
288288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -388,7 +388,7 @@
388388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
389389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
390390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
391- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
391+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
392392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
393393 k-gh from:body -> document.querySelector('.brand')?.click();
394394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -282,7 +282,7 @@
282 </section>282 </section>
283 </div>283 </div>
284 </dialog>284 </dialog>
285-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">285+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
286 <div class="panel-head">286 <div class="panel-head">
287 <label for="cmd-q" class="sr">go to</label>287 <label for="cmd-q" class="sr">go to</label>
288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();288 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -388,7 +388,7 @@
388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());388 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();389 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());390 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
391- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();391+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();392 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
393 k-gh from:body -> document.querySelector('.brand')?.click();393 k-gh from:body -> document.querySelector('.brand')?.click();
394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();394 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/tree-root.html +2 -2
@@ -509,7 +509,7 @@
509509 </section>
510510 </div>
511511 </dialog>
512-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
512+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
513513 <div class="panel-head">
514514 <label for="cmd-q" class="sr">go to</label>
515515 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -615,7 +615,7 @@
615615 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
616616 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
617617 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
618- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
618+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
619619 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
620620 k-gh from:body -> document.querySelector('.brand')?.click();
621621 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -509,7 +509,7 @@
509 </section>509 </section>
510 </div>510 </div>
511 </dialog>511 </dialog>
512-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">512+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
513 <div class="panel-head">513 <div class="panel-head">
514 <label for="cmd-q" class="sr">go to</label>514 <label for="cmd-q" class="sr">go to</label>
515 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();515 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -615,7 +615,7 @@
615 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());615 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
616 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();616 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
617 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());617 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
618- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();618+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
619 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();619 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
620 k-gh from:body -> document.querySelector('.brand')?.click();620 k-gh from:body -> document.querySelector('.brand')?.click();
621 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();621 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/tree-slash-ref.html +2 -2
@@ -279,7 +279,7 @@
279279 </section>
280280 </div>
281281 </dialog>
282-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
282+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
283283 <div class="panel-head">
284284 <label for="cmd-q" class="sr">go to</label>
285285 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -385,7 +385,7 @@
385385 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
386386 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
387387 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
388- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
388+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
389389 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
390390 k-gh from:body -> document.querySelector('.brand')?.click();
391391 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -279,7 +279,7 @@
279 </section>279 </section>
280 </div>280 </div>
281 </dialog>281 </dialog>
282-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">282+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
283 <div class="panel-head">283 <div class="panel-head">
284 <label for="cmd-q" class="sr">go to</label>284 <label for="cmd-q" class="sr">go to</label>
285 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();285 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -385,7 +385,7 @@
385 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());385 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
386 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();386 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
387 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());387 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
388- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();388+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
389 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();389 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
390 k-gh from:body -> document.querySelector('.brand')?.click();390 k-gh from:body -> document.querySelector('.brand')?.click();
391 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();391 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
M cmd/ermite/testdata/web/tree-subdir.html +2 -2
@@ -304,7 +304,7 @@
304304 </section>
305305 </div>
306306 </dialog>
307-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
307+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
308308 <div class="panel-head">
309309 <label for="cmd-q" class="sr">go to</label>
310310 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -410,7 +410,7 @@
410410 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
411411 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
412412 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
413- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();
413+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
414414 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
415415 k-gh from:body -> document.querySelector('.brand')?.click();
416416 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();
@@ -304,7 +304,7 @@
304 </section>304 </section>
305 </div>305 </div>
306 </dialog>306 </dialog>
307-<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">307+<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
308 <div class="panel-head">308 <div class="panel-head">
309 <label for="cmd-q" class="sr">go to</label>309 <label for="cmd-q" class="sr">go to</label>
310 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();310 <input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" aria-controls="cmd-list" hx-on:input="let t = this.value.toLowerCase().trim();
@@ -410,7 +410,7 @@
410 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());410 k-esc from:body -> q('dialog[open]').arr().forEach(d => d.close());
411 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();411 k-help from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-help').arr()[0].showModal();
412 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());412 k-refs from:body -> q('#panel-refs').count && (q('dialog[open]').arr().forEach(d => d.close()), q('#panel-refs').arr()[0].showModal(), q('#refs-filter').arr()[0].focus());
413- k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); document.body.dataset.paths && ermiteFinder.load();413+ k-cmd from:body -> q('dialog[open]').arr().forEach(d => d.close()); q('#panel-cmd').arr()[0].showModal(); q('#cmd-q').arr()[0].focus(); ermiteFinder.load();
414 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();414 k-filter from:body -> q('[data-filter]').arr()[0]?.focus();
415 k-gh from:body -> document.querySelector('.brand')?.click();415 k-gh from:body -> document.querySelector('.brand')?.click();
416 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();416 k-gt from:body -> document.querySelector('.tabs [data-key=t]')?.click();

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 41

↑↓ moveenter openesc close