@dressed/react 1.8.3 → 1.8.5-canary.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/README.md CHANGED
@@ -7,7 +7,7 @@ If you manually call the render function yourself, you can use the old component
7
7
  ## 📦 Install
8
8
 
9
9
  ```sh
10
- bun add dressed react @dressed/react
10
+ bun add react @dressed/react
11
11
  ```
12
12
 
13
13
  ## 🚀 Usage
@@ -19,7 +19,6 @@ import { patchInteraction, ActionRow, Button } from "@dressed/react";
19
19
 
20
20
  export default async function ping(interaction: CommandInteraction) {
21
21
  const patched = patchInteraction(interaction);
22
-
23
22
  await patched.reply(
24
23
  <>
25
24
  Pong!
@@ -34,20 +33,17 @@ export default async function ping(interaction: CommandInteraction) {
34
33
 
35
34
  If you don't want to manually patch every interaction, you can use middleware:
36
35
 
37
- ```ts
38
- // dressed.config.ts
36
+ ```ts title="dressed.config.ts"
39
37
  import { patchInteraction } from "@dressed/react";
40
- import type { ServerConfig } from "dressed/server";
38
+ import type { DressedConfig } from "dressed/server";
41
39
 
42
- const config: ServerConfig = {
40
+ export default {
43
41
  build: { extensions: ["tsx", "ts"] },
44
42
  middleware: {
45
43
  commands: (i) => [patchInteraction(i)],
46
44
  components: (i, a) => [patchInteraction(i), a],
47
45
  },
48
- };
49
-
50
- export default config;
46
+ } satisfies DressedConfig;
51
47
  ```
52
48
 
53
49
  > [!IMPORTANT]
@@ -1,4 +1,4 @@
1
- import type { APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle } from "discord-api-types/v10";
1
+ import type { APIButtonComponent, APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle } from "discord-api-types/v10";
2
2
  import { type ReactElement } from "react";
3
3
  import type { MessageComponentInteraction } from "../rendering/interaction.ts";
4
4
  interface ButtonWithCustomId extends Omit<APIButtonComponentWithCustomId, "type" | "style"> {
@@ -17,4 +17,5 @@ export declare function Button(props: ButtonWithCustomId): ReactElement<APIButto
17
17
  export declare function Button(props: ButtonWithOnClick): ReactElement<APIButtonComponentWithCustomId>;
18
18
  export declare function Button(props: Omit<APIButtonComponentWithSKUId, "type" | "style">): ReactElement<APIButtonComponentWithSKUId>;
19
19
  export declare function Button(props: Omit<APIButtonComponentWithURL, "type" | "style">): ReactElement<APIButtonComponentWithURL>;
20
+ export declare function parseButton<T extends APIButtonComponent & (Pick<ButtonWithOnClick, "onClick" | "fallback"> | object)>(nodeId: string, props: T): Promise<T>;
20
21
  export {};
@@ -1,13 +1,14 @@
1
1
  import { Button as DressedComponent } from "dressed";
2
- import React, { createElement } from "react";
3
- import { randId, registerHandler } from "../rendering/callbacks.js";
2
+ import { createElement } from "react";
3
+ import { registerHandler } from "../rendering/callbacks.js";
4
4
  export function Button(props) {
5
- var _a;
6
- const handlerId = ((_a = React === null || React === void 0 ? void 0 : React.useMemo) !== null && _a !== void 0 ? _a : ((c) => c()))(randId, []);
7
- const component = DressedComponent({
8
- ...props,
9
- ...("onClick" in props ? registerHandler(props.onClick, props.fallback, handlerId) : undefined),
10
- });
5
+ const component = DressedComponent(props);
11
6
  return createElement("dressed-node", component);
12
7
  }
8
+ export async function parseButton(nodeId, props) {
9
+ return {
10
+ ...props,
11
+ ...("onClick" in props ? registerHandler(nodeId, props.onClick, props.fallback) : undefined),
12
+ };
13
+ }
13
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,KAAK,EAAE,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA0BpE,MAAM,UAAU,MAAM,CACpB,KAIqD;;IAErD,MAAM,SAAS,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACjC,GAAG,KAAK;QACR,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,OAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAChG,CAAC,CAAC;IACZ,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,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,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA0B5D,MAAM,UAAU,MAAM,CACpB,KAIqD;IAErD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAc,CAAC,CAAC;IACnD,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,MAAc,EAAE,KAAQ;IACxB,OAAO;QACL,GAAG,KAAK;QACR,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,OAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACtG,CAAC;AACJ,CAAC"}
@@ -29,5 +29,5 @@ export declare function SelectMenu<K extends SelectType>(props: SelectMenuWithOn
29
29
  type: K;
30
30
  }): ReactElement<SelectMap[`${K}Select`]>;
31
31
  export declare function SelectMenuOption(props: APISelectMenuOption): ReactElement<APISelectMenuOption>;
32
- export declare function parseSelectMenu<T extends APISelectMenuComponent>(props: T, children: Node<APISelectMenuOption>[]): T;
32
+ export declare function parseSelectMenu<T extends APISelectMenuComponent & (Pick<SelectMenuWithOnClick<SelectType>, "onSubmit" | "fallback"> | object)>(nodeId: string, props: T, children: Node<APISelectMenuOption>[]): T;
33
33
  export {};
@@ -1,25 +1,23 @@
1
1
  import { ComponentType } from "discord-api-types/v10";
2
2
  import { SelectMenu as DressedComponent, SelectMenuOption as DressedOption } from "dressed";
3
- import React, { createElement } from "react";
4
- import { randId, registerHandler } from "../rendering/callbacks.js";
3
+ import { createElement } from "react";
4
+ import { registerHandler } from "../rendering/callbacks.js";
5
5
  export function SelectMenu(props) {
6
- var _a;
7
6
  const { children, ...rest } = props;
8
- const handlerId = ((_a = React === null || React === void 0 ? void 0 : React.useMemo) !== null && _a !== void 0 ? _a : ((c) => c()))(randId, []);
9
- const component = DressedComponent({
10
- ...rest,
11
- ...("onSubmit" in props ? registerHandler(props.onSubmit, props.fallback, handlerId) : undefined),
12
- });
7
+ const component = DressedComponent(rest);
13
8
  return createElement("dressed-node", component, children);
14
9
  }
15
10
  export function SelectMenuOption(props) {
16
11
  const component = DressedOption(props.label, props.value, props);
17
12
  return createElement("dressed-node", component);
18
13
  }
19
- export function parseSelectMenu(props, children) {
14
+ export function parseSelectMenu(nodeId, props, children) {
20
15
  if (props.type === ComponentType.StringSelect) {
21
16
  props.options = children.map((c) => c.props);
22
17
  }
23
- return props;
18
+ return {
19
+ ...props,
20
+ ...("onSubmit" in props ? registerHandler(nodeId, props.onSubmit, props.fallback) : undefined),
21
+ };
24
22
  }
25
23
  //# sourceMappingURL=select-menu.js.map
@@ -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,KAAK,EAAE,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA8BpE,MAAM,UAAU,UAAU,CACxB,KAA2D;;IAE3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IAC/D,MAAM,SAAS,GAAG,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC;QACjC,GAAG,IAAI;QACP,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAiB,EAAE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAClG,CAAC,CAAC;IACZ,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"}
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;AAEzE,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,SAAS,GAAG,gBAAgB,CAAC,IAAa,CAAC,CAAC;IAClD,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,CAE7B,MAAc,EAAE,KAAQ,EAAE,QAAqC;IAC/D,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;QACL,GAAG,KAAK;QACR,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACxG,CAAC;AACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export interface Node<Props, Children = unknown> {
2
+ id: string;
2
3
  props: Props;
3
4
  children: Node<Children>[];
4
5
  text: () => string;
@@ -1,6 +1,7 @@
1
1
  import { handlers } from "../rendering/callbacks.js";
2
2
  export function createNode(props) {
3
3
  const node = {
4
+ id: crypto.randomUUID().slice(0, 18).replace(/-/g, ""),
4
5
  hidden: false,
5
6
  props,
6
7
  children: [],
@@ -21,10 +22,10 @@ export function isNode(obj) {
21
22
  typeof obj.text === "function");
22
23
  }
23
24
  function destroyCallbacks(item) {
24
- const { props } = item;
25
- if (typeof props.$registeredHandler === "string") {
26
- handlers.delete(props.$registeredHandler);
27
- clearTimeout(props.$handlerCleaner);
25
+ var _a;
26
+ if (handlers.has(item.id)) {
27
+ clearTimeout((_a = handlers.get(item.id)) === null || _a === void 0 ? void 0 : _a.$handlerCleaner);
28
+ handlers.delete(item.id);
28
29
  }
29
30
  item.children.forEach(destroyCallbacks);
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/react/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAwB,MAAM,2BAA2B,CAAC;AAS3E,MAAM,UAAU,UAAU,CAAQ,KAAY;IAC5C,MAAM,IAAI,GAAgB;QACxB,MAAM,EAAE,KAAK;QACb,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,IAAI;YACF,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,IAAI,GAAG;QACd,UAAU,IAAI,GAAG;QACjB,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAmB;IAC3C,MAAM,EAAE,KAAK,EAAE,GAAG,IAAgD,CAAC;IACnE,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QACjD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC1C,YAAY,CAAC,KAAK,CAAC,eAA6C,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,KAAU,EAAE,IAAO;IACtE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/react/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAUrD,MAAM,UAAU,UAAU,CAAQ,KAAY;IAC5C,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,MAAM,EAAE,KAAK;QACb,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,IAAI;YACF,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,IAAI,GAAG;QACd,UAAU,IAAI,GAAG;QACjB,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAmB;;IAC3C,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,YAAY,CAAC,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,eAAe,CAAC,CAAC;QACrD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,KAAU,EAAE,IAAO;IACtE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { ComponentType, } from "discord-api-types/v10";
3
3
  import { TextDisplay } from "dressed";
4
4
  import { parseActionRow } from "../components/action-row.js";
5
+ import { parseButton } from "../components/button.js";
5
6
  import { parseContainer } from "../components/container.js";
6
7
  import { parseLabel } from "../components/label.js";
7
8
  import { parseMediaGallery } from "../components/media-gallery.js";
@@ -53,20 +54,22 @@ export async function parseNode(node) {
53
54
  case ComponentType.ActionRow: {
54
55
  return parseActionRow(node.props, node.children);
55
56
  }
56
- case ComponentType.Button:
57
- case ComponentType.TextInput:
58
- case ComponentType.Thumbnail:
59
- case ComponentType.File:
60
- case ComponentType.Separator:
61
- case ComponentType.FileUpload: {
62
- return node.props;
57
+ case ComponentType.Button: {
58
+ return parseButton(node.id, node.props);
63
59
  }
64
60
  case ComponentType.StringSelect:
65
61
  case ComponentType.UserSelect:
66
62
  case ComponentType.RoleSelect:
67
63
  case ComponentType.MentionableSelect:
68
64
  case ComponentType.ChannelSelect: {
69
- return parseSelectMenu(node.props, node.children);
65
+ return parseSelectMenu(node.id, node.props, node.children);
66
+ }
67
+ case ComponentType.TextInput:
68
+ case ComponentType.Thumbnail:
69
+ case ComponentType.File:
70
+ case ComponentType.Separator:
71
+ case ComponentType.FileUpload: {
72
+ return node.props;
70
73
  }
71
74
  case ComponentType.Section: {
72
75
  return parseSection(node.props, node.children);
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/react/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/react/renderer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { type MessageComponentInteraction, type ModalSubmitInteraction } from "./interaction.ts";
2
2
  type Handler = ((i: MessageComponentInteraction) => unknown) | ((i: ModalSubmitInteraction) => unknown);
3
- export declare const handlers: Map<string, Handler>;
3
+ export declare const handlers: Map<string, Handler & {
4
+ $handlerCleaner?: NodeJS.Timeout;
5
+ }>;
4
6
  /** The pattern to export for handling `onClick`/`onSubmit` callbacks */
5
7
  export declare const pattern = "@dressed/react-handler-:handlerId{-:fallback}";
6
8
  /** Creates a function for handling callback interactions */
@@ -10,10 +12,7 @@ export declare function createCallbackHandler<T extends Record<string, Handler>
10
12
  }) => Promise<void>) & {
11
13
  fallbacks: { [K in keyof Omit<T, "default">]: K; };
12
14
  };
13
- export declare function registerHandler(handler: Handler, fallback?: string, id?: string): {
15
+ export declare function registerHandler(id: string, handler: Handler, fallback?: string): {
14
16
  custom_id: string;
15
- $registeredHandler: string;
16
- $handlerCleaner: NodeJS.Timeout;
17
17
  };
18
- export declare const randId: () => string;
19
18
  export {};
@@ -21,11 +21,11 @@ export function createCallbackHandler(fallbacks = {}) {
21
21
  fallbacks: Object.fromEntries(Object.keys(fallbacks).map((k) => [k, k])),
22
22
  });
23
23
  }
24
- export function registerHandler(handler, fallback, id = randId()) {
25
- handlers.set(id, handler);
26
- const $handlerCleaner = setTimeout(() => handlers.delete(id), 6e4 * 30).unref();
24
+ export function registerHandler(id, handler, fallback) {
25
+ var _a, _b, _c;
26
+ clearTimeout((_a = handlers.get(id)) === null || _a === void 0 ? void 0 : _a.$handlerCleaner);
27
+ handlers.set(id, Object.assign(handler, { $handlerCleaner: (_c = (_b = setTimeout(() => handlers.delete(id), 6e4 * 30)).unref) === null || _c === void 0 ? void 0 : _c.call(_b) }));
27
28
  const fbText = fallback ? `-${fallback}` : "";
28
- return { custom_id: `@dressed/react-handler-${id}${fbText}`, $registeredHandler: id, $handlerCleaner };
29
+ return { custom_id: `@dressed/react-handler-${id}${fbText}` };
29
30
  }
30
- export const randId = () => crypto.randomUUID().slice(0, 18).replace(/-/g, "");
31
31
  //# sourceMappingURL=callbacks.js.map
@@ -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,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,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,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,EAA0D,CAAC;AAE1F,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,EAAU,EAAE,OAAgB,EAAE,QAAiB;;IAC7E,YAAY,CAAC,MAAA,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,eAAe,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,CACV,EAAE,EACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,MAAA,MAAA,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,EAAC,KAAK,kDAAI,EAAE,CAAC,CACvG,CAAC;IACF,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,CAAC;AAChE,CAAC"}
@@ -2,7 +2,7 @@ import { reconciler } from "../react/reconciler.js";
2
2
  import { createRenderer } from "../react/renderer.js";
3
3
  export function render(children, callback) {
4
4
  const renderer = createRenderer(callback);
5
- const container = reconciler.createContainer(renderer, 0, null, false, null, "dressed", (error) => console.error(error), () => { }, () => { }, () => { }, null);
5
+ const container = reconciler.createContainer(renderer, 0, null, false, null, "dressed", (error) => console.error(error), () => { }, () => { }, () => { });
6
6
  if (container !== null)
7
7
  reconciler.updateContainer(children, container);
8
8
  return { renderer, container };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rendering/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,QAAmB,EAAE,QAA0B;IACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAC1C,QAAQ,EACR,CAAC,EACD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,CAAC,KAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EACtC,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,EACR,IAAI,CACL,CAAC;IAEF,IAAI,SAAS,KAAK,IAAI;QAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAExE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rendering/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAC;AAE7E,MAAM,UAAU,MAAM,CAAC,QAAmB,EAAE,QAA0B;IACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAC1C,QAAQ,EACR,CAAC,EACD,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,SAAS,EACT,CAAC,KAAY,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EACtC,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IAEF,IAAI,SAAS,KAAK,IAAI;QAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAExE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
@@ -30,6 +30,7 @@ export function patchInteraction(interaction, parent) {
30
30
  return editWebhookMessage(interaction.application_id, interaction.token, followUpId, data, undefined, $req);
31
31
  }
32
32
  return new Promise((resolve) => {
33
+ var _a, _b;
33
34
  const { container } = render(parent ? createElement(parent, null, components) : components, async (c) => {
34
35
  if (c.length === 0 || Date.now() > createdAt + 6e4 * 15)
35
36
  return;
@@ -53,7 +54,7 @@ export function patchInteraction(interaction, parent) {
53
54
  resolve(Object.assign(res !== null && res !== void 0 ? res : {}, { $container: container }));
54
55
  });
55
56
  if (!($req === null || $req === void 0 ? void 0 : $req.persistContainer)) {
56
- setTimeout(() => reconciler.updateContainer(null, container), createdAt + 6e4 * 15 - Date.now()).unref();
57
+ (_b = (_a = setTimeout(() => reconciler.updateContainer(null, container), createdAt + 6e4 * 15 - Date.now())).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
57
58
  }
58
59
  });
59
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/rendering/interaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interaction.js","sourceRoot":"","sources":["../../src/rendering/interaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "@dressed/react",
3
- "version": "1.8.3",
3
+ "version": "1.8.5-canary.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Inbestigator/dressed.git",
7
7
  "directory": "packages/dressed-react"
8
8
  },
9
+ "dependencies": {
10
+ "@types/react": "^19.2.10",
11
+ "@types/react-reconciler": "^0.33.0",
12
+ "discord-api-types": "^0.38.38",
13
+ "react-reconciler": "npm:@dressed/react-reconciler"
14
+ },
9
15
  "peerDependencies": {
10
- "dressed": "^1.10.1",
11
- "react": "^19.2.3"
16
+ "dressed": "^1.10.1 || ^2.0.0-canary.2",
17
+ "react": "^19.2.4"
12
18
  },
13
19
  "exports": {
14
20
  ".": "./dist/index.js",
@@ -32,13 +38,5 @@
32
38
  "dry-publish": "bun publish --dry-run"
33
39
  },
34
40
  "type": "module",
35
- "types": "./dist/index.d.ts",
36
- "dependencies": {
37
- "discord-api-types": "^0.38.37",
38
- "react-reconciler": "npm:@dressed/react-reconciler"
39
- },
40
- "devDependencies": {
41
- "@types/react": "^19.2.7",
42
- "@types/react-reconciler": "^0.32.3"
43
- }
41
+ "types": "./dist/index.d.ts"
44
42
  }