@dressed/react 1.7.4-rc.4 → 1.7.4-rc.6

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.
Files changed (34) hide show
  1. package/dist/components/button.d.ts +8 -0
  2. package/dist/components/button.js +5 -1
  3. package/dist/components/button.js.map +1 -1
  4. package/dist/components/container.d.ts +2 -2
  5. package/dist/components/container.js.map +1 -1
  6. package/dist/components/file-upload.d.ts +2 -1
  7. package/dist/components/file-upload.js.map +1 -1
  8. package/dist/components/file.d.ts +2 -1
  9. package/dist/components/file.js.map +1 -1
  10. package/dist/components/section.d.ts +2 -2
  11. package/dist/components/section.js.map +1 -1
  12. package/dist/components/select-menu.d.ts +19 -8
  13. package/dist/components/select-menu.js +5 -1
  14. package/dist/components/select-menu.js.map +1 -1
  15. package/dist/components/separator.d.ts +2 -1
  16. package/dist/components/separator.js.map +1 -1
  17. package/dist/components/text-display.d.ts +2 -2
  18. package/dist/components/text-display.js.map +1 -1
  19. package/dist/components/text-input.d.ts +2 -1
  20. package/dist/components/text-input.js.map +1 -1
  21. package/dist/components/thumbnail.d.ts +2 -1
  22. package/dist/components/thumbnail.js.map +1 -1
  23. package/dist/react/reconciler.js +6 -4
  24. package/dist/react/reconciler.js.map +1 -1
  25. package/dist/rendering/callbacks.d.ts +17 -0
  26. package/dist/rendering/callbacks.js +33 -0
  27. package/dist/rendering/callbacks.js.map +1 -0
  28. package/dist/rendering/index.d.ts +4 -1
  29. package/dist/rendering/index.js +1 -1
  30. package/dist/rendering/index.js.map +1 -1
  31. package/dist/rendering/interaction.d.ts +3 -1
  32. package/dist/rendering/interaction.js +7 -2
  33. package/dist/rendering/interaction.js.map +1 -1
  34. package/package.json +5 -2
@@ -1,9 +1,17 @@
1
1
  import type { APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle } from "discord-api-types/v10";
2
2
  import { type ReactElement } from "react";
3
+ import type { MessageComponentInteraction } from "../rendering/interaction.ts";
3
4
  interface ButtonWithCustomId extends Omit<APIButtonComponentWithCustomId, "type" | "style"> {
4
5
  style?: Exclude<keyof typeof ButtonStyle, "Link" | "Premium">;
5
6
  }
7
+ interface ButtonWithOnClick extends Omit<ButtonWithCustomId, "custom_id"> {
8
+ /** Create a temporary handler callback, will not work in a serverless environment */
9
+ onClick: (interaction: MessageComponentInteraction<"Button">) => void;
10
+ /** An additional handler identity defined in the callback setup which will run if the `onClick` is no longer registered */
11
+ fallback?: string;
12
+ }
6
13
  export declare function Button(props: ButtonWithCustomId): ReactElement<APIButtonComponentWithCustomId>;
14
+ export declare function Button(props: ButtonWithOnClick): ReactElement<APIButtonComponentWithCustomId>;
7
15
  export declare function Button(props: Omit<APIButtonComponentWithSKUId, "type" | "style">): ReactElement<APIButtonComponentWithSKUId>;
8
16
  export declare function Button(props: Omit<APIButtonComponentWithURL, "type" | "style">): ReactElement<APIButtonComponentWithURL>;
9
17
  export {};
@@ -1,7 +1,11 @@
1
1
  import { Button as DressedComponent } from "dressed";
2
2
  import { createElement } from "react";
3
+ import { registerHandler } from "../rendering/callbacks.js";
3
4
  export function Button(props) {
4
- const component = DressedComponent(props);
5
+ const component = DressedComponent({
6
+ ...props,
7
+ ...("onClick" in props ? registerHandler(props.onClick, props.fallback) : {}),
8
+ });
5
9
  return createElement("dressed-node", component);
6
10
  }
7
11
  //# 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;AAczD,MAAM,UAAU,MAAM,CACpB,KAGqD;IAErD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAc,CAAC,CAAC;IACnD,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;AAuB5D,MAAM,UAAU,MAAM,CACpB,KAIqD;IAErD,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,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC,CAAC;IACZ,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { APIContainerComponent } from "discord-api-types/v10";
