discord.js-html-transcript 4.0.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.
Files changed (102) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +470 -0
  3. package/dist/downloader/assets.d.ts +18 -0
  4. package/dist/downloader/assets.js +53 -0
  5. package/dist/downloader/assets.js.map +1 -0
  6. package/dist/downloader/images.d.ts +28 -0
  7. package/dist/downloader/images.js +119 -0
  8. package/dist/downloader/images.js.map +1 -0
  9. package/dist/generator/index.d.ts +24 -0
  10. package/dist/generator/index.js +112 -0
  11. package/dist/generator/index.js.map +1 -0
  12. package/dist/generator/renderers/attachment.d.ts +23 -0
  13. package/dist/generator/renderers/attachment.js +154 -0
  14. package/dist/generator/renderers/attachment.js.map +1 -0
  15. package/dist/generator/renderers/components/Attachment Gallery.d.ts +9 -0
  16. package/dist/generator/renderers/components/Attachment Gallery.js +26 -0
  17. package/dist/generator/renderers/components/Attachment Gallery.js.map +1 -0
  18. package/dist/generator/renderers/components/Button.d.ts +9 -0
  19. package/dist/generator/renderers/components/Button.js +23 -0
  20. package/dist/generator/renderers/components/Button.js.map +1 -0
  21. package/dist/generator/renderers/components/Container.d.ts +6 -0
  22. package/dist/generator/renderers/components/Container.js +26 -0
  23. package/dist/generator/renderers/components/Container.js.map +1 -0
  24. package/dist/generator/renderers/components/Media Gallery.d.ts +8 -0
  25. package/dist/generator/renderers/components/Media Gallery.js +45 -0
  26. package/dist/generator/renderers/components/Media Gallery.js.map +1 -0
  27. package/dist/generator/renderers/components/Select Menu.d.ts +10 -0
  28. package/dist/generator/renderers/components/Select Menu.js +34 -0
  29. package/dist/generator/renderers/components/Select Menu.js.map +1 -0
  30. package/dist/generator/renderers/components/Spacing.d.ts +7 -0
  31. package/dist/generator/renderers/components/Spacing.js +17 -0
  32. package/dist/generator/renderers/components/Spacing.js.map +1 -0
  33. package/dist/generator/renderers/components/Thumbnail.d.ts +7 -0
  34. package/dist/generator/renderers/components/Thumbnail.js +21 -0
  35. package/dist/generator/renderers/components/Thumbnail.js.map +1 -0
  36. package/dist/generator/renderers/components/poll.d.ts +7 -0
  37. package/dist/generator/renderers/components/poll.js +78 -0
  38. package/dist/generator/renderers/components/poll.js.map +1 -0
  39. package/dist/generator/renderers/components/section/Section.d.ts +11 -0
  40. package/dist/generator/renderers/components/section/Section.js +21 -0
  41. package/dist/generator/renderers/components/section/Section.js.map +1 -0
  42. package/dist/generator/renderers/components/section/SectionAccessory.d.ts +6 -0
  43. package/dist/generator/renderers/components/section/SectionAccessory.js +20 -0
  44. package/dist/generator/renderers/components/section/SectionAccessory.js.map +1 -0
  45. package/dist/generator/renderers/components/section/SectionContent.d.ts +6 -0
  46. package/dist/generator/renderers/components/section/SectionContent.js +21 -0
  47. package/dist/generator/renderers/components/section/SectionContent.js.map +1 -0
  48. package/dist/generator/renderers/components/styles.d.ts +21 -0
  49. package/dist/generator/renderers/components/styles.js +1639 -0
  50. package/dist/generator/renderers/components/styles.js.map +1 -0
  51. package/dist/generator/renderers/components/utils.d.ts +36 -0
  52. package/dist/generator/renderers/components/utils.js +98 -0
  53. package/dist/generator/renderers/components/utils.js.map +1 -0
  54. package/dist/generator/renderers/components/voice.d.ts +5 -0
  55. package/dist/generator/renderers/components/voice.js +50 -0
  56. package/dist/generator/renderers/components/voice.js.map +1 -0
  57. package/dist/generator/renderers/components.d.ts +13 -0
  58. package/dist/generator/renderers/components.js +78 -0
  59. package/dist/generator/renderers/components.js.map +1 -0
  60. package/dist/generator/renderers/content.d.ts +26 -0
  61. package/dist/generator/renderers/content.js +396 -0
  62. package/dist/generator/renderers/content.js.map +1 -0
  63. package/dist/generator/renderers/embed.d.ts +59 -0
  64. package/dist/generator/renderers/embed.js +216 -0
  65. package/dist/generator/renderers/embed.js.map +1 -0
  66. package/dist/generator/renderers/message.d.ts +7 -0
  67. package/dist/generator/renderers/message.js +106 -0
  68. package/dist/generator/renderers/message.js.map +1 -0
  69. package/dist/generator/renderers/reply.d.ts +7 -0
  70. package/dist/generator/renderers/reply.js +74 -0
  71. package/dist/generator/renderers/reply.js.map +1 -0
  72. package/dist/generator/renderers/systemMessage.d.ts +15 -0
  73. package/dist/generator/renderers/systemMessage.js +168 -0
  74. package/dist/generator/renderers/systemMessage.js.map +1 -0
  75. package/dist/generator/transcript.d.ts +3 -0
  76. package/dist/generator/transcript.js +148 -0
  77. package/dist/generator/transcript.js.map +1 -0
  78. package/dist/index.d.ts +26 -0
  79. package/dist/index.js +159 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/options.d.ts +37 -0
  82. package/dist/options.js +89 -0
  83. package/dist/options.js.map +1 -0
  84. package/dist/static/client.d.ts +6 -0
  85. package/dist/static/client.js +626 -0
  86. package/dist/static/client.js.map +1 -0
  87. package/dist/types.d.ts +193 -0
  88. package/dist/types.js +10 -0
  89. package/dist/types.js.map +1 -0
  90. package/dist/utils/buildProfiles.d.ts +14 -0
  91. package/dist/utils/buildProfiles.js +136 -0
  92. package/dist/utils/buildProfiles.js.map +1 -0
  93. package/dist/utils/embeds.d.ts +2 -0
  94. package/dist/utils/embeds.js +17 -0
  95. package/dist/utils/embeds.js.map +1 -0
  96. package/dist/utils/extend.d.ts +8 -0
  97. package/dist/utils/extend.js +8 -0
  98. package/dist/utils/extend.js.map +1 -0
  99. package/dist/utils/utils.d.ts +9 -0
  100. package/dist/utils/utils.js +44 -0
  101. package/dist/utils/utils.js.map +1 -0
  102. package/package.json +100 -0
