···11----
22-"@clack/prompts": minor
33-"@clack/core": minor
44----
55-66-Adds a new `updateSettings()` function to support new global keybindings.
77-88-`updateSettings()` accepts an `aliases` object that maps custom keys to an action (`up | down | left | right | space | enter | cancel`).
99-1010-```ts
1111-import { updateSettings } from "@clack/prompts";
1212-1313-// Support custom keybindings
1414-updateSettings({
1515- aliases: {
1616- w: "up",
1717- a: "left",
1818- s: "down",
1919- d: "right",
2020- },
2121-});
2222-```
2323-2424-> [!WARNING]
2525-> In order to enforce consistent, user-friendly defaults across the ecosystem, `updateSettings` does not support disabling Clack's default keybindings.
-38
.changeset/lucky-maps-beam.md
···11----
22-"@clack/core": minor
33-"@clack/prompts": minor
44----
55-66-Adds a new `signal` option to support programmatic prompt cancellation with an [abort controller](https://kettanaito.com/blog/dont-sleep-on-abort-controller).
77-88-One example use case is automatically cancelling a prompt after a timeout.
99-1010-```ts
1111-const shouldContinue = await confirm({
1212- message: 'This message will self destruct in 5 seconds',
1313- signal: AbortSignal.timeout(5000),
1414-});
1515-```
1616-1717-Another use case is racing a long running task with a manual prompt.
1818-1919-```ts
2020-const abortController = new AbortController()
2121-2222-const projectType = await Promise.race([
2323- detectProjectType({
2424- signal: abortController.signal
2525- }),
2626- select({
2727- message: 'Pick a project type.',
2828- options: [
2929- { value: 'ts', label: 'TypeScript' },
3030- { value: 'js', label: 'JavaScript' },
3131- { value: 'coffee', label: 'CoffeeScript', hint: 'oh no'},
3232- ],
3333- signal: abortController.signal,
3434- })
3535-])
3636-3737-abortController.abort()
3838-```
-14
.changeset/quiet-actors-wink.md
···11----
22-"@clack/prompts": minor
33-"@clack/core": minor
44----
55-66-Updates default keybindings to support Vim motion shortcuts and map the `escape` key to cancel (`ctrl+c`).
77-88-| alias | action |
99-|------- |-------- |
1010-| `k` | up |
1111-| `l` | right |
1212-| `j` | down |
1313-| `h` | left |
1414-| `esc` | cancel |
-5
.changeset/swift-jars-destroy.md
···11----
22-'@clack/core': patch
33----
44-55-Improves types for events and interaction states.
-5
.changeset/thin-moose-tease.md
···11----
22-'@clack/prompts': patch
33----
44-55-Adapts `spinner` output for static CI environments
+42
packages/core/CHANGELOG.md
···11# @clack/core
2233+## 0.4.0
44+55+### Minor Changes
66+77+- a83d2f8: Adds a new `updateSettings()` function to support new global keybindings.
88+99+ `updateSettings()` accepts an `aliases` object that maps custom keys to an action (`up | down | left | right | space | enter | cancel`).
1010+1111+ ```ts
1212+ import { updateSettings } from "@clack/core";
1313+1414+ // Support custom keybindings
1515+ updateSettings({
1616+ aliases: {
1717+ w: "up",
1818+ a: "left",
1919+ s: "down",
2020+ d: "right",
2121+ },
2222+ });
2323+ ```
2424+2525+> [!WARNING]
2626+> In order to enforce consistent, user-friendly defaults across the ecosystem, `updateSettings` does not support disabling Clack's default keybindings.
2727+2828+- 801246b: Adds a new `signal` option to support programmatic prompt cancellation with an [abort controller](https://kettanaito.com/blog/dont-sleep-on-abort-controller).
2929+3030+3131+- a83d2f8: Updates default keybindings to support Vim motion shortcuts and map the `escape` key to cancel (`ctrl+c`).
3232+3333+ | alias | action |
3434+ | ----- | ------ |
3535+ | `k` | up |
3636+ | `l` | right |
3737+ | `j` | down |
3838+ | `h` | left |
3939+ | `esc` | cancel |
4040+4141+### Patch Changes
4242+4343+- 51e12bc: Improves types for events and interaction states.
4444+345## 0.3.5
446547### Patch Changes