2
- import { type ReactNode } from "react";
2
+ import { type ReactElement, type ReactNode } from "react";
3
3
  import { type ComponentNode } from "../react/renderer.ts";
4
4
  interface ContainerProps extends Omit<APIContainerComponent, "components" | "type"> {
5
5
  children: ReactNode;
6
6
  }
7
- export declare function Container({ children, ...rest }: ContainerProps): import("react").ReactElement<APIContainerComponent, string | import("react").JSXElementConstructor<any>>;
7
+ export declare function Container({ children, ...rest }: ContainerProps): ReactElement<APIContainerComponent>;
8
8
  export declare function parseContainer<T extends APIContainerComponent>(props: T, children: ComponentNode[]): Promise<T>;
9
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/components/container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAsB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMrE,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAkB;IAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAkC,KAAQ,EAAE,QAAyB;IACvG,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/components/container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AACzE,OAAO,EAAsB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMrE,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAkB;IAC7D,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAkC,KAAQ,EAAE,QAAyB;IACvG,OAAO,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;AAC9E,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import type { APIFileUploadComponent } from "discord-api-types/v10";
2
- export declare function FileUpload(props: Omit<APIFileUploadComponent, "type">): import("react").ReactElement<APIFileUploadComponent, string | import("react").JSXElementConstructor<any>>;
2
+ import { type ReactElement } from "react";
3
+ export declare function FileUpload(props: Omit<APIFileUploadComponent, "type">): ReactElement<APIFileUploadComponent>;
@@ -1 +1 @@
1
- {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/components/file-upload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,UAAU,UAAU,CAAC,KAA2C;IACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"file-upload.js","sourceRoot":"","sources":["../../src/components/file-upload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAEzD,MAAM,UAAU,UAAU,CAAC,KAA2C;IACpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { APIFileComponent } from "discord-api-types/v10";
2
+ import { type ReactElement } from "react";
2
3
  interface FileProps extends Omit<APIFileComponent, "file" | "type"> {
3
4
  file: APIFileComponent["file"] | string;
4
5
  }
5
- export declare function File({ file, ...rest }: FileProps): import("react").ReactElement<APIFileComponent, string | import("react").JSXElementConstructor<any>>;
6
+ export declare function File({ file, ...rest }: FileProps): ReactElement<APIFileComponent>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/components/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAa;IAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/components/file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAMzD,MAAM,UAAU,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,EAAa;IAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { APISectionComponent } from "discord-api-types/v10";
2
- import { type ReactNode } from "react";
2
+ import { type ReactElement, type ReactNode } from "react";
3
3
  import { type ComponentNode } from "../react/renderer.ts";
4
4
  interface SectionProps extends Omit<APISectionComponent, "accessory" | "components" | "type"> {
5
5
  children: ReactNode;
6
6
  accessory: ReactNode;
7
7
  }
8
- export declare function Section({ children, accessory, ...rest }: SectionProps): import("react").ReactElement<APISectionComponent, string | import("react").JSXElementConstructor<any>>;
8
+ export declare function Section({ children, accessory, ...rest }: SectionProps): ReactElement<APISectionComponent>;
9
9
  export declare function parseSection<T extends APISectionComponent>(props: T, children: ComponentNode[]): Promise<T>;
10
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/components/section.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AACtD,OAAO,EAAsB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOrE,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAgB;IACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAa,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAgC,KAAQ,EAAE,QAAyB;IACnG,MAAM,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/components/section.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AACzE,OAAO,EAAsB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAOrE,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAgB;IACpE,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAa,EAAE,IAAI,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAgC,KAAQ,EAAE,QAAyB;IACnG,MAAM,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9E,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAC7C,CAAC"}
@@ -1,19 +1,30 @@
1
1
  import { type APISelectMenuComponent, type APISelectMenuOption, ComponentType } from "discord-api-types/v10";
2
- import { type ReactNode } from "react";
2
+ import { type ReactElement, type ReactNode } from "react";
3
3
  import type { Node } from "../react/node.ts";
4
+ import type { MessageComponentInteraction } from "../rendering/interaction.ts";
4
5
  type SelectType = "Channel" | "Mentionable" | "Role" | "String" | "User";
5
6
  type SelectMap = {
6
7
  [Key in keyof typeof ComponentType]: Extract<APISelectMenuComponent, {
7
8
  type: (typeof ComponentType)[Key];
8
9
  }>;
9
10
  };
10
- type MenuProps<K extends SelectType> = Omit<SelectMap[`${K}Select`], "type" | "options"> & ({
11
+ type SelectMenuWithCustomId<K extends SelectType> = Omit<SelectMap[`${K}Select`], "type" | "options"> & {
12
+ type: K;
13
+ } & (K extends "String" ? {
11
14
  children: ReactNode;
12
- type: "String";
13
- } | {
14
- type: Exclude<K, "String">;
15
- });
16
- export declare function SelectMenu<K extends SelectType>(props: MenuProps<K>): import("react").DOMElement<never, Element>;
17
- export declare function SelectMenuOption(props: APISelectMenuOption): import("react").ReactElement<APISelectMenuOption, string | import("react").JSXElementConstructor<any>>;
15
+ } : object);
16
+ type SelectMenuWithOnClick<K extends SelectType> = Omit<SelectMenuWithCustomId<K>, "custom_id"> & {
17
+ /** Create a temporary handler callback, will not work in a serverless environment */
18
+ onSubmit: (interaction: MessageComponentInteraction<`${K}Select`>) => void;
19
+ /** An additional handler identity defined in the callback setup which will run if the `onSubmit` is no longer registered */
20
+ fallback?: string;
21
+ };
22
+ export declare function SelectMenu<K extends SelectType>(props: SelectMenuWithCustomId<K> & {
23
+ type: K;
24
+ }): ReactElement<SelectMap[`${K}Select`]>;
25
+ export declare function SelectMenu<K extends SelectType>(props: SelectMenuWithOnClick<K> & {
26
+ type: K;
27
+ }): ReactElement<SelectMap[`${K}Select`]>;
28
+ export declare function SelectMenuOption(props: APISelectMenuOption): ReactElement<APISelectMenuOption>;
18
29
  export declare function parseSelectMenu<T extends APISelectMenuComponent>(props: T, children: Node<APISelectMenuOption>[]): T;
19
30
  export {};
@@ -1,9 +1,13 @@
1
1
  import { ComponentType } from "discord-api-types/v10";
2
2
  import { SelectMenu as DressedComponent, SelectMenuOption as DressedOption } from "dressed";
3
3
  import { createElement } from "react";
4
+ import { registerHandler } from "../rendering/callbacks.js";
4
5
  export function SelectMenu(props) {
5
6
  const { children, ...rest } = props;
6
- const component = DressedComponent(rest);
7
+ const component = DressedComponent({
8
+ ...rest,
9
+ ...("onSubmit" in props ? registerHandler(props.onSubmit, props.fallback) : {}),
10
+ });
7
11
  return createElement("dressed-node", component, children);
8
12
  }
9
13
  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,EAAkB,MAAM,OAAO,CAAC;AAYtD,MAAM,UAAU,UAAU,CAAuB,KAAmB;IAClE,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,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;AA2B5D,MAAM,UAAU,UAAU,CACxB,KAA2D;IAE3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,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,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KAChF,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,6 +1,7 @@
1
1
  import type { APISeparatorComponent, SeparatorSpacingSize } from "discord-api-types/v10";
2
+ import { type ReactElement } from "react";
2
3
  interface SeparatorProps extends Omit<APISeparatorComponent, "type" | "spacing"> {
3
4
  spacing?: keyof typeof SeparatorSpacingSize;
4
5
  }
5
- export declare function Separator({ spacing, ...props }: SeparatorProps): import("react").ReactElement<APISeparatorComponent, string | import("react").JSXElementConstructor<any>>;
6
+ export declare function Separator({ spacing, ...props }: SeparatorProps): ReactElement<APISeparatorComponent>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/components/separator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,MAAM,UAAU,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAkB;IAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../src/components/separator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAMzD,MAAM,UAAU,SAAS,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAkB;IAC7D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { APITextDisplayComponent } from "discord-api-types/v10";
2
- import { type ReactNode } from "react";
2
+ import { type ReactElement, type ReactNode } from "react";
3
3
  interface TextDisplayProps extends Omit<APITextDisplayComponent, "content" | "type"> {
4
4
  children: ReactNode;
5
5
  }
6
- export declare function TextDisplay({ children, ...rest }: TextDisplayProps): import("react").ReactElement<APITextDisplayComponent, string | import("react").JSXElementConstructor<any>>;
6
+ export declare function TextDisplay({ children, ...rest }: TextDisplayProps): ReactElement<APITextDisplayComponent>;
7
7
  export declare function parseTextDisplay<T extends APITextDisplayComponent>(props: T, children: string): T;
8
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"text-display.js","sourceRoot":"","sources":["../../src/components/text-display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAkB,MAAM,OAAO,CAAC;AAMtD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAoB;IACjE,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAoC,KAAQ,EAAE,QAAgB;IAC5F,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"text-display.js","sourceRoot":"","sources":["../../src/components/text-display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AAMzE,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAoB;IACjE,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAoC,KAAQ,EAAE,QAAgB;IAC5F,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { APITextInputComponent, TextInputStyle } from "discord-api-types/v10";
2
+ import { type ReactElement } from "react";
2
3
  interface TextInputProps extends Omit<APITextInputComponent, "type" | "style"> {
3
4
  style?: keyof typeof TextInputStyle;
4
5
  }
5
- export declare function TextInput({ style, ...props }: TextInputProps): import("react").ReactElement<APITextInputComponent, string | import("react").JSXElementConstructor<any>>;
6
+ export declare function TextInput({ style, ...props }: TextInputProps): ReactElement<APITextInputComponent>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/components/text-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAkB;IAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"text-input.js","sourceRoot":"","sources":["../../src/components/text-input.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAMzD,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAkB;IAC3D,MAAM,SAAS,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { APIThumbnailComponent } from "discord-api-types/v10";
2
+ import { type ReactElement } from "react";
2
3
  interface ThumbnailProps extends Omit<APIThumbnailComponent, "media" | "type"> {
3
4
  media: APIThumbnailComponent["media"] | string;
4
5
  }
5
- export declare function Thumbnail({ media, ...rest }: ThumbnailProps): import("react").ReactElement<APIThumbnailComponent, string | import("react").JSXElementConstructor<any>>;
6
+ export declare function Thumbnail({ media, ...rest }: ThumbnailProps): ReactElement<APIThumbnailComponent>;
6
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../src/components/thumbnail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAMtC,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAkB;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"thumbnail.js","sourceRoot":"","sources":["../../src/components/thumbnail.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AAMzD,MAAM,UAAU,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,IAAI,EAAkB;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5C,OAAO,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import ReactReconciler from "react-reconciler";
2
2
  import { DefaultEventPriority, NoEventPriority } from "react-reconciler/constants.js";
3
+ import { handlers } from "../rendering/callbacks.js";
3
4
  import { createNode, isNode, removeChild } from "./node.js";
4
5
  import { createTextNode } from "./text-node.js";
5
6
  let currentUpdatePriority = NoEventPriority;
@@ -90,11 +91,12 @@ export const reconciler = ReactReconciler({
90
91
  startSuspendingCommit() { },
91
92
  suspendInstance() { },
92
93
  waitForCommitToBeReady: () => null,
93
- commitUpdate(node, _payload, _type, oldProps, newProps) {
94
- const propsToUse = newProps.props === undefined ? oldProps.props : newProps.props;
95
- if (propsToUse !== undefined) {
96
- node.props = propsToUse;
94
+ commitUpdate(node, _type, oldProps, newProps) {
95
+ if (typeof oldProps.$registeredHandler === "string") {
96
+ handlers.delete(oldProps.$registeredHandler);
97
97
  }
98
+ const { children, ...props } = newProps !== null && newProps !== void 0 ? newProps : oldProps;
99
+ node.props = props;
98
100
  },
99
101
  commitTextUpdate(node, _oldText, newText) {
100
102
  node.props = newText;
@@ -1 +1 @@
1
- {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/react/reconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reconciler.js","sourceRoot":"","sources":["../../src/react/reconciler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type MessageComponentInteraction, type ModalSubmitInteraction } from "./interaction.ts";
2
+ type Handler = ((i: MessageComponentInteraction) => void | Promise<void>) | ((i: ModalSubmitInteraction) => void | Promise<void>);
3
+ export declare const handlers: Map<string, Handler>;
4
+ /** The pattern to export for handling `onClick`/`onSubmit` callbacks */
5
+ export declare const pattern = "@dressed/react-handler-:handlerId{-:fallback}";
6
+ /** Creates a function for handling callback interactions */
7
+ export declare function setupCallbacksHandler<T extends Record<string, Handler> = {}>(fallbacks?: T): ((interaction: MessageComponentInteraction | ModalSubmitInteraction, args: {
8
+ handlerId: string;
9
+ fallback?: string;
10
+ }) => Promise<void>) & {
11
+ fallbacks: { [K in keyof T]: K; };
12
+ };
13
+ export declare function registerHandler(handler: Handler, fallback?: string, id?: string): {
14
+ custom_id: string;
15
+ $registeredHandler: string;
16
+ };
17
+ export {};
@@ -0,0 +1,33 @@
1
+ import { patchInteraction } from "./interaction.js";
2
+ export const handlers = new Map();
3
+ /** The pattern to export for handling `onClick`/`onSubmit` callbacks */
4
+ export const pattern = "@dressed/react-handler-:handlerId{-:fallback}";
5
+ /** Creates a function for handling callback interactions */
6
+ // biome-ignore lint/complexity/noBannedTypes: Need an empty record
7
+ export function setupCallbacksHandler(fallbacks = {}) {
8
+ for (const key in fallbacks)
9
+ handlers.set(key, fallbacks[key]);
10
+ return Object.assign(async (interaction, args) => {
11
+ var _a, _b;
12
+ const handler = (_a = handlers.get(args.handlerId)) !== null && _a !== void 0 ? _a : handlers.get((_b = args.fallback) !== null && _b !== void 0 ? _b : "default");
13
+ // @ts-expect-error
14
+ interaction = interaction.$patched === Symbol.for("@dressed/react") ? interaction : patchInteraction(interaction);
15
+ if (!handler)
16
+ throw new Error("Unknown handler");
17
+ await handler(interaction);
18
+ if (!interaction.history.length)
19
+ interaction.deferUpdate();
20
+ }, { fallbacks: Object.fromEntries(Object.keys(fallbacks).map((k) => [k, k])) });
21
+ }
22
+ export function registerHandler(handler, fallback, id = randId()) {
23
+ handlers.set(id, handler);
24
+ const fbText = fallback ? `-${fallback}` : "";
25
+ return { custom_id: `@dressed/react-handler-${id}${fbText}`, $registeredHandler: id };
26
+ }
27
+ function randId(length = 16) {
28
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
29
+ const array = new Uint32Array(length);
30
+ crypto.getRandomValues(array);
31
+ return Array.from(array, (x) => chars[x % chars.length]).join("");
32
+ }
33
+ //# sourceMappingURL=callbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/rendering/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAMnH,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,iBAAiB,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,WAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC,EACD,EAAE,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,CAA0B,EAAE,CACtG,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,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,CAAC;AACxF,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,3 +1,6 @@
1
1
  import type { ReactNode } from "react";
2
2
  import { type RendererCallback } from "../react/renderer.ts";
3
- export declare function render(children: ReactNode, callback: RendererCallback): import("../react/renderer.ts").Renderer;
3
+ export declare function render(children: ReactNode, callback: RendererCallback): {
4
+ renderer: import("../react/renderer.ts").Renderer;
5
+ container: any;
6
+ };
@@ -5,6 +5,6 @@ export function render(children, callback) {
5
5
  const container = reconciler.createContainer(renderer, 0, null, false, null, "dressed", (error) => console.error(error), () => { }, () => { }, () => { }, null);
6
6
  if (container !== null)
7
7
  reconciler.updateContainer(children, container);
8
- return renderer;
8
+ return { renderer, container };
9
9
  }
10
10
  //# sourceMappingURL=index.js.map
@@ -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,QAAQ,CAAC;AAClB,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,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"}
@@ -7,7 +7,9 @@ type ReactivatedInteraction<T> = OverrideMethodParams<T, {
7
7
  components: ReactNode,
8
8
  ...(Parameters<T[K]> extends readonly [...infer P] ? [data?: Omit<Exclude<P[0], string>, "content" | "components">, $req?: P[1]] : never)
9
9
  ];
10
- }>;
10
+ }> & {
11
+ $patched: symbol;
12
+ };
11
13
  type OverrideMethodParams<T, Overrides extends Record<string, unknown[]>> = {
12
14
  [K in keyof T]: K extends keyof Overrides ? T[K] extends (...args: any) => any ? (...args: Overrides[K]) => ReturnType<T[K]> : T[K] : T[K];
13
15
  };
@@ -1,11 +1,13 @@
1
1
  import { MessageFlags } from "discord-api-types/v10";
2
2
  import { editWebhookMessage, } from "dressed";
3
+ import { reconciler } from "../react/reconciler.js";
3
4
  import { render } from "./index.js";
4
5
  export function patchInteraction(interaction) {
6
+ const createdAt = Date.now();
5
7
  if (!interaction)
6
8
  throw new Error("No interaction");
7
9
  // biome-ignore lint/suspicious/noExplicitAny: We're overriding the types
8
- const newInteraction = interaction;
10
+ const newInteraction = { $patched: Symbol.for("@dressed/react"), ...interaction };
9
11
  // @ts-expect-error
10
12
  const editReply = interaction.editReply;
11
13
  for (const method of ["reply", "editReply", "update", "followUp", "showModal"]) {
@@ -17,7 +19,10 @@ export function patchInteraction(interaction) {
17
19
  data.flags = ((_a = data.flags) !== null && _a !== void 0 ? _a : 0) | MessageFlags.IsComponentsV2;
18
20
  return new Promise((resolve) => {
19
21
  let followUpId;
20
- render(components, async (c) => {
22
+ const { container } = render(components, async (c) => {
23
+ if (Date.now() > createdAt + 6e4 * 15) {
24
+ return reconciler.updateContainer(null, container);
25
+ }
21
26
  // @ts-expect-error
22
27
  data.components = c;
23
28
  if (followUpId) {
@@ -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;AAGjB,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAuCpC,MAAM,UAAU,gBAAgB,CAC9B,WAAc;IAEd,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpD,yEAAyE;IACzE,MAAM,cAAc,GAAG,WAAkB,CAAC;IAC1C,mBAAmB;IACnB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAgB,EAAE,CAAC;QAC9F,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;YAAE,SAAS;QAEvC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAA4B,CAAC;QAEhE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAA0C,EAAE,EAAE;;YACrG,IAAI,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC;YAE7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,UAAkB,CAAC;gBACvB,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC7B,mBAAmB;oBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,kBAAkB,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC9G,CAAC;oBACD,MAAM,UAAU,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACvG,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAClE,IAAI,MAAM,KAAK,UAAU;wBAAE,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
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;AAGjB,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAyCpC,MAAM,UAAU,gBAAgB,CAC9B,WAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,IAAI,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACpD,yEAAyE;IACzE,MAAM,cAAc,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,GAAG,WAAW,EAAS,CAAC;IACzF,mBAAmB;IACnB,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAgB,EAAE,CAAC;QAC9F,IAAI,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC;YAAE,SAAS;QAEvC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAA4B,CAAC;QAEhE,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,CAA0C,EAAE,EAAE;;YACrG,IAAI,CAAC,KAAK,GAAG,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC;YAE7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,IAAI,UAAkB,CAAC;gBACvB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;oBACnD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC;wBACtC,OAAO,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBACrD,CAAC;oBACD,mBAAmB;oBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;oBACpB,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,kBAAkB,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBAC9G,CAAC;oBACD,MAAM,UAAU,GAAG,CAAC,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,QAAQ,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACvG,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAClE,IAAI,MAAM,KAAK,UAAU;wBAAE,UAAU,GAAG,GAAG,CAAC,EAAE,CAAC;oBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dressed/react",
3
- "version": "1.7.4-rc.4",
3
+ "version": "1.7.4-rc.6",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/Inbestigator/dressed.git",
@@ -10,7 +10,10 @@
10
10
  "dressed": "^1.10.1",
11
11
  "react": "^19.2.3"
12
12
  },
13
- "exports": "./dist/index.js",
13
+ "exports": {
14
+ ".": "./dist/index.js",
15
+ "./callbacks": "./dist/callbacks.js"
16
+ },
14
17
  "description": "Render Dressed's components using React",
15
18
  "files": [
16
19
  "dist"