From 0d2c88132bd6c17f2d49bec61338cf1c92cf3497 Mon Sep 17 00:00:00 2001
From: Kevin Van Cott
Date: Fri, 9 Oct 2026 22:08:25 -0500
Subject: [PATCH 1/4] chore(preact-hotkeys): Make unmount tests pass on Preact
11
Co-Authored-By: Claude Opus 5.5 (1M context)
---
packages/preact-hotkeys/tests/useHotkey.test.tsx | 3 ++-
packages/preact-hotkeys/tests/useHotkeySequences.test.tsx | 3 ++-
packages/preact-hotkeys/tests/useHotkeys.test.tsx | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/packages/preact-hotkeys/tests/useHotkey.test.tsx b/packages/preact-hotkeys/tests/useHotkey.test.tsx
index 55cab25c..31d0bd80 100644
--- a/packages/preact-hotkeys/tests/useHotkey.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkey.test.tsx
@@ -5,6 +5,7 @@ import { useRef } from 'preact/hooks'
import { HotkeyManager } from '@tanstack/hotkeys'
import { useHotkey } from '../src/useHotkey'
import type { HotkeyCallback } from '@tanstack/hotkeys'
+import { act } from 'preact/test-utils'
function HotkeyTestComponent({
callback,
@@ -48,7 +49,7 @@ describe('useHotkey', () => {
const removeEventListenerSpy = vi.spyOn(document, 'removeEventListener')
const { unmount } = render()
- unmount()
+ act(() => unmount())
expect(removeEventListenerSpy).toHaveBeenCalledWith(
'keydown',
diff --git a/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx b/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
index 7e0a6997..91b8a815 100644
--- a/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
@@ -4,6 +4,7 @@ import { cleanup, render } from '@testing-library/preact'
import { SequenceManager } from '@tanstack/hotkeys'
import { useHotkeySequences } from '../src/useHotkeySequences'
import type { UseHotkeySequenceDefinition } from '../src/useHotkeySequences'
+import { act } from 'preact/test-utils'
function dispatchKey(key: string) {
document.dispatchEvent(new KeyboardEvent('keydown', { key, bubbles: true }))
@@ -79,7 +80,7 @@ describe('useHotkeySequences', () => {
)
expect(SequenceManager.getInstance().getRegistrationCount()).toBe(2)
- unmount()
+ act(() => unmount())
expect(SequenceManager.getInstance().getRegistrationCount()).toBe(0)
})
diff --git a/packages/preact-hotkeys/tests/useHotkeys.test.tsx b/packages/preact-hotkeys/tests/useHotkeys.test.tsx
index 803bfaee..b8ef7c49 100644
--- a/packages/preact-hotkeys/tests/useHotkeys.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkeys.test.tsx
@@ -4,6 +4,7 @@ import { cleanup, render } from '@testing-library/preact'
import { HotkeyManager } from '@tanstack/hotkeys'
import { useHotkeys } from '../src/useHotkeys'
import type { UseHotkeyDefinition } from '../src/useHotkeys'
+import { act } from 'preact/test-utils'
function MultiHotkeyComponent({
definitions,
@@ -93,7 +94,7 @@ describe('useHotkeys', () => {
const manager = HotkeyManager.getInstance()
expect(manager.getRegistrationCount()).toBe(2)
- unmount()
+ act(() => unmount())
expect(manager.getRegistrationCount()).toBe(0)
})
From 3a835925015daa1687101a13df803fdd79fdfa2a Mon Sep 17 00:00:00 2001
From: Kevin Van Cott
Date: Fri, 9 Oct 2026 22:19:28 -0500
Subject: [PATCH 2/4] chore(preact-hotkeys): Require preact-store 0.13.5 and
fix act callback types
Co-Authored-By: Claude Opus 5.5 (1M context)
---
.changeset/preact-hotkeys-preact-store-0-13-5.md | 5 +++++
packages/preact-hotkeys/package.json | 2 +-
packages/preact-hotkeys/tests/useHotkey.test.tsx | 4 +++-
.../preact-hotkeys/tests/useHotkeySequences.test.tsx | 4 +++-
packages/preact-hotkeys/tests/useHotkeys.test.tsx | 4 +++-
pnpm-lock.yaml | 12 ++++++------
pnpm-workspace.yaml | 2 ++
7 files changed, 23 insertions(+), 10 deletions(-)
create mode 100644 .changeset/preact-hotkeys-preact-store-0-13-5.md
diff --git a/.changeset/preact-hotkeys-preact-store-0-13-5.md b/.changeset/preact-hotkeys-preact-store-0-13-5.md
new file mode 100644
index 00000000..a724f79e
--- /dev/null
+++ b/.changeset/preact-hotkeys-preact-store-0-13-5.md
@@ -0,0 +1,5 @@
+---
+'@tanstack/preact-hotkeys': patch
+---
+
+Require `@tanstack/preact-store` `^0.13.5`, the first version whose `preact` peer range allows Preact 11.
diff --git a/packages/preact-hotkeys/package.json b/packages/preact-hotkeys/package.json
index d4b7b54c..f8e9c4c5 100644
--- a/packages/preact-hotkeys/package.json
+++ b/packages/preact-hotkeys/package.json
@@ -45,7 +45,7 @@
],
"dependencies": {
"@tanstack/hotkeys": "workspace:*",
- "@tanstack/preact-store": "^0.13.4"
+ "@tanstack/preact-store": "^0.13.5"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/packages/preact-hotkeys/tests/useHotkey.test.tsx b/packages/preact-hotkeys/tests/useHotkey.test.tsx
index 31d0bd80..fad48ab0 100644
--- a/packages/preact-hotkeys/tests/useHotkey.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkey.test.tsx
@@ -49,7 +49,9 @@ describe('useHotkey', () => {
const removeEventListenerSpy = vi.spyOn(document, 'removeEventListener')
const { unmount } = render()
- act(() => unmount())
+ act(() => {
+ unmount()
+ })
expect(removeEventListenerSpy).toHaveBeenCalledWith(
'keydown',
diff --git a/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx b/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
index 91b8a815..d017513a 100644
--- a/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkeySequences.test.tsx
@@ -80,7 +80,9 @@ describe('useHotkeySequences', () => {
)
expect(SequenceManager.getInstance().getRegistrationCount()).toBe(2)
- act(() => unmount())
+ act(() => {
+ unmount()
+ })
expect(SequenceManager.getInstance().getRegistrationCount()).toBe(0)
})
diff --git a/packages/preact-hotkeys/tests/useHotkeys.test.tsx b/packages/preact-hotkeys/tests/useHotkeys.test.tsx
index b8ef7c49..2d1f5a20 100644
--- a/packages/preact-hotkeys/tests/useHotkeys.test.tsx
+++ b/packages/preact-hotkeys/tests/useHotkeys.test.tsx
@@ -94,7 +94,9 @@ describe('useHotkeys', () => {
const manager = HotkeyManager.getInstance()
expect(manager.getRegistrationCount()).toBe(2)
- act(() => unmount())
+ act(() => {
+ unmount()
+ })
expect(manager.getRegistrationCount()).toBe(0)
})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 088670a1..f8b49dfa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -3533,8 +3533,8 @@ importers:
specifier: workspace:*
version: link:../hotkeys
'@tanstack/preact-store':
- specifier: ^0.13.4
- version: 0.13.4(preact@10.29.8)
+ specifier: ^0.13.5
+ version: 0.13.5(preact@10.29.8)
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
@@ -8300,10 +8300,10 @@ packages:
peerDependencies:
preact: '>=10.0.0'
- '@tanstack/preact-store@0.13.4':
- resolution: {integrity: sha512-Gz5O1Y5jaQPPzranmnUKAMCNoqLDBuxFGSH9XsdquhUAfdy9JR68RohiQ/uNzDiGRe8t5ODaGYOXMWjF+JHNPA==}
+ '@tanstack/preact-store@0.13.5':
+ resolution: {integrity: sha512-+ONKQNVqoGBpCbvahHjW39d28vwBVNRUa927m5owRQS6fySTORPKbOV6HYBXt0qHxOA8r0llg1Bfy/FKXsj3qw==}
peerDependencies:
- preact: ^10.0.0
+ preact: ^10.0.0 || ^11.0.0-0
'@tanstack/react-devtools@0.10.13':
resolution: {integrity: sha512-r0cdB/14+st2Vxl/1Bodlyq4VC8pf9SykLQDYbGHDc1+V146WQo5B3KlYLkfyxD9Q/6+9NPRQHZyl8fvZVMdRA==}
@@ -19288,7 +19288,7 @@ snapshots:
- solid-js
- utf-8-validate
- '@tanstack/preact-store@0.13.4(preact@10.29.8)':
+ '@tanstack/preact-store@0.13.5(preact@10.29.8)':
dependencies:
'@tanstack/store': 0.11.2
preact: 10.29.8
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 6458ad5e..30b69920 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -14,6 +14,8 @@ minimumReleaseAgeExclude:
# octane adapter upgrade: published less than 24 hours ago
- octane@0.12.1
- '@tanstack/octane-store@0.13.0'
+ # Preact 11 peer support: published less than 24 hours ago
+ - '@tanstack/preact-store@0.13.5'
packages:
- 'examples/**/*'
- 'packages/*'
From b876184b97251571204e82744977ed4c0cc9b649 Mon Sep 17 00:00:00 2001
From: Kevin Van Cott
Date: Fri, 9 Oct 2026 22:36:09 -0500
Subject: [PATCH 3/4] chore(preact-hotkeys): Develop and test against Preact 11
Co-Authored-By: Claude Opus 5.5 (1M context)
---
examples/preact/kitchen-sink/package.json | 2 +-
examples/preact/useHeldKeys/package.json | 2 +-
examples/preact/useHotkey/package.json | 2 +-
.../preact/useHotkeyRecorder/package.json | 2 +-
.../preact/useHotkeySequence/package.json | 2 +-
.../useHotkeySequenceRecorder/package.json | 2 +-
.../preact/useHotkeySequences/package.json | 2 +-
examples/preact/useHotkeys/package.json | 2 +-
examples/preact/useKeyhold/package.json | 2 +-
packages/preact-hotkeys-devtools/package.json | 2 +-
.../tests/panel.test.ts | 6 +
packages/preact-hotkeys/package.json | 2 +-
pnpm-lock.yaml | 143 ++++++++++--------
13 files changed, 94 insertions(+), 77 deletions(-)
diff --git a/examples/preact/kitchen-sink/package.json b/examples/preact/kitchen-sink/package.json
index 9f879166..a49c01c8 100644
--- a/examples/preact/kitchen-sink/package.json
+++ b/examples/preact/kitchen-sink/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHeldKeys/package.json b/examples/preact/useHeldKeys/package.json
index bdce18a7..401a04bc 100644
--- a/examples/preact/useHeldKeys/package.json
+++ b/examples/preact/useHeldKeys/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkey/package.json b/examples/preact/useHotkey/package.json
index 918dc7d7..94f87911 100644
--- a/examples/preact/useHotkey/package.json
+++ b/examples/preact/useHotkey/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkeyRecorder/package.json b/examples/preact/useHotkeyRecorder/package.json
index d0957fca..9bc614c1 100644
--- a/examples/preact/useHotkeyRecorder/package.json
+++ b/examples/preact/useHotkeyRecorder/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkeySequence/package.json b/examples/preact/useHotkeySequence/package.json
index 46831076..644aff89 100644
--- a/examples/preact/useHotkeySequence/package.json
+++ b/examples/preact/useHotkeySequence/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkeySequenceRecorder/package.json b/examples/preact/useHotkeySequenceRecorder/package.json
index fd659242..a4f54a2f 100644
--- a/examples/preact/useHotkeySequenceRecorder/package.json
+++ b/examples/preact/useHotkeySequenceRecorder/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkeySequences/package.json b/examples/preact/useHotkeySequences/package.json
index ad668ff6..5e9fba36 100644
--- a/examples/preact/useHotkeySequences/package.json
+++ b/examples/preact/useHotkeySequences/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useHotkeys/package.json b/examples/preact/useHotkeys/package.json
index 5f014a69..2a43dbcb 100644
--- a/examples/preact/useHotkeys/package.json
+++ b/examples/preact/useHotkeys/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/examples/preact/useKeyhold/package.json b/examples/preact/useKeyhold/package.json
index 75cace43..eae78fc9 100644
--- a/examples/preact/useKeyhold/package.json
+++ b/examples/preact/useKeyhold/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@tanstack/preact-hotkeys": "^0.13.0",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
diff --git a/packages/preact-hotkeys-devtools/package.json b/packages/preact-hotkeys-devtools/package.json
index f35e832d..79239f7d 100644
--- a/packages/preact-hotkeys-devtools/package.json
+++ b/packages/preact-hotkeys-devtools/package.json
@@ -55,6 +55,6 @@
},
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
}
}
diff --git a/packages/preact-hotkeys-devtools/tests/panel.test.ts b/packages/preact-hotkeys-devtools/tests/panel.test.ts
index 977e5cbd..e1f47c40 100644
--- a/packages/preact-hotkeys-devtools/tests/panel.test.ts
+++ b/packages/preact-hotkeys-devtools/tests/panel.test.ts
@@ -34,6 +34,12 @@ it('mounts a standalone panel with default props', () => {
theme: 'dark',
devtoolsOpen: true,
})
+})
+
+// devtools-utils <=0.7.0 skips unmount on Preact 11 (TanStack/devtools#551).
+// Switch back to `it` once a fixed devtools-utils is installed.
+it.fails('unmounts the standalone panel', () => {
+ act(() => render(h(HotkeysDevtoolsPanel, emptyProps), host))
act(() => render(null, host))
expect(core.unmount).toHaveBeenCalledOnce()
})
diff --git a/packages/preact-hotkeys/package.json b/packages/preact-hotkeys/package.json
index f8e9c4c5..096b26f1 100644
--- a/packages/preact-hotkeys/package.json
+++ b/packages/preact-hotkeys/package.json
@@ -50,7 +50,7 @@
"devDependencies": {
"@preact/preset-vite": "^2.10.6",
"@testing-library/preact": "^3.2.4",
- "preact": "^10.29.8"
+ "preact": "^11.0.1"
},
"peerDependencies": {
"preact": ">=10.0.0"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f8b49dfa..e788e54c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -2067,15 +2067,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2092,15 +2092,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2117,15 +2117,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2142,15 +2142,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2167,15 +2167,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2192,15 +2192,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2217,15 +2217,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2242,15 +2242,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -2267,15 +2267,15 @@ importers:
specifier: workspace:*
version: link:../../../packages/preact-hotkeys
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@tanstack/preact-devtools':
specifier: 0.10.13
- version: 0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)
+ version: 0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)
'@tanstack/preact-hotkeys-devtools':
specifier: workspace:*
version: link:../../../packages/preact-hotkeys-devtools
@@ -3534,33 +3534,33 @@ importers:
version: link:../hotkeys
'@tanstack/preact-store':
specifier: ^0.13.5
- version: 0.13.5(preact@10.29.8)
+ version: 0.13.5(preact@11.0.1)
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@testing-library/preact':
specifier: ^3.2.4
- version: 3.2.4(preact@10.29.8)
+ version: 3.2.4(preact@11.0.1)
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
packages/preact-hotkeys-devtools:
dependencies:
'@tanstack/devtools-utils':
specifier: ^0.7.0
- version: 0.7.0(@angular/core@21.2.10)(@types/react@19.2.14)(preact@10.29.8)(react@19.2.5)(solid-js@1.9.12)(svelte@5.57.1(@typescript-eslint/types@8.70.1))(vue@3.5.33(typescript@6.0.3))
+ version: 0.7.0(@angular/core@21.2.10)(@types/react@19.2.14)(preact@11.0.1)(react@19.2.5)(solid-js@1.9.12)(svelte@5.57.1(@typescript-eslint/types@8.70.1))(vue@3.5.33(typescript@6.0.3))
'@tanstack/hotkeys-devtools':
specifier: workspace:*
version: link:../hotkeys-devtools
devDependencies:
'@preact/preset-vite':
specifier: ^2.10.6
- version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ version: 2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
preact:
- specifier: ^10.29.8
- version: 10.29.8
+ specifier: ^11.0.1
+ version: 11.0.1
packages/react-hotkeys:
dependencies:
@@ -12715,6 +12715,14 @@ packages:
preact-render-to-string:
optional: true
+ preact@11.0.1:
+ resolution: {integrity: sha512-TNNwEq++jYNHy747LziCjPRVgEwnLSOIOAw/oYcjI3Tdnubx2EXtt76I0an8PATvUWtx/DX1kFIg1eFN+O/fkw==}
+ peerDependencies:
+ preact-render-to-string: '>=6.7.0'
+ peerDependenciesMeta:
+ preact-render-to-string:
+ optional: true
+
prelude-ls@1.2.1:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
@@ -18623,12 +18631,12 @@ snapshots:
'@pnpm/deps.graph-sequencer@1100.0.1': {}
- '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
+ '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
- '@prefresh/vite': 2.4.12(preact@10.29.8)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ '@prefresh/vite': 2.4.12(preact@11.0.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@rollup/pluginutils': 5.3.0(rollup@4.57.1)
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7(supports-color@8.1.1))
debug: 4.4.3(supports-color@8.1.1)
@@ -18642,12 +18650,12 @@ snapshots:
- rollup
- supports-color
- '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@10.29.8)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
+ '@preact/preset-vite@2.10.6(@babel/core@7.29.7(supports-color@8.1.1))(preact@11.0.1)(rollup@4.57.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.7(supports-color@8.1.1)
'@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1)
- '@prefresh/vite': 2.4.12(preact@10.29.8)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
+ '@prefresh/vite': 2.4.12(preact@11.0.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
'@rollup/pluginutils': 5.3.0(rollup@4.57.1)
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.7(supports-color@8.1.1))
debug: 4.4.3(supports-color@8.1.1)
@@ -18663,32 +18671,32 @@ snapshots:
'@prefresh/babel-plugin@0.5.3': {}
- '@prefresh/core@1.5.9(preact@10.29.8)':
+ '@prefresh/core@1.5.9(preact@11.0.1)':
dependencies:
- preact: 10.29.8
+ preact: 11.0.1
'@prefresh/utils@1.2.1': {}
- '@prefresh/vite@2.4.12(preact@10.29.8)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
+ '@prefresh/vite@2.4.12(preact@11.0.1)(supports-color@8.1.1)(vite@7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0(supports-color@8.1.1)
'@prefresh/babel-plugin': 0.5.3
- '@prefresh/core': 1.5.9(preact@10.29.8)
+ '@prefresh/core': 1.5.9(preact@11.0.1)
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
- preact: 10.29.8
+ preact: 11.0.1
vite: 7.3.2(@types/node@26.6.4)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.33.0)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
- '@prefresh/vite@2.4.12(preact@10.29.8)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
+ '@prefresh/vite@2.4.12(preact@11.0.1)(supports-color@8.1.1)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))':
dependencies:
'@babel/core': 7.29.0(supports-color@8.1.1)
'@prefresh/babel-plugin': 0.5.3
- '@prefresh/core': 1.5.9(preact@10.29.8)
+ '@prefresh/core': 1.5.9(preact@11.0.1)
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
- preact: 10.29.8
+ preact: 11.0.1
vite: 8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2)
transitivePeerDependencies:
- supports-color
@@ -19197,11 +19205,11 @@ snapshots:
svelte: 5.57.1(@typescript-eslint/types@8.70.1)
vue: 3.5.43(typescript@6.0.3)
- '@tanstack/devtools-utils@0.7.0(@angular/core@21.2.10)(@types/react@19.2.14)(preact@10.29.8)(react@19.2.5)(solid-js@1.9.12)(svelte@5.57.1(@typescript-eslint/types@8.70.1))(vue@3.5.33(typescript@6.0.3))':
+ '@tanstack/devtools-utils@0.7.0(@angular/core@21.2.10)(@types/react@19.2.14)(preact@11.0.1)(react@19.2.5)(solid-js@1.9.12)(svelte@5.57.1(@typescript-eslint/types@8.70.1))(vue@3.5.33(typescript@6.0.3))':
optionalDependencies:
'@angular/core': 21.2.10(@angular/compiler@21.2.10)(rxjs@7.8.2)(zone.js@0.16.3)
'@types/react': 19.2.14
- preact: 10.29.8
+ preact: 11.0.1
react: 19.2.5
solid-js: 1.9.12
svelte: 5.57.1(@typescript-eslint/types@8.70.1)
@@ -19278,20 +19286,20 @@ snapshots:
'@tanstack/store': 0.11.2
octane: 0.12.1(@tsrx/oxc@0.20.0(svelte@5.57.1(@typescript-eslint/types@8.70.1)))(@typescript-eslint/types@8.70.1)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(typescript@6.0.3)(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.6.1)(less@4.9.0(supports-color@8.1.1))(sass-embedded@1.104.1)(sass@1.101.0)(terser@5.49.0)(yaml@2.8.2))
- '@tanstack/preact-devtools@0.10.13(csstype@3.2.3)(preact@10.29.8)(solid-js@1.9.15)':
+ '@tanstack/preact-devtools@0.10.13(csstype@3.2.3)(preact@11.0.1)(solid-js@1.9.15)':
dependencies:
'@tanstack/devtools': 0.15.0(csstype@3.2.3)(solid-js@1.9.15)
- preact: 10.29.8
+ preact: 11.0.1
transitivePeerDependencies:
- bufferutil
- csstype
- solid-js
- utf-8-validate
- '@tanstack/preact-store@0.13.5(preact@10.29.8)':
+ '@tanstack/preact-store@0.13.5(preact@11.0.1)':
dependencies:
'@tanstack/store': 0.11.2
- preact: 10.29.8
+ preact: 11.0.1
'@tanstack/react-devtools@0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15)':
dependencies:
@@ -19424,10 +19432,10 @@ snapshots:
optionalDependencies:
vitest: 5.0.3(@types/node@26.6.4)(happy-dom@20.14.5)(jsdom@25.0.1(supports-color@8.1.1))(vite@8.3.2(@types/node@26.6.4)(esbuild@0.28.0)(jiti@2.6.1)(less@4.4.2)(sass-embedded@1.104.1)(sass@1.97.3)(terser@5.46.0)(yaml@2.8.2))
- '@testing-library/preact@3.2.4(preact@10.29.8)':
+ '@testing-library/preact@3.2.4(preact@11.0.1)':
dependencies:
'@testing-library/dom': 8.20.1
- preact: 10.29.8
+ preact: 11.0.1
'@testing-library/react@16.3.3(@testing-library/dom@10.4.1)(@types/react-dom@19.2.3(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)':
dependencies:
@@ -24583,7 +24591,10 @@ snapshots:
preact@10.29.1:
optional: true
- preact@10.29.8: {}
+ preact@10.29.8:
+ optional: true
+
+ preact@11.0.1: {}
prelude-ls@1.2.1: {}
From 90c898e4d8a4407cbe982b443967deb68f75f06a Mon Sep 17 00:00:00 2001
From: Kevin Van Cott
Date: Fri, 9 Oct 2026 23:05:16 -0500
Subject: [PATCH 4/4] chore(examples): Add px units to numeric Preact styles
Co-Authored-By: Claude Opus 5.5 (1M context)
---
examples/preact/useHotkeys/src/index.tsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/preact/useHotkeys/src/index.tsx b/examples/preact/useHotkeys/src/index.tsx
index e7b52487..43b422e0 100644
--- a/examples/preact/useHotkeys/src/index.tsx
+++ b/examples/preact/useHotkeys/src/index.tsx
@@ -176,7 +176,7 @@ function CommonOptionsDemo() {
{formatForDisplay('Alt+L')} overrides{' '}
enabled: true so it always works.
-
+
@@ -415,7 +415,7 @@ function RegistrationsViewer() {
{sequences.length > 0 && (
<>
-
Sequences
+
Sequences