@plexcord/types 1.18.1 → 1.18.2

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 (84) hide show
  1. package/api/ChatButtons.d.ts +18 -1
  2. package/api/MessagePopover.d.ts +15 -2
  3. package/api/Settings.d.ts +14 -1
  4. package/components/ErrorBoundary.d.ts +3 -1
  5. package/components/Icons.d.ts +4 -0
  6. package/components/settings/tabs/BaseTab.d.ts +1 -0
  7. package/components/settings/tabs/changelog/changelogManager.d.ts +0 -1
  8. package/components/settings/tabs/index.d.ts +1 -1
  9. package/components/settings/tabs/plugins/UIElements.d.ts +2 -0
  10. package/components/settings/tabs/updater/index.d.ts +0 -1
  11. package/package.json +1 -1
  12. package/plugins/_api/badges/index.d.ts +1 -0
  13. package/plugins/bannersEverywhere/index.d.ts +2 -2
  14. package/plugins/betterSettings/index.d.ts +3 -2
  15. package/plugins/clientSideBlock/index.d.ts +16 -1
  16. package/plugins/decodeBase64/index.d.ts +11 -9
  17. package/plugins/findReply/index.d.ts +13 -1
  18. package/plugins/fixSpotifyEmbeds.desktop/index.d.ts +10 -1
  19. package/plugins/gameActivityToggle/index.d.ts +31 -0
  20. package/plugins/hideChatButtons/index.d.ts +4 -4
  21. package/plugins/hideMedia/index.d.ts +11 -9
  22. package/plugins/holyNotes/components/icons/NoteButton.d.ts +4 -4
  23. package/plugins/holyNotes/index.d.ts +11 -1
  24. package/plugins/invisibleChat.desktop/index.d.ts +9 -10
  25. package/plugins/meow/index.d.ts +6 -1
  26. package/plugins/messageFetchTimer/index.d.ts +6 -2
  27. package/plugins/messageLoggerEnhanced/index.d.ts +4 -4
  28. package/plugins/messageLoggerEnhanced/settings.d.ts +4 -4
  29. package/plugins/plexcordToolbox/index.d.ts +31 -0
  30. package/plugins/plexcordToolbox/menu.d.ts +4 -0
  31. package/plugins/previewMessage/index.d.ts +5 -2
  32. package/plugins/questify/utils/misc.d.ts +8 -3
  33. package/plugins/quickMention/index.d.ts +15 -8
  34. package/plugins/randomVoice/index.d.ts +6 -6
  35. package/plugins/relationshipNotifier/index.d.ts +25 -12
  36. package/plugins/relationshipNotifier/settings.d.ts +24 -12
  37. package/plugins/remix/index.d.ts +1 -0
  38. package/plugins/repeatMessages/index.d.ts +13 -10
  39. package/plugins/replaceGoogleSearch/index.d.ts +8 -4
  40. package/plugins/replyPingControl/index.d.ts +17 -8
  41. package/plugins/replyTimestamp/index.d.ts +1 -0
  42. package/plugins/revealAllSpoilers/index.d.ts +1 -0
  43. package/plugins/reverseImageSearch/index.d.ts +1 -0
  44. package/plugins/reviewDB/index.d.ts +21 -8
  45. package/plugins/reviewDB/settings.d.ts +20 -8
  46. package/plugins/roleColorEverywhere/index.d.ts +32 -16
  47. package/plugins/searchFix/index.d.ts +1 -0
  48. package/plugins/secretRingTone/index.d.ts +5 -2
  49. package/plugins/seeSummaries/index.d.ts +5 -2
  50. package/plugins/selfForward/index.d.ts +1 -0
  51. package/plugins/sendTimestamps/index.d.ts +10 -4
  52. package/plugins/serverInfo/index.d.ts +17 -12
  53. package/plugins/serverListIndicators/index.d.ts +25 -16
  54. package/plugins/serverSearch/index.d.ts +1 -0
  55. package/plugins/shikiCodeblocks.desktop/index.d.ts +47 -31
  56. package/plugins/shikiCodeblocks.desktop/settings.d.ts +46 -31
  57. package/plugins/showAllMessageButtons/index.d.ts +9 -4
  58. package/plugins/showBadgesInChat/index.d.ts +45 -26
  59. package/plugins/showBadgesInChat/settings.d.ts +44 -26
  60. package/plugins/showConnections/index.d.ts +11 -6
  61. package/plugins/showHiddenChannels/index.d.ts +33 -20
  62. package/plugins/showHiddenThings/index.d.ts +13 -6
  63. package/plugins/signature/index.d.ts +5 -2
  64. package/plugins/silentMessageToggle/index.d.ts +5 -2
  65. package/plugins/silentTyping/index.d.ts +5 -2
  66. package/plugins/soundBoardLogger/components/Icons.d.ts +2 -5
  67. package/plugins/soundBoardLogger/index.d.ts +4 -0
  68. package/plugins/translate/TranslateIcon.d.ts +2 -5
  69. package/plugins/translate/index.d.ts +15 -9
  70. package/plugins/unitConverter/ConverterAccessory.d.ts +2 -5
  71. package/plugins/unitConverter/index.d.ts +12 -1
  72. package/plugins/viewRaw/index.d.ts +13 -9
  73. package/shared/SettingsStore.d.ts +17 -3
  74. package/utils/constants.d.ts +4 -0
  75. package/utils/text.d.ts +1 -0
  76. package/utils/types.d.ts +40 -16
  77. package/webpack/common/utils.d.ts +1 -0
  78. package/plugins/betterSettings/PluginsSubmenu.d.ts +0 -1
  79. package/plugins/index.d.ts +0 -27
  80. package/plugins/quoter/components.d.ts +0 -1
  81. package/plugins/remixMe/index.d.ts +0 -11
  82. package/utils/cloud.d.ts +0 -8
  83. package/utils/quickCss.d.ts +0 -1
  84. package/utils/settingsSync.d.ts +0 -22
