Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .npmrc
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
public-hoist-pattern[]=*commandkit*
prefer-workspace-packages=true
public-hoist-pattern[]=@commandkit/*
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ git checkout -b your-feature-or-bugfix
2. Make your changes. Please make sure to use the
[Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode)
extension for consistent formatting and comments wherever
necessary. Alternatively, you can run `pnpm prettier:format` after
you've made your changes.
necessary. Alternatively, you can run `pnpm format` after you've
made your changes.

3. Ensure that your changes don't break any existing functionality.
You can test the functionality of your code depending on where
Expand Down
11 changes: 10 additions & 1 deletion apps/test-bot/src/app/commands/(interactions)/prompt.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ import {
StringSelectMenu,
StringSelectMenuOption,
FileUpload,
UserSelectMenu,
} from 'commandkit';
import { ComponentType, MessageFlags } from 'discord.js';
import { MessageFlags } from 'discord.js';

export const command: CommandData = {
name: 'prompt',
Expand Down Expand Up @@ -68,6 +69,14 @@ export async function chatInput(ctx: ChatInputCommandContext) {
/>
</StringSelectMenu>
</Label>
<Label label="Member" description="The target of the command">
<UserSelectMenu
customId="member"
minValues={1}
maxValues={1}
defaultValues={[ctx.interaction.user.id]}
/>
</Label>
</Modal>
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class Context<ExecutionMode extends CommandExecutionMode = CommandExecutionMode,
public readonly guildId!: string | null;
public readonly channel!: TextBasedChannel | null;
public readonly channelId!: string | null;
public readonly client: Client;
public readonly client: Client<true>;
public readonly command: LoadedCommand;
constructor(commandkit: CommandKit, config: ContextParameters<ExecutionMode, Args>)
store: void
Expand Down Expand Up @@ -87,7 +87,7 @@ The channel where the command was triggered.
The channel id where the command was triggered.
### client

<MemberInfo kind="property" type={`Client`} />
<MemberInfo kind="property" type={`Client&#60;true&#62;`} />

The client instance.
### command
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: "ApplyDefaultOptionalComponentBehavior"
isDefaultIndex: false
generated: true
---

import MemberInfo from '@site/src/components/MemberInfo';
import GenerationInfo from '@site/src/components/GenerationInfo';
import MemberDescription from '@site/src/components/MemberDescription';

<!-- This file was generated from the CommandKit source. Do not modify. Instead, re-run the "docgen" script -->


## applyDefaultOptionalComponentBehavior

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="109" packageName="commandkit" />



```ts title="Signature"
function applyDefaultOptionalComponentBehavior<P>(props: P): P
```
Parameters

### props

<MemberInfo kind="parameter" type={`P`} />

Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## ChannelSelectMenu

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="298" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="312" packageName="commandkit" />

The ChannelSelectMenu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## createElement

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="96" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="97" packageName="commandkit" />

The createElement function is used to create CommandKit elements.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## FileUpload

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="173" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="177" packageName="commandkit" />

The file upload component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## Fragment

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="81" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="82" packageName="commandkit" />

Represents a fragment of CommandKit elements.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## getElement

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="62" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="63" packageName="commandkit" />

Gets the element data for a specific CommandKit element.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## isCommandKitElement

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="47" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="48" packageName="commandkit" />

Checks if the given element is a CommandKit element.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## MentionableSelectMenu

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="266" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="280" packageName="commandkit" />

The MentionableSelectMenu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## Modal

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="38" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="41" packageName="commandkit" />

The modal component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## ParagraphInput

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="155" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="159" packageName="commandkit" />

The paragraph text input component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## RoleSelectMenu

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="231" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="245" packageName="commandkit" />

The RoleSelectMenu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## ShortInput

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="143" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="147" packageName="commandkit" />

The short text input component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## StringSelectMenuOption

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="177" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="189" packageName="commandkit" />

A select menu option for the string select menu.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## StringSelectMenu

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="139" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="151" packageName="commandkit" />

The StringSelectMenu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## TextInput

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="95" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="98" packageName="commandkit" />

The text input component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## UserSelectMenu

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="198" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="212" packageName="commandkit" />

The UserSelectMenu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## ChannelSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="285" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="299" packageName="commandkit" />

The ChannelSelectMenu component props.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ interface CommandKitConfig {
disablePrefixCommands?: boolean;
disablePermissionsMiddleware?: boolean;
showUnknownPrefixCommandsWarning?: boolean;
jsxDefaultOptionalComponents?: boolean;
}
```

Expand Down Expand Up @@ -135,6 +136,11 @@ Whether or not to disable the built-in permissions middleware. This only affects
<MemberInfo kind="property" type={`boolean`} default={`true`} />

Whether or not to show a warning when a prefix command is not found. This only affects development mode.
### jsxDefaultOptionalComponents

<MemberInfo kind="property" type={`boolean`} default={`true`} />

Whether to make interaction components optional by default when using JSX (opposite of Discord's default behavior).


</div>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## CommandKitElementData

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="24" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="25" packageName="commandkit" />

The data structure that maps each ElementType to its corresponding CommandKit element.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## CommonSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="31" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="33" packageName="commandkit" />

Type for the common properties shared by all select menu builders.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## FileUploadProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="161" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="165" packageName="commandkit" />



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## FragmentElementProps

<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="72" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/common/element.ts" sourceLine="73" packageName="commandkit" />

Represents the properties for a fragment element in CommandKit.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## MentionableSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="250" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="264" packageName="commandkit" />

The MentionableSelectMenu component props.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## ModalProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="22" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="25" packageName="commandkit" />

The properties for the modal component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## RoleSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="217" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="231" packageName="commandkit" />

The RoleSelectMenu component props.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,27 @@ import MemberDescription from '@site/src/components/MemberDescription';

## SelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="41" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="43" packageName="commandkit" />

Type for the base select menu component data.

```ts title="Signature"
interface SelectMenuProps<T, C> extends Partial<Omit<BaseSelectMenuComponentData, 'type'>>,
interface SelectMenuProps<T, C> extends Partial<Omit<BaseSelectMenuComponentData, 'type' | 'required'>>,
CommonSelectMenuProps<T, C> {

required?: boolean;
}
```
* Extends: <code>Partial&#60;Omit&#60;BaseSelectMenuComponentData, 'type'&#62;&#62;</code>, <code><a href='/docs/api-reference/commandkit/interfaces/common-select-menu-props#commonselectmenuprops'>CommonSelectMenuProps</a>&#60;T, C&#62;</code>
* Extends: <code>Partial&#60;Omit&#60;BaseSelectMenuComponentData, 'type' | 'required'&#62;&#62;</code>, <code><a href='/docs/api-reference/commandkit/interfaces/common-select-menu-props#commonselectmenuprops'>CommonSelectMenuProps</a>&#60;T, C&#62;</code>



<div className="members-wrapper">

### required

<MemberInfo kind="property" type={`boolean`} />




</div>
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## StringSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="48" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="52" packageName="commandkit" />

The properties for a string select menu component.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import MemberDescription from '@site/src/components/MemberDescription';

## TextInputProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="76" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/modal/Modal.ts" sourceLine="79" packageName="commandkit" />



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,27 @@ import MemberDescription from '@site/src/components/MemberDescription';

## UserSelectMenuProps

<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="184" packageName="commandkit" />
<GenerationInfo sourceFile="packages/commandkit/src/components/interactive/select-menu/SelectMenu.ts" sourceLine="196" packageName="commandkit" />

The UserSelectMenu component.

```ts title="Signature"
interface UserSelectMenuProps extends Partial<Omit<UserSelectMenuComponentData, 'type'>>,
interface UserSelectMenuProps extends Partial<Omit<UserSelectMenuComponentData, 'type' | 'defaultValues'>>,
CommonSelectMenuProps<UserSelectMenuInteraction, UserSelectMenuKit> {

defaultValues?: MaybeArray<string | Snowflake>;
}
```
* Extends: <code>Partial&#60;Omit&#60;UserSelectMenuComponentData, 'type'&#62;&#62;</code>, <code><a href='/docs/api-reference/commandkit/interfaces/common-select-menu-props#commonselectmenuprops'>CommonSelectMenuProps</a>&#60;UserSelectMenuInteraction, <a href='/docs/api-reference/commandkit/classes/user-select-menu-kit#userselectmenukit'>UserSelectMenuKit</a>&#62;</code>
* Extends: <code>Partial&#60;Omit&#60;UserSelectMenuComponentData, 'type' | 'defaultValues'&#62;&#62;</code>, <code><a href='/docs/api-reference/commandkit/interfaces/common-select-menu-props#commonselectmenuprops'>CommonSelectMenuProps</a>&#60;UserSelectMenuInteraction, <a href='/docs/api-reference/commandkit/classes/user-select-menu-kit#userselectmenukit'>UserSelectMenuKit</a>&#62;</code>



<div className="members-wrapper">

### defaultValues

<MemberInfo kind="property" type={`<a href='/docs/api-reference/commandkit/types/maybe-array#maybearray'>MaybeArray</a>&#60;string | Snowflake&#62;`} />




</div>
Loading