@gitlab/ui 74.9.1 → 74.9.3
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 +18 -0
- package/dist/components/base/table/table.js +40 -2
- package/dist/components/experimental/duo/chat/duo_chat.js +7 -7
- package/dist/index.css +2 -2
- package/dist/index.css.map +1 -1
- package/dist/tokens/css/tokens.css +1 -1
- package/dist/tokens/css/tokens.dark.css +1 -1
- package/dist/tokens/js/tokens.dark.js +1 -1
- package/dist/tokens/js/tokens.js +1 -1
- package/dist/tokens/scss/_tokens.dark.scss +1 -1
- package/dist/tokens/scss/_tokens.scss +1 -1
- package/package.json +1 -1
- package/src/components/base/table/table.scss +10 -0
- package/src/components/base/table/table.spec.js +71 -3
- package/src/components/base/table/table.stories.js +4 -1
- package/src/components/base/table/table.vue +58 -3
- package/src/components/experimental/duo/chat/components/duo_chat_loader/duo_chat_loader.scss +1 -6
- package/src/components/experimental/duo/chat/duo_chat.scss +11 -12
- package/src/components/experimental/duo/chat/duo_chat.spec.js +4 -3
- package/src/components/experimental/duo/chat/duo_chat.vue +37 -46
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
## [74.9.3](https://gitlab.com/gitlab-org/gitlab-ui/compare/v74.9.2...v74.9.3) (2024-02-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **DuoChat:** Force a scroll-bar if we have messages ([31f846a](https://gitlab.com/gitlab-org/gitlab-ui/commit/31f846a73604a7bcb094a140366a31aa53199869))
|
|
7
|
+
|
|
8
|
+
## [74.9.2](https://gitlab.com/gitlab-org/gitlab-ui/compare/v74.9.1...v74.9.2) (2024-02-20)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* Align left margin for inactive state ([5e20544](https://gitlab.com/gitlab-org/gitlab-ui/commit/5e205440d96b613fdec9f324f70dfc8a0bb11692))
|
|
14
|
+
* Decrease left margin for icon ([1b2e829](https://gitlab.com/gitlab-org/gitlab-ui/commit/1b2e829d1b810521b864ac23f878a88ca2fc6ff7))
|
|
15
|
+
* Make icon darker again ([6350e75](https://gitlab.com/gitlab-org/gitlab-ui/commit/6350e7530835496fb3c68dba8e68b0251574a146))
|
|
16
|
+
* Move icon sort position in table ([28f2599](https://gitlab.com/gitlab-org/gitlab-ui/commit/28f25991ec085bf3100d3b1bab380c50547995d2))
|
|
17
|
+
* Simplify if statements and width ([21bc5b2](https://gitlab.com/gitlab-org/gitlab-ui/commit/21bc5b2d3bc4a9fcfc4bcfba512ca6a329f0c95f))
|
|
18
|
+
|
|
1
19
|
## [74.9.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v74.9.0...v74.9.1) (2024-02-20)
|
|
2
20
|
|
|
3
21
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BTable } from 'bootstrap-vue/esm/index.js';
|
|
2
|
+
import GlIcon from '../icon/icon';
|
|
2
3
|
import { isDev, logWarning } from '../../../utils/utils';
|
|
3
4
|
import { tableFullProps, tableFullSlots, glTableLiteWarning } from './constants';
|
|
4
5
|
import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
@@ -17,7 +18,8 @@ const {
|
|
|
17
18
|
var script = {
|
|
18
19
|
name: 'GlTable',
|
|
19
20
|
components: {
|
|
20
|
-
BTable
|
|
21
|
+
BTable,
|
|
22
|
+
GlIcon
|
|
21
23
|
},
|
|
22
24
|
inheritAttrs: false,
|
|
23
25
|
props: {
|
|
@@ -31,14 +33,33 @@ var script = {
|
|
|
31
33
|
type: Boolean,
|
|
32
34
|
default: false,
|
|
33
35
|
required: false
|
|
36
|
+
},
|
|
37
|
+
sortBy: {
|
|
38
|
+
type: String,
|
|
39
|
+
required: false,
|
|
40
|
+
default: undefined
|
|
41
|
+
},
|
|
42
|
+
sortDesc: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
required: false,
|
|
45
|
+
default: false
|
|
34
46
|
}
|
|
35
47
|
},
|
|
48
|
+
data() {
|
|
49
|
+
return {
|
|
50
|
+
localSortBy: this.sortBy,
|
|
51
|
+
localSortDesc: this.sortDesc
|
|
52
|
+
};
|
|
53
|
+
},
|
|
36
54
|
computed: {
|
|
37
55
|
stickyHeaderClass() {
|
|
38
56
|
return this.stickyHeader ? 'gl-table--sticky-header' : null;
|
|
39
57
|
},
|
|
40
58
|
localTableClass() {
|
|
41
59
|
return ['gl-table', this.tableClass, this.stickyHeaderClass];
|
|
60
|
+
},
|
|
61
|
+
headSlots() {
|
|
62
|
+
return ['head()', ...Object.keys(this.$scopedSlots).filter(slotName => slotName.startsWith('head('))];
|
|
42
63
|
}
|
|
43
64
|
},
|
|
44
65
|
mounted() {
|
|
@@ -47,6 +68,23 @@ var script = {
|
|
|
47
68
|
if (isDev() && !shouldUseFullTable(this)) {
|
|
48
69
|
logWarning(glTableLiteWarning, this.$el);
|
|
49
70
|
}
|
|
71
|
+
},
|
|
72
|
+
methods: {
|
|
73
|
+
isSortable(_ref2) {
|
|
74
|
+
let {
|
|
75
|
+
field
|
|
76
|
+
} = _ref2;
|
|
77
|
+
return field === null || field === void 0 ? void 0 : field.sortable;
|
|
78
|
+
},
|
|
79
|
+
getSortingIcon(_ref3) {
|
|
80
|
+
let {
|
|
81
|
+
field
|
|
82
|
+
} = _ref3;
|
|
83
|
+
if (this.localSortBy !== (field === null || field === void 0 ? void 0 : field.key)) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
return this.localSortDesc ? 'arrow-down' : 'arrow-up';
|
|
87
|
+
}
|
|
50
88
|
}
|
|
51
89
|
};
|
|
52
90
|
|
|
@@ -54,7 +92,7 @@ var script = {
|
|
|
54
92
|
const __vue_script__ = script;
|
|
55
93
|
|
|
56
94
|
/* template */
|
|
57
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass,"fields":_vm.fields},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(
|
|
95
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass,"fields":_vm.fields,"sort-by":_vm.localSortBy,"sort-desc":_vm.localSortDesc},on:{"update:sortBy":function($event){_vm.localSortBy=$event;},"update:sort-by":function($event){_vm.localSortBy=$event;},"update:sortDesc":function($event){_vm.localSortDesc=$event;},"update:sort-desc":function($event){_vm.localSortDesc=$event;}},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slotName){return {key:slotName,fn:function(scope){return [_vm._t(slotName,null,null,scope)]}}}),_vm._l((_vm.headSlots),function(headSlotName){return {key:headSlotName,fn:function(scope){return [_c('div',{key:headSlotName,staticClass:"gl-display-flex gl-align-items-center"},[_vm._t(headSlotName,function(){return [_vm._v(_vm._s(scope.label))]},null,scope),(_vm.isSortable(scope))?[(_vm.getSortingIcon(scope))?_c('gl-icon',{staticClass:"gl-ml-3 gl-min-w-5 gl-text-gray-900",attrs:{"name":_vm.getSortingIcon(scope)}}):_c('div',{staticClass:"gl-display-inline-block gl-w-5 gl-h-5 gl-ml-3"})]:_vm._e()],2)]}}})],null,true)},'b-table',_vm.$attrs,false),_vm.$listeners))};
|
|
58
96
|
var __vue_staticRenderFns__ = [];
|
|
59
97
|
|
|
60
98
|
/* style */
|
|
@@ -266,12 +266,12 @@ var script = {
|
|
|
266
266
|
this.prompt = prompt;
|
|
267
267
|
this.sendChatPrompt();
|
|
268
268
|
},
|
|
269
|
-
handleScrolling() {
|
|
269
|
+
handleScrolling(event) {
|
|
270
270
|
const {
|
|
271
271
|
scrollTop,
|
|
272
272
|
offsetHeight,
|
|
273
273
|
scrollHeight
|
|
274
|
-
} =
|
|
274
|
+
} = event.target;
|
|
275
275
|
this.scrolledToBottom = scrollTop + offsetHeight >= scrollHeight;
|
|
276
276
|
},
|
|
277
277
|
async scrollToBottom() {
|
|
@@ -343,11 +343,11 @@ var script = {
|
|
|
343
343
|
const __vue_script__ = script;
|
|
344
344
|
|
|
345
345
|
/* template */
|
|
346
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isHidden)?_c('aside',{
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block gl-drawer gl-drawer-default gl-max-h-full gl-bottom-0 gl-shadow-none gl-border-l gl-border-t duo-chat",attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('header',{staticClass:"gl-drawer-header gl-drawer-header-sticky gl-z-index-200 gl-p-0! gl-border-b-0",attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-display-flex gl-justify-content-start gl-align-items-center gl-p-5"},[_c('h3',{staticClass:"gl-my-0 gl-font-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),_c('gl-experiment-badge',{attrs:{"help-page-url":_vm.badgeHelpPageUrl,"type":_vm.badgeType,"container-id":"chat-component"}}),_vm._v(" "),_c('gl-button',{staticClass:"gl-p-0! gl-ml-auto",attrs:{"category":"tertiary","variant":"default","icon":"close","size":"small","data-testid":"chat-close-button","aria-label":_vm.$options.i18n.CHAT_CLOSE_LABEL},on:{"click":_vm.hideChat}})],1),_vm._v(" "),_c('gl-alert',{staticClass:"gl-text-center gl-border-t gl-p-4 gl-text-gray-700 gl-bg-gray-50 legal-warning gl-max-w-full",attrs:{"dismissible":false,"variant":"tip","show-icon":false,"role":"alert","data-testid":"chat-legal-warning"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_GENERATED_BY_AI))]),_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):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-drawer-body",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingTrottled}},[_c('transition-group',{staticClass:"duo-chat-history gl-display-flex gl-flex-direction-column gl-justify-content-end gl-bg-gray-10",class:[
|
|
347
|
+
{
|
|
348
|
+
'gl-h-full': !_vm.hasMessages,
|
|
349
|
+
'force-scroll-bar': _vm.hasMessages,
|
|
350
|
+
} ],attrs:{"tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('gl-duo-chat-conversation',{key:("conversation-" + index),attrs:{"messages":conversation,"show-delimiter":index > 0},on:{"track-feedback":_vm.onTrackFeedback}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('gl-empty-state',{key:"empty-state",staticClass:"gl-flex-grow gl-justify-content-center",attrs:{"svg-path":_vm.$options.emptySvg,"svg-height":145,"title":_vm.emptyStateTitle,"description":_vm.emptyStateDescription}}),_vm._v(" "),_c('gl-duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('gl-duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable)?_c('footer',{staticClass:"gl-drawer-footer gl-drawer-footer-sticky gl-p-5 gl-border-t gl-bg-gray-10",class:{ 'gl-drawer-body-scrim-on-footer': !_vm.scrolledToBottom },attrs:{"data-testid":"chat-footer"}},[_c('gl-form',{attrs:{"data-testid":"chat-prompt-form"},on:{"submit":function($event){$event.stopPropagation();$event.preventDefault();return _vm.sendChatPrompt.apply(null, arguments)}}},[_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [_c('gl-button',{staticClass:"gl-absolute! gl-bottom-2 gl-right-2 gl-rounded-base!",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL,"disabled":_vm.isLoading}})]},proxy:true}],null,false,2232229068)},[_c('div',{staticClass:"duo-chat-input gl-flex-grow-1 gl-vertical-align-top gl-max-w-full gl-min-h-8 gl-inset-border-1-gray-400 gl-rounded-base gl-bg-white",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands gl-absolute! gl-translate-y-n100 gl-list-style-none gl-pl-0 gl-w-full gl-shadow-md",attrs:{"body-class":"gl-p-2!"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-display-flex gl-justify-content-space-between"},[_c('span',{staticClass:"gl-display-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-text-gray-500 gl-font-style-italic gl-text-right gl-pl-3"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute gl-h-full! gl-py-4! gl-bg-transparent! gl-rounded-top-right-none gl-rounded-bottom-right-none gl-shadow-none!",class:{ 'gl-text-truncate': !_vm.prompt },attrs:{"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"disabled":_vm.isLoading,"autofocus":""},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},"keyup":function($event){return _vm.onInputKeyup.apply(null, arguments)}},model:{value:(_vm.prompt),callback:function ($$v) {_vm.prompt=$$v;},expression:"prompt"}})],1)]),_vm._v(" "),_c('gl-form-text',{staticClass:"gl-text-gray-400 gl-line-height-20 gl-mt-3",attrs:{"data-testid":"chat-legal-disclaimer"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_DISCLAIMER))])],1)],1):_vm._e()]):_vm._e()};
|
|
351
351
|
var __vue_staticRenderFns__ = [];
|
|
352
352
|
|
|
353
353
|
/* style */
|