@gitlab/duo-ui 14.3.0 → 15.0.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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# [15.0.0](https://gitlab.com/gitlab-org/duo-ui/compare/v14.3.0...v15.0.0) (2025-11-21)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **DuoChat:** Remove new chat button ([5e9944f](https://gitlab.com/gitlab-org/duo-ui/commit/5e9944f5dfbb6963f27152636c727908bf0228d8))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* **DuoChat:** Removes New Chat button for web header as the
|
|
12
|
+
button is now toggles from the navigation siderail
|
|
13
|
+
|
|
1
14
|
# [14.3.0](https://gitlab.com/gitlab-org/duo-ui/compare/v14.2.0...v14.3.0) (2025-11-20)
|
|
2
15
|
|
|
3
16
|
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import Vue from 'vue';
|
|
2
2
|
import { GlToast, GlAlert, GlAvatar, GlButton, GlDisclosureDropdown, GlSafeHtmlDirective, GlTooltipDirective } from '@gitlab/ui';
|
|
3
3
|
import { translate, sprintf } from '../../../../utils/i18n';
|
|
4
|
-
import DuoChatHeaderAgentItem from './duo_chat_header_agent_item/duo_chat_header_agent_item';
|
|
5
4
|
import { VIEW_TYPES } from './constants';
|
|
6
5
|
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
7
6
|
|
|
8
7
|
const i18n = {
|
|
9
8
|
CHAT_CLOSE_LABEL: translate('WebDuoChat.closeChatHeaderLabel', 'Close chat'),
|
|
10
|
-
CHAT_NEW_LABEL: translate('WebDuoChat.chatNewLabel', 'New chat'),
|
|
11
|
-
CHAT_NEW_TOOLTIP: translate('WebDuoChat.chatNewToolTip', 'New chat'),
|
|
12
9
|
CHAT_BACK_TO_CHAT_TOOLTIP: translate('WebDuoChat.chatBackToChatToolTip', 'Back to chat'),
|
|
13
10
|
CHAT_TITLE: translate('WebDuoChat.chatTitle', 'GitLab Duo Chat'),
|
|
14
11
|
CHAT_DROPDOWN_MORE_OPTIONS: translate('WebDuoChat.chatDropdownMoreOptions', 'More options'),
|
|
@@ -23,8 +20,7 @@ var script = {
|
|
|
23
20
|
GlAlert,
|
|
24
21
|
GlAvatar,
|
|
25
22
|
GlButton,
|
|
26
|
-
GlDisclosureDropdown
|
|
27
|
-
DuoChatHeaderAgentItem
|
|
23
|
+
GlDisclosureDropdown
|
|
28
24
|
},
|
|
29
25
|
directives: {
|
|
30
26
|
SafeHtml: GlSafeHtmlDirective,
|
|
@@ -158,11 +154,7 @@ var script = {
|
|
|
158
154
|
const __vue_script__ = script;
|
|
159
155
|
|
|
160
156
|
/* template */
|
|
161
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:"gl-shrink-0 gl-p-0",attrs:{"data-testid":"chat-header"}},[(!_vm.showStudioHeader)?_c('div',{staticClass:"gl-flex gl-w-full gl-items-center gl-px-4 gl-py-3",attrs:{"data-testid":"chat-top-header"}},[(_vm.subtitle)?_c('h4',{staticClass:"gl-mb-0 gl-max-w-17/20 gl-flex-1 gl-shrink-0 gl-overflow-hidden gl-truncate gl-text-ellipsis gl-whitespace-nowrap gl-pr-3 gl-text-sm gl-font-normal gl-text-subtle",attrs:{"data-testid":"chat-subtitle"}},[_vm._v("\n "+_vm._s(_vm.subtitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-ml-auto gl-flex gl-gap-3"},[(_vm.sessionId)?_c('gl-disclosure-dropdown',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip",value:(_vm.showSessionDropdownTooltip),expression:"showSessionDropdownTooltip"}],attrs:{"icon":"ellipsis_v","category":"tertiary","text-sr-only":"","size":"small","toggle-text":_vm.$options.i18n.CHAT_DROPDOWN_MORE_OPTIONS,"items":_vm.sessionIdItems,"no-caret":""},on:{"shown":_vm.showSessionDropdown,"hidden":_vm.hideSessionDropdown}}):_vm._e(),_vm._v(" "),_c('gl-button',{attrs:{"category":"tertiary","variant":"default","icon":"close","size":"small","data-testid":"chat-close-button","aria-label":_vm.$options.i18n.CHAT_CLOSE_LABEL},on:{"click":function($event){return _vm.$emit('close')}}})],1)]):_vm._e(),_vm._v(" "),(_vm.showSubheader)?_c('div',{staticClass:"drawer-title gl-flex gl-items-center gl-justify-start gl-gap-4 gl-px-4 gl-py-3",class:{ 'gl-border-t': !_vm.showStudioHeader, 'gl-border-b': _vm.showStudioHeader },attrs:{"data-testid":"chat-subheader"}},[_c('div',{staticClass:"gl-flex gl-grow gl-gap-3"},[_c('gl-avatar',{staticClass:"gl-shrink-0",attrs:{"size":32,"entity-name":_vm.title,"shape":"circle"}}),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-flex-col gl-justify-center"},[_c('h3',{staticClass:"gl-my-0 gl-line-clamp-1 gl-text-[0.875rem] gl-text-default"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_vm.agentHandler)?_c('p',{staticClass:"gl-my-0 gl-text-[0.75rem] gl-text-subtle"},[_vm._v("\n "+_vm._s(_vm.agentHandler)+"\n ")]):_vm._e()])],1),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[(
|
|
162
|
-
_vm.isMultithreaded && (_vm.activeThreadId || _vm.currentView === _vm.VIEW_TYPES.LIST || _vm.hasManyAgents)
|
|
163
|
-
)?[(_vm.hasManyAgents)?_c('gl-disclosure-dropdown',{attrs:{"title":_vm.$options.i18n.CHAT_NEW_TOOLTIP,"toggle-text":_vm.$options.i18n.CHAT_NEW_TOOLTIP,"items":_vm.agents,"data-testid":"chat-new-button","variant":"confirm","category":"tertiary","size":"small","icon":"duo-chat-new","text-sr-only":"","aria-label":_vm.$options.i18n.CHAT_NEW_LABEL,"no-caret":""},on:{"action":_vm.startNewChat},scopedSlots:_vm._u([{key:"list-item",fn:function(ref){
|
|
164
|
-
var item = ref.item;
|
|
165
|
-
return [_c('duo-chat-header-agent-item',{attrs:{"agent":item}})]}}],null,false,1406306174)}):_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_NEW_TOOLTIP,"data-testid":"chat-new-button","variant":"confirm","category":"tertiary","size":"small","icon":"duo-chat-new","aria-label":_vm.$options.i18n.CHAT_NEW_LABEL},on:{"click":_vm.startNewChat}})]:_vm._e(),_vm._v(" "),(_vm.isMultithreaded && _vm.activeThreadId && _vm.currentView === _vm.VIEW_TYPES.LIST)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP,"data-testid":"go-back-to-chat-button","category":"tertiary","size":"small","icon":"go-back","aria-label":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP},on:{"click":function($event){return _vm.$emit('go-back-to-chat')}}}):_vm._e()],2)]):_vm._e(),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"!gl-pl-9",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2)};
|
|
157
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:"gl-shrink-0 gl-p-0",attrs:{"data-testid":"chat-header"}},[(!_vm.showStudioHeader)?_c('div',{staticClass:"gl-flex gl-w-full gl-items-center gl-px-4 gl-py-3",attrs:{"data-testid":"chat-top-header"}},[(_vm.subtitle)?_c('h4',{staticClass:"gl-mb-0 gl-max-w-17/20 gl-flex-1 gl-shrink-0 gl-overflow-hidden gl-truncate gl-text-ellipsis gl-whitespace-nowrap gl-pr-3 gl-text-sm gl-font-normal gl-text-subtle",attrs:{"data-testid":"chat-subtitle"}},[_vm._v("\n "+_vm._s(_vm.subtitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-ml-auto gl-flex gl-gap-3"},[(_vm.sessionId)?_c('gl-disclosure-dropdown',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip",value:(_vm.showSessionDropdownTooltip),expression:"showSessionDropdownTooltip"}],attrs:{"icon":"ellipsis_v","category":"tertiary","text-sr-only":"","size":"small","toggle-text":_vm.$options.i18n.CHAT_DROPDOWN_MORE_OPTIONS,"items":_vm.sessionIdItems,"no-caret":""},on:{"shown":_vm.showSessionDropdown,"hidden":_vm.hideSessionDropdown}}):_vm._e(),_vm._v(" "),_c('gl-button',{attrs:{"category":"tertiary","variant":"default","icon":"close","size":"small","data-testid":"chat-close-button","aria-label":_vm.$options.i18n.CHAT_CLOSE_LABEL},on:{"click":function($event){return _vm.$emit('close')}}})],1)]):_vm._e(),_vm._v(" "),(_vm.showSubheader)?_c('div',{staticClass:"drawer-title gl-flex gl-items-center gl-justify-start gl-gap-4 gl-px-4 gl-py-3",class:{ 'gl-border-t': !_vm.showStudioHeader, 'gl-border-b': _vm.showStudioHeader },attrs:{"data-testid":"chat-subheader"}},[_c('div',{staticClass:"gl-flex gl-grow gl-gap-3"},[_c('gl-avatar',{staticClass:"gl-shrink-0",attrs:{"size":32,"entity-name":_vm.title,"shape":"circle"}}),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-flex-col gl-justify-center"},[_c('h3',{staticClass:"gl-my-0 gl-line-clamp-1 gl-text-[0.875rem] gl-text-default"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_vm.agentHandler)?_c('p',{staticClass:"gl-my-0 gl-text-[0.75rem] gl-text-subtle"},[_vm._v("\n "+_vm._s(_vm.agentHandler)+"\n ")]):_vm._e()])],1),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[(_vm.isMultithreaded && _vm.activeThreadId && _vm.currentView === _vm.VIEW_TYPES.LIST)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP,"data-testid":"go-back-to-chat-button","category":"tertiary","size":"small","icon":"go-back","aria-label":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP},on:{"click":function($event){return _vm.$emit('go-back-to-chat')}}}):_vm._e()],1)]):_vm._e(),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"!gl-pl-9",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2)};
|
|
166
158
|
var __vue_staticRenderFns__ = [];
|
|
167
159
|
|
|
168
160
|
/* style */
|
package/package.json
CHANGED
|
@@ -10,13 +10,10 @@ import {
|
|
|
10
10
|
GlDisclosureDropdown,
|
|
11
11
|
} from '@gitlab/ui';
|
|
12
12
|
import { sprintf, translate } from '../../../../utils/i18n';
|
|
13
|
-
import DuoChatHeaderAgentItem from './duo_chat_header_agent_item/duo_chat_header_agent_item.vue';
|
|
14
13
|
import { VIEW_TYPES } from './constants';
|
|
15
14
|
|
|
16
15
|
export const i18n = {
|
|
17
16
|
CHAT_CLOSE_LABEL: translate('WebDuoChat.closeChatHeaderLabel', 'Close chat'),
|
|
18
|
-
CHAT_NEW_LABEL: translate('WebDuoChat.chatNewLabel', 'New chat'),
|
|
19
|
-
CHAT_NEW_TOOLTIP: translate('WebDuoChat.chatNewToolTip', 'New chat'),
|
|
20
17
|
CHAT_BACK_TO_CHAT_TOOLTIP: translate('WebDuoChat.chatBackToChatToolTip', 'Back to chat'),
|
|
21
18
|
CHAT_TITLE: translate('WebDuoChat.chatTitle', 'GitLab Duo Chat'),
|
|
22
19
|
CHAT_DROPDOWN_MORE_OPTIONS: translate('WebDuoChat.chatDropdownMoreOptions', 'More options'),
|
|
@@ -41,7 +38,6 @@ export default {
|
|
|
41
38
|
GlAvatar,
|
|
42
39
|
GlButton,
|
|
43
40
|
GlDisclosureDropdown,
|
|
44
|
-
DuoChatHeaderAgentItem,
|
|
45
41
|
},
|
|
46
42
|
directives: {
|
|
47
43
|
SafeHtml,
|
|
@@ -228,43 +224,6 @@ export default {
|
|
|
228
224
|
</div>
|
|
229
225
|
|
|
230
226
|
<div class="gl-flex gl-gap-3">
|
|
231
|
-
<template
|
|
232
|
-
v-if="
|
|
233
|
-
isMultithreaded && (activeThreadId || currentView === VIEW_TYPES.LIST || hasManyAgents)
|
|
234
|
-
"
|
|
235
|
-
>
|
|
236
|
-
<gl-disclosure-dropdown
|
|
237
|
-
v-if="hasManyAgents"
|
|
238
|
-
:title="$options.i18n.CHAT_NEW_TOOLTIP"
|
|
239
|
-
:toggle-text="$options.i18n.CHAT_NEW_TOOLTIP"
|
|
240
|
-
:items="agents"
|
|
241
|
-
data-testid="chat-new-button"
|
|
242
|
-
variant="confirm"
|
|
243
|
-
category="tertiary"
|
|
244
|
-
size="small"
|
|
245
|
-
icon="duo-chat-new"
|
|
246
|
-
text-sr-only
|
|
247
|
-
:aria-label="$options.i18n.CHAT_NEW_LABEL"
|
|
248
|
-
no-caret
|
|
249
|
-
@action="startNewChat"
|
|
250
|
-
>
|
|
251
|
-
<template #list-item="{ item }">
|
|
252
|
-
<duo-chat-header-agent-item :agent="item" />
|
|
253
|
-
</template>
|
|
254
|
-
</gl-disclosure-dropdown>
|
|
255
|
-
<gl-button
|
|
256
|
-
v-else
|
|
257
|
-
v-gl-tooltip
|
|
258
|
-
:title="$options.i18n.CHAT_NEW_TOOLTIP"
|
|
259
|
-
data-testid="chat-new-button"
|
|
260
|
-
variant="confirm"
|
|
261
|
-
category="tertiary"
|
|
262
|
-
size="small"
|
|
263
|
-
icon="duo-chat-new"
|
|
264
|
-
:aria-label="$options.i18n.CHAT_NEW_LABEL"
|
|
265
|
-
@click="startNewChat"
|
|
266
|
-
/>
|
|
267
|
-
</template>
|
|
268
227
|
<gl-button
|
|
269
228
|
v-if="isMultithreaded && activeThreadId && currentView === VIEW_TYPES.LIST"
|
|
270
229
|
v-gl-tooltip
|
package/translations.js
CHANGED
|
@@ -194,8 +194,6 @@ export default {
|
|
|
194
194
|
'WebDuoChat.chatEmptyStateTitle': 'I am GitLab Duo Chat, your personal AI-powered assistant.',
|
|
195
195
|
'WebDuoChat.chatHistoryTitle': 'Chat history',
|
|
196
196
|
'WebDuoChat.chatModelPlaceholder': 'GitLab Duo Chat',
|
|
197
|
-
'WebDuoChat.chatNewLabel': 'New chat',
|
|
198
|
-
'WebDuoChat.chatNewToolTip': 'New chat',
|
|
199
197
|
'WebDuoChat.chatPromptPlaceholderDefault': "Let's work through this together...",
|
|
200
198
|
'WebDuoChat.chatPromptPlaceholderWithCommands': 'Type /help to learn more',
|
|
201
199
|
'WebDuoChat.chatSubmitLabel': 'Send chat message.',
|