reachat 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/docs.json CHANGED
@@ -160,6 +160,25 @@
160
160
  "name": "boolean"
161
161
  }
162
162
  },
163
+ "disabled": {
164
+ "defaultValue": null,
165
+ "description": "Whether to disable the chat.",
166
+ "name": "disabled",
167
+ "parent": {
168
+ "fileName": "src/Chat.tsx",
169
+ "name": "ChatProps"
170
+ },
171
+ "declarations": [
172
+ {
173
+ "fileName": "src/Chat.tsx",
174
+ "name": "ChatProps"
175
+ }
176
+ ],
177
+ "required": false,
178
+ "type": {
179
+ "name": "boolean"
180
+ }
181
+ },
163
182
  "onSelectSession": {
164
183
  "defaultValue": null,
165
184
  "description": "Callback function to handle when a session is selected.",
@@ -216,6 +235,63 @@
216
235
  "type": {
217
236
  "name": "() => void"
218
237
  }
238
+ },
239
+ "onSendMessage": {
240
+ "defaultValue": null,
241
+ "description": "Callback function to handle sending a new message.",
242
+ "name": "onSendMessage",
243
+ "parent": {
244
+ "fileName": "src/Chat.tsx",
245
+ "name": "ChatProps"
246
+ },
247
+ "declarations": [
248
+ {
249
+ "fileName": "src/Chat.tsx",
250
+ "name": "ChatProps"
251
+ }
252
+ ],
253
+ "required": false,
254
+ "type": {
255
+ "name": "(message: string) => void"
256
+ }
257
+ },
258
+ "onStopMessage": {
259
+ "defaultValue": null,
260
+ "description": "Callback function to handle stopping the current action.",
261
+ "name": "onStopMessage",
262
+ "parent": {
263
+ "fileName": "src/Chat.tsx",
264
+ "name": "ChatProps"
265
+ },
266
+ "declarations": [
267
+ {
268
+ "fileName": "src/Chat.tsx",
269
+ "name": "ChatProps"
270
+ }
271
+ ],
272
+ "required": false,
273
+ "type": {
274
+ "name": "() => void"
275
+ }
276
+ },
277
+ "onFileUpload": {
278
+ "defaultValue": null,
279
+ "description": "Callback function to handle file upload.",
280
+ "name": "onFileUpload",
281
+ "parent": {
282
+ "fileName": "src/Chat.tsx",
283
+ "name": "ChatProps"
284
+ },
285
+ "declarations": [
286
+ {
287
+ "fileName": "src/Chat.tsx",
288
+ "name": "ChatProps"
289
+ }
290
+ ],
291
+ "required": false,
292
+ "type": {
293
+ "name": "(file: File) => void"
294
+ }
219
295
  }
220
296
  }
221
297
  },
@@ -345,77 +421,79 @@
345
421
  "type": {
346
422
  "name": "ReactElement<any, string | JSXElementConstructor<any>>"
347
423
  }
