···497497498498### Group Multiselect
499499500500+The `groupMultiselect` prompt extends the [`multiselect`](#multiple-values) prompt to allow arranging distinct Multi-Selects, whilst keeping all of them interactive.
501501+500502```ts twoslash
501503// @errors: 2353
502504import { groupMultiselect } from '@clack/prompts';
···534536```
535537536538<pre class="cli-preview"><font color="#555753">│</font>
537537-<font color="#06989A">◆</font> Define your project
539539+<font color="#06989A">◆</font> Define your project
538540<font color="#06989A">│</font> <font color="#4E9A06">◼</font> Testing
539541<font color="#06989A">│</font> │ <font color="#4E9A06">◼</font> Jest (JavaScript testing framework)
540542<font color="#06989A">│</font> │ <font color="#4E9A06">◼</font> Playwright (End-to-end testing)
···551553<font color="#06989A">│</font> └ <font color="#4E9A06">◼</font> Biome.js (Formatter and linter)
552554<font color="#06989A">└</font></pre>
553555554554-The `groupMultiselect` prompt supports two additional options:
555555-- `groupSpacing`: An integer that specifies how many new lines to add between each group. This helps improve readability when you have many groups.
556556-- `selectableGroups`: A boolean that determines whether top-level groups can be selected. When set to `false`, only individual items within groups can be selected.
556556+Options:
557557+558558+- `message`: The message or question shown to the user above the input.
559559+- `options`: Grouped options to display. Each key is a group label, and each value is an array of options.
560560+- `initialValues`: The initially selected option(s).
561561+- `maxItems`: The maximum number of items/options to display at once.
562562+- `required`: When `true` at least one option must be selected (default: `true`).
563563+- `cursorAt`: The value the cursor should be positioned at initially.
564564+- `selectableGroups`: Whether entire groups can be selected at once (default: `true`).
565565+- `groupSpacing`: Number of blank lines between groups (default: `0`).
566566+- All [Common Options](#common-options)
557567558568### Group
559569560560-The `group` function provides a convenient API for combining a series of questions.
561561-Each question receives the `results` of previous answers.
562562-The `group` function returns an object containing the result of every question.
570570+The `group` utility provides a consistent way to combine a series of prompts, combining each answer into one object. Each prompt receives the results of all previously completed prompts, and are executed sequentially.
563571564572```ts twoslash
565573import { group, text, password } from '@clack/prompts';
···586594```
587595588596<pre class="cli-preview"><font color="#555753">│</font>
589589-<font color="#4E9A06">◇</font> What is your email address?
597597+<font color="#4E9A06">◇</font> What is your email address?
590598<font color="#555753">│</font> user.name@example.com
591599<font color="#555753">│</font>
592592-<font color="#4E9A06">◇</font> What is your username?
600600+<font color="#4E9A06">◇</font> What is your username?
593601<font color="#555753">│</font> bomb_sh
594602<font color="#555753">│</font>
595595-<font color="#06989A">◆</font> Define your password
603603+<font color="#06989A">◆</font> Define your password
596604<font color="#06989A">│</font> ▪▪▪▪▪▪▪▪▪▪▪▪<span style="background-color:#FFFFFF"><font color="#FFFFFF">_</font></span>
597605<font color="#06989A">└</font></pre>
606606+607607+Options:
608608+609609+- `onCancel`: Called when any one of the prompts is canceled.
598610599611### Tasks
600612···902914<font color="#555753">│</font> <font color="#555753">╰──────────────────────────────╯</font></pre>
903915904916Options:
905905-- `contentAlign`: Alignment of the content (`'left'`, `'center'`, or `'right'`)
906906-- `titleAlign`: Alignment of the title (`'left'`, `'center'`, or `'right'`)
907907-- `width`: Box width - use `'auto'` to fit content or a number for fixed width
908908-- `titlePadding`: Padding around the title
909909-- `contentPadding`: Padding around the content
910910-- `rounded`: Use rounded corners when `true` (default), square corners when `false`
911911-- `formatBorder`: Custom function to style the border characters
917917+918918+- `contentAlign`: Alignment of the content (`'left'`, `'center'`, or `'right'`. default `'left'`).
919919+- `titleAlign`: Alignment of the title (`'left'`, `'center'`, or `'right'`. default `'left'`).
920920+- `width`: The width of the box, either `'auto'` to fit the content or a number for a fixed width (default: `'auto'`).
921921+- `titlePadding`: Padding around the title (default: `1`).
922922+- `contentPadding`: Padding around the content (default: `2`).
923923+- `rounded`: Use rounded corners when `true` (default), square corners when `false` (default: `true`).
924924+- `formatBorder`: Custom function to style the border characters.
912925913926### Task Log
914927