diff --git a/sites/svelte.dev/src/lib/actions/focus.js b/sites/svelte.dev/src/lib/actions/focus.js deleted file mode 100644 index 0bbbe36429..0000000000 --- a/sites/svelte.dev/src/lib/actions/focus.js +++ /dev/null @@ -1,68 +0,0 @@ -/** @param {HTMLElement} node */ -export function focusable_children(node) { - const nodes = Array.from( - node.querySelectorAll( - 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])' - ) - ); - - const index = nodes.indexOf(document.activeElement); - - const update = (d) => { - let i = index + d; - i += nodes.length; - i %= nodes.length; - - // @ts-expect-error - nodes[i].focus(); - }; - - return { - /** @param {string} [selector] */ - next: (selector) => { - const reordered = [...nodes.slice(index + 1), ...nodes.slice(0, index + 1)]; - - for (let i = 0; i < reordered.length; i += 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - /** @param {string} [selector] */ - prev: (selector) => { - const reordered = [...nodes.slice(index + 1), ...nodes.slice(0, index + 1)]; - - for (let i = reordered.length - 2; i >= 0; i -= 1) { - if (!selector || reordered[i].matches(selector)) { - reordered[i].focus(); - return; - } - } - }, - update, - }; -} - -export function trap(node) { - const handle_keydown = (e) => { - if (e.key === 'Tab') { - e.preventDefault(); - - const group = focusable_children(node); - if (e.shiftKey) { - group.prev(); - } else { - group.next(); - } - } - }; - - node.addEventListener('keydown', handle_keydown); - - return { - destroy: () => { - node.removeEventListener('keydown', handle_keydown); - }, - }; -} diff --git a/sites/svelte.dev/src/lib/search/Search.svelte b/sites/svelte.dev/src/lib/search/Search.svelte deleted file mode 100644 index b501a6f441..0000000000 --- a/sites/svelte.dev/src/lib/search/Search.svelte +++ /dev/null @@ -1,130 +0,0 @@ - - -
- { - $searching = true; - $query = e.currentTarget.value; - e.currentTarget.value = ''; - }} - on:mousedown|preventDefault={() => ($searching = true)} - on:touchend|preventDefault={() => ($searching = true)} - type="search" - name="q" - placeholder="Search" - aria-label="Search" - spellcheck="false" - /> - - {#if browser} -
- {navigator.platform === 'MacIntel' ? '⌘' : 'Ctrl'} K -
- {/if} -
- - diff --git a/sites/svelte.dev/src/lib/search/SearchBox.svelte b/sites/svelte.dev/src/lib/search/SearchBox.svelte deleted file mode 100644 index b456db9464..0000000000 --- a/sites/svelte.dev/src/lib/search/SearchBox.svelte +++ /dev/null @@ -1,420 +0,0 @@ - - - { - if (e.key === 'k' && (navigator.platform === 'MacIntel' ? e.metaKey : e.ctrlKey)) { - e.preventDefault(); - $query = ''; - - if ($searching) { - close(); - } else { - $searching = true; - } - } - - if (e.code === 'Escape') { - close(); - } - }} -/> - -{#if $searching && ready} -