yt-chat-components 0.1.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 (89) hide show
  1. package/.idea/langflow-embedded-chat.iml +12 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/sonarlint/issuestore/0/f/0f8c0c92cf798431ebb931ff6e997b1af86ecee5 +0 -0
  4. package/.idea/sonarlint/issuestore/3/9/39129446b425a1d640160c068e4194e96639eedf +0 -0
  5. package/.idea/sonarlint/issuestore/4/a/4a2f33951ce07c1ff7184f91877aa13db05d3785 +0 -0
  6. package/.idea/sonarlint/issuestore/4/a/4a7b99bdbee5792679d347b6474463bf5e14b66d +0 -0
  7. package/.idea/sonarlint/issuestore/4/b/4b6989b8ccae808ebc45d02230d336ea53800365 +0 -0
  8. package/.idea/sonarlint/issuestore/6/c/6c024c1d0ad64656b9d4b0695ec3c49c0454addf +0 -0
  9. package/.idea/sonarlint/issuestore/8/d/8d6123af13a140f93e06299fff7ea23c547e9ec8 +0 -0
  10. package/.idea/sonarlint/issuestore/8/e/8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d +0 -0
  11. package/.idea/sonarlint/issuestore/d/9/d938938695d447dadda115e28781c6541f53fc4f +0 -0
  12. package/.idea/sonarlint/issuestore/index.pb +19 -0
  13. package/.idea/vcs.xml +6 -0
  14. package/README.md +274 -0
  15. package/build/asset-manifest.json +16 -0
  16. package/build/index.html +1 -0
  17. package/build/static/css/main.6f7c593d.css +2 -0
  18. package/build/static/css/main.6f7c593d.css.map +1 -0
  19. package/build/static/js/bundle.min.js +2 -0
  20. package/build/static/js/bundle.min.js.LICENSE.txt +124 -0
  21. package/build/static/js/main.cb252095.js +3 -0
  22. package/build/static/js/main.cb252095.js.LICENSE.txt +134 -0
  23. package/build/static/js/main.cb252095.js.map +1 -0
  24. package/build/static/media/aiavatar.74bafa995cce4c01b804.png +0 -0
  25. package/build/static/media/history-list-empty.1eb65b1550aef4e8c8a4.png +0 -0
  26. package/build/static/media/moreBg.9fc998472925cecd89f2.png +0 -0
  27. package/package.json +75 -0
  28. package/public/index.html +47 -0
  29. package/src/YtChatView/chatWidget/chatWindow/chatMessage/index.module.css +86 -0
  30. package/src/YtChatView/chatWidget/chatWindow/chatMessage/index.tsx +211 -0
  31. package/src/YtChatView/chatWidget/chatWindow/chatPlaceholder/index.module.css +9 -0
  32. package/src/YtChatView/chatWidget/chatWindow/chatPlaceholder/index.tsx +23 -0
  33. package/src/YtChatView/chatWidget/chatWindow/controllers/index.ts +236 -0
  34. package/src/YtChatView/chatWidget/chatWindow/index.module.css +197 -0
  35. package/src/YtChatView/chatWidget/chatWindow/index.tsx +791 -0
  36. package/src/YtChatView/chatWidget/chatWindow/types/chatWidget/index.ts +37 -0
  37. package/src/YtChatView/chatWidget/chatWindow/utils.ts +75 -0
  38. package/src/YtChatView/chatWidget/index.tsx +2289 -0
  39. package/src/YtChatView/logoBtn/index.css +4 -0
  40. package/src/YtChatView/logoBtn/index.jsx +65 -0
  41. package/src/YtChatView/logoSplitBtn/index.css +4 -0
  42. package/src/YtChatView/logoSplitBtn/index.jsx +67 -0
  43. package/src/YtChatView/previewDialog/index.jsx +431 -0
  44. package/src/YtChatView/previewDialog/index.module.css +144 -0
  45. package/src/assets/aicenter/add.png +0 -0
  46. package/src/assets/aicenter/aiavatar.png +0 -0
  47. package/src/assets/aicenter/aicenterbg.png +0 -0
  48. package/src/assets/aicenter/aicenterbgdark.png +0 -0
  49. package/src/assets/aicenter/close.png +0 -0
  50. package/src/assets/aicenter/closex.png +0 -0
  51. package/src/assets/aicenter/copy.png +0 -0
  52. package/src/assets/aicenter/file.png +0 -0
  53. package/src/assets/aicenter/fileupload.png +0 -0
  54. package/src/assets/aicenter/history-list-empty.png +0 -0
  55. package/src/assets/aicenter/history.png +0 -0
  56. package/src/assets/aicenter/luyin.png +0 -0
  57. package/src/assets/aicenter/moreAi.png +0 -0
  58. package/src/assets/aicenter/moreBg.png +0 -0
  59. package/src/assets/aicenter/play-run.gif +0 -0
  60. package/src/assets/aicenter/play.png +0 -0
  61. package/src/assets/aicenter/send-img.png +0 -0
  62. package/src/assets/aicenter/send-question-black.png +0 -0
  63. package/src/assets/aicenter/send-question.png +0 -0
  64. package/src/assets/aicenter/sendmessage.png +0 -0
  65. package/src/assets/aicenter/sound-wave.gif +0 -0
  66. package/src/assets/aicenter/toLeft.png +0 -0
  67. package/src/assets/aicenter/toRight.png +0 -0
  68. package/src/assets/aicenter/type-excel.png +0 -0
  69. package/src/assets/aicenter/type-markdown.png +0 -0
  70. package/src/assets/aicenter/type-mobi.png +0 -0
  71. package/src/assets/aicenter/type-pdf.png +0 -0
  72. package/src/assets/aicenter/type-rpub.png +0 -0
  73. package/src/assets/aicenter/type-text.png +0 -0
  74. package/src/assets/aicenter/type-word.png +0 -0
  75. package/src/assets/aicenter/upfile.png +0 -0
  76. package/src/chatPlaceholder/index.tsx +18 -0
  77. package/src/chatWidget/chatTrigger/index.tsx +15 -0
  78. package/src/chatWidget/chatWindow/chatMessage/index.tsx +42 -0
  79. package/src/chatWidget/chatWindow/index.tsx +426 -0
  80. package/src/chatWidget/index.tsx +2195 -0
  81. package/src/chatWidget/utils.ts +76 -0
  82. package/src/controllers/index.ts +205 -0
  83. package/src/index.tsx +60 -0
  84. package/src/react-app-env.d.ts +1 -0
  85. package/src/reportWebVitals.ts +15 -0
  86. package/src/setupTests.ts +5 -0
  87. package/src/types/chatWidget/index.ts +13 -0
  88. package/tsconfig.json +26 -0
  89. package/webpack.config.js +51 -0
