@alivault/pico 0.14.0 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/public/_shell.html +19 -0
- package/.output/public/assets/PatchDiff-SN-mXa3p.js +343 -0
- package/.output/public/assets/{angular-html-BZNntD0J.js → angular-html-B9LEBPKs.js} +1 -1
- package/.output/public/assets/{angular-ts-SQQMYL2C.js → angular-ts-CD6u-Ij9.js} +1 -1
- package/.output/public/assets/{apl-D5V6uPDr.js → apl-VeDHIFIx.js} +1 -1
- package/.output/public/assets/app-shell-common-0xa28gDm.js +1 -0
- package/.output/public/assets/{astro-DeXKSaFP.js → astro-Dd8L1z6M.js} +1 -1
- package/.output/public/assets/{blade-Bu5re0Vg.js → blade-BNxrbiva.js} +1 -1
- package/.output/public/assets/{bsl-B1qbqNES.js → bsl-B0twaj2j.js} +1 -1
- package/.output/public/assets/{cairo-BDj8wWhy.js → cairo-DASKFAWI.js} +1 -1
- package/.output/public/assets/{cobol-nvZDS9LT.js → cobol-D_qN8j4K.js} +1 -1
- package/.output/public/assets/{coffee-BKLOTq4e.js → coffee-60nIQewd.js} +1 -1
- package/.output/public/assets/{cpp-D6g1DVNt.js → cpp-e1j1tDCV.js} +1 -1
- package/.output/public/assets/{crystal-DfoZI57w.js → crystal-brDfRjQ_.js} +1 -1
- package/.output/public/assets/{edge-DwocGnOF.js → edge-DadfRK3Q.js} +1 -1
- package/.output/public/assets/{elixir-Dtbfds1r.js → elixir-CsoHPmz3.js} +1 -1
- package/.output/public/assets/{elm-CpPtm471.js → elm-BLTa0sZG.js} +1 -1
- package/.output/public/assets/{erb--z3IM9Cb.js → erb-DIR2QRkp.js} +1 -1
- package/.output/public/assets/{erlang-Bc4hQuqa.js → erlang-DnbJbitJ.js} +1 -1
- package/.output/public/assets/{fortran-fixed-form-B02FOYI-.js → fortran-fixed-form-Bse4XUyD.js} +1 -1
- package/.output/public/assets/{fsharp-DhdR18vN.js → fsharp-Dy8OnZ0O.js} +1 -1
- package/.output/public/assets/{gdresource-DgnrMPIx.js → gdresource-BD_7yRHA.js} +1 -1
- package/.output/public/assets/{git-commit-DGJi7qBD.js → git-commit-CIMjlyHf.js} +1 -1
- package/.output/public/assets/{git-rebase-Ce47xoa6.js → git-rebase-DV2DyQK7.js} +1 -1
- package/.output/public/assets/{glimmer-js-C0BuzxQC.js → glimmer-js-DVG5pFvd.js} +1 -1
- package/.output/public/assets/{glimmer-ts-irOZ-cAQ.js → glimmer-ts-BeWaLARz.js} +1 -1
- package/.output/public/assets/{glsl-JAhLUe0P.js → glsl-BrOWUUEh.js} +1 -1
- package/.output/public/assets/{graphql-D2ba3BkR.js → graphql-B_3o81z5.js} +1 -1
- package/.output/public/assets/{hack-CgzUpY8l.js → hack-BW-0PxQy.js} +1 -1
- package/.output/public/assets/{haml-C-oIZcDo.js → haml-DnNXiHAO.js} +1 -1
- package/.output/public/assets/{handlebars-CbP-Mhzf.js → handlebars-CftcPtku.js} +1 -1
- package/.output/public/assets/{html-ddqpqPg0.js → html-D5IqfVuz.js} +1 -1
- package/.output/public/assets/{html-derivative-DWGxf_At.js → html-derivative-QNqmMkaY.js} +1 -1
- package/.output/public/assets/{http-Bg1nG1nG.js → http-Dd7eRKUa.js} +1 -1
- package/.output/public/assets/{hurl-zm47Pi1n.js → hurl-kBs5Ibg1.js} +1 -1
- package/.output/public/assets/{hxml-adC65L_J.js → hxml-CGx66ebi.js} +1 -1
- package/.output/public/assets/index-C-mxWGZ5.css +2 -0
- package/.output/public/assets/index-FOqZaR4L.js +48 -0
- package/.output/public/assets/{jinja-Bnj4awH5.js → jinja-BPoCSjyd.js} +1 -1
- package/.output/public/assets/{jison-CuCNs9Q3.js → jison-WHPVy3Jl.js} +1 -1
- package/.output/public/assets/{julia-DNYHzXlE.js → julia-BaKiQMPf.js} +1 -1
- package/.output/public/assets/{just-BlWkkmf2.js → just-BKMc7tVT.js} +1 -1
- package/.output/public/assets/{latex-DqPzjMIt.js → latex-Cczzu1HI.js} +1 -1
- package/.output/public/assets/{liquid-BURJK16h.js → liquid-DrJZrMEf.js} +1 -1
- package/.output/public/assets/{lua-31hdJClp.js → lua-CFIwCMnP.js} +1 -1
- package/.output/public/assets/{marko-C2ZcdSLh.js → marko-BreagErn.js} +1 -1
- package/.output/public/assets/{mdc-N1ii9pk5.js → mdc-CBcMHZUq.js} +1 -1
- package/.output/public/assets/{nextflow-JEyYUlIq.js → nextflow-CZbrTmS2.js} +1 -1
- package/.output/public/assets/{nginx-BuomO0W8.js → nginx-CMOi8dTH.js} +1 -1
- package/.output/public/assets/{nim-hKoEPsYL.js → nim-DbDZ9Wa-.js} +1 -1
- package/.output/public/assets/{perl-CAGVW6Ra.js → perl-DyRCGnKu.js} +1 -1
- package/.output/public/assets/{php-BycclmzS.js → php-Ciarv7b4.js} +1 -1
- package/.output/public/assets/plus-B1rJPgNv.js +1 -0
- package/.output/public/assets/preload-helper-Csz9R64u.js +5 -0
- package/.output/public/assets/{pug-4maJHz9G.js → pug-CVCqbfEm.js} +1 -1
- package/.output/public/assets/{qml-JLIQfzyb.js → qml-DechmdFA.js} +1 -1
- package/.output/public/assets/query-keys-C9jMaRnO.js +1 -0
- package/.output/public/assets/{razor-P8rbooCh.js → razor-bgzHke67.js} +1 -1
- package/.output/public/assets/right-sidebar-CWvXcZzC.js +1831 -0
- package/.output/public/assets/routes-CXlaorp4.js +23 -0
- package/.output/public/assets/{rst-C6GHyL-N.js → rst-Ce6_XwFd.js} +1 -1
- package/.output/public/assets/{ruby-Cl8PVkbY.js → ruby-BtLKlt8E.js} +1 -1
- package/.output/public/assets/{sas-CXoVwlZN.js → sas-Bco5tnse.js} +1 -1
- package/.output/public/assets/{scss-DNczJ95n.js → scss-KPCA05M8.js} +1 -1
- package/.output/public/assets/{shaderlab-DZ3Lsiak.js → shaderlab-uUHiM5Mm.js} +1 -1
- package/.output/public/assets/{shellsession-COm1V40U.js → shellsession-BnUZVYXU.js} +1 -1
- package/.output/public/assets/{soy-DwewhJ_3.js → soy-Dsrg4bVI.js} +1 -1
- package/.output/public/assets/{sparql-B9c85a_o.js → sparql-D5zsvcbT.js} +1 -1
- package/.output/public/assets/{stata-Bl--TAbZ.js → stata-BdK5CFUf.js} +1 -1
- package/.output/public/assets/{surrealql-BW79EE-U.js → surrealql-Blm5wp47.js} +1 -1
- package/.output/public/assets/{svelte-ziMErdPi.js → svelte-DZrj_gMz.js} +1 -1
- package/.output/public/assets/{templ-C_9I6ncv.js → templ-CJ7sDrtu.js} +1 -1
- package/.output/public/assets/terminal-panel-YGR6v-ZH.js +1 -0
- package/.output/public/assets/{tex-D8LVuLf5.js → tex-CvSRdXZA.js} +1 -1
- package/.output/public/assets/{ts-tags-DKuFCGsc.js → ts-tags-DgGFCSef.js} +1 -1
- package/.output/public/assets/{twig-Bs1kcsO6.js → twig-D8_PS89g.js} +1 -1
- package/.output/public/assets/{vue-Dnf0y5RU.js → vue-KvGEuYod.js} +1 -1
- package/.output/public/assets/{vue-html-CRtKS76J.js → vue-html-qAt9D-IF.js} +1 -1
- package/.output/public/assets/{vue-vine-BxjPqU7T.js → vue-vine-j1nOqxMu.js} +1 -1
- package/.output/public/assets/{xml-eU7M3iZJ.js → xml-BrFkMwfd.js} +1 -1
- package/.output/public/assets/{xsl-DSqe4nTO.js → xsl-OmCo2PyZ.js} +1 -1
- package/.output/public/index.html +19 -0
- package/README.md +171 -46
- package/bin/native-runtime.mjs +265 -0
- package/bin/pico.mjs +289 -222
- package/package.json +34 -31
- package/.output/nitro.json +0 -17
- package/.output/public/assets/index-DBVxXDtw.js +0 -54
- package/.output/public/assets/routes-yUxD2q-l.js +0 -2194
- package/.output/public/assets/styles-CUVz7jV9.css +0 -2
- package/.output/server/__23tanstack-start-plugin-adapters-y_fshQDY.mjs +0 -5
- package/.output/server/_chunks/ssr-renderer.mjs +0 -15
- package/.output/server/_libs/@base-ui/react+[...].mjs +0 -14512
- package/.output/server/_libs/@dnd-kit/core+[...].mjs +0 -2748
- package/.output/server/_libs/@pierre/diffs+[...].mjs +0 -19314
- package/.output/server/_libs/@pierre/trees+[...].mjs +0 -9236
- package/.output/server/_libs/@radix-ui/react-dialog+[...].mjs +0 -1789
- package/.output/server/_libs/@radix-ui/react-primitive+[...].mjs +0 -136
- package/.output/server/_libs/@tanstack/devtools-event-client+[...].mjs +0 -196
- package/.output/server/_libs/@tanstack/hotkeys+[...].mjs +0 -1607
- package/.output/server/_libs/@tanstack/react-router+[...].mjs +0 -13950
- package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +0 -90
- package/.output/server/_libs/bail.mjs +0 -13
- package/.output/server/_libs/character-entities.mjs +0 -2135
- package/.output/server/_libs/class-variance-authority+clsx.mjs +0 -69
- package/.output/server/_libs/cmdk.mjs +0 -473
- package/.output/server/_libs/crossws.mjs +0 -2929
- package/.output/server/_libs/decode-named-character-reference+[...].mjs +0 -19
- package/.output/server/_libs/devlop.mjs +0 -5
- package/.output/server/_libs/diff.mjs +0 -732
- package/.output/server/_libs/dnd-kit__accessibility.mjs +0 -46
- package/.output/server/_libs/dnd-kit__sortable.mjs +0 -400
- package/.output/server/_libs/entities.mjs +0 -372
- package/.output/server/_libs/escape-string-regexp.mjs +0 -7
- package/.output/server/_libs/estree-util-is-identifier-name.mjs +0 -20
- package/.output/server/_libs/extend.mjs +0 -75
- package/.output/server/_libs/h3+rou3+srvx.mjs +0 -1216
- package/.output/server/_libs/hast-util-from-parse5+[...].mjs +0 -741
- package/.output/server/_libs/hast-util-raw+[...].mjs +0 -7897
- package/.output/server/_libs/hast-util-sanitize.mjs +0 -780
- package/.output/server/_libs/hast-util-to-jsx-runtime+[...].mjs +0 -1165
- package/.output/server/_libs/hookable.mjs +0 -41
- package/.output/server/_libs/html-url-attributes.mjs +0 -44
- package/.output/server/_libs/is-plain-obj.mjs +0 -8
- package/.output/server/_libs/longest-streak.mjs +0 -29
- package/.output/server/_libs/lucide-react.mjs +0 -788
- package/.output/server/_libs/markdown-table.mjs +0 -289
- package/.output/server/_libs/mdast-util-find-and-replace.mjs +0 -198
- package/.output/server/_libs/mdast-util-from-markdown+[...].mjs +0 -8409
- package/.output/server/_libs/mdast-util-gfm+[...].mjs +0 -2062
- package/.output/server/_libs/mdast-util-to-hast+[...].mjs +0 -1771
- package/.output/server/_libs/micromark-extension-gfm+[...].mjs +0 -2234
- package/.output/server/_libs/next-themes.mjs +0 -124
- package/.output/server/_libs/pierre__theme.mjs +0 -10
- package/.output/server/_libs/radix-ui__primitive.mjs +0 -9
- package/.output/server/_libs/radix-ui__react-compose-refs.mjs +0 -30
- package/.output/server/_libs/radix-ui__react-context.mjs +0 -88
- package/.output/server/_libs/react-markdown+[...].mjs +0 -2316
- package/.output/server/_libs/rehype-raw.mjs +0 -37
- package/.output/server/_libs/rehype-sanitize.mjs +0 -27
- package/.output/server/_libs/remark-gfm.mjs +0 -34
- package/.output/server/_libs/shiki.mjs +0 -16
- package/.output/server/_libs/shikijs__langs.mjs +0 -1355
- package/.output/server/_libs/shikijs__themes.mjs +0 -262
- package/.output/server/_libs/sonner.mjs +0 -908
- package/.output/server/_libs/tailwind-merge.mjs +0 -1962
- package/.output/server/_libs/tanstack__history.mjs +0 -342
- package/.output/server/_libs/tanstack__pacer.mjs +0 -1111
- package/.output/server/_libs/tanstack__query-core.mjs +0 -2202
- package/.output/server/_libs/tanstack__react-hotkeys.mjs +0 -152
- package/.output/server/_libs/tanstack__react-query.mjs +0 -180
- package/.output/server/_libs/tanstack__react-store.mjs +0 -39
- package/.output/server/_libs/tanstack__router-core.mjs +0 -6
- package/.output/server/_libs/tanstack__store.mjs +0 -28
- package/.output/server/_libs/ufo.mjs +0 -64
- package/.output/server/_libs/unctx.mjs +0 -82
- package/.output/server/_libs/ungap__structured-clone.mjs +0 -197
- package/.output/server/_libs/vaul.mjs +0 -1250
- package/.output/server/_libs/xterm__addon-fit.mjs +0 -44
- package/.output/server/_libs/xterm__xterm.mjs +0 -10234
- package/.output/server/_libs/zod.mjs +0 -3341
- package/.output/server/_routes/api/terminal/[id]/ws.mjs +0 -8874
- package/.output/server/_runtime.mjs +0 -35
- package/.output/server/_ssr/router-CN4JMm2A.mjs +0 -9733
- package/.output/server/_ssr/routes-BsQ26pbY.mjs +0 -29306
- package/.output/server/_ssr/routes-DbjuMLFI.mjs +0 -3400
- package/.output/server/_ssr/ssr.mjs +0 -5176
- package/.output/server/_ssr/start-jIczsXlR.mjs +0 -4
- package/.output/server/_tanstack-start-manifest_v-Bs4g_j1_.mjs +0 -77
- package/.output/server/index.mjs +0 -2670
- package/.output/server/node_modules/node-pty/LICENSE +0 -69
- package/.output/server/node_modules/node-pty/README.md +0 -165
- package/.output/server/node_modules/node-pty/binding.gyp +0 -111
- package/.output/server/node_modules/node-pty/build/Makefile +0 -369
- package/.output/server/node_modules/node-pty/build/Release/pty.node +0 -0
- package/.output/server/node_modules/node-pty/build/binding.Makefile +0 -6
- package/.output/server/node_modules/node-pty/build/pty.target.mk +0 -168
- package/.output/server/node_modules/node-pty/deps/.editorconfig +0 -2
- package/.output/server/node_modules/node-pty/deps/winpty/.drone.yml +0 -17
- package/.output/server/node_modules/node-pty/deps/winpty/.gitattributes +0 -19
- package/.output/server/node_modules/node-pty/deps/winpty/LICENSE +0 -21
- package/.output/server/node_modules/node-pty/deps/winpty/Makefile +0 -166
- package/.output/server/node_modules/node-pty/deps/winpty/README.md +0 -151
- package/.output/server/node_modules/node-pty/deps/winpty/RELEASES.md +0 -280
- package/.output/server/node_modules/node-pty/deps/winpty/VERSION.txt +0 -1
- package/.output/server/node_modules/node-pty/deps/winpty/configure +0 -167
- package/.output/server/node_modules/node-pty/deps/winpty/misc/BufferResizeTests.cc +0 -90
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ChangeScreenBuffer.cc +0 -53
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ClearConsole.cc +0 -72
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ConinMode.cc +0 -117
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ConinMode.ps1 +0 -116
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ConoutMode.cc +0 -113
- package/.output/server/node_modules/node-pty/deps/winpty/misc/DebugClient.py +0 -42
- package/.output/server/node_modules/node-pty/deps/winpty/misc/DebugServer.py +0 -63
- package/.output/server/node_modules/node-pty/deps/winpty/misc/DumpLines.py +0 -5
- package/.output/server/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt +0 -46
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Consolas.txt +0 -528
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP437-Lucida.txt +0 -633
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP932.txt +0 -630
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP936.txt +0 -630
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP949.txt +0 -630
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/CP950.txt +0 -630
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/MinimumWindowWidths.txt +0 -16
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Results.txt +0 -4
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Font-Report-June2016/Windows10SetFontBugginess.txt +0 -144
- package/.output/server/node_modules/node-pty/deps/winpty/misc/FontSurvey.cc +0 -100
- package/.output/server/node_modules/node-pty/deps/winpty/misc/FormatChar.h +0 -21
- package/.output/server/node_modules/node-pty/deps/winpty/misc/FreezePerfTest.cc +0 -62
- package/.output/server/node_modules/node-pty/deps/winpty/misc/GetCh.cc +0 -20
- package/.output/server/node_modules/node-pty/deps/winpty/misc/GetConsolePos.cc +0 -41
- package/.output/server/node_modules/node-pty/deps/winpty/misc/GetFont.cc +0 -261
- package/.output/server/node_modules/node-pty/deps/winpty/misc/IdentifyConsoleWindow.ps1 +0 -51
- package/.output/server/node_modules/node-pty/deps/winpty/misc/IsNewConsole.cc +0 -87
- package/.output/server/node_modules/node-pty/deps/winpty/misc/MouseInputNotes.txt +0 -90
- package/.output/server/node_modules/node-pty/deps/winpty/misc/MoveConsoleWindow.cc +0 -34
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Notes.txt +0 -219
- package/.output/server/node_modules/node-pty/deps/winpty/misc/OSVersion.cc +0 -27
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferFreezeInactive.cc +0 -101
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest.cc +0 -671
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ScreenBufferTest2.cc +0 -151
- package/.output/server/node_modules/node-pty/deps/winpty/misc/SelectAllTest.cc +0 -45
- package/.output/server/node_modules/node-pty/deps/winpty/misc/SetBufferSize.cc +0 -32
- package/.output/server/node_modules/node-pty/deps/winpty/misc/SetCursorPos.cc +0 -10
- package/.output/server/node_modules/node-pty/deps/winpty/misc/SetFont.cc +0 -145
- package/.output/server/node_modules/node-pty/deps/winpty/misc/SetWindowRect.cc +0 -36
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ShowArgv.cc +0 -12
- package/.output/server/node_modules/node-pty/deps/winpty/misc/ShowConsoleInput.cc +0 -40
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Spew.py +0 -5
- package/.output/server/node_modules/node-pty/deps/winpty/misc/TestUtil.cc +0 -172
- package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeDoubleWidthTest.cc +0 -102
- package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest1.cc +0 -246
- package/.output/server/node_modules/node-pty/deps/winpty/misc/UnicodeWideTest2.cc +0 -130
- package/.output/server/node_modules/node-pty/deps/winpty/misc/UnixEcho.cc +0 -89
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Utf16Echo.cc +0 -46
- package/.output/server/node_modules/node-pty/deps/winpty/misc/VeryLargeRead.cc +0 -122
- package/.output/server/node_modules/node-pty/deps/winpty/misc/VkEscapeTest.cc +0 -56
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10ResizeWhileFrozen.cc +0 -52
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10WrapTest1.cc +0 -57
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win10WrapTest2.cc +0 -30
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Echo1.cc +0 -26
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Echo2.cc +0 -19
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test1.cc +0 -46
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test2.cc +0 -70
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Test3.cc +0 -78
- package/.output/server/node_modules/node-pty/deps/winpty/misc/Win32Write1.cc +0 -44
- package/.output/server/node_modules/node-pty/deps/winpty/misc/WindowsBugCrashReader.cc +0 -27
- package/.output/server/node_modules/node-pty/deps/winpty/misc/WriteConsole.cc +0 -106
- package/.output/server/node_modules/node-pty/deps/winpty/misc/build32.sh +0 -9
- package/.output/server/node_modules/node-pty/deps/winpty/misc/build64.sh +0 -9
- package/.output/server/node_modules/node-pty/deps/winpty/misc/color-test.sh +0 -212
- package/.output/server/node_modules/node-pty/deps/winpty/misc/font-notes.txt +0 -300
- package/.output/server/node_modules/node-pty/deps/winpty/misc/winbug-15048.cc +0 -201
- package/.output/server/node_modules/node-pty/deps/winpty/ship/build-pty4j-libpty.bat +0 -36
- package/.output/server/node_modules/node-pty/deps/winpty/ship/common_ship.py +0 -53
- package/.output/server/node_modules/node-pty/deps/winpty/ship/make_msvc_package.py +0 -165
- package/.output/server/node_modules/node-pty/deps/winpty/ship/ship.py +0 -108
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Agent.cc +0 -613
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Agent.h +0 -103
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.cc +0 -84
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/AgentCreateDesktop.h +0 -28
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.cc +0 -632
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleFont.h +0 -28
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.cc +0 -852
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInput.h +0 -109
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.cc +0 -121
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleInputReencoding.h +0 -36
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.cc +0 -152
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/ConsoleLine.h +0 -41
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Coord.h +0 -87
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.cc +0 -239
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DebugShowInput.h +0 -32
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.cc +0 -422
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DefaultInputMap.h +0 -28
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/DsrSender.h +0 -30
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/EventLoop.cc +0 -99
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/EventLoop.h +0 -47
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/InputMap.cc +0 -246
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/InputMap.h +0 -114
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.cc +0 -71
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/LargeConsoleRead.h +0 -68
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.cc +0 -378
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/NamedPipe.h +0 -125
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Scraper.cc +0 -699
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Scraper.h +0 -103
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/SimplePool.h +0 -75
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/SmallRect.h +0 -143
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Terminal.cc +0 -535
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Terminal.h +0 -69
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncoding.h +0 -157
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/UnicodeEncodingTest.cc +0 -189
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32Console.cc +0 -107
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32Console.h +0 -67
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.cc +0 -193
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/Win32ConsoleBuffer.h +0 -99
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/main.cc +0 -114
- package/.output/server/node_modules/node-pty/deps/winpty/src/agent/subdir.mk +0 -61
- package/.output/server/node_modules/node-pty/deps/winpty/src/configurations.gypi +0 -60
- package/.output/server/node_modules/node-pty/deps/winpty/src/debugserver/DebugServer.cc +0 -117
- package/.output/server/node_modules/node-pty/deps/winpty/src/debugserver/subdir.mk +0 -41
- package/.output/server/node_modules/node-pty/deps/winpty/src/include/winpty.h +0 -242
- package/.output/server/node_modules/node-pty/deps/winpty/src/include/winpty_constants.h +0 -131
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.cc +0 -75
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/AgentLocation.h +0 -28
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/LibWinptyException.h +0 -54
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/WinptyInternal.h +0 -72
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/subdir.mk +0 -46
- package/.output/server/node_modules/node-pty/deps/winpty/src/libwinpty/winpty.cc +0 -970
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/AgentMsg.h +0 -38
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.cc +0 -122
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/BackgroundDesktop.h +0 -73
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Buffer.cc +0 -103
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Buffer.h +0 -102
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/DebugClient.cc +0 -187
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/DebugClient.h +0 -38
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GenRandom.cc +0 -138
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GenRandom.h +0 -55
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/GetCommitHash.bat +0 -13
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/Mutex.h +0 -54
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OsModule.h +0 -63
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.cc +0 -36
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/OwnedHandle.h +0 -45
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/PrecompiledHeader.h +0 -43
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringBuilder.h +0 -227
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringBuilderTest.cc +0 -114
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringUtil.cc +0 -55
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/StringUtil.h +0 -80
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/TimeMeasurement.h +0 -63
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/UnixCtrlChars.h +0 -45
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/UpdateGenVersion.bat +0 -20
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.cc +0 -460
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsSecurity.h +0 -104
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.cc +0 -252
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WindowsVersion.h +0 -29
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.cc +0 -55
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyAssert.h +0 -64
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyException.cc +0 -57
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyException.h +0 -43
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.cc +0 -42
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/WinptyVersion.h +0 -27
- package/.output/server/node_modules/node-pty/deps/winpty/src/shared/winpty_snprintf.h +0 -99
- package/.output/server/node_modules/node-pty/deps/winpty/src/subdir.mk +0 -5
- package/.output/server/node_modules/node-pty/deps/winpty/src/tests/subdir.mk +0 -28
- package/.output/server/node_modules/node-pty/deps/winpty/src/tests/trivial_test.cc +0 -158
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.cc +0 -114
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/InputHandler.h +0 -56
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.cc +0 -80
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/OutputHandler.h +0 -53
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.cc +0 -86
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/Util.h +0 -31
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.cc +0 -70
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/WakeupFd.h +0 -42
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/main.cc +0 -729
- package/.output/server/node_modules/node-pty/deps/winpty/src/unix-adapter/subdir.mk +0 -41
- package/.output/server/node_modules/node-pty/deps/winpty/src/winpty.gyp +0 -234
- package/.output/server/node_modules/node-pty/deps/winpty/vcbuild.bat +0 -83
- package/.output/server/node_modules/node-pty/lib/conpty_console_list_agent.js +0 -16
- package/.output/server/node_modules/node-pty/lib/conpty_console_list_agent.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/eventEmitter2.js +0 -47
- package/.output/server/node_modules/node-pty/lib/eventEmitter2.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/eventEmitter2.test.js +0 -30
- package/.output/server/node_modules/node-pty/lib/eventEmitter2.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/index.js +0 -52
- package/.output/server/node_modules/node-pty/lib/index.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/interfaces.js +0 -7
- package/.output/server/node_modules/node-pty/lib/interfaces.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/shared/conout.js +0 -11
- package/.output/server/node_modules/node-pty/lib/shared/conout.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/terminal.js +0 -190
- package/.output/server/node_modules/node-pty/lib/terminal.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/terminal.test.js +0 -139
- package/.output/server/node_modules/node-pty/lib/terminal.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/testUtils.test.js +0 -28
- package/.output/server/node_modules/node-pty/lib/testUtils.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/types.js +0 -7
- package/.output/server/node_modules/node-pty/lib/types.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/unixTerminal.js +0 -346
- package/.output/server/node_modules/node-pty/lib/unixTerminal.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/unixTerminal.test.js +0 -351
- package/.output/server/node_modules/node-pty/lib/unixTerminal.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/utils.js +0 -39
- package/.output/server/node_modules/node-pty/lib/utils.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js +0 -125
- package/.output/server/node_modules/node-pty/lib/windowsConoutConnection.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js +0 -320
- package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.test.js +0 -90
- package/.output/server/node_modules/node-pty/lib/windowsPtyAgent.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/windowsTerminal.js +0 -199
- package/.output/server/node_modules/node-pty/lib/windowsTerminal.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/windowsTerminal.test.js +0 -219
- package/.output/server/node_modules/node-pty/lib/windowsTerminal.test.js.map +0 -1
- package/.output/server/node_modules/node-pty/lib/worker/conoutSocketWorker.js +0 -22
- package/.output/server/node_modules/node-pty/lib/worker/conoutSocketWorker.js.map +0 -1
- package/.output/server/node_modules/node-pty/package.json +0 -64
- package/.output/server/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/darwin-x64/pty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/darwin-x64/spawn-helper +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty/OpenConsole.exe +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty/conpty.dll +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/conpty_console_list.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/pty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/pty.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.exe +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty-agent.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty.dll +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-arm64/winpty.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty/OpenConsole.exe +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty/conpty.dll +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/conpty_console_list.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/pty.node +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/pty.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.exe +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty-agent.pdb +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty.dll +0 -0
- package/.output/server/node_modules/node-pty/prebuilds/win32-x64/winpty.pdb +0 -0
- package/.output/server/node_modules/node-pty/scripts/gen-compile-commands.js +0 -8
- package/.output/server/node_modules/node-pty/scripts/increment-version.js +0 -54
- package/.output/server/node_modules/node-pty/scripts/post-install.js +0 -80
- package/.output/server/node_modules/node-pty/scripts/prebuild.js +0 -34
- package/.output/server/node_modules/node-pty/src/conpty_console_list_agent.ts +0 -15
- package/.output/server/node_modules/node-pty/src/eventEmitter2.test.ts +0 -30
- package/.output/server/node_modules/node-pty/src/eventEmitter2.ts +0 -48
- package/.output/server/node_modules/node-pty/src/index.ts +0 -52
- package/.output/server/node_modules/node-pty/src/interfaces.ts +0 -130
- package/.output/server/node_modules/node-pty/src/native.d.ts +0 -54
- package/.output/server/node_modules/node-pty/src/shared/conout.ts +0 -15
- package/.output/server/node_modules/node-pty/src/terminal.test.ts +0 -119
- package/.output/server/node_modules/node-pty/src/terminal.ts +0 -211
- package/.output/server/node_modules/node-pty/src/testUtils.test.ts +0 -23
- package/.output/server/node_modules/node-pty/src/tsconfig.json +0 -22
- package/.output/server/node_modules/node-pty/src/types.ts +0 -15
- package/.output/server/node_modules/node-pty/src/unix/pty.cc +0 -799
- package/.output/server/node_modules/node-pty/src/unix/spawn-helper.cc +0 -23
- package/.output/server/node_modules/node-pty/src/unixTerminal.test.ts +0 -367
- package/.output/server/node_modules/node-pty/src/unixTerminal.ts +0 -388
- package/.output/server/node_modules/node-pty/src/utils.ts +0 -29
- package/.output/server/node_modules/node-pty/src/win/conpty.cc +0 -583
- package/.output/server/node_modules/node-pty/src/win/conpty.h +0 -41
- package/.output/server/node_modules/node-pty/src/win/conpty_console_list.cc +0 -44
- package/.output/server/node_modules/node-pty/src/win/path_util.cc +0 -95
- package/.output/server/node_modules/node-pty/src/win/path_util.h +0 -26
- package/.output/server/node_modules/node-pty/src/win/winpty.cc +0 -333
- package/.output/server/node_modules/node-pty/src/windowsConoutConnection.ts +0 -82
- package/.output/server/node_modules/node-pty/src/windowsPtyAgent.test.ts +0 -94
- package/.output/server/node_modules/node-pty/src/windowsPtyAgent.ts +0 -321
- package/.output/server/node_modules/node-pty/src/windowsTerminal.test.ts +0 -229
- package/.output/server/node_modules/node-pty/src/windowsTerminal.ts +0 -203
- package/.output/server/node_modules/node-pty/src/worker/conoutSocketWorker.ts +0 -22
- package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/OpenConsole.exe +0 -0
- package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-arm64/conpty.dll +0 -0
- package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/OpenConsole.exe +0 -0
- package/.output/server/node_modules/node-pty/third_party/conpty/1.23.251008001/win10-x64/conpty.dll +0 -0
- package/.output/server/node_modules/node-pty/typings/node-pty.d.ts +0 -211
- package/.output/server/node_modules/tslib/modules/index.js +0 -70
- package/.output/server/node_modules/tslib/modules/package.json +0 -3
- package/.output/server/node_modules/tslib/package.json +0 -47
- package/.output/server/node_modules/tslib/tslib.js +0 -484
- package/.output/server/package.json +0 -10
- package/scripts/release.mjs +0 -173
- package/vendor/node-domexception/index.js +0 -3
- package/vendor/node-domexception/package.json +0 -10
- /package/.output/public/assets/{abap-smLpETzL.js → abap-CglpPUUh.js} +0 -0
- /package/.output/public/assets/{actionscript-3-o-aRvjY5.js → actionscript-3-CGv72Q9E.js} +0 -0
- /package/.output/public/assets/{ada-D5RRX1i4.js → ada-CfxXaXwr.js} +0 -0
- /package/.output/public/assets/{addon-fit-CMMXLNsg.js → addon-fit-C9RD8ot3.js} +0 -0
- /package/.output/public/assets/{andromeeda-N4z3YzmR.js → andromeeda-DXsn6mTE.js} +0 -0
- /package/.output/public/assets/{apache-DttKlSqg.js → apache-D5xAQKSB.js} +0 -0
- /package/.output/public/assets/{apex-DL7j-a2n.js → apex-qgfedJV2.js} +0 -0
- /package/.output/public/assets/{applescript-DCbL_2FX.js → applescript-DqumQxTt.js} +0 -0
- /package/.output/public/assets/{ara-DqheWJCe.js → ara-Ditv3ow6.js} +0 -0
- /package/.output/public/assets/{asciidoc-BH2sf2K4.js → asciidoc-DL8QwiT7.js} +0 -0
- /package/.output/public/assets/{asm-rfjOMz3U.js → asm-K6TMxl3o.js} +0 -0
- /package/.output/public/assets/{aurora-x-CND-FqEb.js → aurora-x-DGv-xZaa.js} +0 -0
- /package/.output/public/assets/{awk-CMV5n9Z7.js → awk-CYSfQSDT.js} +0 -0
- /package/.output/public/assets/{ayu-dark-on7xzq_B.js → ayu-dark-DGBaJbpH.js} +0 -0
- /package/.output/public/assets/{ayu-light-DnGeGGc2.js → ayu-light-BQrGPVs2.js} +0 -0
- /package/.output/public/assets/{ayu-mirage-DG3LlYC_.js → ayu-mirage-Do-5o2VL.js} +0 -0
- /package/.output/public/assets/{ballerina-BjMqJjlr.js → ballerina-BE-8n54s.js} +0 -0
- /package/.output/public/assets/{bat-BaVbo_qw.js → bat-B1zTc1QZ.js} +0 -0
- /package/.output/public/assets/{beancount-DBt5Mbc_.js → beancount-DhObrvif.js} +0 -0
- /package/.output/public/assets/{berry-Cyjuxiss.js → berry-Cnbvthv1.js} +0 -0
- /package/.output/public/assets/{bibtex-BV_0nsPq.js → bibtex-pp5SrwZy.js} +0 -0
- /package/.output/public/assets/{bicep-C2gEwu4J.js → bicep-BL6eYxbs.js} +0 -0
- /package/.output/public/assets/{bird2-BRyaEJd0.js → bird2-BQaXYY9n.js} +0 -0
- /package/.output/public/assets/{c-Nc9zJT78.js → c-BHFJ4Jk3.js} +0 -0
- /package/.output/public/assets/{c3-DTTbp5N2.js → c3-BHTco5Hb.js} +0 -0
- /package/.output/public/assets/{cadence-CPz83cmI.js → cadence-CoPxW0qb.js} +0 -0
- /package/.output/public/assets/{catppuccin-frappe-Dr22sraq.js → catppuccin-frappe-9fYwMJCf.js} +0 -0
- /package/.output/public/assets/{catppuccin-latte-C57EeX8c.js → catppuccin-latte-BUiKH1yZ.js} +0 -0
- /package/.output/public/assets/{catppuccin-macchiato-CpheI4uD.js → catppuccin-macchiato-ZmO2e0M_.js} +0 -0
- /package/.output/public/assets/{catppuccin-mocha-D8Lmdks_.js → catppuccin-mocha-CFwbXQfO.js} +0 -0
- /package/.output/public/assets/{clarity-CFJ2Yc3q.js → clarity-DVUGm1xP.js} +0 -0
- /package/.output/public/assets/{clojure-6R01QgJC.js → clojure-BgXJG6FG.js} +0 -0
- /package/.output/public/assets/{cmake-D5rSbMir.js → cmake-CZndsvm6.js} +0 -0
- /package/.output/public/assets/{codeowners-_3A-ClkN.js → codeowners-Dd7a447M.js} +0 -0
- /package/.output/public/assets/{codeql-DlIhJTR7.js → codeql-XJR6llG-.js} +0 -0
- /package/.output/public/assets/{common-lisp-BvQzz173.js → common-lisp-BOMbLvgT.js} +0 -0
- /package/.output/public/assets/{coq-DTNXReIC.js → coq-DnhmQYDa.js} +0 -0
- /package/.output/public/assets/{csharp-BDKQY1K9.js → csharp-BdEyRqBm.js} +0 -0
- /package/.output/public/assets/{css-DRmnABqB.js → css-CsTDDTLq.js} +0 -0
- /package/.output/public/assets/{csv-DNUpVBxl.js → csv-CXchYFbz.js} +0 -0
- /package/.output/public/assets/{cue-DDdBc2s3.js → cue-D7YpBZvd.js} +0 -0
- /package/.output/public/assets/{cypher-CguaznO2.js → cypher-XIm1N8YJ.js} +0 -0
- /package/.output/public/assets/{d-CHcoyjv3.js → d-DvB0pbZH.js} +0 -0
- /package/.output/public/assets/{dark-plus-CqeW_0kH.js → dark-plus-BUdpMFIA.js} +0 -0
- /package/.output/public/assets/{dart-RM3aRphk.js → dart-CwpSKTMB.js} +0 -0
- /package/.output/public/assets/{dax-nbnY1d79.js → dax-CEynWJsU.js} +0 -0
- /package/.output/public/assets/{desktop-BD76cvxT.js → desktop-Dk-YiYS_.js} +0 -0
- /package/.output/public/assets/{diff-CdkWtnkL.js → diff-abLZ-xM1.js} +0 -0
- /package/.output/public/assets/{docker-ZyPHc6zB.js → docker-BT48KsRJ.js} +0 -0
- /package/.output/public/assets/{dotenv-BdJZEwA6.js → dotenv-NOMQQbM0.js} +0 -0
- /package/.output/public/assets/{dracula-CtqCPLGa.js → dracula-BUW0ZyNO.js} +0 -0
- /package/.output/public/assets/{dracula-soft-DmBpwRAy.js → dracula-soft-BMjAt1_u.js} +0 -0
- /package/.output/public/assets/{dream-maker-BJL4qlg3.js → dream-maker-D26TP1Q3.js} +0 -0
- /package/.output/public/assets/{emacs-lisp-_LyYa2Ky.js → emacs-lisp-C2EvfotR.js} +0 -0
- /package/.output/public/assets/{everforest-dark-CrbyKk4n.js → everforest-dark-hC6a272f.js} +0 -0
- /package/.output/public/assets/{everforest-light-DRbSh8Tm.js → everforest-light-BTpbYY5G.js} +0 -0
- /package/.output/public/assets/{fennel-CC2BkRsS.js → fennel-DWOL-Ewx.js} +0 -0
- /package/.output/public/assets/{fish-D2ZCzqcE.js → fish-CQPQq0pQ.js} +0 -0
- /package/.output/public/assets/{fluent-DKAm3m7q.js → fluent-BYdsr2M8.js} +0 -0
- /package/.output/public/assets/{fortran-free-form-BPTf0lbT.js → fortran-free-form-C_EtY4F9.js} +0 -0
- /package/.output/public/assets/{gdscript-CsadCSaZ.js → gdscript-CH_tD-VB.js} +0 -0
- /package/.output/public/assets/{gdshader-PfnN_8tR.js → gdshader-BemFblFP.js} +0 -0
- /package/.output/public/assets/{genie-Bj-orPAV.js → genie-hCPg_eq7.js} +0 -0
- /package/.output/public/assets/{gherkin-COVWpJ-Q.js → gherkin-CO0ypD1P.js} +0 -0
- /package/.output/public/assets/{github-dark-ipGuFGYC.js → github-dark-cA72fqmI.js} +0 -0
- /package/.output/public/assets/{github-dark-default-DX3IG_X0.js → github-dark-default-DiYTFvY5.js} +0 -0
- /package/.output/public/assets/{github-dark-dimmed-CH6p_7ez.js → github-dark-dimmed-D-uBHzyG.js} +0 -0
- /package/.output/public/assets/{github-dark-high-contrast-Bg2sSao5.js → github-dark-high-contrast-BrUSkckI.js} +0 -0
- /package/.output/public/assets/{github-light-default-DwpDd1IQ.js → github-light-default-BT-6Vf7C.js} +0 -0
- /package/.output/public/assets/{github-light-high-contrast-C0QeixPf.js → github-light-high-contrast-DqmEyTTc.js} +0 -0
- /package/.output/public/assets/{github-light-BxjqOQl0.js → github-light-piFPqU8R.js} +0 -0
- /package/.output/public/assets/{gleam-BF2NigGj.js → gleam-CWJA_H5i.js} +0 -0
- /package/.output/public/assets/{gn-CMIt9roj.js → gn-nlTwLSjP.js} +0 -0
- /package/.output/public/assets/{gnuplot-DgWlRTEj.js → gnuplot-wYV0MbPl.js} +0 -0
- /package/.output/public/assets/{go-DLnOLj8q.js → go-BUPBDRDo.js} +0 -0
- /package/.output/public/assets/{groovy-B9qLWIkE.js → groovy-BusafOA8.js} +0 -0
- /package/.output/public/assets/{gruvbox-dark-hard-BIMX9ePb.js → gruvbox-dark-hard-BrrZYoPF.js} +0 -0
- /package/.output/public/assets/{gruvbox-dark-medium-DxuwyVzM.js → gruvbox-dark-medium-DsxcLuUs.js} +0 -0
- /package/.output/public/assets/{gruvbox-dark-soft-ba2fjht0.js → gruvbox-dark-soft-DQXOs_GH.js} +0 -0
- /package/.output/public/assets/{gruvbox-light-hard-DAJK2PqC.js → gruvbox-light-hard-CtHwj_cB.js} +0 -0
- /package/.output/public/assets/{gruvbox-light-medium-WRifDAJD.js → gruvbox-light-medium-CPJMdgXQ.js} +0 -0
- /package/.output/public/assets/{gruvbox-light-soft-B0dBOoVB.js → gruvbox-light-soft-C4Xh9Hc-.js} +0 -0
- /package/.output/public/assets/{haskell-BaGpmm_c.js → haskell-CaDqJkn4.js} +0 -0
- /package/.output/public/assets/{haxe-DfXTCEOz.js → haxe-Dxg-8_J7.js} +0 -0
- /package/.output/public/assets/{hcl-CbCtpSbi.js → hcl-Bjg-rMJ0.js} +0 -0
- /package/.output/public/assets/{hjson-_4-w-pHU.js → hjson-BMbeOOMg.js} +0 -0
- /package/.output/public/assets/{hlsl-DpuYn7pp.js → hlsl-D-cuwCFV.js} +0 -0
- /package/.output/public/assets/{horizon-C5RtD1fY.js → horizon-BofYY9of.js} +0 -0
- /package/.output/public/assets/{horizon-bright-pEOice34.js → horizon-bright-CFOVQsf2.js} +0 -0
- /package/.output/public/assets/{houston-A0zg9vNP.js → houston-BIBYxFpQ.js} +0 -0
- /package/.output/public/assets/{hy-t9zDXBje.js → hy-Cye3Jt7O.js} +0 -0
- /package/.output/public/assets/{imba-Bxu-TDfw.js → imba-CjkQtgD2.js} +0 -0
- /package/.output/public/assets/{ini-D-v34c8N.js → ini-BvMtfDNl.js} +0 -0
- /package/.output/public/assets/{java-DVLnIrqC.js → java-BYO3uQJZ.js} +0 -0
- /package/.output/public/assets/{javascript-Cop1kpy_.js → javascript-BsdGTPv_.js} +0 -0
- /package/.output/public/assets/{json-CTw4n7kn.js → json-Kp2u6f_f.js} +0 -0
- /package/.output/public/assets/{json5-D0XL1D5m.js → json5-BCxDPjxU.js} +0 -0
- /package/.output/public/assets/{jsonc-BBgf3TX3.js → jsonc-BV8VFjqO.js} +0 -0
- /package/.output/public/assets/{jsonl-KrKLbtB7.js → jsonl-DHrr7c-M.js} +0 -0
- /package/.output/public/assets/{jsonnet-B2ZwWMOt.js → jsonnet-xURar8mu.js} +0 -0
- /package/.output/public/assets/{jssm-ByRpI9-B.js → jssm-DtoLUQAt.js} +0 -0
- /package/.output/public/assets/{jsx-0oMUGqZj.js → jsx-CyrO086S.js} +0 -0
- /package/.output/public/assets/{kanagawa-dragon-CtPmcCMp.js → kanagawa-dragon-COwlYgQB.js} +0 -0
- /package/.output/public/assets/{kanagawa-lotus-DpOXEGCa.js → kanagawa-lotus-GZWqyq_E.js} +0 -0
- /package/.output/public/assets/{kanagawa-wave-CLVCyc-n.js → kanagawa-wave-CP4uw3DX.js} +0 -0
- /package/.output/public/assets/{kdl-6FPPEH4H.js → kdl-DGo2N7N5.js} +0 -0
- /package/.output/public/assets/{kotlin-D4L3Nd2D.js → kotlin-Cm4W8Bbs.js} +0 -0
- /package/.output/public/assets/{kusto-D-mmc07O.js → kusto-DQ22_tcT.js} +0 -0
- /package/.output/public/assets/{laserwave-7fEj4XGb.js → laserwave-DfABGYsD.js} +0 -0
- /package/.output/public/assets/{lean-BMVMuP2E.js → lean-D-8a6Wwv.js} +0 -0
- /package/.output/public/assets/{less-C95PyOu0.js → less-B-qZzFKw.js} +0 -0
- /package/.output/public/assets/{light-plus-DHI2dh3p.js → light-plus-DS_rmE1N.js} +0 -0
- /package/.output/public/assets/{llvm-Dy3qORTl.js → llvm-Ch-k6TUk.js} +0 -0
- /package/.output/public/assets/{log-BQop7fzg.js → log-BGwbCG2S.js} +0 -0
- /package/.output/public/assets/{logo-DKtnYmrp.js → logo-DHGHbFWy.js} +0 -0
- /package/.output/public/assets/{luau-Dha4KG0q.js → luau-qsvm_nYh.js} +0 -0
- /package/.output/public/assets/{make-DfmS6buu.js → make-Dlfjp_Q8.js} +0 -0
- /package/.output/public/assets/{markdown-BaI9LyM4.js → markdown-COh4ruD_.js} +0 -0
- /package/.output/public/assets/{material-theme-Dm6ETY8i.js → material-theme-Ccrl1jie.js} +0 -0
- /package/.output/public/assets/{material-theme-darker-BeyjmM5Z.js → material-theme-darker-CcOH0iHe.js} +0 -0
- /package/.output/public/assets/{material-theme-lighter-CCOYYzKL.js → material-theme-lighter-DoKpC7NM.js} +0 -0
- /package/.output/public/assets/{material-theme-ocean-CUtPiiX3.js → material-theme-ocean-BcvBZHgH.js} +0 -0
- /package/.output/public/assets/{material-theme-palenight-2L4zMwIM.js → material-theme-palenight-DIL4EAzl.js} +0 -0
- /package/.output/public/assets/{matlab-BT79Cq_j.js → matlab-CBqMuw7w.js} +0 -0
- /package/.output/public/assets/{mdx-CxGBwLNt.js → mdx-BjoJxHxW.js} +0 -0
- /package/.output/public/assets/{mermaid-DLf3axBN.js → mermaid-DjAh2yR5.js} +0 -0
- /package/.output/public/assets/{min-dark-B8TUPGHg.js → min-dark-CbwghdE5.js} +0 -0
- /package/.output/public/assets/{min-light-BDOoBxcA.js → min-light-_F39d_94.js} +0 -0
- /package/.output/public/assets/{mipsasm-DXuU_0cI.js → mipsasm-DA1H0O78.js} +0 -0
- /package/.output/public/assets/{mojo-1Omp2pIo.js → mojo-BVgjRjTn.js} +0 -0
- /package/.output/public/assets/{monokai-E_VBmXGZ.js → monokai-CxgvaWkX.js} +0 -0
- /package/.output/public/assets/{moonbit-DZzq699o.js → moonbit-tKY94ZOM.js} +0 -0
- /package/.output/public/assets/{move-DxDAOJVd.js → move-B5WspEjG.js} +0 -0
- /package/.output/public/assets/{narrat-CxDcPPb9.js → narrat-CDPRStf_.js} +0 -0
- /package/.output/public/assets/{nextflow-groovy-wvmJO4hi.js → nextflow-groovy-1GYTZoD5.js} +0 -0
- /package/.output/public/assets/{night-owl-DefhalNX.js → night-owl-CCydx7ZR.js} +0 -0
- /package/.output/public/assets/{night-owl-light-byb3AbEn.js → night-owl-light-CLM7UUPY.js} +0 -0
- /package/.output/public/assets/{nix-DsFTDHWT.js → nix-DXFN4IwW.js} +0 -0
- /package/.output/public/assets/{nord-D5rQzHT-.js → nord-CiCWZ1de.js} +0 -0
- /package/.output/public/assets/{nushell-BQ_rO0AM.js → nushell-Ck9o2qOx.js} +0 -0
- /package/.output/public/assets/{objective-c-BMq6JT_m.js → objective-c-4koxci9E.js} +0 -0
- /package/.output/public/assets/{objective-cpp-DRwojuGv.js → objective-cpp-BPFAgSN9.js} +0 -0
- /package/.output/public/assets/{ocaml-e4_gKO6E.js → ocaml-BdlBLhZV.js} +0 -0
- /package/.output/public/assets/{odin-mdTPwYOg.js → odin-BcGOLCqZ.js} +0 -0
- /package/.output/public/assets/{one-dark-pro-DxXww9jg.js → one-dark-pro-DEMdTgiO.js} +0 -0
- /package/.output/public/assets/{one-light-D9c03w7t.js → one-light-Cmpe9X1u.js} +0 -0
- /package/.output/public/assets/{openscad-D2aTdNfr.js → openscad-DBveSHYE.js} +0 -0
- /package/.output/public/assets/{pascal-D4n_G8vj.js → pascal-DxOVE99u.js} +0 -0
- /package/.output/public/assets/{pierre-dark-CizZ1Z5z.js → pierre-dark-DIUCKU6U.js} +0 -0
- /package/.output/public/assets/{pierre-light-CHMWfAMe.js → pierre-light-DVO2KPlh.js} +0 -0
- /package/.output/public/assets/{pkl-DcjhAp0L.js → pkl-pIvtf7Vu.js} +0 -0
- /package/.output/public/assets/{plastic-uOsw7z1x.js → plastic-Dvdf8qVN.js} +0 -0
- /package/.output/public/assets/{plsql-BSy3Ag0J.js → plsql-d50MFTFK.js} +0 -0
- /package/.output/public/assets/{po-Be96RYkA.js → po-CboxWwYg.js} +0 -0
- /package/.output/public/assets/{poimandres-CyO4HORD.js → poimandres-DHgQGH4M.js} +0 -0
- /package/.output/public/assets/{polar-BmhMKWum.js → polar-DNp7Oek8.js} +0 -0
- /package/.output/public/assets/{postcss-BTQso3H9.js → postcss-LpmI6XQv.js} +0 -0
- /package/.output/public/assets/{powerquery-DVyQv3M2.js → powerquery-BNCl8Uwz.js} +0 -0
- /package/.output/public/assets/{powershell-BmtCGJVD.js → powershell-CZ9J0XuS.js} +0 -0
- /package/.output/public/assets/{prisma-CCFA9rEj.js → prisma-AELUiJCl.js} +0 -0
- /package/.output/public/assets/{prolog-DWGEEo78.js → prolog-BlqwejRD.js} +0 -0
- /package/.output/public/assets/{proto-C3eop1kM.js → proto-DRQC3swD.js} +0 -0
- /package/.output/public/assets/{puppet-C0_7Nv5A.js → puppet-DBKR8MlH.js} +0 -0
- /package/.output/public/assets/{purescript-Bv-B8yRw.js → purescript-DItLzxZS.js} +0 -0
- /package/.output/public/assets/{python-CKg5r0C3.js → python-D9t_ETu8.js} +0 -0
- /package/.output/public/assets/{qmldir-Cqfb4Lox.js → qmldir-DP_KD1nk.js} +0 -0
- /package/.output/public/assets/{qss-Csho9BH8.js → qss-CL02opOd.js} +0 -0
- /package/.output/public/assets/{r-UcxRcvcA.js → r-DmmrCFmB.js} +0 -0
- /package/.output/public/assets/{racket-D8-uWeQH.js → racket-K0frLTWj.js} +0 -0
- /package/.output/public/assets/{raku-Cj4JSa8p.js → raku-DwgLlPg9.js} +0 -0
- /package/.output/public/assets/{red-z4H4llUY.js → red-DzDu-aXc.js} +0 -0
- /package/.output/public/assets/{reg-DXGFiJSl.js → reg-B_y3c7di.js} +0 -0
- /package/.output/public/assets/{regexp-3-A0406L.js → regexp--eMB47Xx.js} +0 -0
- /package/.output/public/assets/{rel-CunnVTBK.js → rel-CT65ywJp.js} +0 -0
- /package/.output/public/assets/{riscv-C8BcOCkS.js → riscv-Qv5W2vIg.js} +0 -0
- /package/.output/public/assets/{ron-DiDyR9oa.js → ron-cRHu9zPp.js} +0 -0
- /package/.output/public/assets/{rose-pine-BADquuIH.js → rose-pine-DFmTJHIJ.js} +0 -0
- /package/.output/public/assets/{rose-pine-dawn-BLcEeBoh.js → rose-pine-dawn-YIuK9wUm.js} +0 -0
- /package/.output/public/assets/{rose-pine-moon-BK_tLY1Y.js → rose-pine-moon-BYEHfkUB.js} +0 -0
- /package/.output/public/assets/{rosmsg-CHmL1Uyj.js → rosmsg-_L1z4wrx.js} +0 -0
- /package/.output/public/assets/{rust-DjJFInu3.js → rust-BA5wQ_EY.js} +0 -0
- /package/.output/public/assets/{sass-D3xZ5o-v.js → sass-sd__ov8V.js} +0 -0
- /package/.output/public/assets/{scala-B0IRml5w.js → scala--cVG4U7H.js} +0 -0
- /package/.output/public/assets/{scheme-BhwcV3Av.js → scheme-D6Q1O-kY.js} +0 -0
- /package/.output/public/assets/{sdbl-BmWYR-pI.js → sdbl-jB0DUrL_.js} +0 -0
- /package/.output/public/assets/{shellscript-DaVPunOM.js → shellscript-DyWRuzkj.js} +0 -0
- /package/.output/public/assets/{slack-dark-DOnVms5P.js → slack-dark-DHhAlQBa.js} +0 -0
- /package/.output/public/assets/{slack-ochin-DcRTft4q.js → slack-ochin-PZXbcZaN.js} +0 -0
- /package/.output/public/assets/{smalltalk-DVQuUMII.js → smalltalk-C7VkdTlv.js} +0 -0
- /package/.output/public/assets/{snazzy-light-x9CLJ1W9.js → snazzy-light-CPc_Qts9.js} +0 -0
- /package/.output/public/assets/{solarized-dark-BB1sh-pe.js → solarized-dark-DCCfKtTh.js} +0 -0
- /package/.output/public/assets/{solarized-light-9-RPS998.js → solarized-light-B84T-R9X.js} +0 -0
- /package/.output/public/assets/{solidity-gQ4WXILB.js → solidity-DVsDPpDS.js} +0 -0
- /package/.output/public/assets/{splunk-OB48_RcD.js → splunk-A-BwP6Va.js} +0 -0
- /package/.output/public/assets/{sql-CrTmZCMa.js → sql-CRzu7iKx.js} +0 -0
- /package/.output/public/assets/{ssh-config-DA9YMRGV.js → ssh-config-CFPv6mTy.js} +0 -0
- /package/.output/public/assets/{stylus-sKwvsUaC.js → stylus-CUf3IESt.js} +0 -0
- /package/.output/public/assets/{swift-C72NbAtg.js → swift-CSiiYB_Q.js} +0 -0
- /package/.output/public/assets/{synthwave-84-eJ9uRN_S.js → synthwave-84-uJp1j2Jd.js} +0 -0
- /package/.output/public/assets/{system-verilog-CnWMF7Nq.js → system-verilog-rMjKy-O9.js} +0 -0
- /package/.output/public/assets/{systemd-DMzItW5N.js → systemd-R-KDM4-t.js} +0 -0
- /package/.output/public/assets/{talonscript-DopQCWDL.js → talonscript-D666vCtm.js} +0 -0
- /package/.output/public/assets/{tasl-C28SYKbq.js → tasl-68cbBocU.js} +0 -0
- /package/.output/public/assets/{tcl-DHq7zmoF.js → tcl-Y39dJ_pX.js} +0 -0
- /package/.output/public/assets/{terraform-CogS1YKX.js → terraform-BF7wAo-b.js} +0 -0
- /package/.output/public/assets/{tokyo-night-B9N7LyrF.js → tokyo-night-EeABtN82.js} +0 -0
- /package/.output/public/assets/{toml-BH_iPsgK.js → toml-BrMFN1JF.js} +0 -0
- /package/.output/public/assets/{tsv-BIkdBZX1.js → tsv-Dp2l5v7f.js} +0 -0
- /package/.output/public/assets/{tsx-BjkCKOtw.js → tsx-CQqypS0k.js} +0 -0
- /package/.output/public/assets/{turtle-CqNXyJWZ.js → turtle-_N1aDtpV.js} +0 -0
- /package/.output/public/assets/{typescript-BoHeP9q1.js → typescript-CPmDkqmE.js} +0 -0
- /package/.output/public/assets/{typespec-CQ9LYD_e.js → typespec-ghgF2GAI.js} +0 -0
- /package/.output/public/assets/{typst-T-Fsk-Sv.js → typst-DP_izaNK.js} +0 -0
- /package/.output/public/assets/{v-BhMEOw9x.js → v-CdNC_Wok.js} +0 -0
- /package/.output/public/assets/{vala-DzajMnwt.js → vala-Bu4pYkLC.js} +0 -0
- /package/.output/public/assets/{vb-7Xr8dEYW.js → vb-u84IyWSS.js} +0 -0
- /package/.output/public/assets/{verilog-AvXtwZir.js → verilog-BC33pi7Z.js} +0 -0
- /package/.output/public/assets/{vesper-CtgQQ2sf.js → vesper-7-XtS0Kg.js} +0 -0
- /package/.output/public/assets/{vhdl-BHu0zg1P.js → vhdl-BBxTOQe0.js} +0 -0
- /package/.output/public/assets/{viml-Di0QpLfC.js → viml-X_r-ivXA.js} +0 -0
- /package/.output/public/assets/{vitesse-black-jXdfyqgD.js → vitesse-black-DRdlY-cW.js} +0 -0
- /package/.output/public/assets/{vitesse-dark-B88PxG1r.js → vitesse-dark-Bz0hOFHJ.js} +0 -0
- /package/.output/public/assets/{vitesse-light-BXxZh2iV.js → vitesse-light-7kCLd0yn.js} +0 -0
- /package/.output/public/assets/{vyper-C3R5yXgx.js → vyper-E7qIwMXy.js} +0 -0
- /package/.output/public/assets/{wasm-D_MQmneJ.js → wasm-BqG9CUph.js} +0 -0
- /package/.output/public/assets/{wasm-Chsuwt1A.js → wasm-C18OEcCL.js} +0 -0
- /package/.output/public/assets/{wenyan-BonVcr2i.js → wenyan-siXAC4el.js} +0 -0
- /package/.output/public/assets/{wgsl-D59WYmNq.js → wgsl-BJQt8Uld.js} +0 -0
- /package/.output/public/assets/{wikitext-ariTI2Wk.js → wikitext-Ci0ePJmf.js} +0 -0
- /package/.output/public/assets/{wit-EA4fa3Dt.js → wit-BdDJ7geN.js} +0 -0
- /package/.output/public/assets/{wolfram-DDp7LhyU.js → wolfram-Bi-O1IUM.js} +0 -0
- /package/.output/public/assets/{xterm-CCMwI7sy.js → xterm-TTe2Bv9Z.js} +0 -0
- /package/.output/public/assets/{yaml-BTD1XHJG.js → yaml-DgkO7CC2.js} +0 -0
- /package/.output/public/assets/{zenscript-4WaROUyc.js → zenscript-CnkrxCBw.js} +0 -0
- /package/.output/public/assets/{zig-CJoLJGwV.js → zig-CgMsxF9-.js} +0 -0
|
@@ -1,1607 +0,0 @@
|
|
|
1
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/constants.js
|
|
2
|
-
/**
|
|
3
|
-
* Detects the current platform based on browser navigator properties.
|
|
4
|
-
*
|
|
5
|
-
* Used internally to resolve platform-adaptive modifiers like 'Mod' (Command on Mac,
|
|
6
|
-
* Control elsewhere) and for platform-specific hotkey formatting.
|
|
7
|
-
*
|
|
8
|
-
* @returns The detected platform: 'mac', 'windows', or 'linux'
|
|
9
|
-
* @remarks Defaults to 'linux' in SSR environments where navigator is undefined
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* const platform = detectPlatform() // 'mac' | 'windows' | 'linux'
|
|
14
|
-
* const modifier = resolveModifier('Mod', platform) // 'Meta' on Mac, 'Control' elsewhere
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
function detectPlatform() {
|
|
18
|
-
if (typeof navigator === "undefined") return "linux";
|
|
19
|
-
const platform = navigator.platform?.toLowerCase() ?? "";
|
|
20
|
-
const userAgent = navigator.userAgent?.toLowerCase() ?? "";
|
|
21
|
-
if (platform.includes("mac") || userAgent.includes("mac")) return "mac";
|
|
22
|
-
if (platform.includes("win") || userAgent.includes("win")) return "windows";
|
|
23
|
-
return "linux";
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Canonical order for modifiers in normalized hotkey strings.
|
|
27
|
-
*
|
|
28
|
-
* Defines the standard order in which modifiers should appear when formatting
|
|
29
|
-
* hotkeys. This ensures consistent, predictable output across the library.
|
|
30
|
-
*
|
|
31
|
-
* Order: Control → Alt → Shift → Meta
|
|
32
|
-
*
|
|
33
|
-
* @example
|
|
34
|
-
* ```ts
|
|
35
|
-
* // Input: 'Shift+Control+Meta+S'
|
|
36
|
-
* // Normalized: 'Control+Alt+Shift+Meta+S' (following MODIFIER_ORDER)
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
var MODIFIER_ORDER = [
|
|
40
|
-
"Control",
|
|
41
|
-
"Alt",
|
|
42
|
-
"Shift",
|
|
43
|
-
"Meta"
|
|
44
|
-
];
|
|
45
|
-
new Set(MODIFIER_ORDER);
|
|
46
|
-
/**
|
|
47
|
-
* Maps modifier key aliases to their canonical form or platform-adaptive 'Mod'.
|
|
48
|
-
*
|
|
49
|
-
* This map allows users to write hotkeys using various aliases (e.g., 'Ctrl', 'Cmd', 'Option')
|
|
50
|
-
* which are then normalized to canonical names ('Control', 'Meta', 'Alt') or the
|
|
51
|
-
* platform-adaptive 'Mod' token.
|
|
52
|
-
*
|
|
53
|
-
* The 'Mod' and 'CommandOrControl' aliases are resolved at runtime via `resolveModifier()`
|
|
54
|
-
* based on the detected platform (Command on Mac, Control elsewhere).
|
|
55
|
-
*
|
|
56
|
-
* @remarks Case-insensitive lookups are supported via lowercase variants
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* ```ts
|
|
60
|
-
* MODIFIER_ALIASES['Ctrl'] // 'Control'
|
|
61
|
-
* MODIFIER_ALIASES['Cmd'] // 'Meta'
|
|
62
|
-
* MODIFIER_ALIASES['Mod'] // 'Mod' (resolved at runtime)
|
|
63
|
-
* ```
|
|
64
|
-
*/
|
|
65
|
-
var MODIFIER_ALIASES = {
|
|
66
|
-
Control: "Control",
|
|
67
|
-
Ctrl: "Control",
|
|
68
|
-
control: "Control",
|
|
69
|
-
ctrl: "Control",
|
|
70
|
-
Shift: "Shift",
|
|
71
|
-
shift: "Shift",
|
|
72
|
-
Alt: "Alt",
|
|
73
|
-
Option: "Alt",
|
|
74
|
-
alt: "Alt",
|
|
75
|
-
option: "Alt",
|
|
76
|
-
Command: "Meta",
|
|
77
|
-
Cmd: "Meta",
|
|
78
|
-
Meta: "Meta",
|
|
79
|
-
command: "Meta",
|
|
80
|
-
cmd: "Meta",
|
|
81
|
-
meta: "Meta",
|
|
82
|
-
OS: "Meta",
|
|
83
|
-
os: "Meta",
|
|
84
|
-
Win: "Meta",
|
|
85
|
-
win: "Meta",
|
|
86
|
-
CommandOrControl: "Mod",
|
|
87
|
-
Mod: "Mod",
|
|
88
|
-
commandorcontrol: "Mod",
|
|
89
|
-
mod: "Mod"
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* Resolves the platform-adaptive 'Mod' modifier to the appropriate canonical modifier.
|
|
93
|
-
*
|
|
94
|
-
* The 'Mod' token represents the "primary modifier" on each platform:
|
|
95
|
-
* - macOS: 'Meta' (Command key ⌘)
|
|
96
|
-
* - Windows/Linux: 'Control' (Ctrl key)
|
|
97
|
-
*
|
|
98
|
-
* This enables cross-platform hotkey definitions like 'Mod+S' that automatically
|
|
99
|
-
* map to Command+S on Mac and Ctrl+S on Windows/Linux.
|
|
100
|
-
*
|
|
101
|
-
* @param modifier - The modifier to resolve. If 'Mod', resolves based on platform.
|
|
102
|
-
* @param platform - The target platform. Defaults to auto-detection.
|
|
103
|
-
* @returns The canonical modifier name ('Control', 'Shift', 'Alt', or 'Meta')
|
|
104
|
-
*
|
|
105
|
-
* @example
|
|
106
|
-
* ```ts
|
|
107
|
-
* resolveModifier('Mod', 'mac') // 'Meta'
|
|
108
|
-
* resolveModifier('Mod', 'windows') // 'Control'
|
|
109
|
-
* resolveModifier('Control', 'mac') // 'Control' (unchanged)
|
|
110
|
-
* ```
|
|
111
|
-
*/
|
|
112
|
-
function resolveModifier(modifier, platform = detectPlatform()) {
|
|
113
|
-
if (modifier === "Mod") return platform === "mac" ? "Meta" : "Control";
|
|
114
|
-
return modifier;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Set of all valid letter keys (A-Z).
|
|
118
|
-
*
|
|
119
|
-
* Used for validation and type checking. Letter keys are matched case-insensitively
|
|
120
|
-
* in hotkey matching, but normalized to uppercase in canonical form.
|
|
121
|
-
*/
|
|
122
|
-
var LETTER_KEYS = new Set([
|
|
123
|
-
"A",
|
|
124
|
-
"B",
|
|
125
|
-
"C",
|
|
126
|
-
"D",
|
|
127
|
-
"E",
|
|
128
|
-
"F",
|
|
129
|
-
"G",
|
|
130
|
-
"H",
|
|
131
|
-
"I",
|
|
132
|
-
"J",
|
|
133
|
-
"K",
|
|
134
|
-
"L",
|
|
135
|
-
"M",
|
|
136
|
-
"N",
|
|
137
|
-
"O",
|
|
138
|
-
"P",
|
|
139
|
-
"Q",
|
|
140
|
-
"R",
|
|
141
|
-
"S",
|
|
142
|
-
"T",
|
|
143
|
-
"U",
|
|
144
|
-
"V",
|
|
145
|
-
"W",
|
|
146
|
-
"X",
|
|
147
|
-
"Y",
|
|
148
|
-
"Z"
|
|
149
|
-
]);
|
|
150
|
-
/**
|
|
151
|
-
* Set of all valid number keys (0-9).
|
|
152
|
-
*
|
|
153
|
-
* Note: Number keys are affected by Shift (Shift+1 → '!' on US layout),
|
|
154
|
-
* so they're excluded from Shift-based hotkey combinations to avoid
|
|
155
|
-
* layout-dependent behavior.
|
|
156
|
-
*/
|
|
157
|
-
var NUMBER_KEYS = new Set([
|
|
158
|
-
"0",
|
|
159
|
-
"1",
|
|
160
|
-
"2",
|
|
161
|
-
"3",
|
|
162
|
-
"4",
|
|
163
|
-
"5",
|
|
164
|
-
"6",
|
|
165
|
-
"7",
|
|
166
|
-
"8",
|
|
167
|
-
"9"
|
|
168
|
-
]);
|
|
169
|
-
/**
|
|
170
|
-
* Set of all valid function keys (F1-F12).
|
|
171
|
-
*
|
|
172
|
-
* Function keys are commonly used for system shortcuts (e.g., F12 for DevTools,
|
|
173
|
-
* Alt+F4 to close windows) and application-specific commands.
|
|
174
|
-
*/
|
|
175
|
-
var FUNCTION_KEYS = new Set([
|
|
176
|
-
"F1",
|
|
177
|
-
"F2",
|
|
178
|
-
"F3",
|
|
179
|
-
"F4",
|
|
180
|
-
"F5",
|
|
181
|
-
"F6",
|
|
182
|
-
"F7",
|
|
183
|
-
"F8",
|
|
184
|
-
"F9",
|
|
185
|
-
"F10",
|
|
186
|
-
"F11",
|
|
187
|
-
"F12"
|
|
188
|
-
]);
|
|
189
|
-
/**
|
|
190
|
-
* Set of all valid navigation keys for cursor movement and document navigation.
|
|
191
|
-
*
|
|
192
|
-
* Includes arrow keys, Home/End (line navigation), and PageUp/PageDown (page navigation).
|
|
193
|
-
* These keys are commonly combined with modifiers for selection (Shift+ArrowUp) or
|
|
194
|
-
* navigation shortcuts (Alt+ArrowLeft for back).
|
|
195
|
-
*/
|
|
196
|
-
var NAVIGATION_KEYS = new Set([
|
|
197
|
-
"ArrowUp",
|
|
198
|
-
"ArrowDown",
|
|
199
|
-
"ArrowLeft",
|
|
200
|
-
"ArrowRight",
|
|
201
|
-
"Home",
|
|
202
|
-
"End",
|
|
203
|
-
"PageUp",
|
|
204
|
-
"PageDown"
|
|
205
|
-
]);
|
|
206
|
-
/**
|
|
207
|
-
* Set of all valid editing and special keys.
|
|
208
|
-
*
|
|
209
|
-
* Includes keys commonly used for text editing (Enter, Backspace, Delete, Tab) and
|
|
210
|
-
* special actions (Escape, Space). These keys are frequently combined with modifiers
|
|
211
|
-
* for editor shortcuts (Mod+Enter to submit, Shift+Tab to go back).
|
|
212
|
-
*/
|
|
213
|
-
var EDITING_KEYS = new Set([
|
|
214
|
-
"Enter",
|
|
215
|
-
"Escape",
|
|
216
|
-
"Space",
|
|
217
|
-
"Tab",
|
|
218
|
-
"Backspace",
|
|
219
|
-
"Delete"
|
|
220
|
-
]);
|
|
221
|
-
/**
|
|
222
|
-
* Set of all valid punctuation keys commonly used in keyboard shortcuts.
|
|
223
|
-
*
|
|
224
|
-
* These are the literal characters as they appear in `KeyboardEvent.key` (layout-dependent,
|
|
225
|
-
* typically US keyboard layout). Common shortcuts include:
|
|
226
|
-
* - `Mod+/` - Toggle comment
|
|
227
|
-
* - `Mod+[` / `Mod+]` - Indent/outdent
|
|
228
|
-
* - `Mod+=` / `Mod+-` - Zoom in/out
|
|
229
|
-
*
|
|
230
|
-
* Note: Punctuation keys are affected by Shift (Shift+',' → '<' on US layout),
|
|
231
|
-
* so they're excluded from Shift-based hotkey combinations to avoid layout-dependent behavior.
|
|
232
|
-
*/
|
|
233
|
-
var PUNCTUATION_KEYS = new Set([
|
|
234
|
-
"/",
|
|
235
|
-
"[",
|
|
236
|
-
"]",
|
|
237
|
-
"\\",
|
|
238
|
-
"=",
|
|
239
|
-
"-",
|
|
240
|
-
",",
|
|
241
|
-
".",
|
|
242
|
-
";",
|
|
243
|
-
"`"
|
|
244
|
-
]);
|
|
245
|
-
/**
|
|
246
|
-
* Maps `KeyboardEvent.code` values for punctuation keys to their canonical characters.
|
|
247
|
-
*
|
|
248
|
-
* On macOS, holding the Option (Alt) key transforms punctuation keys into special characters
|
|
249
|
-
* (e.g., Option+Minus → en-dash '–'), causing `event.key` to differ from the expected character.
|
|
250
|
-
* However, `event.code` still reports the physical key (e.g., 'Minus'). This map enables
|
|
251
|
-
* falling back to `event.code` for punctuation keys, similar to the existing `Key*`/`Digit*`
|
|
252
|
-
* fallbacks for letters and digits.
|
|
253
|
-
*/
|
|
254
|
-
var PUNCTUATION_CODE_MAP = {
|
|
255
|
-
Backquote: "`",
|
|
256
|
-
Backslash: "\\",
|
|
257
|
-
BracketLeft: "[",
|
|
258
|
-
BracketRight: "]",
|
|
259
|
-
Comma: ",",
|
|
260
|
-
Equal: "=",
|
|
261
|
-
Minus: "-",
|
|
262
|
-
Period: ".",
|
|
263
|
-
Semicolon: ";",
|
|
264
|
-
Slash: "/"
|
|
265
|
-
};
|
|
266
|
-
new Set([
|
|
267
|
-
...LETTER_KEYS,
|
|
268
|
-
...NUMBER_KEYS,
|
|
269
|
-
...FUNCTION_KEYS,
|
|
270
|
-
...NAVIGATION_KEYS,
|
|
271
|
-
...EDITING_KEYS,
|
|
272
|
-
...PUNCTUATION_KEYS
|
|
273
|
-
]);
|
|
274
|
-
/**
|
|
275
|
-
* Maps key name aliases to their canonical form.
|
|
276
|
-
*
|
|
277
|
-
* Handles common variations and alternative names for keys to provide a more
|
|
278
|
-
* forgiving API. For example, users can write 'Esc', 'esc', or 'escape' and
|
|
279
|
-
* they'll all normalize to 'Escape'.
|
|
280
|
-
*
|
|
281
|
-
* This map is used internally by `normalizeKeyName()` to convert user input
|
|
282
|
-
* into the canonical key names used throughout the library.
|
|
283
|
-
*
|
|
284
|
-
* @remarks Case-insensitive lookups are supported via lowercase variants
|
|
285
|
-
*
|
|
286
|
-
* @example
|
|
287
|
-
* ```ts
|
|
288
|
-
* KEY_ALIASES['Esc'] // 'Escape'
|
|
289
|
-
* KEY_ALIASES['Del'] // 'Delete'
|
|
290
|
-
* KEY_ALIASES['Up'] // 'ArrowUp'
|
|
291
|
-
* ```
|
|
292
|
-
*/
|
|
293
|
-
var KEY_ALIASES = {
|
|
294
|
-
Esc: "Escape",
|
|
295
|
-
esc: "Escape",
|
|
296
|
-
escape: "Escape",
|
|
297
|
-
Return: "Enter",
|
|
298
|
-
return: "Enter",
|
|
299
|
-
enter: "Enter",
|
|
300
|
-
" ": "Space",
|
|
301
|
-
space: "Space",
|
|
302
|
-
Spacebar: "Space",
|
|
303
|
-
spacebar: "Space",
|
|
304
|
-
tab: "Tab",
|
|
305
|
-
backspace: "Backspace",
|
|
306
|
-
Del: "Delete",
|
|
307
|
-
del: "Delete",
|
|
308
|
-
delete: "Delete",
|
|
309
|
-
Up: "ArrowUp",
|
|
310
|
-
up: "ArrowUp",
|
|
311
|
-
arrowup: "ArrowUp",
|
|
312
|
-
Down: "ArrowDown",
|
|
313
|
-
down: "ArrowDown",
|
|
314
|
-
arrowdown: "ArrowDown",
|
|
315
|
-
Left: "ArrowLeft",
|
|
316
|
-
left: "ArrowLeft",
|
|
317
|
-
arrowleft: "ArrowLeft",
|
|
318
|
-
Right: "ArrowRight",
|
|
319
|
-
right: "ArrowRight",
|
|
320
|
-
arrowright: "ArrowRight",
|
|
321
|
-
home: "Home",
|
|
322
|
-
end: "End",
|
|
323
|
-
pageup: "PageUp",
|
|
324
|
-
pagedown: "PageDown",
|
|
325
|
-
PgUp: "PageUp",
|
|
326
|
-
PgDn: "PageDown",
|
|
327
|
-
pgup: "PageUp",
|
|
328
|
-
pgdn: "PageDown"
|
|
329
|
-
};
|
|
330
|
-
/**
|
|
331
|
-
* Normalizes a key name to its canonical form.
|
|
332
|
-
*
|
|
333
|
-
* Converts various key name formats (aliases, case variations) into the standard
|
|
334
|
-
* canonical names used throughout the library. This enables a more forgiving API
|
|
335
|
-
* where users can write keys in different ways and still get correct behavior.
|
|
336
|
-
*
|
|
337
|
-
* Normalization rules:
|
|
338
|
-
* 1. Check aliases first (e.g., 'Esc' → 'Escape', 'Del' → 'Delete')
|
|
339
|
-
* 2. Single letters → uppercase (e.g., 'a' → 'A', 's' → 'S')
|
|
340
|
-
* 3. Function keys → uppercase (e.g., 'f1' → 'F1', 'F12' → 'F12')
|
|
341
|
-
* 4. Other keys → returned as-is (already canonical or unknown)
|
|
342
|
-
*
|
|
343
|
-
* @param key - The key name to normalize (can be an alias, lowercase, etc.)
|
|
344
|
-
* @returns The canonical key name
|
|
345
|
-
*
|
|
346
|
-
* @example
|
|
347
|
-
* ```ts
|
|
348
|
-
* normalizeKeyName('esc') // 'Escape'
|
|
349
|
-
* normalizeKeyName('a') // 'A'
|
|
350
|
-
* normalizeKeyName('f1') // 'F1'
|
|
351
|
-
* normalizeKeyName('ArrowUp') // 'ArrowUp' (already canonical)
|
|
352
|
-
* ```
|
|
353
|
-
*/
|
|
354
|
-
function isSingleLetterKey(key) {
|
|
355
|
-
return /^\p{Letter}$/u.test(key);
|
|
356
|
-
}
|
|
357
|
-
/**
|
|
358
|
-
* Normalizes a key name to its canonical form.
|
|
359
|
-
*
|
|
360
|
-
* @param key - The key name to normalize (can be an alias, lowercase, etc.)
|
|
361
|
-
* @returns The canonical key name
|
|
362
|
-
*
|
|
363
|
-
* @example
|
|
364
|
-
* ```ts
|
|
365
|
-
* normalizeKeyName('esc') // 'Escape'
|
|
366
|
-
* normalizeKeyName('a') // 'A'
|
|
367
|
-
* normalizeKeyName('f1') // 'F1'
|
|
368
|
-
* normalizeKeyName('ArrowUp') // 'ArrowUp' (already canonical)
|
|
369
|
-
* ```
|
|
370
|
-
*/
|
|
371
|
-
function normalizeKeyName(key) {
|
|
372
|
-
if (!key) return "";
|
|
373
|
-
if (key in KEY_ALIASES) return KEY_ALIASES[key];
|
|
374
|
-
if (isSingleLetterKey(key)) {
|
|
375
|
-
const upper = key.toUpperCase();
|
|
376
|
-
return upper.length === 1 ? upper : key;
|
|
377
|
-
}
|
|
378
|
-
const upperKey = key.toUpperCase();
|
|
379
|
-
if (/^F([1-9]|1[0-2])$/.test(upperKey)) return upperKey;
|
|
380
|
-
return key;
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* Modifier key symbols for macOS display.
|
|
384
|
-
*
|
|
385
|
-
* Used by formatting functions to display hotkeys with macOS-style symbols
|
|
386
|
-
* (e.g., ⌘ for Command, ⌃ for Control) instead of text labels. This provides
|
|
387
|
-
* a native macOS look and feel in hotkey displays.
|
|
388
|
-
*
|
|
389
|
-
* @example
|
|
390
|
-
* ```ts
|
|
391
|
-
* MAC_MODIFIER_SYMBOLS['Meta'] // '⌘'
|
|
392
|
-
* MAC_MODIFIER_SYMBOLS['Control'] // '⌃'
|
|
393
|
-
* MAC_MODIFIER_SYMBOLS['Alt'] // '⌥'
|
|
394
|
-
* MAC_MODIFIER_SYMBOLS['Shift'] // '⇧'
|
|
395
|
-
* ```
|
|
396
|
-
*/
|
|
397
|
-
var MAC_MODIFIER_SYMBOLS = {
|
|
398
|
-
Control: "⌃",
|
|
399
|
-
Alt: "⌥",
|
|
400
|
-
Shift: "⇧",
|
|
401
|
-
Meta: "⌘",
|
|
402
|
-
Mod: "⌘"
|
|
403
|
-
};
|
|
404
|
-
/**
|
|
405
|
-
* Modifier key labels for macOS display.
|
|
406
|
-
*
|
|
407
|
-
* Used by formatting functions to display hotkeys with macOS-style text labels
|
|
408
|
-
* (e.g., 'Control' for Control, 'Option' for Alt, 'Cmd' for Meta) instead of symbols.
|
|
409
|
-
* This provides a familiar macOS look and feel in hotkey displays.
|
|
410
|
-
*
|
|
411
|
-
* @example
|
|
412
|
-
* ```ts
|
|
413
|
-
* MAC_MODIFIER_LABELS['Control'] // 'control'
|
|
414
|
-
* MAC_MODIFIER_LABELS['Alt'] // 'option'
|
|
415
|
-
* MAC_MODIFIER_LABELS['Shift'] // 'shift'
|
|
416
|
-
* MAC_MODIFIER_LABELS['Meta'] // 'cmd'
|
|
417
|
-
* ```
|
|
418
|
-
*/
|
|
419
|
-
var MAC_MODIFIER_LABELS = {
|
|
420
|
-
Control: "Control",
|
|
421
|
-
Alt: "Option",
|
|
422
|
-
Shift: "Shift",
|
|
423
|
-
Meta: "Cmd",
|
|
424
|
-
Mod: "Cmd"
|
|
425
|
-
};
|
|
426
|
-
/**
|
|
427
|
-
* Modifier key labels for Windows/Linux display.
|
|
428
|
-
*
|
|
429
|
-
* Used by formatting functions to display hotkeys with standard text labels
|
|
430
|
-
* (e.g., 'Ctrl' for Control, 'Win' for Meta/Windows key) instead of symbols.
|
|
431
|
-
* This provides a familiar Windows/Linux look and feel in hotkey displays.
|
|
432
|
-
*
|
|
433
|
-
* @example
|
|
434
|
-
* ```ts
|
|
435
|
-
* STANDARD_MODIFIER_LABELS['Control'] // 'Ctrl'
|
|
436
|
-
* STANDARD_MODIFIER_LABELS['Meta'] // 'Win'
|
|
437
|
-
* STANDARD_MODIFIER_LABELS['Alt'] // 'Alt'
|
|
438
|
-
* STANDARD_MODIFIER_LABELS['Shift'] // 'Shift'
|
|
439
|
-
* ```
|
|
440
|
-
*/
|
|
441
|
-
var WINDOWS_MODIFIER_LABELS = {
|
|
442
|
-
Control: "Ctrl",
|
|
443
|
-
Alt: "Alt",
|
|
444
|
-
Shift: "Shift",
|
|
445
|
-
Meta: "Win",
|
|
446
|
-
Mod: "Ctrl"
|
|
447
|
-
};
|
|
448
|
-
var LINUX_MODIFIER_LABELS = {
|
|
449
|
-
...WINDOWS_MODIFIER_LABELS,
|
|
450
|
-
Meta: "Super"
|
|
451
|
-
};
|
|
452
|
-
var PUNCTUATION_KEY_DISPLAY_LABELS = {
|
|
453
|
-
"`": "Backquote",
|
|
454
|
-
"\\": "Backslash",
|
|
455
|
-
"[": "Left Bracket",
|
|
456
|
-
"]": "Right Bracket",
|
|
457
|
-
",": "Comma",
|
|
458
|
-
"=": "Equal",
|
|
459
|
-
"-": "Minus",
|
|
460
|
-
".": "Period",
|
|
461
|
-
";": "Semicolon"
|
|
462
|
-
};
|
|
463
|
-
/**
|
|
464
|
-
* Special key symbols for display formatting.
|
|
465
|
-
*
|
|
466
|
-
* Maps certain keys to their visual symbols for better readability in hotkey displays.
|
|
467
|
-
* Used by formatting functions to show symbols like ↑ for ArrowUp or ↵ for Enter
|
|
468
|
-
* instead of text labels.
|
|
469
|
-
*
|
|
470
|
-
* @example
|
|
471
|
-
* ```ts
|
|
472
|
-
* KEY_DISPLAY_SYMBOLS['ArrowUp'] // '↑'
|
|
473
|
-
* KEY_DISPLAY_SYMBOLS['Enter'] // '↵'
|
|
474
|
-
* KEY_DISPLAY_SYMBOLS['Escape'] // 'Esc'
|
|
475
|
-
* KEY_DISPLAY_SYMBOLS['Space'] // '␣'
|
|
476
|
-
* ```
|
|
477
|
-
*/
|
|
478
|
-
var KEY_DISPLAY_SYMBOLS = {
|
|
479
|
-
ArrowUp: "↑",
|
|
480
|
-
ArrowDown: "↓",
|
|
481
|
-
ArrowLeft: "←",
|
|
482
|
-
ArrowRight: "→",
|
|
483
|
-
Enter: "↵",
|
|
484
|
-
Escape: "Esc",
|
|
485
|
-
Backspace: "⌫",
|
|
486
|
-
Delete: "⌦",
|
|
487
|
-
Tab: "⇥",
|
|
488
|
-
Space: "␣"
|
|
489
|
-
};
|
|
490
|
-
//#endregion
|
|
491
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/parse.js
|
|
492
|
-
/**
|
|
493
|
-
* Parses a hotkey string into its component parts.
|
|
494
|
-
*
|
|
495
|
-
* @param hotkey - The hotkey string to parse (e.g., 'Mod+Shift+S')
|
|
496
|
-
* @param platform - The target platform for resolving 'Mod' (defaults to auto-detection)
|
|
497
|
-
* @returns A ParsedHotkey object with the key and modifier flags
|
|
498
|
-
*
|
|
499
|
-
* @example
|
|
500
|
-
* ```ts
|
|
501
|
-
* parseHotkey('Mod+S') // On Mac: { key: 'S', ctrl: false, shift: false, alt: false, meta: true, modifiers: ['Meta'] }
|
|
502
|
-
* parseHotkey('Mod+S') // On Windows: { key: 'S', ctrl: true, shift: false, alt: false, meta: false, modifiers: ['Control'] }
|
|
503
|
-
* parseHotkey('Control+Shift+A') // { key: 'A', ctrl: true, shift: true, alt: false, meta: false, modifiers: ['Control', 'Shift'] }
|
|
504
|
-
* ```
|
|
505
|
-
*/
|
|
506
|
-
function parseHotkey(hotkey, platform = detectPlatform()) {
|
|
507
|
-
const parts = hotkey.split("+");
|
|
508
|
-
const modifiers = /* @__PURE__ */ new Set();
|
|
509
|
-
let key = "";
|
|
510
|
-
for (let i = 0; i < parts.length; i++) {
|
|
511
|
-
const part = parts[i].trim();
|
|
512
|
-
if (i === parts.length - 1) key = normalizeKeyName(part);
|
|
513
|
-
else {
|
|
514
|
-
const alias = MODIFIER_ALIASES[part] ?? MODIFIER_ALIASES[part.toLowerCase()];
|
|
515
|
-
if (alias) {
|
|
516
|
-
const resolved = resolveModifier(alias, platform);
|
|
517
|
-
modifiers.add(resolved);
|
|
518
|
-
} else if (parts.length === 1) key = normalizeKeyName(part);
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
if (!key && parts.length > 0) key = normalizeKeyName(parts[parts.length - 1].trim());
|
|
522
|
-
return {
|
|
523
|
-
key,
|
|
524
|
-
ctrl: modifiers.has("Control"),
|
|
525
|
-
shift: modifiers.has("Shift"),
|
|
526
|
-
alt: modifiers.has("Alt"),
|
|
527
|
-
meta: modifiers.has("Meta"),
|
|
528
|
-
modifiers: MODIFIER_ORDER.filter((m) => modifiers.has(m))
|
|
529
|
-
};
|
|
530
|
-
}
|
|
531
|
-
/**
|
|
532
|
-
* Converts a RawHotkey object to a ParsedHotkey.
|
|
533
|
-
* Optional modifier booleans default to false; modifiers array is derived from them.
|
|
534
|
-
* When `mod` is true, it is resolved to Control or Meta based on platform.
|
|
535
|
-
*
|
|
536
|
-
* @param raw - The raw hotkey object
|
|
537
|
-
* @param platform - The target platform for resolving 'Mod' (defaults to auto-detection)
|
|
538
|
-
* @returns A ParsedHotkey suitable for matching and formatting
|
|
539
|
-
*
|
|
540
|
-
* @example
|
|
541
|
-
* ```ts
|
|
542
|
-
* rawHotkeyToParsedHotkey({ key: 'Escape' })
|
|
543
|
-
* // { key: 'Escape', ctrl: false, shift: false, alt: false, meta: false, modifiers: [] }
|
|
544
|
-
*
|
|
545
|
-
* rawHotkeyToParsedHotkey({ key: 'S', mod: true }, 'mac')
|
|
546
|
-
* // { key: 'S', ctrl: false, shift: false, alt: false, meta: true, modifiers: ['Meta'] }
|
|
547
|
-
*
|
|
548
|
-
* rawHotkeyToParsedHotkey({ key: 'S', mod: true, shift: true }, 'windows')
|
|
549
|
-
* // { key: 'S', ctrl: true, shift: true, alt: false, meta: false, modifiers: ['Control', 'Shift'] }
|
|
550
|
-
* ```
|
|
551
|
-
*/
|
|
552
|
-
function rawHotkeyToParsedHotkey(raw, platform = detectPlatform()) {
|
|
553
|
-
let ctrl = raw.ctrl ?? false;
|
|
554
|
-
const shift = raw.shift ?? false;
|
|
555
|
-
const alt = raw.alt ?? false;
|
|
556
|
-
let meta = raw.meta ?? false;
|
|
557
|
-
if (raw.mod) if (resolveModifier("Mod", platform) === "Control") ctrl = true;
|
|
558
|
-
else meta = true;
|
|
559
|
-
const modifiers = MODIFIER_ORDER.filter((m) => {
|
|
560
|
-
switch (m) {
|
|
561
|
-
case "Control": return ctrl;
|
|
562
|
-
case "Shift": return shift;
|
|
563
|
-
case "Alt": return alt;
|
|
564
|
-
case "Meta": return meta;
|
|
565
|
-
default: return false;
|
|
566
|
-
}
|
|
567
|
-
});
|
|
568
|
-
return {
|
|
569
|
-
key: raw.key,
|
|
570
|
-
ctrl,
|
|
571
|
-
shift,
|
|
572
|
-
alt,
|
|
573
|
-
meta,
|
|
574
|
-
modifiers
|
|
575
|
-
};
|
|
576
|
-
}
|
|
577
|
-
/**
|
|
578
|
-
* Serializes a parsed hotkey to the canonical string form used for registration
|
|
579
|
-
* and storage: `Mod` first when the platform allows, then `Alt`, then `Shift`;
|
|
580
|
-
* otherwise full `Control+Alt+Shift+Meta` order.
|
|
581
|
-
*/
|
|
582
|
-
function normalizedHotkeyStringFromParsed(parsed, platform) {
|
|
583
|
-
const canUseMod = platform === "mac" ? parsed.meta && !parsed.ctrl : parsed.ctrl && !parsed.meta;
|
|
584
|
-
const parts = [];
|
|
585
|
-
if (canUseMod) {
|
|
586
|
-
parts.push("Mod");
|
|
587
|
-
if (parsed.alt) parts.push("Alt");
|
|
588
|
-
if (parsed.shift) parts.push("Shift");
|
|
589
|
-
} else for (const modifier of MODIFIER_ORDER) if (parsed.modifiers.includes(modifier)) parts.push(modifier);
|
|
590
|
-
parts.push(normalizeKeyName(parsed.key));
|
|
591
|
-
return parts.join("+");
|
|
592
|
-
}
|
|
593
|
-
/**
|
|
594
|
-
* Normalizes a hotkey string to its canonical form.
|
|
595
|
-
*
|
|
596
|
-
* - When `Mod` is allowed for the platform (Command on Mac without Control;
|
|
597
|
-
* Control on Windows/Linux without Meta): emits `Mod`, then `Alt`, then `Shift`,
|
|
598
|
-
* then the key (e.g. `Mod+Shift+E`, `Mod+S`).
|
|
599
|
-
* - Otherwise: literal modifiers in `Control+Alt+Shift+Meta` order, then the key.
|
|
600
|
-
* - Resolves aliases and normalizes key casing (e.g. `esc` → `Escape`, `a` → `A`).
|
|
601
|
-
*
|
|
602
|
-
* @param hotkey - The hotkey string to normalize
|
|
603
|
-
* @param platform - The target platform for resolving `Mod` (defaults to auto-detection)
|
|
604
|
-
* @returns The normalized hotkey string
|
|
605
|
-
*
|
|
606
|
-
* @example
|
|
607
|
-
* ```ts
|
|
608
|
-
* normalizeHotkey('shift+meta+e', 'mac') // 'Mod+Shift+E'
|
|
609
|
-
* normalizeHotkey('ctrl+a', 'windows') // 'Mod+A'
|
|
610
|
-
* normalizeHotkey('esc') // 'Escape'
|
|
611
|
-
* ```
|
|
612
|
-
*/
|
|
613
|
-
function normalizeHotkey(hotkey, platform = detectPlatform()) {
|
|
614
|
-
return normalizedHotkeyStringFromParsed(parseHotkey(hotkey, platform), platform);
|
|
615
|
-
}
|
|
616
|
-
/**
|
|
617
|
-
* Same canonical string as {@link normalizeHotkey}, but from an already-parsed hotkey.
|
|
618
|
-
*/
|
|
619
|
-
function normalizeHotkeyFromParsed(parsed, platform = detectPlatform()) {
|
|
620
|
-
return normalizedHotkeyStringFromParsed(parsed, platform);
|
|
621
|
-
}
|
|
622
|
-
/**
|
|
623
|
-
* Normalizes a string or {@link RawHotkey} object to the same canonical hotkey string.
|
|
624
|
-
* Use this in framework adapters instead of branching on `formatHotkey(rawHotkeyToParsedHotkey(...))`.
|
|
625
|
-
*/
|
|
626
|
-
function normalizeRegisterableHotkey(hotkey, platform = detectPlatform()) {
|
|
627
|
-
return typeof hotkey === "string" ? normalizeHotkey(hotkey, platform) : normalizeHotkeyFromParsed(rawHotkeyToParsedHotkey(hotkey, platform), platform);
|
|
628
|
-
}
|
|
629
|
-
/**
|
|
630
|
-
* Checks if a string is a recognized modifier token (including aliases).
|
|
631
|
-
*
|
|
632
|
-
* For a `KeyboardEvent`, use `isModifier(normalizeKeyName(event.key))` so DOM
|
|
633
|
-
* spellings like `OS` / `Win` match the same alias table.
|
|
634
|
-
*
|
|
635
|
-
* @param key - Key name or alias (e.g. from a hotkey string or `event.key`)
|
|
636
|
-
* @returns True if the string is a recognized modifier
|
|
637
|
-
*/
|
|
638
|
-
function isModifierKey(key) {
|
|
639
|
-
return key in MODIFIER_ALIASES || key.toLowerCase() in MODIFIER_ALIASES;
|
|
640
|
-
}
|
|
641
|
-
//#endregion
|
|
642
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/format.js
|
|
643
|
-
/**
|
|
644
|
-
* Converts a ParsedHotkey back to a hotkey string.
|
|
645
|
-
*
|
|
646
|
-
* @param parsed - The parsed hotkey object
|
|
647
|
-
* @returns A hotkey string in canonical form
|
|
648
|
-
*
|
|
649
|
-
* @example
|
|
650
|
-
* ```ts
|
|
651
|
-
* formatHotkey({ key: 'S', ctrl: true, shift: true, alt: false, meta: false, modifiers: ['Control', 'Shift'] })
|
|
652
|
-
* // Returns: 'Control+Shift+S'
|
|
653
|
-
* ```
|
|
654
|
-
*/
|
|
655
|
-
function formatHotkey(parsed) {
|
|
656
|
-
const parts = [];
|
|
657
|
-
for (const modifier of MODIFIER_ORDER) if (parsed.modifiers.includes(modifier)) parts.push(modifier);
|
|
658
|
-
parts.push(parsed.key);
|
|
659
|
-
return parts.join("+");
|
|
660
|
-
}
|
|
661
|
-
/**
|
|
662
|
-
* Formats a hotkey for display in a user interface.
|
|
663
|
-
*
|
|
664
|
-
* On macOS, uses symbols (⌘⇧S) in the same modifier order as {@link normalizeHotkeyFromParsed}.
|
|
665
|
-
* On Windows/Linux, uses text (Ctrl+Shift+S) with `+` separators.
|
|
666
|
-
* The separator can be customized with `separatorToken`.
|
|
667
|
-
*
|
|
668
|
-
* @param hotkey - The hotkey string or ParsedHotkey to format
|
|
669
|
-
* @param options - Formatting options
|
|
670
|
-
* @returns A formatted string suitable for display
|
|
671
|
-
*
|
|
672
|
-
* @example
|
|
673
|
-
* ```ts
|
|
674
|
-
* formatForDisplay('Mod+Shift+S', { platform: 'mac' })
|
|
675
|
-
* // Returns: '⌘ ⇧ S' (symbols separated by spaces on macOS)
|
|
676
|
-
*
|
|
677
|
-
* formatForDisplay('Mod+Shift+S', { platform: 'windows' })
|
|
678
|
-
* // Returns: 'Ctrl+Shift+S'
|
|
679
|
-
*
|
|
680
|
-
* formatForDisplay('Escape')
|
|
681
|
-
* // Returns: 'Esc' (on all platforms)
|
|
682
|
-
* ```
|
|
683
|
-
*/
|
|
684
|
-
function formatForDisplay(hotkey, options = {}) {
|
|
685
|
-
const platform = options.platform ?? detectPlatform();
|
|
686
|
-
const useSymbols = options.useSymbols ?? true;
|
|
687
|
-
const separatorToken = options.separatorToken ?? (platform === "mac" && useSymbols ? " " : "+");
|
|
688
|
-
return normalizeRegisterableHotkey(hotkey, platform).split("+").map((segment) => {
|
|
689
|
-
if (isModifierKey(segment)) {
|
|
690
|
-
const modifierToken = MODIFIER_ALIASES[segment] ?? MODIFIER_ALIASES[segment.toLowerCase()];
|
|
691
|
-
return platform === "mac" ? useSymbols ? MAC_MODIFIER_SYMBOLS[modifierToken] : MAC_MODIFIER_LABELS[modifierToken] : platform === "windows" ? WINDOWS_MODIFIER_LABELS[modifierToken] : LINUX_MODIFIER_LABELS[modifierToken];
|
|
692
|
-
} else {
|
|
693
|
-
const keyDisplaySymbol = useSymbols && KEY_DISPLAY_SYMBOLS[segment];
|
|
694
|
-
if (keyDisplaySymbol) return keyDisplaySymbol;
|
|
695
|
-
return !useSymbols && PUNCTUATION_KEY_DISPLAY_LABELS[segment] || segment;
|
|
696
|
-
}
|
|
697
|
-
}).join(separatorToken);
|
|
698
|
-
}
|
|
699
|
-
//#endregion
|
|
700
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/match.js
|
|
701
|
-
/**
|
|
702
|
-
* Checks if a KeyboardEvent matches a hotkey.
|
|
703
|
-
*
|
|
704
|
-
* Uses the `key` property from KeyboardEvent for matching, with a fallback to `code`
|
|
705
|
-
* for letter keys, digit keys (0-9), and punctuation keys when `key` produces special
|
|
706
|
-
* characters (e.g., macOS Option+letter, Shift+number, or Option+punctuation).
|
|
707
|
-
* Letter keys are matched case-insensitively.
|
|
708
|
-
*
|
|
709
|
-
* Also handles "dead key" events where `event.key` is `'Dead'` instead of the expected
|
|
710
|
-
* character. This commonly occurs on macOS with Option+letter combinations (e.g., Option+E,
|
|
711
|
-
* Option+I, Option+U, Option+N) and on Windows/Linux with international keyboard layouts.
|
|
712
|
-
* In these cases, `event.code` is used to determine the physical key.
|
|
713
|
-
*
|
|
714
|
-
* @param event - The KeyboardEvent to check
|
|
715
|
-
* @param hotkey - The hotkey string or ParsedHotkey to match against
|
|
716
|
-
* @param platform - The target platform for resolving 'Mod' (defaults to auto-detection)
|
|
717
|
-
* @returns True if the event matches the hotkey
|
|
718
|
-
*
|
|
719
|
-
* @example
|
|
720
|
-
* ```ts
|
|
721
|
-
* document.addEventListener('keydown', (event) => {
|
|
722
|
-
* if (matchesKeyboardEvent(event, 'Mod+S')) {
|
|
723
|
-
* event.preventDefault()
|
|
724
|
-
* handleSave()
|
|
725
|
-
* }
|
|
726
|
-
* })
|
|
727
|
-
* ```
|
|
728
|
-
*/
|
|
729
|
-
function matchesKeyboardEvent(event, hotkey, platform = detectPlatform()) {
|
|
730
|
-
const parsed = typeof hotkey === "string" ? parseHotkey(hotkey, platform) : hotkey;
|
|
731
|
-
if (event.ctrlKey !== parsed.ctrl) return false;
|
|
732
|
-
if (event.shiftKey !== parsed.shift) return false;
|
|
733
|
-
if (event.altKey !== parsed.alt) return false;
|
|
734
|
-
if (event.metaKey !== parsed.meta) return false;
|
|
735
|
-
const eventKey = normalizeKeyName(event.key);
|
|
736
|
-
const hotkeyKey = parsed.key;
|
|
737
|
-
if (eventKey !== "Dead" && eventKey.length === 1 && hotkeyKey.length === 1) {
|
|
738
|
-
if (eventKey.toUpperCase() === hotkeyKey.toUpperCase()) return true;
|
|
739
|
-
if (isSingleLetterKey(eventKey) && (/^[A-Za-z]$/.test(eventKey) || !event.altKey)) return false;
|
|
740
|
-
}
|
|
741
|
-
if (event.code && (eventKey === "Dead" || eventKey.length === 1 && hotkeyKey.length === 1)) {
|
|
742
|
-
if (event.code.startsWith("Key")) {
|
|
743
|
-
const codeLetter = event.code.slice(3);
|
|
744
|
-
if (codeLetter.length === 1 && /^[A-Za-z]$/.test(codeLetter)) return codeLetter.toUpperCase() === hotkeyKey.toUpperCase();
|
|
745
|
-
}
|
|
746
|
-
if (event.code.startsWith("Digit")) {
|
|
747
|
-
const codeDigit = event.code.slice(5);
|
|
748
|
-
if (codeDigit.length === 1 && /^[0-9]$/.test(codeDigit)) return codeDigit === hotkeyKey;
|
|
749
|
-
}
|
|
750
|
-
if (event.code in PUNCTUATION_CODE_MAP) return PUNCTUATION_CODE_MAP[event.code] === hotkeyKey;
|
|
751
|
-
return false;
|
|
752
|
-
}
|
|
753
|
-
return eventKey === hotkeyKey;
|
|
754
|
-
}
|
|
755
|
-
//#endregion
|
|
756
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/manager.utils.js
|
|
757
|
-
/**
|
|
758
|
-
* Default options for hotkey/sequence registration.
|
|
759
|
-
* Omitted: platform, target (resolved at registration), requireReset (HotkeyManager only).
|
|
760
|
-
*/
|
|
761
|
-
var defaultHotkeyOptions = {
|
|
762
|
-
preventDefault: true,
|
|
763
|
-
stopPropagation: true,
|
|
764
|
-
eventType: "keydown",
|
|
765
|
-
enabled: true,
|
|
766
|
-
ignoreInputs: true,
|
|
767
|
-
conflictBehavior: "warn"
|
|
768
|
-
};
|
|
769
|
-
/**
|
|
770
|
-
* Computes the default ignoreInputs value based on the hotkey.
|
|
771
|
-
* Ctrl/Meta shortcuts and Escape fire in inputs; single keys and Shift/Alt combos are ignored.
|
|
772
|
-
*/
|
|
773
|
-
function getDefaultIgnoreInputs(parsedHotkey) {
|
|
774
|
-
if (parsedHotkey.ctrl || parsedHotkey.meta) return false;
|
|
775
|
-
if (parsedHotkey.key === "Escape") return false;
|
|
776
|
-
return true;
|
|
777
|
-
}
|
|
778
|
-
/**
|
|
779
|
-
* Checks if an element is an input-like element that should be ignored for hotkeys.
|
|
780
|
-
*
|
|
781
|
-
* This includes:
|
|
782
|
-
* - HTMLInputElement (all input types except button, submit, reset)
|
|
783
|
-
* - HTMLTextAreaElement
|
|
784
|
-
* - HTMLSelectElement
|
|
785
|
-
* - Elements with contentEditable enabled
|
|
786
|
-
*
|
|
787
|
-
* Button-type inputs (button, submit, reset) are excluded so hotkeys like
|
|
788
|
-
* Mod+S and Escape fire when the user has tabbed to a form button.
|
|
789
|
-
*/
|
|
790
|
-
function isInputElement(element) {
|
|
791
|
-
if (!element) return false;
|
|
792
|
-
if (element instanceof HTMLInputElement) {
|
|
793
|
-
const type = element.type.toLowerCase();
|
|
794
|
-
if (type === "button" || type === "submit" || type === "reset") return false;
|
|
795
|
-
return true;
|
|
796
|
-
}
|
|
797
|
-
if (element instanceof HTMLTextAreaElement || element instanceof HTMLSelectElement) return true;
|
|
798
|
-
if (element instanceof HTMLElement && element.isContentEditable) return true;
|
|
799
|
-
return false;
|
|
800
|
-
}
|
|
801
|
-
/**
|
|
802
|
-
* Returns the focused element for the document associated with where hotkey
|
|
803
|
-
* listeners are attached (listener root). Use this instead of the global
|
|
804
|
-
* `document.activeElement` so registrations scoped to an iframe (or another
|
|
805
|
-
* document) read focus from the correct tree.
|
|
806
|
-
*/
|
|
807
|
-
function getActiveElementForListenerTarget(target) {
|
|
808
|
-
if (typeof document === "undefined") return null;
|
|
809
|
-
if (typeof Document !== "undefined" && target instanceof Document || typeof Node !== "undefined" && target.nodeType === Node.DOCUMENT_NODE) return target.activeElement;
|
|
810
|
-
if (typeof HTMLElement !== "undefined" && target instanceof HTMLElement) return target.ownerDocument.activeElement ?? null;
|
|
811
|
-
return target.document.activeElement ?? null;
|
|
812
|
-
}
|
|
813
|
-
/**
|
|
814
|
-
* Returns whether an event should be ignored because it originated from an
|
|
815
|
-
* input-like element other than the registration target.
|
|
816
|
-
*
|
|
817
|
-
* This checks:
|
|
818
|
-
* - the currently focused element for the listener target
|
|
819
|
-
* - the event's composed path (for shadow DOM)
|
|
820
|
-
* - the event target as a final fallback
|
|
821
|
-
*/
|
|
822
|
-
function shouldIgnoreInputEvent(event, listenerTarget, registrationTarget) {
|
|
823
|
-
const focused = getActiveElementForListenerTarget(listenerTarget);
|
|
824
|
-
if (focused && isInputElement(focused) && focused !== registrationTarget) return true;
|
|
825
|
-
if (event.composedPath().some((element) => isInputElement(element) && element !== registrationTarget)) return true;
|
|
826
|
-
return isInputElement(event.target) && event.target !== registrationTarget;
|
|
827
|
-
}
|
|
828
|
-
/**
|
|
829
|
-
* Checks if an event is for the given target (originated from or bubbled to it).
|
|
830
|
-
*
|
|
831
|
-
* For document/window targets, also accepts document.documentElement as currentTarget
|
|
832
|
-
* to handle Brave and other browsers where currentTarget may be documentElement
|
|
833
|
-
* instead of document when listeners are attached to document.
|
|
834
|
-
*/
|
|
835
|
-
function isEventForTarget(event, target) {
|
|
836
|
-
if (target === document || target === window) return event.currentTarget === target || event.currentTarget === document.documentElement;
|
|
837
|
-
if (target === window) return event.currentTarget === window || event.currentTarget === document || event.currentTarget === document.documentElement;
|
|
838
|
-
if (target instanceof HTMLElement) {
|
|
839
|
-
if (event.currentTarget === target) return true;
|
|
840
|
-
if (event.target instanceof Node && target.contains(event.target)) return true;
|
|
841
|
-
}
|
|
842
|
-
return false;
|
|
843
|
-
}
|
|
844
|
-
/**
|
|
845
|
-
* Handles conflicts between registrations based on conflict behavior.
|
|
846
|
-
*
|
|
847
|
-
* @param conflictingId - The ID of the conflicting registration
|
|
848
|
-
* @param keyDisplay - Display string for the conflicting key/sequence (for error messages)
|
|
849
|
-
* @param conflictBehavior - How to handle the conflict
|
|
850
|
-
* @param unregister - Function to unregister by ID
|
|
851
|
-
*/
|
|
852
|
-
function handleConflict(conflictingId, keyDisplay, conflictBehavior, unregister) {
|
|
853
|
-
if (conflictBehavior === "allow") return;
|
|
854
|
-
if (conflictBehavior === "warn") {
|
|
855
|
-
console.warn(`'${keyDisplay}' is already registered. Multiple handlers will be triggered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to suppress this warning.`);
|
|
856
|
-
return;
|
|
857
|
-
}
|
|
858
|
-
if (conflictBehavior === "error") throw new Error(`'${keyDisplay}' is already registered. Use conflictBehavior: 'replace' to replace the existing handler, or conflictBehavior: 'allow' to allow multiple registrations.`);
|
|
859
|
-
unregister(conflictingId);
|
|
860
|
-
}
|
|
861
|
-
//#endregion
|
|
862
|
-
//#region node_modules/.pnpm/@tanstack+store@0.11.0/node_modules/@tanstack/store/dist/alien.js
|
|
863
|
-
var ReactiveFlags = /* @__PURE__ */ function(ReactiveFlags) {
|
|
864
|
-
ReactiveFlags[ReactiveFlags["None"] = 0] = "None";
|
|
865
|
-
ReactiveFlags[ReactiveFlags["Mutable"] = 1] = "Mutable";
|
|
866
|
-
ReactiveFlags[ReactiveFlags["Watching"] = 2] = "Watching";
|
|
867
|
-
ReactiveFlags[ReactiveFlags["RecursedCheck"] = 4] = "RecursedCheck";
|
|
868
|
-
ReactiveFlags[ReactiveFlags["Recursed"] = 8] = "Recursed";
|
|
869
|
-
ReactiveFlags[ReactiveFlags["Dirty"] = 16] = "Dirty";
|
|
870
|
-
ReactiveFlags[ReactiveFlags["Pending"] = 32] = "Pending";
|
|
871
|
-
return ReactiveFlags;
|
|
872
|
-
}({});
|
|
873
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
874
|
-
function createReactiveSystem({ update, notify, unwatched }) {
|
|
875
|
-
return {
|
|
876
|
-
link,
|
|
877
|
-
unlink,
|
|
878
|
-
propagate,
|
|
879
|
-
checkDirty,
|
|
880
|
-
shallowPropagate
|
|
881
|
-
};
|
|
882
|
-
function link(dep, sub, version) {
|
|
883
|
-
const prevDep = sub.depsTail;
|
|
884
|
-
if (prevDep !== void 0 && prevDep.dep === dep) return;
|
|
885
|
-
const nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps;
|
|
886
|
-
if (nextDep !== void 0 && nextDep.dep === dep) {
|
|
887
|
-
nextDep.version = version;
|
|
888
|
-
sub.depsTail = nextDep;
|
|
889
|
-
return;
|
|
890
|
-
}
|
|
891
|
-
const prevSub = dep.subsTail;
|
|
892
|
-
if (prevSub !== void 0 && prevSub.version === version && prevSub.sub === sub) return;
|
|
893
|
-
const newLink = sub.depsTail = dep.subsTail = {
|
|
894
|
-
version,
|
|
895
|
-
dep,
|
|
896
|
-
sub,
|
|
897
|
-
prevDep,
|
|
898
|
-
nextDep,
|
|
899
|
-
prevSub,
|
|
900
|
-
nextSub: void 0
|
|
901
|
-
};
|
|
902
|
-
if (nextDep !== void 0) nextDep.prevDep = newLink;
|
|
903
|
-
if (prevDep !== void 0) prevDep.nextDep = newLink;
|
|
904
|
-
else sub.deps = newLink;
|
|
905
|
-
if (prevSub !== void 0) prevSub.nextSub = newLink;
|
|
906
|
-
else dep.subs = newLink;
|
|
907
|
-
}
|
|
908
|
-
function unlink(link, sub = link.sub) {
|
|
909
|
-
const dep = link.dep;
|
|
910
|
-
const prevDep = link.prevDep;
|
|
911
|
-
const nextDep = link.nextDep;
|
|
912
|
-
const nextSub = link.nextSub;
|
|
913
|
-
const prevSub = link.prevSub;
|
|
914
|
-
if (nextDep !== void 0) nextDep.prevDep = prevDep;
|
|
915
|
-
else sub.depsTail = prevDep;
|
|
916
|
-
if (prevDep !== void 0) prevDep.nextDep = nextDep;
|
|
917
|
-
else sub.deps = nextDep;
|
|
918
|
-
if (nextSub !== void 0) nextSub.prevSub = prevSub;
|
|
919
|
-
else dep.subsTail = prevSub;
|
|
920
|
-
if (prevSub !== void 0) prevSub.nextSub = nextSub;
|
|
921
|
-
else if ((dep.subs = nextSub) === void 0) unwatched(dep);
|
|
922
|
-
return nextDep;
|
|
923
|
-
}
|
|
924
|
-
function propagate(link) {
|
|
925
|
-
let next = link.nextSub;
|
|
926
|
-
let stack;
|
|
927
|
-
top: do {
|
|
928
|
-
const sub = link.sub;
|
|
929
|
-
let flags = sub.flags;
|
|
930
|
-
if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed | ReactiveFlags.Dirty | ReactiveFlags.Pending))) sub.flags = flags | ReactiveFlags.Pending;
|
|
931
|
-
else if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed))) flags = ReactiveFlags.None;
|
|
932
|
-
else if (!(flags & ReactiveFlags.RecursedCheck)) sub.flags = flags & ~ReactiveFlags.Recursed | ReactiveFlags.Pending;
|
|
933
|
-
else if (!(flags & (ReactiveFlags.Dirty | ReactiveFlags.Pending)) && isValidLink(link, sub)) {
|
|
934
|
-
sub.flags = flags | (ReactiveFlags.Recursed | ReactiveFlags.Pending);
|
|
935
|
-
flags &= ReactiveFlags.Mutable;
|
|
936
|
-
} else flags = ReactiveFlags.None;
|
|
937
|
-
if (flags & ReactiveFlags.Watching) notify(sub);
|
|
938
|
-
if (flags & ReactiveFlags.Mutable) {
|
|
939
|
-
const subSubs = sub.subs;
|
|
940
|
-
if (subSubs !== void 0) {
|
|
941
|
-
const nextSub = (link = subSubs).nextSub;
|
|
942
|
-
if (nextSub !== void 0) {
|
|
943
|
-
stack = {
|
|
944
|
-
value: next,
|
|
945
|
-
prev: stack
|
|
946
|
-
};
|
|
947
|
-
next = nextSub;
|
|
948
|
-
}
|
|
949
|
-
continue;
|
|
950
|
-
}
|
|
951
|
-
}
|
|
952
|
-
if ((link = next) !== void 0) {
|
|
953
|
-
next = link.nextSub;
|
|
954
|
-
continue;
|
|
955
|
-
}
|
|
956
|
-
while (stack !== void 0) {
|
|
957
|
-
link = stack.value;
|
|
958
|
-
stack = stack.prev;
|
|
959
|
-
if (link !== void 0) {
|
|
960
|
-
next = link.nextSub;
|
|
961
|
-
continue top;
|
|
962
|
-
}
|
|
963
|
-
}
|
|
964
|
-
break;
|
|
965
|
-
} while (true);
|
|
966
|
-
}
|
|
967
|
-
function checkDirty(link, sub) {
|
|
968
|
-
let stack;
|
|
969
|
-
let checkDepth = 0;
|
|
970
|
-
let dirty = false;
|
|
971
|
-
top: do {
|
|
972
|
-
const dep = link.dep;
|
|
973
|
-
const flags = dep.flags;
|
|
974
|
-
if (sub.flags & ReactiveFlags.Dirty) dirty = true;
|
|
975
|
-
else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) === (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) {
|
|
976
|
-
if (update(dep)) {
|
|
977
|
-
const subs = dep.subs;
|
|
978
|
-
if (subs.nextSub !== void 0) shallowPropagate(subs);
|
|
979
|
-
dirty = true;
|
|
980
|
-
}
|
|
981
|
-
} else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Pending)) === (ReactiveFlags.Mutable | ReactiveFlags.Pending)) {
|
|
982
|
-
if (link.nextSub !== void 0 || link.prevSub !== void 0) stack = {
|
|
983
|
-
value: link,
|
|
984
|
-
prev: stack
|
|
985
|
-
};
|
|
986
|
-
link = dep.deps;
|
|
987
|
-
sub = dep;
|
|
988
|
-
++checkDepth;
|
|
989
|
-
continue;
|
|
990
|
-
}
|
|
991
|
-
if (!dirty) {
|
|
992
|
-
const nextDep = link.nextDep;
|
|
993
|
-
if (nextDep !== void 0) {
|
|
994
|
-
link = nextDep;
|
|
995
|
-
continue;
|
|
996
|
-
}
|
|
997
|
-
}
|
|
998
|
-
while (checkDepth--) {
|
|
999
|
-
const firstSub = sub.subs;
|
|
1000
|
-
const hasMultipleSubs = firstSub.nextSub !== void 0;
|
|
1001
|
-
if (hasMultipleSubs) {
|
|
1002
|
-
link = stack.value;
|
|
1003
|
-
stack = stack.prev;
|
|
1004
|
-
} else link = firstSub;
|
|
1005
|
-
if (dirty) {
|
|
1006
|
-
if (update(sub)) {
|
|
1007
|
-
if (hasMultipleSubs) shallowPropagate(firstSub);
|
|
1008
|
-
sub = link.sub;
|
|
1009
|
-
continue;
|
|
1010
|
-
}
|
|
1011
|
-
dirty = false;
|
|
1012
|
-
} else sub.flags &= ~ReactiveFlags.Pending;
|
|
1013
|
-
sub = link.sub;
|
|
1014
|
-
const nextDep = link.nextDep;
|
|
1015
|
-
if (nextDep !== void 0) {
|
|
1016
|
-
link = nextDep;
|
|
1017
|
-
continue top;
|
|
1018
|
-
}
|
|
1019
|
-
}
|
|
1020
|
-
return dirty;
|
|
1021
|
-
} while (true);
|
|
1022
|
-
}
|
|
1023
|
-
function shallowPropagate(link) {
|
|
1024
|
-
do {
|
|
1025
|
-
const sub = link.sub;
|
|
1026
|
-
const flags = sub.flags;
|
|
1027
|
-
if ((flags & (ReactiveFlags.Pending | ReactiveFlags.Dirty)) === ReactiveFlags.Pending) {
|
|
1028
|
-
sub.flags = flags | ReactiveFlags.Dirty;
|
|
1029
|
-
if ((flags & (ReactiveFlags.Watching | ReactiveFlags.RecursedCheck)) === ReactiveFlags.Watching) notify(sub);
|
|
1030
|
-
}
|
|
1031
|
-
} while ((link = link.nextSub) !== void 0);
|
|
1032
|
-
}
|
|
1033
|
-
function isValidLink(checkLink, sub) {
|
|
1034
|
-
let link = sub.depsTail;
|
|
1035
|
-
while (link !== void 0) {
|
|
1036
|
-
if (link === checkLink) return true;
|
|
1037
|
-
link = link.prevDep;
|
|
1038
|
-
}
|
|
1039
|
-
return false;
|
|
1040
|
-
}
|
|
1041
|
-
}
|
|
1042
|
-
//#endregion
|
|
1043
|
-
//#region node_modules/.pnpm/@tanstack+store@0.11.0/node_modules/@tanstack/store/dist/atom.js
|
|
1044
|
-
function toObserver(nextHandler, errorHandler, completionHandler) {
|
|
1045
|
-
const isObserver = typeof nextHandler === "object";
|
|
1046
|
-
const self = isObserver ? nextHandler : void 0;
|
|
1047
|
-
return {
|
|
1048
|
-
next: (isObserver ? nextHandler.next : nextHandler)?.bind(self),
|
|
1049
|
-
error: (isObserver ? nextHandler.error : errorHandler)?.bind(self),
|
|
1050
|
-
complete: (isObserver ? nextHandler.complete : completionHandler)?.bind(self)
|
|
1051
|
-
};
|
|
1052
|
-
}
|
|
1053
|
-
var queuedEffects = [];
|
|
1054
|
-
var cycle = 0;
|
|
1055
|
-
var { link, unlink, propagate, checkDirty, shallowPropagate } = /* @__PURE__ */ createReactiveSystem({
|
|
1056
|
-
update(atom) {
|
|
1057
|
-
return atom._update();
|
|
1058
|
-
},
|
|
1059
|
-
notify(effect) {
|
|
1060
|
-
queuedEffects[queuedEffectsLength++] = effect;
|
|
1061
|
-
effect.flags &= ~ReactiveFlags.Watching;
|
|
1062
|
-
},
|
|
1063
|
-
unwatched(atom) {
|
|
1064
|
-
if (atom.depsTail !== void 0) {
|
|
1065
|
-
atom.depsTail = void 0;
|
|
1066
|
-
atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;
|
|
1067
|
-
purgeDeps(atom);
|
|
1068
|
-
}
|
|
1069
|
-
}
|
|
1070
|
-
});
|
|
1071
|
-
var notifyIndex = 0;
|
|
1072
|
-
var queuedEffectsLength = 0;
|
|
1073
|
-
var activeSub;
|
|
1074
|
-
var batchDepth = 0;
|
|
1075
|
-
function batch(fn) {
|
|
1076
|
-
try {
|
|
1077
|
-
++batchDepth;
|
|
1078
|
-
fn();
|
|
1079
|
-
} finally {
|
|
1080
|
-
if (!--batchDepth) flush();
|
|
1081
|
-
}
|
|
1082
|
-
}
|
|
1083
|
-
function purgeDeps(sub) {
|
|
1084
|
-
const depsTail = sub.depsTail;
|
|
1085
|
-
let dep = depsTail !== void 0 ? depsTail.nextDep : sub.deps;
|
|
1086
|
-
while (dep !== void 0) dep = unlink(dep, sub);
|
|
1087
|
-
}
|
|
1088
|
-
function flush() {
|
|
1089
|
-
if (batchDepth > 0) return;
|
|
1090
|
-
while (notifyIndex < queuedEffectsLength) {
|
|
1091
|
-
const effect = queuedEffects[notifyIndex];
|
|
1092
|
-
queuedEffects[notifyIndex++] = void 0;
|
|
1093
|
-
effect.notify();
|
|
1094
|
-
}
|
|
1095
|
-
notifyIndex = 0;
|
|
1096
|
-
queuedEffectsLength = 0;
|
|
1097
|
-
}
|
|
1098
|
-
function createAtom(valueOrFn, options) {
|
|
1099
|
-
const isComputed = typeof valueOrFn === "function";
|
|
1100
|
-
const getter = valueOrFn;
|
|
1101
|
-
const atom = {
|
|
1102
|
-
_snapshot: isComputed ? void 0 : valueOrFn,
|
|
1103
|
-
subs: void 0,
|
|
1104
|
-
subsTail: void 0,
|
|
1105
|
-
deps: void 0,
|
|
1106
|
-
depsTail: void 0,
|
|
1107
|
-
flags: isComputed ? ReactiveFlags.None : ReactiveFlags.Mutable,
|
|
1108
|
-
get() {
|
|
1109
|
-
if (activeSub !== void 0) link(atom, activeSub, cycle);
|
|
1110
|
-
return atom._snapshot;
|
|
1111
|
-
},
|
|
1112
|
-
subscribe(observerOrFn) {
|
|
1113
|
-
const obs = toObserver(observerOrFn);
|
|
1114
|
-
const observed = { current: false };
|
|
1115
|
-
const e = effect(() => {
|
|
1116
|
-
atom.get();
|
|
1117
|
-
if (!observed.current) observed.current = true;
|
|
1118
|
-
else obs.next?.(atom._snapshot);
|
|
1119
|
-
});
|
|
1120
|
-
return { unsubscribe: () => {
|
|
1121
|
-
e.stop();
|
|
1122
|
-
} };
|
|
1123
|
-
},
|
|
1124
|
-
_update(getValue) {
|
|
1125
|
-
const prevSub = activeSub;
|
|
1126
|
-
const compare = options?.compare ?? Object.is;
|
|
1127
|
-
if (isComputed) {
|
|
1128
|
-
activeSub = atom;
|
|
1129
|
-
++cycle;
|
|
1130
|
-
atom.depsTail = void 0;
|
|
1131
|
-
} else if (getValue === void 0) return false;
|
|
1132
|
-
if (isComputed) atom.flags = ReactiveFlags.Mutable | ReactiveFlags.RecursedCheck;
|
|
1133
|
-
try {
|
|
1134
|
-
const oldValue = atom._snapshot;
|
|
1135
|
-
const newValue = typeof getValue === "function" ? getValue(oldValue) : getValue === void 0 && isComputed ? getter(oldValue) : getValue;
|
|
1136
|
-
if (oldValue === void 0 || !compare(oldValue, newValue)) {
|
|
1137
|
-
atom._snapshot = newValue;
|
|
1138
|
-
return true;
|
|
1139
|
-
}
|
|
1140
|
-
return false;
|
|
1141
|
-
} finally {
|
|
1142
|
-
activeSub = prevSub;
|
|
1143
|
-
if (isComputed) atom.flags &= ~ReactiveFlags.RecursedCheck;
|
|
1144
|
-
purgeDeps(atom);
|
|
1145
|
-
}
|
|
1146
|
-
}
|
|
1147
|
-
};
|
|
1148
|
-
if (isComputed) {
|
|
1149
|
-
atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;
|
|
1150
|
-
atom.get = function() {
|
|
1151
|
-
const flags = atom.flags;
|
|
1152
|
-
if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(atom.deps, atom)) {
|
|
1153
|
-
if (atom._update()) {
|
|
1154
|
-
const subs = atom.subs;
|
|
1155
|
-
if (subs !== void 0) shallowPropagate(subs);
|
|
1156
|
-
}
|
|
1157
|
-
} else if (flags & ReactiveFlags.Pending) atom.flags = flags & ~ReactiveFlags.Pending;
|
|
1158
|
-
if (activeSub !== void 0) link(atom, activeSub, cycle);
|
|
1159
|
-
return atom._snapshot;
|
|
1160
|
-
};
|
|
1161
|
-
} else atom.set = function(valueOrFn) {
|
|
1162
|
-
if (atom._update(valueOrFn)) {
|
|
1163
|
-
const subs = atom.subs;
|
|
1164
|
-
if (subs !== void 0) {
|
|
1165
|
-
propagate(subs);
|
|
1166
|
-
shallowPropagate(subs);
|
|
1167
|
-
flush();
|
|
1168
|
-
}
|
|
1169
|
-
}
|
|
1170
|
-
};
|
|
1171
|
-
return atom;
|
|
1172
|
-
}
|
|
1173
|
-
function effect(fn) {
|
|
1174
|
-
const run = () => {
|
|
1175
|
-
const prevSub = activeSub;
|
|
1176
|
-
activeSub = effectObj;
|
|
1177
|
-
++cycle;
|
|
1178
|
-
effectObj.depsTail = void 0;
|
|
1179
|
-
effectObj.flags = ReactiveFlags.Watching | ReactiveFlags.RecursedCheck;
|
|
1180
|
-
try {
|
|
1181
|
-
return fn();
|
|
1182
|
-
} finally {
|
|
1183
|
-
activeSub = prevSub;
|
|
1184
|
-
effectObj.flags &= ~ReactiveFlags.RecursedCheck;
|
|
1185
|
-
purgeDeps(effectObj);
|
|
1186
|
-
}
|
|
1187
|
-
};
|
|
1188
|
-
const effectObj = {
|
|
1189
|
-
deps: void 0,
|
|
1190
|
-
depsTail: void 0,
|
|
1191
|
-
subs: void 0,
|
|
1192
|
-
subsTail: void 0,
|
|
1193
|
-
flags: ReactiveFlags.Watching | ReactiveFlags.RecursedCheck,
|
|
1194
|
-
notify() {
|
|
1195
|
-
const flags = this.flags;
|
|
1196
|
-
if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(this.deps, this)) run();
|
|
1197
|
-
else this.flags = ReactiveFlags.Watching;
|
|
1198
|
-
},
|
|
1199
|
-
stop() {
|
|
1200
|
-
this.flags = ReactiveFlags.None;
|
|
1201
|
-
this.depsTail = void 0;
|
|
1202
|
-
purgeDeps(this);
|
|
1203
|
-
}
|
|
1204
|
-
};
|
|
1205
|
-
run();
|
|
1206
|
-
return effectObj;
|
|
1207
|
-
}
|
|
1208
|
-
//#endregion
|
|
1209
|
-
//#region node_modules/.pnpm/@tanstack+store@0.11.0/node_modules/@tanstack/store/dist/store.js
|
|
1210
|
-
var Store = class {
|
|
1211
|
-
constructor(valueOrFn, actionsFactory) {
|
|
1212
|
-
this.atom = createAtom(valueOrFn);
|
|
1213
|
-
this.get = this.get.bind(this);
|
|
1214
|
-
this.setState = this.setState.bind(this);
|
|
1215
|
-
this.subscribe = this.subscribe.bind(this);
|
|
1216
|
-
if (actionsFactory) this.actions = actionsFactory(this);
|
|
1217
|
-
}
|
|
1218
|
-
setState(updater) {
|
|
1219
|
-
this.atom.set(updater);
|
|
1220
|
-
}
|
|
1221
|
-
get state() {
|
|
1222
|
-
return this.atom.get();
|
|
1223
|
-
}
|
|
1224
|
-
get() {
|
|
1225
|
-
return this.state;
|
|
1226
|
-
}
|
|
1227
|
-
subscribe(observerOrFn) {
|
|
1228
|
-
return this.atom.subscribe(toObserver(observerOrFn));
|
|
1229
|
-
}
|
|
1230
|
-
};
|
|
1231
|
-
var ReadonlyStore = class {
|
|
1232
|
-
constructor(valueOrFn) {
|
|
1233
|
-
this.atom = createAtom(valueOrFn);
|
|
1234
|
-
}
|
|
1235
|
-
get state() {
|
|
1236
|
-
return this.atom.get();
|
|
1237
|
-
}
|
|
1238
|
-
get() {
|
|
1239
|
-
return this.state;
|
|
1240
|
-
}
|
|
1241
|
-
subscribe(observerOrFn) {
|
|
1242
|
-
return this.atom.subscribe(toObserver(observerOrFn));
|
|
1243
|
-
}
|
|
1244
|
-
};
|
|
1245
|
-
function createStore(valueOrFn, actions) {
|
|
1246
|
-
if (typeof valueOrFn === "function") return new ReadonlyStore(valueOrFn);
|
|
1247
|
-
if (actions) return new Store(valueOrFn, actions);
|
|
1248
|
-
return new Store(valueOrFn);
|
|
1249
|
-
}
|
|
1250
|
-
//#endregion
|
|
1251
|
-
//#region node_modules/.pnpm/@tanstack+hotkeys@0.8.0/node_modules/@tanstack/hotkeys/dist/hotkey-manager.js
|
|
1252
|
-
var registrationIdCounter = 0;
|
|
1253
|
-
/**
|
|
1254
|
-
* Generates a unique ID for hotkey registrations.
|
|
1255
|
-
*/
|
|
1256
|
-
function generateId() {
|
|
1257
|
-
return `hotkey_${++registrationIdCounter}`;
|
|
1258
|
-
}
|
|
1259
|
-
/**
|
|
1260
|
-
* Singleton manager for hotkey registrations.
|
|
1261
|
-
*
|
|
1262
|
-
* This class provides a centralized way to register and manage keyboard hotkeys.
|
|
1263
|
-
* It uses a single event listener for efficiency, regardless of how many hotkeys
|
|
1264
|
-
* are registered.
|
|
1265
|
-
*
|
|
1266
|
-
* @example
|
|
1267
|
-
* ```ts
|
|
1268
|
-
* const manager = HotkeyManager.getInstance()
|
|
1269
|
-
*
|
|
1270
|
-
* const unregister = manager.register('Mod+S', (event, context) => {
|
|
1271
|
-
* console.log('Save triggered!')
|
|
1272
|
-
* })
|
|
1273
|
-
*
|
|
1274
|
-
* // Later, to unregister:
|
|
1275
|
-
* unregister()
|
|
1276
|
-
* ```
|
|
1277
|
-
*/
|
|
1278
|
-
var HotkeyManager = class HotkeyManager {
|
|
1279
|
-
static #instance = null;
|
|
1280
|
-
#platform;
|
|
1281
|
-
#targetListeners = /* @__PURE__ */ new Map();
|
|
1282
|
-
#targetRegistrations = /* @__PURE__ */ new Map();
|
|
1283
|
-
constructor() {
|
|
1284
|
-
this.registrations = new Store(/* @__PURE__ */ new Map());
|
|
1285
|
-
this.#platform = detectPlatform();
|
|
1286
|
-
}
|
|
1287
|
-
/**
|
|
1288
|
-
* Gets the singleton instance of HotkeyManager.
|
|
1289
|
-
*/
|
|
1290
|
-
static getInstance() {
|
|
1291
|
-
if (!HotkeyManager.#instance) HotkeyManager.#instance = new HotkeyManager();
|
|
1292
|
-
return HotkeyManager.#instance;
|
|
1293
|
-
}
|
|
1294
|
-
/**
|
|
1295
|
-
* Resets the singleton instance. Useful for testing.
|
|
1296
|
-
*/
|
|
1297
|
-
static resetInstance() {
|
|
1298
|
-
if (HotkeyManager.#instance) {
|
|
1299
|
-
HotkeyManager.#instance.destroy();
|
|
1300
|
-
HotkeyManager.#instance = null;
|
|
1301
|
-
}
|
|
1302
|
-
}
|
|
1303
|
-
/**
|
|
1304
|
-
* Registers a hotkey handler and returns a handle for updating the registration.
|
|
1305
|
-
*
|
|
1306
|
-
* The returned handle allows updating the callback and options without
|
|
1307
|
-
* re-registering, which is useful for avoiding stale closures in React.
|
|
1308
|
-
*
|
|
1309
|
-
* @param hotkey - The hotkey string (e.g., 'Mod+S') or RawHotkey object
|
|
1310
|
-
* @param callback - The function to call when the hotkey is pressed
|
|
1311
|
-
* @param options - Options for the hotkey behavior
|
|
1312
|
-
* @returns A handle for managing the registration
|
|
1313
|
-
*
|
|
1314
|
-
* @example
|
|
1315
|
-
* ```ts
|
|
1316
|
-
* const handle = manager.register('Mod+S', callback)
|
|
1317
|
-
*
|
|
1318
|
-
* // Update callback without re-registering (avoids stale closures)
|
|
1319
|
-
* handle.callback = newCallback
|
|
1320
|
-
*
|
|
1321
|
-
* // Update options
|
|
1322
|
-
* handle.setOptions({ enabled: false })
|
|
1323
|
-
*
|
|
1324
|
-
* // Unregister when done
|
|
1325
|
-
* handle.unregister()
|
|
1326
|
-
* ```
|
|
1327
|
-
*/
|
|
1328
|
-
register(hotkey, callback, options = {}) {
|
|
1329
|
-
if (typeof document === "undefined" && !options.target) {
|
|
1330
|
-
let currentCallback = callback;
|
|
1331
|
-
return {
|
|
1332
|
-
id: generateId(),
|
|
1333
|
-
unregister: () => {},
|
|
1334
|
-
get callback() {
|
|
1335
|
-
return currentCallback;
|
|
1336
|
-
},
|
|
1337
|
-
set callback(newCallback) {
|
|
1338
|
-
currentCallback = newCallback;
|
|
1339
|
-
},
|
|
1340
|
-
setOptions: () => {},
|
|
1341
|
-
get isActive() {
|
|
1342
|
-
return false;
|
|
1343
|
-
}
|
|
1344
|
-
};
|
|
1345
|
-
}
|
|
1346
|
-
const id = generateId();
|
|
1347
|
-
const platform = options.platform ?? this.#platform;
|
|
1348
|
-
const parsedHotkey = typeof hotkey === "string" ? parseHotkey(hotkey, platform) : rawHotkeyToParsedHotkey(hotkey, platform);
|
|
1349
|
-
const hotkeyStr = typeof hotkey === "string" ? hotkey : formatHotkey(parsedHotkey);
|
|
1350
|
-
const target = options.target ?? document;
|
|
1351
|
-
const conflictBehavior = options.conflictBehavior ?? "warn";
|
|
1352
|
-
const conflictingRegistration = this.#findConflictingRegistration(hotkeyStr, target);
|
|
1353
|
-
if (conflictingRegistration) handleConflict(conflictingRegistration.id, hotkeyStr, conflictBehavior, (id) => this.#unregister(id));
|
|
1354
|
-
const resolvedIgnoreInputs = options.ignoreInputs ?? getDefaultIgnoreInputs(parsedHotkey);
|
|
1355
|
-
const registration = {
|
|
1356
|
-
id,
|
|
1357
|
-
hotkey: hotkeyStr,
|
|
1358
|
-
parsedHotkey,
|
|
1359
|
-
callback,
|
|
1360
|
-
options: {
|
|
1361
|
-
...defaultHotkeyOptions,
|
|
1362
|
-
requireReset: false,
|
|
1363
|
-
...options,
|
|
1364
|
-
platform,
|
|
1365
|
-
ignoreInputs: resolvedIgnoreInputs
|
|
1366
|
-
},
|
|
1367
|
-
hasFired: false,
|
|
1368
|
-
triggerCount: 0,
|
|
1369
|
-
target
|
|
1370
|
-
};
|
|
1371
|
-
this.registrations.setState((prev) => new Map(prev).set(id, registration));
|
|
1372
|
-
if (!this.#targetRegistrations.has(target)) this.#targetRegistrations.set(target, /* @__PURE__ */ new Set());
|
|
1373
|
-
this.#targetRegistrations.get(target).add(id);
|
|
1374
|
-
this.#ensureListenersForTarget(target);
|
|
1375
|
-
const manager = this;
|
|
1376
|
-
return {
|
|
1377
|
-
get id() {
|
|
1378
|
-
return id;
|
|
1379
|
-
},
|
|
1380
|
-
unregister: () => {
|
|
1381
|
-
manager.#unregister(id);
|
|
1382
|
-
},
|
|
1383
|
-
get callback() {
|
|
1384
|
-
return manager.registrations.state.get(id)?.callback ?? callback;
|
|
1385
|
-
},
|
|
1386
|
-
set callback(newCallback) {
|
|
1387
|
-
const reg = manager.registrations.state.get(id);
|
|
1388
|
-
if (reg) reg.callback = newCallback;
|
|
1389
|
-
},
|
|
1390
|
-
setOptions: (newOptions) => {
|
|
1391
|
-
manager.registrations.setState((prev) => {
|
|
1392
|
-
const reg = prev.get(id);
|
|
1393
|
-
if (reg) {
|
|
1394
|
-
const next = new Map(prev);
|
|
1395
|
-
next.set(id, {
|
|
1396
|
-
...reg,
|
|
1397
|
-
options: {
|
|
1398
|
-
...reg.options,
|
|
1399
|
-
...newOptions
|
|
1400
|
-
}
|
|
1401
|
-
});
|
|
1402
|
-
return next;
|
|
1403
|
-
}
|
|
1404
|
-
return prev;
|
|
1405
|
-
});
|
|
1406
|
-
},
|
|
1407
|
-
get isActive() {
|
|
1408
|
-
return manager.registrations.state.has(id);
|
|
1409
|
-
}
|
|
1410
|
-
};
|
|
1411
|
-
}
|
|
1412
|
-
/**
|
|
1413
|
-
* Unregisters a hotkey by its registration ID.
|
|
1414
|
-
*/
|
|
1415
|
-
#unregister(id) {
|
|
1416
|
-
const registration = this.registrations.state.get(id);
|
|
1417
|
-
if (!registration) return;
|
|
1418
|
-
const target = registration.target;
|
|
1419
|
-
this.registrations.setState((prev) => {
|
|
1420
|
-
const next = new Map(prev);
|
|
1421
|
-
next.delete(id);
|
|
1422
|
-
return next;
|
|
1423
|
-
});
|
|
1424
|
-
const targetRegs = this.#targetRegistrations.get(target);
|
|
1425
|
-
if (targetRegs) {
|
|
1426
|
-
targetRegs.delete(id);
|
|
1427
|
-
if (targetRegs.size === 0) this.#removeListenersForTarget(target);
|
|
1428
|
-
}
|
|
1429
|
-
}
|
|
1430
|
-
/**
|
|
1431
|
-
* Ensures event listeners are attached for a specific target.
|
|
1432
|
-
*/
|
|
1433
|
-
#ensureListenersForTarget(target) {
|
|
1434
|
-
if (typeof document === "undefined") return;
|
|
1435
|
-
if (this.#targetListeners.has(target)) return;
|
|
1436
|
-
const keydownHandler = this.#createTargetKeyDownHandler(target);
|
|
1437
|
-
const keyupHandler = this.#createTargetKeyUpHandler(target);
|
|
1438
|
-
target.addEventListener("keydown", keydownHandler);
|
|
1439
|
-
target.addEventListener("keyup", keyupHandler);
|
|
1440
|
-
this.#targetListeners.set(target, {
|
|
1441
|
-
keydown: keydownHandler,
|
|
1442
|
-
keyup: keyupHandler
|
|
1443
|
-
});
|
|
1444
|
-
}
|
|
1445
|
-
/**
|
|
1446
|
-
* Removes event listeners for a specific target.
|
|
1447
|
-
*/
|
|
1448
|
-
#removeListenersForTarget(target) {
|
|
1449
|
-
if (typeof document === "undefined") return;
|
|
1450
|
-
const listeners = this.#targetListeners.get(target);
|
|
1451
|
-
if (!listeners) return;
|
|
1452
|
-
target.removeEventListener("keydown", listeners.keydown);
|
|
1453
|
-
target.removeEventListener("keyup", listeners.keyup);
|
|
1454
|
-
this.#targetListeners.delete(target);
|
|
1455
|
-
this.#targetRegistrations.delete(target);
|
|
1456
|
-
}
|
|
1457
|
-
/**
|
|
1458
|
-
* Processes keyboard events for a specific target and event type.
|
|
1459
|
-
*/
|
|
1460
|
-
#processTargetEvent(event, target, eventType) {
|
|
1461
|
-
const targetRegs = this.#targetRegistrations.get(target);
|
|
1462
|
-
if (!targetRegs) return;
|
|
1463
|
-
for (const id of targetRegs) {
|
|
1464
|
-
const registration = this.registrations.state.get(id);
|
|
1465
|
-
if (!registration) continue;
|
|
1466
|
-
if (!isEventForTarget(event, target)) continue;
|
|
1467
|
-
if (!registration.options.enabled) continue;
|
|
1468
|
-
if (registration.options.ignoreInputs !== false) {
|
|
1469
|
-
if (shouldIgnoreInputEvent(event, target, registration.target)) continue;
|
|
1470
|
-
}
|
|
1471
|
-
if (eventType === "keydown") {
|
|
1472
|
-
if (registration.options.eventType !== "keydown") continue;
|
|
1473
|
-
if (matchesKeyboardEvent(event, registration.parsedHotkey, registration.options.platform)) {
|
|
1474
|
-
if (registration.options.preventDefault) event.preventDefault();
|
|
1475
|
-
if (registration.options.stopPropagation) event.stopPropagation();
|
|
1476
|
-
if (!registration.options.requireReset || !registration.hasFired) {
|
|
1477
|
-
this.#executeHotkeyCallback(registration, event);
|
|
1478
|
-
if (registration.options.requireReset) registration.hasFired = true;
|
|
1479
|
-
}
|
|
1480
|
-
}
|
|
1481
|
-
} else {
|
|
1482
|
-
if (registration.options.eventType === "keyup") {
|
|
1483
|
-
if (matchesKeyboardEvent(event, registration.parsedHotkey, registration.options.platform)) this.#executeHotkeyCallback(registration, event);
|
|
1484
|
-
}
|
|
1485
|
-
if (registration.options.requireReset && registration.hasFired) {
|
|
1486
|
-
if (this.#shouldResetRegistration(registration, event)) registration.hasFired = false;
|
|
1487
|
-
}
|
|
1488
|
-
}
|
|
1489
|
-
}
|
|
1490
|
-
}
|
|
1491
|
-
/**
|
|
1492
|
-
* Executes a hotkey callback with proper event handling.
|
|
1493
|
-
*/
|
|
1494
|
-
#executeHotkeyCallback(registration, event) {
|
|
1495
|
-
if (registration.options.preventDefault) event.preventDefault();
|
|
1496
|
-
if (registration.options.stopPropagation) event.stopPropagation();
|
|
1497
|
-
registration.triggerCount++;
|
|
1498
|
-
this.registrations.setState((prev) => new Map(prev));
|
|
1499
|
-
const context = {
|
|
1500
|
-
hotkey: registration.hotkey,
|
|
1501
|
-
parsedHotkey: registration.parsedHotkey
|
|
1502
|
-
};
|
|
1503
|
-
registration.callback(event, context);
|
|
1504
|
-
}
|
|
1505
|
-
/**
|
|
1506
|
-
* Creates a keydown handler for a specific target.
|
|
1507
|
-
*/
|
|
1508
|
-
#createTargetKeyDownHandler(target) {
|
|
1509
|
-
return (event) => {
|
|
1510
|
-
this.#processTargetEvent(event, target, "keydown");
|
|
1511
|
-
};
|
|
1512
|
-
}
|
|
1513
|
-
/**
|
|
1514
|
-
* Creates a keyup handler for a specific target.
|
|
1515
|
-
*/
|
|
1516
|
-
#createTargetKeyUpHandler(target) {
|
|
1517
|
-
return (event) => {
|
|
1518
|
-
this.#processTargetEvent(event, target, "keyup");
|
|
1519
|
-
};
|
|
1520
|
-
}
|
|
1521
|
-
/**
|
|
1522
|
-
* Finds an existing registration with the same hotkey and target.
|
|
1523
|
-
*/
|
|
1524
|
-
#findConflictingRegistration(hotkey, target) {
|
|
1525
|
-
for (const registration of this.registrations.state.values()) if (registration.hotkey === hotkey && registration.target === target) return registration;
|
|
1526
|
-
return null;
|
|
1527
|
-
}
|
|
1528
|
-
/**
|
|
1529
|
-
* Determines if a registration should be reset based on the keyup event.
|
|
1530
|
-
*/
|
|
1531
|
-
#shouldResetRegistration(registration, event) {
|
|
1532
|
-
const parsed = registration.parsedHotkey;
|
|
1533
|
-
const releasedKey = normalizeKeyName(event.key);
|
|
1534
|
-
const parsedKeyNormalized = parsed.key.length === 1 ? parsed.key.toUpperCase() : parsed.key;
|
|
1535
|
-
if ((releasedKey.length === 1 ? releasedKey.toUpperCase() : releasedKey) === parsedKeyNormalized) return true;
|
|
1536
|
-
if (parsed.ctrl && releasedKey === "Control") return true;
|
|
1537
|
-
if (parsed.shift && releasedKey === "Shift") return true;
|
|
1538
|
-
if (parsed.alt && releasedKey === "Alt") return true;
|
|
1539
|
-
if (parsed.meta && releasedKey === "Meta") return true;
|
|
1540
|
-
return false;
|
|
1541
|
-
}
|
|
1542
|
-
/**
|
|
1543
|
-
* Triggers a registration's callback programmatically from devtools.
|
|
1544
|
-
* Creates a synthetic KeyboardEvent and invokes the callback.
|
|
1545
|
-
*
|
|
1546
|
-
* @param id - The registration ID to trigger
|
|
1547
|
-
* @returns True if the registration was found and triggered
|
|
1548
|
-
*/
|
|
1549
|
-
triggerRegistration(id) {
|
|
1550
|
-
const registration = this.registrations.state.get(id);
|
|
1551
|
-
if (!registration) return false;
|
|
1552
|
-
const parsed = registration.parsedHotkey;
|
|
1553
|
-
const syntheticEvent = new KeyboardEvent(registration.options.eventType ?? "keydown", {
|
|
1554
|
-
key: parsed.key,
|
|
1555
|
-
ctrlKey: parsed.ctrl,
|
|
1556
|
-
shiftKey: parsed.shift,
|
|
1557
|
-
altKey: parsed.alt,
|
|
1558
|
-
metaKey: parsed.meta,
|
|
1559
|
-
bubbles: true,
|
|
1560
|
-
cancelable: true
|
|
1561
|
-
});
|
|
1562
|
-
registration.triggerCount++;
|
|
1563
|
-
this.registrations.setState((prev) => new Map(prev));
|
|
1564
|
-
registration.callback(syntheticEvent, {
|
|
1565
|
-
hotkey: registration.hotkey,
|
|
1566
|
-
parsedHotkey: registration.parsedHotkey
|
|
1567
|
-
});
|
|
1568
|
-
return true;
|
|
1569
|
-
}
|
|
1570
|
-
/**
|
|
1571
|
-
* Gets the number of registered hotkeys.
|
|
1572
|
-
*/
|
|
1573
|
-
getRegistrationCount() {
|
|
1574
|
-
return this.registrations.state.size;
|
|
1575
|
-
}
|
|
1576
|
-
/**
|
|
1577
|
-
* Checks if a specific hotkey is registered.
|
|
1578
|
-
*
|
|
1579
|
-
* @param hotkey - The hotkey string to check
|
|
1580
|
-
* @param target - Optional target element to match (if provided, both hotkey and target must match)
|
|
1581
|
-
* @returns True if a matching registration exists
|
|
1582
|
-
*/
|
|
1583
|
-
isRegistered(hotkey, target) {
|
|
1584
|
-
for (const registration of this.registrations.state.values()) if (registration.hotkey === hotkey) {
|
|
1585
|
-
if (target === void 0 || registration.target === target) return true;
|
|
1586
|
-
}
|
|
1587
|
-
return false;
|
|
1588
|
-
}
|
|
1589
|
-
/**
|
|
1590
|
-
* Destroys the manager and removes all listeners.
|
|
1591
|
-
*/
|
|
1592
|
-
destroy() {
|
|
1593
|
-
for (const target of this.#targetListeners.keys()) this.#removeListenersForTarget(target);
|
|
1594
|
-
this.registrations.setState(() => /* @__PURE__ */ new Map());
|
|
1595
|
-
this.#targetListeners.clear();
|
|
1596
|
-
this.#targetRegistrations.clear();
|
|
1597
|
-
}
|
|
1598
|
-
};
|
|
1599
|
-
/**
|
|
1600
|
-
* Gets the singleton HotkeyManager instance.
|
|
1601
|
-
* Convenience function for accessing the manager.
|
|
1602
|
-
*/
|
|
1603
|
-
function getHotkeyManager() {
|
|
1604
|
-
return HotkeyManager.getInstance();
|
|
1605
|
-
}
|
|
1606
|
-
//#endregion
|
|
1607
|
-
export { matchesKeyboardEvent as a, detectPlatform as c, batch as i, Store as n, formatForDisplay as o, createStore as r, normalizeRegisterableHotkey as s, getHotkeyManager as t };
|