@websolutespa/llm-plugin-maxmeyer 0.0.1

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 (110) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +159 -0
  3. package/dist/esm/__tests/example.test.js +9 -0
  4. package/dist/esm/__tests/example.test.js.map +1 -0
  5. package/dist/esm/blocks/Action/action.js +32 -0
  6. package/dist/esm/blocks/Action/action.js.map +1 -0
  7. package/dist/esm/blocks/Action/action.module.scss +5 -0
  8. package/dist/esm/blocks/ActionGroup/action-group.js +17 -0
  9. package/dist/esm/blocks/ActionGroup/action-group.js.map +1 -0
  10. package/dist/esm/blocks/ActionGroup/action-group.module.scss +8 -0
  11. package/dist/esm/blocks/AssistantMessage/assistant-message.js +18 -0
  12. package/dist/esm/blocks/AssistantMessage/assistant-message.js.map +1 -0
  13. package/dist/esm/blocks/CustomCard/custom-card.js +68 -0
  14. package/dist/esm/blocks/CustomCard/custom-card.js.map +1 -0
  15. package/dist/esm/blocks/CustomCard/custom-card.module.scss +64 -0
  16. package/dist/esm/blocks/CustomCardGroup/custom-card-group.js +65 -0
  17. package/dist/esm/blocks/CustomCardGroup/custom-card-group.js.map +1 -0
  18. package/dist/esm/blocks/CustomCardGroup/custom-card-group.module.scss +58 -0
  19. package/dist/esm/blocks/FormRecap/FormRecap.js +250 -0
  20. package/dist/esm/blocks/FormRecap/FormRecap.js.map +1 -0
  21. package/dist/esm/blocks/FormRecap/form-recap.module.scss +103 -0
  22. package/dist/esm/blocks/FormRecapError/FormRecapError.js +19 -0
  23. package/dist/esm/blocks/FormRecapError/FormRecapError.js.map +1 -0
  24. package/dist/esm/blocks/FormRecapError/form-recap-error.module.scss +7 -0
  25. package/dist/esm/blocks/FormRecapSuccess/FormRecapSuccess.js +19 -0
  26. package/dist/esm/blocks/FormRecapSuccess/FormRecapSuccess.js.map +1 -0
  27. package/dist/esm/blocks/FormRecapSuccess/form-recap-success.module.scss +7 -0
  28. package/dist/esm/blocks/FormRequest/FormRequest.js +36 -0
  29. package/dist/esm/blocks/FormRequest/FormRequest.js.map +1 -0
  30. package/dist/esm/blocks/FormRequest/form-request.module.scss +17 -0
  31. package/dist/esm/blocks/NotFound/not-found.js +15 -0
  32. package/dist/esm/blocks/NotFound/not-found.js.map +1 -0
  33. package/dist/esm/blocks/NotFound/not-found.module.scss +5 -0
  34. package/dist/esm/blocks/StreamError/StreamError.js +46 -0
  35. package/dist/esm/blocks/StreamError/StreamError.js.map +1 -0
  36. package/dist/esm/blocks/StreamError/_style.scss +34 -0
  37. package/dist/esm/blocks/UserMessage/user-message.js +22 -0
  38. package/dist/esm/blocks/UserMessage/user-message.js.map +1 -0
  39. package/dist/esm/blocks/UserMessage/user-message.module.scss +13 -0
  40. package/dist/esm/blocks/index.js +28 -0
  41. package/dist/esm/blocks/index.js.map +1 -0
  42. package/dist/esm/components/chat/Root/root.js +36 -0
  43. package/dist/esm/components/chat/Root/root.js.map +1 -0
  44. package/dist/esm/components/chat/Root/root.module.scss +58 -0
  45. package/dist/esm/components/chat/Thread/thread.js +40 -0
  46. package/dist/esm/components/chat/Thread/thread.js.map +1 -0
  47. package/dist/esm/components/chat/Thread/thread.module.scss +30 -0
  48. package/dist/esm/components/chat/index.js +8 -0
  49. package/dist/esm/components/chat/index.js.map +1 -0
  50. package/dist/esm/components/index.js +3 -0
  51. package/dist/esm/components/index.js.map +1 -0
  52. package/dist/esm/components/page/PageLoading/page-loading.js +32 -0
  53. package/dist/esm/components/page/PageLoading/page-loading.js.map +1 -0
  54. package/dist/esm/components/page/PageLoading/page-loading.module.scss +302 -0
  55. package/dist/esm/components/page/PageRoot/page-root.js +31 -0
  56. package/dist/esm/components/page/PageRoot/page-root.js.map +1 -0
  57. package/dist/esm/components/page/PageRoot/page-root.module.scss +24 -0
  58. package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.js +18 -0
  59. package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.js.map +1 -0
  60. package/dist/esm/components/page/PageStreamingIndicator/page-streaming-indicator.module.scss +38 -0
  61. package/dist/esm/components/page/PageTrigger/page-trigger.js +20 -0
  62. package/dist/esm/components/page/PageTrigger/page-trigger.js.map +1 -0
  63. package/dist/esm/components/page/PageTrigger/page-trigger.module.scss +16 -0
  64. package/dist/esm/components/page/index.js +12 -0
  65. package/dist/esm/components/page/index.js.map +1 -0
  66. package/dist/esm/global.d.js +2 -0
  67. package/dist/esm/global.d.js.map +1 -0
  68. package/dist/esm/index.js +12 -0
  69. package/dist/esm/index.js.map +1 -0
  70. package/dist/esm/llm.js +42 -0
  71. package/dist/esm/llm.js.map +1 -0
  72. package/dist/esm/mock/chat/app.js +76 -0
  73. package/dist/esm/mock/chat/app.js.map +1 -0
  74. package/dist/esm/mock/chat/theme.js +337 -0
  75. package/dist/esm/mock/chat/theme.js.map +1 -0
  76. package/dist/esm/mock/chat/thread.js +450 -0
  77. package/dist/esm/mock/chat/thread.js.map +1 -0
  78. package/dist/esm/mock/index.js +8 -0
  79. package/dist/esm/mock/index.js.map +1 -0
  80. package/dist/esm/mock/page/app.js +74 -0
  81. package/dist/esm/mock/page/app.js.map +1 -0
  82. package/dist/esm/mock/page/theme.js +337 -0
  83. package/dist/esm/mock/page/theme.js.map +1 -0
  84. package/dist/esm/mock/page/thread.js +756 -0
  85. package/dist/esm/mock/page/thread.js.map +1 -0
  86. package/dist/esm/plugin.js +21 -0
  87. package/dist/esm/plugin.js.map +1 -0
  88. package/dist/esm/scss/_base.scss +63 -0
  89. package/dist/esm/scss/_mixin.scss +10 -0
  90. package/dist/esm/scss/_reset.scss +63 -0
  91. package/dist/esm/scss/_thread.scss +35 -0
  92. package/dist/esm/scss/_typography.scss +19 -0
  93. package/dist/esm/scss/mixin/_breakpoint.scss +7 -0
  94. package/dist/esm/scss/mixin/_button.scss +64 -0
  95. package/dist/esm/scss/mixin/_container.scss +14 -0
  96. package/dist/esm/scss/mixin/_markdown.scss +180 -0
  97. package/dist/esm/scss/mixin/_scrollbar.scss +50 -0
  98. package/dist/esm/scss/mixin/_shadow.scss +19 -0
  99. package/dist/esm/scss/mixin/_size.scss +42 -0
  100. package/dist/esm/scss/mixin/_typography.scss +129 -0
  101. package/dist/esm/scss/mixin/_utils.scss +103 -0
  102. package/dist/esm/scss/mixin/_vars.scss +4 -0
  103. package/dist/esm/scss/style.scss +14 -0
  104. package/dist/index.css +5460 -0
  105. package/dist/index.css.map +1 -0
  106. package/dist/index.d.ts +78 -0
  107. package/dist/umd/index.js +48828 -0
  108. package/dist/umd/index.js.map +1 -0
  109. package/dist/umd/index.min.js +20 -0
  110. package/package.json +119 -0