@@ -0,0 +1,1639 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.globalStyles = exports.ButtonStyleMapping = exports.baseImageStyle = exports.containerStyle = void 0;
4
+ const discord_js_1 = require("discord.js");
5
+ // Container styles
6
+ exports.containerStyle = {
7
+ display: 'grid',
8
+ gap: '4px',
9
+ width: '100%',
10
+ maxWidth: '500px',
11
+ borderRadius: '8px',
12
+ overflow: 'hidden',
13
+ };
14
+ // Base image style
15
+ exports.baseImageStyle = {
16
+ overflow: 'hidden',
17
+ position: 'relative',
18
+ background: '#2b2d31',
19
+ };
20
+ // Button style mapping
21
+ exports.ButtonStyleMapping = {
22
+ [discord_js_1.ButtonStyle.Primary]: 'primary',
23
+ [discord_js_1.ButtonStyle.Secondary]: 'secondary',
24
+ [discord_js_1.ButtonStyle.Success]: 'success',
25
+ [discord_js_1.ButtonStyle.Danger]: 'destructive',
26
+ [discord_js_1.ButtonStyle.Link]: 'link',
27
+ };
28
+ exports.globalStyles = `
29
+ .discord-container {
30
+ display: grid;
31
+ gap: 4px;
32
+ width: 100%;
33
+ max-width: 500px;
34
+ border-radius: 8px;
35
+ overflow: hidden;
36
+ }
37
+
38
+ .discord-base-image {
39
+ overflow: hidden;
40
+ position: relative;
41
+ background: #2b2d31;
42
+ }
43
+
44
+ .discord-action-row {
45
+ display: flex !important;
46
+ flex-wrap: wrap !important;
47
+ align-items: center;
48
+ gap: 8px;
49
+ width: 100%;
50
+ max-width: 500px;
51
+ }
52
+
53
+ [slot="components"] {
54
+ width: 100%;
55
+ }
56
+
57
+ .discord-button {
58
+ color: #ffffff !important;
59
+ padding: 0 14px;
60
+ border-radius: 8px;
61
+ text-decoration: none !important;
62
+ display: inline-flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ font-size: 14px;
66
+ font-weight: 500;
67
+ height: 34px;
68
+ min-height: 34px;
69
+ min-width: 78px;
70
+ cursor: pointer;
71
+ font-family: 'gg sans', 'Noto Sans', Whitney, 'Helvetica Neue', Helvetica, Arial, sans-serif;
72
+ text-align: center;
73
+ box-sizing: border-box;
74
+ border: 1px solid transparent;
75
+ outline: none;
76
+ transition: background-color 0.17s ease, border-color 0.17s ease, color 0.17s ease;
77
+ white-space: nowrap;
78
+ flex: 0 0 auto;
79
+ gap: 8px;
80
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
81
+ }
82
+
83
+ .discord-button:hover {
84
+ text-decoration: none !important;
85
+ }
86
+
87
+ .discord-button-content,
88
+ .discord-button-launch {
89
+ display: inline-flex;
90
+ align-items: center;
91
+ }
92
+
93
+ .discord-button-content {
94
+ gap: 8px;
95
+ }
96
+
97
+ .discord-button-emoji {
98
+ width: 16px;
99
+ height: 16px;
100
+ flex-shrink: 0;
101
+ }
102
+
103
+ .discord-button-label {
104
+ line-height: 1;
105
+ }
106
+
107
+ .discord-button-launch {
108
+ color: inherit;
109
+ opacity: 0.9;
110
+ }
111
+
112
+ .discord-button:active {
113
+ transform: translateY(1px);
114
+ }
115
+
116
+ .discord-button-primary {
117
+ background-color: #5865f2;
118
+ }
119
+ .discord-button-primary:hover {
120
+ background-color: #4752c4;
121
+ }
122
+
123
+ .discord-button-secondary {
124
+ background-color: #4e5058;
125
+ }
126
+ .discord-button-secondary:hover {
127
+ background-color: #6d6f78;
128
+ }
129
+
130
+ .discord-button-success {
131
+ background-color: #248046;
132
+ }
133
+ .discord-button-success:hover {
134
+ background-color: #1a6334;
135
+ }
136
+
137
+ .discord-button-destructive {
138
+ background-color: #da373c;
139
+ }
140
+ .discord-button-destructive:hover {
141
+ background-color: #a12828;
142
+ }
143
+
144
+ .discord-button-link {
145
+ background-color: #2b2d31;
146
+ border-color: #3f4147;
147
+ color: #dbdee1 !important;
148
+ min-width: 0;
149
+ }
150
+ .discord-button-link:hover {
151
+ background-color: #35373c;
152
+ border-color: #4f545c;
153
+ }
154
+
155
+ .discord-select-menu {
156
+ position: relative;
157
+ width: 100%;
158
+ max-width: 500px;
159
+ min-width: 0;
160
+ height: 40px;
161
+ background-color: #1e1f22;
162
+ border-radius: 8px;
163
+ color: #dbdee1;
164
+ cursor: pointer;
165
+ font-family: 'gg sans', 'Noto Sans', Whitney, 'Helvetica Neue', Helvetica, Arial, sans-serif;
166
+ font-size: 14px;
167
+ display: flex;
168
+ align-items: center;
169
+ padding: 0 14px;
170
+ justify-content: space-between;
171
+ box-sizing: border-box;
172
+ border: 1px solid #3f4147;
173
+ transition: border-color 0.2s, background-color 0.2s;
174
+ flex: 1 1 auto;
175
+ }
176
+
177
+ .discord-select-menu:hover {
178
+ background-color: #232428;
179
+ border-color: #4f545c;
180
+ }
181
+
182
+ .discord-select-menu-label {
183
+ flex: 1 1 auto;
184
+ min-width: 0;
185
+ overflow: hidden;
186
+ text-overflow: ellipsis;
187
+ white-space: nowrap;
188
+ color: #dbdee1;
189
+ font-weight: 500;
190
+ }
191
+
192
+ .discord-select-menu-chevron {
193
+ display: inline-flex;
194
+ align-items: center;
195
+ justify-content: center;
196
+ margin-left: 12px;
197
+ color: #b5bac1;
198
+ }
199
+
200
+ .discord-select-menu-options {
201
+ display: none;
202
+ position: absolute;
203
+ top: calc(100% + 4px);
204
+ left: 0;
205
+ width: 100%;
206
+ background-color: #2b2d31;
207
+ border-radius: 8px;
208
+ z-index: 10;
209
+ border: 1px solid #1e1f22;
210
+ max-height: 320px;
211
+ overflow-y: auto;
212
+ box-shadow: 0 8px 16px rgba(0,0,0,0.24);
213
+ }
214
+
215
+ .discord-select-menu-options.open {
216
+ display: block;
217
+ }
218
+
219
+ .discord-select-menu-option {
220
+ padding: 8px 12px;
221
+ cursor: pointer;
222
+ display: flex;
223
+ align-items: center;
224
+ gap: 8px;
225
+ transition: background-color 0.1s;
226
+ color: #dbdee1;
227
+ }
228
+
229
+ .discord-select-menu-option-emoji {
230
+ width: 18px;
231
+ height: 18px;
232
+ flex-shrink: 0;
233
+ }
234
+
235
+ .discord-select-menu-option:hover {
236
+ background-color: #3f4147;
237
+ color: #ffffff;
238
+ }
239
+
240
+ .discord-attachment-gallery {
241
+ width: 100%;
242
+ max-width: 610px;
243
+ border-radius: 8px;
244
+ overflow: hidden;
245
+ }
246
+
247
+ .discord-attachment-gallery-item {
248
+ position: relative;
249
+ overflow: hidden;
250
+ background: #2b2d31;
251
+ }
252
+
253
+ .discord-attachment-gallery-image {
254
+ display: block;
255
+ width: 100%;
256
+ height: 100%;
257
+ object-fit: cover;
258
+ cursor: zoom-in;
259
+ }
260
+
261
+ .discord-attachment-gallery-more {
262
+ position: absolute;
263
+ inset: 0;
264
+ display: flex;
265
+ align-items: center;
266
+ justify-content: center;
267
+ background: rgba(0, 0, 0, 0.7);
268
+ color: #ffffff;
269
+ font-size: 20px;
270
+ font-weight: 700;
271
+ }
272
+
273
+ .discord-message .discord-attachments > discord-attachment[type="file"] {
274
+ display: block;
275
+ width: auto;
276
+ max-width: min(520px, 100%);
277
+ }
278
+
279
+ .discord-custom-file-base {
280
+ display: flex;
281
+ align-items: center;
282
+ width: 100%;
283
+ max-width: min(520px, 100%);
284
+ min-width: 0;
285
+ justify-self: stretch; /* fixes the derockdev discord-attachments grid expanding */
286
+ padding: 16px;
287
+ background-color: #2b2d31;
288
+ border: 1px solid #1e1f22;
289
+ border-radius: 8px;
290
+ box-sizing: border-box;
291
+ gap: 16px;
292
+ margin-top: 4px;
293
+ margin-bottom: 4px;
294
+ }
295
+
296
+ .discord-custom-file-icon {
297
+ display: flex;
298
+ align-items: center;
299
+ justify-content: center;
300
+ flex-shrink: 0;
301
+ }
302
+
303
+ .discord-custom-file-inner {
304
+ flex-grow: 1;
305
+ display: flex;
306
+ flex-direction: column;
307
+ justify-content: center;
308
+ min-width: 0;
309
+ gap: 2px;
310
+ }
311
+
312
+ .discord-custom-file-name {
313
+ color: #00a8fc;
314
+ font-size: 16px;
315
+ font-weight: 400;
316
+ line-height: 1.25;
317
+ text-decoration: none;
318
+ overflow: hidden;
319
+ white-space: nowrap;
320
+ text-overflow: ellipsis;
321
+ display: block;
322
+ }
323
+
324
+ .discord-custom-file-name:hover {
325
+ text-decoration: underline;
326
+ }
327
+
328
+ .discord-custom-file-size {
329
+ color: #8da3b9;
330
+ font-size: 14px;
331
+ line-height: 1.25;
332
+ }
333
+
334
+ .discord-custom-file-download {
335
+ display: flex;
336
+ align-items: center;
337
+ justify-content: center;
338
+ flex-shrink: 0;
339
+ margin-left: 8px;
340
+ cursor: pointer;
341
+ color: #b5bac1;
342
+ transition: color 0.15s ease;
343
+ }
344
+
345
+ .discord-custom-file-download:hover {
346
+ color: #dbdee1;
347
+ }
348
+
349
+ .discord-custom-file-download svg {
350
+ width: 24px;
351
+ height: 24px;
352
+ }
353
+
354
+ .discord-image-preview-overlay {
355
+ position: fixed;
356
+ inset: 0;
357
+ display: flex;
358
+ align-items: center;
359
+ justify-content: center;
360
+ padding: 24px;
361
+ background: rgba(5, 5, 7, 0.88);
362
+ backdrop-filter: blur(8px);
363
+ opacity: 0;
364
+ pointer-events: none;
365
+ transition: opacity 0.16s ease;
366
+ z-index: 9999;
367
+ }
368
+
369
+ .discord-image-preview-overlay.is-open {
370
+ opacity: 1;
371
+ pointer-events: auto;
372
+ }
373
+
374
+ .discord-image-preview-stage {
375
+ display: flex;
376
+ align-items: center;
377
+ justify-content: center;
378
+ width: 100%;
379
+ height: 100%;
380
+ max-width: min(100vw - 48px, 1440px);
381
+ max-height: min(100vh - 48px, 1100px);
382
+ }
383
+
384
+ .discord-image-preview-image {
385
+ display: block;
386
+ max-width: 100%;
387
+ max-height: 100%;
388
+ object-fit: contain;
389
+ border-radius: 12px;
390
+ box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
391
+ background: #111214;
392
+ }
393
+
394
+ .discord-image-preview-close {
395
+ position: absolute;
396
+ top: 20px;
397
+ right: 20px;
398
+ width: 40px;
399
+ height: 40px;
400
+ border: 0;
401
+ border-radius: 999px;
402
+ background: rgba(32, 34, 37, 0.9);
403
+ color: #f2f3f5;
404
+ display: inline-flex;
405
+ align-items: center;
406
+ justify-content: center;
407
+ cursor: pointer;
408
+ transition: background-color 0.16s ease, transform 0.16s ease;
409
+ }
410
+
411
+ .discord-image-preview-close:hover {
412
+ background: rgba(49, 51, 56, 0.96);
413
+ }
414
+
415
+ .discord-image-preview-close:active {
416
+ transform: scale(0.97);
417
+ }
418
+
419
+ .discord-transcript-header-bar {
420
+ position: sticky;
421
+ top: 0;
422
+ z-index: 9200;
423
+ display: flex;
424
+ align-items: center;
425
+ justify-content: space-between;
426
+ gap: 16px;
427
+ min-height: 48px;
428
+ padding: 8px 16px;
429
+ background: rgba(7, 7, 9, 0.96);
430
+ border-bottom: 1px solid rgba(255, 255, 255, 0.08);
431
+ backdrop-filter: blur(16px);
432
+ box-sizing: border-box;
433
+ }
434
+
435
+ .discord-transcript-header-main {
436
+ display: flex;
437
+ align-items: center;
438
+ gap: 12px;
439
+ min-width: 0;
440
+ flex: 1 1 auto;
441
+ }
442
+
443
+ .discord-transcript-header-server-icon {
444
+ width: 24px;
445
+ height: 24px;
446
+ border-radius: 50%;
447
+ object-fit: cover;
448
+ flex: 0 0 auto;
449
+ box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
450
+ }
451
+
452
+ .discord-transcript-header-glyph,
453
+ .discord-transcript-header-avatar {
454
+ width: 24px;
455
+ height: 24px;
456
+ flex: 0 0 auto;
457
+ }
458
+
459
+ .discord-transcript-header-glyph {
460
+ color: #b5bac1;
461
+ display: inline-flex;
462
+ align-items: center;
463
+ justify-content: center;
464
+ }
465
+
466
+ .discord-transcript-header-glyph--hash {
467
+ font-size: 24px;
468
+ font-weight: 500;
469
+ line-height: 1;
470
+ transform: translateY(-1px);
471
+ }
472
+
473
+ .discord-transcript-header-avatar {
474
+ border-radius: 50%;
475
+ object-fit: cover;
476
+ box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
477
+ }
478
+
479
+ .discord-transcript-header-copy {
480
+ display: flex;
481
+ align-items: center;
482
+ gap: 8px;
483
+ min-width: 0;
484
+ flex: 1 1 auto;
485
+ overflow: hidden;
486
+ white-space: nowrap;
487
+ }
488
+
489
+ .discord-transcript-header-title {
490
+ color: #f2f3f5;
491
+ font-size: 16px;
492
+ font-weight: 700;
493
+ line-height: 1.2;
494
+ flex: 0 0 auto;
495
+ }
496
+
497
+ .discord-transcript-header-separator {
498
+ color: #4e5058;
499
+ flex: 0 0 auto;
500
+ }
501
+
502
+ .discord-transcript-header-topic {
503
+ color: #949ba4;
504
+ font-size: 14px;
505
+ font-weight: 500;
506
+ line-height: 1.2;
507
+ min-width: 0;
508
+ overflow: hidden;
509
+ text-overflow: ellipsis;
510
+ white-space: nowrap;
511
+ }
512
+
513
+ .discord-transcript-header-topic > * {
514
+ display: inline;
515
+ }
516
+
517
+ .discord-transcript-header-tools {
518
+ display: flex;
519
+ align-items: center;
520
+ justify-content: flex-end;
521
+ gap: 12px;
522
+ flex: 0 1 auto;
523
+ min-width: 0;
524
+ }
525
+
526
+ .discord-transcript-header-actions {
527
+ display: flex;
528
+ align-items: center;
529
+ gap: 4px;
530
+ flex: 0 0 auto;
531
+ }
532
+
533
+ .discord-transcript-header-tool {
534
+ width: 32px;
535
+ height: 32px;
536
+ border: 0;
537
+ border-radius: 8px;
538
+ background: transparent;
539
+ color: #b5bac1;
540
+ display: inline-flex;
541
+ align-items: center;
542
+ justify-content: center;
543
+ cursor: default;
544
+ transition: background-color 0.16s ease, color 0.16s ease;
545
+ }
546
+
547
+ .discord-transcript-header-tool:hover {
548
+ background: rgba(255, 255, 255, 0.05);
549
+ color: #f2f3f5;
550
+ }
551
+
552
+ .discord-transcript-header-search-slot {
553
+ display: flex;
554
+ align-items: center;
555
+ justify-content: flex-end;
556
+ min-width: 0;
557
+ flex: 0 1 auto;
558
+ }
559
+
560
+ .discord-transcript-header-search-slot .discord-transcript-search-shell {
561
+ position: static;
562
+ top: auto;
563
+ right: auto;
564
+ max-width: none;
565
+ align-items: center;
566
+ }
567
+
568
+ .discord-transcript-header-search-slot .discord-transcript-search {
569
+ position: relative;
570
+ overflow: visible;
571
+ transform-origin: center right;
572
+ }
573
+
574
+ .discord-transcript-header-search-slot .discord-transcript-search-bar {
575
+ box-shadow: none;
576
+ }
577
+
578
+ .discord-transcript-header-search-slot .discord-transcript-search-meta {
579
+ position: absolute;
580
+ top: calc(100% + 8px);
581
+ right: 0;
582
+ min-width: max-content;
583
+ padding: 8px 10px;
584
+ border: 1px solid rgba(255, 255, 255, 0.08);
585
+ border-radius: 10px;
586
+ background: rgba(17, 18, 20, 0.98);
587
+ box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
588
+ backdrop-filter: blur(16px);
589
+ }
590
+
591
+ .discord-transcript-search-shell {
592
+ position: fixed;
593
+ top: calc(env(safe-area-inset-top) + 16px);
594
+ right: calc(env(safe-area-inset-right) + 16px);
595
+ z-index: 9500;
596
+ display: flex;
597
+ align-items: flex-start;
598
+ justify-content: flex-end;
599
+ gap: 0;
600
+ max-width: calc(100vw - 24px);
601
+ }
602
+
603
+ .discord-transcript-search-shell.is-open {
604
+ gap: 8px;
605
+ }
606
+
607
+ .discord-transcript-search-toggle {
608
+ width: 42px;
609
+ height: 42px;
610
+ border: 1px solid rgba(255, 255, 255, 0.08);
611
+ border-radius: 12px;
612
+ background: rgba(17, 18, 20, 0.92);
613
+ color: #dbdee1;
614
+ display: inline-flex;
615
+ align-items: center;
616
+ justify-content: space-between;
617
+ justify-content: center;
618
+ cursor: pointer;
619
+ box-shadow: 0 18px 32px rgba(0, 0, 0, 0.3);
620
+ backdrop-filter: blur(14px);
621
+ transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, transform 0.16s ease;
622
+ }
623
+
624
+ .discord-transcript-search-toggle:hover {
625
+ background: rgba(27, 28, 32, 0.96);
626
+ border-color: rgba(255, 255, 255, 0.14);
627
+ }
628
+
629
+ .discord-transcript-search-toggle:active {
630
+ transform: translateY(1px);
631
+ }
632
+
633
+ .discord-transcript-search-shell.is-open .discord-transcript-search-toggle {
634
+ color: #ffffff;
635
+ border-color: rgba(88, 101, 242, 0.35);
636
+ background: rgba(36, 38, 43, 0.96);
637
+ }
638
+
639
+ .discord-transcript-search {
640
+ width: 0;
641
+ max-width: 0;
642
+ display: grid;
643
+ gap: 6px;
644
+ padding: 0;
645
+ border: 0;
646
+ background: transparent;
647
+ box-shadow: none;
648
+ backdrop-filter: none;
649
+ box-sizing: border-box;
650
+ overflow: hidden;
651
+ opacity: 0;
652
+ visibility: hidden;
653
+ transform: translateY(-4px) scale(0.98);
654
+ transform-origin: top right;
655
+ pointer-events: none;
656
+ transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease, width 0.16s ease, max-width 0.16s ease;
657
+ }
658
+
659
+ .discord-transcript-search-shell.is-open .discord-transcript-search {
660
+ width: min(248px, calc(100vw - 84px));
661
+ max-width: min(248px, calc(100vw - 84px));
662
+ opacity: 1;
663
+ visibility: visible;
664
+ transform: translateY(0) scale(1);
665
+ pointer-events: auto;
666
+ }
667
+
668
+ .discord-transcript-search-bar {
669
+ display: flex;
670
+ align-items: center;
671
+ gap: 6px;
672
+ min-width: 0;
673
+ height: 36px;
674
+ padding: 0 8px 0 12px;
675
+ border-radius: 8px;
676
+ border: 1px solid #2b2d31;
677
+ background: rgba(10, 11, 13, 0.98);
678
+ box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
679
+ box-sizing: border-box;
680
+ transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
681
+ }
682
+
683
+ .discord-transcript-search-bar:focus-within {
684
+ border-color: #3f4147;
685
+ box-shadow: 0 0 0 1px rgba(88, 101, 242, 0.18), 0 12px 28px rgba(0, 0, 0, 0.24);
686
+ background: #070709;
687
+ }
688
+
689
+ .discord-transcript-search-input {
690
+ min-width: 0;
691
+ width: 100%;
692
+ height: 100%;
693
+ padding: 0;
694
+ border-radius: 0;
695
+ border: 0;
696
+ background: transparent;
697
+ color: #f2f3f5;
698
+ font: inherit;
699
+ font-size: 14px;
700
+ outline: none;
701
+ box-sizing: border-box;
702
+ }
703
+
704
+ .discord-transcript-search-input::placeholder {
705
+ color: #949ba4;
706
+ }
707
+
708
+ .discord-transcript-search-submit {
709
+ width: 28px;
710
+ height: 28px;
711
+ border: 0;
712
+ border-radius: 999px;
713
+ background: transparent;
714
+ color: #aeb4bb;
715
+ display: inline-flex;
716
+ align-items: center;
717
+ justify-content: center;
718
+ cursor: pointer;
719
+ flex: 0 0 auto;
720
+ transition: background-color 0.16s ease, color 0.16s ease;
721
+ }
722
+
723
+ .discord-transcript-search-submit:hover {
724
+ background: rgba(255, 255, 255, 0.06);
725
+ color: #f2f3f5;
726
+ }
727
+
728
+ .discord-transcript-search-meta {
729
+ display: none;
730
+ align-items: center;
731
+ justify-content: space-between;
732
+ gap: 10px;
733
+ min-width: 0;
734
+ padding: 0 2px;
735
+ }
736
+
737
+ .discord-transcript-search.has-query .discord-transcript-search-meta {
738
+ display: flex;
739
+ }
740
+
741
+ .discord-transcript-search-actions {
742
+ display: inline-flex;
743
+ align-items: center;
744
+ gap: 6px;
745
+ flex: 0 0 auto;
746
+ }
747
+
748
+ .discord-transcript-search-count {
749
+ min-width: 0;
750
+ display: inline-flex;
751
+ align-items: center;
752
+ color: #b5bac1;
753
+ font-size: 12px;
754
+ font-weight: 600;
755
+ line-height: 1.2;
756
+ flex: 1 1 auto;
757
+ }
758
+
759
+ .discord-transcript-search-button {
760
+ height: 30px;
761
+ min-width: 30px;
762
+ padding: 0 8px;
763
+ border-radius: 8px;
764
+ border: 1px solid #2b2d31;
765
+ background: rgba(30, 31, 34, 0.92);
766
+ color: #c9ced6;
767
+ font: inherit;
768
+ font-size: 12px;
769
+ font-weight: 700;
770
+ cursor: pointer;
771
+ transition: background-color 0.16s ease, border-color 0.16s ease, opacity 0.16s ease;
772
+ }
773
+
774
+ .discord-transcript-search-button:hover:not(:disabled) {
775
+ background: #2b2d31;
776
+ border-color: #3f4147;
777
+ }
778
+
779
+ .discord-transcript-search-button:disabled {
780
+ cursor: default;
781
+ opacity: 0.45;
782
+ }
783
+
784
+ .discord-transcript-search-button--ghost {
785
+ color: #b5bac1;
786
+ }
787
+
788
+ .discord-transcript-search-hint {
789
+ display: none;
790
+ }
791
+
792
+ discord-message.discord-search-match {
793
+ background: rgba(88, 101, 242, 0.08);
794
+ border-radius: 8px;
795
+ transition: background-color 0.16s ease, box-shadow 0.16s ease;
796
+ }
797
+
798
+ discord-message.discord-search-match--active {
799
+ background: rgba(88, 101, 242, 0.14);
800
+ box-shadow: 0 0 0 1px rgba(88, 101, 242, 0.55), 0 0 0 6px rgba(88, 101, 242, 0.12);
801
+ }
802
+
803
+ body[data-transcript-image-preview="true"] discord-attachment[type="image"] {
804
+ cursor: zoom-in;
805
+ }
806
+
807
+ body[data-transcript-image-preview="true"] .discord-embed-image img,
808
+ body[data-transcript-image-preview="true"] [slot="components"] img:not(.discord-button-emoji):not(.discord-select-menu-option-emoji):not(.discord-server-tag-badge),
809
+ body[data-transcript-image-preview="true"] .discord-container img:not(.discord-button-emoji):not(.discord-select-menu-option-emoji):not(.discord-server-tag-badge) {
810
+ cursor: zoom-in;
811
+ }
812
+
813
+ /* Background colors */
814
+ body,
815
+ .discord-dark-theme,
816
+ .discord-light-theme,
817
+ discord-messages,
818
+ .discord-messages {
819
+ background-color: #070709 !important;
820
+ }
821
+ .discord-message {
822
+ background-color: transparent !important;
823
+ }
824
+ .discord-message:hover {
825
+ background-color: #242428 !important;
826
+ }
827
+ .discord-message::selection,
828
+ .discord-message *::selection {
829
+ background-color: #242428;
830
+ color: inherit;
831
+ }
832
+
833
+ /* Embed borders */
834
+ .discord-embed .discord-embed-wrapper,
835
+ [class*="discord-embed"] [class*="discord-embed-wrapper"],
836
+ discord-embed .discord-embed-wrapper,
837
+ discord-embed > .discord-embed > .discord-embed-wrapper {
838
+ border: 1px solid rgba(255, 255, 255, 0.06) !important;
839
+ border-radius: 4px !important;
840
+ }
841
+
842
+ /* APP badge */
843
+ .discord-application-tag[data-transcript-app-tag-kind="bot"] {
844
+ font-size: 0px !important;
845
+ letter-spacing: 0 !important;
846
+ }
847
+ .discord-application-tag[data-transcript-app-tag-kind="bot"]::after {
848
+ content: "APP";
849
+ font-size: 10px;
850
+ font-weight: 700;
851
+ line-height: 1;
852
+ vertical-align: middle;
853
+ }
854
+
855
+ /* Discord Server Tags */
856
+ .discord-server-tag {
857
+ display: inline-flex;
858
+ align-items: center;
859
+ gap: 4px;
860
+ margin-left: 6px;
861
+ padding: 2px 6px 2px 4px;
862
+ border-radius: 999px;
863
+ border: 1px solid rgba(255, 255, 255, 0.08);
864
+ background: rgba(17, 18, 20, 0.55);
865
+ color: #dbdee1;
866
+ font-size: 10px;
867
+ font-weight: 700;
868
+ line-height: 1;
869
+ vertical-align: middle;
870
+ white-space: nowrap;
871
+ }
872
+ .discord-server-tag-badge {
873
+ width: 14px;
874
+ height: 14px;
875
+ border-radius: 50%;
876
+ object-fit: cover;
877
+ flex-shrink: 0;
878
+ }
879
+ .discord-server-tag-text {
880
+ letter-spacing: 0.02em;
881
+ }
882
+ .discord-message .discord-author-info .discord-author-role-icon {
883
+ border-radius: 4px;
884
+ object-fit: cover;
885
+ }
886
+ .discord-author-info .discord-server-tag + .discord-author-role-icon {
887
+ margin-left: 0.375rem;
888
+ }
889
+ .discord-replied-message .discord-author-role-icon {
890
+ width: 16px;
891
+ height: 16px;
892
+ margin-left: 4px;
893
+ border-radius: 4px;
894
+ object-fit: cover;
895
+ flex: 0 0 auto;
896
+ }
897
+ .discord-replied-message .discord-server-tag {
898
+ margin-left: 4px;
899
+ padding: 1px 5px 1px 3px;
900
+ font-size: 9px;
901
+ }
902
+ .discord-replied-message .discord-server-tag-badge {
903
+ width: 12px;
904
+ height: 12px;
905
+ }
906
+ .discord-light-theme .discord-server-tag {
907
+ border-color: rgba(116, 127, 141, 0.18);
908
+ background: rgba(116, 127, 141, 0.12);
909
+ color: #4f5660;
910
+ }
911
+
912
+ @media (min-width: 901px) {
913
+ .discord-transcript-search-toggle {
914
+ display: none;
915
+ }
916
+
917
+ .discord-transcript-search {
918
+ opacity: 1;
919
+ visibility: visible;
920
+ transform: none;
921
+ pointer-events: auto;
922
+ width: 240px;
923
+ }
924
+ }
925
+
926
+ /* Mention Highlight Colors */
927
+ .discord-message.discord-highlight-mention,
928
+ .discord-message.discord-highlight {
929
+ background-color: rgba(250, 166, 26, 0.1) !important;
930
+ }
931
+ .discord-message.discord-highlight::before,
932
+ .discord-message.discord-highlight-mention::before {
933
+ background-color: #faa61a !important;
934
+ }
935
+
936
+ /* Heading line-height fix */
937
+ .discord-message h1, .discord-message h2, .discord-message h3 {
938
+ line-height: normal !important;
939
+ margin-top: 16px !important;
940
+ margin-bottom: 8px !important;
941
+ }
942
+
943
+ /* Mobile responsive */
944
+ @media (max-width: 768px) {
945
+ html, body, .discord-messages {
946
+ max-width: 100vw;
947
+ overflow-x: clip;
948
+ }
949
+
950
+ .discord-embed .discord-embed-wrapper,
951
+ [class*="discord-embed"] [class*="discord-embed-wrapper"],
952
+ discord-embed .discord-embed-wrapper {
953
+ max-width: calc(100vw - 32px) !important;
954
+ }
955
+
956
+ .discord-embed .discord-embed-media .discord-embed-video,
957
+ .discord-embed .discord-embed-image img,
958
+ .discord-embed .discord-embed-thumbnail img,
959
+ .discord-attachment,
960
+ discord-attachment,
961
+ .discord-attachment-generic,
962
+ .discord-attachment-generic-inner {
963
+ max-width: 100% !important;
964
+ height: auto !important;
965
+ min-width: 0 !important;
966
+ }
967
+
968
+ .discord-embed .discord-embed-wrapper .discord-embed-grid {
969
+ grid-template-columns: 1fr !important;
970
+ padding: 0.5rem !important;
971
+ }
972
+
973
+ .discord-message {
974
+ padding-right: 12px !important;
975
+ }
976
+
977
+ .discord-action-row {
978
+ width: 100%;
979
+ }
980
+
981
+ .discord-select-menu {
982
+ width: 100%;
983
+ max-width: 100%;
984
+ flex-basis: 100%;
985
+ }
986
+
987
+ .discord-image-preview-overlay {
988
+ padding: 16px;
989
+ }
990
+
991
+ .discord-image-preview-close {
992
+ top: calc(env(safe-area-inset-top) + 14px);
993
+ right: calc(env(safe-area-inset-right) + 14px);
994
+ }
995
+
996
+ .discord-message .discord-author-info {
997
+ flex-wrap: wrap;
998
+ row-gap: 4px;
999
+ }
1000
+
1001
+ .discord-server-tag {
1002
+ margin-left: 4px;
1003
+ padding: 1px 5px 1px 3px;
1004
+ font-size: 9px;
1005
+ }
1006
+
1007
+ .discord-server-tag-badge {
1008
+ width: 12px;
1009
+ height: 12px;
1010
+ }
1011
+
1012
+ .discord-message .discord-author-info .discord-author-role-icon {
1013
+ width: 16px;
1014
+ height: 16px;
1015
+ }
1016
+
1017
+ .discord-transcript-header-bar {
1018
+ gap: 10px;
1019
+ padding: 8px 12px;
1020
+ }
1021
+
1022
+ .discord-transcript-header-server-icon {
1023
+ width: 23px;
1024
+ height: 23px;
1025
+ }
1026
+
1027
+ .discord-transcript-header-copy {
1028
+ gap: 6px;
1029
+ }
1030
+
1031
+ .discord-transcript-header-title {
1032
+ font-size: 15px;
1033
+ }
1034
+
1035
+ .discord-transcript-header-topic {
1036
+ font-size: 13px;
1037
+ }
1038
+
1039
+ .discord-transcript-header-actions {
1040
+ gap: 2px;
1041
+ }
1042
+
1043
+ .discord-transcript-header-tool {
1044
+ width: 30px;
1045
+ height: 30px;
1046
+ }
1047
+
1048
+ .discord-transcript-header-tool--hide-mobile {
1049
+ display: none;
1050
+ }
1051
+
1052
+ .discord-transcript-search-shell {
1053
+ top: calc(env(safe-area-inset-top) + 12px);
1054
+ right: calc(env(safe-area-inset-right) + 12px);
1055
+ align-items: flex-end;
1056
+ gap: 8px;
1057
+ }
1058
+
1059
+ .discord-transcript-header-search-slot .discord-transcript-search-shell {
1060
+ top: auto;
1061
+ right: auto;
1062
+ align-items: center;
1063
+ max-width: 100%;
1064
+ }
1065
+
1066
+ .discord-transcript-search {
1067
+ width: min(calc(100vw - 76px), 248px);
1068
+ }
1069
+
1070
+ .discord-transcript-search-meta {
1071
+ gap: 8px;
1072
+ align-items: center;
1073
+ flex-direction: row;
1074
+ }
1075
+
1076
+ .discord-transcript-search-actions {
1077
+ justify-content: flex-end;
1078
+ }
1079
+
1080
+ .discord-transcript-search-count {
1081
+ min-width: 0;
1082
+ }
1083
+
1084
+ .discord-attachment-gallery {
1085
+ max-width: calc(100vw - 32px);
1086
+ }
1087
+
1088
+ .discord-message .discord-attachments > discord-attachment[type="file"] {
1089
+ width: min(100%, calc(100vw - 92px));
1090
+ max-width: min(520px, calc(100vw - 92px));
1091
+ }
1092
+
1093
+ .discord-attachment-generic {
1094
+ width: min(100%, calc(100vw - 92px)) !important;
1095
+ max-width: min(520px, calc(100vw - 92px)) !important;
1096
+ padding: 10px 12px !important;
1097
+ }
1098
+
1099
+ .discord-invite {
1100
+ width: min(100%, calc(100vw - 92px));
1101
+ max-width: min(432px, calc(100vw - 92px));
1102
+ padding: 14px !important;
1103
+ }
1104
+
1105
+ .discord-invite .discord-invite-root {
1106
+ grid-template-columns: 50px minmax(0, 1fr);
1107
+ }
1108
+
1109
+ .discord-invite .discord-invite-join {
1110
+ grid-column: 1 / -1;
1111
+ justify-self: stretch;
1112
+ display: flex;
1113
+ align-items: center;
1114
+ justify-content: center;
1115
+ width: 100%;
1116
+ max-width: 100%;
1117
+ min-width: 0;
1118
+ box-sizing: border-box !important;
1119
+ margin-top: 10px;
1120
+ }
1121
+
1122
+ .discord-invite .discord-invite-counts {
1123
+ flex-wrap: wrap;
1124
+ row-gap: 6px;
1125
+ }
1126
+
1127
+ .discord-invite .discord-invite-header {
1128
+ white-space: normal;
1129
+ overflow: visible;
1130
+ text-overflow: initial;
1131
+ }
1132
+
1133
+ .discord-image-preview-stage {
1134
+ max-width: calc(100vw - 32px);
1135
+ max-height: calc(100vh - 32px);
1136
+ }
1137
+
1138
+ .discord-voice-message {
1139
+ width: min(100%, calc(100vw - 92px));
1140
+ max-width: min(400px, calc(100vw - 92px));
1141
+ padding: 8px 12px 8px 8px;
1142
+ gap: 6px;
1143
+ }
1144
+
1145
+ .discord-voice-waveform {
1146
+ gap: 1px;
1147
+ }
1148
+
1149
+ .discord-voice-waveform-bar {
1150
+ width: 2px;
1151
+ flex-basis: 2px;
1152
+ }
1153
+
1154
+ .discord-voice-duration {
1155
+ min-width: 28px;
1156
+ font-size: 11px;
1157
+ }
1158
+
1159
+ .discord-voice-speed {
1160
+ padding: 2px 5px;
1161
+ font-size: 11px;
1162
+ }
1163
+
1164
+ .discord-voice-volume svg {
1165
+ width: 18px;
1166
+ height: 18px;
1167
+ }
1168
+ }
1169
+
1170
+ @media (max-width: 480px) {
1171
+ .discord-transcript-header-bar {
1172
+ padding: 8px 10px;
1173
+ }
1174
+
1175
+ .discord-transcript-header-server-icon,
1176
+ .discord-transcript-header-glyph,
1177
+ .discord-transcript-header-avatar {
1178
+ width: 22px;
1179
+ height: 22px;
1180
+ }
1181
+
1182
+ .discord-transcript-header-topic,
1183
+ .discord-transcript-header-separator {
1184
+ display: none;
1185
+ }
1186
+
1187
+ .discord-transcript-header-tools {
1188
+ gap: 8px;
1189
+ }
1190
+
1191
+ .discord-transcript-search-shell {
1192
+ top: calc(env(safe-area-inset-top) + 10px);
1193
+ right: calc(env(safe-area-inset-right) + 10px);
1194
+ max-width: calc(100vw - 20px);
1195
+ }
1196
+
1197
+ .discord-transcript-search-toggle {
1198
+ width: 40px;
1199
+ height: 40px;
1200
+ border-radius: 11px;
1201
+ }
1202
+
1203
+ .discord-transcript-search {
1204
+ width: min(calc(100vw - 72px), 228px);
1205
+ }
1206
+
1207
+ .discord-transcript-search-bar {
1208
+ height: 38px;
1209
+ }
1210
+
1211
+ .discord-invite {
1212
+ width: min(100%, calc(100vw - 84px));
1213
+ max-width: min(432px, calc(100vw - 84px));
1214
+ padding: 12px !important;
1215
+ }
1216
+
1217
+ .discord-message .discord-attachments > discord-attachment[type="file"] {
1218
+ width: min(100%, calc(100vw - 84px));
1219
+ max-width: min(520px, calc(100vw - 84px));
1220
+ }
1221
+
1222
+ .discord-attachment-generic {
1223
+ width: min(100%, calc(100vw - 84px)) !important;
1224
+ max-width: min(520px, calc(100vw - 84px)) !important;
1225
+ gap: 8px;
1226
+ padding: 10px !important;
1227
+ }
1228
+
1229
+ .discord-attachment-generic-icon > svg {
1230
+ width: 26px;
1231
+ }
1232
+
1233
+ .discord-invite .discord-invite-icon {
1234
+ width: 44px !important;
1235
+ height: 44px !important;
1236
+ margin-right: 0 !important;
1237
+ border-radius: 14px !important;
1238
+ }
1239
+
1240
+ .discord-invite .discord-invite-title {
1241
+ font-size: 15px !important;
1242
+ }
1243
+
1244
+ .discord-invite .discord-invite-counts {
1245
+ font-size: 13px !important;
1246
+ }
1247
+
1248
+ .discord-button {
1249
+ max-width: 100%;
1250
+ }
1251
+
1252
+ .discord-voice-message {
1253
+ width: min(100%, calc(100vw - 84px));
1254
+ max-width: min(400px, calc(100vw - 84px));
1255
+ border-radius: 20px;
1256
+ }
1257
+
1258
+ .discord-voice-play-button {
1259
+ width: 30px;
1260
+ height: 30px;
1261
+ min-width: 30px;
1262
+ }
1263
+ }
1264
+
1265
+ /* Code blocks */
1266
+ .discord-message .discord-message-body code {
1267
+ background-color: #1e1f22 !important;
1268
+ padding: 0.2em 0.4em !important;
1269
+ border-radius: 4px !important;
1270
+ font-size: 85% !important;
1271
+ }
1272
+ .discord-message .discord-message-body pre {
1273
+ border: 1px solid #1e1f22 !important;
1274
+ border-radius: 4px !important;
1275
+ }
1276
+ .discord-code-block-pre,
1277
+ .discord-code-block-pre--multiline,
1278
+ .discord-code-block-pre--multiline.hljs {
1279
+ background-color: #1e1f22 !important;
1280
+ border-color: #1a1b1e !important;
1281
+ }
1282
+ .discord-ansi-code-block {
1283
+ margin: 0;
1284
+ }
1285
+ .discord-ansi-code-block .discord-ansi-code {
1286
+ background: transparent !important;
1287
+ color: #dcddde;
1288
+ display: block;
1289
+ font-size: inherit !important;
1290
+ padding: 0 !important;
1291
+ white-space: break-spaces;
1292
+ }
1293
+
1294
+ /* Invite cards */
1295
+ .discord-invite {
1296
+ background-color: #2b2d31 !important;
1297
+ border: 1px solid rgba(255, 255, 255, 0.06) !important;
1298
+ border-radius: 8px !important;
1299
+ width: min(432px, 100%);
1300
+ max-width: min(432px, calc(100vw - 104px));
1301
+ min-width: 0;
1302
+ box-sizing: border-box;
1303
+ }
1304
+ .discord-invite .discord-invite-root {
1305
+ display: grid !important;
1306
+ grid-template-columns: 50px minmax(0, 1fr) auto;
1307
+ gap: 12px;
1308
+ align-items: center;
1309
+ width: 100%;
1310
+ min-width: 0;
1311
+ box-sizing: border-box;
1312
+ }
1313
+ .discord-invite .discord-invite-info {
1314
+ min-width: 0;
1315
+ }
1316
+ .discord-invite .discord-invite-title {
1317
+ min-width: 0;
1318
+ overflow: hidden;
1319
+ text-overflow: ellipsis;
1320
+ white-space: nowrap;
1321
+ }
1322
+ .discord-invite .discord-invite-counts {
1323
+ display: flex;
1324
+ flex-wrap: wrap;
1325
+ gap: 8px;
1326
+ min-width: 0;
1327
+ }
1328
+ .discord-invite .discord-invite-count {
1329
+ min-width: 0;
1330
+ }
1331
+ .discord-invite .discord-invite-header {
1332
+ color: #b5bac1 !important;
1333
+ text-transform: uppercase !important;
1334
+ font-size: 12px !important;
1335
+ }
1336
+ .discord-invite .discord-invite-icon {
1337
+ background-color: #1e1f22 !important;
1338
+ border-radius: 16px !important;
1339
+ }
1340
+ .discord-invite .discord-invite-join {
1341
+ background-color: #248046 !important;
1342
+ border-radius: 4px !important;
1343
+ font-size: 14px !important;
1344
+ padding: 0 16px !important;
1345
+ margin-left: 0 !important;
1346
+ max-width: 100%;
1347
+ box-sizing: border-box !important;
1348
+ }
1349
+ .discord-invite .discord-invite-join:hover {
1350
+ background-color: #1a6334 !important;
1351
+ }
1352
+
1353
+ /* Custom styling for Forwards */
1354
+ .discord-forwarding-pill {
1355
+ display: flex;
1356
+ align-items: center;
1357
+ color: #8b8e95;
1358
+ margin-bottom: 4px;
1359
+ font-size: 13px;
1360
+ font-weight: 500;
1361
+ }
1362
+ .discord-forwarding-pill svg {
1363
+ margin-right: 4px;
1364
+ }
1365
+
1366
+ /* Custom styling for System Message Thread Previews */
1367
+ .discord-thread-preview-container {
1368
+ position: relative;
1369
+ margin-left: 16px;
1370
+ margin-top: 4px;
1371
+ margin-bottom: 4px;
1372
+ }
1373
+ .discord-thread-preview-container::before {
1374
+ content: '';
1375
+ position: absolute;
1376
+ top: -15px;
1377
+ bottom: 50%;
1378
+ left: -24px;
1379
+ width: 24px;
1380
+ border-left: 2px solid #4f545c;
1381
+ border-bottom: 2px solid #4f545c;
1382
+ border-bottom-left-radius: 6px;
1383
+ }
1384
+ .discord-thread-preview-box {
1385
+ background-color: #2b2d31;
1386
+ border: 1px solid #1e1f22;
1387
+ border-radius: 8px;
1388
+ padding: 12px;
1389
+ max-width: 400px;
1390
+ }
1391
+ .discord-thread-preview-header {
1392
+ display: flex;
1393
+ align-items: center;
1394
+ gap: 8px;
1395
+ font-size: 14px;
1396
+ font-weight: 700;
1397
+ color: #dbdee1;
1398
+ margin-bottom: 4px;
1399
+ }
1400
+ .discord-thread-preview-header span {
1401
+ font-size: 12px;
1402
+ font-weight: 600;
1403
+ color: #00a8fc;
1404
+ }
1405
+ .discord-thread-preview-message {
1406
+ display: flex;
1407
+ align-items: center;
1408
+ gap: 8px;
1409
+ }
1410
+ .discord-thread-preview-message img {
1411
+ width: 16px;
1412
+ height: 16px;
1413
+ border-radius: 50%;
1414
+ }
1415
+ .discord-thread-preview-message span {
1416
+ font-size: 13px;
1417
+ color: #B5BAC1;
1418
+ white-space: nowrap;
1419
+ overflow: hidden;
1420
+ text-overflow: ellipsis;
1421
+ }
1422
+ .discord-thread-preview-message strong {
1423
+ color: #dbdee1;
1424
+ font-weight: 500;
1425
+ }
1426
+
1427
+ /* Custom styling for Discord Polls */
1428
+ .discord-poll {
1429
+ border: 1px solid #3f4147;
1430
+ border-radius: 8px;
1431
+ padding: 16px;
1432
+ margin-top: 8px;
1433
+ max-width: 500px;
1434
+ display: flex;
1435
+ flex-direction: column;
1436
+ gap: 12px;
1437
+ }
1438
+ .discord-poll-header {
1439
+ display: flex;
1440
+ flex-direction: column;
1441
+ gap: 2px;
1442
+ }
1443
+ .discord-poll-question {
1444
+ font-size: 16px;
1445
+ font-weight: 700;
1446
+ color: #f2f3f5;
1447
+ }
1448
+ .discord-poll-subtitle {
1449
+ font-size: 12px;
1450
+ color: #949ba4;
1451
+ font-weight: 400;
1452
+ }
1453
+ .discord-poll-answers {
1454
+ display: flex;
1455
+ flex-direction: column;
1456
+ gap: 8px;
1457
+ }
1458
+ .discord-poll-answer {
1459
+ position: relative;
1460
+ background-color: #2b2d31;
1461
+ border: 1px solid #3f4147;
1462
+ border-radius: 8px;
1463
+ overflow: hidden;
1464
+ min-height: 44px;
1465
+ cursor: pointer;
1466
+ transition: border-color 0.15s ease;
1467
+ }
1468
+ .discord-poll-answer:hover {
1469
+ border-color: #5865f2;
1470
+ }
1471
+ .discord-poll-answer.finalized {
1472
+ cursor: default;
1473
+ border-color: #3f4147;
1474
+ }
1475
+ .discord-poll-bar {
1476
+ position: absolute;
1477
+ left: 0;
1478
+ top: 0;
1479
+ height: 100%;
1480
+ background-color: #5865f2;
1481
+ opacity: 0.2;
1482
+ border-radius: 7px;
1483
+ transition: width 0.3s ease;
1484
+ }
1485
+ .discord-poll-content {
1486
+ display: flex;
1487
+ align-items: center;
1488
+ padding: 0 16px;
1489
+ width: 100%;
1490
+ height: 44px;
1491
+ z-index: 1;
1492
+ position: relative;
1493
+ gap: 8px;
1494
+ box-sizing: border-box;
1495
+ }
1496
+ .discord-poll-emoji {
1497
+ display: flex;
1498
+ align-items: center;
1499
+ justify-content: center;
1500
+ width: 22px;
1501
+ height: 22px;
1502
+ flex-shrink: 0;
1503
+ }
1504
+ .discord-poll-emoji img {
1505
+ max-width: 100%;
1506
+ max-height: 100%;
1507
+ }
1508
+ .discord-poll-text {
1509
+ flex-grow: 1;
1510
+ font-size: 16px;
1511
+ color: #dbdee1;
1512
+ font-weight: 500;
1513
+ }
1514
+ .discord-poll-votes {
1515
+ font-size: 13px;
1516
+ color: #949ba4;
1517
+ font-weight: 600;
1518
+ flex-shrink: 0;
1519
+ }
1520
+ .discord-poll-radio {
1521
+ flex-shrink: 0;
1522
+ display: flex;
1523
+ align-items: center;
1524
+ justify-content: center;
1525
+ opacity: 0.6;
1526
+ }
1527
+ .discord-poll-footer {
1528
+ font-size: 14px;
1529
+ color: #949ba4;
1530
+ display: flex;
1531
+ justify-content: space-between;
1532
+ align-items: center;
1533
+ }
1534
+ .discord-poll-footer-left {
1535
+ font-size: 14px;
1536
+ font-weight: 700;
1537
+ color: #b5bac1;
1538
+ }
1539
+ .discord-poll-footer-right {
1540
+ display: flex;
1541
+ align-items: center;
1542
+ gap: 12px;
1543
+ }
1544
+ .discord-poll-show-results {
1545
+ color: #dbdee1;
1546
+ font-size: 14px;
1547
+ font-weight: 600;
1548
+ cursor: pointer;
1549
+ }
1550
+ .discord-poll-show-results:hover {
1551
+ text-decoration: underline;
1552
+ }
1553
+ .discord-poll-vote-btn {
1554
+ background-color: #5865f2;
1555
+ color: #ffffff;
1556
+ font-size: 14px;
1557
+ font-weight: 600;
1558
+ padding: 6px 20px;
1559
+ border-radius: 4px;
1560
+ cursor: pointer;
1561
+ user-select: none;
1562
+ }
1563
+ .discord-poll-vote-btn:hover {
1564
+ background-color: #4752c4;
1565
+ }
1566
+
1567
+ /* Custom styling for Voice Messages */
1568
+ .discord-voice-message {
1569
+ display: flex;
1570
+ align-items: center;
1571
+ background-color: #2b2d31;
1572
+ border-radius: 22px;
1573
+ padding: 8px 16px 8px 8px;
1574
+ margin-top: 4px;
1575
+ width: min(100%, 400px);
1576
+ max-width: min(400px, 100%);
1577
+ min-width: 0;
1578
+ box-sizing: border-box;
1579
+ overflow: hidden;
1580
+ gap: 8px;
1581
+ }
1582
+ .discord-voice-play-button {
1583
+ width: 32px;
1584
+ height: 32px;
1585
+ min-width: 32px;
1586
+ border-radius: 50%;
1587
+ background-color: #5865f2;
1588
+ color: white;
1589
+ display: flex;
1590
+ align-items: center;
1591
+ justify-content: center;
1592
+ cursor: pointer;
1593
+ flex-shrink: 0;
1594
+ }
1595
+ .discord-voice-waveform {
1596
+ display: flex;
1597
+ align-items: center;
1598
+ gap: 2px;
1599
+ height: 24px;
1600
+ flex: 1 1 auto;
1601
+ min-width: 0;
1602
+ overflow: hidden;
1603
+ }
1604
+ .discord-voice-waveform-bar {
1605
+ width: 3px;
1606
+ flex: 0 0 3px;
1607
+ min-height: 4px;
1608
+ border-radius: 2px;
1609
+ background-color: #5d5f6b;
1610
+ transition: background-color 0.15s;
1611
+ }
1612
+ .discord-voice-duration {
1613
+ font-size: 12px;
1614
+ font-weight: 500;
1615
+ color: #949ba4;
1616
+ font-family: 'gg sans', 'Noto Sans', Whitney, 'Helvetica Neue', Helvetica, Arial, sans-serif;
1617
+ white-space: nowrap;
1618
+ min-width: 30px;
1619
+ }
1620
+ .discord-voice-speed {
1621
+ background-color: #3f4147;
1622
+ border-radius: 4px;
1623
+ padding: 2px 6px;
1624
+ font-size: 12px;
1625
+ font-weight: 700;
1626
+ color: #dbdee1;
1627
+ cursor: pointer;
1628
+ white-space: nowrap;
1629
+ flex-shrink: 0;
1630
+ }
1631
+ .discord-voice-volume {
1632
+ color: #b5bac1;
1633
+ display: flex;
1634
+ align-items: center;
1635
+ cursor: pointer;
1636
+ flex-shrink: 0;
1637
+ }
1638
+ `;
1639
+ //# sourceMappingURL=styles.js.map