@ckeditor/ckeditor5-ai 48.0.1 → 48.1.0-alpha.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 (195) hide show
  1. package/ckeditor5-metadata.json +1 -1
  2. package/dist/aiballoon/aiballoon.d.ts +8 -1
  3. package/dist/aichat/aichatcontroller.d.ts +15 -2
  4. package/dist/aichat/aichatui.d.ts +4 -3
  5. package/dist/aichat/model/aichatcontext.d.ts +99 -1
  6. package/dist/aichat/model/aichatconversation.d.ts +25 -3
  7. package/dist/aichat/model/aichatinteraction.d.ts +9 -0
  8. package/dist/aichat/ui/aichatfeedview.d.ts +12 -11
  9. package/dist/aichat/ui/aichatview.d.ts +3 -2
  10. package/dist/aichat/ui/controls/resources/aichatcontextresourcesview.d.ts +1 -1
  11. package/dist/aichat/ui/feed/aichatfeedsuggestionitemview.d.ts +1 -2
  12. package/dist/aichat/utils/eventnames.d.ts +1 -1
  13. package/dist/aichat/utils/promisequeue.d.ts +0 -3
  14. package/dist/aichathistory/aichathistoryui.d.ts +1 -6
  15. package/dist/aichathistory/ui/aichathistorylistitemview.d.ts +1 -0
  16. package/dist/aichathistory/ui/aichathistoryview.d.ts +3 -11
  17. package/dist/aiconfig.d.ts +8 -0
  18. package/dist/aicore/aiconnector.d.ts +37 -0
  19. package/dist/aicore/aiediting.d.ts +25 -12
  20. package/dist/aicore/model/aicontext.d.ts +18 -0
  21. package/dist/aicore/model/aiinteraction.d.ts +11 -3
  22. package/dist/aicore/model/aimodels.d.ts +6 -0
  23. package/dist/aicore/model/aireply.d.ts +25 -4
  24. package/dist/aicore/pipeline/airesponseapplier.d.ts +13 -0
  25. package/dist/{aichat/ui/aichatheaderview.d.ts → aicore/ui/aiheaderview.d.ts} +11 -9
  26. package/dist/aicore/ui/aiskeleton.d.ts +4 -0
  27. package/dist/aicore/ui/suggestioncontainer/aisuggestionbodyview.d.ts +11 -3
  28. package/dist/aicore/ui/suggestioncontainer/aisuggestioncontainerview.d.ts +1 -2
  29. package/dist/aicore/ui/suggestioncontainer/aisuggestioncontentpartview.d.ts +1 -3
  30. package/dist/aicore/utils/abortabletimeout.d.ts +16 -0
  31. package/dist/aicore/utils/createstartconversationbutton.d.ts +11 -0
  32. package/dist/aicore/utils/geteditorfromcontext.d.ts +13 -0
  33. package/dist/aicore/utils/getoperationsfromreply.d.ts +3 -1
  34. package/dist/aicore/utils/htmlstreamer.d.ts +10 -10
  35. package/dist/aicore/utils/scrollmanager.d.ts +5 -1
  36. package/dist/aiquickactions/aiquickactions.d.ts +7 -14
  37. package/dist/aiquickactions/aiquickactionsui.d.ts +1 -1
  38. package/dist/aiquickactions/ui/balloon/aiactionsballoonview.d.ts +1 -1
  39. package/dist/aireviewcore/aireviewcoreediting.d.ts +29 -3
  40. package/dist/aireviewcore/model/aireviewcheckrun.d.ts +2 -0
  41. package/dist/aitabs/aitabs.d.ts +1 -5
  42. package/dist/aitabs/tabs/aitabsview.d.ts +36 -0
  43. package/dist/aitranslate/ui/aitranslatecheckresultsview.d.ts +1 -1
  44. package/dist/index-content.css +1 -0
  45. package/dist/index-editor.css +258 -235
  46. package/dist/index.css +258 -235
  47. package/dist/index.d.ts +8 -8
  48. package/dist/index.js +6 -6
  49. package/dist/translations/af.js +1 -1
  50. package/dist/translations/af.umd.js +1 -1
  51. package/dist/translations/ar.js +1 -1
  52. package/dist/translations/ar.umd.js +1 -1
  53. package/dist/translations/ast.js +1 -1
  54. package/dist/translations/ast.umd.js +1 -1
  55. package/dist/translations/az.js +1 -1
  56. package/dist/translations/az.umd.js +1 -1
  57. package/dist/translations/be.js +1 -1
  58. package/dist/translations/be.umd.js +1 -1
  59. package/dist/translations/bg.js +1 -1
  60. package/dist/translations/bg.umd.js +1 -1
  61. package/dist/translations/bn.js +1 -1
  62. package/dist/translations/bn.umd.js +1 -1
  63. package/dist/translations/bs.js +1 -1
  64. package/dist/translations/bs.umd.js +1 -1
  65. package/dist/translations/ca.js +1 -1
  66. package/dist/translations/ca.umd.js +1 -1
  67. package/dist/translations/cs.js +1 -1
  68. package/dist/translations/cs.umd.js +1 -1
  69. package/dist/translations/da.js +1 -1
  70. package/dist/translations/da.umd.js +1 -1
  71. package/dist/translations/de-ch.js +1 -1
  72. package/dist/translations/de-ch.umd.js +1 -1
  73. package/dist/translations/de.js +1 -1
  74. package/dist/translations/de.umd.js +1 -1
  75. package/dist/translations/el.js +1 -1
  76. package/dist/translations/el.umd.js +1 -1
  77. package/dist/translations/en-au.js +1 -1
  78. package/dist/translations/en-au.umd.js +1 -1
  79. package/dist/translations/en-gb.js +1 -1
  80. package/dist/translations/en-gb.umd.js +1 -1
  81. package/dist/translations/en.js +1 -1
  82. package/dist/translations/en.umd.js +1 -1
  83. package/dist/translations/eo.js +1 -1
  84. package/dist/translations/eo.umd.js +1 -1
  85. package/dist/translations/es-co.js +1 -1
  86. package/dist/translations/es-co.umd.js +1 -1
  87. package/dist/translations/es.js +1 -1
  88. package/dist/translations/es.umd.js +1 -1
  89. package/dist/translations/et.js +1 -1
  90. package/dist/translations/et.umd.js +1 -1
  91. package/dist/translations/eu.js +1 -1
  92. package/dist/translations/eu.umd.js +1 -1
  93. package/dist/translations/fa.js +1 -1
  94. package/dist/translations/fa.umd.js +1 -1
  95. package/dist/translations/fi.js +1 -1
  96. package/dist/translations/fi.umd.js +1 -1
  97. package/dist/translations/fr.js +1 -1
  98. package/dist/translations/fr.umd.js +1 -1
  99. package/dist/translations/gl.js +1 -1
  100. package/dist/translations/gl.umd.js +1 -1
  101. package/dist/translations/gu.js +1 -1
  102. package/dist/translations/gu.umd.js +1 -1
  103. package/dist/translations/he.js +1 -1
  104. package/dist/translations/he.umd.js +1 -1
  105. package/dist/translations/hi.js +1 -1
  106. package/dist/translations/hi.umd.js +1 -1
  107. package/dist/translations/hr.js +1 -1
  108. package/dist/translations/hr.umd.js +1 -1
  109. package/dist/translations/hu.js +1 -1
  110. package/dist/translations/hu.umd.js +1 -1
  111. package/dist/translations/hy.js +1 -1
  112. package/dist/translations/hy.umd.js +1 -1
  113. package/dist/translations/id.js +1 -1
  114. package/dist/translations/id.umd.js +1 -1
  115. package/dist/translations/it.js +1 -1
  116. package/dist/translations/it.umd.js +1 -1
  117. package/dist/translations/ja.js +1 -1
  118. package/dist/translations/ja.umd.js +1 -1
  119. package/dist/translations/jv.js +1 -1
  120. package/dist/translations/jv.umd.js +1 -1
  121. package/dist/translations/kk.js +1 -1
  122. package/dist/translations/kk.umd.js +1 -1
  123. package/dist/translations/km.js +1 -1
  124. package/dist/translations/km.umd.js +1 -1
  125. package/dist/translations/kn.js +1 -1
  126. package/dist/translations/kn.umd.js +1 -1
  127. package/dist/translations/ko.js +1 -1
  128. package/dist/translations/ko.umd.js +1 -1
  129. package/dist/translations/ku.js +1 -1
  130. package/dist/translations/ku.umd.js +1 -1
  131. package/dist/translations/lt.js +1 -1
  132. package/dist/translations/lt.umd.js +1 -1
  133. package/dist/translations/lv.js +1 -1
  134. package/dist/translations/lv.umd.js +1 -1
  135. package/dist/translations/ms.js +1 -1
  136. package/dist/translations/ms.umd.js +1 -1
  137. package/dist/translations/nb.js +1 -1
  138. package/dist/translations/nb.umd.js +1 -1
  139. package/dist/translations/ne.js +1 -1
  140. package/dist/translations/ne.umd.js +1 -1
  141. package/dist/translations/nl.js +1 -1
  142. package/dist/translations/nl.umd.js +1 -1
  143. package/dist/translations/no.js +1 -1
  144. package/dist/translations/no.umd.js +1 -1
  145. package/dist/translations/oc.js +1 -1
  146. package/dist/translations/oc.umd.js +1 -1
  147. package/dist/translations/pl.js +1 -1
  148. package/dist/translations/pl.umd.js +1 -1
  149. package/dist/translations/pt-br.js +1 -1
  150. package/dist/translations/pt-br.umd.js +1 -1
  151. package/dist/translations/pt.js +1 -1
  152. package/dist/translations/pt.umd.js +1 -1
  153. package/dist/translations/ro.js +1 -1
  154. package/dist/translations/ro.umd.js +1 -1
  155. package/dist/translations/ru.js +1 -1
  156. package/dist/translations/ru.umd.js +1 -1
  157. package/dist/translations/si.js +1 -1
  158. package/dist/translations/si.umd.js +1 -1
  159. package/dist/translations/sk.js +1 -1
  160. package/dist/translations/sk.umd.js +1 -1
  161. package/dist/translations/sl.js +1 -1
  162. package/dist/translations/sl.umd.js +1 -1
  163. package/dist/translations/sq.js +1 -1
  164. package/dist/translations/sq.umd.js +1 -1
  165. package/dist/translations/sr-latn.js +1 -1
  166. package/dist/translations/sr-latn.umd.js +1 -1
  167. package/dist/translations/sr.js +1 -1
  168. package/dist/translations/sr.umd.js +1 -1
  169. package/dist/translations/sv.js +1 -1
  170. package/dist/translations/sv.umd.js +1 -1
  171. package/dist/translations/th.js +1 -1
  172. package/dist/translations/th.umd.js +1 -1
  173. package/dist/translations/ti.js +1 -1
  174. package/dist/translations/ti.umd.js +1 -1
  175. package/dist/translations/tk.js +1 -1
  176. package/dist/translations/tk.umd.js +1 -1
  177. package/dist/translations/tr.js +1 -1
  178. package/dist/translations/tr.umd.js +1 -1
  179. package/dist/translations/tt.js +1 -1
  180. package/dist/translations/tt.umd.js +1 -1
  181. package/dist/translations/ug.js +1 -1
  182. package/dist/translations/ug.umd.js +1 -1
  183. package/dist/translations/uk.js +1 -1
  184. package/dist/translations/uk.umd.js +1 -1
  185. package/dist/translations/ur.js +1 -1
  186. package/dist/translations/ur.umd.js +1 -1
  187. package/dist/translations/uz.js +1 -1
  188. package/dist/translations/uz.umd.js +1 -1
  189. package/dist/translations/vi.js +1 -1
  190. package/dist/translations/vi.umd.js +1 -1
  191. package/dist/translations/zh-cn.js +1 -1
  192. package/dist/translations/zh-cn.umd.js +1 -1
  193. package/dist/translations/zh.js +1 -1
  194. package/dist/translations/zh.umd.js +1 -1
  195. package/package.json +12 -12
