@gravity-ui/aikit 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +0 -2
  2. package/dist/adapters/openai/helpers/mapOpenAIConversationsToChats.d.ts +3 -0
  3. package/dist/adapters/openai/helpers/mapOpenAIConversationsToChats.js +22 -0
  4. package/dist/adapters/openai/index.d.ts +5 -2
  5. package/dist/adapters/openai/index.js +2 -0
  6. package/dist/adapters/openai/types/index.d.ts +4 -1
  7. package/dist/adapters/openai/types/openAiTypes.d.ts +6 -0
  8. package/dist/adapters/openai/useOpenAIConversationsAdapter.d.ts +9 -0
  9. package/dist/adapters/openai/useOpenAIConversationsAdapter.js +15 -0
  10. package/dist/adapters/openai/useOpenAIResponsesAdapter.d.ts +1 -1
  11. package/dist/adapters/openai/useOpenAIResponsesAdapter.js +3 -3
  12. package/dist/components/atoms/Alert/Alert.css +28 -0
  13. package/dist/components/atoms/ChatDate/ChatDate.css +9 -0
  14. package/dist/components/atoms/ContextIndicator/ContextIndicator.css +66 -0
  15. package/dist/components/atoms/DiffStat/DiffStat.css +23 -0
  16. package/dist/components/atoms/Disclaimer/Disclaimer.css +7 -0
  17. package/dist/components/atoms/IntersectionContainer/IntersectionContainer.css +3 -0
  18. package/dist/components/atoms/Loader/Loader.css +48 -0
  19. package/dist/components/atoms/MarkdownRenderer/MarkdownRenderer.css +5 -0
  20. package/dist/components/atoms/MessageBalloon/MessageBalloon.css +7 -0
  21. package/dist/components/atoms/Shimmer/Shimmer.css +18 -0
  22. package/dist/components/atoms/SubmitButton/SubmitButton.css +20 -0
  23. package/dist/components/atoms/ToolIndicator/ToolIndicator.css +9 -0
  24. package/dist/components/molecules/BaseMessage/BaseMessage.css +26 -0
  25. package/dist/components/molecules/ButtonGroup/ButtonGroup.css +13 -0
  26. package/dist/components/molecules/PromptInputBody/PromptInputBody.css +15 -0
  27. package/dist/components/molecules/PromptInputFooter/PromptInputFooter.css +18 -0
  28. package/dist/components/molecules/PromptInputHeader/PromptInputHeader.css +21 -0
  29. package/dist/components/molecules/PromptInputPanel/PromptInputPanel.css +7 -0
  30. package/dist/components/molecules/Suggestions/Suggestions.css +71 -0
  31. package/dist/components/molecules/Tabs/Tabs.css +35 -0
  32. package/dist/components/molecules/ToolFooter/ToolFooter.css +10 -0
  33. package/dist/components/molecules/ToolHeader/ToolHeader.css +18 -0
  34. package/dist/components/molecules/ToolStatus/ToolStatus.css +1 -0
  35. package/dist/components/organisms/AssistantMessage/AssistantMessage.css +6 -0
  36. package/dist/components/organisms/Header/Header.css +40 -0
  37. package/dist/components/organisms/MessageList/MessageList.css +26 -0
  38. package/dist/components/organisms/PromptInput/PromptInput.css +50 -0
  39. package/dist/components/organisms/ThinkingMessage/ThinkingMessage.css +20 -0
  40. package/dist/components/organisms/ToolMessage/ToolMessage.css +13 -0
  41. package/dist/components/organisms/UserMessage/UserMessage.css +10 -0
  42. package/dist/components/pages/ChatContainer/ChatContainer.css +49 -0
  43. package/dist/components/templates/ChatContent/ChatContent.css +23 -0
  44. package/dist/components/templates/EmptyContainer/EmptyContainer.css +64 -0
  45. package/dist/components/templates/History/History.css +81 -0
  46. package/dist/demo/ContentWrapper/ContentWrapper.css +6 -0
  47. package/dist/demo/DocsDecorator/DocsDecorator.css +87 -0
  48. package/dist/demo/Showcase/Showcase.css +34 -0
  49. package/dist/demo/ShowcaseItem/ShowcaseItem.css +7 -0
  50. package/dist/demo/SwapArea/SwapArea.css +11 -0
  51. package/dist/styles/variables.css +1 -0
  52. package/package.json +5 -5
  53. package/dist/components/atoms/Alert/Alert.scss +0 -39
  54. package/dist/components/atoms/ChatDate/ChatDate.scss +0 -15
  55. package/dist/components/atoms/ContextIndicator/ContextIndicator.scss +0 -93
  56. package/dist/components/atoms/DiffStat/DiffStat.scss +0 -36
  57. package/dist/components/atoms/Disclaimer/Disclaimer.scss +0 -13
  58. package/dist/components/atoms/IntersectionContainer/IntersectionContainer.scss +0 -7
  59. package/dist/components/atoms/Loader/Loader.scss +0 -72
  60. package/dist/components/atoms/MarkdownRenderer/MarkdownRenderer.scss +0 -10
  61. package/dist/components/atoms/MessageBalloon/MessageBalloon.scss +0 -11
  62. package/dist/components/atoms/Shimmer/Shimmer.scss +0 -32
  63. package/dist/components/atoms/SubmitButton/SubmitButton.scss +0 -29
  64. package/dist/components/atoms/ToolIndicator/ToolIndicator.scss +0 -15
  65. package/dist/components/molecules/BaseMessage/BaseMessage.scss +0 -41
  66. package/dist/components/molecules/ButtonGroup/ButtonGroup.scss +0 -19
  67. package/dist/components/molecules/PromptInputBody/PromptInputBody.scss +0 -22
  68. package/dist/components/molecules/PromptInputFooter/PromptInputFooter.scss +0 -25
  69. package/dist/components/molecules/PromptInputHeader/PromptInputHeader.scss +0 -27
  70. package/dist/components/molecules/PromptInputPanel/PromptInputPanel.scss +0 -11
  71. package/dist/components/molecules/Suggestions/Suggestions.scss +0 -90
  72. package/dist/components/molecules/Tabs/Tabs.scss +0 -46
  73. package/dist/components/molecules/ToolFooter/ToolFooter.scss +0 -15
  74. package/dist/components/molecules/ToolHeader/ToolHeader.scss +0 -24
  75. package/dist/components/molecules/ToolStatus/ToolStatus.scss +0 -6
  76. package/dist/components/organisms/AssistantMessage/AssistantMessage.scss +0 -10
  77. package/dist/components/organisms/Header/Header.scss +0 -51
  78. package/dist/components/organisms/MessageList/MessageList.scss +0 -35
  79. package/dist/components/organisms/PromptInput/PromptInput.scss +0 -77
  80. package/dist/components/organisms/ThinkingMessage/ThinkingMessage.scss +0 -27
  81. package/dist/components/organisms/ToolMessage/ToolMessage.scss +0 -19
  82. package/dist/components/organisms/UserMessage/UserMessage.scss +0 -14
  83. package/dist/components/pages/ChatContainer/ChatContainer.scss +0 -60
  84. package/dist/components/templates/ChatContent/ChatContent.scss +0 -30
  85. package/dist/components/templates/EmptyContainer/EmptyContainer.scss +0 -86
  86. package/dist/components/templates/History/History.scss +0 -103
  87. package/dist/styles/_functions.scss +0 -5
  88. package/dist/styles/variables.scss +0 -1
  89. /package/dist/styles/{styles.scss → styles.css} +0 -0
