import React, { type FC, useState } from 'react' import { createRoot } from 'react-dom/client' import type { HotkeyOverride } from '../../index.js' import { focusGroupKeyUX, focusGroupPolyfill, getHotKeyHint, hiddenKeyUX, hotkeyKeyUX, hotkeyMacCompat, hotkeyOverrides, jumpKeyUX, likelyWithKeyboard, pressKeyUX, startKeyUX } from '../../index.js' let overrides: HotkeyOverride = {} let overridesTransformer = hotkeyOverrides(overrides) let macCompatTransformer = hotkeyMacCompat() startKeyUX(window, [ hotkeyKeyUX([macCompatTransformer, overridesTransformer]), focusGroupKeyUX(), focusGroupPolyfill(), pressKeyUX('is-pressed'), jumpKeyUX(), hiddenKeyUX() ]) const HotKeyHint: FC<{ hotkey: string }> = ({ hotkey }) => { return likelyWithKeyboard(window) ? ( {getHotKeyHint(window, hotkey, [ overridesTransformer, macCompatTransformer ])} ) : null } const MenuItem: FC<{ controls: string hotkey?: string route: string router: string routes?: string[] setRouter: (value: string) => void tabIndex?: number }> = ({ controls, hotkey, route, router, routes, setRouter, tabIndex }) => { if (!routes) routes = [route] return ( { e.preventDefault() setRouter(route) }} role="menuitem" tabIndex={tabIndex} > {route[0].toUpperCase() + route.slice(1)} {hotkey ? : null} ) } const Counter: FC = () => { let [clicked, setClicked] = useState(0) return ( ) } const Numbers: FC = () => { return (
{Array(10) .fill(0) .map((_, i) => ( ))}
) } const Search: FC = () => { return (
) } const Menu: FC<{ router: string; setRouter: (value: string) => void }> = ({ router, setRouter }) => { return ( ) } const Page: FC<{ router: string setRouter: (value: string) => void update: () => void }> = ({ router, setRouter, update }) => { let content = null if (router === 'home') { content = ( <> ) } else if (router === 'list1') { content = ( <>

List item hotkey

) } else if (router === 'list2') { content = ( <>

List item hotkey with panel

) } else if ( router === 'about' || router === 'history' || router === 'team' || router === 'treasury' ) { content = ( <> {router === 'history' || router === 'team' || router === 'treasury' ? (

The {router} page{' '} { e.preventDefault() setRouter('about') }} > Back

) : (

The {router} page

)} ) } else { content = (