@@ -1,5 +1,6 @@
1
1
  import "./ChatButton.css";
2
2
  import { Channel } from "@plexcord/discord-types";
3
+ import { IconComponent } from "../utils/types";
3
4
  import { HTMLProps, JSX, MouseEventHandler, ReactNode } from "react";
4
5
  export interface ChatBarProps {
5
6
  channel: Channel;
@@ -61,8 +62,24 @@ export interface ChatBarProps {
61
62
  export type ChatBarButtonFactory = (props: ChatBarProps & {
62
63
  isMainChat: boolean;
63
64
  }) => JSX.Element | null;
65
+ export type ChatBarButtonData = {
66
+ render: ChatBarButtonFactory;
67
+ /**
68
+ * This icon is used only for Settings UI. Your render function must still render an icon,
69
+ * and it can be different from this one.
70
+ */
71
+ icon: IconComponent;
72
+ };
73
+ /**
74
+ * Don't use this directly, use {@link addChatBarButton} and {@link removeChatBarButton} instead.
75
+ */
76
+ export declare const ChatBarButtonMap: Map<string, ChatBarButtonData>;
64
77
  export declare function _injectButtons(buttons: ReactNode[], props: ChatBarProps): ReactNode[] | undefined;
65
- export declare const addChatBarButton: (id: string, button: ChatBarButtonFactory) => Map<string, ChatBarButtonFactory>;
78
+ /**
79
+ * The icon argument is used only for Settings UI. Your render function must still render an icon,
80
+ * and it can be different from this one.
81
+ */
82
+ export declare const addChatBarButton: (id: string, render: ChatBarButtonFactory, icon: IconComponent) => Map<string, ChatBarButtonData>;
66
83
  export declare const removeChatBarButton: (id: string) => boolean;
67
84
  export interface ChatBarButtonProps {
68
85
  children: ReactNode;
@@ -1,4 +1,5 @@
1
1
  import { Channel, Message } from "@plexcord/discord-types";
2
+ import { IconComponent } from "../utils/types";
2
3
  import type { ComponentType, MouseEventHandler } from "react";
3
4
  export interface MessagePopoverButtonItem {
4
5
  key?: string;
@@ -10,7 +11,19 @@ export interface MessagePopoverButtonItem {
10
11
  onContextMenu?: MouseEventHandler<HTMLButtonElement>;
11
12
  }
12
13
  export type MessagePopoverButtonFactory = (message: Message) => MessagePopoverButtonItem | null;
13
- export declare const buttons: Map<string, MessagePopoverButtonFactory>;
14
- export declare function addMessagePopoverButton(identifier: string, item: MessagePopoverButtonFactory): void;
14
+ export type MessagePopoverButtonData = {
15
+ render: MessagePopoverButtonFactory;
16
+ /**
17
+ * This icon is used only for Settings UI. Your render function must still return an icon,
18
+ * and it can be different from this one.
19
+ */
20
+ icon: IconComponent;
21
+ };
22
+ export declare const MessagePopoverButtonMap: Map<string, MessagePopoverButtonData>;
23
+ /**
24
+ * The icon argument is used only for Settings UI. Your render function must still return an icon,
25
+ * and it can be different from this one.
26
+ */
27
+ export declare function addMessagePopoverButton(identifier: string, render: MessagePopoverButtonFactory, icon: IconComponent): void;
15
28
  export declare function removeMessagePopoverButton(identifier: string): void;
16
29
  export declare function _buildPopoverElements(Component: React.ComponentType<MessagePopoverButtonItem>, message: Message): import("react").JSX.Element;
package/api/Settings.d.ts CHANGED
@@ -1,5 +1,14 @@
1
1
  import { SettingsStore as SettingsStoreClass } from "../shared/SettingsStore";
2
2
  import { DefinedSettings, SettingsChecks, SettingsDefinition } from "../utils/types";
3
+ export interface SettingsPluginUiElement {
4
+ enabled: boolean;
5
+ /** not implemented for now */
6
+ order?: number;
7
+ }
8
+ export type SettingsPluginUiElements = {
9
+ /** id will be whatever id the element was registered with. Usually, but not always, the plugin name */
10
+ [id: string]: SettingsPluginUiElement;
11
+ };
3
12
  export interface Settings {
4
13
  autoUpdate: boolean;
5
14
  autoUpdateNotification: boolean;
@@ -26,6 +35,10 @@ export interface Settings {
26
35
  [setting: string]: any;
27
36
  };
28
37
  };
38
+ uiElements: {
39
+ messagePopoverButtons: SettingsPluginUiElements;
40
+ chatBarButtons: SettingsPluginUiElements;
41
+ };
29
42
  notifications: {
30
43
  timeout: number;
31
44
  position: "top-right" | "bottom-right";
@@ -77,6 +90,6 @@ export declare function migrateSettingFromPlugin(newPlugin: string, newSetting:
77
90
  export declare function definePluginSettings<Def extends SettingsDefinition, Checks extends SettingsChecks<Def>, PrivateSettings extends object = {}>(def: Def, checks?: Checks): DefinedSettings<Def, Checks, PrivateSettings>;
78
91
  type UseSettings<T extends object> = ResolveUseSettings<T>[keyof T];
79
92
  type ResolveUseSettings<T extends object> = {
80
- [Key in keyof T]: Key extends string ? T[Key] extends Record<string, unknown> ? UseSettings<T[Key]> extends string ? `${Key}.${UseSettings<T[Key]>}` : never : Key : never;
93
+ [Key in keyof T]: Key extends string ? T[Key] extends Record<string, unknown> ? `${Key}.*` | (ResolveUseSettings<T[Key]> extends Record<string, string> ? `${Key}.${ResolveUseSettings<T[Key]>[keyof T[Key]]}` : never) : Key : never;
81
94
  };
82
95
  export {};
@@ -21,6 +21,8 @@ interface Props<T = any> {
21
21
  wrappedProps?: T;
22
22
  }
23
23
  declare const ErrorBoundary: LazyComponentWrapper<React.ComponentType<React.PropsWithChildren<Props>> & {
24
- wrap<T extends object = any>(Component: React.ComponentType<T>, errorBoundaryProps?: Omit<Props<T>, "wrappedProps">): React.FunctionComponent<T>;
24
+ wrap<T extends object = any>(Component: React.ComponentType<T>, errorBoundaryProps?: Omit<Props<T>, "wrappedProps"> & {
25
+ displayName?: string;
26
+ }): React.FunctionComponent<T>;
25
27
  }>;
26
28
  export default ErrorBoundary;
@@ -40,4 +40,8 @@ export declare function PencilIcon(props: IconProps): import("react").JSX.Elemen
40
40
  export declare function QuoteIcon(): import("react").JSX.Element;
41
41
  export declare function GithubIcon(props: IconProps): import("react").JSX.Element;
42
42
  export declare function WebsiteIcon(props: IconProps): import("react").JSX.Element;
43
+ /**
44
+ * A question mark inside a square, used as a placeholder icon when no other icon is available
45
+ */
46
+ export declare function PlaceholderIcon(props: IconProps): import("react").JSX.Element;
43
47
  export {};
@@ -5,3 +5,4 @@ export declare function SettingsTab({ title, children }: PropsWithChildren<{
5
5
  }>): import("react").JSX.Element;
6
6
  export declare const handleSettingsTabError: typeof handleComponentFailed;
7
7
  export declare function wrapTab(component: ComponentType<any>, tab: string): import("react").FunctionComponent<any>;
8
+ export declare function openSettingsTabModal(Tab: ComponentType<any>): void;
@@ -36,5 +36,4 @@ export declare function clearIndividualLog(logId: string): Promise<void>;
36
36
  export declare function initializeChangelog(): Promise<void>;
37
37
  export declare function getLastRepositoryCheckHash(): Promise<string | null>;
38
38
  export declare function setLastRepositoryCheckHash(hash: string): Promise<void>;
39
- export declare function formatTimestamp(timestamp: number): string;
40
39
  export {};
@@ -9,4 +9,4 @@ export { openPluginModal } from "./plugins/PluginModal";
9
9
  export { default as BackupAndRestoreTab } from "./sync/BackupAndRestoreTab";
10
10
  export { default as CloudTab } from "./sync/CloudTab";
11
11
  export { default as ThemesTab } from "./themes";
12
- export { openUpdaterModal, default as UpdaterTab } from "./updater";
12
+ export { default as UpdaterTab } from "./updater";
@@ -0,0 +1,2 @@
1
+ import "./UIElements.css";
2
+ export declare function UIElementsButton(): import("react").JSX.Element;
@@ -1,3 +1,2 @@
1
1
  declare const _default: import("react").FunctionComponent<any> | null;
2
2
  export default _default;
3
- export declare const openUpdaterModal: (() => void) | null;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@plexcord/types",
3
3
  "private": false,
4
- "version": "1.18.1",
4
+ "version": "1.18.2",
5
5
  "description": "",
6
6
  "types": "index.d.ts",
7
7
  "scripts": {
@@ -1,6 +1,7 @@
1
1
  import "./fixDiscordBadgePadding.css";
2
2
  import { BadgePosition, BadgeUserArgs, ProfileBadge } from "../../../api/Badges";
3
3
  import { User } from "@plexcord/discord-types";
4
+ export declare function openDonorModal(props: any): import("react").JSX.Element;
4
5
  declare const _default: {
5
6
  name: string;
6
7
  description: string;
@@ -1,5 +1,5 @@
1
1
  import { User } from "@plexcord/discord-types";
2
- import { OptionType, Plugin } from "../../utils/types";
2
+ import { OptionType } from "../../utils/types";
3
3
  interface Nameplate {
4
4
  imgAlt: string;
5
5
  palette: {
@@ -64,5 +64,5 @@ declare const _default: {
64
64
  memberListBannerHook(user: User, nameplate: Nameplate | undefined): import("react").JSX.Element | undefined;
65
65
  gifToPng(url: string): Promise<string>;
66
66
  getBanner(userId: string): string | undefined;
67
- } & Record<PropertyKey, any> & Plugin;
67
+ } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
68
68
  export default _default;
@@ -1,6 +1,6 @@
1
+ import { buildPluginMenuEntries, buildThemeMenuEntries } from "../plexcordToolbox/menu";
1
2
  import { OptionType } from "../../utils/types";
2
3
  import type { HTMLAttributes, ReactElement } from "react";
3
- import PluginsSubmenu from "./PluginsSubmenu";
4
4
  type SettingsEntry = {
5
5
  section: string;
6
6
  label: string;
@@ -89,7 +89,8 @@ declare const _default: {
89
89
  })[];
90
90
  predicate?: undefined;
91
91
  })[];
92
- PluginsSubmenu: typeof PluginsSubmenu;
92
+ buildPluginMenuEntries: typeof buildPluginMenuEntries;
93
+ buildThemeMenuEntries: typeof buildThemeMenuEntries;
93
94
  Layer(props: LayerProps): string | number | bigint | boolean | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | Iterable<import("react").ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
94
95
  transformSettingsEntries(list: SettingsEntry[]): {
95
96
  label: string | null;
@@ -2,6 +2,7 @@ import { OptionType } from "../../utils/types";
2
2
  declare function shouldHideUser(userId: string, channelId?: string): boolean;
3
3
  declare function isRoleAllBlockedMembers(roleId: any, guildId: any): boolean;
4
4
  declare function hiddenReplyComponent(): import("react").JSX.Element | null | undefined;
5
+ declare function activeNowView(cards: any): any;
5
6
  declare const _default: {
6
7
  name: string;
7
8
  description: string;
@@ -12,6 +13,13 @@ declare const _default: {
12
13
  id: bigint;
13
14
  }[];
14
15
  settings: import("../../utils/types").DefinedSettings<{
16
+ hideVc: {
17
+ readonly label: string;
18
+ readonly description: string;
19
+ type: OptionType.BOOLEAN;
20
+ default: false;
21
+ restartNeeded: true;
22
+ };
15
23
  usersToBlock: {
16
24
  readonly label: string;
17
25
  readonly description: string;
@@ -70,6 +78,13 @@ declare const _default: {
70
78
  default: string;
71
79
  };
72
80
  }, import("../../utils/types").SettingsChecks<{
81
+ hideVc: {
82
+ readonly label: string;
83
+ readonly description: string;
84
+ type: OptionType.BOOLEAN;
85
+ default: false;
86
+ restartNeeded: true;
87
+ };
73
88
  usersToBlock: {
74
89
  readonly label: string;
75
90
  readonly description: string;
@@ -128,6 +143,7 @@ declare const _default: {
128
143
  default: string;
129
144
  };
130
145
  }>, {}>;
146
+ activeNowView: typeof activeNowView;
131
147
  shouldHideUser: typeof shouldHideUser;
132
148
  hiddenReplyComponent: typeof hiddenReplyComponent;
133
149
  isRoleAllBlockedMembers: typeof isRoleAllBlockedMembers;
@@ -153,6 +169,5 @@ declare const _default: {
153
169
  }[];
154
170
  predicate?: undefined;
155
171
  })[];
156
- activeNowView(cards: any): any;
157
172
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
158
173
  export default _default;
@@ -1,5 +1,4 @@
1
- import { OptionType } from "../../utils/types";
2
- declare function DecodeIcon(): import("react").JSX.Element;
1
+ import { IconComponent, OptionType } from "../../utils/types";
3
2
  declare const _default: {
4
3
  name: string;
5
4
  description: string;
@@ -40,13 +39,16 @@ declare const _default: {
40
39
  };
41
40
  }>, {}>;
42
41
  readonly displayDescription: string;
43
- renderMessagePopoverButton(msg: import("@plexcord/discord-types").Message): {
44
- label: string;
45
- icon: typeof DecodeIcon;
46
- message: import("@plexcord/discord-types").Message;
47
- channel: import("@plexcord/discord-types").Channel;
48
- onClick: () => void;
49
- onContextMenu: (e: any) => void;
42
+ messagePopoverButton: {
43
+ icon: IconComponent;
44
+ render(msg: import("@plexcord/discord-types").Message): {
45
+ label: string;
46
+ icon: IconComponent;
47
+ message: import("@plexcord/discord-types").Message;
48
+ channel: import("@plexcord/discord-types").Channel;
49
+ onClick: () => void;
50
+ onContextMenu: (e: any) => void;
51
+ };
50
52
  };
51
53
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
52
54
  export default _default;
@@ -1,4 +1,5 @@
1
- import { OptionType } from "../../utils/types";
1
+ import { Message } from "@plexcord/discord-types";
2
+ import { IconComponent, OptionType } from "../../utils/types";
2
3
  export declare const jumper: any;
3
4
  declare const _default: {
4
5
  name: string;
@@ -7,6 +8,7 @@ declare const _default: {
7
8
  name: string;
8
9
  id: bigint;
9
10
  }[];
11
+ dependencies: string[];
10
12
  settings: import("../../utils/types").DefinedSettings<{
11
13
  includePings: {
12
14
  readonly label: string;
@@ -55,5 +57,15 @@ declare const _default: {
55
57
  readonly displayDescription: string;
56
58
  start(): void;
57
59
  stop(): void;
60
+ messagePopoverButton: {
61
+ icon: IconComponent;
62
+ render(message: Message): {
63
+ label: string;
64
+ icon: IconComponent;
65
+ message: Message;
66
+ channel: import("@plexcord/discord-types").Channel;
67
+ onClick: () => Promise<void>;
68
+ } | null;
69
+ };
58
70
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
59
71
  export default _default;
@@ -16,6 +16,15 @@ declare const _default: {
16
16
  stickToMarkers: false;
17
17
  default: number;
18
18
  };
19
- }, {}, {}>;
19
+ }, import("../../utils/types").SettingsChecks<{
20
+ volume: {
21
+ readonly label: string;
22
+ readonly description: string;
23
+ type: OptionType.SLIDER;
24
+ markers: number[];
25
+ stickToMarkers: false;
26
+ default: number;
27
+ };
28
+ }>, {}>;
20
29
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
21
30
  export default _default;
@@ -14,6 +14,21 @@ declare const _default: {
14
14
  type: OptionType.BOOLEAN;
15
15
  default: false;
16
16
  };
17
+ location: {
18
+ readonly label: string;
19
+ readonly description: string;
20
+ type: OptionType.SELECT;
21
+ readonly options: ({
22
+ label: string;
23
+ value: string;
24
+ default: boolean;
25
+ } | {
26
+ label: string;
27
+ value: string;
28
+ default?: undefined;
29
+ })[];
30
+ readonly hidden: boolean;
31
+ };
17
32
  }, import("../../utils/types").SettingsChecks<{
18
33
  oldIcon: {
19
34
  readonly label: string;
@@ -21,6 +36,21 @@ declare const _default: {
21
36
  type: OptionType.BOOLEAN;
22
37
  default: false;
23
38
  };
39
+ location: {
40
+ readonly label: string;
41
+ readonly description: string;
42
+ type: OptionType.SELECT;
43
+ readonly options: ({
44
+ label: string;
45
+ value: string;
46
+ default: boolean;
47
+ } | {
48
+ label: string;
49
+ value: string;
50
+ default?: undefined;
51
+ })[];
52
+ readonly hidden: boolean;
53
+ };
24
54
  }>, {}>;
25
55
  readonly displayDescription: string;
26
56
  managedStyle: string;
@@ -31,6 +61,7 @@ declare const _default: {
31
61
  replace: string;
32
62
  };
33
63
  }[];
64
+ toolboxActions(): import("react").JSX.Element | null;
34
65
  GameActivityToggleButton: import("react").FunctionComponent<{
35
66
  nameplate?: any;
36
67
  }>;
@@ -4,13 +4,13 @@ declare const _default: {
4
4
  name: string;
5
5
  description: string;
6
6
  settings: import("../../utils/types").DefinedSettings<{
7
- Color: {
7
+ color: {
8
8
  readonly label: string;
9
9
  readonly description: string;
10
10
  type: OptionType.BOOLEAN;
11
11
  default: false;
12
12
  };
13
- Open: {
13
+ open: {
14
14
  readonly label: string;
15
15
  readonly description: string;
16
16
  type: OptionType.BOOLEAN;
@@ -20,13 +20,13 @@ declare const _default: {
20
20
  }) => void;
21
21
  };
22
22
  }, import("../../utils/types").SettingsChecks<{
23
- Color: {
23
+ color: {
24
24
  readonly label: string;
25
25
  readonly description: string;
26
26
  type: OptionType.BOOLEAN;
27
27
  default: false;
28
28
  };
29
- Open: {
29
+ open: {
30
30
  readonly label: string;
31
31
  readonly description: string;
32
32
  type: OptionType.BOOLEAN;
@@ -1,5 +1,5 @@
1
1
  import "./styles.css";
2
- import { ImageVisible } from "../../components/Icons";
2
+ import { ImageInvisible } from "../../components/Icons";
3
3
  import { Message } from "@plexcord/discord-types";
4
4
  declare const _default: {
5
5
  name: string;
@@ -17,17 +17,19 @@ declare const _default: {
17
17
  replace: string;
18
18
  };
19
19
  }[];
20
- renderMessagePopoverButton(msg: Message): {
21
- label: string;
22
- icon: typeof ImageVisible;
23
- message: Message;
24
- channel: import("@plexcord/discord-types").Channel;
25
- onClick: () => any;
26
- } | null;
20
+ messagePopoverButton: {
21
+ icon: typeof ImageInvisible;
22
+ render(msg: Message): {
23
+ label: string;
24
+ icon: typeof ImageInvisible;
25
+ message: Message;
26
+ channel: import("@plexcord/discord-types").Channel;
27
+ onClick: () => Promise<void>;
28
+ } | null;
29
+ };
27
30
  renderMessageAccessory({ message }: Record<string, any>): import("react").JSX.Element | null;
28
31
  start(): Promise<void>;
29
32
  stop(): void;
30
33
  shouldHide(messageId: string): boolean;
31
- toggleHide(channelId: string, messageId: string): Promise<void>;
32
34
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
33
35
  export default _default;
@@ -1,4 +1,4 @@
1
- import { JSX } from "react";
2
- declare const component: (props: React.SVGProps<SVGSVGElement>) => JSX.Element;
3
- export default component;
4
- export declare const Popover: (props: unknown) => JSX.Element;
1
+ import { IconComponent } from "../../../../utils/types";
2
+ declare const NoteButtonIcon: IconComponent;
3
+ export default NoteButtonIcon;
4
+ export declare const Popover: IconComponent;
@@ -1,5 +1,6 @@
1
1
  import "./style.css";
2
2
  import { NavContextMenuPatchCallback } from "../../api/ContextMenu";
3
+ import { Message } from "@plexcord/discord-types";
3
4
  export declare const MessageType: any;
4
5
  declare const _default: {
5
6
  name: string;
@@ -29,6 +30,15 @@ declare const _default: {
29
30
  message: string;
30
31
  type: any;
31
32
  }>;
32
- stop(): Promise<void>;
33
+ messagePopoverButton: {
34
+ icon: import("../../utils/types").IconComponent;
35
+ render(message: Message): {
36
+ label: string;
37
+ icon: import("../../utils/types").IconComponent;
38
+ message: Message;
39
+ channel: import("@plexcord/discord-types").Channel;
40
+ onClick: () => Promise<void>;
41
+ };
42
+ };
33
43
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
34
44
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import { ChatBarButtonFactory } from "../../api/ChatButtons";
2
2
  import { Message } from "@plexcord/discord-types";
3
- import { OptionType, ReporterTestable } from "../../utils/types";
3
+ import { IconComponent, OptionType, ReporterTestable } from "../../utils/types";
4
4
  declare const _default: {
5
5
  name: string;
6
6
  description: string;
@@ -37,18 +37,17 @@ declare const _default: {
37
37
  INV_REGEX: RegExp;
38
38
  URL_REGEX: RegExp;
39
39
  start(): Promise<void>;
40
- renderMessagePopoverButton(message: Message): {
41
- label: string;
42
- icon: any;
43
- message: Message;
44
- channel: import("@plexcord/discord-types").Channel;
45
- onClick: () => Promise<void>;
46
- } | null;
47
- renderChatBarButton: ChatBarButtonFactory;
40
+ messagePopoverButton: {
41
+ icon: IconComponent;
42
+ render(message: Message): any;
43
+ };
44
+ chatBarButton: {
45
+ icon: IconComponent;
46
+ render: ChatBarButtonFactory;
47
+ };
48
48
  colorCodeFromNumber(color: number): string;
49
49
  getEmbed(url: URL): Promise<Object | {}>;
50
50
  buildEmbed(message: any, revealed: string): Promise<void>;
51
- popOverIcon: () => import("react").JSX.Element;
52
51
  indicator: import("react").FunctionComponent<any>;
53
52
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
54
53
  export default _default;
@@ -1,12 +1,17 @@
1
1
  import { ChatBarButtonFactory } from "../../api/ChatButtons";
2
+ import { IconComponent } from "../../utils/types";
2
3
  declare const _default: {
3
4
  name: string;
4
5
  description: string;
6
+ dependencies: string[];
5
7
  readonly displayDescription: string;
6
8
  authors: {
7
9
  name: string;
8
10
  id: bigint;
9
11
  }[];
10
- renderChatBarButton: ChatBarButtonFactory;
12
+ chatBarButton: {
13
+ icon: IconComponent;
14
+ render: ChatBarButtonFactory;
15
+ };
11
16
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
12
17
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { ChatBarButtonFactory } from "../../api/ChatButtons";
2
- import { OptionType } from "../../utils/types";
2
+ import { IconComponent, OptionType } from "../../utils/types";
3
3
  declare const _default: {
4
4
  name: string;
5
5
  description: string;
@@ -7,6 +7,7 @@ declare const _default: {
7
7
  name: string;
8
8
  id: bigint;
9
9
  }[];
10
+ dependencies: string[];
10
11
  settings: import("../../utils/types").DefinedSettings<{
11
12
  showIcon: {
12
13
  readonly label: string;
@@ -49,6 +50,9 @@ declare const _default: {
49
50
  readonly displayDescription: string;
50
51
  start(): void;
51
52
  stop(): void;
52
- renderChatBarButton: ChatBarButtonFactory;
53
+ chatBarButton: {
54
+ icon: IconComponent;
55
+ render: ChatBarButtonFactory;
56
+ };
53
57
  } & Record<PropertyKey, any> & import("../../utils/types").Plugin;
54
58
  export default _default;
@@ -120,14 +120,14 @@ declare const _default: {
120
120
  default: false;
121
121
  type: import("../../utils/types").OptionType.BOOLEAN;
122
122
  };
123
- ShowLogsButton: {
123
+ showLogsButton: {
124
124
  readonly label: string;
125
125
  readonly description: string;
126
126
  default: true;
127
127
  type: import("../../utils/types").OptionType.BOOLEAN;
128
128
  restartNeeded: true;
129
129
  };
130
- ShowWhereMessageIsFrom: {
130
+ showWhereMessageIsFrom: {
131
131
  readonly label: string;
132
132
  readonly description: string;
133
133
  default: false;
@@ -305,14 +305,14 @@ declare const _default: {
305
305
  default: false;
306
306
  type: import("../../utils/types").OptionType.BOOLEAN;
307
307
  };
308
- ShowLogsButton: {
308
+ showLogsButton: {
309
309
  readonly label: string;
310
310
  readonly description: string;
311
311
  default: true;
312
312
  type: import("../../utils/types").OptionType.BOOLEAN;
313
313
  restartNeeded: true;
314
314
  };
315
- ShowWhereMessageIsFrom: {
315
+ showWhereMessageIsFrom: {
316
316
  readonly label: string;
317
317
  readonly description: string;
318
318
  default: false;
@@ -80,14 +80,14 @@ export declare const settings: import("../../utils/types").DefinedSettings<{
80
80
  default: false;
81
81
  type: OptionType.BOOLEAN;
82
82
  };
83
- ShowLogsButton: {
83
+ showLogsButton: {
84
84
  readonly label: string;
85
85
  readonly description: string;
86
86
  default: true;
87
87
  type: OptionType.BOOLEAN;
88
88
  restartNeeded: true;
89
89
  };
90
- ShowWhereMessageIsFrom: {
90
+ showWhereMessageIsFrom: {
91
91
  readonly label: string;
92
92
  readonly description: string;
93
93
  default: false;
@@ -265,14 +265,14 @@ export declare const settings: import("../../utils/types").DefinedSettings<{
265
265
  default: false;
266
266
  type: OptionType.BOOLEAN;
267
267
  };
268
- ShowLogsButton: {
268
+ showLogsButton: {
269
269
  readonly label: string;
270
270
  readonly description: string;
271
271
  default: true;
272
272
  type: OptionType.BOOLEAN;
273
273
  restartNeeded: true;
274
274
  };
275
- ShowWhereMessageIsFrom: {
275
+ showWhereMessageIsFrom: {
276
276
  readonly label: string;
277
277
  readonly description: string;
278
278
  default: false;