spectre-html-transcripts 3.3.0
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/LICENSE +201 -0
- package/README.md +153 -0
- package/dist/downloader/images.d.ts +43 -0
- package/dist/downloader/images.js +125 -0
- package/dist/downloader/images.js.map +1 -0
- package/dist/generator/index.d.ts +20 -0
- package/dist/generator/index.js +79 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/renderers/attachment.d.ts +24 -0
- package/dist/generator/renderers/attachment.js +49 -0
- package/dist/generator/renderers/attachment.js.map +1 -0
- package/dist/generator/renderers/components/Button.d.ts +9 -0
- package/dist/generator/renderers/components/Button.js +19 -0
- package/dist/generator/renderers/components/Button.js.map +1 -0
- package/dist/generator/renderers/components/Container.d.ts +5 -0
- package/dist/generator/renderers/components/Container.js +22 -0
- package/dist/generator/renderers/components/Container.js.map +1 -0
- package/dist/generator/renderers/components/Media Gallery.d.ts +6 -0
- package/dist/generator/renderers/components/Media Gallery.js +39 -0
- package/dist/generator/renderers/components/Media Gallery.js.map +1 -0
- package/dist/generator/renderers/components/Select Menu.d.ts +5 -0
- package/dist/generator/renderers/components/Select Menu.js +41 -0
- package/dist/generator/renderers/components/Select Menu.js.map +1 -0
- package/dist/generator/renderers/components/Spacing.d.ts +6 -0
- package/dist/generator/renderers/components/Spacing.js +17 -0
- package/dist/generator/renderers/components/Spacing.js.map +1 -0
- package/dist/generator/renderers/components/Thumbnail.d.ts +5 -0
- package/dist/generator/renderers/components/Thumbnail.js +16 -0
- package/dist/generator/renderers/components/Thumbnail.js.map +1 -0
- package/dist/generator/renderers/components/section/Section.d.ts +10 -0
- package/dist/generator/renderers/components/section/Section.js +21 -0
- package/dist/generator/renderers/components/section/Section.js.map +1 -0
- package/dist/generator/renderers/components/section/SectionAccessory.d.ts +6 -0
- package/dist/generator/renderers/components/section/SectionAccessory.js +19 -0
- package/dist/generator/renderers/components/section/SectionAccessory.js.map +1 -0
- package/dist/generator/renderers/components/section/SectionContent.d.ts +6 -0
- package/dist/generator/renderers/components/section/SectionContent.js +15 -0
- package/dist/generator/renderers/components/section/SectionContent.js.map +1 -0
- package/dist/generator/renderers/components/styles.d.ts +29 -0
- package/dist/generator/renderers/components/styles.js +110 -0
- package/dist/generator/renderers/components/styles.js.map +1 -0
- package/dist/generator/renderers/components/utils.d.ts +36 -0
- package/dist/generator/renderers/components/utils.js +98 -0
- package/dist/generator/renderers/components/utils.js.map +1 -0
- package/dist/generator/renderers/components.d.ts +15 -0
- package/dist/generator/renderers/components.js +62 -0
- package/dist/generator/renderers/components.js.map +1 -0
- package/dist/generator/renderers/content.d.ts +31 -0
- package/dist/generator/renderers/content.js +137 -0
- package/dist/generator/renderers/content.js.map +1 -0
- package/dist/generator/renderers/embed.d.ts +12 -0
- package/dist/generator/renderers/embed.js +53 -0
- package/dist/generator/renderers/embed.js.map +1 -0
- package/dist/generator/renderers/message.d.ts +7 -0
- package/dist/generator/renderers/message.js +69 -0
- package/dist/generator/renderers/message.js.map +1 -0
- package/dist/generator/renderers/reply.d.ts +7 -0
- package/dist/generator/renderers/reply.js +59 -0
- package/dist/generator/renderers/reply.js.map +1 -0
- package/dist/generator/renderers/systemMessage.d.ts +13 -0
- package/dist/generator/renderers/systemMessage.js +133 -0
- package/dist/generator/renderers/systemMessage.js.map +1 -0
- package/dist/generator/transcript.d.ts +10 -0
- package/dist/generator/transcript.js +86 -0
- package/dist/generator/transcript.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +148 -0
- package/dist/index.js.map +1 -0
- package/dist/static/client.d.ts +2 -0
- package/dist/static/client.js +30 -0
- package/dist/static/client.js.map +1 -0
- package/dist/test.js +65 -0
- package/dist/types.d.ts +75 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/buildProfiles.d.ts +11 -0
- package/dist/utils/buildProfiles.js +41 -0
- package/dist/utils/buildProfiles.js.map +1 -0
- package/dist/utils/djsAdapter.d.ts +9 -0
- package/dist/utils/djsAdapter.js +96 -0
- package/dist/utils/djsAdapter.js.map +1 -0
- package/dist/utils/embeds.d.ts +1 -0
- package/dist/utils/embeds.js +17 -0
- package/dist/utils/embeds.js.map +1 -0
- package/dist/utils/extend.d.ts +8 -0
- package/dist/utils/extend.js +8 -0
- package/dist/utils/extend.js.map +1 -0
- package/dist/utils/utils.d.ts +14 -0
- package/dist/utils/utils.js +44 -0
- package/dist/utils/utils.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Attachments = Attachments;
|
|
7
|
+
exports.Attachment = Attachment;
|
|
8
|
+
const discord_components_react_1 = require("@derockdev/discord-components-react");
|
|
9
|
+
const react_1 = __importDefault(require("react"));
|
|
10
|
+
const utils_1 = require("../../utils/utils");
|
|
11
|
+
/**
|
|
12
|
+
* Renders all attachments for a message
|
|
13
|
+
* @param message
|
|
14
|
+
* @param context
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
async function Attachments(props) {
|
|
18
|
+
if (props.message.attachments.size === 0)
|
|
19
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
20
|
+
return (react_1.default.createElement(discord_components_react_1.DiscordAttachments, { slot: "attachments" }, props.message.attachments.map((attachment, id) => (react_1.default.createElement(Attachment, { attachment: attachment, message: props.message, context: props.context, key: id })))));
|
|
21
|
+
}
|
|
22
|
+
// "audio" | "video" | "image" | "file"
|
|
23
|
+
function getAttachmentType(attachment) {
|
|
24
|
+
var _a, _b, _c;
|
|
25
|
+
const type = (_c = (_b = (_a = attachment.contentType) === null || _a === void 0 ? void 0 : _a.split('/')) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : 'unknown';
|
|
26
|
+
if (['audio', 'video', 'image'].includes(type))
|
|
27
|
+
return type;
|
|
28
|
+
return 'file';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Renders one Discord Attachment
|
|
32
|
+
* @param props - the attachment and rendering context
|
|
33
|
+
*/
|
|
34
|
+
async function Attachment({ attachment, context, message, }) {
|
|
35
|
+
let url = attachment.url;
|
|
36
|
+
const name = attachment.name;
|
|
37
|
+
const width = attachment.width;
|
|
38
|
+
const height = attachment.height;
|
|
39
|
+
const type = getAttachmentType(attachment);
|
|
40
|
+
// if the attachment is an image, download it to a data url
|
|
41
|
+
if (type === 'image') {
|
|
42
|
+
const downloaded = await context.callbacks.resolveImageSrc(attachment.toJSON(), message.toJSON());
|
|
43
|
+
if (downloaded !== null) {
|
|
44
|
+
url = downloaded !== null && downloaded !== void 0 ? downloaded : url;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return (react_1.default.createElement(discord_components_react_1.DiscordAttachment, { type: type, size: (0, utils_1.formatBytes)(attachment.size), key: attachment.id, slot: "attachment", url: url, alt: name !== null && name !== void 0 ? name : undefined, width: width !== null && width !== void 0 ? width : undefined, height: height !== null && height !== void 0 ? height : undefined }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=attachment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment.js","sourceRoot":"","sources":["../../../src/generator/renderers/attachment.tsx"],"names":[],"mappings":";;;;;AAeA,kCAUC;AAaD,gCAwCC;AA9ED,kFAA4F;AAC5F,kDAA0B;AAM1B,6CAAgD;AAEhD;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,KAA0D;IAC1F,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,6DAAK,CAAC;IAEvD,OAAO,CACL,8BAAC,6CAAkB,IAAC,IAAI,EAAC,aAAa,IACnC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAe,EAAE,EAAU,EAAE,EAAE,CAAC,CAC9D,8BAAC,UAAU,IAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,GAAI,CAChG,CAAC,CACiB,CACtB,CAAC;AACJ,CAAC;AAED,uCAAuC;AACvC,SAAS,iBAAiB,CAAC,UAA0B;;IACnD,MAAM,IAAI,GAAG,MAAA,MAAA,MAAA,UAAU,CAAC,WAAW,0CAAE,KAAK,CAAC,GAAG,CAAC,0CAAG,CAAC,CAAC,mCAAI,SAAS,CAAC;IAClE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAuB,CAAC;IAC/E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU,CAAC,EAC/B,UAAU,EACV,OAAO,EACP,OAAO,GAKR;IACC,IAAI,GAAG,GAAG,UAAU,CAAC,GAAa,CAAC;IACnC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAEjC,MAAM,IAAI,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE3C,2DAA2D;IAC3D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,eAAe,CACxD,UAAU,CAAC,MAAM,EAAS,EAC1B,OAAO,CAAC,MAAM,EAAS,CACxB,CAAC;QAEF,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,GAAG,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,CACL,8BAAC,4CAAiB,IAChB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAA,mBAAW,EAAC,UAAU,CAAC,IAAI,CAAC,EAClC,GAAG,EAAE,UAAU,CAAC,EAAE,EAClB,IAAI,EAAC,YAAY,EACjB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,EACtB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,SAAS,EACzB,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,SAAS,GAC3B,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DiscordButtonProps {
|
|
3
|
+
type: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
emoji?: string;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export declare function DiscordButton({ type, url, emoji, children }: DiscordButtonProps): React.JSX.Element;
|
|
9
|
+
export default DiscordButton;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DiscordButton = DiscordButton;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
function DiscordButton({ type, url, emoji, children }) {
|
|
9
|
+
return (react_1.default.createElement("a", { href: url, target: "_blank", className: `discord-button discord-button-${type}` },
|
|
10
|
+
emoji && (react_1.default.createElement("span", { style: { display: 'flex', alignItems: 'center' } },
|
|
11
|
+
react_1.default.createElement("img", { src: emoji, alt: "emoji", style: { width: '16px', height: '16px', marginRight: '8px' } }))),
|
|
12
|
+
react_1.default.createElement("span", { style: { display: 'flex', alignItems: 'center' } }, children),
|
|
13
|
+
url && (react_1.default.createElement("span", { style: { marginLeft: '8px', display: 'flex', alignItems: 'center' } },
|
|
14
|
+
react_1.default.createElement("svg", { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none", viewBox: "0 0 24 24" },
|
|
15
|
+
react_1.default.createElement("path", { fill: "currentColor", d: "M15 2a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0V4.41l-4.3 4.3a1 1 0 1 1-1.4-1.42L19.58 3H16a1 1 0 0 1-1-1Z" }),
|
|
16
|
+
react_1.default.createElement("path", { fill: "currentColor", d: "M5 2a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-6a1 1 0 1 0-2 0v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h6a1 1 0 1 0 0-2H5Z" }))))));
|
|
17
|
+
}
|
|
18
|
+
exports.default = DiscordButton;
|
|
19
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Button.tsx"],"names":[],"mappings":";;;;;AASA,sCAyBC;AAlCD,kDAA0B;AAS1B,SAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAsB;IAC9E,OAAO,CACL,qCAAG,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAE,iCAAiC,IAAI,EAAE;QAC7E,KAAK,IAAI,CACR,wCAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;YACpD,uCAAK,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,GAAI,CACxF,CACR;QACD,wCAAM,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAG,QAAQ,CAAQ;QACxE,GAAG,IAAI,CACN,wCAAM,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE;YACvE,uCAAK,IAAI,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW;gBACvG,wCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,gHAAgH,GAClH;gBACF,wCACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,0IAA0I,GAC5I,CACE,CACD,CACR,CACC,CACL,CAAC;AACJ,CAAC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
function DiscordContainer({ children }) {
|
|
8
|
+
return (react_1.default.createElement("div", { style: {
|
|
9
|
+
display: 'flex',
|
|
10
|
+
width: '500px',
|
|
11
|
+
flexDirection: 'column',
|
|
12
|
+
backgroundColor: '#3f4248',
|
|
13
|
+
padding: '16px',
|
|
14
|
+
border: '1px solid #4f5359',
|
|
15
|
+
marginTop: '2px',
|
|
16
|
+
marginBottom: '2px',
|
|
17
|
+
borderRadius: '10px',
|
|
18
|
+
gap: '8px',
|
|
19
|
+
} }, children));
|
|
20
|
+
}
|
|
21
|
+
exports.default = DiscordContainer;
|
|
22
|
+
//# sourceMappingURL=Container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Container.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAiC;IACnE,OAAO,CACL,uCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,OAAO;YACd,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,SAAS;YAC1B,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,mBAAmB;YAC3B,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,MAAM;YACpB,GAAG,EAAE,KAAK;SACX,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
function DiscordMediaGallery({ component }) {
|
|
9
|
+
if (!component.items || component.items.length === 0) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
const count = component.items.length;
|
|
13
|
+
const imagesToShow = component.items.slice(0, 10);
|
|
14
|
+
const hasMore = component.items.length > 10;
|
|
15
|
+
return (react_1.default.createElement("div", { style: (0, utils_1.getGalleryLayout)(count) }, imagesToShow.map((media, idx) => (react_1.default.createElement("div", { key: idx, style: (0, utils_1.getImageStyle)(idx, count) },
|
|
16
|
+
react_1.default.createElement("img", { src: media.media.url, alt: media.description || 'Media content', style: {
|
|
17
|
+
width: '100%',
|
|
18
|
+
height: '100%',
|
|
19
|
+
objectFit: 'cover',
|
|
20
|
+
} }),
|
|
21
|
+
hasMore && idx === imagesToShow.length - 1 && (react_1.default.createElement("div", { style: {
|
|
22
|
+
position: 'absolute',
|
|
23
|
+
top: 0,
|
|
24
|
+
left: 0,
|
|
25
|
+
width: '100%',
|
|
26
|
+
height: '100%',
|
|
27
|
+
display: 'flex',
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
justifyContent: 'center',
|
|
30
|
+
backgroundColor: 'rgba(0, 0, 0, 0.7)',
|
|
31
|
+
color: 'white',
|
|
32
|
+
fontSize: '20px',
|
|
33
|
+
fontWeight: 'bold',
|
|
34
|
+
} },
|
|
35
|
+
"+",
|
|
36
|
+
component.items.length - 10)))))));
|
|
37
|
+
}
|
|
38
|
+
exports.default = DiscordMediaGallery;
|
|
39
|
+
//# sourceMappingURL=Media%20Gallery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Media Gallery.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Media Gallery.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,mCAA0D;AAE1D,SAAS,mBAAmB,CAAC,EAAE,SAAS,EAAwC;IAC9E,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;IACrC,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;IAE5C,OAAO,CACL,uCAAK,KAAK,EAAE,IAAA,wBAAgB,EAAC,KAAK,CAAC,IAChC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,GAAW,EAAE,EAAE,CAAC,CAC7C,uCAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAA,qBAAa,EAAC,GAAG,EAAE,KAAK,CAAwB;QACpE,uCACE,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EACpB,GAAG,EAAE,KAAK,CAAC,WAAW,IAAI,eAAe,EACzC,KAAK,EAAE;gBACL,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,OAAO;aACnB,GACD;QACD,OAAO,IAAI,GAAG,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,uCACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,oBAAoB;gBACrC,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE,MAAM;aACnB;;YAEC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CACzB,CACP,CACG,CACP,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const v10_1 = require("discord-api-types/v10");
|
|
8
|
+
const utils_1 = require("../../../utils/utils");
|
|
9
|
+
const utils_2 = require("./utils");
|
|
10
|
+
function DiscordSelectMenu({ component, }) {
|
|
11
|
+
const isStringSelect = component.type === v10_1.ComponentType.StringSelect;
|
|
12
|
+
const placeholder = component.placeholder || (0, utils_2.getSelectTypeLabel)(component.type);
|
|
13
|
+
return (react_1.default.createElement("div", { className: "discord-select-menu" },
|
|
14
|
+
react_1.default.createElement("div", { style: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' } }, placeholder),
|
|
15
|
+
react_1.default.createElement("div", { style: { display: 'flex', alignItems: 'center', marginLeft: '8px' } },
|
|
16
|
+
react_1.default.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24" },
|
|
17
|
+
react_1.default.createElement("path", { fill: "currentColor", d: "M7 10L12 15L17 10H7Z" }))),
|
|
18
|
+
isStringSelect && component.options && component.options.length > 0 && (react_1.default.createElement("div", { style: {
|
|
19
|
+
display: 'none',
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
top: '44px',
|
|
22
|
+
left: '0',
|
|
23
|
+
width: '100%',
|
|
24
|
+
backgroundColor: '#2b2d31',
|
|
25
|
+
borderRadius: '4px',
|
|
26
|
+
zIndex: 10,
|
|
27
|
+
border: '1px solid #1e1f22',
|
|
28
|
+
maxHeight: '320px',
|
|
29
|
+
overflowY: 'auto',
|
|
30
|
+
} }, component.options.map((option, idx) => (react_1.default.createElement("div", { key: idx, style: {
|
|
31
|
+
padding: '8px 12px',
|
|
32
|
+
cursor: 'pointer',
|
|
33
|
+
display: 'flex',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
borderBottom: idx < component.options.length - 1 ? '1px solid #1e1f22' : 'none',
|
|
36
|
+
} },
|
|
37
|
+
option.emoji && react_1.default.createElement("span", { style: { marginRight: '8px' } }, (0, utils_1.parseDiscordEmoji)(option.emoji)),
|
|
38
|
+
react_1.default.createElement("span", null, option.label))))))));
|
|
39
|
+
}
|
|
40
|
+
exports.default = DiscordSelectMenu;
|
|
41
|
+
//# sourceMappingURL=Select%20Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select Menu.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Select Menu.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,+CAAsD;AAEtD,gDAAyD;AACzD,mCAA6C;AAE7C,SAAS,iBAAiB,CAAC,EACzB,SAAS,GAGV;IACC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,KAAK,mBAAa,CAAC,YAAY,CAAC;IACrE,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,IAAI,IAAA,0BAAkB,EAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEhF,OAAO,CACL,uCAAK,SAAS,EAAC,qBAAqB;QAClC,uCAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAG,WAAW,CAAO;QACvG,uCAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;YACtE,uCAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;gBAC7C,wCAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,sBAAsB,GAAG,CACjD,CACF;QACL,cAAc,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CACtE,uCACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,UAAU;gBACpB,GAAG,EAAE,MAAM;gBACX,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,MAAM;gBACb,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,KAAK;gBACnB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,mBAAmB;gBAC3B,SAAS,EAAE,OAAO;gBAClB,SAAS,EAAE,MAAM;aAClB,IAEA,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAW,EAAE,GAAW,EAAE,EAAE,CAAC,CACnD,uCACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE;gBACL,OAAO,EAAE,UAAU;gBACnB,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM;aAChF;YAEA,MAAM,CAAC,KAAK,IAAI,wCAAM,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,CAAQ;YAC9F,4CAAO,MAAM,CAAC,KAAK,CAAQ,CACvB,CACP,CAAC,CACE,CACP,CACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const discord_js_selfbot_v13_1 = require("discord.js-selfbot-v13");
|
|
8
|
+
function DiscordSeparator({ divider, spacing }) {
|
|
9
|
+
return (react_1.default.createElement("div", { style: {
|
|
10
|
+
width: '100%',
|
|
11
|
+
height: divider ? '1px' : '0px',
|
|
12
|
+
backgroundColor: '#4f5359',
|
|
13
|
+
margin: spacing === (discord_js_selfbot_v13_1.SeparatorSpacingSize === null || discord_js_selfbot_v13_1.SeparatorSpacingSize === void 0 ? void 0 : discord_js_selfbot_v13_1.SeparatorSpacingSize.Large) ? '8px 0' : '0',
|
|
14
|
+
} }));
|
|
15
|
+
}
|
|
16
|
+
exports.default = DiscordSeparator;
|
|
17
|
+
//# sourceMappingURL=Spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spacing.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Spacing.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,mEAA8D;AAE9D,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAsC;IAChF,OAAO,CACL,uCACE,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YAC/B,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE,OAAO,MAAM,6CAA4B,aAA5B,6CAAoB,uBAApB,6CAAoB,CAAU,KAAK,CAAA,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;SACzE,GACD,CACH,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
function DiscordThumbnail({ url }) {
|
|
8
|
+
return (react_1.default.createElement("img", { src: url, alt: "Thumbnail", style: {
|
|
9
|
+
width: '85px',
|
|
10
|
+
height: '85px',
|
|
11
|
+
objectFit: 'cover',
|
|
12
|
+
borderRadius: '8px',
|
|
13
|
+
} }));
|
|
14
|
+
}
|
|
15
|
+
exports.default = DiscordThumbnail;
|
|
16
|
+
//# sourceMappingURL=Thumbnail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Thumbnail.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/Thumbnail.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,SAAS,gBAAgB,CAAC,EAAE,GAAG,EAAmB;IAChD,OAAO,CACL,uCACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAC,WAAW,EACf,KAAK,EAAE;YACL,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,KAAK;SACpB,GACD,CACH,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ButtonComponent, ThumbnailComponent } from 'discord.js-selfbot-v13';
|
|
3
|
+
interface DiscordSectionProps {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
accessory?: ButtonComponent | ThumbnailComponent;
|
|
6
|
+
id: number;
|
|
7
|
+
key?: React.Key;
|
|
8
|
+
}
|
|
9
|
+
declare function DiscordSection({ children, accessory, id }: DiscordSectionProps): React.JSX.Element;
|
|
10
|
+
export default DiscordSection;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const components_1 = require("../../components");
|
|
8
|
+
const SectionContent_1 = __importDefault(require("./SectionContent"));
|
|
9
|
+
const SectionAccessory_1 = __importDefault(require("./SectionAccessory"));
|
|
10
|
+
function DiscordSection({ children, accessory, id }) {
|
|
11
|
+
return (react_1.default.createElement("div", { style: {
|
|
12
|
+
display: 'flex',
|
|
13
|
+
flexDirection: 'row',
|
|
14
|
+
width: '100%',
|
|
15
|
+
maxWidth: '500px',
|
|
16
|
+
} },
|
|
17
|
+
react_1.default.createElement(SectionContent_1.default, null, children),
|
|
18
|
+
react_1.default.createElement(SectionAccessory_1.default, null, accessory && react_1.default.createElement(components_1.Component, { component: accessory, id: id }))));
|
|
19
|
+
}
|
|
20
|
+
exports.default = DiscordSection;
|
|
21
|
+
//# sourceMappingURL=Section.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Section.js","sourceRoot":"","sources":["../../../../../src/generator/renderers/components/section/Section.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,iDAA6C;AAC7C,sEAA8C;AAC9C,0EAAkD;AASlD,SAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAuB;IACtE,OAAO,CACL,uCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB;QAED,8BAAC,wBAAc,QAAE,QAAQ,CAAkB;QAC3C,8BAAC,0BAAgB,QAAE,SAAS,IAAI,8BAAC,sBAAS,IAAC,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,GAAI,CAAoB,CAC3F,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
function SectionAccessory({ children }) {
|
|
8
|
+
if (!children)
|
|
9
|
+
return null;
|
|
10
|
+
return (react_1.default.createElement("div", { style: {
|
|
11
|
+
display: 'flex',
|
|
12
|
+
width: '100%',
|
|
13
|
+
maxWidth: '500px',
|
|
14
|
+
justifyContent: 'flex-end',
|
|
15
|
+
alignItems: 'center',
|
|
16
|
+
} }, children));
|
|
17
|
+
}
|
|
18
|
+
exports.default = SectionAccessory;
|
|
19
|
+
//# sourceMappingURL=SectionAccessory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionAccessory.js","sourceRoot":"","sources":["../../../../../src/generator/renderers/components/section/SectionAccessory.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAM1B,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAyB;IAC3D,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,OAAO,CACL,uCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;YACjB,cAAc,EAAE,UAAU;YAC1B,UAAU,EAAE,QAAQ;SACrB,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
function SectionContent({ children }) {
|
|
8
|
+
return (react_1.default.createElement("div", { style: {
|
|
9
|
+
display: 'flex',
|
|
10
|
+
flexDirection: 'column',
|
|
11
|
+
width: '100%',
|
|
12
|
+
} }, children));
|
|
13
|
+
}
|
|
14
|
+
exports.default = SectionContent;
|
|
15
|
+
//# sourceMappingURL=SectionContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionContent.js","sourceRoot":"","sources":["../../../../../src/generator/renderers/components/section/SectionContent.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAM1B,SAAS,cAAc,CAAC,EAAE,QAAQ,EAAuB;IACvD,OAAO,CACL,uCACE,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,aAAa,EAAE,QAAQ;YACvB,KAAK,EAAE,MAAM;SACd,IAEA,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
declare const ButtonStyle: {
|
|
2
|
+
Primary: number;
|
|
3
|
+
Secondary: number;
|
|
4
|
+
Success: number;
|
|
5
|
+
Danger: number;
|
|
6
|
+
Link: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const containerStyle: {
|
|
9
|
+
display: "grid";
|
|
10
|
+
gap: string;
|
|
11
|
+
width: string;
|
|
12
|
+
maxWidth: string;
|
|
13
|
+
borderRadius: string;
|
|
14
|
+
overflow: "hidden";
|
|
15
|
+
};
|
|
16
|
+
export declare const baseImageStyle: {
|
|
17
|
+
overflow: "hidden";
|
|
18
|
+
position: "relative";
|
|
19
|
+
background: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const ButtonStyleMapping: {
|
|
22
|
+
readonly [ButtonStyle.Primary]: "primary";
|
|
23
|
+
readonly [ButtonStyle.Secondary]: "secondary";
|
|
24
|
+
readonly [ButtonStyle.Success]: "success";
|
|
25
|
+
readonly [ButtonStyle.Danger]: "destructive";
|
|
26
|
+
readonly [ButtonStyle.Link]: "secondary";
|
|
27
|
+
};
|
|
28
|
+
export declare const globalStyles = "\n .discord-container {\n display: grid;\n gap: 4px;\n width: 100%;\n max-width: 500px;\n border-radius: 8px;\n overflow: hidden;\n }\n\n .discord-base-image {\n overflow: hidden;\n position: relative;\n background: #2b2d31;\n }\n\n .discord-button {\n color: #ffffff !important;\n padding: 2px 16px;\n border-radius: 8px;\n text-decoration: none !important;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 500;\n height: 32px;\n min-height: 32px;\n min-width: 60px;\n cursor: pointer;\n font-family: Whitney, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n text-align: center;\n box-sizing: border-box;\n border: none;\n outline: none;\n transition: background-color 0.2s ease;\n }\n\n .discord-button-primary {\n background-color: hsl(234.935 calc(1*85.556%) 64.706% /1);\n }\n\n .discord-button-secondary {\n background-color: hsl(240 calc(1*4%) 60.784% /0.12156862745098039);\n }\n\n .discord-button-success {\n background-color: hsl(145.97 calc(1*100%) 26.275% /1);\n }\n\n .discord-button-destructive {\n background-color: hsl(355.636 calc(1*64.706%) 50% /1);\n }\n\n .discord-select-menu {\n margin-top: 2px;\n margin-bottom: 2px;\n position: relative;\n width: 100%;\n max-width: 500px;\n height: 40px;\n background-color: #2b2d31;\n border-radius: 4px;\n color: #b5bac1;\n cursor: pointer;\n font-family: Whitney, \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n display: flex;\n align-items: center;\n padding: 0 8px;\n justify-content: space-between;\n box-sizing: border-box;\n border: 1px solid #1e1f22;\n }\n";
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.globalStyles = exports.ButtonStyleMapping = exports.baseImageStyle = exports.containerStyle = void 0;
|
|
4
|
+
// Button style mapping - using numeric values from discord-api-types since discord.js-selfbot-v13 doesn't export ButtonStyle
|
|
5
|
+
const ButtonStyle = {
|
|
6
|
+
Primary: 1,
|
|
7
|
+
Secondary: 2,
|
|
8
|
+
Success: 3,
|
|
9
|
+
Danger: 4,
|
|
10
|
+
Link: 5,
|
|
11
|
+
};
|
|
12
|
+
// Container styles
|
|
13
|
+
exports.containerStyle = {
|
|
14
|
+
display: 'grid',
|
|
15
|
+
gap: '4px',
|
|
16
|
+
width: '100%',
|
|
17
|
+
maxWidth: '500px',
|
|
18
|
+
borderRadius: '8px',
|
|
19
|
+
overflow: 'hidden',
|
|
20
|
+
};
|
|
21
|
+
// Base image style
|
|
22
|
+
exports.baseImageStyle = {
|
|
23
|
+
overflow: 'hidden',
|
|
24
|
+
position: 'relative',
|
|
25
|
+
background: '#2b2d31',
|
|
26
|
+
};
|
|
27
|
+
// Button style mapping
|
|
28
|
+
exports.ButtonStyleMapping = {
|
|
29
|
+
[ButtonStyle.Primary]: 'primary',
|
|
30
|
+
[ButtonStyle.Secondary]: 'secondary',
|
|
31
|
+
[ButtonStyle.Success]: 'success',
|
|
32
|
+
[ButtonStyle.Danger]: 'destructive',
|
|
33
|
+
[ButtonStyle.Link]: 'secondary',
|
|
34
|
+
};
|
|
35
|
+
exports.globalStyles = `
|
|
36
|
+
.discord-container {
|
|
37
|
+
display: grid;
|
|
38
|
+
gap: 4px;
|
|
39
|
+
width: 100%;
|
|
40
|
+
max-width: 500px;
|
|
41
|
+
border-radius: 8px;
|
|
42
|
+
overflow: hidden;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.discord-base-image {
|
|
46
|
+
overflow: hidden;
|
|
47
|
+
position: relative;
|
|
48
|
+
background: #2b2d31;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.discord-button {
|
|
52
|
+
color: #ffffff !important;
|
|
53
|
+
padding: 2px 16px;
|
|
54
|
+
border-radius: 8px;
|
|
55
|
+
text-decoration: none !important;
|
|
56
|
+
display: inline-flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
font-size: 14px;
|
|
60
|
+
font-weight: 500;
|
|
61
|
+
height: 32px;
|
|
62
|
+
min-height: 32px;
|
|
63
|
+
min-width: 60px;
|
|
64
|
+
cursor: pointer;
|
|
65
|
+
font-family: Whitney, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
66
|
+
text-align: center;
|
|
67
|
+
box-sizing: border-box;
|
|
68
|
+
border: none;
|
|
69
|
+
outline: none;
|
|
70
|
+
transition: background-color 0.2s ease;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.discord-button-primary {
|
|
74
|
+
background-color: hsl(234.935 calc(1*85.556%) 64.706% /1);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.discord-button-secondary {
|
|
78
|
+
background-color: hsl(240 calc(1*4%) 60.784% /0.12156862745098039);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.discord-button-success {
|
|
82
|
+
background-color: hsl(145.97 calc(1*100%) 26.275% /1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.discord-button-destructive {
|
|
86
|
+
background-color: hsl(355.636 calc(1*64.706%) 50% /1);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.discord-select-menu {
|
|
90
|
+
margin-top: 2px;
|
|
91
|
+
margin-bottom: 2px;
|
|
92
|
+
position: relative;
|
|
93
|
+
width: 100%;
|
|
94
|
+
max-width: 500px;
|
|
95
|
+
height: 40px;
|
|
96
|
+
background-color: #2b2d31;
|
|
97
|
+
border-radius: 4px;
|
|
98
|
+
color: #b5bac1;
|
|
99
|
+
cursor: pointer;
|
|
100
|
+
font-family: Whitney, "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
101
|
+
font-size: 14px;
|
|
102
|
+
display: flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
padding: 0 8px;
|
|
105
|
+
justify-content: space-between;
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
border: 1px solid #1e1f22;
|
|
108
|
+
}
|
|
109
|
+
`;
|
|
110
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/generator/renderers/components/styles.ts"],"names":[],"mappings":";;;AAEA,6HAA6H;AAC7H,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,MAAM,EAAE,CAAC;IACT,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,mBAAmB;AACN,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,OAAO;IACjB,YAAY,EAAE,KAAK;IACnB,QAAQ,EAAE,QAAQ;CACK,CAAC;AAE1B,mBAAmB;AACN,QAAA,cAAc,GAAG;IAC5B,QAAQ,EAAE,QAAQ;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,SAAS;CACE,CAAC;AAE1B,uBAAuB;AACV,QAAA,kBAAkB,GAAG;IAChC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,WAAW;IACpC,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS;IAChC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,aAAa;IACnC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW;CACvB,CAAC;AAEE,QAAA,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0E3B,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ComponentType } from 'discord-api-types/v10';
|
|
2
|
+
export declare function getSelectTypeLabel(type: typeof ComponentType[keyof typeof ComponentType]): string;
|
|
3
|
+
/**
|
|
4
|
+
* Gets the grid layout for media galleries based on count
|
|
5
|
+
*/
|
|
6
|
+
export declare function getGalleryLayout(count: number): {
|
|
7
|
+
gridTemplateColumns: string;
|
|
8
|
+
gridTemplateRows: string;
|
|
9
|
+
display: "grid";
|
|
10
|
+
gap: string;
|
|
11
|
+
width: string;
|
|
12
|
+
maxWidth: string;
|
|
13
|
+
borderRadius: string;
|
|
14
|
+
overflow: "hidden";
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Gets the style for an individual image based on its position and total count
|
|
18
|
+
*/
|
|
19
|
+
export declare function getImageStyle(idx: number, count: number): {
|
|
20
|
+
overflow: "hidden";
|
|
21
|
+
position: "relative";
|
|
22
|
+
background: string;
|
|
23
|
+
} | {
|
|
24
|
+
gridRow: string;
|
|
25
|
+
gridColumn: string;
|
|
26
|
+
aspectRatio: string;
|
|
27
|
+
overflow: "hidden";
|
|
28
|
+
position: "relative";
|
|
29
|
+
background: string;
|
|
30
|
+
} | {
|
|
31
|
+
gridRow: string;
|
|
32
|
+
gridColumn: string;
|
|
33
|
+
overflow: "hidden";
|
|
34
|
+
position: "relative";
|
|
35
|
+
background: string;
|
|
36
|
+
};
|