@@ -0,0 +1,2289 @@
1
+ // @ts-nocheck
2
+ import { useRef, useState } from 'react';
3
+ import ChatWindow from './chatWindow';
4
+ import { ChatMessageType } from './chatWindow/types/chatWidget';
5
+
6
+ export default function ChatWidget({
7
+ tags,
8
+ getHistoryList,
9
+ userInfo,
10
+ api_key,
11
+ output_type = 'chat',
12
+ input_type = 'chat',
13
+ output_component,
14
+ host_url,
15
+ flow_id,
16
+ tweaks,
17
+ send_icon_style,
18
+ bot_message_style,
19
+ user_message_style,
20
+ chat_window_style,
21
+ height,
22
+ width,
23
+ error_message_style,
24
+ send_button_style,
25
+ online,
26
+ online_message,
27
+ offline_message,
28
+ window_title,
29
+ chat_position,
30
+ placeholder,
31
+ input_style,
32
+ placeholder_sending,
33
+ input_container_style,
34
+ additional_headers,
35
+ session_id,
36
+ start_open = false,
37
+ setDropDownList,
38
+ dropDownList,
39
+ }: {
40
+ tags: [];
41
+ getHistoryList: Function;
42
+ userInfo: object;
43
+ api_key?: string;
44
+ input_value: string;
45
+ output_type: string;
46
+ input_type: string;
47
+ output_component?: string;
48
+ send_icon_style?: React.CSSProperties;
49
+ chat_position?: string;
50
+ bot_message_style?: React.CSSProperties;
51
+ user_message_style?: React.CSSProperties;
52
+ chat_window_style?: React.CSSProperties;
53
+ online?: boolean;
54
+ online_message?: string;
55
+ offline_message?: string;
56
+ height?: string;
57
+ width?: number;
58
+ window_title?: string;
59
+ error_message_style?: React.CSSProperties;
60
+ send_button_style?: React.CSSProperties;
61
+ placeholder_sending?: string;
62
+ placeholder?: string;
63
+ input_style?: React.CSSProperties;
64
+ input_container_style?: React.CSSProperties;
65
+ host_url: string;
66
+ flow_id: string;
67
+ tweaks?: { [key: string]: any };
68
+ additional_headers?: { [key: string]: string };
69
+ session_id?: string;
70
+ start_open?: boolean;
71
+ }) {
72
+ const [open, setOpen] = useState(start_open);
73
+ const [messages, setMessages] = useState<ChatMessageType[]>([]);
74
+ const sessionId = session_id;
75
+
76
+ function updateLastMessage(message: ChatMessageType) {
77
+ setMessages((prev) => {
78
+ prev[prev.length - 1] = message;
79
+ return [...prev];
80
+ });
81
+ }
82
+
83
+ function addMessage(message: ChatMessageType) {
84
+ setMessages((prev) => [...prev, message]);
85
+ }
86
+
87
+ function clearMessage() {
88
+ setMessages([]);
89
+ }
90
+
91
+ const triggerRef = useRef<HTMLButtonElement>(null);
92
+
93
+ const styles = `
94
+
95
+ *,
96
+ ::before,
97
+ ::after {
98
+ box-sizing: border-box;
99
+ border-width: 0;
100
+ border-style: solid;
101
+ border-color: #e5e7eb;
102
+ }
103
+
104
+ abbr:where([title]) {
105
+ -webkit-text-decoration: underline dotted;
106
+ text-decoration: underline dotted;
107
+ }
108
+
109
+ b,
110
+ strong {
111
+ font-weight: bolder;
112
+ }
113
+
114
+ code,
115
+ kbd,
116
+ samp,
117
+ pre {
118
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
119
+ /* 1 */
120
+ font-size: 1em;
121
+ /* 2 */
122
+ }
123
+
124
+ small {
125
+ font-size: 80%;
126
+ }
127
+
128
+ sub,
129
+ sup {
130
+ font-size: 75%;
131
+ line-height: 0;
132
+ position: relative;
133
+ vertical-align: baseline;
134
+ }
135
+
136
+ sub {
137
+ bottom: -0.25em;
138
+ }
139
+
140
+ sup {
141
+ top: -0.5em;
142
+ }
143
+
144
+ button,
145
+ input,
146
+ optgroup,
147
+ select,
148
+ textarea {
149
+ font-family: inherit;
150
+ /* 1 */
151
+ font-size: 100%;
152
+ /* 1 */
153
+ font-weight: inherit;
154
+ /* 1 */
155
+ line-height: inherit;
156
+ /* 1 */
157
+ color: inherit;
158
+ /* 1 */
159
+ margin: 0;
160
+ /* 2 */
161
+ padding: 0;
162
+ /* 3 */
163
+ }
164
+
165
+ /*
166
+ Remove the inheritance of text transform in Edge and Firefox.
167
+ */
168
+
169
+ button,
170
+ select {
171
+ text-transform: none;
172
+ }
173
+
174
+ /*
175
+ 1. Correct the inability to style clickable types in iOS and Safari.
176
+ 2. Remove default button styles.
177
+ */
178
+
179
+ button,
180
+ [type='button'],
181
+ [type='reset'],
182
+ [type='submit'] {
183
+ -webkit-appearance: button;
184
+ /* 1 */
185
+ // background-color: transparent;
186
+ /* 2 */
187
+ background-image: none;
188
+ /* 2 */
189
+ }
190
+
191
+ /*
192
+ Use the modern Firefox focus style for all focusable elements.
193
+ */
194
+
195
+ :-moz-focusring {
196
+ outline: auto;
197
+ }
198
+
199
+ /*
200
+ Remove the additional ':invalid' styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
201
+ */
202
+
203
+ :-moz-ui-invalid {
204
+ box-shadow: none;
205
+ }
206
+
207
+ /*
208
+ Add the correct vertical alignment in Chrome and Firefox.
209
+ */
210
+
211
+ progress {
212
+ vertical-align: baseline;
213
+ }
214
+
215
+ /*
216
+ Correct the cursor style of increment and decrement buttons in Safari.
217
+ */
218
+
219
+ ::-webkit-inner-spin-button,
220
+ ::-webkit-outer-spin-button {
221
+ height: auto;
222
+ }
223
+
224
+ /*
225
+ 1. Correct the odd appearance in Chrome and Safari.
226
+ 2. Correct the outline style in Safari.
227
+ */
228
+
229
+ [type='search'] {
230
+ -webkit-appearance: textfield;
231
+ /* 1 */
232
+ outline-offset: -2px;
233
+ /* 2 */
234
+ }
235
+
236
+ /*
237
+ Remove the inner padding in Chrome and Safari on macOS.
238
+ */
239
+
240
+ ::-webkit-search-decoration {
241
+ -webkit-appearance: none;
242
+ }
243
+
244
+ /*
245
+ 1. Correct the inability to style clickable types in iOS and Safari.
246
+ 2. Change font properties to 'inherit' in Safari.
247
+ */
248
+
249
+ ::-webkit-file-upload-button {
250
+ -webkit-appearance: button;
251
+ /* 1 */
252
+ font: inherit;
253
+ /* 2 */
254
+ }
255
+
256
+ /*
257
+ Add the correct display in Chrome and Safari.
258
+ */
259
+
260
+ summary {
261
+ display: list-item;
262
+ }
263
+
264
+ /*
265
+ Removes the default spacing and border for appropriate elements.
266
+ */
267
+
268
+ fieldset {
269
+ margin: 0;
270
+ padding: 0;
271
+ }
272
+
273
+ legend {
274
+ padding: 0;
275
+ }
276
+
277
+
278
+ /*
279
+ Prevent resizing textareas horizontally by default.
280
+ */
281
+
282
+ textarea {
283
+ resize: vertical;
284
+ }
285
+
286
+ /*
287
+ 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
288
+ 2. Set the default placeholder color to the user's configured gray 400 color.
289
+ */
290
+
291
+ input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
292
+ opacity: 1;
293
+ /* 1 */
294
+ color: #9ca3af;
295
+ /* 2 */
296
+ }
297
+
298
+ input::placeholder,
299
+ textarea::placeholder {
300
+ opacity: 1;
301
+ /* 1 */
302
+ color: #9ca3af;
303
+ /* 2 */
304
+ }
305
+
306
+ /*
307
+ Set the default cursor for buttons.
308
+ */
309
+
310
+ button,
311
+ [role="button"] {
312
+ cursor: pointer;
313
+ }
314
+
315
+ /*
316
+ Make sure disabled buttons don't get the pointer cursor.
317
+ */
318
+
319
+ :disabled {
320
+ cursor: default;
321
+ }
322
+
323
+ /*
324
+ 1. Make replaced elements 'display: block' by default. (https://github.com/mozdevs/cssremedy/issues/14)
325
+ 2. Add 'vertical-align: middle' to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
326
+ This can trigger a poorly considered lint error in some tools but is included by design.
327
+ */
328
+
329
+
330
+ /*
331
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
332
+ */
333
+
334
+ img,
335
+ video {
336
+ max-width: 100%;
337
+ height: auto;
338
+ }
339
+
340
+ /* Make elements with the HTML hidden attribute stay hidden by default */
341
+
342
+ [hidden] {
343
+ display: none;
344
+ }
345
+
346
+ .cl-window {
347
+ display: flex;
348
+ flex-direction: column;
349
+ overflow: hidden;
350
+ border-radius: 1rem;
351
+
352
+ }
353
+
354
+ .cl-scale-100 {
355
+ --tw-scale-x: 1;
356
+ --tw-scale-y: 1;
357
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
358
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
359
+ }
360
+
361
+ .cl-scale-0 {
362
+ --tw-scale-x: 0;
363
+ --tw-scale-y: 0;
364
+ -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
365
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
366
+ }
367
+
368
+
369
+ .cl-chat-window {
370
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
371
+ "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
372
+ sans-serif;
373
+ position: absolute;
374
+ transition-property: all;
375
+ transition-duration: 300ms;
376
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
377
+ }
378
+
379
+ .cl-online-message {
380
+ height: 0.5rem;
381
+ width: 0.5rem;
382
+ border-radius: 9999px;
383
+ --tw-bg-opacity: 1;
384
+ background-color: rgb(34 197 94 / var(--tw-bg-opacity));
385
+ }
386
+
387
+ .cl-offline-message {
388
+ height: 0.5rem;
389
+ width: 0.5rem;
390
+ border-radius: 9999px;
391
+ --tw-bg-opacity: 1;
392
+ background-color: rgb(239 68 68 / var(--tw-bg-opacity));
393
+ }
394
+
395
+ .cl-send-icon {
396
+ margin-right: 1.25rem;
397
+ height: 1.5rem;
398
+ width: 1.5rem;
399
+ }
400
+
401
+ .cl-notsending-message {
402
+ stroke: #3b82f6;
403
+ }
404
+
405
+ .cl-notsending-message:hover {
406
+ stroke: #60a5fa;
407
+ }
408
+
409
+ .cl-sending-message {
410
+ stroke: #9ca3af;
411
+ }
412
+
413
+ .cl-header-subtitle {
414
+ display: flex;
415
+ align-items: center;
416
+ gap: 0.5rem;
417
+ font-size: 0.875rem;
418
+ line-height: 1.25rem;
419
+ font-weight: 300;
420
+ color: rgb(107 114 128);
421
+ }
422
+
423
+ .cl-header {
424
+ position:relative;
425
+ display: flex;
426
+ flex-direction: column;
427
+ --tw-bg-opacity: 1;
428
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
429
+ padding-top: 1rem;
430
+ padding-left: 1.5rem;
431
+ padding-right: 1.5rem;
432
+ font-size: 1.125rem;
433
+ line-height: 1.75rem;
434
+ font-weight: 400;
435
+ color: rgb(17 24 39);
436
+ --tw-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
437
+ --tw-shadow-colored: 0 0 10px var(--tw-shadow-color);
438
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
439
+ }
440
+
441
+ .cl-drop-down {
442
+ background: #FFFFFF;
443
+ border-radius: 10px;
444
+ box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
445
+ z-index: 1;
446
+ position: absolute;
447
+ width: calc(100% - 50px);
448
+ min-height: 50px;
449
+ bottom: -14.5rem;
450
+ padding:1.3rem;
451
+ }
452
+
453
+ .drop-down-title {
454
+ height:1rem;
455
+ font-weight: 500;
456
+ font-size: 24px;
457
+ color: #000000;
458
+ line-height: 24px;
459
+ text-align: left;
460
+ }
461
+ .drop-down-list {
462
+ display:flex;
463
+ gap:1.3rem;
464
+ margin-top:2rem;
465
+ }
466
+ .drop-down-item-card {
467
+ width: 32%;
468
+ padding: 1.5rem 1.2rem 0.3rem;
469
+ height:8rem;
470
+ font-weight: 400;
471
+ font-size: 14px;
472
+ color: #FFFFFF;
473
+ line-height: 14px;
474
+ text-align: left;
475
+ border-radius:10px;
476
+ background: url("https://trans-from-yuntu-resourse.oss-cn-beijing.aliyuncs.com/smartSchool/appCreator/ai/drop-down-item-card-bg.png");
477
+ background-size: cover;
478
+ background-position: center;
479
+ background-repeat: no-repeat;
480
+
481
+ display:flex;
482
+ justify-content: space-between;
483
+ flex-direction: column;
484
+ }
485
+ .drop-down-item-title {
486
+ font-weight: 500;
487
+ font-size: 14px;
488
+ color: #000000;
489
+ line-height: 16px;
490
+ text-align: left;
491
+ width: 100%;
492
+ }
493
+ .drop-down-item-bottom{
494
+ display:flex;
495
+ align-items: center;
496
+ justify-content: space-between;
497
+ flex-direction: row;
498
+ margin-top:1rem;
499
+ align-items: center;
500
+ }
501
+
502
+ .drop-down-item-bottom-button{
503
+ background: #6E79FF;
504
+ border-radius: 16px;
505
+ line-height: 20px;
506
+ text-align: left;
507
+ width: 5rem;
508
+ padding: 0.2rem 0.4rem 0.2rem 0.2rem;
509
+ cursor: pointer;
510
+ display: flex;
511
+ justify-content: center;
512
+ align-items: center
513
+ }
514
+
515
+ .drop-down-item-bottom-img{
516
+ width:4rem;
517
+ height:3.5rem;
518
+ }
519
+
520
+ @media screen and (max-width: 1000px){
521
+ .drop-down-item-bottom-img {
522
+ display:none;
523
+ }
524
+ .drop-down-item-bottom {
525
+
526
+ margin-bottom:1rem;
527
+ }
528
+ }
529
+
530
+ .cl-messages_container {
531
+ position: relative;
532
+ display: flex;
533
+ height: 100%;
534
+ flex-direction: column;
535
+ overflow: scroll;
536
+ overflow-x: clip;
537
+ --tw-bg-opacity: 1;
538
+ background-color: rgb(249 250 251 / var(--tw-bg-opacity));
539
+ padding-left: 1rem;
540
+ padding-right: 1rem;
541
+ padding-top: 0.5rem;
542
+ padding-bottom: 0.5rem;
543
+ -ms-overflow-style: none;
544
+ scrollbar-width: none;
545
+ }
546
+
547
+ .cl-messages_container::-webkit-scrollbar {
548
+ display: none;
549
+ }
550
+
551
+ .cl-input_container {
552
+ position: relative;
553
+ display: flex;
554
+ flex-direction: column;
555
+ width: 100%;
556
+ align-items: center;
557
+ border-top-width: 1px;
558
+ --tw-border-opacity: 1;
559
+ border-color: rgb(229 231 235 / var(--tw-border-opacity));
560
+ --tw-bg-opacity: 1;
561
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
562
+ }
563
+
564
+ .cl-chat-message {
565
+ display: flex;
566
+ width: 100%;
567
+ padding-top: 0.5rem;
568
+ padding-bottom: 0.5rem;
569
+ padding-left: 0.5rem;
570
+ padding-right: 0.5rem;
571
+ }
572
+
573
+ @-webkit-keyframes pulse {
574
+ 50% {
575
+ opacity: .5;
576
+ }
577
+ }
578
+
579
+ @keyframes pulse {
580
+ 50% {
581
+ opacity: .5;
582
+ }
583
+ }
584
+
585
+ .cl-animate-pulse {
586
+ -webkit-animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
587
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
588
+ }
589
+
590
+ .cl-justify-start {
591
+ justify-content: flex-start;
592
+ }
593
+
594
+ .cl-justify-end {
595
+ justify-content: flex-end;
596
+ }
597
+
598
+ .cl-input-element {
599
+ height: 100%;
600
+ width: 100%;
601
+ padding-left: 1.25rem;
602
+ padding-right: 1.25rem;
603
+ padding-top: 1.25rem;
604
+ padding-bottom: 1.25rem;
605
+ font-weight: 300;
606
+ background-color: rgb(255 255 255);
607
+ color: rgb(17 24 39);
608
+ }
609
+
610
+ .cl-input-element:focus {
611
+ outline: 2px solid transparent;
612
+ outline-offset: 2px;
613
+ }
614
+
615
+ .cl-user_message {
616
+ width: -webkit-fit-content;
617
+ width: -moz-fit-content;
618
+ width: fit-content;
619
+ -webkit-column-break-before: all;
620
+ break-before: all;
621
+ border-radius: 0.75rem;
622
+ border-top-right-radius: 0.125rem;
623
+ --tw-bg-opacity: 1;
624
+ background-color: rgb(59 130 246 / var(--tw-bg-opacity));
625
+ padding-left: 1rem;
626
+ padding-right: 1rem;
627
+ padding-top: 0.5rem;
628
+ padding-bottom: 0.5rem;
629
+ text-align: left;
630
+ --tw-text-opacity: 1;
631
+ color: rgb(255 255 255 / var(--tw-text-opacity));
632
+ white-space: pre-line;
633
+ }
634
+
635
+ .cl-error_message {
636
+ width: -webkit-fit-content;
637
+ width: -moz-fit-content;
638
+ width: fit-content;
639
+ max-width: 90%;
640
+ -webkit-column-break-before: all;
641
+ break-before: all;
642
+ border-radius: 0.75rem;
643
+ border-top-left-radius: 0.125rem;
644
+ --tw-bg-opacity: 1;
645
+ background-color: rgb(248 113 113 / var(--tw-bg-opacity));
646
+ padding-left: 1rem;
647
+ padding-right: 1rem;
648
+ padding-top: 0.5rem;
649
+ padding-bottom: 0.5rem;
650
+ text-align: left;
651
+ --tw-text-opacity: 1;
652
+ color: rgb(255 255 255 / var(--tw-text-opacity));
653
+ }
654
+
655
+ .cl-bot_message {
656
+ width: -webkit-fit-content;
657
+ width: -moz-fit-content;
658
+ width: fit-content;
659
+ max-width: 90%;
660
+ -webkit-column-break-before: all;
661
+ break-before: all;
662
+ border-radius: 0.75rem;
663
+ border-top-left-radius: 0.125rem;
664
+ --tw-bg-opacity: 1;
665
+ background-color: rgb(229 231 235 / var(--tw-bg-opacity));
666
+ padding-left: 1rem;
667
+ padding-right: 1rem;
668
+ padding-top: 0.5rem;
669
+ padding-bottom: 0.5rem;
670
+ text-align: left;
671
+ --tw-text-opacity: 1;
672
+ color: rgb(31 41 55 / var(--tw-text-opacity));
673
+ }
674
+
675
+ .origin-bottom {
676
+ -webkit-transform-origin: bottom;
677
+ transform-origin: bottom;
678
+ }
679
+
680
+ .origin-bottom-left {
681
+ -webkit-transform-origin: bottom left;
682
+ transform-origin: bottom left;
683
+ }
684
+
685
+ .origin-bottom-right {
686
+ -webkit-transform-origin: bottom right;
687
+ transform-origin: bottom right;
688
+ }
689
+
690
+ .origin-center {
691
+ -webkit-transform-origin: center;
692
+ transform-origin: center;
693
+ }
694
+
695
+ .origin-top {
696
+ -webkit-transform-origin: top;
697
+ transform-origin: top;
698
+ }
699
+
700
+ .origin-top-left {
701
+ -webkit-transform-origin: top left;
702
+ transform-origin: top left;
703
+ }
704
+
705
+ .origin-top-right {
706
+ -webkit-transform-origin: top right;
707
+ transform-origin: top right;
708
+ }
709
+
710
+ .shadow {
711
+ --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
712
+ --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
713
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
714
+ }
715
+ input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
716
+ color: rgb(156 163 175);
717
+ opacity: 1; /* Firefox */
718
+ }
719
+
720
+ input:-ms-input-placeholder { /* Internet Explorer 10-11 */
721
+ color: rgb(156 163 175);
722
+ }
723
+
724
+ input::-ms-input-placeholder { /* Microsoft Edge */
725
+ color: rgb(156 163 175);
726
+ }
727
+ `;
728
+
729
+ const markdownBody = `
730
+
731
+ .markdown-body {
732
+ --base-size-4: 0.25rem;
733
+ --base-size-8: 0.5rem;
734
+ --base-size-16: 1rem;
735
+ --base-text-weight-normal: 400;
736
+ --base-text-weight-medium: 500;
737
+ --base-text-weight-semibold: 600;
738
+ --fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
739
+ }
740
+
741
+ @media (prefers-color-scheme: dark) {
742
+ .markdown-body,
743
+ [data-theme="dark"] {
744
+ /*dark*/
745
+ color-scheme: dark;
746
+ --focus-outlineColor: #1f6feb;
747
+ --fgColor-default: #e6edf3;
748
+ --fgColor-muted: #8d96a0;
749
+ --fgColor-accent: #4493f8;
750
+ --fgColor-success: #3fb950;
751
+ --fgColor-attention: #d29922;
752
+ --fgColor-danger: #f85149;
753
+ --fgColor-done: #ab7df8;
754
+ --bgColor-default: #0d1117;
755
+ --bgColor-muted: #161b22;
756
+ --bgColor-neutral-muted: #6e768166;
757
+ --bgColor-attention-muted: #bb800926;
758
+ --borderColor-default: #30363d;
759
+ --borderColor-muted: #30363db3;
760
+ --borderColor-neutral-muted: #6e768166;
761
+ --borderColor-accent-emphasis: #1f6feb;
762
+ --borderColor-success-emphasis: #238636;
763
+ --borderColor-attention-emphasis: #9e6a03;
764
+ --borderColor-danger-emphasis: #da3633;
765
+ --borderColor-done-emphasis: #8957e5;
766
+ --color-prettylights-syntax-comment: #8b949e;
767
+ --color-prettylights-syntax-constant: #79c0ff;
768
+ --color-prettylights-syntax-constant-other-reference-link: #a5d6ff;
769
+ --color-prettylights-syntax-entity: #d2a8ff;
770
+ --color-prettylights-syntax-storage-modifier-import: #c9d1d9;
771
+ --color-prettylights-syntax-entity-tag: #7ee787;
772
+ --color-prettylights-syntax-keyword: #ff7b72;
773
+ --color-prettylights-syntax-string: #a5d6ff;
774
+ --color-prettylights-syntax-variable: #ffa657;
775
+ --color-prettylights-syntax-brackethighlighter-unmatched: #f85149;
776
+ --color-prettylights-syntax-brackethighlighter-angle: #8b949e;
777
+ --color-prettylights-syntax-invalid-illegal-text: #f0f6fc;
778
+ --color-prettylights-syntax-invalid-illegal-bg: #8e1519;
779
+ --color-prettylights-syntax-carriage-return-text: #f0f6fc;
780
+ --color-prettylights-syntax-carriage-return-bg: #b62324;
781
+ --color-prettylights-syntax-string-regexp: #7ee787;
782
+ --color-prettylights-syntax-markup-list: #f2cc60;
783
+ --color-prettylights-syntax-markup-heading: #1f6feb;
784
+ --color-prettylights-syntax-markup-italic: #c9d1d9;
785
+ --color-prettylights-syntax-markup-bold: #c9d1d9;
786
+ --color-prettylights-syntax-markup-deleted-text: #ffdcd7;
787
+ --color-prettylights-syntax-markup-deleted-bg: #67060c;
788
+ --color-prettylights-syntax-markup-inserted-text: #aff5b4;
789
+ --color-prettylights-syntax-markup-inserted-bg: #033a16;
790
+ --color-prettylights-syntax-markup-changed-text: #ffdfb6;
791
+ --color-prettylights-syntax-markup-changed-bg: #5a1e02;
792
+ --color-prettylights-syntax-markup-ignored-text: #c9d1d9;
793
+ --color-prettylights-syntax-markup-ignored-bg: #1158c7;
794
+ --color-prettylights-syntax-meta-diff-range: #d2a8ff;
795
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58;
796
+ }
797
+ }
798
+
799
+ @media (prefers-color-scheme: light) {
800
+ .markdown-body,
801
+ [data-theme="light"] {
802
+ /*light*/
803
+ color-scheme: light;
804
+ --focus-outlineColor: #0969da;
805
+ --fgColor-default: #1f2328;
806
+ --fgColor-muted: #636c76;
807
+ --fgColor-accent: #0969da;
808
+ --fgColor-success: #1a7f37;
809
+ --fgColor-attention: #9a6700;
810
+ --fgColor-danger: #d1242f;
811
+ --fgColor-done: #8250df;
812
+ --bgColor-default: #ffffff;
813
+ --bgColor-muted: #f6f8fa;
814
+ --bgColor-neutral-muted: #afb8c133;
815
+ --bgColor-attention-muted: #fff8c5;
816
+ --borderColor-default: #d0d7de;
817
+ --borderColor-muted: #d0d7deb3;
818
+ --borderColor-neutral-muted: #afb8c133;
819
+ --borderColor-accent-emphasis: #0969da;
820
+ --borderColor-success-emphasis: #1a7f37;
821
+ --borderColor-attention-emphasis: #bf8700;
822
+ --borderColor-danger-emphasis: #cf222e;
823
+ --borderColor-done-emphasis: #8250df;
824
+ --color-prettylights-syntax-comment: #57606a;
825
+ --color-prettylights-syntax-constant: #0550ae;
826
+ --color-prettylights-syntax-constant-other-reference-link: #0a3069;
827
+ --color-prettylights-syntax-entity: #6639ba;
828
+ --color-prettylights-syntax-storage-modifier-import: #24292f;
829
+ --color-prettylights-syntax-entity-tag: #0550ae;
830
+ --color-prettylights-syntax-keyword: #cf222e;
831
+ --color-prettylights-syntax-string: #0a3069;
832
+ --color-prettylights-syntax-variable: #953800;
833
+ --color-prettylights-syntax-brackethighlighter-unmatched: #82071e;
834
+ --color-prettylights-syntax-brackethighlighter-angle: #57606a;
835
+ --color-prettylights-syntax-invalid-illegal-text: #f6f8fa;
836
+ --color-prettylights-syntax-invalid-illegal-bg: #82071e;
837
+ --color-prettylights-syntax-carriage-return-text: #f6f8fa;
838
+ --color-prettylights-syntax-carriage-return-bg: #cf222e;
839
+ --color-prettylights-syntax-string-regexp: #116329;
840
+ --color-prettylights-syntax-markup-list: #3b2300;
841
+ --color-prettylights-syntax-markup-heading: #0550ae;
842
+ --color-prettylights-syntax-markup-italic: #24292f;
843
+ --color-prettylights-syntax-markup-bold: #24292f;
844
+ --color-prettylights-syntax-markup-deleted-text: #82071e;
845
+ --color-prettylights-syntax-markup-deleted-bg: #ffebe9;
846
+ --color-prettylights-syntax-markup-inserted-text: #116329;
847
+ --color-prettylights-syntax-markup-inserted-bg: #dafbe1;
848
+ --color-prettylights-syntax-markup-changed-text: #953800;
849
+ --color-prettylights-syntax-markup-changed-bg: #ffd8b5;
850
+ --color-prettylights-syntax-markup-ignored-text: #eaeef2;
851
+ --color-prettylights-syntax-markup-ignored-bg: #0550ae;
852
+ --color-prettylights-syntax-meta-diff-range: #8250df;
853
+ --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f;
854
+ }
855
+ }
856
+
857
+ .markdown-body {
858
+ -ms-text-size-adjust: 100%;
859
+ -webkit-text-size-adjust: 100%;
860
+ margin: 0;
861
+ font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";
862
+ font-size: 16px;
863
+ line-height: 1.5;
864
+ word-wrap: break-word;
865
+ scroll-behavior: auto;
866
+ }
867
+
868
+ .markdown-body .octicon {
869
+ display: inline-block;
870
+ fill: currentColor;
871
+ vertical-align: text-bottom;
872
+ }
873
+
874
+ .markdown-body h1:hover .anchor .octicon-link:before,
875
+ .markdown-body h2:hover .anchor .octicon-link:before,
876
+ .markdown-body h3:hover .anchor .octicon-link:before,
877
+ .markdown-body h4:hover .anchor .octicon-link:before,
878
+ .markdown-body h5:hover .anchor .octicon-link:before,
879
+ .markdown-body h6:hover .anchor .octicon-link:before {
880
+ width: 16px;
881
+ height: 16px;
882
+ content: ' ';
883
+ display: inline-block;
884
+ background-color: currentColor;
885
+ -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
886
+ mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");
887
+ }
888
+
889
+ .markdown-body details,
890
+ .markdown-body figcaption,
891
+ .markdown-body figure {
892
+ display: block;
893
+ }
894
+
895
+ .markdown-body summary {
896
+ display: list-item;
897
+ }
898
+
899
+ .markdown-body [hidden] {
900
+ display: none !important;
901
+ }
902
+
903
+ .markdown-body a {
904
+ background-color: transparent;
905
+ color: var(--fgColor-accent);
906
+ text-decoration: none;
907
+ }
908
+
909
+ .markdown-body abbr[title] {
910
+ border-bottom: none;
911
+ -webkit-text-decoration: underline dotted;
912
+ text-decoration: underline dotted;
913
+ }
914
+
915
+ .markdown-body b,
916
+ .markdown-body strong {
917
+ font-weight: var(--base-text-weight-semibold, 600);
918
+ }
919
+
920
+ .markdown-body dfn {
921
+ font-style: italic;
922
+ }
923
+
924
+ .markdown-body h1 {
925
+ margin: .67em 0;
926
+ font-weight: var(--base-text-weight-semibold, 600);
927
+ padding-bottom: .3em;
928
+ font-size: 2em;
929
+ border-bottom: 1px solid var(--borderColor-muted);
930
+ }
931
+
932
+ .markdown-body mark {
933
+ background-color: var(--bgColor-attention-muted);
934
+ color: var(--fgColor-default);
935
+ }
936
+
937
+ .markdown-body small {
938
+ font-size: 90%;
939
+ }
940
+
941
+ .markdown-body sub,
942
+ .markdown-body sup {
943
+ font-size: 75%;
944
+ line-height: 0;
945
+ position: relative;
946
+ vertical-align: baseline;
947
+ }
948
+
949
+ .markdown-body sub {
950
+ bottom: -0.25em;
951
+ }
952
+
953
+ .markdown-body sup {
954
+ top: -0.5em;
955
+ }
956
+
957
+ .markdown-body img {
958
+ border-style: none;
959
+ max-width: 100%;
960
+ box-sizing: content-box;
961
+ }
962
+
963
+ .markdown-body code,
964
+ .markdown-body kbd,
965
+ .markdown-body pre,
966
+ .markdown-body samp {
967
+ font-family: monospace;
968
+ font-size: 1em;
969
+ }
970
+
971
+ .markdown-body figure {
972
+ margin: 1em 40px;
973
+ }
974
+
975
+ .markdown-body hr {
976
+ box-sizing: content-box;
977
+ overflow: hidden;
978
+ background: transparent;
979
+ border-bottom: 1px solid var(--borderColor-muted);
980
+ height: .25em;
981
+ padding: 0;
982
+ margin: 24px 0;
983
+ background-color: var(--borderColor-default);
984
+ border: 0;
985
+ }
986
+
987
+ .markdown-body input {
988
+ font: inherit;
989
+ margin: 0;
990
+ overflow: visible;
991
+ font-family: inherit;
992
+ font-size: inherit;
993
+ line-height: inherit;
994
+ }
995
+
996
+ .markdown-body [type=button],
997
+ .markdown-body [type=reset],
998
+ .markdown-body [type=submit] {
999
+ -webkit-appearance: button;
1000
+ appearance: button;
1001
+ }
1002
+
1003
+ .markdown-body [type=checkbox],
1004
+ .markdown-body [type=radio] {
1005
+ box-sizing: border-box;
1006
+ padding: 0;
1007
+ }
1008
+
1009
+ .markdown-body [type=number]::-webkit-inner-spin-button,
1010
+ .markdown-body [type=number]::-webkit-outer-spin-button {
1011
+ height: auto;
1012
+ }
1013
+
1014
+ .markdown-body [type=search]::-webkit-search-cancel-button,
1015
+ .markdown-body [type=search]::-webkit-search-decoration {
1016
+ -webkit-appearance: none;
1017
+ appearance: none;
1018
+ }
1019
+
1020
+ .markdown-body ::-webkit-input-placeholder {
1021
+ color: inherit;
1022
+ opacity: .54;
1023
+ }
1024
+
1025
+ .markdown-body ::-webkit-file-upload-button {
1026
+ -webkit-appearance: button;
1027
+ appearance: button;
1028
+ font: inherit;
1029
+ }
1030
+
1031
+ .markdown-body a:hover {
1032
+ text-decoration: underline;
1033
+ }
1034
+
1035
+ .markdown-body ::placeholder {
1036
+ color: var(--fgColor-muted);
1037
+ opacity: 1;
1038
+ }
1039
+
1040
+ .markdown-body hr::before {
1041
+ display: table;
1042
+ content: "";
1043
+ }
1044
+
1045
+ .markdown-body hr::after {
1046
+ display: table;
1047
+ clear: both;
1048
+ content: "";
1049
+ }
1050
+
1051
+ .markdown-body table {
1052
+ border-spacing: 0;
1053
+ border-collapse: collapse;
1054
+ display: block;
1055
+ width: max-content;
1056
+ max-width: 100%;
1057
+ overflow: auto;
1058
+ }
1059
+
1060
+ .markdown-body td,
1061
+ .markdown-body th {
1062
+ padding: 0;
1063
+ }
1064
+
1065
+ .markdown-body details summary {
1066
+ cursor: pointer;
1067
+ }
1068
+
1069
+ .markdown-body details:not([open])>*:not(summary) {
1070
+ display: none;
1071
+ }
1072
+
1073
+ .markdown-body a:focus,
1074
+ .markdown-body [role=button]:focus,
1075
+ .markdown-body input[type=radio]:focus,
1076
+ .markdown-body input[type=checkbox]:focus {
1077
+ outline: 2px solid var(--focus-outlineColor);
1078
+ outline-offset: -2px;
1079
+ box-shadow: none;
1080
+ }
1081
+
1082
+ .markdown-body a:focus:not(:focus-visible),
1083
+ .markdown-body [role=button]:focus:not(:focus-visible),
1084
+ .markdown-body input[type=radio]:focus:not(:focus-visible),
1085
+ .markdown-body input[type=checkbox]:focus:not(:focus-visible) {
1086
+ outline: solid 1px transparent;
1087
+ }
1088
+
1089
+ .markdown-body a:focus-visible,
1090
+ .markdown-body [role=button]:focus-visible,
1091
+ .markdown-body input[type=radio]:focus-visible,
1092
+ .markdown-body input[type=checkbox]:focus-visible {
1093
+ outline: 2px solid var(--focus-outlineColor);
1094
+ outline-offset: -2px;
1095
+ box-shadow: none;
1096
+ }
1097
+
1098
+ .markdown-body a:not([class]):focus,
1099
+ .markdown-body a:not([class]):focus-visible,
1100
+ .markdown-body input[type=radio]:focus,
1101
+ .markdown-body input[type=radio]:focus-visible,
1102
+ .markdown-body input[type=checkbox]:focus,
1103
+ .markdown-body input[type=checkbox]:focus-visible {
1104
+ outline-offset: 0;
1105
+ }
1106
+
1107
+ .markdown-body kbd {
1108
+ display: inline-block;
1109
+ padding: 3px 5px;
1110
+ font: 11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
1111
+ line-height: 10px;
1112
+ color: var(--fgColor-default);
1113
+ vertical-align: middle;
1114
+ background-color: var(--bgColor-muted);
1115
+ border: solid 1px var(--borderColor-neutral-muted);
1116
+ border-bottom-color: var(--borderColor-neutral-muted);
1117
+ border-radius: 6px;
1118
+ box-shadow: inset 0 -1px 0 var(--borderColor-neutral-muted);
1119
+ }
1120
+
1121
+ .markdown-body h1,
1122
+ .markdown-body h2,
1123
+ .markdown-body h3,
1124
+ .markdown-body h4,
1125
+ .markdown-body h5,
1126
+ .markdown-body h6 {
1127
+ margin-top: 24px;
1128
+ margin-bottom: 16px;
1129
+ font-weight: var(--base-text-weight-semibold, 600);
1130
+ line-height: 1.25;
1131
+ }
1132
+
1133
+ .markdown-body h2 {
1134
+ font-weight: var(--base-text-weight-semibold, 600);
1135
+ padding-bottom: .3em;
1136
+ font-size: 1.5em;
1137
+ border-bottom: 1px solid var(--borderColor-muted);
1138
+ }
1139
+
1140
+ .markdown-body h3 {
1141
+ font-weight: var(--base-text-weight-semibold, 600);
1142
+ font-size: 1.25em;
1143
+ }
1144
+
1145
+ .markdown-body h4 {
1146
+ font-weight: var(--base-text-weight-semibold, 600);
1147
+ font-size: 1em;
1148
+ }
1149
+
1150
+ .markdown-body h5 {
1151
+ font-weight: var(--base-text-weight-semibold, 600);
1152
+ font-size: .875em;
1153
+ }
1154
+
1155
+ .markdown-body h6 {
1156
+ font-weight: var(--base-text-weight-semibold, 600);
1157
+ font-size: .85em;
1158
+ color: var(--fgColor-muted);
1159
+ }
1160
+
1161
+ .markdown-body p {
1162
+ margin-top: 0;
1163
+ margin-bottom: 10px;
1164
+ }
1165
+
1166
+ .markdown-body blockquote {
1167
+ margin: 0;
1168
+ padding: 0 1em;
1169
+ color: var(--fgColor-muted);
1170
+ }
1171
+
1172
+ .markdown-body ul,
1173
+ .markdown-body ol {
1174
+ margin-top: 0;
1175
+ margin-bottom: 0;
1176
+ padding-left: 2em;
1177
+ }
1178
+
1179
+ .markdown-body ol ol,
1180
+ .markdown-body ul ol {
1181
+ list-style-type: lower-roman;
1182
+ }
1183
+
1184
+ .markdown-body ul ul ol,
1185
+ .markdown-body ul ol ol,
1186
+ .markdown-body ol ul ol,
1187
+ .markdown-body ol ol ol {
1188
+ list-style-type: lower-alpha;
1189
+ }
1190
+
1191
+ .markdown-body dd {
1192
+ margin-left: 0;
1193
+ }
1194
+
1195
+ .markdown-body tt,
1196
+ .markdown-body code,
1197
+ .markdown-body samp {
1198
+ font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
1199
+ font-size: 12px;
1200
+ }
1201
+
1202
+ .markdown-body pre {
1203
+ margin-top: 0;
1204
+ margin-bottom: 0;
1205
+ font-family: var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);
1206
+ font-size: 12px;
1207
+ word-wrap: normal;
1208
+ }
1209
+
1210
+ .markdown-body .octicon {
1211
+ display: inline-block;
1212
+ overflow: visible !important;
1213
+ vertical-align: text-bottom;
1214
+ fill: currentColor;
1215
+ }
1216
+
1217
+ .markdown-body input::-webkit-outer-spin-button,
1218
+ .markdown-body input::-webkit-inner-spin-button {
1219
+ margin: 0;
1220
+ -webkit-appearance: none;
1221
+ appearance: none;
1222
+ }
1223
+
1224
+ .markdown-body .mr-2 {
1225
+ margin-right: var(--base-size-8, 8px) !important;
1226
+ }
1227
+
1228
+ .markdown-body::before {
1229
+ display: table;
1230
+ content: "";
1231
+ }
1232
+
1233
+ .markdown-body::after {
1234
+ display: table;
1235
+ clear: both;
1236
+ content: "";
1237
+ }
1238
+
1239
+ .markdown-body>*:first-child {
1240
+ margin-top: 0 !important;
1241
+ }
1242
+
1243
+ .markdown-body>*:last-child {
1244
+ margin-bottom: 0 !important;
1245
+ }
1246
+
1247
+ .markdown-body a:not([href]) {
1248
+ color: inherit;
1249
+ text-decoration: none;
1250
+ }
1251
+
1252
+ .markdown-body .absent {
1253
+ color: var(--fgColor-danger);
1254
+ }
1255
+
1256
+ .markdown-body .anchor {
1257
+ float: left;
1258
+ padding-right: 4px;
1259
+ margin-left: -20px;
1260
+ line-height: 1;
1261
+ }
1262
+
1263
+ .markdown-body .anchor:focus {
1264
+ outline: none;
1265
+ }
1266
+
1267
+ .markdown-body p,
1268
+ .markdown-body blockquote,
1269
+ .markdown-body ul,
1270
+ .markdown-body ol,
1271
+ .markdown-body dl,
1272
+ .markdown-body table,
1273
+ .markdown-body pre,
1274
+ .markdown-body details {
1275
+ margin-top: 0;
1276
+ margin-bottom: 16px;
1277
+ }
1278
+
1279
+ .markdown-body blockquote>:first-child {
1280
+ margin-top: 0;
1281
+ }
1282
+
1283
+ .markdown-body blockquote>:last-child {
1284
+ margin-bottom: 0;
1285
+ }
1286
+
1287
+ .markdown-body h1 .octicon-link,
1288
+ .markdown-body h2 .octicon-link,
1289
+ .markdown-body h3 .octicon-link,
1290
+ .markdown-body h4 .octicon-link,
1291
+ .markdown-body h5 .octicon-link,
1292
+ .markdown-body h6 .octicon-link {
1293
+ color: var(--fgColor-default);
1294
+ vertical-align: middle;
1295
+ visibility: hidden;
1296
+ }
1297
+
1298
+ .markdown-body h1:hover .anchor,
1299
+ .markdown-body h2:hover .anchor,
1300
+ .markdown-body h3:hover .anchor,
1301
+ .markdown-body h4:hover .anchor,
1302
+ .markdown-body h5:hover .anchor,
1303
+ .markdown-body h6:hover .anchor {
1304
+ text-decoration: none;
1305
+ }
1306
+
1307
+ .markdown-body h1:hover .anchor .octicon-link,
1308
+ .markdown-body h2:hover .anchor .octicon-link,
1309
+ .markdown-body h3:hover .anchor .octicon-link,
1310
+ .markdown-body h4:hover .anchor .octicon-link,
1311
+ .markdown-body h5:hover .anchor .octicon-link,
1312
+ .markdown-body h6:hover .anchor .octicon-link {
1313
+ visibility: visible;
1314
+ }
1315
+
1316
+ .markdown-body h1 tt,
1317
+ .markdown-body h1 code,
1318
+ .markdown-body h2 tt,
1319
+ .markdown-body h2 code,
1320
+ .markdown-body h3 tt,
1321
+ .markdown-body h3 code,
1322
+ .markdown-body h4 tt,
1323
+ .markdown-body h4 code,
1324
+ .markdown-body h5 tt,
1325
+ .markdown-body h5 code,
1326
+ .markdown-body h6 tt,
1327
+ .markdown-body h6 code {
1328
+ padding: 0 .2em;
1329
+ font-size: inherit;
1330
+ }
1331
+
1332
+ .markdown-body summary h1,
1333
+ .markdown-body summary h2,
1334
+ .markdown-body summary h3,
1335
+ .markdown-body summary h4,
1336
+ .markdown-body summary h5,
1337
+ .markdown-body summary h6 {
1338
+ display: inline-block;
1339
+ }
1340
+
1341
+ .markdown-body summary h1 .anchor,
1342
+ .markdown-body summary h2 .anchor,
1343
+ .markdown-body summary h3 .anchor,
1344
+ .markdown-body summary h4 .anchor,
1345
+ .markdown-body summary h5 .anchor,
1346
+ .markdown-body summary h6 .anchor {
1347
+ margin-left: -40px;
1348
+ }
1349
+
1350
+ .markdown-body summary h1,
1351
+ .markdown-body summary h2 {
1352
+ padding-bottom: 0;
1353
+ border-bottom: 0;
1354
+ }
1355
+
1356
+ .markdown-body ul.no-list,
1357
+ .markdown-body ol.no-list {
1358
+ padding: 0;
1359
+ list-style-type: none;
1360
+ }
1361
+
1362
+ .markdown-body ol[type="a s"] {
1363
+ list-style-type: lower-alpha;
1364
+ }
1365
+
1366
+ .markdown-body ol[type="A s"] {
1367
+ list-style-type: upper-alpha;
1368
+ }
1369
+
1370
+ .markdown-body ol[type="i s"] {
1371
+ list-style-type: lower-roman;
1372
+ }
1373
+
1374
+ .markdown-body ol[type="I s"] {
1375
+ list-style-type: upper-roman;
1376
+ }
1377
+
1378
+ .markdown-body ol[type="1"] {
1379
+ list-style-type: decimal;
1380
+ }
1381
+
1382
+ .markdown-body div>ol:not([type]) {
1383
+ list-style-type: decimal;
1384
+ }
1385
+
1386
+ .markdown-body ul ul,
1387
+ .markdown-body ul ol,
1388
+ .markdown-body ol ol,
1389
+ .markdown-body ol ul {
1390
+ margin-top: 0;
1391
+ margin-bottom: 0;
1392
+ }
1393
+
1394
+ .markdown-body li>p {
1395
+ margin-top: 16px;
1396
+ }
1397
+
1398
+ .markdown-body li+li {
1399
+ margin-top: .25em;
1400
+ }
1401
+
1402
+ .markdown-body dl {
1403
+ padding: 0;
1404
+ }
1405
+
1406
+ .markdown-body dl dt {
1407
+ padding: 0;
1408
+ margin-top: 16px;
1409
+ font-size: 1em;
1410
+ font-style: italic;
1411
+ font-weight: var(--base-text-weight-semibold, 600);
1412
+ }
1413
+
1414
+ .markdown-body dl dd {
1415
+ padding: 0 16px;
1416
+ margin-bottom: 16px;
1417
+ }
1418
+
1419
+ .markdown-body table th {
1420
+ font-weight: var(--base-text-weight-semibold, 600);
1421
+ }
1422
+
1423
+ .markdown-body table th,
1424
+ .markdown-body table td {
1425
+ padding: 6px 13px;
1426
+ border: 1px solid var(--borderColor-default);
1427
+ }
1428
+
1429
+ .markdown-body table td>:last-child {
1430
+ margin-bottom: 0;
1431
+ }
1432
+
1433
+ .markdown-body table tr {
1434
+ border-top: 1px solid var(--borderColor-muted);
1435
+ }
1436
+
1437
+ .markdown-body table img {
1438
+ background-color: transparent;
1439
+ }
1440
+
1441
+ .markdown-body img[align=right] {
1442
+ padding-left: 20px;
1443
+ }
1444
+
1445
+ .markdown-body img[align=left] {
1446
+ padding-right: 20px;
1447
+ }
1448
+
1449
+ .markdown-body .emoji {
1450
+ max-width: none;
1451
+ vertical-align: text-top;
1452
+ background-color: transparent;
1453
+ }
1454
+
1455
+ .markdown-body span.frame {
1456
+ display: block;
1457
+ overflow: hidden;
1458
+ }
1459
+
1460
+ .markdown-body span.frame>span {
1461
+ display: block;
1462
+ float: left;
1463
+ width: auto;
1464
+ padding: 7px;
1465
+ margin: 13px 0 0;
1466
+ overflow: hidden;
1467
+ border: 1px solid var(--borderColor-default);
1468
+ }
1469
+
1470
+ .markdown-body span.frame span img {
1471
+ display: block;
1472
+ float: left;
1473
+ }
1474
+
1475
+ .markdown-body span.frame span span {
1476
+ display: block;
1477
+ padding: 5px 0 0;
1478
+ clear: both;
1479
+ color: var(--fgColor-default);
1480
+ }
1481
+
1482
+ .markdown-body span.align-center {
1483
+ display: block;
1484
+ overflow: hidden;
1485
+ clear: both;
1486
+ }
1487
+
1488
+ .markdown-body span.align-center>span {
1489
+ display: block;
1490
+ margin: 13px auto 0;
1491
+ overflow: hidden;
1492
+ text-align: center;
1493
+ }
1494
+
1495
+ .markdown-body span.align-center span img {
1496
+ margin: 0 auto;
1497
+ text-align: center;
1498
+ }
1499
+
1500
+ .markdown-body span.align-right {
1501
+ display: block;
1502
+ overflow: hidden;
1503
+ clear: both;
1504
+ }
1505
+
1506
+ .markdown-body span.align-right>span {
1507
+ display: block;
1508
+ margin: 13px 0 0;
1509
+ overflow: hidden;
1510
+ text-align: right;
1511
+ }
1512
+
1513
+ .markdown-body span.align-right span img {
1514
+ margin: 0;
1515
+ text-align: right;
1516
+ }
1517
+
1518
+ .markdown-body span.float-left {
1519
+ display: block;
1520
+ float: left;
1521
+ margin-right: 13px;
1522
+ overflow: hidden;
1523
+ }
1524
+
1525
+ .markdown-body span.float-left span {
1526
+ margin: 13px 0 0;
1527
+ }
1528
+
1529
+ .markdown-body span.float-right {
1530
+ display: block;
1531
+ float: right;
1532
+ margin-left: 13px;
1533
+ overflow: hidden;
1534
+ }
1535
+
1536
+ .markdown-body span.float-right>span {
1537
+ display: block;
1538
+ margin: 13px auto 0;
1539
+ overflow: hidden;
1540
+ text-align: right;
1541
+ }
1542
+
1543
+ .markdown-body code,
1544
+ .markdown-body tt {
1545
+ padding: .2em .4em;
1546
+ margin: 0;
1547
+ font-size: 85%;
1548
+ white-space: break-spaces;
1549
+ background-color: var(--bgColor-neutral-muted);
1550
+ border-radius: 6px;
1551
+ }
1552
+
1553
+ .markdown-body code br,
1554
+ .markdown-body tt br {
1555
+ display: none;
1556
+ }
1557
+
1558
+ .markdown-body del code {
1559
+ text-decoration: inherit;
1560
+ }
1561
+
1562
+ .markdown-body samp {
1563
+ font-size: 85%;
1564
+ }
1565
+
1566
+ .markdown-body pre code {
1567
+ font-size: 100%;
1568
+ }
1569
+
1570
+ .markdown-body pre>code {
1571
+ padding: 0;
1572
+ margin: 0;
1573
+ word-break: normal;
1574
+ white-space: pre;
1575
+ background: transparent;
1576
+ border: 0;
1577
+ }
1578
+
1579
+ .markdown-body .highlight {
1580
+ margin-bottom: 16px;
1581
+ }
1582
+
1583
+ .markdown-body .highlight pre {
1584
+ margin-bottom: 0;
1585
+ word-break: normal;
1586
+ }
1587
+
1588
+ .markdown-body .highlight pre,
1589
+ .markdown-body pre {
1590
+ padding: 16px;
1591
+ overflow: auto;
1592
+ font-size: 85%;
1593
+ line-height: 1.45;
1594
+ color: var(--fgColor-default);
1595
+ background-color: var(--bgColor-muted);
1596
+ border-radius: 6px;
1597
+ }
1598
+
1599
+ .markdown-body pre code,
1600
+ .markdown-body pre tt {
1601
+ display: inline;
1602
+ max-width: auto;
1603
+ padding: 0;
1604
+ margin: 0;
1605
+ overflow: visible;
1606
+ line-height: inherit;
1607
+ word-wrap: normal;
1608
+ background-color: transparent;
1609
+ border: 0;
1610
+ }
1611
+
1612
+ .markdown-body .csv-data td,
1613
+ .markdown-body .csv-data th {
1614
+ padding: 5px;
1615
+ overflow: hidden;
1616
+ font-size: 12px;
1617
+ line-height: 1;
1618
+ text-align: left;
1619
+ white-space: nowrap;
1620
+ }
1621
+
1622
+ .markdown-body .csv-data .blob-num {
1623
+ padding: 10px 8px 9px;
1624
+ text-align: right;
1625
+ border: 0;
1626
+ }
1627
+
1628
+ .markdown-body .csv-data tr {
1629
+ border-top: 0;
1630
+ }
1631
+
1632
+ .markdown-body .csv-data th {
1633
+ font-weight: var(--base-text-weight-semibold, 600);
1634
+ background: var(--bgColor-muted);
1635
+ border-top: 0;
1636
+ }
1637
+
1638
+ .markdown-body [data-footnote-ref]::before {
1639
+ content: "[";
1640
+ }
1641
+
1642
+ .markdown-body [data-footnote-ref]::after {
1643
+ content: "]";
1644
+ }
1645
+
1646
+ .markdown-body .footnotes {
1647
+ font-size: 12px;
1648
+ color: var(--fgColor-muted);
1649
+ border-top: 1px solid var(--borderColor-default);
1650
+ }
1651
+
1652
+ .markdown-body .footnotes ol {
1653
+ padding-left: 16px;
1654
+ }
1655
+
1656
+ .markdown-body .footnotes ol ul {
1657
+ display: inline-block;
1658
+ padding-left: 16px;
1659
+ margin-top: 16px;
1660
+ }
1661
+
1662
+ .markdown-body .footnotes li {
1663
+ position: relative;
1664
+ }
1665
+
1666
+ .markdown-body .footnotes li:target::before {
1667
+ position: absolute;
1668
+ top: -8px;
1669
+ right: -8px;
1670
+ bottom: -8px;
1671
+ left: -24px;
1672
+ pointer-events: none;
1673
+ content: "";
1674
+ border: 2px solid var(--borderColor-accent-emphasis);
1675
+ border-radius: 6px;
1676
+ }
1677
+
1678
+ .markdown-body .footnotes li:target {
1679
+ color: var(--fgColor-default);
1680
+ }
1681
+
1682
+ .markdown-body .footnotes .data-footnote-backref g-emoji {
1683
+ font-family: monospace;
1684
+ }
1685
+
1686
+ .markdown-body .pl-c {
1687
+ color: var(--color-prettylights-syntax-comment);
1688
+ }
1689
+
1690
+ .markdown-body .pl-c1,
1691
+ .markdown-body .pl-s .pl-v {
1692
+ color: var(--color-prettylights-syntax-constant);
1693
+ }
1694
+
1695
+ .markdown-body .pl-e,
1696
+ .markdown-body .pl-en {
1697
+ color: var(--color-prettylights-syntax-entity);
1698
+ }
1699
+
1700
+ .markdown-body .pl-smi,
1701
+ .markdown-body .pl-s .pl-s1 {
1702
+ color: var(--color-prettylights-syntax-storage-modifier-import);
1703
+ }
1704
+
1705
+ .markdown-body .pl-ent {
1706
+ color: var(--color-prettylights-syntax-entity-tag);
1707
+ }
1708
+
1709
+ .markdown-body .pl-k {
1710
+ color: var(--color-prettylights-syntax-keyword);
1711
+ }
1712
+
1713
+ .markdown-body .pl-s,
1714
+ .markdown-body .pl-pds,
1715
+ .markdown-body .pl-s .pl-pse .pl-s1,
1716
+ .markdown-body .pl-sr,
1717
+ .markdown-body .pl-sr .pl-cce,
1718
+ .markdown-body .pl-sr .pl-sre,
1719
+ .markdown-body .pl-sr .pl-sra {
1720
+ color: var(--color-prettylights-syntax-string);
1721
+ }
1722
+
1723
+ .markdown-body .pl-v,
1724
+ .markdown-body .pl-smw {
1725
+ color: var(--color-prettylights-syntax-variable);
1726
+ }
1727
+
1728
+ .markdown-body .pl-bu {
1729
+ color: var(--color-prettylights-syntax-brackethighlighter-unmatched);
1730
+ }
1731
+
1732
+ .markdown-body .pl-ii {
1733
+ color: var(--color-prettylights-syntax-invalid-illegal-text);
1734
+ background-color: var(--color-prettylights-syntax-invalid-illegal-bg);
1735
+ }
1736
+
1737
+ .markdown-body .pl-c2 {
1738
+ color: var(--color-prettylights-syntax-carriage-return-text);
1739
+ background-color: var(--color-prettylights-syntax-carriage-return-bg);
1740
+ }
1741
+
1742
+ .markdown-body .pl-sr .pl-cce {
1743
+ font-weight: bold;
1744
+ color: var(--color-prettylights-syntax-string-regexp);
1745
+ }
1746
+
1747
+ .markdown-body .pl-ml {
1748
+ color: var(--color-prettylights-syntax-markup-list);
1749
+ }
1750
+
1751
+ .markdown-body .pl-mh,
1752
+ .markdown-body .pl-mh .pl-en,
1753
+ .markdown-body .pl-ms {
1754
+ font-weight: bold;
1755
+ color: var(--color-prettylights-syntax-markup-heading);
1756
+ }
1757
+
1758
+ .markdown-body .pl-mi {
1759
+ font-style: italic;
1760
+ color: var(--color-prettylights-syntax-markup-italic);
1761
+ }
1762
+
1763
+ .markdown-body .pl-mb {
1764
+ font-weight: bold;
1765
+ color: var(--color-prettylights-syntax-markup-bold);
1766
+ }
1767
+
1768
+ .markdown-body .pl-md {
1769
+ color: var(--color-prettylights-syntax-markup-deleted-text);
1770
+ background-color: var(--color-prettylights-syntax-markup-deleted-bg);
1771
+ }
1772
+
1773
+ .markdown-body .pl-mi1 {
1774
+ color: var(--color-prettylights-syntax-markup-inserted-text);
1775
+ background-color: var(--color-prettylights-syntax-markup-inserted-bg);
1776
+ }
1777
+
1778
+ .markdown-body .pl-mc {
1779
+ color: var(--color-prettylights-syntax-markup-changed-text);
1780
+ background-color: var(--color-prettylights-syntax-markup-changed-bg);
1781
+ }
1782
+
1783
+ .markdown-body .pl-mi2 {
1784
+ color: var(--color-prettylights-syntax-markup-ignored-text);
1785
+ background-color: var(--color-prettylights-syntax-markup-ignored-bg);
1786
+ }
1787
+
1788
+ .markdown-body .pl-mdr {
1789
+ font-weight: bold;
1790
+ color: var(--color-prettylights-syntax-meta-diff-range);
1791
+ }
1792
+
1793
+ .markdown-body .pl-ba {
1794
+ color: var(--color-prettylights-syntax-brackethighlighter-angle);
1795
+ }
1796
+
1797
+ .markdown-body .pl-sg {
1798
+ color: var(--color-prettylights-syntax-sublimelinter-gutter-mark);
1799
+ }
1800
+
1801
+ .markdown-body .pl-corl {
1802
+ text-decoration: underline;
1803
+ color: var(--color-prettylights-syntax-constant-other-reference-link);
1804
+ }
1805
+
1806
+ .markdown-body [role=button]:focus:not(:focus-visible),
1807
+ .markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),
1808
+ .markdown-body button:focus:not(:focus-visible),
1809
+ .markdown-body summary:focus:not(:focus-visible),
1810
+ .markdown-body a:focus:not(:focus-visible) {
1811
+ outline: none;
1812
+ box-shadow: none;
1813
+ }
1814
+
1815
+ .markdown-body [tabindex="0"]:focus:not(:focus-visible),
1816
+ .markdown-body details-dialog:focus:not(:focus-visible) {
1817
+ outline: none;
1818
+ }
1819
+
1820
+ .markdown-body g-emoji {
1821
+ display: inline-block;
1822
+ min-width: 1ch;
1823
+ font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
1824
+ font-size: 1em;
1825
+ font-style: normal !important;
1826
+ font-weight: var(--base-text-weight-normal, 400);
1827
+ line-height: 1;
1828
+ vertical-align: -0.075em;
1829
+ }
1830
+
1831
+ .markdown-body g-emoji img {
1832
+ width: 1em;
1833
+ height: 1em;
1834
+ }
1835
+
1836
+ .markdown-body .task-list-item {
1837
+ list-style-type: none;
1838
+ }
1839
+
1840
+ .markdown-body .task-list-item label {
1841
+ font-weight: var(--base-text-weight-normal, 400);
1842
+ }
1843
+
1844
+ .markdown-body .task-list-item.enabled label {
1845
+ cursor: pointer;
1846
+ }
1847
+
1848
+ .markdown-body .task-list-item+.task-list-item {
1849
+ margin-top: var(--base-size-4);
1850
+ }
1851
+
1852
+ .markdown-body .task-list-item .handle {
1853
+ display: none;
1854
+ }
1855
+
1856
+ .markdown-body .task-list-item-checkbox {
1857
+ margin: 0 .2em .25em -1.4em;
1858
+ vertical-align: middle;
1859
+ }
1860
+
1861
+ .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox {
1862
+ margin: 0 -1.6em .25em .2em;
1863
+ }
1864
+
1865
+ .markdown-body .contains-task-list {
1866
+ position: relative;
1867
+ }
1868
+
1869
+ .markdown-body .contains-task-list:hover .task-list-item-convert-container,
1870
+ .markdown-body .contains-task-list:focus-within .task-list-item-convert-container {
1871
+ display: block;
1872
+ width: auto;
1873
+ height: 24px;
1874
+ overflow: visible;
1875
+ clip: auto;
1876
+ }
1877
+
1878
+ .markdown-body ::-webkit-calendar-picker-indicator {
1879
+ filter: invert(50%);
1880
+ }
1881
+
1882
+ .markdown-body .markdown-alert {
1883
+ padding: var(--base-size-8) var(--base-size-16);
1884
+ margin-bottom: var(--base-size-16);
1885
+ color: inherit;
1886
+ border-left: .25em solid var(--borderColor-default);
1887
+ }
1888
+
1889
+ .markdown-body .markdown-alert>:first-child {
1890
+ margin-top: 0;
1891
+ }
1892
+
1893
+ .markdown-body .markdown-alert>:last-child {
1894
+ margin-bottom: 0;
1895
+ }
1896
+
1897
+ .markdown-body .markdown-alert .markdown-alert-title {
1898
+ display: flex;
1899
+ font-weight: var(--base-text-weight-medium, 500);
1900
+ align-items: center;
1901
+ line-height: 1;
1902
+ }
1903
+
1904
+ .markdown-body .markdown-alert.markdown-alert-note {
1905
+ border-left-color: var(--borderColor-accent-emphasis);
1906
+ }
1907
+
1908
+ .markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title {
1909
+ color: var(--fgColor-accent);
1910
+ }
1911
+
1912
+ .markdown-body .markdown-alert.markdown-alert-important {
1913
+ border-left-color: var(--borderColor-done-emphasis);
1914
+ }
1915
+
1916
+ .markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title {
1917
+ color: var(--fgColor-done);
1918
+ }
1919
+
1920
+ .markdown-body .markdown-alert.markdown-alert-warning {
1921
+ border-left-color: var(--borderColor-attention-emphasis);
1922
+ }
1923
+
1924
+ .markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title {
1925
+ color: var(--fgColor-attention);
1926
+ }
1927
+
1928
+ .markdown-body .markdown-alert.markdown-alert-tip {
1929
+ border-left-color: var(--borderColor-success-emphasis);
1930
+ }
1931
+
1932
+ .markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title {
1933
+ color: var(--fgColor-success);
1934
+ }
1935
+
1936
+ .markdown-body .markdown-alert.markdown-alert-caution {
1937
+ border-left-color: var(--borderColor-danger-emphasis);
1938
+ }
1939
+
1940
+ .markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title {
1941
+ color: var(--fgColor-danger);
1942
+ }
1943
+
1944
+ .markdown-body>*:first-child>.heading-element:first-child {
1945
+ margin-top: 0 !important;
1946
+ }`;
1947
+
1948
+ const yt_style = `
1949
+ .msg_userMessageBox {
1950
+ width: fit-content;
1951
+ max-width: 90%;
1952
+ display: flex;
1953
+ flex-direction: column;
1954
+ align-items: flex-end;
1955
+ }
1956
+
1957
+ .msg_userMessageBox .msg_messageImgBox {
1958
+ width: 100%;
1959
+ display: flex;
1960
+ flex-wrap: wrap;
1961
+ justify-content: flex-end;
1962
+ }
1963
+
1964
+ .msg_userMessageBox .msg_messageImgBox .msg_messageImg {
1965
+ border-radius: 5px;
1966
+ }
1967
+
1968
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox {
1969
+ flex-shrink: 0;
1970
+ pointer-events: auto;
1971
+ position: relative;
1972
+ width: 137px;
1973
+ background-color: #f0f0f0;
1974
+ border-radius: 10px;
1975
+ margin: 3px 5px;
1976
+ padding: 5px;
1977
+ display: flex;
1978
+ }
1979
+
1980
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox:hover .msg_fileRemove {
1981
+ display: block;
1982
+ }
1983
+
1984
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_fileInfoBox {
1985
+ margin-left: 10px;
1986
+ overflow: hidden;
1987
+ display: flex;
1988
+ align-items: center;
1989
+ }
1990
+
1991
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_fileInfoBox .msg_fileInfoFileName {
1992
+ overflow: hidden;
1993
+ text-overflow: ellipsis;
1994
+ white-space: nowrap;
1995
+ width: 72px;
1996
+ color: #242424;
1997
+ user-select: none;
1998
+ }
1999
+
2000
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_fileInfoBox .msg_fileInfoMeta {
2001
+ user-select: none;
2002
+ color: #a8a8a8;
2003
+ }
2004
+
2005
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_fileRemove {
2006
+ display: none;
2007
+ position: absolute;
2008
+ cursor: pointer;
2009
+ top: -2px;
2010
+ right: 0;
2011
+ z-index: 99999;
2012
+ }
2013
+
2014
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_fileRemove img {
2015
+ width: 20px;
2016
+ }
2017
+
2018
+ .msg_userMessageBox .msg_messageImgBox .msg_fileBox .msg_upImg {
2019
+ border-radius: 3px;
2020
+ z-index: 510;
2021
+ }
2022
+
2023
+ .msg_operateBox {
2024
+ display: flex;
2025
+ margin-top: 5px;
2026
+ user-select: none;
2027
+ }
2028
+
2029
+ .msg_operateBox img {
2030
+ -webkit-user-drag: none;
2031
+ margin-right: 3px;
2032
+ cursor: pointer;
2033
+ width: 16px;
2034
+ }
2035
+
2036
+ .plh_textBox {
2037
+ display: flex;
2038
+ justify-content: center;
2039
+ align-content: center;
2040
+ }
2041
+
2042
+ .plh_textBox .plh_text {
2043
+ font-weight: bold;
2044
+ }
2045
+
2046
+ .w_send_file_box {
2047
+ height: 23px;
2048
+ display: flex;
2049
+ background: transparent;
2050
+ align-items: center;
2051
+ justify-content: center;
2052
+ border-radius: 24px;
2053
+ font-size: 12px;
2054
+ color: #666666;
2055
+ cursor: pointer;
2056
+ }
2057
+
2058
+ .w_file_preview {
2059
+ width: 100%;
2060
+ height: fit-content;
2061
+ background-color: transparent;
2062
+ z-index: 500;
2063
+ display: flex;
2064
+ justify-content: flex-start;
2065
+ align-items: center;
2066
+ padding: 0 5px;
2067
+ overflow-x: hidden;
2068
+ }
2069
+
2070
+ .w_file_preview .w_directionBg {
2071
+ position: absolute;
2072
+ cursor: pointer;
2073
+ width: 18px;
2074
+ height: 18px;
2075
+ background: #FFFFFF;
2076
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
2077
+ border-radius: 5px;
2078
+ border: 1px solid #F0F0F0;
2079
+ z-index: 999999;
2080
+ display: flex;
2081
+ justify-content: center;
2082
+ align-items: center;
2083
+ }
2084
+
2085
+ .w_file_preview .w_directionBg img {
2086
+ width: 12px;
2087
+ }
2088
+
2089
+ .w_file_preview .w_toLeftBox {
2090
+ position: absolute;
2091
+ left: 0;
2092
+ top: 6px;
2093
+ height: 60px;
2094
+ width: 80px;
2095
+ background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 25%, rgba(255,255,255,0) 100%);
2096
+ z-index: 99999;
2097
+ }
2098
+
2099
+ .w_file_preview .w_toLeftBox .w_toLeft {
2100
+ position: absolute;
2101
+ cursor: pointer;
2102
+ width: 18px;
2103
+ height: 18px;
2104
+ background: #FFFFFF;
2105
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
2106
+ border-radius: 5px;
2107
+ border: 1px solid #F0F0F0;
2108
+ z-index: 999999;
2109
+ display: flex;
2110
+ justify-content: center;
2111
+ align-items: center;
2112
+ top: 25px;
2113
+ left: 5px;
2114
+ }
2115
+
2116
+ .w_file_preview .w_toRightBox {
2117
+ position: absolute;
2118
+ right: 0;
2119
+ top: 6px;
2120
+ height: 60px;
2121
+ width: 80px;
2122
+ background: linear-gradient(-90deg, #FFFFFF 0%, #FFFFFF 25%, rgba(255, 255, 255, 0) 100%);
2123
+ z-index: 99999;
2124
+ }
2125
+
2126
+ .w_file_preview .w_toRightBox .w_toRight {
2127
+ position: absolute;
2128
+ cursor: pointer;
2129
+ width: 18px;
2130
+ height: 18px;
2131
+ background: #FFFFFF;
2132
+ box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1);
2133
+ border-radius: 5px;
2134
+ border: 1px solid #F0F0F0;
2135
+ z-index: 999999;
2136
+ display: flex;
2137
+ justify-content: center;
2138
+ align-items: center;
2139
+ top: 25px;
2140
+ right: 5px;
2141
+ }
2142
+
2143
+ .w_file_preview .w_fileBox {
2144
+ position: relative;
2145
+ min-width: fit-content;
2146
+ background-color: #f0f0f0;
2147
+ border-radius: 10px;
2148
+ margin: 10px 5px;
2149
+ padding: 5px;
2150
+ display: flex;
2151
+ }
2152
+
2153
+ .w_file_preview .w_fileBox:hover .w_fileRemove {
2154
+ display: block;
2155
+ }
2156
+
2157
+ .w_file_preview .w_fileBox .w_fileInfoBox {
2158
+ width: fit-content;
2159
+ margin-left: 10px;
2160
+ }
2161
+
2162
+ .w_file_preview .w_fileBox .w_fileInfoBox .w_fileInfoFileName {
2163
+ overflow: hidden;
2164
+ text-overflow: ellipsis;
2165
+ white-space: nowrap;
2166
+ width: 110px;
2167
+ color: #242424;
2168
+ user-select: none;
2169
+ }
2170
+
2171
+ .w_file_preview .w_fileBox .w_fileInfoBox .w_fileInfoMeta {
2172
+ width: fit-content;
2173
+ user-select: none;
2174
+ color: #a8a8a8;
2175
+ white-space: nowrap;
2176
+ }
2177
+
2178
+ .w_file_preview .w_fileBox .w_fileRemove {
2179
+ display: none;
2180
+ position: absolute;
2181
+ cursor: pointer;
2182
+ top: -2px;
2183
+ right: 0;
2184
+ z-index: 99999;
2185
+ }
2186
+
2187
+ .w_file_preview .w_fileBox .w_fileRemove img {
2188
+ width: 20px;
2189
+ }
2190
+
2191
+ .w_file_preview .w_fileBox .w_upImg {
2192
+ border-radius: 3px;
2193
+ z-index: 510;
2194
+ }
2195
+
2196
+ .w_inputBox {
2197
+ width: 100%;
2198
+ display: flex;
2199
+ align-items: center;
2200
+ textarea {
2201
+ resize: none;
2202
+ min-height: 48px;
2203
+ max-height: 96px;
2204
+ border: 0;
2205
+ box-shadow: none !important;
2206
+ color: #333;
2207
+ outline: 0;
2208
+ padding: 5px 10px 0 10px;
2209
+ width: 100%;
2210
+
2211
+ box-sizing: border-box;
2212
+ overflow-y: auto; /* 允许垂直滚动 */
2213
+ scrollbar-width: none; /* Firefox */
2214
+ -ms-overflow-style: none; /* IE and Edge */
2215
+ }
2216
+ textarea::-webkit-scrollbar {
2217
+ display: none; /* Chrome, Safari, and Opera */
2218
+ }
2219
+ }
2220
+
2221
+ /**
2222
+ * 输入框上方的标签问题列表
2223
+ */
2224
+
2225
+ .w_send_voice_box {
2226
+ height: 23px;
2227
+ display: flex;
2228
+ background: transparent;
2229
+ align-items: center;
2230
+ justify-content: center;
2231
+ border-radius: 24px;
2232
+ font-size: 12px;
2233
+ color: #666666;
2234
+ cursor: pointer;
2235
+ margin-right: 10px;
2236
+ }
2237
+
2238
+ .w_send_voice_box .w_recordIng {
2239
+ padding: 4px;
2240
+ background: #1552FF;
2241
+ border-radius: 8px;
2242
+ }
2243
+ `
2244
+
2245
+ return (
2246
+ <div style={{ position: 'relative',height:'100%' }}>
2247
+ <style dangerouslySetInnerHTML={{ __html: styles + markdownBody + yt_style }}></style>
2248
+ <ChatWindow
2249
+ tags={tags}
2250
+ getHistoryList={getHistoryList}
2251
+ userInfo={userInfo}
2252
+ clearMessage={clearMessage}
2253
+ api_key={api_key}
2254
+ input_type={input_type}
2255
+ output_type={output_type}
2256
+ output_component={output_component}
2257
+ open={open}
2258
+ height={height}
2259
+ width={width}
2260
+ send_icon_style={send_icon_style}
2261
+ bot_message_style={bot_message_style}
2262
+ user_message_style={user_message_style}
2263
+ chat_window_style={chat_window_style}
2264
+ error_message_style={error_message_style}
2265
+ send_button_style={send_button_style}
2266
+ placeholder={placeholder}
2267
+ input_style={input_style}
2268
+ online={online}
2269
+ online_message={online_message}
2270
+ offline_message={offline_message}
2271
+ placeholder_sending={placeholder_sending}
2272
+ window_title={window_title}
2273
+ input_container_style={input_container_style}
2274
+ tweaks={tweaks}
2275
+ flowId={flow_id}
2276
+ hostUrl={host_url}
2277
+ updateLastMessage={updateLastMessage}
2278
+ addMessage={addMessage}
2279
+ messages={messages}
2280
+ triggerRef={triggerRef}
2281
+ position={chat_position}
2282
+ sessionId={sessionId}
2283
+ additional_headers={additional_headers}
2284
+ setDropDownList={setDropDownList}
2285
+ dropDownList={dropDownList}
2286
+ />
2287
+ </div>
2288
+ );
2289
+ }