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