package/dist/index.css CHANGED
@@ -332,203 +332,6 @@
332
332
  display: flex;
333
333
  }
334
334
 
335
- .ck.ck-button.ck-tab-button {
336
- cursor: pointer;
337
- border: 0;
338
- justify-content: center;
339
- padding: 0;
340
- }
341
-
342
- .ck.ck-button.ck-tab-button:active, .ck.ck-button.ck-tab-button:focus {
343
- box-shadow: none;
344
- }
345
-
346
- .ck.ck-button.ck-tab-button:not(.ck-disabled):hover {
347
- background-color: var(--ck-color-tab-button-active-background);
348
- }
349
-
350
- .ck.ck-button.ck-tab-button .ck.ck-icon {
351
- box-sizing: content-box;
352
- padding: var(--ck-tab-button-padding);
353
- color: var(--ck-color-tab-button-icon);
354
- }
355
-
356
- .ck.ck-button.ck-tab-button.ck-on {
357
- background-color: var(--ck-color-tab-button-active-background);
358
- color: var(--ck-color-tab-button-active-border);
359
- border: 0;
360
- }
361
-
362
- .ck.ck-button.ck-tab-button.ck-on .ck.ck-icon {
363
- color: var(--ck-color-tab-button-active-icon);
364
- background-color: var(--ck-color-tab-button-active-background);
365
- }
366
-
367
- .ck.ck-button.ck-tab-button.ck-tab-button_top.ck-on {
368
- border-bottom: 1px solid var(--ck-color-tab-button-active-icon);
369
- box-shadow: var(--ck-color-tab-button-active-icon) 0 1px 0 0;
370
- }
371
-
372
- .ck.ck-button.ck-tab-button.ck-tab-button_top.ck-on .ck.ck-icon {
373
- padding-bottom: calc(var(--ck-tab-button-padding) - 1px);
374
- }
375
-
376
- .ck.ck-button.ck-tab-button.ck-tab-button_left.ck-on {
377
- border-left: 0;
378
- border-right: 1px solid var(--ck-color-tab-button-active-icon);
379
- box-shadow: var(--ck-color-tab-button-active-icon) 1px 0 0 0;
380
- }
381
-
382
- .ck.ck-button.ck-tab-button.ck-tab-button_left.ck-on .ck.ck-icon {
383
- padding-right: calc(var(--ck-tab-button-padding) - 1px);
384
- }
385
-
386
- .ck.ck-button.ck-tab-button.ck-tab-button_right.ck-on {
387
- border-right: 0;
388
- border-left: 1px solid var(--ck-color-tab-button-active-icon);
389
- box-shadow: var(--ck-color-tab-button-active-icon) -1px 0 0 0;
390
- }
391
-
392
- .ck.ck-button.ck-tab-button.ck-tab-button_right.ck-on .ck.ck-icon {
393
- padding-left: calc(var(--ck-tab-button-padding) - 1px);
394
- }
395
-
396
- :root {
397
- --ck-tabs-buttons-container-buttons-vertical-spacing: 0;
398
- --ck-color-ai-tabs-panels-container-background: var(--ck-color-ai-white);
399
- --ck-color-ai-tabs-buttons-container-background: var(--ck-color-ai-gray-50);
400
- --ck-color-ai-tabs-tab-button-icon: var(--ck-color-ai-gray-600);
401
- --ck-color-ai-tabs-tab-button-active-icon: var(--ck-color-ai-gray-600);
402
- --ck-color-ai-tabs-tab-button-active-border: var(--ck-color-ai-gray-600);
403
- --ck-color-ai-tabs-tab-button-active-background: var(--ck-color-ai-gray-100);
404
- --ck-tab-button-padding: 12px;
405
- --ck-tab-button-gap: var(--ck-spacing-medium);
406
- --ck-tabs-panels-container-background: var(--ck-color-ai-tabs-panels-container-background);
407
- --ck-color-tabs-buttons-container-background: var(--ck-color-ai-tabs-buttons-container-background);
408
- --ck-color-tab-button-icon: var(--ck-color-ai-tabs-tab-button-icon);
409
- --ck-color-tab-button-active-icon: var(--ck-color-ai-tabs-tab-button-active-icon);
410
- --ck-color-tab-button-active-border: var(--ck-color-ai-tabs-tab-button-active-border);
411
- --ck-color-tab-button-active-background: var(--ck-color-ai-tabs-tab-button-active-background);
412
- }
413
-
414
- .ck.ck-tabs {
415
- font-size: var(--ck-font-size-base);
416
- border: 1px solid var(--ck-color-base-border);
417
- border-radius: var(--ck-border-radius);
418
- min-width: 0;
419
- display: flex;
420
- }
421
-
422
- .ck.ck-tabs.ck-tabs_top {
423
- flex-direction: column;
424
- }
425
-
426
- .ck.ck-tabs.ck-tabs_left {
427
- flex-direction: row;
428
- }
429
-
430
- .ck.ck-tabs.ck-tabs_right {
431
- flex-direction: row-reverse;
432
- }
433
-
434
- .ck.ck-tabs .ck-tabs__panels-container {
435
- background-color: var(--ck-tabs-panels-container-background);
436
- flex-grow: 1;
437
- min-width: 0;
438
- transition: width .8s ease-in-out, height .8s ease-in-out;
439
- }
440
-
441
- .ck.ck-tabs .ck-tabs__buttons-container {
442
- background-color: var(--ck-color-tabs-buttons-container-background);
443
- gap: var(--ck-tab-button-gap);
444
- display: flex;
445
- }
446
-
447
- .ck.ck-tabs .ck-tabs__buttons-container.ck-tabs__buttons-container_top {
448
- border-top: none;
449
- border-bottom: 1px solid var(--ck-color-base-border);
450
- flex-direction: row;
451
- }
452
-
453
- .ck.ck-tabs .ck-tabs__buttons-container.ck-tabs__buttons-container_left {
454
- border-left: none;
455
- border-right: 1px solid var(--ck-color-base-border);
456
- }
457
-
458
- .ck.ck-tabs .ck-tabs__buttons-container.ck-tabs__buttons-container_right {
459
- border-right: none;
460
- border-left: 1px solid var(--ck-color-base-border);
461
- }
462
-
463
- .ck.ck-tabs .ck-tabs__buttons-container.ck-tabs__buttons-container_left, .ck.ck-tabs .ck-tabs__buttons-container.ck-tabs__buttons-container_right {
464
- padding-top: var(--ck-tabs-buttons-container-buttons-vertical-spacing);
465
- padding-bottom: var(--ck-tabs-buttons-container-buttons-vertical-spacing);
466
- flex-direction: column;
467
- }
468
-
469
- :root {
470
- --ck-tabs-overlay-top-position: 0;
471
- --ck-tabs-overlay-right-position: 0;
472
- --ck-tabs-overlay-left-position: auto;
473
- --ck-tabs-overlay-bottom-position: auto;
474
- --ck-tabs-overlay-height: 100%;
475
- --ck-ai-tabs-overlay-width: 500px;
476
- --ck-ai-tabs-overlay-width-maximized: 50%;
477
- --ck-ai-tabs-overlay-z-index: calc(var(--ck-z-dialog) - 1);
478
- --ck-color-ai-tabs-overlay-tab-button-active-icon: var(--ck-color-ai-accent-700);
479
- --ck-color-ai-tabs-overlay-tab-button-active-border: var(--ck-color-ai-accent-700);
480
- }
481
-
482
- .ck.ck-tabs.ck-ai-tabs {
483
- --ck-tabs-buttons-container-buttons-vertical-spacing: 61.5px;
484
- --ck-color-tab-button-active-icon: var(--ck-color-ai-tabs-overlay-tab-button-active-icon);
485
- --ck-color-tab-button-active-border: var(--ck-color-ai-tabs-overlay-tab-button-active-border);
486
- }
487
-
488
- .ck.ck-tabs.ck-ai-tabs .ck-tab-panel {
489
- flex-direction: column;
490
- height: 100%;
491
- display: flex;
492
- }
493
-
494
- .ck.ck-tabs.ck-ai-tabs .ck-tab-panel > * {
495
- flex-grow: 1;
496
- }
497
-
498
- .ck.ck-tabs.ck-ai-tabs .ck-tab-panel.ck-tab-panel_disabled {
499
- pointer-events: none;
500
- opacity: .5;
501
- }
502
-
503
- .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay {
504
- height: var(--ck-tabs-overlay-height);
505
- top: var(--ck-tabs-overlay-top-position);
506
- right: var(--ck-tabs-overlay-right-position);
507
- left: var(--ck-tabs-overlay-left-position);
508
- bottom: var(--ck-tabs-overlay-bottom-position);
509
- z-index: var(--ck-ai-tabs-overlay-z-index);
510
- width: var(--ck-ai-tabs-overlay-width);
511
- border-top: 0;
512
- border-bottom: 0;
513
- border-radius: 0;
514
- transition: width .3s;
515
- position: fixed;
516
- }
517
-
518
- .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-ai-tabs_maximized {
519
- width: var(--ck-ai-tabs-overlay-width-maximized);
520
- }
521
-
522
- .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-tabs_left {
523
- --ck-tabs-overlay-right-position: auto;
524
- --ck-tabs-overlay-left-position: 0;
525
- border-left: 0;
526
- }
527
-
528
- .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-tabs_right {
529
- border-right: 0;
530
- }
531
-
532
335
  .ck.ck-button.ck-ai-tabs__resize.ck-on:not(:hover) {
533
336
  background-color: var(--ck-color-ai-button-tertiary-background);
534
337
  }