348
- },
349
- "onSendMessage": {
424
+ }
425
+ }
426
+ },
427
+ {
428
+ "tags": {},
429
+ "filePath": "src/Markdown/CodeHighlighter.tsx",
430
+ "description": "",
431
+ "displayName": "CodeHighlighter",
432
+ "methods": [],
433
+ "props": {
434
+ "className": {
350
435
  "defaultValue": null,
351
- "description": "Callback function to handle sending a new message.",
352
- "name": "onSendMessage",
436
+ "description": "The class name to apply to the code block.",
437
+ "name": "className",
353
438
  "parent": {
354
- "fileName": "src/ChatInput.tsx",
355
- "name": "ChatInputProps"
439
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
440
+ "name": "CodeHighlighterProps"
356
441
  },
357
442
  "declarations": [
358
443
  {
359
- "fileName": "src/ChatInput.tsx",
360
- "name": "ChatInputProps"
444
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
445
+ "name": "CodeHighlighterProps"
361
446
  }
362
447
  ],
363
448
  "required": false,
364
449
  "type": {
365
- "name": "(message: string) => void"
450
+ "name": "string"
366
451
  }
367
452
  },
368
- "onStopMessage": {
453
+ "language": {
369
454
  "defaultValue": null,
370
- "description": "Callback function to handle stopping the current action.",
371
- "name": "onStopMessage",
455
+ "description": "The language of the code block.",
456
+ "name": "language",
372
457
  "parent": {
373
- "fileName": "src/ChatInput.tsx",
374
- "name": "ChatInputProps"
458
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
459
+ "name": "CodeHighlighterProps"
375
460
  },
376
461
  "declarations": [
377
462
  {
378
- "fileName": "src/ChatInput.tsx",
379
- "name": "ChatInputProps"
463
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
464
+ "name": "CodeHighlighterProps"
380
465
  }
381
466
  ],
382
467
  "required": false,
383
468
  "type": {
384
- "name": "() => void"
469
+ "name": "string"
385
470
  }
386
471
  },
387
- "onFileUpload": {
472
+ "copyClassName": {
388
473
  "defaultValue": null,
389
- "description": "Callback function to handle file upload.",
390
- "name": "onFileUpload",
474
+ "description": "The class name to apply to the copy button.",
475
+ "name": "copyClassName",
391
476
  "parent": {
392
- "fileName": "src/ChatInput.tsx",
393
- "name": "ChatInputProps"
477
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
478
+ "name": "CodeHighlighterProps"
394
479
  },
395
480
  "declarations": [
396
481
  {
397
- "fileName": "src/ChatInput.tsx",
398
- "name": "ChatInputProps"
482
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
483
+ "name": "CodeHighlighterProps"
399
484
  }
400
485
  ],
401
486
  "required": false,
402
487
  "type": {
403
- "name": "(file: File) => void"
488
+ "name": "string"
404
489
  }
405
- }
406
- }
407
- },
408
- {
409
- "tags": {},
410
- "filePath": "src/Markdown/CodeHighlighter.tsx",
411
- "description": "",
412
- "displayName": "CodeHighlighter",
413
- "methods": [],
414
- "props": {
415
- "className": {
416
- "defaultValue": null,
417
- "description": "The class name to apply to the code block.",
418
- "name": "className",
490
+ },
491
+ "copyIcon": {
492
+ "defaultValue": {
493
+ "value": "<CopyIcon />"
494
+ },
495
+ "description": "Icon to show for copy.",
496
+ "name": "copyIcon",
419
497
  "parent": {
420
498
  "fileName": "src/Markdown/CodeHighlighter.tsx",
421
499
  "name": "CodeHighlighterProps"
@@ -428,7 +506,28 @@
428
506
  ],
429
507
  "required": false,
430
508
  "type": {
431
- "name": "string"
509
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
510
+ }
511
+ },
512
+ "theme": {
513
+ "defaultValue": {
514
+ "value": "{\n 'code[class*=\"language-\"]': {\n 'background': '#11111f',\n 'color': '#e2e8f0',\n 'textShadow': '0 1px rgba(0, 0, 0, 0.3)',\n 'fontFamily': '\"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace',\n 'direction': 'ltr',\n 'textAlign': 'left',\n 'whiteSpace': 'pre',\n 'wordSpacing': 'normal',\n 'wordBreak': 'normal',\n 'lineHeight': '1.5',\n 'MozTabSize': '2',\n 'OTabSize': '2',\n 'tabSize': '2',\n 'WebkitHyphens': 'none',\n 'MozHyphens': 'none',\n 'msHyphens': 'none',\n 'hyphens': 'none'\n },\n 'pre[class*=\"language-\"]': {\n 'background': '#11111f',\n 'color': '#e2e8f0',\n 'textShadow': '0 1px rgba(0, 0, 0, 0.3)',\n 'fontFamily': '\"Fira Code\", \"Fira Mono\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace',\n 'direction': 'ltr',\n 'textAlign': 'left',\n 'whiteSpace': 'pre',\n 'wordSpacing': 'normal',\n 'wordBreak': 'normal',\n 'lineHeight': '1.5',\n 'MozTabSize': '2',\n 'OTabSize': '2',\n 'tabSize': '2',\n 'WebkitHyphens': 'none',\n 'MozHyphens': 'none',\n 'msHyphens': 'none',\n 'hyphens': 'none',\n 'padding': '1em',\n 'margin': '0.5em 0',\n 'overflow': 'auto',\n 'borderRadius': '0.3em'\n },\n 'code[class*=\"language-\"]::-moz-selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n 'code[class*=\"language-\"] *::-moz-selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n 'pre[class*=\"language-\"] *::-moz-selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n 'code[class*=\"language-\"]::selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n 'code[class*=\"language-\"] *::selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n 'pre[class*=\"language-\"] *::selection': {\n 'background': '#1e293b',\n 'color': 'inherit',\n 'textShadow': 'none'\n },\n ':not(pre) > code[class*=\"language-\"]': {\n 'padding': '0.2em 0.3em',\n 'borderRadius': '0.3em',\n 'whiteSpace': 'normal'\n },\n 'comment': {\n 'color': '#64748b',\n 'fontStyle': 'italic'\n },\n 'prolog': {\n 'color': '#64748b'\n },\n 'cdata': {\n 'color': '#64748b'\n },\n 'doctype': {\n 'color': '#e2e8f0'\n },\n 'punctuation': {\n 'color': '#e2e8f0'\n },\n 'entity': {\n 'color': '#3b82f6',\n 'cursor': 'help'\n },\n 'attr-name': {\n 'color': '#f59e0b'\n },\n 'class-name': {\n 'color': '#f59e0b'\n },\n 'boolean': {\n 'color': '#3b82f6'\n },\n 'constant': {\n 'color': '#3b82f6'\n },\n 'number': {\n 'color': '#3b82f6'\n },\n 'atrule': {\n 'color': '#f59e0b'\n },\n 'keyword': {\n 'color': '#f472b6'\n },\n 'property': {\n 'color': '#3b82f6'\n },\n 'tag': {\n 'color': '#3b82f6'\n },\n 'symbol': {\n 'color': '#3b82f6'\n },\n 'deleted': {\n 'color': '#ef4444'\n },\n 'important': {\n 'color': '#f472b6'\n },\n 'selector': {\n 'color': '#10b981'\n },\n 'string': {\n 'color': '#10b981'\n },\n 'char': {\n 'color': '#10b981'\n },\n 'builtin': {\n 'color': '#10b981'\n },\n 'inserted': {\n 'color': '#10b981'\n },\n 'regex': {\n 'color': '#10b981'\n },\n 'attr-value': {\n 'color': '#10b981'\n },\n 'attr-value > .token.punctuation': {\n 'color': '#10b981'\n },\n 'variable': {\n 'color': '#60a5fa'\n },\n 'operator': {\n 'color': '#60a5fa'\n },\n 'function': {\n 'color': '#60a5fa'\n },\n 'url': {\n 'color': '#60a5fa'\n },\n 'attr-value > .token.punctuation.attr-equals': {\n 'color': '#e2e8f0'\n },\n 'special-attr > .token.attr-value > .token.value.css': {\n 'color': '#e2e8f0'\n },\n '.language-css .token.selector': {\n 'color': '#3b82f6'\n },\n '.language-css .token.property': {\n 'color': '#e2e8f0'\n },\n '.language-css .token.function': {\n 'color': '#60a5fa'\n },\n '.language-css .token.url > .token.function': {\n 'color': '#60a5fa'\n },\n '.language-css .token.url > .token.string.url': {\n 'color': '#10b981'\n },\n '.language-css .token.important': {\n 'color': '#f472b6'\n },\n '.language-css .token.atrule .token.rule': {\n 'color': '#f472b6'\n },\n '.language-javascript .token.operator': {\n 'color': '#f472b6'\n },\n '.language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation': {\n 'color': '#ef4444'\n },\n '.language-json .token.operator': {\n 'color': '#e2e8f0'\n },\n '.language-json .token.null.keyword': {\n 'color': '#3b82f6'\n },\n '.language-markdown .token.url': {\n 'color': '#e2e8f0'\n },\n '.language-markdown .token.url > .token.operator': {\n 'color': '#e2e8f0'\n },\n '.language-markdown .token.url-reference.url > .token.string': {\n 'color': '#e2e8f0'\n },\n '.language-markdown .token.url > .token.content': {\n 'color': '#60a5fa'\n },\n '.language-markdown .token.url > .token.url': {\n 'color': '#60a5fa'\n },\n '.language-markdown .token.url-reference.url': {\n 'color': '#60a5fa'\n },\n '.language-markdown .token.blockquote.punctuation': {\n 'color': '#64748b',\n 'fontStyle': 'italic'\n },\n '.language-markdown .token.hr.punctuation': {\n 'color': '#64748b',\n 'fontStyle': 'italic'\n },\n '.language-markdown .token.code-snippet': {\n 'color': '#10b981'\n },\n '.language-markdown .token.bold .token.content': {\n 'color': '#f59e0b'\n },\n '.language-markdown .token.italic .token.content': {\n 'color': '#f472b6'\n },\n '.language-markdown .token.strike .token.content': {\n 'color': '#3b82f6'\n },\n '.language-markdown .token.strike .token.punctuation': {\n 'color': '#3b82f6'\n },\n '.language-markdown .token.list.punctuation': {\n 'color': '#3b82f6'\n },\n '.language-markdown .token.title.important > .token.punctuation': {\n 'color': '#3b82f6'\n },\n 'bold': {\n 'fontWeight': 'bold'\n },\n 'italic': {\n 'fontStyle': 'italic'\n },\n 'namespace': {\n 'Opacity': '0.8'\n },\n 'token.tab:not(:empty):before': {\n 'color': '#64748b',\n 'textShadow': 'none'\n },\n 'token.cr:before': {\n 'color': '#64748b',\n 'textShadow': 'none'\n },\n 'token.lf:before': {\n 'color': '#64748b',\n 'textShadow': 'none'\n },\n 'token.space:before': {\n 'color': '#64748b',\n 'textShadow': 'none'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item': {\n 'marginRight': '0.4em'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > button': {\n 'background': '#1e293b',\n 'color': '#94a3b8',\n 'padding': '0.1em 0.4em',\n 'borderRadius': '0.3em'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > a': {\n 'background': '#1e293b',\n 'color': '#94a3b8',\n 'padding': '0.1em 0.4em',\n 'borderRadius': '0.3em'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > span': {\n 'background': '#1e293b',\n 'color': '#94a3b8',\n 'padding': '0.1em 0.4em',\n 'borderRadius': '0.3em'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n 'div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus': {\n 'background': '#3b82f6',\n 'color': '#ffffff'\n },\n '.line-highlight.line-highlight': {\n 'background': 'rgba(59, 130, 246, 0.08)'\n },\n '.line-highlight.line-highlight:before': {\n 'background': '#1e293b',\n 'color': '#e2e8f0',\n 'padding': '0.1em 0.6em',\n 'borderRadius': '0.3em',\n 'boxShadow': '0 2px 0 0 rgba(0, 0, 0, 0.2)'\n },\n '.line-highlight.line-highlight[data-end]:after': {\n 'background': '#1e293b',\n 'color': '#e2e8f0',\n 'padding': '0.1em 0.6em',\n 'borderRadius': '0.3em',\n 'boxShadow': '0 2px 0 0 rgba(0, 0, 0, 0.2)'\n },\n 'pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before': {\n 'backgroundColor': 'rgba(59, 130, 246, 0.08)'\n },\n '.line-numbers.line-numbers .line-numbers-rows': {\n 'borderRightColor': '#1e293b'\n },\n '.command-line .command-line-prompt': {\n 'borderRightColor': '#1e293b'\n },\n '.line-numbers .line-numbers-rows > span:before': {\n 'color': '#64748b'\n },\n '.command-line .command-line-prompt > span:before': {\n 'color': '#64748b'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-1': {\n 'color': '#3b82f6'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-5': {\n 'color': '#3b82f6'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-9': {\n 'color': '#3b82f6'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-2': {\n 'color': '#10b981'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-6': {\n 'color': '#10b981'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-10': {\n 'color': '#10b981'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-3': {\n 'color': '#60a5fa'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-7': {\n 'color': '#60a5fa'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-11': {\n 'color': '#60a5fa'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-4': {\n 'color': '#f472b6'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-8': {\n 'color': '#f472b6'\n },\n '.rainbow-braces .token.token.punctuation.brace-level-12': {\n 'color': '#f472b6'\n },\n 'pre.diff-highlight > code .token.token.deleted:not(.prefix)': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.15)'\n },\n 'pre > code.diff-highlight .token.token.deleted:not(.prefix)': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.15)'\n },\n 'pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection': {\n 'backgroundColor': 'rgba(239, 68, 68, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.inserted:not(.prefix)': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.15)'\n },\n 'pre > code.diff-highlight .token.token.inserted:not(.prefix)': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.15)'\n },\n 'pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n 'pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection': {\n 'backgroundColor': 'rgba(16, 185, 129, 0.25)'\n },\n '.prism-previewer.prism-previewer:before': {\n 'borderColor': '#11111f'\n },\n '.prism-previewer-gradient.prism-previewer-gradient div': {\n 'borderColor': '#11111f',\n 'borderRadius': '0.3em'\n },\n '.prism-previewer-color.prism-previewer-color:before': {\n 'borderRadius': '0.3em'\n },\n '.prism-previewer-easing.prism-previewer-easing:before': {\n 'borderRadius': '0.3em'\n },\n '.prism-previewer.prism-previewer:after': {\n 'borderTopColor': '#11111f'\n },\n '.prism-previewer-flipped.prism-previewer-flipped.after': {\n 'borderBottomColor': '#11111f'\n },\n '.prism-previewer-angle.prism-previewer-angle:before': {\n 'background': '#1e293b'\n },\n '.prism-previewer-time.prism-previewer-time:before': {\n 'background': '#1e293b'\n },\n '.prism-previewer-easing.prism-previewer-easing': {\n 'background': '#1e293b'\n },\n '.prism-previewer-angle.prism-previewer-angle circle': {\n 'stroke': '#e2e8f0',\n 'strokeOpacity': '1'\n },\n '.prism-previewer-time.prism-previewer-time circle': {\n 'stroke': '#e2e8f0',\n 'strokeOpacity': '1'\n },\n '.prism-previewer-easing.prism-previewer-easing circle': {\n 'stroke': '#e2e8f0',\n 'fill': 'transparent'\n },\n '.prism-previewer-easing.prism-previewer-easing path': {\n 'stroke': '#e2e8f0'\n },\n '.prism-previewer-easing.prism-previewer-easing line': {\n 'stroke': '#e2e8f0'\n }\n}"
515
+ },
516
+ "description": "The theme to use for the code block.",
517
+ "name": "theme",
518
+ "parent": {
519
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
520
+ "name": "CodeHighlighterProps"
521
+ },
522
+ "declarations": [
523
+ {
524
+ "fileName": "src/Markdown/CodeHighlighter.tsx",
525
+ "name": "CodeHighlighterProps"
526
+ }
527
+ ],
528
+ "required": false,
529
+ "type": {
530
+ "name": "Record<string, string>"
432
531
  }
433
532
  }
434
533
  }
@@ -489,651 +588,600 @@
489
588
  },
490
589
  {
491
590
  "tags": {},
492
- "filePath": "src/SessionMessages/MessageActions.tsx",
591
+ "filePath": "src/SessionMessages/SessionEmpty.tsx",
493
592
  "description": "",
494
- "displayName": "MessageActions",
593
+ "displayName": "SessionEmpty",
594
+ "methods": [],
595
+ "props": {}
596
+ },
597
+ {
598
+ "tags": {},
599
+ "filePath": "src/SessionMessages/SessionMessagePanel.tsx",
600
+ "description": "",
601
+ "displayName": "SessionMessagePanel",
602
+ "methods": [],
603
+ "props": {}
604
+ },
605
+ {
606
+ "tags": {},
607
+ "filePath": "src/SessionMessages/SessionMessages.tsx",
608
+ "description": "",
609
+ "displayName": "SessionMessages",
495
610
  "methods": [],
496
611
  "props": {
497
- "question": {
612
+ "newSessionContent": {
498
613
  "defaultValue": null,
499
- "description": "Question to be copied",
500
- "name": "question",
614
+ "description": "Content to display when there are no sessions selected or a new session is started.",
615
+ "name": "newSessionContent",
501
616
  "parent": {
502
- "fileName": "src/SessionMessages/MessageActions.tsx",
503
- "name": "MessageActionsProps"
617
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
618
+ "name": "SessionMessagesProps"
504
619
  },
505
620
  "declarations": [
506
621
  {
507
- "fileName": "src/SessionMessages/MessageActions.tsx",
508
- "name": "MessageActionsProps"
622
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
623
+ "name": "SessionMessagesProps"
509
624
  }
510
625
  ],
511
- "required": true,
626
+ "required": false,
512
627
  "type": {
513
- "name": "string"
628
+ "name": "ReactNode"
514
629
  }
515
630
  },
516
- "response": {
517
- "defaultValue": null,
518
- "description": "Response to be copied",
519
- "name": "response",
631
+ "limit": {
632
+ "defaultValue": {
633
+ "value": "10"
634
+ },
635
+ "description": "Limit the number of results returned. Clientside pagination.",
636
+ "name": "limit",
520
637
  "parent": {
521
- "fileName": "src/SessionMessages/MessageActions.tsx",
522
- "name": "MessageActionsProps"
638
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
639
+ "name": "SessionMessagesProps"
523
640
  },
524
641
  "declarations": [
525
642
  {
526
- "fileName": "src/SessionMessages/MessageActions.tsx",
527
- "name": "MessageActionsProps"
643
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
644
+ "name": "SessionMessagesProps"
528
645
  }
529
646
  ],
530
647
  "required": false,
531
648
  "type": {
532
- "name": "string"
649
+ "name": "number"
533
650
  }
534
651
  },
535
- "copyIcon": {
536
- "defaultValue": null,
537
- "description": "Icon to show for copy.",
538
- "name": "copyIcon",
652
+ "showMoreText": {
653
+ "defaultValue": {
654
+ "value": "Show more"
655
+ },
656
+ "description": "Text to display for the show more button.",
657
+ "name": "showMoreText",
539
658
  "parent": {
540
- "fileName": "src/SessionMessages/MessageActions.tsx",
541
- "name": "MessageActionsProps"
659
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
660
+ "name": "SessionMessagesProps"
542
661
  },
543
662
  "declarations": [
544
663
  {
545
- "fileName": "src/SessionMessages/MessageActions.tsx",
546
- "name": "MessageActionsProps"
664
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
665
+ "name": "SessionMessagesProps"
547
666
  }
548
667
  ],
549
668
  "required": false,
550
669
  "type": {
551
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
670
+ "name": "string"
552
671
  }
553
672
  },
554
- "thumbsUpIcon": {
673
+ "children": {
555
674
  "defaultValue": null,
556
- "description": "Icon to show for thumbs up.",
557
- "name": "thumbsUpIcon",
675
+ "description": "Render function for the session messages.",
676
+ "name": "children",
558
677
  "parent": {
559
- "fileName": "src/SessionMessages/MessageActions.tsx",
560
- "name": "MessageActionsProps"
678
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
679
+ "name": "SessionMessagesProps"
561
680
  },
562
681
  "declarations": [
563
682
  {
564
- "fileName": "src/SessionMessages/MessageActions.tsx",
565
- "name": "MessageActionsProps"
683
+ "fileName": "src/SessionMessages/SessionMessages.tsx",
684
+ "name": "SessionMessagesProps"
566
685
  }
567
686
  ],
568
687
  "required": false,
569
688
  "type": {
570
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
689
+ "name": "(conversations: Conversation[]) => ReactNode"
571
690
  }
572
- },
573
- "thumbsDownIcon": {
574
- "defaultValue": null,
575
- "description": "Icon to show for thumbs down.",
576
- "name": "thumbsDownIcon",
691
+ }
692
+ }
693
+ },
694
+ {
695
+ "tags": {},
696
+ "filePath": "src/SessionMessages/SessionMessagesHeader.tsx",
697
+ "description": "",
698
+ "displayName": "SessionMessagesHeader",
699
+ "methods": [],
700
+ "props": {}
701
+ },
702
+ {
703
+ "tags": {},
704
+ "filePath": "src/SessionsList/NewSessionButton.tsx",
705
+ "description": "",
706
+ "displayName": "NewSessionButton",
707
+ "methods": [],
708
+ "props": {
709
+ "newSessionText": {
710
+ "defaultValue": {
711
+ "value": "New Session"
712
+ },
713
+ "description": "Text for the new session button.",
714
+ "name": "newSessionText",
577
715
  "parent": {
578
- "fileName": "src/SessionMessages/MessageActions.tsx",
579
- "name": "MessageActionsProps"
716
+ "fileName": "src/SessionsList/NewSessionButton.tsx",
717
+ "name": "NewSessionButtonProps"
580
718
  },
581
719
  "declarations": [
582
720
  {
583
- "fileName": "src/SessionMessages/MessageActions.tsx",
584
- "name": "MessageActionsProps"
721
+ "fileName": "src/SessionsList/NewSessionButton.tsx",
722
+ "name": "NewSessionButtonProps"
585
723
  }
586
724
  ],
587
725
  "required": false,
588
726
  "type": {
589
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
727
+ "name": "ReactNode"
590
728
  }
591
- },
592
- "refreshIcon": {
729
+ }
730
+ }
731
+ },
732
+ {
733
+ "tags": {},
734
+ "filePath": "src/SessionsList/SessionGroups.tsx",
735
+ "description": "",
736
+ "displayName": "SessionGroups",
737
+ "methods": [],
738
+ "props": {
739
+ "children": {
593
740
  "defaultValue": null,
594
- "description": "Icon to show for refresh.",
595
- "name": "refreshIcon",
741
+ "description": "Render function for the session groups.",
742
+ "name": "children",
596
743
  "parent": {
597
- "fileName": "src/SessionMessages/MessageActions.tsx",
598
- "name": "MessageActionsProps"
744
+ "fileName": "src/SessionsList/SessionGroups.tsx",
745
+ "name": "SessionGroupsProps"
599
746
  },
600
747
  "declarations": [
601
748
  {
602
- "fileName": "src/SessionMessages/MessageActions.tsx",
603
- "name": "MessageActionsProps"
749
+ "fileName": "src/SessionsList/SessionGroups.tsx",
750
+ "name": "SessionGroupsProps"
604
751
  }
605
752
  ],
606
- "required": false,
753
+ "required": true,
607
754
  "type": {
608
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
755
+ "name": "(groups: GroupedSessions[]) => ReactNode"
609
756
  }
610
- },
611
- "onCopy": {
757
+ }
758
+ }
759
+ },
760
+ {
761
+ "tags": {},
762
+ "filePath": "src/SessionsList/SessionListItem.tsx",
763
+ "description": "",
764
+ "displayName": "SessionListItem",
765
+ "methods": [],
766
+ "props": {
767
+ "session": {
612
768
  "defaultValue": null,
613
- "description": "Callback function to handle copying.",
614
- "name": "onCopy",
769
+ "description": "Session to display.",
770
+ "name": "session",
615
771
  "parent": {
616
- "fileName": "src/SessionMessages/MessageActions.tsx",
617
- "name": "MessageActionsProps"
772
+ "fileName": "src/SessionsList/SessionListItem.tsx",
773
+ "name": "SessionListItemProps"
618
774
  },
619
775
  "declarations": [
620
776
  {
621
- "fileName": "src/SessionMessages/MessageActions.tsx",
622
- "name": "MessageActionsProps"
777
+ "fileName": "src/SessionsList/SessionListItem.tsx",
778
+ "name": "SessionListItemProps"
623
779
  }
624
780
  ],
625
- "required": false,
781
+ "required": true,
626
782
  "type": {
627
- "name": "() => void"
783
+ "name": "Session"
628
784
  }
629
785
  },
630
- "onUpvote": {
631
- "defaultValue": null,
632
- "description": "Callback function to handle upvoting.",
633
- "name": "onUpvote",
786
+ "deletable": {
787
+ "defaultValue": {
788
+ "value": "true"
789
+ },
790
+ "description": "Indicates whether the session is deletable.",
791
+ "name": "deletable",
634
792
  "parent": {
635
- "fileName": "src/SessionMessages/MessageActions.tsx",
636
- "name": "MessageActionsProps"
793
+ "fileName": "src/SessionsList/SessionListItem.tsx",
794
+ "name": "SessionListItemProps"
637
795
  },
638
796
  "declarations": [
639
797
  {
640
- "fileName": "src/SessionMessages/MessageActions.tsx",
641
- "name": "MessageActionsProps"
798
+ "fileName": "src/SessionsList/SessionListItem.tsx",
799
+ "name": "SessionListItemProps"
642
800
  }
643
801
  ],
644
802
  "required": false,
645
803
  "type": {
646
- "name": "() => void"
804
+ "name": "boolean"
647
805
  }
648
806
  },
649
- "onDownvote": {
650
- "defaultValue": null,
651
- "description": "Callback function to handle downvoting.",
652
- "name": "onDownvote",
807
+ "deleteIcon": {
808
+ "defaultValue": {
809
+ "value": "<TrashIcon />"
810
+ },
811
+ "description": "Icon to show for delete.",
812
+ "name": "deleteIcon",
653
813
  "parent": {
654
- "fileName": "src/SessionMessages/MessageActions.tsx",
655
- "name": "MessageActionsProps"
814
+ "fileName": "src/SessionsList/SessionListItem.tsx",
815
+ "name": "SessionListItemProps"
656
816
  },
657
817
  "declarations": [
658
818
  {
659
- "fileName": "src/SessionMessages/MessageActions.tsx",
660
- "name": "MessageActionsProps"
819
+ "fileName": "src/SessionsList/SessionListItem.tsx",
820
+ "name": "SessionListItemProps"
661
821
  }
662
822
  ],
663
823
  "required": false,
664
824
  "type": {
665
- "name": "() => void"
825
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
666
826
  }
667
827
  },
668
- "onRefresh": {
669
- "defaultValue": null,
670
- "description": "Callback function to handle refreshing.",
671
- "name": "onRefresh",
828
+ "limit": {
829
+ "defaultValue": {
830
+ "value": "100"
831
+ },
832
+ "description": "Limit for the ellipsis.",
833
+ "name": "limit",
672
834
  "parent": {
673
- "fileName": "src/SessionMessages/MessageActions.tsx",
674
- "name": "MessageActionsProps"
835
+ "fileName": "src/SessionsList/SessionListItem.tsx",
836
+ "name": "SessionListItemProps"
675
837
  },
676
838
  "declarations": [
677
839
  {
678
- "fileName": "src/SessionMessages/MessageActions.tsx",
679
- "name": "MessageActionsProps"
840
+ "fileName": "src/SessionsList/SessionListItem.tsx",
841
+ "name": "SessionListItemProps"
680
842
  }
681
843
  ],
682
844
  "required": false,
683
845
  "type": {
684
- "name": "() => void"
846
+ "name": "number"
685
847
  }
686
848
  }
687
849
  }
688
850
  },
689
851
  {
690
852
  "tags": {},
691
- "filePath": "src/SessionMessages/MessageFile.tsx",
853
+ "filePath": "src/SessionsList/SessionsGroup.tsx",
692
854
  "description": "",
693
- "displayName": "MessageFile",
855
+ "displayName": "SessionsGroup",
694
856
  "methods": [],
695
857
  "props": {
696
- "fileIcon": {
697
- "defaultValue": {
698
- "value": "<FileIcon />"
699
- },
700
- "description": "Icon to show for delete.",
701
- "name": "fileIcon",
858
+ "heading": {
859
+ "defaultValue": null,
860
+ "description": "Heading for the session group.",
861
+ "name": "heading",
702
862
  "parent": {
703
- "fileName": "src/SessionMessages/MessageFile.tsx",
704
- "name": "MessageFileProps"
863
+ "fileName": "src/SessionsList/SessionsGroup.tsx",
864
+ "name": "SessionsGroupProps"
705
865
  },
706
866
  "declarations": [
707
867
  {
708
- "fileName": "src/SessionMessages/MessageFile.tsx",
709
- "name": "MessageFileProps"
868
+ "fileName": "src/SessionsList/SessionsGroup.tsx",
869
+ "name": "SessionsGroupProps"
710
870
  }
711
871
  ],
712
872
  "required": false,
713
873
  "type": {
714
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
874
+ "name": "ReactNode"
715
875
  }
716
- },
717
- "limit": {
718
- "defaultValue": {
719
- "value": "100"
720
- },
721
- "description": "Limit for the name.",
722
- "name": "limit",
876
+ }
877
+ }
878
+ },
879
+ {
880
+ "tags": {},
881
+ "filePath": "src/SessionsList/SessionsList.tsx",
882
+ "description": "",
883
+ "displayName": "SessionsList",
884
+ "methods": [],
885
+ "props": {}
886
+ },
887
+ {
888
+ "tags": {},
889
+ "filePath": "src/SessionMessages/SessionMessage/MessageActions.tsx",
890
+ "description": "",
891
+ "displayName": "MessageActions",
892
+ "methods": [],
893
+ "props": {
894
+ "question": {
895
+ "defaultValue": null,
896
+ "description": "Question to be copied",
897
+ "name": "question",
723
898
  "parent": {
724
- "fileName": "src/SessionMessages/MessageFile.tsx",
725
- "name": "MessageFileProps"
899
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
900
+ "name": "MessageActionsProps"
726
901
  },
727
902
  "declarations": [
728
903
  {
729
- "fileName": "src/SessionMessages/MessageFile.tsx",
730
- "name": "MessageFileProps"
904
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
905
+ "name": "MessageActionsProps"
731
906
  }
732
907
  ],
733
- "required": false,
908
+ "required": true,
734
909
  "type": {
735
- "name": "number"
910
+ "name": "string"
736
911
  }
737
912
  },
738
- "name": {
913
+ "response": {
739
914
  "defaultValue": null,
740
- "description": "Name of the file",
741
- "name": "name",
915
+ "description": "Response to be copied",
916
+ "name": "response",
742
917
  "parent": {
743
- "fileName": "src/types.ts",
744
- "name": "ConversationFile"
918
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
919
+ "name": "MessageActionsProps"
745
920
  },
746
921
  "declarations": [
747
922
  {
748
- "fileName": "src/types.ts",
749
- "name": "ConversationFile"
923
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
924
+ "name": "MessageActionsProps"
750
925
  }
751
926
  ],
752
- "required": true,
927
+ "required": false,
753
928
  "type": {
754
929
  "name": "string"
755
930
  }
756
931
  },
757
- "type": {
932
+ "copyIcon": {
758
933
  "defaultValue": null,
759
- "description": "Type of the file",
760
- "name": "type",
934
+ "description": "Icon to show for copy.",
935
+ "name": "copyIcon",
761
936
  "parent": {
762
- "fileName": "src/types.ts",
763
- "name": "ConversationFile"
937
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
938
+ "name": "MessageActionsProps"
764
939
  },
765
940
  "declarations": [
766
941
  {
767
- "fileName": "src/types.ts",
768
- "name": "ConversationFile"
942
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
943
+ "name": "MessageActionsProps"
769
944
  }
770
945
  ],
771
946
  "required": false,
772
947
  "type": {
773
- "name": "string"
948
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
774
949
  }
775
950
  },
776
- "size": {
951
+ "thumbsUpIcon": {
777
952
  "defaultValue": null,
778
- "description": "Size of the file",
779
- "name": "size",
953
+ "description": "Icon to show for thumbs up.",
954
+ "name": "thumbsUpIcon",
780
955
  "parent": {
781
- "fileName": "src/types.ts",
782
- "name": "ConversationFile"
956
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
957
+ "name": "MessageActionsProps"
783
958
  },
784
959
  "declarations": [
785
960
  {
786
- "fileName": "src/types.ts",
787
- "name": "ConversationFile"
961
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
962
+ "name": "MessageActionsProps"
788
963
  }
789
964
  ],
790
965
  "required": false,
791
966
  "type": {
792
- "name": "number"
967
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
793
968
  }
794
969
  },
795
- "url": {
970
+ "thumbsDownIcon": {
796
971
  "defaultValue": null,
797
- "description": "URL of the file",
798
- "name": "url",
972
+ "description": "Icon to show for thumbs down.",
973
+ "name": "thumbsDownIcon",
799
974
  "parent": {
800
- "fileName": "src/types.ts",
801
- "name": "ConversationFile"
975
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
976
+ "name": "MessageActionsProps"
802
977
  },
803
978
  "declarations": [
804
979
  {
805
- "fileName": "src/types.ts",
806
- "name": "ConversationFile"
980
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
981
+ "name": "MessageActionsProps"
807
982
  }
808
983
  ],
809
984
  "required": false,
810
985
  "type": {
811
- "name": "string"
812
- }
813
- }
814
- }
815
- },
816
- {
817
- "tags": {},
818
- "filePath": "src/SessionMessages/MessageFiles.tsx",
819
- "description": "",
820
- "displayName": "MessageFiles",
821
- "methods": [],
822
- "props": {
823
- "files": {
824
- "defaultValue": null,
825
- "description": "Files to render.",
826
- "name": "files",
827
- "parent": {
828
- "fileName": "src/SessionMessages/MessageFiles.tsx",
829
- "name": "MessageFilesProps"
830
- },
831
- "declarations": [
832
- {
833
- "fileName": "src/SessionMessages/MessageFiles.tsx",
834
- "name": "MessageFilesProps"
835
- }
836
- ],
837
- "required": true,
838
- "type": {
839
- "name": "ConversationFile[]"
840
- }
841
- }
842
- }
843
- },
844
- {
845
- "tags": {},
846
- "filePath": "src/SessionMessages/MessageQuestion.tsx",
847
- "description": "",
848
- "displayName": "MessageQuestion",
849
- "methods": [],
850
- "props": {
851
- "question": {
852
- "defaultValue": null,
853
- "description": "Question to render.",
854
- "name": "question",
855
- "parent": {
856
- "fileName": "src/SessionMessages/MessageQuestion.tsx",
857
- "name": "MessageQuestionProps"
858
- },
859
- "declarations": [
860
- {
861
- "fileName": "src/SessionMessages/MessageQuestion.tsx",
862
- "name": "MessageQuestionProps"
863
- }
864
- ],
865
- "required": true,
866
- "type": {
867
- "name": "string"
868
- }
869
- }
870
- }
871
- },
872
- {
873
- "tags": {},
874
- "filePath": "src/SessionMessages/MessageResponse.tsx",
875
- "description": "",
876
- "displayName": "MessageResponse",
877
- "methods": [],
878
- "props": {
879
- "response": {
880
- "defaultValue": null,
881
- "description": "Response to render.",
882
- "name": "response",
883
- "parent": {
884
- "fileName": "src/SessionMessages/MessageResponse.tsx",
885
- "name": "MessageResponseProps"
886
- },
887
- "declarations": [
888
- {
889
- "fileName": "src/SessionMessages/MessageResponse.tsx",
890
- "name": "MessageResponseProps"
891
- }
892
- ],
893
- "required": true,
894
- "type": {
895
- "name": "string"
986
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
896
987
  }
897
988
  },
898
- "isLoading": {
989
+ "refreshIcon": {
899
990
  "defaultValue": null,
900
- "description": "Whether the response is loading.",
901
- "name": "isLoading",
991
+ "description": "Icon to show for refresh.",
992
+ "name": "refreshIcon",
902
993
  "parent": {
903
- "fileName": "src/SessionMessages/MessageResponse.tsx",
904
- "name": "MessageResponseProps"
994
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
995
+ "name": "MessageActionsProps"
905
996
  },
906
997
  "declarations": [
907
998
  {
908
- "fileName": "src/SessionMessages/MessageResponse.tsx",
909
- "name": "MessageResponseProps"
999
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1000
+ "name": "MessageActionsProps"
910
1001
  }
911
1002
  ],
912
1003
  "required": false,
913
1004
  "type": {
914
- "name": "boolean"
1005
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
915
1006
  }
916
- }
917
- }
918
- },
919
- {
920
- "tags": {},
921
- "filePath": "src/SessionMessages/MessageSource.tsx",
922
- "description": "",
923
- "displayName": "MessageSource",
924
- "methods": [],
925
- "props": {
926
- "limit": {
927
- "defaultValue": {
928
- "value": "50"
929
- },
930
- "description": "Limit for the title.",
931
- "name": "limit",
1007
+ },
1008
+ "onCopy": {
1009
+ "defaultValue": null,
1010
+ "description": "Callback function to handle copying.",
1011
+ "name": "onCopy",
932
1012
  "parent": {
933
- "fileName": "src/SessionMessages/MessageSource.tsx",
934
- "name": "MessageSourceProps"
1013
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1014
+ "name": "MessageActionsProps"
935
1015
  },
936
1016
  "declarations": [
937
1017
  {
938
- "fileName": "src/SessionMessages/MessageSource.tsx",
939
- "name": "MessageSourceProps"
1018
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1019
+ "name": "MessageActionsProps"
940
1020
  }
941
1021
  ],
942
1022
  "required": false,
943
1023
  "type": {
944
- "name": "number"
1024
+ "name": "() => void"
945
1025
  }
946
1026
  },
947
- "url": {
1027
+ "onUpvote": {
948
1028
  "defaultValue": null,
949
- "description": "URL of the source, if applicable",
950
- "name": "url",
1029
+ "description": "Callback function to handle upvoting.",
1030
+ "name": "onUpvote",
951
1031
  "parent": {
952
- "fileName": "src/types.ts",
953
- "name": "ConversationSource"
1032
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1033
+ "name": "MessageActionsProps"
954
1034
  },
955
1035
  "declarations": [
956
1036
  {
957
- "fileName": "src/types.ts",
958
- "name": "ConversationSource"
1037
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1038
+ "name": "MessageActionsProps"
959
1039
  }
960
1040
  ],
961
1041
  "required": false,
962
1042
  "type": {
963
- "name": "string"
1043
+ "name": "() => void"
964
1044
  }
965
1045
  },
966
- "title": {
1046
+ "onDownvote": {
967
1047
  "defaultValue": null,
968
- "description": "Title or description of the source",
969
- "name": "title",
1048
+ "description": "Callback function to handle downvoting.",
1049
+ "name": "onDownvote",
970
1050
  "parent": {
971
- "fileName": "src/types.ts",
972
- "name": "ConversationSource"
1051
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1052
+ "name": "MessageActionsProps"
973
1053
  },
974
1054
  "declarations": [
975
1055
  {
976
- "fileName": "src/types.ts",
977
- "name": "ConversationSource"
1056
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1057
+ "name": "MessageActionsProps"
978
1058
  }
979
1059
  ],
980
1060
  "required": false,
981
1061
  "type": {
982
- "name": "string"
1062
+ "name": "() => void"
983
1063
  }
984
1064
  },
985
- "image": {
1065
+ "onRefresh": {
986
1066
  "defaultValue": null,
987
- "description": "Image URL of the source, if applicable.",
988
- "name": "image",
1067
+ "description": "Callback function to handle refreshing.",
1068
+ "name": "onRefresh",
989
1069
  "parent": {
990
- "fileName": "src/types.ts",
991
- "name": "ConversationSource"
1070
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1071
+ "name": "MessageActionsProps"
992
1072
  },
993
1073
  "declarations": [
994
1074
  {
995
- "fileName": "src/types.ts",
996
- "name": "ConversationSource"
1075
+ "fileName": "src/SessionMessages/SessionMessage/MessageActions.tsx",
1076
+ "name": "MessageActionsProps"
997
1077
  }
998
1078
  ],
999
1079
  "required": false,
1000
1080
  "type": {
1001
- "name": "string"
1081
+ "name": "() => void"
1002
1082
  }
1003
1083
  }
1004
1084
  }
1005
1085
  },
1006
1086
  {
1007
1087
  "tags": {},
1008
- "filePath": "src/SessionMessages/MessageSources.tsx",
1088
+ "filePath": "src/SessionMessages/SessionMessage/MessageFile.tsx",
1009
1089
  "description": "",
1010
- "displayName": "MessageSources",
1090
+ "displayName": "MessageFile",
1011
1091
  "methods": [],
1012
1092
  "props": {
1013
- "sources": {
1014
- "defaultValue": null,
1015
- "description": "Sources to render.",
1016
- "name": "sources",
1093
+ "fileIcon": {
1094
+ "defaultValue": {
1095
+ "value": "<FileIcon />"
1096
+ },
1097
+ "description": "Icon to show for delete.",
1098
+ "name": "fileIcon",
1017
1099
  "parent": {
1018
- "fileName": "src/SessionMessages/MessageSources.tsx",
1019
- "name": "MessageSourcesProps"
1100
+ "fileName": "src/SessionMessages/SessionMessage/MessageFile.tsx",
1101
+ "name": "MessageFileProps"
1020
1102
  },
1021
1103
  "declarations": [
1022
1104
  {
1023
- "fileName": "src/SessionMessages/MessageSources.tsx",
1024
- "name": "MessageSourcesProps"
1105
+ "fileName": "src/SessionMessages/SessionMessage/MessageFile.tsx",
1106
+ "name": "MessageFileProps"
1025
1107
  }
1026
1108
  ],
1027
- "required": true,
1109
+ "required": false,
1028
1110
  "type": {
1029
- "name": "ConversationSource[]"
1111
+ "name": "ReactElement<any, string | JSXElementConstructor<any>>"
1030
1112
  }
1031
- }
1032
- }
1033
- },
1034
- {
1035
- "tags": {},
1036
- "filePath": "src/SessionMessages/SessionEmpty.tsx",
1037
- "description": "",
1038
- "displayName": "SessionEmpty",
1039
- "methods": [],
1040
- "props": {}
1041
- },
1042
- {
1043
- "tags": {},
1044
- "filePath": "src/SessionMessages/SessionMessage.tsx",
1045
- "description": "",
1046
- "displayName": "SessionMessage",
1047
- "methods": [],
1048
- "props": {
1049
- "conversation": {
1050
- "defaultValue": null,
1051
- "description": "Conversation to render.",
1052
- "name": "conversation",
1113
+ },
1114
+ "limit": {
1115
+ "defaultValue": {
1116
+ "value": "100"
1117
+ },
1118
+ "description": "Limit for the name.",
1119
+ "name": "limit",
1053
1120
  "parent": {
1054
- "fileName": "src/SessionMessages/SessionMessage.tsx",
1055
- "name": "SessionMessageProps"
1121
+ "fileName": "src/SessionMessages/SessionMessage/MessageFile.tsx",
1122
+ "name": "MessageFileProps"
1056
1123
  },
1057
1124
  "declarations": [
1058
1125
  {
1059
- "fileName": "src/SessionMessages/SessionMessage.tsx",
1060
- "name": "SessionMessageProps"
1126
+ "fileName": "src/SessionMessages/SessionMessage/MessageFile.tsx",
1127
+ "name": "MessageFileProps"
1061
1128
  }
1062
1129
  ],
1063
- "required": true,
1130
+ "required": false,
1064
1131
  "type": {
1065
- "name": "Conversation"
1132
+ "name": "number"
1066
1133
  }
1067
1134
  },
1068
- "isLast": {
1135
+ "name": {
1069
1136
  "defaultValue": null,
1070
- "description": "Whether the message is the last one in the list.",
1071
- "name": "isLast",
1137
+ "description": "Name of the file",
1138
+ "name": "name",
1072
1139
  "parent": {
1073
- "fileName": "src/SessionMessages/SessionMessage.tsx",
1074
- "name": "SessionMessageProps"
1140
+ "fileName": "src/types.ts",
1141
+ "name": "ConversationFile"
1075
1142
  },
1076
1143
  "declarations": [
1077
1144
  {
1078
- "fileName": "src/SessionMessages/SessionMessage.tsx",
1079
- "name": "SessionMessageProps"
1145
+ "fileName": "src/types.ts",
1146
+ "name": "ConversationFile"
1080
1147
  }
1081
1148
  ],
1082
- "required": false,
1149
+ "required": true,
1083
1150
  "type": {
1084
- "name": "boolean"
1151
+ "name": "string"
1085
1152
  }
1086
- }
1087
- }
1088
- },
1089
- {
1090
- "tags": {},
1091
- "filePath": "src/SessionMessages/SessionMessagePanel.tsx",
1092
- "description": "",
1093
- "displayName": "SessionMessagePanel",
1094
- "methods": [],
1095
- "props": {}
1096
- },
1097
- {
1098
- "tags": {},
1099
- "filePath": "src/SessionMessages/SessionMessages.tsx",
1100
- "description": "",
1101
- "displayName": "SessionMessages",
1102
- "methods": [],
1103
- "props": {
1104
- "newSessionContent": {
1153
+ },
1154
+ "type": {
1105
1155
  "defaultValue": null,
1106
- "description": "Content to display when there are no sessions selected or a new session is started.",
1107
- "name": "newSessionContent",
1156
+ "description": "Type of the file",
1157
+ "name": "type",
1108
1158
  "parent": {
1109
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1110
- "name": "SessionMessagesProps"
1159
+ "fileName": "src/types.ts",
1160
+ "name": "ConversationFile"
1111
1161
  },
1112
1162
  "declarations": [
1113
1163
  {
1114
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1115
- "name": "SessionMessagesProps"
1164
+ "fileName": "src/types.ts",
1165
+ "name": "ConversationFile"
1116
1166
  }
1117
1167
  ],
1118
1168
  "required": false,
1119
1169
  "type": {
1120
- "name": "ReactNode"
1170
+ "name": "string"
1121
1171
  }
1122
1172
  },
1123
- "limit": {
1124
- "defaultValue": {
1125
- "value": "10"
1126
- },
1127
- "description": "Limit the number of results returned. Clientside pagination.",
1128
- "name": "limit",
1173
+ "size": {
1174
+ "defaultValue": null,
1175
+ "description": "Size of the file",
1176
+ "name": "size",
1129
1177
  "parent": {
1130
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1131
- "name": "SessionMessagesProps"
1178
+ "fileName": "src/types.ts",
1179
+ "name": "ConversationFile"
1132
1180
  },
1133
1181
  "declarations": [
1134
1182
  {
1135
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1136
- "name": "SessionMessagesProps"
1183
+ "fileName": "src/types.ts",
1184
+ "name": "ConversationFile"
1137
1185
  }
1138
1186
  ],
1139
1187
  "required": false,
@@ -1141,239 +1189,290 @@
1141
1189
  "name": "number"
1142
1190
  }
1143
1191
  },
1144
- "showMoreText": {
1145
- "defaultValue": {
1146
- "value": "Show more"
1147
- },
1148
- "description": "Text to display for the show more button.",
1149
- "name": "showMoreText",
1192
+ "url": {
1193
+ "defaultValue": null,
1194
+ "description": "URL of the file",
1195
+ "name": "url",
1150
1196
  "parent": {
1151
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1152
- "name": "SessionMessagesProps"
1197
+ "fileName": "src/types.ts",
1198
+ "name": "ConversationFile"
1153
1199
  },
1154
1200
  "declarations": [
1155
1201
  {
1156
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1157
- "name": "SessionMessagesProps"
1202
+ "fileName": "src/types.ts",
1203
+ "name": "ConversationFile"
1158
1204
  }
1159
1205
  ],
1160
1206
  "required": false,
1161
1207
  "type": {
1162
1208
  "name": "string"
1163
1209
  }
1164
- },
1165
- "children": {
1210
+ }
1211
+ }
1212
+ },
1213
+ {
1214
+ "tags": {},
1215
+ "filePath": "src/SessionMessages/SessionMessage/MessageFiles.tsx",
1216
+ "description": "",
1217
+ "displayName": "MessageFiles",
1218
+ "methods": [],
1219
+ "props": {
1220
+ "files": {
1166
1221
  "defaultValue": null,
1167
- "description": "Render function for the session messages.",
1168
- "name": "children",
1222
+ "description": "Files to render.",
1223
+ "name": "files",
1169
1224
  "parent": {
1170
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1171
- "name": "SessionMessagesProps"
1225
+ "fileName": "src/SessionMessages/SessionMessage/MessageFiles.tsx",
1226
+ "name": "MessageFilesProps"
1172
1227
  },
1173
1228
  "declarations": [
1174
1229
  {
1175
- "fileName": "src/SessionMessages/SessionMessages.tsx",
1176
- "name": "SessionMessagesProps"
1230
+ "fileName": "src/SessionMessages/SessionMessage/MessageFiles.tsx",
1231
+ "name": "MessageFilesProps"
1177
1232
  }
1178
1233
  ],
1179
- "required": false,
1234
+ "required": true,
1180
1235
  "type": {
1181
- "name": "(conversations: Conversation[]) => ReactNode"
1236
+ "name": "ConversationFile[]"
1182
1237
  }
1183
1238
  }
1184
1239
  }
1185
1240
  },
1186
1241
  {
1187
1242
  "tags": {},
1188
- "filePath": "src/SessionMessages/SessionMessagesHeader.tsx",
1189
- "description": "",
1190
- "displayName": "SessionMessagesHeader",
1191
- "methods": [],
1192
- "props": {}
1193
- },
1194
- {
1195
- "tags": {},
1196
- "filePath": "src/SessionsList/NewSessionButton.tsx",
1243
+ "filePath": "src/SessionMessages/SessionMessage/MessageQuestion.tsx",
1197
1244
  "description": "",
1198
- "displayName": "NewSessionButton",
1245
+ "displayName": "MessageQuestion",
1199
1246
  "methods": [],
1200
1247
  "props": {
1201
- "newSessionText": {
1202
- "defaultValue": {
1203
- "value": "New Session"
1204
- },
1205
- "description": "Text for the new session button.",
1206
- "name": "newSessionText",
1248
+ "question": {
1249
+ "defaultValue": null,
1250
+ "description": "Question to render.",
1251
+ "name": "question",
1207
1252
  "parent": {
1208
- "fileName": "src/SessionsList/NewSessionButton.tsx",
1209
- "name": "NewSessionButtonProps"
1253
+ "fileName": "src/SessionMessages/SessionMessage/MessageQuestion.tsx",
1254
+ "name": "MessageQuestionProps"
1210
1255
  },
1211
1256
  "declarations": [
1212
1257
  {
1213
- "fileName": "src/SessionsList/NewSessionButton.tsx",
1214
- "name": "NewSessionButtonProps"
1258
+ "fileName": "src/SessionMessages/SessionMessage/MessageQuestion.tsx",
1259
+ "name": "MessageQuestionProps"
1215
1260
  }
1216
1261
  ],
1217
- "required": false,
1262
+ "required": true,
1218
1263
  "type": {
1219
- "name": "ReactNode"
1264
+ "name": "string"
1220
1265
  }
1221
1266
  }
1222
1267
  }
1223
1268
  },
1224
1269
  {
1225
1270
  "tags": {},
1226
- "filePath": "src/SessionsList/SessionGroups.tsx",
1271
+ "filePath": "src/SessionMessages/SessionMessage/MessageResponse.tsx",
1227
1272
  "description": "",
1228
- "displayName": "SessionGroups",
1273
+ "displayName": "MessageResponse",
1229
1274
  "methods": [],
1230
1275
  "props": {
1231
- "children": {
1276
+ "response": {
1232
1277
  "defaultValue": null,
1233
- "description": "Render function for the session groups.",
1234
- "name": "children",
1278
+ "description": "Response to render.",
1279
+ "name": "response",
1235
1280
  "parent": {
1236
- "fileName": "src/SessionsList/SessionGroups.tsx",
1237
- "name": "SessionGroupsProps"
1281
+ "fileName": "src/SessionMessages/SessionMessage/MessageResponse.tsx",
1282
+ "name": "MessageResponseProps"
1238
1283
  },
1239
1284
  "declarations": [
1240
1285
  {
1241
- "fileName": "src/SessionsList/SessionGroups.tsx",
1242
- "name": "SessionGroupsProps"
1286
+ "fileName": "src/SessionMessages/SessionMessage/MessageResponse.tsx",
1287
+ "name": "MessageResponseProps"
1243
1288
  }
1244
1289
  ],
1245
1290
  "required": true,
1246
1291
  "type": {
1247
- "name": "(groups: GroupedSessions[]) => ReactNode"
1292
+ "name": "string"
1293
+ }
1294
+ },
1295
+ "isLoading": {
1296
+ "defaultValue": null,
1297
+ "description": "Whether the response is loading.",
1298
+ "name": "isLoading",
1299
+ "parent": {
1300
+ "fileName": "src/SessionMessages/SessionMessage/MessageResponse.tsx",
1301
+ "name": "MessageResponseProps"
1302
+ },
1303
+ "declarations": [
1304
+ {
1305
+ "fileName": "src/SessionMessages/SessionMessage/MessageResponse.tsx",
1306
+ "name": "MessageResponseProps"
1307
+ }
1308
+ ],
1309
+ "required": false,
1310
+ "type": {
1311
+ "name": "boolean"
1248
1312
  }
1249
1313
  }
1250
1314
  }
1251
1315
  },
1252
1316
  {
1253
1317
  "tags": {},
1254
- "filePath": "src/SessionsList/SessionListItem.tsx",
1318
+ "filePath": "src/SessionMessages/SessionMessage/MessageSource.tsx",
1255
1319
  "description": "",
1256
- "displayName": "SessionListItem",
1320
+ "displayName": "MessageSource",
1257
1321
  "methods": [],
1258
1322
  "props": {
1259
- "session": {
1260
- "defaultValue": null,
1261
- "description": "Session to display.",
1262
- "name": "session",
1323
+ "limit": {
1324
+ "defaultValue": {
1325
+ "value": "50"
1326
+ },
1327
+ "description": "Limit for the title.",
1328
+ "name": "limit",
1263
1329
  "parent": {
1264
- "fileName": "src/SessionsList/SessionListItem.tsx",
1265
- "name": "SessionListItemProps"
1330
+ "fileName": "src/SessionMessages/SessionMessage/MessageSource.tsx",
1331
+ "name": "MessageSourceProps"
1266
1332
  },
1267
1333
  "declarations": [
1268
1334
  {
1269
- "fileName": "src/SessionsList/SessionListItem.tsx",
1270
- "name": "SessionListItemProps"
1335
+ "fileName": "src/SessionMessages/SessionMessage/MessageSource.tsx",
1336
+ "name": "MessageSourceProps"
1271
1337
  }
1272
1338
  ],
1273
- "required": true,
1339
+ "required": false,
1274
1340
  "type": {
1275
- "name": "Session"
1341
+ "name": "number"
1276
1342
  }
1277
1343
  },
1278
- "deletable": {
1279
- "defaultValue": {
1280
- "value": "true"
1281
- },
1282
- "description": "Indicates whether the session is deletable.",
1283
- "name": "deletable",
1344
+ "url": {
1345
+ "defaultValue": null,
1346
+ "description": "URL of the source, if applicable",
1347
+ "name": "url",
1284
1348
  "parent": {
1285
- "fileName": "src/SessionsList/SessionListItem.tsx",
1286
- "name": "SessionListItemProps"
1349
+ "fileName": "src/types.ts",
1350
+ "name": "ConversationSource"
1287
1351
  },
1288
1352
  "declarations": [
1289
1353
  {
1290
- "fileName": "src/SessionsList/SessionListItem.tsx",
1291
- "name": "SessionListItemProps"
1354
+ "fileName": "src/types.ts",
1355
+ "name": "ConversationSource"
1292
1356
  }
1293
1357
  ],
1294
1358
  "required": false,
1295
1359
  "type": {
1296
- "name": "boolean"
1360
+ "name": "string"
1297
1361
  }
1298
1362
  },
1299
- "deleteIcon": {
1300
- "defaultValue": {
1301
- "value": "<TrashIcon />"
1302
- },
1303
- "description": "Icon to show for delete.",
1304
- "name": "deleteIcon",
1363
+ "title": {
1364
+ "defaultValue": null,
1365
+ "description": "Title or description of the source",
1366
+ "name": "title",
1305
1367
  "parent": {
1306
- "fileName": "src/SessionsList/SessionListItem.tsx",
1307
- "name": "SessionListItemProps"
1368
+ "fileName": "src/types.ts",
1369
+ "name": "ConversationSource"
1308
1370
  },
1309
1371
  "declarations": [
1310
1372
  {
1311
- "fileName": "src/SessionsList/SessionListItem.tsx",
1312
- "name": "SessionListItemProps"
1373
+ "fileName": "src/types.ts",
1374
+ "name": "ConversationSource"
1313
1375
  }
1314
1376
  ],
1315
1377
  "required": false,
1316
1378
  "type": {
1317
- "name": "ReactElement<any, string | JSXElementConstructor<any>>"
1379
+ "name": "string"
1318
1380
  }
1319
1381
  },
1320
- "limit": {
1321
- "defaultValue": {
1322
- "value": "100"
1323
- },
1324
- "description": "Limit for the ellipsis.",
1325
- "name": "limit",
1382
+ "image": {
1383
+ "defaultValue": null,
1384
+ "description": "Image URL of the source, if applicable.",
1385
+ "name": "image",
1326
1386
  "parent": {
1327
- "fileName": "src/SessionsList/SessionListItem.tsx",
1328
- "name": "SessionListItemProps"
1387
+ "fileName": "src/types.ts",
1388
+ "name": "ConversationSource"
1329
1389
  },
1330
1390
  "declarations": [
1331
1391
  {
1332
- "fileName": "src/SessionsList/SessionListItem.tsx",
1333
- "name": "SessionListItemProps"
1392
+ "fileName": "src/types.ts",
1393
+ "name": "ConversationSource"
1334
1394
  }
1335
1395
  ],
1336
1396
  "required": false,
1337
1397
  "type": {
1338
- "name": "number"
1398
+ "name": "string"
1339
1399
  }
1340
1400
  }
1341
1401
  }
1342
1402
  },
1343
1403
  {
1344
1404
  "tags": {},
1345
- "filePath": "src/SessionsList/SessionsGroup.tsx",
1405
+ "filePath": "src/SessionMessages/SessionMessage/MessageSources.tsx",
1346
1406
  "description": "",
1347
- "displayName": "SessionsGroup",
1407
+ "displayName": "MessageSources",
1348
1408
  "methods": [],
1349
1409
  "props": {
1350
- "heading": {
1410
+ "sources": {
1351
1411
  "defaultValue": null,
1352
- "description": "Heading for the session group.",
1353
- "name": "heading",
1412
+ "description": "Sources to render.",
1413
+ "name": "sources",
1354
1414
  "parent": {
1355
- "fileName": "src/SessionsList/SessionsGroup.tsx",
1356
- "name": "SessionsGroupProps"
1415
+ "fileName": "src/SessionMessages/SessionMessage/MessageSources.tsx",
1416
+ "name": "MessageSourcesProps"
1357
1417
  },
1358
1418
  "declarations": [
1359
1419
  {
1360
- "fileName": "src/SessionsList/SessionsGroup.tsx",
1361
- "name": "SessionsGroupProps"
1420
+ "fileName": "src/SessionMessages/SessionMessage/MessageSources.tsx",
1421
+ "name": "MessageSourcesProps"
1362
1422
  }
1363
1423
  ],
1364
- "required": false,
1424
+ "required": true,
1365
1425
  "type": {
1366
- "name": "ReactNode"
1426
+ "name": "ConversationSource[]"
1367
1427
  }
1368
1428
  }
1369
1429
  }
1370
1430
  },
1371
1431
  {
1372
1432
  "tags": {},
1373
- "filePath": "src/SessionsList/SessionsList.tsx",
1433
+ "filePath": "src/SessionMessages/SessionMessage/SessionMessage.tsx",
1374
1434
  "description": "",
1375
- "displayName": "SessionsList",
1435
+ "displayName": "SessionMessage",
1376
1436
  "methods": [],
1377
- "props": {}
1437
+ "props": {
1438
+ "conversation": {
1439
+ "defaultValue": null,
1440
+ "description": "Conversation to render.",
1441
+ "name": "conversation",
1442
+ "parent": {
1443
+ "fileName": "src/SessionMessages/SessionMessage/SessionMessage.tsx",
1444
+ "name": "SessionMessageProps"
1445
+ },
1446
+ "declarations": [
1447
+ {
1448
+ "fileName": "src/SessionMessages/SessionMessage/SessionMessage.tsx",
1449
+ "name": "SessionMessageProps"
1450
+ }
1451
+ ],
1452
+ "required": true,
1453
+ "type": {
1454
+ "name": "Conversation"
1455
+ }
1456
+ },
1457
+ "isLast": {
1458
+ "defaultValue": null,
1459
+ "description": "Whether the message is the last one in the list.",
1460
+ "name": "isLast",
1461
+ "parent": {
1462
+ "fileName": "src/SessionMessages/SessionMessage/SessionMessage.tsx",
1463
+ "name": "SessionMessageProps"
1464
+ },
1465
+ "declarations": [
1466
+ {
1467
+ "fileName": "src/SessionMessages/SessionMessage/SessionMessage.tsx",
1468
+ "name": "SessionMessageProps"
1469
+ }
1470
+ ],
1471
+ "required": false,
1472
+ "type": {
1473
+ "name": "boolean"
1474
+ }
1475
+ }
1476
+ }
1378
1477
  }
1379
1478
  ]