@dressed/react 1.8.0 → 1.8.2-rc.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/dist/components/button.js +8 -5
- package/dist/components/button.js.map +1 -1
- package/dist/components/select-menu.js +8 -5
- package/dist/components/select-menu.js.map +1 -1
- package/dist/rendering/callbacks.js +1 -1
- package/dist/rendering/callbacks.js.map +1 -1
- package/dist/rendering/interaction.d.ts +6 -2
- package/dist/rendering/interaction.js +8 -3
- package/dist/rendering/interaction.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { Button as DressedComponent } from "dressed";
|
|
2
|
-
import { createElement } from "react";
|
|
2
|
+
import { createElement, useEffect, useState } from "react";
|
|
3
3
|
import { registerHandler } from "../rendering/callbacks.js";
|
|
4
4
|
export function Button(props) {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const [registeredHandler, setRegisteredHandler] = useState();
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if ("onClick" in props) {
|
|
8
|
+
setRegisteredHandler((p) => registerHandler(props.onClick, props.fallback, p === null || p === void 0 ? void 0 : p.$registeredHandler));
|
|
9
|
+
}
|
|
10
|
+
}, [props]);
|
|
11
|
+
const component = DressedComponent({ ...props, ...registeredHandler });
|
|
9
12
|
return createElement("dressed-node", component);
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAqB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA0B5D,MAAM,UAAU,MAAM,CACpB,KAIqD;IAErD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAsC,CAAC;IAEjG,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,OAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,kBAAkB,CAAC,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,iBAAiB,EAAW,CAAC,CAAC;IAChF,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { ComponentType } from "discord-api-types/v10";
|
|
2
2
|
import { SelectMenu as DressedComponent, SelectMenuOption as DressedOption } from "dressed";
|
|
3
|
-
import { createElement } from "react";
|
|
3
|
+
import { createElement, useEffect, useState } from "react";
|
|
4
4
|
import { registerHandler } from "../rendering/callbacks.js";
|
|
5
5
|
export function SelectMenu(props) {
|
|
6
6
|
const { children, ...rest } = props;
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const [registeredHandler, setRegisteredHandler] = useState();
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if ("onSubmit" in props) {
|
|
10
|
+
setRegisteredHandler((p) => registerHandler(props.onSubmit, props.fallback, p === null || p === void 0 ? void 0 : p.$registeredHandler));
|
|
11
|
+
}
|
|
12
|
+
}, [props]);
|
|
13
|
+
const component = DressedComponent({ ...rest, ...registeredHandler });
|
|
11
14
|
return createElement("dressed-node", component, children);
|
|
12
15
|
}
|
|
13
16
|
export function SelectMenuOption(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu.js","sourceRoot":"","sources":["../../src/components/select-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"select-menu.js","sourceRoot":"","sources":["../../src/components/select-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAqC,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE9F,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA8B5D,MAAM,UAAU,UAAU,CACxB,KAA2D;IAE3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IAC/D,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAAsC,CAAC;IAEjG,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACxB,oBAAoB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,QAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,kBAAkB,CAAC,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,iBAAiB,EAAW,CAAC,CAAC;IAC/E,OAAO,aAAa,CAAC,cAAc,EAAE,SAAkB,EAAE,QAAqB,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAmC,KAAQ,EAAE,QAAqC;IAC/G,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -23,7 +23,7 @@ export function createCallbackHandler(fallbacks = {}) {
|
|
|
23
23
|
}
|
|
24
24
|
export function registerHandler(handler, fallback, id = randId()) {
|
|
25
25
|
handlers.set(id, handler);
|
|
26
|
-
const $handlerCleaner = setTimeout(() => handlers.delete(id), 6e4 * 30);
|
|
26
|
+
const $handlerCleaner = setTimeout(() => handlers.delete(id), 6e4 * 30).unref();
|
|
27
27
|
const fbText = fallback ? `-${fallback}` : "";
|
|
28
28
|
return { custom_id: `@dressed/react-handler-${id}${fbText}`, $registeredHandler: id, $handlerCleaner };
|
|
29
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/rendering/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAInH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,+CAA+C,CAAC;AAEvE,4DAA4D;AAC5D,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CAAyC,YAAe,EAAO;IAClG,KAAK,MAAM,GAAG,IAAI,SAAS;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,EACH,WAAiE,EACjE,IAA8C,EAC9C,EAAE;;QACF,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC,CAAC;QACzF,mBAAmB;QACnB,WAAW,GAAG,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzF,MAAM,OAAO,CAAC,WAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC,EACD;QACE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAEtE;KACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,QAAiB,EAAE,EAAE,GAAG,MAAM,EAAE;IAChF,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/rendering/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAInH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAEnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,+CAA+C,CAAC;AAEvE,4DAA4D;AAC5D,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CAAyC,YAAe,EAAO;IAClG,KAAK,MAAM,GAAG,IAAI,SAAS;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,EACH,WAAiE,EACjE,IAA8C,EAC9C,EAAE;;QACF,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC,CAAC;QACzF,mBAAmB;QACnB,WAAW,GAAG,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzF,MAAM,OAAO,CAAC,WAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC,EACD;QACE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAEtE;KACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,QAAiB,EAAE,EAAE,GAAG,MAAM,EAAE;IAChF,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,GAAG,MAAM,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,MAAM,CAAC,MAAM,GAAG,EAAE;IACzB,MAAM,KAAK,GAAG,gEAAgE,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ApplicationCommandType } from "discord-api-types/v10";
|
|
2
2
|
import { type CommandConfig, type CommandInteraction as DressedCommandInteraction, type MessageComponentInteraction as DressedMessageComponentInteraction, type ModalSubmitInteraction as DressedModalSubmitInteraction } from "dressed";
|
|
3
3
|
import type { createInteraction } from "dressed/server";
|
|
4
|
-
import type
|
|
4
|
+
import { type ComponentType, type PropsWithChildren, type ReactNode } from "react";
|
|
5
5
|
import type { WithContainer } from "./message.ts";
|
|
6
6
|
type ReactivatedInteraction<T> = OverrideMethodParams<T, {
|
|
7
7
|
[K in "reply" | "editReply" | "update" | "followUp" | "showModal"]: [
|
|
@@ -29,5 +29,9 @@ type OverrideMethodParams<T, Overrides extends Record<string, unknown[]>> = {
|
|
|
29
29
|
export type CommandInteraction<T extends keyof typeof ApplicationCommandType | CommandConfig = "ChatInput"> = ReactivatedInteraction<DressedCommandInteraction<T>>;
|
|
30
30
|
export type MessageComponentInteraction<T extends "Button" | "StringSelect" | "UserSelect" | "RoleSelect" | "MentionableSelect" | "ChannelSelect" | undefined = undefined> = ReactivatedInteraction<DressedMessageComponentInteraction<T>>;
|
|
31
31
|
export type ModalSubmitInteraction = ReactivatedInteraction<DressedModalSubmitInteraction>;
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Override interaction methods to accept React components
|
|
34
|
+
* @param parent A global parent that will be placed at the tree root, can be used for providers
|
|
35
|
+
*/
|
|
36
|
+
export declare function patchInteraction<T extends NonNullable<ReturnType<typeof createInteraction>>>(interaction: T, parent?: ComponentType<PropsWithChildren>): ReactivatedInteraction<T>;
|
|
33
37
|
export {};
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { MessageFlags } from "discord-api-types/v10";
|
|
2
2
|
import { editWebhookMessage, } from "dressed";
|
|
3
|
+
import { createElement } from "react";
|
|
3
4
|
import { reconciler } from "../react/reconciler.js";
|
|
4
5
|
import { render } from "./index.js";
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Override interaction methods to accept React components
|
|
8
|
+
* @param parent A global parent that will be placed at the tree root, can be used for providers
|
|
9
|
+
*/
|
|
10
|
+
export function patchInteraction(interaction, parent) {
|
|
6
11
|
const createdAt = Date.now();
|
|
7
12
|
if (!interaction)
|
|
8
13
|
throw new Error("No interaction");
|
|
@@ -25,7 +30,7 @@ export function patchInteraction(interaction) {
|
|
|
25
30
|
return editWebhookMessage(interaction.application_id, interaction.token, followUpId, data, undefined, $req);
|
|
26
31
|
}
|
|
27
32
|
return new Promise((resolve) => {
|
|
28
|
-
const { container } = render(components, async (c) => {
|
|
33
|
+
const { container } = render(parent ? createElement(parent, null, components) : components, async (c) => {
|
|
29
34
|
if (c.length === 0 || Date.now() > createdAt + 6e4 * 15)
|
|
30
35
|
return;
|
|
31
36
|
// @ts-expect-error
|
|
@@ -48,7 +53,7 @@ export function patchInteraction(interaction) {
|
|
|
48
53
|
resolve(Object.assign(res !== null && res !== void 0 ? res : {}, { $container: container }));
|
|
49
54
|
});
|
|
50
55
|
if (!($req === null || $req === void 0 ? void 0 : $req.persistContainer)) {
|
|
51
|
-
setTimeout(() => reconciler.updateContainer(null, container), createdAt + 6e4 * 15 - Date.now());
|
|
56
|
+
setTimeout(() => reconciler.updateContainer(null, container), createdAt + 6e4 * 15 - Date.now()).unref();
|
|
52
57
|
}
|
|
53
58
|
});
|
|
54
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/rendering/interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAKL,kBAAkB,GACnB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/rendering/interaction.ts"],"names":[],"mappings":"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"}
|