@@ -574,10 +377,6 @@
574
377
  background-color: var(--ck-color-ai-chat-shortcuts-shortcut-icon-hover-background);
575
378
  }
576
379
 
577
- .ck.ck-ai-chat__feed .ck.ck-ai-chat__feed__items {
578
- margin-top: auto;
579
- }
580
-
581
380
  .ck.ck-ai-chat__prompt-input.ck-search.ck-ai-chat__prompt-input_highlighted .ck.ck-input.ck-textarea {
582
381
  --ck-color-ai-chat-prompt-input-animation-background: var(--ck-color-ai-chat-shortcuts-prompt-highlight-background);
583
382
  animation: var(--ck-ai-chat-prompt-input-animation), var(--ck-ai-chat-shortcuts-prompt-input-animation);
@@ -606,6 +405,7 @@
606
405
 
607
406
  .ck.ck-ai-suggestion__container {
608
407
  border-radius: var(--ck-rounded-corners-radius);
408
+ border: 1px solid var(--ck-color-base-border);
609
409
  --ck-border-radius: 4px;
610
410
  position: relative;
611
411
  }
@@ -614,7 +414,7 @@
614
414
  border-radius: var(--ck-rounded-corners-radius);
615
415
  height: 3.23em;
616
416
  padding: 0 var(--ck-spacing-large);
617
- box-shadow: 0 0 3px 1px var(--ck-color-ai-chat-suggestion-container-header-shadow);
417
+ border-bottom: 1px solid var(--ck-color-base-border);
618
418
  z-index: 1;
619
419
  border-bottom-right-radius: 0;
620
420
  border-bottom-left-radius: 0;
@@ -675,15 +475,28 @@
675
475
  display: flex;
676
476
  }