@@ -1,51 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- $block: '.#{variables.$ns}header';
4
-
5
- #{$block} {
6
- display: flex;
7
- align-items: center;
8
- justify-content: space-between;
9
- gap: var(--g-spacing-2);
10
- width: 100%;
11
- box-sizing: border-box;
12
- background: var(--g-aikit-header-background);
13
-
14
- &__icon {
15
- display: flex;
16
- align-items: center;
17
- flex-shrink: 0;
18
- }
19
-
20
- &__title-container {
21
- display: flex;
22
- gap: var(--g-spacing-1);
23
- flex: 1;
24
- align-items: baseline;
25
-
26
- &_position_left {
27
- justify-content: flex-start;
28
- }
29
-
30
- &_position_center {
31
- justify-content: center;
32
- }
33
- }
34
-
35
- &__title {
36
- text-overflow: ellipsis;
37
- white-space: nowrap;
38
- overflow: hidden;
39
- flex-shrink: 0;
40
- }
41
-
42
- &__preview {
43
- display: flex;
44
- align-items: center;
45
- flex-shrink: 0;
46
- }
47
-
48
- &__action-button {
49
- flex-shrink: 0;
50
- }
51
- }
@@ -1,35 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- $block: '.#{variables.$ns}message-list';
4
-
5
- #{$block} {
6
- overflow-y: auto;
7
- display: flex;
8
- flex-direction: column;
9
- min-height: 0;
10
- flex: 1;
11
- align-self: stretch;
12
-
13
- &__messages {
14
- display: flex;
15
- flex-direction: column;
16
- gap: var(--g-spacing-4);
17
- }
18
-
19
- &__retry-button {
20
- display: flex;
21
- align-items: center;
22
- gap: var(--g-spacing-1);
23
- }
24
-
25
- &__loader,
26
- &__error-alert {
27
- margin-top: var(--g-spacing-4);
28
- }
29
-
30
- &__load-trigger {
31
- display: flex;
32
- justify-content: center;
33
- padding: var(--g-spacing-2);
34
- }
35
- }
@@ -1,77 +0,0 @@
1
- @use '../../../styles/variables.scss';
2
-
3
- $block: '.#{variables.$ns}prompt-input';
4
-
5
- #{$block} {
6
- border-radius: var(--g-border-radius-xl);
7
- border: 1px solid var(--g-color-line-generic);
8
- background: var(--g-color-base-float);
9
- overflow: hidden;
10
-
11
- &_view_simple {
12
- display: flex;
13
- flex-direction: column;
14
- padding: var(--g-spacing-1) var(--g-spacing-1) var(--g-spacing-1) var(--g-spacing-3);
15
- }
16
-
17
- &_view_full {
18
- display: flex;
19
- padding: var(--g-spacing-2);
20
- flex-direction: column;
21
- align-items: flex-start;
22
- gap: var(--g-spacing-2);
23
- }
24
-
25
- &_view_full &__textarea {
26
- padding-top: 0;
27
- }
28
-
29
- &__content {
30
- display: flex;
31
- align-items: flex-end;
32
- gap: var(--g-spacing-2);
33
- width: 100%;
34
- }
35
-
36
- &__panel-wrapper {
37
- background: var(--g-color-base-simple-hover-solid);
38
-
39
- border-radius: var(--g-border-radius-xl);
40
- }
41
-
42
- &__panel {
43
- overflow: hidden;
44
- transition:
45
- max-height 0.3s ease-in-out,
46
- opacity 0.3s ease-in-out,
47
- margin 0.3s ease-in-out;
48
- will-change: max-height, opacity, margin;
49
-
50
- // Closed state
51
- max-height: 0;
52
- opacity: 0;
53
- margin: 0;
54
-
55
- // Open state
56
- &_open {
57
- max-height: var(
58
- --g-aikit-prompt-input-panel-max-height
59
- ); // Large enough value for most content
60
- opacity: 1;
61
- }
62
-
63
- // Animation works thanks to useDelayedUnmount hook:
64
- // - When isOpen=true, element is immediately added to DOM and animation plays
65
- // - When isOpen=false, _open class is removed, animation plays,
66
- // then element is removed from DOM after transition completes (300ms)
67
- }
68
-
69
- &__suggestions-wrapper {
70
- align-self: stretch;
71
- flex: 1;
72
- }
73
-
74
- &__suggestions {
75
- padding-bottom: var(--g-spacing-2);
76
- }
77
- }
@@ -1,27 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- $block: '.#{variables.$ns}thinking-message';
4
-
5
- #{$block} {
6
- display: flex;
7
- flex-direction: column;
8
- gap: var(--g-spacing-2);
9
- padding: var(--g-spacing-1) 0 var(--g-spacing-1) var(--g-spacing-4);
10
- border-left: 2px solid var(--g-color-line-generic);
11
-
12
- &__buttons {
13
- display: flex;
14
- align-items: center;
15
- gap: var(--g-spacing-2);
16
- }
17
-
18
- &__container {
19
- display: flex;
20
- flex-direction: column;
21
- gap: var(--g-spacing-6);
22
- }
23
-
24
- &__content {
25
- color: var(--g-color-text-complementary);
26
- }
27
- }
@@ -1,19 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- $block: '.#{variables.$ns}tool-message';
4
-
5
- #{$block} {
6
- padding: var(--g-spacing-2);
7
- border-radius: var(--g-border-radius-xl);
8
- width: 100%;
9
-
10
- &_waiting {
11
- border-color: var(--g-color-line-brand);
12
- }
13
-
14
- &__container {
15
- display: flex;
16
- flex-direction: column;
17
- gap: var(--g-spacing-2);
18
- }
19
- }
@@ -1,14 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- $block: '.#{variables.$ns}user-message';
4
-
5
- #{$block} {
6
- display: flex;
7
- flex-direction: column;
8
- gap: var(--g-spacing-1);
9
- align-items: flex-end;
10
- }
11
-
12
- #{$block}_format_plain {
13
- white-space: pre-wrap;
14
- }
@@ -1,60 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- .#{variables.$ns}chat-container {
4
- display: flex;
5
- flex-direction: column;
6
- height: 100%;
7
- width: 100%;
8
- overflow: hidden;
9
- background: var(--g-aikit-chat-container-background);
10
-
11
- &__header {
12
- display: flex;
13
- padding: var(--g-aikit-layout-base-padding-m);
14
- flex-direction: column;
15
- align-items: flex-start;
16
- gap: var(--g-spacing-2);
17
- align-self: stretch;
18
- background: var(--g-aikit-chat-container-header-background);
19
- }
20
-
21
- &__content {
22
- min-height: 0; // Important for proper overflow behavior in child elements
23
- display: flex;
24
- flex-direction: column;
25
- align-items: flex-start;
26
- align-self: stretch;
27
- background: var(--g-aikit-chat-container-content-background);
28
-
29
- padding: 0 var(--g-aikit-layout-base-padding-m) var(--g-spacing-4)
30
- var(--g-aikit-layout-base-padding-m);
31
- gap: var(--g-spacing-2);
32
- flex: 1 0 0;
33
- }
34
-
35
- &__content_view_empty {
36
- background: var(--g-aikit-chat-container-content-empty-background);
37
- }
38
-
39
- &__content_view_chat {
40
- background: var(--g-aikit-chat-container-content-chat-background);
41
- }
42
-
43
- &__footer {
44
- display: flex;
45
- padding: var(--g-aikit-layout-base-padding-m);
46
- flex-direction: column;
47
- align-items: flex-start;
48
- gap: var(--g-spacing-1);
49
- align-self: stretch;
50
- background: var(--g-aikit-chat-container-footer-background);
51
- }
52
-
53
- &__footer_view_empty {
54
- background: var(--g-aikit-chat-container-footer-empty-background);
55
- }
56
-
57
- &__footer_view_chat {
58
- background: var(--g-aikit-chat-container-footer-chat-background);
59
- }
60
- }
@@ -1,30 +0,0 @@
1
- @use '../../../styles/variables';
2
- @use '../../../styles/functions' as *;
3
-
4
- $block: '.#{variables.$ns}chat-content';
5
-
6
- #{$block} {
7
- display: flex;
8
- flex-direction: column;
9
- height: 100%;
10
- overflow: hidden;
11
- background: var(--g-aikit-chat-content-background);
12
- align-items: flex-start;
13
- gap: var(--g-spacing-2);
14
- flex: 1 0 0;
15
- align-self: stretch;
16
-
17
- &__message-list-container {
18
- display: flex;
19
- flex-direction: column;
20
- align-items: flex-start;
21
- gap: var(--g-spacing-4);
22
- align-self: stretch;
23
- flex: 1;
24
- min-height: 0;
25
- }
26
-
27
- &__message-list {
28
- padding: var(--g-spacing-2) var(--g-spacing-2) 0 var(--g-spacing-2);
29
- }
30
- }
@@ -1,86 +0,0 @@
1
- @use '../../../styles/variables';
2
-
3
- .#{variables.$ns}empty-container {
4
- display: flex;
5
- flex-direction: column;
6
- height: 100%;
7
- width: 100%;
8
- background: var(--g-aikit-empty-container-background);
9
-
10
- &__content {
11
- flex: 1;
12
- display: flex;
13
- flex-direction: column;
14
- align-self: stretch;
15
- gap: var(--g-aikit-empty-container-content-gap);
16
- padding: var(--g-aikit-empty-container-padding);
17
- }
18
-
19
- &__welcome-section {
20
- display: flex;
21
- flex-direction: column;
22
- gap: var(--g-spacing-6);
23
- }
24
-
25
- &__text-container {
26
- display: flex;
27
- flex-direction: column;
28
- gap: var(--g-spacing-3);
29
- }
30
-
31
- &__image-container {
32
- display: flex;
33
- flex: 1;
34
-
35
- &_align {
36
- &_left {
37
- justify-content: flex-start;
38
- }
39
-
40
- &_center {
41
- justify-content: center;
42
- }
43
-
44
- &_right {
45
- justify-content: flex-end;
46
- }
47
- }
48
- }
49
-
50
- &__title,
51
- &__description {
52
- &_align {
53
- &_left {
54
- text-align: left;
55
- }
56
-
57
- &_center {
58
- text-align: center;
59
- }
60
-
61
- &_right {
62
- text-align: right;
63
- }
64
- }
65
- }
66
-
67
- &__suggestions-section {
68
- display: flex;
69
- flex-direction: column;
70
- gap: var(--g-spacing-3);
71
- }
72
-
73
- &__suggestions-title {
74
- display: flex;
75
- padding: 0 var(--g-spacing-2);
76
- align-items: flex-start;
77
- gap: var(--g-spacing-2);
78
- align-self: stretch;
79
- }
80
-
81
- &__show-more {
82
- display: flex;
83
- justify-content: flex-start;
84
- padding-top: var(--g-spacing-2);
85
- }
86
- }
@@ -1,103 +0,0 @@
1
- @use '../../../styles/variables';
2
- @use '../../../styles/functions' as *;
3
-
4
- $block: '.#{variables.$ns}history';
5
-
6
- #{$block} {
7
- &__container {
8
- display: flex;
9
- flex-direction: column;
10
- width: var(--g-aikit-history-width);
11
- background: var(--g-color-base-background);
12
- }
13
-
14
- &__list-wrapper {
15
- flex: 1;
16
- }
17
-
18
- &__list {
19
- padding: 0 spacing(2) 0 spacing(2);
20
- overflow: auto;
21
- max-height: var(--g-aikit-history-max-height);
22
- }
23
-
24
- &__list-item {
25
- border-radius: 6px;
26
- }
27
-
28
- &__filter {
29
- padding: spacing(2);
30
- border-bottom: 1px solid var(--g-color-line-generic);
31
- margin-bottom: 0;
32
- }
33
-
34
- &__date-header {
35
- display: flex;
36
- padding: var(--g-spacing-3) var(--g-spacing-2) var(--g-spacing-1) var(--g-spacing-2);
37
- flex-direction: column;
38
- align-items: flex-start;
39
- gap: spacing(3);
40
- align-self: stretch;
41
- }
42
-
43
- &__chat-item {
44
- cursor: pointer;
45
- display: flex;
46
- padding: spacing(2) spacing(4);
47
- align-items: center;
48
- gap: spacing(4);
49
- align-self: stretch;
50
- flex: 1;
51
- min-width: 0;
52
-
53
- &_active {
54
- #{$block}__delete-button {
55
- display: block;
56
- }
57
- }
58
- }
59
-
60
- &__chat-content {
61
- height: var(--g-aikit-history-item-height);
62
- flex: 1;
63
- min-width: 0;
64
- display: flex;
65
- flex-direction: column;
66
- justify-content: center;
67
-
68
- > * {
69
- overflow: hidden;
70
- text-overflow: ellipsis;
71
- white-space: nowrap;
72
- min-width: 0;
73
- }
74
- }
75
-
76
- &__icon-button {
77
- color: var(--g-color-text-secondary);
78
- }
79
-
80
- &__delete-button {
81
- margin-left: spacing(2);
82
- display: none;
83
- }
84
-
85
- &__empty {
86
- display: flex;
87
- align-items: center;
88
- justify-content: center;
89
- padding: spacing(8) spacing(4);
90
- color: var(--g-color-text-secondary);
91
- font-size: var(--g-text-body-2-font-size);
92
- text-align: center;
93
- flex: 1;
94
- }
95
-
96
- &__loader-wrapper {
97
- display: flex;
98
- align-items: center;
99
- justify-content: center;
100
- padding: spacing(8) spacing(4);
101
- flex: 1;
102
- }
103
- }
@@ -1,5 +0,0 @@
1
- // spacing @gravity-ui/uikit layout
2
-
3
- @function spacing($multiplier: 1) {
4
- @return calc(var(--g-spacing-base) * $multiplier);
5
- }
@@ -1 +0,0 @@
1
- $ns: 'g-aikit-';
File without changes