@@ -0,0 +1,756 @@
1
+ /* eslint-disable comma-dangle */ /* eslint-disable quotes */ export const thread = [
2
+ {
3
+ "role": "user",
4
+ "chunks": [
5
+ "Se ho poco spazio in casa che cucina mi consigli?\n"
6
+ ]
7
+ },
8
+ {
9
+ "role": "assistant",
10
+ "chunks": [
11
+ {
12
+ "type": "custom01",
13
+ "id": "xxxxxx-1",
14
+ "title": "Custom 01",
15
+ "actions": [
16
+ {
17
+ "type": "generate",
18
+ "label": "La più adatta alla mia cucina",
19
+ "message": "message"
20
+ },
21
+ {
22
+ "type": "idea",
23
+ "label": "Come sfruttare al meglio gli angoli"
24
+ }
25
+ ]
26
+ },
27
+ {
28
+ "type": "custom02",
29
+ "id": "xxxxxx-2",
30
+ "title": "Custom 02",
31
+ "actions": [
32
+ {
33
+ "type": "generate",
34
+ "label": "Generate 02",
35
+ "message": "message"
36
+ },
37
+ {
38
+ "type": "idea",
39
+ "label": "Idea 02"
40
+ }
41
+ ]
42
+ },
43
+ {
44
+ "type": "custom03",
45
+ "id": "xxxxxx-3",
46
+ "title": "Custom 03"
47
+ },
48
+ {
49
+ "type": "custom04",
50
+ "id": "xxxxxx-4",
51
+ "title": "Custom 04",
52
+ "actions": [
53
+ {
54
+ "type": "generate",
55
+ "label": "Generate 04",
56
+ "message": "message"
57
+ },
58
+ {
59
+ "type": "idea",
60
+ "label": "Idea 04"
61
+ }
62
+ ]
63
+ },
64
+ {
65
+ "type": "custom05",
66
+ "id": "xxxxxx-5",
67
+ "title": "Custom 05",
68
+ "actions": [
69
+ {
70
+ "type": "generate",
71
+ "label": "Generate 05",
72
+ "message": "message"
73
+ },
74
+ {
75
+ "type": "idea",
76
+ "label": "Idea 05"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "type": "custom06",
82
+ "id": "xxxxxx-6",
83
+ "title": "Custom 06"
84
+ },
85
+ {
86
+ "type": "custom07",
87
+ "id": "xxxxxx-7",
88
+ "title": "Custom 07",
89
+ "actions": [
90
+ {
91
+ "type": "generate",
92
+ "label": "Generate 07",
93
+ "message": "message"
94
+ },
95
+ {
96
+ "type": "idea",
97
+ "label": "Idea 07"
98
+ }
99
+ ]
100
+ },
101
+ {
102
+ "type": "custom08",
103
+ "id": "xxxxxx-8",
104
+ "title": "Custom 08"
105
+ }
106
+ ]
107
+ },
108
+ {
109
+ "role": "user",
110
+ "chunks": [
111
+ "Cucine con il piano in marmo\n"
112
+ ]
113
+ },
114
+ {
115
+ "role": "assistant",
116
+ "chunks": [
117
+ "Ecco alcuni elementi custom:\n",
118
+ {
119
+ "type": "customCardItem",
120
+ "id": "xxxxxx-1",
121
+ "title": "A custom card",
122
+ "media": {
123
+ "type": "image",
124
+ "src": "https://picsum.photos/id/11/640/480"
125
+ },
126
+ "href": "/",
127
+ "actions": [
128
+ {
129
+ "type": "generate",
130
+ "label": "La più adatta alla mia cucina",
131
+ "message": "message"
132
+ },
133
+ {
134
+ "type": "idea",
135
+ "label": "Come sfruttare al meglio gli angoli"
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "type": "customCardItem",
141
+ "id": "xxxxxx-2",
142
+ "title": "A custom card",
143
+ "media": {
144
+ "type": "image",
145
+ "src": "https://picsum.photos/id/11/640/480"
146
+ },
147
+ "href": "/",
148
+ "actions": [
149
+ {
150
+ "type": "generate",
151
+ "label": "La più adatta alla mia cucina",
152
+ "message": "message"
153
+ },
154
+ {
155
+ "type": "idea",
156
+ "label": "Come sfruttare al meglio gli angoli"
157
+ }
158
+ ]
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "role": "user",
164
+ "chunks": [
165
+ "Quali sono le opzioni di personalizzazione per Soul?\n"
166
+ ]
167
+ },
168
+ {
169
+ "role": "assistant",
170
+ "chunks": [
171
+ "Products:\n",
172
+ {
173
+ "type": "productItem",
174
+ "id": "54792",
175
+ "productType": "simple",
176
+ "sku": "K18090",
177
+ "currency": "EUR",
178
+ "price": "1.370000",
179
+ "priceLabel": "1,37€ al pubblico",
180
+ "title": "CAPPELLINO ZUCCOTTO DOPPIO STRATO IN ACRILICO MIMETICO",
181
+ "media": {
182
+ "type": "image",
183
+ "src": "https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18090.jpg"
184
+ },
185
+ "url": "https://www.siliconsrl.it/it/k18090-cappellino-zuccotto-doppio-strato-in-acrilico-mimetico",
186
+ "availability": "87",
187
+ "label": "Outlet"
188
+ },
189
+ {
190
+ "type": "productItem",
191
+ "id": "54617",
192
+ "productType": "configurable",
193
+ "sku": "K18053",
194
+ "currency": "EUR",
195
+ "price": "20.880000",
196
+ "priceLabel": "20,88€ al pubblico",
197
+ "title": "CAPPELLINO 6 PANNELLI SPORTY",
198
+ "abstract": "in cotone pesante pettinato con ricamo sulla visiera e sui pannelli laterali, chiusura regolabile con velcro.",
199
+ "media": {
200
+ "type": "image",
201
+ "src": "https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18053bl_1.jpg"
202
+ },
203
+ "url": "https://www.siliconsrl.it/it/k18053-cappellino-6-pannelli-sporty",
204
+ "availability": "54",
205
+ "label": "Outlet"
206
+ },
207
+ {
208
+ "type": "productItem",
209
+ "id": "58216",
210
+ "productType": "configurable",
211
+ "sku": "K18118",
212
+ "currency": "EUR",
213
+ "price": "21.060000",
214
+ "priceLabel": "21,06€ al pubblico",
215
+ "title": "CAPPELLINO MIRAMARE IN 100% COTONE",
216
+ "abstract": "in twill di cotone 16x12 di buona qualità.",
217
+ "media": {
218
+ "type": "image",
219
+ "src": "https://www.siliconsrl.it/media/catalog/product/cache/95f6a12655416b1764261bf00237b0fc/k/1/k18118b.jpg"
220
+ },
221
+ "url": "https://www.siliconsrl.it/it/k18118-cappellino-da-pescatore-a-falda-in-100-cotone",
222
+ "availability": "102",
223
+ "label": "Bestseller"
224
+ },
225
+ "Vuoi esplorare altre categorie di prodotti? Ecco alcune opzioni che potrebbero interessarti:\n",
226
+ "<div class=\"llm__pill\">Scrittura</div>\n",
227
+ "<div class=\"llm__pill\">Ufficio</div>\n",
228
+ "<div class=\"llm__pill\">Tecnologia</div>\n"
229
+ ]
230
+ },
231
+ {
232
+ "role": "user",
233
+ "chunks": [
234
+ "Come pulire il marmo del top?\n"
235
+ ]
236
+ },
237
+ {
238
+ "role": "assistant",
239
+ "chunks": [
240
+ "Fammi pensare...\n",
241
+ "ecco una lista di eventi:\n",
242
+ {
243
+ "type": "eventItem",
244
+ "id": "xxxx",
245
+ "title": "Percorri la Bicipolitana di Pesaro con i tuoi bambini",
246
+ "abstract": "Un’esperienza da non perdere se visiterai la città con i bambini, noleggia la tua bici e esplora Pesaro.",
247
+ "place": "Pesaro",
248
+ "url": "https://design.wslabs.it/llm",
249
+ "image": "https://design.wslabs.it/llm/default/bicipolitana.jpg",
250
+ "date": "15-16 giugno 2024",
251
+ "time": "ore 20:00"
252
+ },
253
+ {
254
+ "type": "eventItem",
255
+ "id": "100",
256
+ "title": "Non perderti The Magic Castle di Gradara!",
257
+ "abstract": "The Magic Castle, l’evento per famiglie che ogni estate trasforma magicamente lo splendido borgo di Gradara.",
258
+ "place": "Gradara",
259
+ "url": "https://design.wslabs.it/llm",
260
+ "image": "https://design.wslabs.it/llm/default/gradara.jpg",
261
+ "date": "15-16 giugno 2024",
262
+ "time": "ore 20:00"
263
+ },
264
+ {
265
+ "type": "eventItem",
266
+ "id": "xxxx",
267
+ "title": "Trekking e panorami mozzafiato al San Bartolo",
268
+ "abstract": "Scendendo lungo la costa Adriatica, si erge il San Bartolo, un meraviglioso parco naturale affacciato sul mare.",
269
+ "place": "Parco San Bartolo",
270
+ "url": "https://design.wslabs.it/llm",
271
+ "image": "https://design.wslabs.it/llm/default/san-bartolo.jpg",
272
+ "date": "15-16 giugno 2024",
273
+ "time": "ore 20:00"
274
+ },
275
+ "Per qualunque altra cosa sono qui. 🙂\n"
276
+ ]
277
+ },
278
+ {
279
+ "role": "user",
280
+ "chunks": [
281
+ "Che cos’è l'anta AIR\n"
282
+ ]
283
+ },
284
+ {
285
+ "role": "assistant",
286
+ "chunks": [
287
+ "Dammi un momento...\n",
288
+ "ecco un evento:\n",
289
+ {
290
+ "type": "event",
291
+ "id": "234",
292
+ "title": "Rossini Virtual 'Experience': esplora casa Rossini in AR",
293
+ "abstract": "Lasciati guidare dallo stesso Gioacchino nella sua casa e scopri la sua storia attraverso giocosi aneddoti in AR.",
294
+ "place": "Pesaro",
295
+ "url": "https://design.wslabs.it/llm",
296
+ "image": "https://picsum.photos/id/103/800/600",
297
+ "date": "15-16 giugno 2024",
298
+ "time": "ore 20:00"
299
+ },
300
+ "Serve altro?\n"
301
+ ]
302
+ },
303
+ {
304
+ "role": "user",
305
+ "chunks": [
306
+ "Differenze tra Obliqua e One?\n"
307
+ ]
308
+ },
309
+ {
310
+ "role": "assistant",
311
+ "chunks": [
312
+ "Bene!\n",
313
+ "ecco alcuni punti di interesse:\n",
314
+ {
315
+ "type": "poiItem",
316
+ "id": "111",
317
+ "title": "Title",
318
+ "abstract": "Lorem ipsum dolor sit amet.",
319
+ "place": "Place",
320
+ "image": "https://picsum.photos/id/102/800/600",
321
+ "url": "https://design.wslabs.it/llm",
322
+ "time": "time"
323
+ },
324
+ {
325
+ "type": "poiItem",
326
+ "id": "222",
327
+ "title": "Title",
328
+ "abstract": "Lorem ipsum dolor sit amet.",
329
+ "place": "Place",
330
+ "image": "https://picsum.photos/id/101/800/600",
331
+ "url": "https://design.wslabs.it/llm"
332
+ },
333
+ "Serve altro? 🙂\n"
334
+ ]
335
+ },
336
+ {
337
+ "role": "user",
338
+ "chunks": [
339
+ "Se ho poco spazio in casa che cucina mi consigli?\n"
340
+ ]
341
+ },
342
+ {
343
+ "role": "assistant",
344
+ "chunks": [
345
+ "Certo!\n",
346
+ "ecco un punto di interesse:\n",
347
+ {
348
+ "type": "poiItem",
349
+ "id": "111",
350
+ "title": "Title",
351
+ "abstract": "Lorem ipsum dolor sit amet.",
352
+ "place": "Place",
353
+ "image": "https://design.wslabs.it/llm/default/rossini.jpg",
354
+ "url": "https://design.wslabs.it/llm",
355
+ "time": "time"
356
+ },
357
+ "Serve altro? 🙂\n"
358
+ ]
359
+ },
360
+ {
361
+ "role": "user",
362
+ "chunks": [
363
+ "Quali sono le opzioni di personalizzazione per Soul?\n"
364
+ ]
365
+ },
366
+ {
367
+ "role": "assistant",
368
+ "chunks": [
369
+ "Dammi un secondo...\n",
370
+ "ecco alcuni ristoranti per te:\n",
371
+ {
372
+ "type": "tripadvisor",
373
+ "id": "xxxx",
374
+ "title": "L'Angolo di Mario",
375
+ "rating": 4.8,
376
+ "reviews": 2276,
377
+ "priceRange": "€€-€€€",
378
+ "cuisine": "Italiana, Pesce, Mediterranea",
379
+ "address": "Via Nazario Sauro, 61100 Pesaro PU",
380
+ "url": "https://design.wslabs.it/llm",
381
+ "book": "https://design.wslabs.it/llm",
382
+ "image": "https://design.wslabs.it/llm/default/tripadvisor-01.jpg"
383
+ },
384
+ {
385
+ "type": "tripadvisor",
386
+ "id": "xxxx",
387
+ "title": "L'Amo Osteria di Mare",
388
+ "rating": 4.2,
389
+ "reviews": 287,
390
+ "priceRange": "€€-€€€",
391
+ "cuisine": "Italiana, Pesce, Mediterranea",
392
+ "address": "Via Venturini 4/6, 61121 Pesaro PU",
393
+ "url": "https://design.wslabs.it/llm",
394
+ "book": "https://design.wslabs.it/llm",
395
+ "image": "https://design.wslabs.it/llm/default/tripadvisor-02.jpg"
396
+ }
397
+ ]
398
+ },
399
+ {
400
+ "role": "user",
401
+ "chunks": [
402
+ "Come pulire il marmo del top?\n"
403
+ ]
404
+ },
405
+ {
406
+ "role": "assistant",
407
+ "chunks": [
408
+ {
409
+ "type": "text",
410
+ "text": "Markdown\n"
411
+ },
412
+ {
413
+ "type": "text",
414
+ "text": " \n"
415
+ },
416
+ {
417
+ "type": "text",
418
+ "text": "Header 1 \n"
419
+ },
420
+ {
421
+ "type": "text",
422
+ "text": "======== \n"
423
+ },
424
+ {
425
+ "type": "text",
426
+ "text": " \n"
427
+ },
428
+ {
429
+ "type": "text",
430
+ "text": "Header 2 \n"
431
+ },
432
+ {
433
+ "type": "text",
434
+ "text": "-------- \n"
435
+ },
436
+ {
437
+ "type": "text",
438
+ "text": " \n"
439
+ },
440
+ {
441
+ "type": "text",
442
+ "text": "### Header 3 ### \n"
443
+ },
444
+ {
445
+ "type": "text",
446
+ "text": "#### Header 4 #### \n"
447
+ },
448
+ {
449
+ "type": "text",
450
+ "text": "##### Header 5 ##### \n"
451
+ },
452
+ {
453
+ "type": "text",
454
+ "text": "###### Header 6 ###### \n"
455
+ },
456
+ {
457
+ "type": "text",
458
+ "text": " \n"
459
+ },
460
+ {
461
+ "type": "text",
462
+ "text": "### Phrase Emphasis \n"
463
+ },
464
+ {
465
+ "type": "text",
466
+ "text": " \n"
467
+ },
468
+ {
469
+ "type": "text",
470
+ "text": "*italic* \n"
471
+ },
472
+ {
473
+ "type": "text",
474
+ "text": "**bold** \n"
475
+ },
476
+ {
477
+ "type": "text",
478
+ "text": "_italic_ \n"
479
+ },
480
+ {
481
+ "type": "text",
482
+ "text": "__bold__ \n"
483
+ },
484
+ {
485
+ "type": "text",
486
+ "text": " \n"
487
+ },
488
+ {
489
+ "type": "text",
490
+ "text": "### Links \n"
491
+ },
492
+ {
493
+ "type": "text",
494
+ "text": " \n"
495
+ },
496
+ {
497
+ "type": "text",
498
+ "text": "An [example](https://www.gmail.com/ \"Title\") \n"
499
+ },
500
+ {
501
+ "type": "text",
502
+ "text": " \n"
503
+ },
504
+ {
505
+ "type": "text",
506
+ "text": "### Images \n"
507
+ },
508
+ {
509
+ "type": "text",
510
+ "text": "![alt text](https://picsum.photos/id/104/800/600 \"Title\") \n"
511
+ },
512
+ {
513
+ "type": "text",
514
+ "text": " \n"
515
+ },
516
+ {
517
+ "type": "text",
518
+ "text": "### Lists \n"
519
+ },
520
+ {
521
+ "type": "text",
522
+ "text": " \n"
523
+ },
524
+ {
525
+ "type": "text",
526
+ "text": "1. Foo \n"
527
+ },
528
+ {
529
+ "type": "text",
530
+ "text": "2. Bar \n"
531
+ },
532
+ {
533
+ "type": "text",
534
+ "text": " \n"
535
+ },
536
+ {
537
+ "type": "text",
538
+ "text": "* A list item. \n"
539
+ },
540
+ {
541
+ "type": "text",
542
+ "text": " With multiple paragraphs. \n"
543
+ },
544
+ {
545
+ "type": "text",
546
+ "text": "* Bar \n"
547
+ },
548
+ {
549
+ "type": "text",
550
+ "text": "* Abacus \n"
551
+ },
552
+ {
553
+ "type": "text",
554
+ "text": " * answer \n"
555
+ },
556
+ {
557
+ "type": "text",
558
+ "text": "* Bubbles \n"
559
+ },
560
+ {
561
+ "type": "text",
562
+ "text": " 1. bunk \n"
563
+ },
564
+ {
565
+ "type": "text",
566
+ "text": " 2. bupkis \n"
567
+ },
568
+ {
569
+ "type": "text",
570
+ "text": " * BELITTLER \n"
571
+ },
572
+ {
573
+ "type": "text",
574
+ "text": " 3. burper \n"
575
+ },
576
+ {
577
+ "type": "text",
578
+ "text": "* Cunning \n"
579
+ },
580
+ {
581
+ "type": "text",
582
+ "text": " \n"
583
+ },
584
+ {
585
+ "type": "text",
586
+ "text": "### Blockquotes \n"
587
+ },
588
+ {
589
+ "type": "text",
590
+ "text": "> Email-style angle brackets \n"
591
+ },
592
+ {
593
+ "type": "text",
594
+ "text": "> are used for blockquotes. \n"
595
+ },
596
+ {
597
+ "type": "text",
598
+ "text": " \n"
599
+ },
600
+ {
601
+ "type": "text",
602
+ "text": "> > And, they can be nested. \n"
603
+ },
604
+ {
605
+ "type": "text",
606
+ "text": " \n"
607
+ },
608
+ {
609
+ "type": "text",
610
+ "text": "> ### Headers in blockquotes \n"
611
+ },
612
+ {
613
+ "type": "text",
614
+ "text": "> \n"
615
+ },
616
+ {
617
+ "type": "text",
618
+ "text": "> * You can quote a list. \n"
619
+ },
620
+ {
621
+ "type": "text",
622
+ "text": "> * Etc. \n"
623
+ },
624
+ {
625
+ "type": "text",
626
+ "text": " \n"
627
+ },
628
+ {
629
+ "type": "text",
630
+ "text": "### Code Spans \n"
631
+ },
632
+ {
633
+ "type": "text",
634
+ "text": "`<code>` spans are delimited by backticks. \n"
635
+ },
636
+ {
637
+ "type": "text",
638
+ "text": " \n"
639
+ },
640
+ {
641
+ "type": "text",
642
+ "text": "You can include literal backticks like `` `this` ``. \n"
643
+ },
644
+ {
645
+ "type": "text",
646
+ "text": " \n"
647
+ },
648
+ {
649
+ "type": "text",
650
+ "text": "### Preformatted Code Blocks \n"
651
+ },
652
+ {
653
+ "type": "text",
654
+ "text": " \n"
655
+ },
656
+ {
657
+ "type": "text",
658
+ "text": "This is a normal paragraph. \n"
659
+ },
660
+ {
661
+ "type": "text",
662
+ "text": " \n"
663
+ },
664
+ {
665
+ "type": "text",
666
+ "text": " This is a preformatted \n"
667
+ },
668
+ {
669
+ "type": "text",
670
+ "text": " code block. \n"
671
+ },
672
+ {
673
+ "type": "text",
674
+ "text": " \n"
675
+ },
676
+ {
677
+ "type": "text",
678
+ "text": "``` \n"
679
+ },
680
+ {
681
+ "type": "text",
682
+ "text": "function sum(a, b) { \n"
683
+ },
684
+ {
685
+ "type": "text",
686
+ "text": " return a + b; \n"
687
+ },
688
+ {
689
+ "type": "text",
690
+ "text": "} \n"
691
+ },
692
+ {
693
+ "type": "text",
694
+ "text": "``` \n"
695
+ },
696
+ {
697
+ "type": "text",
698
+ "text": " \n"
699
+ },
700
+ {
701
+ "type": "text",
702
+ "text": "### Horizontal Rules \n"
703
+ },
704
+ {
705
+ "type": "text",
706
+ "text": " \n"
707
+ },
708
+ {
709
+ "type": "text",
710
+ "text": "--- \n"
711
+ },
712
+ {
713
+ "type": "text",
714
+ "text": " \n"
715
+ },
716
+ {
717
+ "type": "text",
718
+ "text": "* * * \n"
719
+ },
720
+ {
721
+ "type": "text",
722
+ "text": " \n"
723
+ },
724
+ {
725
+ "type": "text",
726
+ "text": "- - - - \n"
727
+ },
728
+ {
729
+ "type": "text",
730
+ "text": " \n"
731
+ },
732
+ {
733
+ "type": "text",
734
+ "text": "### Manual Line Breaks \n"
735
+ },
736
+ {
737
+ "type": "text",
738
+ "text": " \n"
739
+ },
740
+ {
741
+ "type": "text",
742
+ "text": "Roses are red, \n"
743
+ },
744
+ {
745
+ "type": "text",
746
+ "text": "Violets are blue. \n"
747
+ },
748
+ {
749
+ "type": "text",
750
+ "text": " \n"
751
+ }
752
+ ]
753
+ }
754
+ ];
755
+
756
+ //# sourceMappingURL=thread.js.map