677
477
 
678
- .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-parts:empty {
679
- display: none;
478
+ .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-parts > .ck-ai-skeleton {
479
+ --ck-ai-skeleton-gap: var(--ck-spacing-standard);
480
+ padding-top: calc(var(--ck-ai-skeleton-gap) + var(--ck-spacing-large));
481
+ padding-bottom: calc(var(--ck-ai-skeleton-gap) + var(--ck-spacing-large));
482
+ background-color: var(--ck-color-base-background);
483
+ border-radius: var(--ck-rounded-corners-radius);
484
+ align-items: flex-start;
485
+ transition-delay: 0s;
486
+ position: static;
487
+ }
488
+
489
+ .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-parts > .ck-ai-skeleton.ck-hidden {
490
+ transition-duration: 0s;
680
491
  }
681
492
 
682
493
  .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part {
683
494
  border-radius: var(--ck-rounded-corners-radius);
684
495
  padding: var(--ck-spacing-large);
685
496
  background: var(--ck-color-base-background);
497
+ opacity: 0;
686
498
  padding-top: 0;
499
+ animation: .2s ease-out forwards ck-ai-suggestion-content-part-fade-in;
687
500
  position: relative;
688
501
  }
689
502
 
@@ -708,15 +521,11 @@
708
521
  opacity: .5;
709
522
  }
710
523
 
711
- .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part:hover {
524
+ .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part_pending:hover {
712
525
  box-shadow: 0 1px 3px 1.5px var(--ck-color-ai-chat-suggestion-container-header-shadow);
713
526
  }
714
527
 
715
- .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part:hover .ck-ai-suggestion__body__content-part__title {
716
- color: var(--ck-color-ai-chat-primary-button-background);
717
- }
718
-
719
- .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part_pending:hover .ck-toolbar .ck-icon {
528
+ .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part_pending:hover .ck-ai-suggestion__body__content-part__title, .ck.ck-ai-suggestion__container .ck-ai-suggestion__body .ck-ai-suggestion__body__content-part_pending:hover .ck-toolbar .ck-icon {
720
529
  color: var(--ck-color-ai-chat-primary-button-background);
721
530
  }
722
531
 
@@ -730,6 +539,12 @@
730
539
  padding: var(--ck-spacing-standard);
731
540
  }
732
541
 
542
+ @keyframes ck-ai-suggestion-content-part-fade-in {
543
+ to {
544
+ opacity: 1;
545
+ }
546
+ }
547
+
733
548
  :root {
734
549
  --ck-color-ai-chat-feed-item-background: var(--ck-color-ai-gray-50);
735
550
  --ck-color-ai-chat-feed-item-background-secondary: var(--ck-color-ai-gray-50);
@@ -753,13 +568,14 @@
753
568
  overflow-y: auto;
754
569
  }
755
570
 
756
- .ck.ck-ai-chat__feed:has(.ck-ai-skeleton:not(.ck-hidden)) {
571
+ .ck.ck-ai-chat__feed:has( > .ck-ai-skeleton:not(.ck-hidden)) {
757
572
  overflow: hidden;
758
573
  }
759
574
 
760
575
  .ck.ck-ai-chat__feed .ck.ck-ai-chat__feed__items {
761
576
  gap: var(--ck-spacing-extra-large) 0;
762
577
  flex-direction: column;
578
+ margin-top: auto;
763
579
  display: flex;
764
580
  }
765
581
 
@@ -1932,6 +1748,234 @@ div.ck.ck-ai-suggestion__content-part-state.ck-ai-suggestion__content-part-state
1932
1748
  --ck-color-button-on-color: var(--ck-color-ai-toggle-on-text);
1933
1749
  }
1934
1750
 
1751
+ :root {
1752
+ --ck-tabs-overlay-top-position: 0;
1753
+ --ck-tabs-overlay-right-position: 0;
1754
+ --ck-tabs-overlay-left-position: auto;
1755
+ --ck-tabs-overlay-bottom-position: auto;
1756
+ --ck-tabs-overlay-height: 100%;
1757
+ --ck-ai-tabs-overlay-width: 500px;
1758
+ --ck-ai-tabs-overlay-width-maximized: 50%;
1759
+ --ck-ai-tabs-overlay-z-index: calc(var(--ck-z-dialog) - 1);
1760
+ --ck-color-ai-tabs-overlay-tab-button-active-icon: var(--ck-color-ai-accent-700);
1761
+ --ck-color-ai-tabs-overlay-tab-button-active-border: var(--ck-color-ai-accent-700);
1762
+ }
1763
+
1764
+ .ck-tab-panel {
1765
+ flex-direction: column;
1766
+ height: 100%;
1767
+ display: flex;
1768
+ }
1769
+
1770
+ .ck-tab-panel > * {
1771
+ flex-grow: 1;
1772
+ }
1773
+
1774
+ .ck-tab-panel.ck-tab-panel_disabled {
1775
+ pointer-events: none;
1776
+ opacity: var(--ck-disabled-opacity);
1777
+ }
1778
+
1779
+ .ck.ck-tabs.ck-ai-tabs {
1780
+ --ck-tabs-buttons-container-buttons-vertical-spacing: 61.5px;
1781
+ --ck-color-tab-button-active-icon: var(--ck-color-ai-tabs-overlay-tab-button-active-icon);
1782
+ --ck-color-tab-button-active-border: var(--ck-color-ai-tabs-overlay-tab-button-active-border);
1783
+ }
1784
+
1785
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed .ck-tabs__buttons-container {
1786
+ border: none;
1787
+ }
1788
+
1789
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed .ck-tabs__panels-container {
1790
+ flex-grow: 0;
1791
+ overflow: hidden;
1792
+ }
1793
+
1794
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_left, .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_right {
1795
+ width: fit-content;
1796
+ min-width: 0;
1797
+ }
1798
+
1799
+ :is(.ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_left, .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_right) .ck-tabs__panels-container {
1800
+ width: 0;
1801
+ }
1802
+
1803
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_top {
1804
+ height: fit-content;
1805
+ min-height: 0;
1806
+ }
1807
+
1808
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs_collapsed.ck-tabs_top .ck-tabs__panels-container {
1809
+ height: 0;
1810
+ }
1811
+
1812
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay {
1813
+ height: var(--ck-tabs-overlay-height);
1814
+ top: var(--ck-tabs-overlay-top-position);
1815
+ right: var(--ck-tabs-overlay-right-position);
1816
+ left: var(--ck-tabs-overlay-left-position);
1817
+ bottom: var(--ck-tabs-overlay-bottom-position);
1818
+ z-index: var(--ck-ai-tabs-overlay-z-index);
1819
+ width: var(--ck-ai-tabs-overlay-width);
1820
+ border-top: 0;
1821
+ border-bottom: 0;
1822
+ border-radius: 0;
1823
+ transition: width .3s;
1824
+ position: fixed;
1825
+ }
1826
+
1827
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-ai-tabs_maximized {
1828
+ width: var(--ck-ai-tabs-overlay-width-maximized);
1829
+ }
1830
+
1831
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-ai-tabs_collapsed {
1832
+ --ck-ai-tabs-overlay-width: 0;
1833
+ }
1834
+
1835
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-tabs_left {
1836
+ --ck-tabs-overlay-right-position: auto;
1837
+ --ck-tabs-overlay-left-position: 0;
1838
+ border-left: 0;
1839
+ }
1840
+
1841
+ .ck.ck-tabs.ck-ai-tabs.ck-ai-tabs__overlay.ck-tabs_right {
1842
+ border-right: 0;
1843
+ }
1844
+
1845
+ .ck.ck-button.ck-tab-button {
1846
+ cursor: pointer;
1847
+ border: 0;
1848
+ justify-content: center;
1849
+ padding: 0;
1850
+ }
1851
+
1852
+ .ck.ck-button.ck-tab-button:active, .ck.ck-button.ck-tab-button:focus {
1853
+ box-shadow: none;
1854
+ }
1855
+
1856
+ .ck.ck-button.ck-tab-button:not(.ck-disabled):hover {
1857
+ background-color: var(--ck-color-tab-button-active-background);
1858
+ }
1859
+
1860
+ .ck.ck-button.ck-tab-button .ck.ck-icon {
1861
+ box-sizing: content-box;
1862
+ padding: var(--ck-tab-button-padding);
1863
+ color: var(--ck-color-tab-button-icon);
1864
+ }
1865
+
1866
+ .ck.ck-button.ck-tab-button.ck-on {
1867
+ background-color: var(--ck-color-tab-button-active-background);
1868
+ color: var(--ck-color-tab-button-active-border);
1869
+ border: 0;
1870
+ }
1871
+
1872
+ .ck.ck-button.ck-tab-button.ck-on .ck.ck-icon {
1873
+ color: var(--ck-color-tab-button-active-icon);
1874
+ background-color: var(--ck-color-tab-button-active-background);
1875
+ }
1876
+
1877
+ .ck.ck-button.ck-tab-button.ck-tab-button_top.ck-on {
1878
+ border-bottom: 1px solid var(--ck-color-tab-button-active-icon);
1879
+ box-shadow: var(--ck-color-tab-button-active-icon) 0 1px 0 0;
1880
+ }
1881
+
1882
+ .ck.ck-button.ck-tab-button.ck-tab-button_top.ck-on .ck.ck-icon {
1883
+ padding-bottom: calc(var(--ck-tab-button-padding) - 1px);
1884
+ }
1885
+
1886
+ .ck.ck-button.ck-tab-button.ck-tab-button_left.ck-on {
1887
+ border-left: 0;
1888
+ border-right: 1px solid var(--ck-color-tab-button-active-icon);
1889
+ box-shadow: var(--ck-color-tab-button-active-icon) 1px 0 0 0;
1890
+ }
1891
+
1892
+ .ck.ck-button.ck-tab-button.ck-tab-button_left.ck-on .ck.ck-icon {
1893
+ padding-right: calc(var(--ck-tab-button-padding) - 1px);
1894
+ }
1895
+
1896
+ .ck.ck-button.ck-tab-button.ck-tab-button_right.ck-on {
1897
+ border-right: 0;
1898
+ border-left: 1px solid var(--ck-color-tab-button-active-icon);
1899
+ box-shadow: var(--ck-color-tab-button-active-icon) -1px 0 0 0;
1900
+ }
1901
+
1902
+ .ck.ck-button.ck-tab-button.ck-tab-button_right.ck-on .ck.ck-icon {
1903
+ padding-left: calc(var(--ck-tab-button-padding) - 1px);
1904
+ }
1905
+
1906
+ :root {
1907
+ --ck-tabs-buttons-container-buttons-vertical-spacing: 0;
1908
+ --ck-color-ai-tabs-panels-container-background: var(--ck-color-ai-white);
1909
+ --ck-color-ai-tabs-buttons-container-background: var(--ck-color-ai-gray-50);
1910
+ --ck-color-ai-tabs-tab-button-icon: var(--ck-color-ai-gray-600);
1911
+ --ck-color-ai-tabs-tab-button-active-icon: var(--ck-color-ai-accent-700);
1912
+ --ck-color-ai-tabs-tab-button-active-border: var(--ck-color-ai-accent-700);
1913
+ --ck-color-ai-tabs-tab-button-active-background: var(--ck-color-ai-gray-100);
1914
+ --ck-tab-button-padding: 12px;
1915
+ --ck-tab-button-gap: var(--ck-spacing-medium);
1916
+ --ck-tabs-panels-container-background: var(--ck-color-ai-tabs-panels-container-background);
1917
+ --ck-color-tabs-buttons-container-background: var(--ck-color-ai-tabs-buttons-container-background);
1918
+ --ck-color-tab-button-icon: var(--ck-color-ai-tabs-tab-button-icon);
1919
+ --ck-color-tab-button-active-icon: var(--ck-color-ai-tabs-tab-button-active-icon);
1920
+ --ck-color-tab-button-active-border: var(--ck-color-ai-tabs-tab-button-active-border);
1921
+ --ck-color-tab-button-active-background: var(--ck-color-ai-tabs-tab-button-active-background);
1922
+ }
1923
+
1924
+ .ck.ck-tabs {
1925
+ font-size: var(--ck-font-size-base);
1926
+ border: 1px solid var(--ck-color-base-border);
1927
+ border-radius: var(--ck-border-radius);
1928
+ min-width: 0;
1929
+ display: flex;
1930
+ }
1931
+
1932
+ .ck.ck-tabs.ck-tabs_top {
1933
+ flex-direction: column;
1934
+ }
1935
+
1936
+ .ck.ck-tabs.ck-tabs_left {
1937
+ flex-direction: row;
1938
+ }
1939
+
1940
+ .ck.ck-tabs.ck-tabs_right {
1941
+ flex-direction: row-reverse;
1942
+ }
1943
+
1944
+ .ck-tabs__panels-container {
1945
+ background-color: var(--ck-tabs-panels-container-background);
1946
+ flex-grow: 1;
1947
+ min-width: 0;
1948
+ transition: width .8s ease-in-out, height .8s ease-in-out;
1949
+ }
1950
+
1951
+ .ck-tabs__buttons-container {
1952
+ background-color: var(--ck-color-tabs-buttons-container-background);
1953
+ gap: var(--ck-tab-button-gap);
1954
+ display: flex;
1955
+ }
1956
+
1957
+ .ck-tabs__buttons-container.ck-tabs__buttons-container_top {
1958
+ border-top: none;
1959
+ border-bottom: 1px solid var(--ck-color-base-border);
1960
+ flex-direction: row;
1961
+ }
1962
+
1963
+ .ck-tabs__buttons-container.ck-tabs__buttons-container_left {
1964
+ border-left: none;
1965
+ border-right: 1px solid var(--ck-color-base-border);
1966
+ }
1967
+
1968
+ .ck-tabs__buttons-container.ck-tabs__buttons-container_right {
1969
+ border-right: none;
1970
+ border-left: 1px solid var(--ck-color-base-border);
1971
+ }
1972
+
1973
+ .ck-tabs__buttons-container.ck-tabs__buttons-container_left, .ck-tabs__buttons-container.ck-tabs__buttons-container_right {
1974
+ padding-top: var(--ck-tabs-buttons-container-buttons-vertical-spacing);
1975
+ padding-bottom: var(--ck-tabs-buttons-container-buttons-vertical-spacing);
1976
+ flex-direction: column;
1977
+ }
1978
+
1935
1979
  :root {
1936
1980
  --ai-skeleton-z-index: calc(var(--ck-z-default) + 1);
1937
1981
  --ck-color-ai-core-skeleton-gradient-edge: var(--ck-color-ai-gray-25);
@@ -2174,22 +2218,6 @@ div.ck.ck-ai-suggestion__content-part-state.ck-ai-suggestion__content-part-state
2174
2218
  line-height: 1.85em;
2175
2219
  }
2176
2220
 
2177
- .ck .ck-ai-chat-history .ck-ai-chat-history__empty .ck-ai-chat__start-conversation {
2178
- min-height: unset;
2179
- font-size: 11.7px;
2180
- }
2181
-
2182
- .ck .ck-ai-chat-history .ck-ai-chat-history__empty .ck-ai-chat__start-conversation > .ck-button__label {
2183
- line-height: 1.4em;
2184
- }
2185
-
2186
- .ck .ck-ai-chat-history .ck-ai-chat-history__empty .ck-ai-chat__start-conversation > .ck.ck-icon.ck-button__icon {
2187
- --ck-icon-font-size: .632em;
2188
- --ck-icon-size: calc(1.84615 * 1em);
2189
- color: var(--ck-color-ai-chat-text);
2190
- margin-inline-end: 0;
2191
- }
2192
-
2193
2221
  .ck .ck-ai-chat-history .ck-confirm-view {
2194
2222
  --ck-icon-font-size: .666em;
2195
2223
  --ck-ui-component-min-height: 1.7em;
@@ -2442,6 +2470,7 @@ div.ck.ck-ai-suggestion__content-part-state.ck-ai-suggestion__content-part-state
2442
2470
 
2443
2471
  .ck.ck-content.ck-ai-suggestion-streamable-content {
2444
2472
  padding: 0;
2473
+ overflow-x: auto;
2445
2474
  }
2446
2475
 
2447
2476
  .ck.ck-content.ck-ai-suggestion-streamable-content :first-child {
@@ -3240,21 +3269,15 @@ div.ck.ck-ai-suggestion__content-part-state.ck-ai-suggestion__content-part-state
3240
3269
  display: flex;
3241
3270
  }
3242
3271
 
3243
- .ck.ck-ai-review .ck-ai_review__check-run .ck-ai_review__check-run-results-wrapper {
3272
+ .ck.ck-ai-review .ck-ai_review__check-run .ck-ai_review__check-run-results-container {
3244
3273
  height: 100%;
3245
- position: relative;
3246
3274
  overflow: auto;
3247
3275
  }
3248
3276
 
3249
- .ck.ck-ai-review .ck-ai_review__check-run .ck-ai_review__check-run-results-wrapper:has(.ck-ai_review__check-run-skeleton-container:not(.ck-hidden)) {
3250
- overflow: hidden;
3251
- }
3252
-
3253
3277
  .ck.ck-ai-review .ck-ai_review__check-run .ck-ai_review__check-run-skeleton-container {
3254
3278
  width: 100%;
3255
3279
  height: 100%;
3256
- position: absolute;
3257
- top: 0;
3280
+ overflow: hidden;
3258
3281
  }
3259
3282
 
3260
3283
  .ck.ck-ai-review .ck-ai_review__check-run .ck-ai_review__check-run-skeleton-container .ck-ai_review__check-run-skeleton-item {
package/dist/index.d.ts CHANGED
@@ -22,24 +22,24 @@ export { AIChatController, type AIChatFeedAPI, type AIToolEventCallback, type AI
22
22
  export { AIEditing } from './aicore/aiediting.js';
23
23
  export { AIChatUI } from './aichat/aichatui.js';
24
24
  export { type AISuggestionActionName } from './aichat/ui/feed/aichatfeedsuggestionitemactionsview.js';
25
- export { type AIChatFeedCustomElementView, type AIChatFeedCustomElementViewOptions } from './aichat/ui/feed/aichatfeedcustomelementview.js';
25
+ export { AIChatFeedCustomElementView, type AIChatFeedCustomElementViewOptions } from './aichat/ui/feed/aichatfeedcustomelementview.js';
26
26
  export { AIEditorIntegration } from './aieditorintegration/aieditorintegration.js';
27
27
  export { AIToggleButtonUI } from './aieditorintegration/aitogglebutton/aitogglebuttonui.js';
28
28
  export { ToggleAICommand } from './aieditorintegration/aitogglebutton/toggleaicommand.js';
29
- export { type AITabsMainView, type AITabsMainViewOptions } from './aitabs/aitabsmainview.js';
30
- export { type AITabsView, type AITabsAddTabOptions, type AITabsViewOptions } from './aitabs/tabs/aitabsview.js';
29
+ export { AITabsMainView, type AITabsMainViewOptions } from './aitabs/aitabsmainview.js';
30
+ export { AITabsView, type AITabsAddTabOptions, type AITabsViewOptions, type AITabsActivateTabEvent } from './aitabs/tabs/aitabsview.js';
31
31
  export { type AIResizedTabsEvent, type AIResizeTabsEvent } from './aitabs/aitabs.js';
32
32
  export { type AIChatContextConfig, type AIAddContextOptionsState, type AIChatContextItemAddedEvent, type AIChatContextItemRemovedEvent, type AIChatContextSentEvent, type AIChatContextAddContextOptionsChangedEvent, type AIContextProvider, type AIContextResource, type AIContextResourceState, type AIContextProviderState, type AIContextTextResource, type AIContextCustomItem, type AIChatContextUploadProgressChangedEvent } from './aichat/model/aichatcontext.js';
33
- export { type AIContextItemType, type AIContextItemRequestData, type AIContextItem, type AIContextTextResourceType } from './aicore/model/aicontext.js';
33
+ export { type AIContextItemType, type AIContextItemRequestData, type AIContextItem, type AIContextTextResourceType, type AIDataIdDocumentSource, type AIDocumentContextSlice } from './aicore/model/aicontext.js';
34
34
  export { type AIModelsConfig } from './aicore/model/aimodels.js';
35
- export { type AIToolData, type AIInteraction, type AIInteractionOptions, type AIInteractionStartedEvent, type AIInteractionStoppedEvent, type AIInteractionFinishedEvent, type AIInteractionDestroyedEvent, type AIInteractionReplyCreatedEvent } from './aicore/model/aiinteraction.js';
36
- export { type AIReply, type AIReplyType, type AIReplyContentUpdatedEvent, type AIReplyHotNode, type AIReplyChangeGroup, type AIReplyChangeGroupState } from './aicore/model/aireply.js';
35
+ export { type AIToolData, AIInteraction, type AIInteractionOptions, type AIInteractionStartedEvent, type AIInteractionStoppedEvent, type AIInteractionFinishedEvent, type AIInteractionDestroyedEvent, type AIInteractionReplyCreatedEvent } from './aicore/model/aiinteraction.js';
36
+ export { AIReply, type AIReplyType, type AIReplyContentUpdatedEvent, type AIReplyHotNode, type AIReplyChangeGroup, type AIReplyChangeGroupState } from './aicore/model/aireply.js';
37
37
  export { type AIGenericRequest, type AIConversationStartReply, type AIConversationStartRequest, type AIConnectorReply, type AIConnectorRequest, type AIConnectorQueryAssistantData, type AIUploadReply, type AIUploadRequest, type AIModelData, type AIModelRequest, type AIFetchDocumentReply, type AIFetchDocumentRequest, type AIConversationItem, type AIFetchConversationsRequest, type AIDeleteConversationRequest, type AIUserMessage, type AIUserMessageContent, type AIAssistantMessage, type AIConversationMessage, type AIGetConversationReply, type AIGetConversationRequest, type AIGetConversationMessagesRequest, type AIUpdateConversationRequest, type AIDeleteFileRequest, type AIDeleteDocumentRequest, type AIDeleteWebResourceRequest, type AIConnectorExecuteActionData, type AIConnectorExecuteCustomActionData, type AIConnectorSystemReviewData, type AIConnectorCustomReviewData, type AIUpdateRating, type AIRating, type AISource } from './aicore/aiconnector.js';
38
38
  export { type AIChatUIStartConversationEvent, type AIChatUISendUserMessageEvent, type AIChatUIAbortPromptStreamEvent, type AIChatUIAddDocumentToContextEvent, type AIChatUIAddFileToContextEvent, type AIChatUIRemoveContextItemEvent } from './aichat/aichatui.js';
39
39
  export { AIChatHistory } from './aichathistory/aichathistory.js';
40
40
  export { AIChatHistoryController } from './aichathistory/aichathistorycontroller.js';
41
41
  export { AIChatHistoryUI, type AIChatHistoryItemData, type AIChatHistoryCategoryData } from './aichathistory/aichathistoryui.js';
42
- export { type AIChatInteraction, type AIChatInteractionOptions } from './aichat/model/aichatinteraction.js';
42
+ export { AIChatInteraction, type AIChatInteractionOptions } from './aichat/model/aichatinteraction.js';
43
43
  export { AIQuickActions, type AIQuickActionType, type AIQuickActionsConfig, type AIQuickActionCustomDefinition, type AIQuickActionCustomBaseDefinition, type AIQuickActionCustomActionDefinition, type AIQuickActionCustomChatDefinition } from './aiquickactions/aiquickactions.js';
44
44
  export { AIQuickActionsUI, type AIQuickActionsGroupDefinition, type AIQuickActionDefinition } from './aiquickactions/aiquickactionsui.js';
45
45
  export { AIActions, type AIActionsNames, type AIActionDefinition } from './aiactions/aiactions.js';
@@ -54,7 +54,7 @@ export { AIReviewCheckResult } from './aireviewcore/model/aireviewcheckresult.js
54
54
  export { AIReviewCheckRun } from './aireviewcore/model/aireviewcheckrun.js';
55
55
  export { type AIReviewCheckRunUpdatedEvent } from './aireviewcore/model/aireviewcheckrun.js';
56
56
  export { type AIReviewCheckRunStatus } from './aireviewcore/model/aireviewcheckrun.js';
57
- export { type AIReviewCheckResultChange } from './aireviewcore/model/aireviewcheckresultchange.js';
57
+ export { AIReviewCheckResultChange } from './aireviewcore/model/aireviewcheckresultchange.js';
58
58
  export { AITranslate, type AITranslateConfig, type AITranslateLanguage } from './aitranslate/aitranslate.js';
59
59
  export { AITranslateController } from './aitranslate/aitranslatecontroller.js';
60
60
  export { AITranslateUI } from './aitranslate/aitranslateui.js';