@gitlab/duo-ui 3.0.1 → 4.1.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 +20 -0
- package/README.md +4 -0
- package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +1 -1
- package/dist/components/chat/duo_chat.js +52 -30
- package/dist/components.css +1 -1
- package/dist/components.css.map +1 -1
- package/dist/tailwind.css +1 -1
- package/dist/tailwind.css.map +1 -1
- package/package.json +2 -1
- package/src/components/chat/components/duo_chat_message/duo_chat_message.scss +0 -4
- package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue +11 -6
- package/src/components/chat/duo_chat.scss +51 -0
- package/src/components/chat/duo_chat.vue +241 -207
- package/translations.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
# [4.1.0](https://gitlab.com/gitlab-org/duo-ui/compare/v4.0.0...v4.1.0) (2024-12-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Make Duo Chat empty state more engaging ([8635e23](https://gitlab.com/gitlab-org/duo-ui/commit/8635e23986eb2a892f1807f702055bd9c2c2f971))
|
|
7
|
+
|
|
8
|
+
# [4.0.0](https://gitlab.com/gitlab-org/duo-ui/compare/v3.0.1...v4.0.0) (2024-12-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* add resizable mechanism for DuoChat ([d4ae63c](https://gitlab.com/gitlab-org/duo-ui/commit/d4ae63ca03894a895f9dd75512be8210b8d593d1))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* This MR introduces
|
|
19
|
+
an optional resizable mechanism for DuoChat
|
|
20
|
+
|
|
1
21
|
## [3.0.1](https://gitlab.com/gitlab-org/duo-ui/compare/v3.0.0...v3.0.1) (2024-11-22)
|
|
2
22
|
|
|
3
23
|
|
package/README.md
CHANGED
package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js
CHANGED
|
@@ -29,7 +29,7 @@ var script = {
|
|
|
29
29
|
const __vue_script__ = script;
|
|
30
30
|
|
|
31
31
|
/* template */
|
|
32
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-
|
|
32
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-mt-5 gl-flex gl-flex-col gl-items-start gl-gap-3"},_vm._l((_vm.prompts),function(prompt,index){return _c('gl-button',{key:("question-" + index),staticClass:"duo-chat-suggestion-button gl-text-left",attrs:{"category":"secondary","variant":"default","icon":"question-o"},on:{"click":function($event){return _vm.handleClick(prompt)}}},[_c('span',{staticClass:"gl-whitespace-normal"},[_vm._v(_vm._s(prompt))])])}),1)};
|
|
33
33
|
var __vue_staticRenderFns__ = [];
|
|
34
34
|
|
|
35
35
|
/* style */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import throttle from 'lodash/throttle';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import VueResizable from 'vue-resizable';
|
|
3
|
+
import { GlButton, GlAlert, GlFormInputGroup, GlFormTextarea, GlForm, GlExperimentBadge, GlCard, GlDropdownItem, GlSafeHtmlDirective } from '@gitlab/ui';
|
|
4
4
|
import { translate } from '../../utils/i18n';
|
|
5
5
|
import { badgeTypes, badgeTypeValidator, CHAT_RESET_MESSAGE, CHAT_INCLUDE_MESSAGE, MESSAGE_MODEL_ROLES, CHAT_CLEAR_MESSAGE } from './constants';
|
|
6
6
|
import DuoChatLoader from './components/duo_chat_loader/duo_chat_loader';
|
|
@@ -10,10 +10,9 @@ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
|
|
|
10
10
|
|
|
11
11
|
const i18n = {
|
|
12
12
|
CHAT_DEFAULT_TITLE: translate('DuoChat.chatDefaultTitle', 'GitLab Duo Chat'),
|
|
13
|
+
CHAT_DISCLAMER: translate('GlDuoChat.chatDisclamer', 'Responses may be inaccurate. Verify before use.'),
|
|
13
14
|
CHAT_CLOSE_LABEL: translate('DuoChat.chatCloseLabel', 'Close the Code Explanation'),
|
|
14
|
-
CHAT_EMPTY_STATE_TITLE: translate('DuoChat.chatEmptyStateTitle', '
|
|
15
|
-
CHAT_EMPTY_STATE_DESC: translate('DuoChat.chatEmptyStateDesc', 'GitLab Duo Chat is your AI-powered assistant.'),
|
|
16
|
-
CHAT_EMPTY_STATE_SECONDARY_DESC: translate('DuoChat.chatEmptyStateSecondaryDesc', 'Responses may be inaccurate. Verify before use.'),
|
|
15
|
+
CHAT_EMPTY_STATE_TITLE: translate('DuoChat.chatEmptyStateTitle', '👋 I am GitLab Duo Chat, your personal AI-powered assistant. How can I help you today?'),
|
|
17
16
|
CHAT_PROMPT_PLACEHOLDER_DEFAULT: translate('DuoChat.chatPromptPlaceholderDefault', 'GitLab Duo Chat'),
|
|
18
17
|
CHAT_PROMPT_PLACEHOLDER_WITH_COMMANDS: translate('DuoChat.chatPromptPlaceholderWithCommands', 'Type /help to learn more'),
|
|
19
18
|
CHAT_SUBMIT_LABEL: translate('DuoChat.chatSubmitLabel', 'Send chat message.'),
|
|
@@ -30,7 +29,6 @@ const slashCommandsValidator = commands => commands.every(isSlashCommand);
|
|
|
30
29
|
var script = {
|
|
31
30
|
name: 'DuoChat',
|
|
32
31
|
components: {
|
|
33
|
-
GlEmptyState,
|
|
34
32
|
GlButton,
|
|
35
33
|
GlAlert,
|
|
36
34
|
GlFormInputGroup,
|
|
@@ -41,12 +39,42 @@ var script = {
|
|
|
41
39
|
DuoChatPredefinedPrompts,
|
|
42
40
|
DuoChatConversation,
|
|
43
41
|
GlCard,
|
|
44
|
-
GlDropdownItem
|
|
42
|
+
GlDropdownItem,
|
|
43
|
+
VueResizable
|
|
45
44
|
},
|
|
46
45
|
directives: {
|
|
47
46
|
SafeHtml: GlSafeHtmlDirective
|
|
48
47
|
},
|
|
49
48
|
props: {
|
|
49
|
+
/**
|
|
50
|
+
* Determines if the component should be resizable. When true, it renders inside
|
|
51
|
+
* a `vue-resizable` wrapper; otherwise, a standard `div` is used.
|
|
52
|
+
*/
|
|
53
|
+
shouldRenderResizable: {
|
|
54
|
+
type: Boolean,
|
|
55
|
+
required: false,
|
|
56
|
+
default: false
|
|
57
|
+
},
|
|
58
|
+
/**
|
|
59
|
+
* Defines the dimensions of the chat container when resizable.
|
|
60
|
+
* By default, the height is set to match the height of the browser window,
|
|
61
|
+
* and the width is fixed at 400px. The `top` position is left undefined,
|
|
62
|
+
* allowing it to be dynamically adjusted if needed.
|
|
63
|
+
*/
|
|
64
|
+
dimensions: {
|
|
65
|
+
type: Object,
|
|
66
|
+
required: false,
|
|
67
|
+
default: () => ({
|
|
68
|
+
width: undefined,
|
|
69
|
+
height: undefined,
|
|
70
|
+
top: undefined,
|
|
71
|
+
left: undefined,
|
|
72
|
+
maxWidth: undefined,
|
|
73
|
+
minWidth: 400,
|
|
74
|
+
maxHeight: undefined,
|
|
75
|
+
minHeight: 400
|
|
76
|
+
})
|
|
77
|
+
},
|
|
50
78
|
/**
|
|
51
79
|
* The title of the chat/feature.
|
|
52
80
|
*/
|
|
@@ -162,22 +190,6 @@ var script = {
|
|
|
162
190
|
required: false,
|
|
163
191
|
default: i18n.CHAT_EMPTY_STATE_TITLE
|
|
164
192
|
},
|
|
165
|
-
/**
|
|
166
|
-
* Override the default empty state description text.
|
|
167
|
-
*/
|
|
168
|
-
emptyStateDescription: {
|
|
169
|
-
type: String,
|
|
170
|
-
required: false,
|
|
171
|
-
default: i18n.CHAT_EMPTY_STATE_DESC
|
|
172
|
-
},
|
|
173
|
-
/**
|
|
174
|
-
* Override the default empty state description secondary text.
|
|
175
|
-
*/
|
|
176
|
-
emptyStateSecondaryDescription: {
|
|
177
|
-
type: String,
|
|
178
|
-
required: false,
|
|
179
|
-
default: i18n.CHAT_EMPTY_STATE_SECONDARY_DESC
|
|
180
|
-
},
|
|
181
193
|
/**
|
|
182
194
|
* Override the default chat prompt placeholder text.
|
|
183
195
|
*/
|
|
@@ -306,6 +318,9 @@ var script = {
|
|
|
306
318
|
this.scrollToBottom();
|
|
307
319
|
},
|
|
308
320
|
methods: {
|
|
321
|
+
updateSize(e) {
|
|
322
|
+
this.$emit('chat-resize', e);
|
|
323
|
+
},
|
|
309
324
|
compositionEnd() {
|
|
310
325
|
this.compositionJustEnded = true;
|
|
311
326
|
},
|
|
@@ -487,19 +502,26 @@ var script = {
|
|
|
487
502
|
this.contextItemMenuRef = ref;
|
|
488
503
|
}
|
|
489
504
|
},
|
|
490
|
-
i18n
|
|
491
|
-
emptySvg
|
|
505
|
+
i18n
|
|
492
506
|
};
|
|
493
507
|
|
|
494
508
|
/* script */
|
|
495
509
|
const __vue_script__ = script;
|
|
496
510
|
|
|
497
511
|
/* template */
|
|
498
|
-
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
512
|
+
var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.shouldRenderResizable ? 'vue-resizable' : 'div',{tag:"component",class:{
|
|
513
|
+
'duo-chat-resizable': _vm.shouldRenderResizable,
|
|
514
|
+
'non-resizable-wrapper': !_vm.shouldRenderResizable,
|
|
515
|
+
},attrs:{"width":_vm.shouldRenderResizable ? _vm.dimensions.width : null,"height":_vm.shouldRenderResizable ? _vm.dimensions.height : null,"max-width":_vm.shouldRenderResizable ? _vm.dimensions.maxWidth : null,"max-height":_vm.shouldRenderResizable ? _vm.dimensions.maxHeight : null,"min-width":_vm.shouldRenderResizable ? _vm.dimensions.minWidth : null,"left":_vm.shouldRenderResizable ? _vm.dimensions.left : null,"top":_vm.shouldRenderResizable ? _vm.dimensions.top : null,"fit-parent":true,"min-height":_vm.shouldRenderResizable ? _vm.dimensions.minHeight : null,"active":_vm.shouldRenderResizable ? ['l', 't', 'lt'] : null},on:{"resize:end":_vm.updateSize}},[(!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat gl-bottom-0 gl-max-h-full",class:{
|
|
516
|
+
'resizable-content': _vm.shouldRenderResizable,
|
|
517
|
+
'duo-chat-drawer': !_vm.shouldRenderResizable,
|
|
518
|
+
},attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('header',{staticClass:"duo-chat-drawer-header duo-chat-drawer-header-sticky gl-border-0 gl-bg-default !gl-p-0",class:{
|
|
519
|
+
'gl-z-200': !_vm.shouldRenderResizable,
|
|
520
|
+
},attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-flex gl-items-center gl-justify-start gl-p-5"},[_c('h3',{staticClass:"gl-my-0 gl-text-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_vm.badgeType)?_c('gl-experiment-badge',{attrs:{"help-page-url":_vm.badgeHelpPageUrl,"type":_vm.badgeType,"container-id":"chat-component"}}):_vm._e(),_vm._v(" "),_c('gl-button',{staticClass:"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(" "),_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:"duo-chat-drawer-body gl-bg-default",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingTrottled}},[_c('transition-group',{staticClass:"duo-chat-history gl-flex gl-flex-col gl-justify-end",class:[
|
|
521
|
+
{
|
|
522
|
+
'gl-h-full': !_vm.hasMessages,
|
|
523
|
+
'force-scroll-bar': _vm.hasMessages,
|
|
524
|
+
} ],attrs:{"tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('duo-chat-conversation',{key:("conversation-" + index),attrs:{"enable-code-insertion":_vm.enableCodeInsertion,"messages":conversation,"canceled-request-ids":_vm.canceledRequestIds,"show-delimiter":index > 0},on:{"track-feedback":_vm.onTrackFeedback,"insert-code-snippet":_vm.onInsertCodeSnippet,"get-context-item-content":_vm.onGetContextItemContent}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('div',{key:"empty-state-message",staticClass:"duo-chat-message gl-rounded-bl-none gl-border-1 gl-border-solid gl-border-gray-50 gl-bg-gray-10 gl-p-4 gl-leading-20 gl-text-gray-900 gl-break-anywhere",attrs:{"data-testid":"gl-duo-chat-empty-state"}},[(_vm.emptyStateTitle)?_c('p',{staticClass:"gl-m-0",attrs:{"data-testid":"gl-duo-chat-empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.emptyStateTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})],1)]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('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:"duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-border-0 gl-bg-default gl-pb-3",class:{ 'duo-chat-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('div',{staticClass:"gl-relative gl-max-w-full"},[_vm._t("context-items-menu",null,{"isOpen":_vm.contextItemsMenuIsOpen,"onClose":_vm.closeContextItemsMenuOpen,"setRef":_vm.setContextItemsMenuRef,"focusPrompt":_vm.focusChatInput})],2),_vm._v(" "),_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.displaySubmitButton)?_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","data-testid":"chat-prompt-submit-button","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL}}):_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"stop","category":"primary","variant":"default","data-testid":"chat-prompt-cancel-button","aria-label":_vm.$options.i18n.CHAT_CANCEL_LABEL},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,608602988)},[_c('div',{staticClass:"duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 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-flex gl-justify-between"},[_c('span',{staticClass:"gl-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-pl-3 gl-text-right gl-italic gl-text-subtle"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none",class:{ 'gl-truncate': !_vm.prompt },attrs:{"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"autofocus":""},on:{"compositionend":_vm.compositionEnd},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)])],1),_vm._v(" "),_c('p',{staticClass:"gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_DISCLAMER)+"\n ")])],1):_vm._e()]):_vm._e()])};
|
|
503
525
|
var __vue_staticRenderFns__ = [];
|
|
504
526
|
|
|
505
527
|
/* style */
|
package/dist/components.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@charset "UTF-8";.duo-chat{z-index:999}.duo-chat .message-enter-active,.duo-chat .message-leave-active{transition:all .5s ease}.duo-chat .message-enter,.duo-chat .message-leave-to{opacity:0;transform:translateY(10px)}.duo-chat .duo-chat-loader.message-leave,.duo-chat .duo-chat-loader.message-leave-to{transition:none}.duo-chat .duo-chat-drawer-body-scrim-on-footer:before{background:linear-gradient(180deg,#fbfafd00,#fbfafd)}.duo-chat .duo-chat-drawer-body{overflow-y:auto}.duo-chat .duo-chat-drawer-body>*,.duo-chat .duo-chat-drawer-header{padding:1rem}.duo-chat-drawer{--tw-shadow:0 0 2px var(--gl-shadow-color-default,#05050629),0 0 2px var(--gl-shadow-color-default,#05050629),0 4px 12px var(--gl-shadow-color-default,#05050629);--tw-shadow-colored:0 0 2px var(--tw-shadow-color),0 0 2px var(--tw-shadow-color),0 4px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;font-size:.875rem;height:100%;line-height:1rem;overflow-y:auto;position:fixed;right:0;transition-duration:.2s;transition-property:all;transition-timing-function:ease;width:100%}.duo-chat-drawer-header,.duo-chat-drawer-header-sticky{border-bottom:1px solid var(--gl-border-color-default)}.duo-chat-drawer-header-sticky{position:sticky;top:0}.duo-chat-drawer-body{background-color:inherit;flex-grow:1;overscroll-behavior:contain}.duo-chat-drawer-footer{border-top:1px solid var(--gl-border-color-default);padding:1rem}.duo-chat-drawer-footer-sticky{background-color:var(--white,#fff);bottom:0;position:sticky}.duo-chat-drawer-body-scrim-on-footer:before{--tw-translate-y:-100%;background:linear-gradient(180deg,#fbfafd00,#fbfafd);content:"";height:1rem;left:0;pointer-events:none;position:absolute;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:100%}.duo-chat-history{scroll-behavior:smooth}.duo-chat-history.force-scroll-bar{min-height:calc(100% + 1rem)}.duo-chat-history *{overflow-anchor:none}.duo-chat-history .scroll-anchor{height:1px;margin-top:-1px;overflow-anchor:auto}.duo-chat-input{background:var(--gl-control-background-color-default);border-radius:1.25rem;box-shadow:inset 0 0 0 1px var(--gl-control-border-color-default);display:flex;flex-direction:column;max-height:240px;overflow:hidden}.duo-chat-input:focus-within{box-shadow:inset 0 0 0 1px var(--gl-control-border-color-focus),0 0 0 1px var(--gl-focus-ring-inner-color),0 0 0 3px var(--gl-focus-ring-outer-color);outline:none}@media (forced-colors:active){.duo-chat-input:focus-within{outline:2px solid LinkText}}.duo-chat-input .gl-form-textarea.form-control{border-radius:1.25rem;flex:1;max-height:240px;padding-right:40px;resize:none}.duo-chat-input:after{content:attr(data-value) " ";font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";padding:.75rem 40px .75rem .75rem;visibility:hidden;word-break:break-word}.slash-commands{margin-top:-.25rem}.slash-commands .active-command{background-color:var(--gray-50,#ececef);border-radius:.25rem}.slash-commands .gl-dropdown-item button.dropdown-item{background-color:initial;font-size:.75rem;padding-left:.5rem;padding-right:.5rem}.slash-commands .gl-dropdown-item button.dropdown-item:hover{background-color:initial}.duo-chat-markdown{color:#28272d;font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5rem}.duo-chat-markdown :first-child{margin-top:0}.duo-chat-markdown .gl-h1,.duo-chat-markdown h1{font-size:clamp(1.5rem,.8333333333rem + 1.3888888889vw,1.875rem);margin-top:2rem}.duo-chat-markdown .gl-h1,.duo-chat-markdown .gl-h2,.duo-chat-markdown h1,.duo-chat-markdown h2{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem}.duo-chat-markdown .gl-h2,.duo-chat-markdown h2{font-size:clamp(1.3125rem,.8680555556rem + .9259259259vw,1.5625rem);margin-top:1.5rem}.duo-chat-markdown .gl-h3,.duo-chat-markdown h3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem);margin-top:1.5rem}.duo-chat-markdown .gl-h3,.duo-chat-markdown .gl-h4,.duo-chat-markdown h3,.duo-chat-markdown h4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem}.duo-chat-markdown .gl-h4,.duo-chat-markdown h4{font-size:1rem;margin-top:1rem}.duo-chat-markdown .gl-h5,.duo-chat-markdown h5{font-size:.875rem}.duo-chat-markdown .gl-h5,.duo-chat-markdown .gl-h6,.duo-chat-markdown h5,.duo-chat-markdown h6{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-markdown .gl-h6,.duo-chat-markdown h6{font-size:.8125rem}.duo-chat-markdown .gl-paragraph,.duo-chat-markdown p{margin-bottom:0;margin-top:0}.duo-chat-markdown .gl-paragraph+.gl-paragraph,.duo-chat-markdown .gl-paragraph+p,.duo-chat-markdown p+.gl-paragraph,.duo-chat-markdown p+p{margin-top:1rem}.duo-chat-markdown .gl-paragraph.sm,.duo-chat-markdown .sm,.duo-chat-markdown p.sm{font-size:.875rem;line-height:1.25rem}.duo-chat-markdown .monospace,.duo-chat-markdown code{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.duo-chat-markdown blockquote{box-shadow:inset 4px 0 0 0 #dcdcde;color:var(--gray-700,#4c4b51);margin:.5rem 0;padding-bottom:.5rem;padding-left:1.5rem;padding-top:.5rem}.duo-chat-markdown .idiff{border-radius:.25rem;display:inline-flex;padding-left:.25rem;padding-right:.25rem}.duo-chat-markdown .deletion{background-color:var(--red-100,#fdd4cd)}.duo-chat-markdown .addition{background-color:var(--green-100,#c3e6cd)}.duo-chat-markdown code{background-color:var(--gray-50,#ececef);border-radius:.25rem;color:var(--gray-950,#18171d);padding:.125rem .25rem}.duo-chat-markdown pre{border-radius:.25rem;box-shadow:inset 0 0 0 1px #dcdcde;margin-bottom:2rem;margin-top:2rem;overflow:auto;padding:.5rem .75rem}.duo-chat-markdown pre code{background-color:var(--white,#fff);border-radius:0;color:var(--gray-900,#28272d);padding:0}.duo-chat-markdown .audio-container{display:inline-flex;flex-direction:column;width:100%}.duo-chat-markdown .audio-container audio{width:100%}.duo-chat-markdown .audio-container a{margin-top:.5rem}.duo-chat-markdown .audio-container a:before{-webkit-font-smoothing:antialiased;content:"📎";margin-right:.25rem;text-rendering:auto}.duo-chat-markdown table{margin-bottom:2rem;margin-top:2rem}.duo-chat-markdown table td,.duo-chat-markdown table th{box-shadow:inset 0 -1px 0 0 #dcdcde;padding:.75rem .5rem;vertical-align:top}.duo-chat-markdown table th{box-shadow:inset 0 1px 0 0 #dcdcde,inset 0 -1px 0 0 #dcdcde;font-weight:600}.duo-chat-markdown table thead{background-color:var(--gray-50,#ececef)}.duo-chat-markdown table tr:nth-child(2n){background-color:var(--gray-10,#fbfafd)}.duo-chat-compact-markdown{font-size:.875rem;line-height:1.25rem}.duo-chat-compact-markdown .gl-h1,.duo-chat-compact-markdown h1{color:var(--gl-text-color-heading);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem;margin-top:2rem}.duo-chat-compact-markdown .gl-h2,.duo-chat-compact-markdown h2{color:var(--gl-text-color-heading);font-size:1.3125rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem}.duo-chat-compact-markdown .gl-h3,.duo-chat-compact-markdown h3{color:var(--gl-text-color-heading);font-size:1.125rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem}.duo-chat-compact-markdown .gl-h4,.duo-chat-compact-markdown h4{color:var(--gl-text-color-heading);font-size:1rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .gl-h5,.duo-chat-compact-markdown h5{color:var(--gl-text-color-heading);font-size:.875rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .gl-h6,.duo-chat-compact-markdown h6{color:var(--gl-text-color-heading);font-size:.8125rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .sm{font-size:.75rem}.duo-chat-compact-markdown .monospace,.duo-chat-compact-markdown code{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.duo-chat-compact-markdown table td,.duo-chat-compact-markdown table th{padding-bottom:.5rem;padding-top:.5rem}.duo-chat-loader{color:var(--gray-500,#737278);display:flex}.duo-chat-loader .transition{transition:width .2s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .transition{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-enter{opacity:0}.duo-chat-loader .text-enter-active{transition:opacity .4s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .text-enter-active{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-enter-to,.duo-chat-loader .text-leave{opacity:1}.duo-chat-loader .text-leave-active{transition:opacity .2s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .text-leave-active{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-leave-to{opacity:0}.duo-chat-message{border-radius:1.25rem;max-width:90%;position:relative}.duo-chat-message:not(:last-child){margin-bottom:.75rem}.duo-chat-message code{background-color:var(--gray-100,#dcdcde)}.duo-chat-message pre{border-color:var(--gl-border-color-default);border-style:solid;border-width:1px;box-shadow:none!important;color:inherit;max-height:60vh;padding:.5rem .75rem}.duo-chat-message pre:after,.duo-chat-message pre:before{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;content:"";height:2rem;left:1px;pointer-events:none;position:absolute;width:calc(100% - 2px)}.duo-chat-message pre.scrim-top:before{--tw-rotate:-180deg;background:linear-gradient(180deg,#fbfafd00,#fbfafd);top:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.duo-chat-message pre.scrim-bottom:after{background:linear-gradient(180deg,#fbfafd00,#fbfafd);bottom:1px}.duo-chat-message pre code{background-color:initial;font-size:.75rem;line-height:1;white-space:inherit}.duo-chat-message p:last-of-type{margin-bottom:0}.duo-chat-message copy-code,.duo-chat-message insert-code-snippet{opacity:0;position:absolute;right:.5rem;top:.5rem;transition-duration:.2s;transition-property:all;transition-timing-function:ease}.duo-chat-message copy-code{margin-right:2.5rem}.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code,.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code:focus-within,.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet,.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet:focus-within{opacity:1}.duo-chat-message .has-error{margin-left:1.5rem}.duo-chat-message .error-icon{position:absolute;top:14px}.insert-code-hidden insert-code-snippet{display:none}.insert-code-hidden copy-code{margin-right:0}
|
|
1
|
+
@charset "UTF-8";.resizable-content{--tw-shadow:0 0 2px var(--gl-shadow-color-default,#05050629),0 0 2px var(--gl-shadow-color-default,#05050629),0 4px 12px var(--gl-shadow-color-default,#05050629);--tw-shadow-colored:0 0 2px var(--tw-shadow-color),0 0 2px var(--tw-shadow-color),0 4px 12px var(--tw-shadow-color);background:var(--gl-background-color-default);border-radius:.5rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;font-size:.875rem;height:100%;line-height:1rem;overflow-y:auto;width:100%}.resizable-component .resizable-l,.resizable-component .resizable-t{background-color:initial;border-radius:3px;transition:background-color .2s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.resizable-component .resizable-l,.resizable-component .resizable-t{transition-delay:0ms!important;transition-duration:.01ms!important}}.resizable-component .resizable-l:hover,.resizable-component .resizable-t:hover{background-color:var(--gl-color-blue-200)}.resizable-component .resizable-t{height:4px!important;left:50%!important;top:2px!important;transform:translateX(-50%);width:95%!important}.resizable-component .resizable-l{height:95%!important;left:2px!important;top:50%!important;transform:translateY(-50%);width:4px!important}.duo-chat{z-index:999}.duo-chat .message-enter-active,.duo-chat .message-leave-active{transition:all .5s ease}.duo-chat .message-enter,.duo-chat .message-leave-to{opacity:0;transform:translateY(10px)}.duo-chat .duo-chat-loader.message-leave,.duo-chat .duo-chat-loader.message-leave-to{transition:none}.duo-chat .duo-chat-drawer-body-scrim-on-footer:before{background:linear-gradient(180deg,#fbfafd00,#fbfafd)}.duo-chat .duo-chat-drawer-body{overflow-y:auto}.duo-chat .duo-chat-drawer-body>*,.duo-chat .duo-chat-drawer-header{padding:1rem}.duo-chat-drawer{--tw-shadow:0 0 2px var(--gl-shadow-color-default,#05050629),0 0 2px var(--gl-shadow-color-default,#05050629),0 4px 12px var(--gl-shadow-color-default,#05050629);--tw-shadow-colored:0 0 2px var(--tw-shadow-color),0 0 2px var(--tw-shadow-color),0 4px 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column;font-size:.875rem;height:100%;line-height:1rem;overflow-y:auto;position:fixed;right:0;transition-duration:.2s;transition-property:all;transition-timing-function:ease;width:100%}.duo-chat-drawer-header,.duo-chat-drawer-header-sticky{border-bottom:1px solid var(--gl-border-color-default)}.duo-chat-drawer-header-sticky{position:sticky;top:0}.duo-chat-drawer-body{background-color:inherit;flex-grow:1;overscroll-behavior:contain}.duo-chat-drawer-footer{border-top:1px solid var(--gl-border-color-default);padding:1rem}.duo-chat-drawer-footer-sticky{background-color:var(--white,#fff);bottom:0;position:sticky}.duo-chat-drawer-body-scrim-on-footer:before{--tw-translate-y:-100%;background:linear-gradient(180deg,#fbfafd00,#fbfafd);content:"";height:1rem;left:0;pointer-events:none;position:absolute;top:0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:100%}.duo-chat-history{scroll-behavior:smooth}.duo-chat-history.force-scroll-bar{min-height:calc(100% + 1rem)}.duo-chat-history *{overflow-anchor:none}.duo-chat-history .scroll-anchor{height:1px;margin-top:-1px;overflow-anchor:auto}.duo-chat-input{background:var(--gl-control-background-color-default);border-radius:1.25rem;box-shadow:inset 0 0 0 1px var(--gl-control-border-color-default);display:flex;flex-direction:column;max-height:240px;overflow:hidden}.duo-chat-input:focus-within{box-shadow:inset 0 0 0 1px var(--gl-control-border-color-focus),0 0 0 1px var(--gl-focus-ring-inner-color),0 0 0 3px var(--gl-focus-ring-outer-color);outline:none}@media (forced-colors:active){.duo-chat-input:focus-within{outline:2px solid LinkText}}.duo-chat-input .gl-form-textarea.form-control{border-radius:1.25rem;flex:1;max-height:240px;padding-right:40px;resize:none}.duo-chat-input:after{content:attr(data-value) " ";font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";padding:.75rem 40px .75rem .75rem;visibility:hidden;word-break:break-word}.duo-chat .duo-chat-suggestion-button{border-radius:1.25rem}.slash-commands{margin-top:-.25rem}.slash-commands .active-command{background-color:var(--gray-50,#ececef);border-radius:.25rem}.slash-commands .gl-dropdown-item button.dropdown-item{background-color:initial;font-size:.75rem;padding-left:.5rem;padding-right:.5rem}.slash-commands .gl-dropdown-item button.dropdown-item:hover{background-color:initial}.duo-chat-markdown{color:#28272d;font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5rem}.duo-chat-markdown :first-child{margin-top:0}.duo-chat-markdown .gl-h1,.duo-chat-markdown h1{font-size:clamp(1.5rem,.8333333333rem + 1.3888888889vw,1.875rem);margin-top:2rem}.duo-chat-markdown .gl-h1,.duo-chat-markdown .gl-h2,.duo-chat-markdown h1,.duo-chat-markdown h2{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem}.duo-chat-markdown .gl-h2,.duo-chat-markdown h2{font-size:clamp(1.3125rem,.8680555556rem + .9259259259vw,1.5625rem);margin-top:1.5rem}.duo-chat-markdown .gl-h3,.duo-chat-markdown h3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem);margin-top:1.5rem}.duo-chat-markdown .gl-h3,.duo-chat-markdown .gl-h4,.duo-chat-markdown h3,.duo-chat-markdown h4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem}.duo-chat-markdown .gl-h4,.duo-chat-markdown h4{font-size:1rem;margin-top:1rem}.duo-chat-markdown .gl-h5,.duo-chat-markdown h5{font-size:.875rem}.duo-chat-markdown .gl-h5,.duo-chat-markdown .gl-h6,.duo-chat-markdown h5,.duo-chat-markdown h6{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-markdown .gl-h6,.duo-chat-markdown h6{font-size:.8125rem}.duo-chat-markdown .gl-paragraph,.duo-chat-markdown p{margin-bottom:0;margin-top:0}.duo-chat-markdown .gl-paragraph+.gl-paragraph,.duo-chat-markdown .gl-paragraph+p,.duo-chat-markdown p+.gl-paragraph,.duo-chat-markdown p+p{margin-top:1rem}.duo-chat-markdown .gl-paragraph.sm,.duo-chat-markdown .sm,.duo-chat-markdown p.sm{font-size:.875rem;line-height:1.25rem}.duo-chat-markdown .monospace,.duo-chat-markdown code{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.duo-chat-markdown blockquote{box-shadow:inset 4px 0 0 0 #dcdcde;color:var(--gray-700,#4c4b51);margin:.5rem 0;padding-bottom:.5rem;padding-left:1.5rem;padding-top:.5rem}.duo-chat-markdown .idiff{border-radius:.25rem;display:inline-flex;padding-left:.25rem;padding-right:.25rem}.duo-chat-markdown .deletion{background-color:var(--red-100,#fdd4cd)}.duo-chat-markdown .addition{background-color:var(--green-100,#c3e6cd)}.duo-chat-markdown code{background-color:var(--gray-50,#ececef);border-radius:.25rem;color:var(--gray-950,#18171d);padding:.125rem .25rem}.duo-chat-markdown pre{border-radius:.25rem;box-shadow:inset 0 0 0 1px #dcdcde;margin-bottom:2rem;margin-top:2rem;overflow:auto;padding:.5rem .75rem}.duo-chat-markdown pre code{background-color:var(--white,#fff);border-radius:0;color:var(--gray-900,#28272d);padding:0}.duo-chat-markdown .audio-container{display:inline-flex;flex-direction:column;width:100%}.duo-chat-markdown .audio-container audio{width:100%}.duo-chat-markdown .audio-container a{margin-top:.5rem}.duo-chat-markdown .audio-container a:before{-webkit-font-smoothing:antialiased;content:"📎";margin-right:.25rem;text-rendering:auto}.duo-chat-markdown table{margin-bottom:2rem;margin-top:2rem}.duo-chat-markdown table td,.duo-chat-markdown table th{box-shadow:inset 0 -1px 0 0 #dcdcde;padding:.75rem .5rem;vertical-align:top}.duo-chat-markdown table th{box-shadow:inset 0 1px 0 0 #dcdcde,inset 0 -1px 0 0 #dcdcde;font-weight:600}.duo-chat-markdown table thead{background-color:var(--gray-50,#ececef)}.duo-chat-markdown table tr:nth-child(2n){background-color:var(--gray-10,#fbfafd)}.duo-chat-compact-markdown{font-size:.875rem;line-height:1.25rem}.duo-chat-compact-markdown .gl-h1,.duo-chat-compact-markdown h1{color:var(--gl-text-color-heading);font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem;margin-top:2rem}.duo-chat-compact-markdown .gl-h2,.duo-chat-compact-markdown h2{color:var(--gl-text-color-heading);font-size:1.3125rem;font-weight:600;letter-spacing:-.01em;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem}.duo-chat-compact-markdown .gl-h3,.duo-chat-compact-markdown h3{color:var(--gl-text-color-heading);font-size:1.125rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem}.duo-chat-compact-markdown .gl-h4,.duo-chat-compact-markdown h4{color:var(--gl-text-color-heading);font-size:1rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .gl-h5,.duo-chat-compact-markdown h5{color:var(--gl-text-color-heading);font-size:.875rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .gl-h6,.duo-chat-compact-markdown h6{color:var(--gl-text-color-heading);font-size:.8125rem;font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:1rem}.duo-chat-compact-markdown .sm{font-size:.75rem}.duo-chat-compact-markdown .monospace,.duo-chat-compact-markdown code{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.duo-chat-compact-markdown table td,.duo-chat-compact-markdown table th{padding-bottom:.5rem;padding-top:.5rem}.duo-chat-loader{color:var(--gray-500,#737278);display:flex}.duo-chat-loader .transition{transition:width .2s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .transition{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-enter{opacity:0}.duo-chat-loader .text-enter-active{transition:opacity .4s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .text-enter-active{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-enter-to,.duo-chat-loader .text-leave{opacity:1}.duo-chat-loader .text-leave-active{transition:opacity .2s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion){.duo-chat-loader .text-leave-active{transition-delay:0ms!important;transition-duration:.01ms!important}}.duo-chat-loader .text-leave-to{opacity:0}.duo-chat-message{border-radius:1.25rem;max-width:90%;position:relative}.duo-chat-message:not(:last-child){margin-bottom:.75rem}.duo-chat-message code{background-color:var(--gray-100,#dcdcde)}.duo-chat-message pre{border-color:var(--gl-border-color-default);border-style:solid;border-width:1px;box-shadow:none!important;color:inherit;max-height:60vh;padding:.5rem .75rem}.duo-chat-message pre:after,.duo-chat-message pre:before{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem;content:"";height:2rem;left:1px;pointer-events:none;position:absolute;width:calc(100% - 2px)}.duo-chat-message pre.scrim-top:before{--tw-rotate:-180deg;background:linear-gradient(180deg,#fbfafd00,#fbfafd);top:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.duo-chat-message pre.scrim-bottom:after{background:linear-gradient(180deg,#fbfafd00,#fbfafd);bottom:1px}.duo-chat-message pre code{background-color:initial;font-size:.75rem;line-height:1;white-space:inherit}.duo-chat-message copy-code,.duo-chat-message insert-code-snippet{opacity:0;position:absolute;right:.5rem;top:.5rem;transition-duration:.2s;transition-property:all;transition-timing-function:ease}.duo-chat-message copy-code{margin-right:2.5rem}.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code,.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code:focus-within,.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet,.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet:focus-within{opacity:1}.duo-chat-message .has-error{margin-left:1.5rem}.duo-chat-message .error-icon{position:absolute;top:14px}.insert-code-hidden insert-code-snippet{display:none}.insert-code-hidden copy-code{margin-right:0}
|
|
2
2
|
/*# sourceMappingURL=components.css.map */
|
package/dist/components.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components.scss"],"names":[],"mappings":"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","file":"components.css","sourcesContent":["@charset \"UTF-8\";\n/*\n* SASS preserves units in arithmetic operations. For example:\n* 12em * 0 = 0em. This function return the unit of a numeric value.\n*\n* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ\n*/\n/**\n* Declares a property with a fluid value that decreases or\n* rises depending on the viewport’s size. The property type\n* should be numeric.\n*\n* Values are expected in rem units.\n* Fluid range: between 48rem (768px) – 75rem (1200px).\n*\n* @param $property Property name, i.e. line-height, font-size, width, height, etc.\n* @param $min Property value lower bound.\n* @param $max Property value upper bound.\n*/\n/**\n* Helper function for :focus\n*\n* @param $size is deprecated and should not be used anymore\n*/\n/**\n* Helper function for @media of at least the minimum\n* breakpoint width.\n*\n* @param $name Breakpoint name, such as `sm` or `md`.\n*/\n/**\n* Helper function for @media of at most the maximum\n* breakpoint width.\n*\n* Note: Before using, consider using a mobile-first\n* approach, and define @media for larger breakpoints\n* using `gl-media-breakpoint-up` while using this rule as\n* the starting point instead.\n*\n* @param $name Breakpoint, such as `sm` or `md`. `xs` is not valid\n*/\n/**\n* Helper function to resolve font-size value from $gl-font-sizes and\n* $gl-font-sizes-fixed maps.\n*\n* @param $size Number font-size scale\n* @param $fixed Boolean toggle default and fixed font size scales\n*/\n/**\n* Defines default properties for heading typography based on font-size\n* scale value and default or fixed sizing.\n*\n* Note: overrides Bootstrap margin-top, other margin is determined by\n* individual context\n*\n* @param $size Number font-size scale\n* @param $fixed Boolean toggle default and fixed font size scales\n*/\n.duo-chat {\n z-index: 999;\n}\n.duo-chat .message-enter-active,\n.duo-chat .message-leave-active {\n transition: all 0.5s ease;\n}\n.duo-chat .message-enter,\n.duo-chat .message-leave-to {\n @apply gl-opacity-0;\n transform: translateY(10px);\n}\n.duo-chat .duo-chat-loader.message-leave,\n.duo-chat .duo-chat-loader.message-leave-to {\n transition: none;\n}\n.duo-chat .duo-chat-drawer-body-scrim-on-footer::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n}\n.duo-chat .duo-chat-drawer-body {\n overflow-y: auto;\n}\n.duo-chat .duo-chat-drawer-header,\n.duo-chat .duo-chat-drawer-body > * {\n @apply gl-p-5;\n}\n\n.duo-chat-drawer {\n right: 0;\n @apply gl-transition-all;\n position: fixed;\n @apply gl-h-full;\n @apply gl-w-full;\n @apply gl-overflow-y-auto;\n @apply gl-shadow-lg;\n @apply gl-text-base;\n @apply gl-leading-normal;\n @apply gl-flex;\n @apply gl-flex-col;\n}\n\n.duo-chat-drawer-header {\n @apply gl-border-b;\n}\n\n.duo-chat-drawer-header-sticky {\n top: 0;\n position: sticky;\n @apply gl-border-b;\n}\n\n.duo-chat-drawer-body {\n @apply gl-grow;\n background-color: inherit;\n overscroll-behavior: contain;\n}\n\n.duo-chat-drawer-footer {\n @apply gl-border-t;\n @apply gl-p-5;\n}\n\n.duo-chat-drawer-footer-sticky {\n @apply gl-bg-white;\n bottom: 0;\n position: sticky;\n}\n\n.duo-chat-drawer-body-scrim-on-footer::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n top: 0;\n @apply -gl-translate-y-full;\n content: \"\";\n left: 0;\n position: absolute;\n @apply gl-pointer-events-none;\n @apply gl-w-full;\n @apply gl-h-5;\n}\n\n.duo-chat-history {\n scroll-behavior: smooth;\n /*\n Browsers a are pretty good at keeping the focus on an element while\n the parent element grows in size. With this we mark all child elements\n of the chat history as \"non\" anchors.\n https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor\n */\n /*\n Right at the bottom of the chat history we add a scroll-anchor element.\n This scroll-anchor element is the only \"possible\" anchor. The beauty of it:\n It only will be used as an anchor _if_ it is currently inside the view port.\n So if the user manually scrolls up while a chunked message is coming in,\n it won't stick to the bottom while the message still loads.\n */\n}\n.duo-chat-history.force-scroll-bar {\n min-height: calc(100% + 1rem);\n}\n.duo-chat-history * {\n overflow-anchor: none;\n}\n.duo-chat-history .scroll-anchor {\n overflow-anchor: auto;\n height: 1px;\n margin-top: -1px;\n}\n\n.duo-chat-input {\n @apply gl-flex;\n @apply gl-flex-col;\n max-height: 240px;\n overflow: hidden;\n background: var(--gl-control-background-color-default);\n box-shadow: inset 0 0 0 1px var(--gl-control-border-color-default);\n border-radius: 1.25rem;\n}\n.duo-chat-input:focus-within {\n box-shadow: inset 0 0 0 1px var(--gl-control-border-color-focus), 0 0 0 1px var(--gl-focus-ring-inner-color), 0 0 0 3px var(--gl-focus-ring-outer-color);\n outline: none;\n}\n@media (forced-colors: active) {\n .duo-chat-input:focus-within {\n outline: 2px solid LinkText;\n }\n}\n.duo-chat-input .gl-form-textarea.form-control {\n flex: 1;\n resize: none;\n max-height: 240px;\n padding-right: 40px;\n border-radius: 1.25rem;\n}\n.duo-chat-input::after {\n content: attr(data-value) \" \";\n @apply gl-invisible;\n @apply gl-p-4;\n @apply gl-font-regular;\n padding-right: 40px;\n word-break: break-word;\n}\n\n.slash-commands {\n @apply -gl-mt-2;\n}\n.slash-commands .active-command {\n @apply gl-bg-gray-50;\n @apply gl-rounded-base;\n}\n.slash-commands .gl-dropdown-item button.dropdown-item {\n @apply gl-text-sm;\n @apply gl-px-3;\n @apply gl-bg-transparent;\n}\n.slash-commands .gl-dropdown-item button.dropdown-item:hover {\n @apply gl-bg-transparent;\n}\n\n.duo-chat-markdown {\n @apply gl-text-lg;\n @apply gl-leading-24;\n color: #28272d;\n @apply gl-font-regular;\n @apply gl-font-normal;\n}\n.duo-chat-markdown :first-child {\n @apply gl-mt-0;\n}\n.duo-chat-markdown h1,\n.duo-chat-markdown .gl-h1 {\n @apply gl-heading-1;\n @apply gl-mt-7;\n}\n.duo-chat-markdown h2,\n.duo-chat-markdown .gl-h2 {\n @apply gl-heading-2;\n @apply gl-mt-6;\n}\n.duo-chat-markdown h3,\n.duo-chat-markdown .gl-h3 {\n @apply gl-heading-3;\n @apply gl-mt-6;\n}\n.duo-chat-markdown h4,\n.duo-chat-markdown .gl-h4 {\n @apply gl-heading-4;\n @apply gl-mt-5;\n}\n.duo-chat-markdown h5,\n.duo-chat-markdown .gl-h5 {\n @apply gl-heading-5;\n @apply gl-mt-5;\n}\n.duo-chat-markdown h6,\n.duo-chat-markdown .gl-h6 {\n @apply gl-heading-6;\n @apply gl-mt-5;\n}\n.duo-chat-markdown p,\n.duo-chat-markdown .gl-paragraph {\n @apply gl-mt-0;\n @apply gl-mb-0;\n}\n.duo-chat-markdown p + p,\n.duo-chat-markdown p + .gl-paragraph,\n.duo-chat-markdown .gl-paragraph + p,\n.duo-chat-markdown .gl-paragraph + .gl-paragraph {\n @apply gl-mt-5;\n}\n.duo-chat-markdown p.sm,\n.duo-chat-markdown .gl-paragraph.sm {\n font-size: 0.875rem;\n @apply gl-leading-20;\n}\n.duo-chat-markdown .sm {\n font-size: 0.875rem;\n @apply gl-leading-20;\n}\n.duo-chat-markdown .monospace,\n.duo-chat-markdown code {\n @apply gl-font-monospace;\n}\n.duo-chat-markdown blockquote {\n @apply gl-text-gray-700;\n @apply gl-py-3;\n @apply gl-pl-6;\n @apply gl-my-3;\n @apply gl-mx-0;\n box-shadow: inset 4px 0 0 0 #dcdcde;\n}\n.duo-chat-markdown .idiff {\n @apply gl-rounded-base;\n @apply gl-inline-flex;\n @apply gl-px-2;\n}\n.duo-chat-markdown .deletion {\n @apply gl-bg-red-100;\n}\n.duo-chat-markdown .addition {\n @apply gl-bg-green-100;\n}\n.duo-chat-markdown code {\n @apply gl-rounded-base;\n @apply gl-bg-gray-50;\n @apply gl-text-gray-950;\n @apply gl-px-2;\n @apply gl-py-1;\n}\n.duo-chat-markdown pre {\n @apply gl-rounded-base;\n @apply gl-py-3;\n @apply gl-px-4;\n box-shadow: inset 0 0 0 1px #dcdcde;\n @apply gl-my-7;\n @apply gl-overflow-auto;\n}\n.duo-chat-markdown pre code {\n @apply gl-bg-white;\n @apply gl-rounded-none;\n @apply gl-text-gray-900;\n @apply gl-p-0;\n}\n.duo-chat-markdown .audio-container {\n @apply gl-inline-flex;\n @apply gl-flex-col;\n @apply gl-w-full;\n}\n.duo-chat-markdown .audio-container audio {\n @apply gl-w-full;\n}\n.duo-chat-markdown .audio-container a {\n @apply gl-mt-3;\n}\n.duo-chat-markdown .audio-container a::before {\n @apply gl-mr-2;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n content: \"📎\";\n}\n.duo-chat-markdown table {\n @apply gl-my-7;\n}\n.duo-chat-markdown table th,\n.duo-chat-markdown table td {\n @apply gl-px-3;\n @apply gl-py-4;\n box-shadow: inset 0 -1px 0 0 #dcdcde;\n @apply gl-align-top;\n}\n.duo-chat-markdown table th {\n box-shadow: inset 0 1px 0 0 #dcdcde, inset 0 -1px 0 0 #dcdcde;\n @apply gl-font-bold;\n}\n.duo-chat-markdown table thead {\n @apply gl-bg-gray-50;\n}\n.duo-chat-markdown table tr:nth-child(even) {\n @apply gl-bg-gray-10;\n}\n\n.duo-chat-compact-markdown {\n @apply gl-text-base;\n @apply gl-leading-20;\n}\n.duo-chat-compact-markdown h1,\n.duo-chat-compact-markdown .gl-h1 {\n @apply gl-heading-1-fixed;\n @apply gl-mt-7;\n}\n.duo-chat-compact-markdown h2,\n.duo-chat-compact-markdown .gl-h2 {\n @apply gl-heading-2-fixed;\n @apply gl-mt-6;\n}\n.duo-chat-compact-markdown h3,\n.duo-chat-compact-markdown .gl-h3 {\n @apply gl-heading-3-fixed;\n @apply gl-mt-6;\n}\n.duo-chat-compact-markdown h4,\n.duo-chat-compact-markdown .gl-h4 {\n @apply gl-heading-4-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown h5,\n.duo-chat-compact-markdown .gl-h5 {\n @apply gl-heading-5-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown h6,\n.duo-chat-compact-markdown .gl-h6 {\n @apply gl-heading-6-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown .sm {\n @apply gl-text-sm;\n}\n.duo-chat-compact-markdown .monospace,\n.duo-chat-compact-markdown code {\n @apply gl-font-monospace;\n}\n.duo-chat-compact-markdown table th,\n.duo-chat-compact-markdown table td {\n @apply gl-py-3;\n}\n\n.duo-chat-loader {\n @apply gl-flex;\n @apply gl-text-gray-500;\n}\n.duo-chat-loader .transition {\n transition: width 200ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .transition {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-enter {\n @apply gl-opacity-0;\n}\n.duo-chat-loader .text-enter-active {\n transition: opacity 400ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .text-enter-active {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-enter-to {\n @apply gl-opacity-10;\n}\n.duo-chat-loader .text-leave {\n @apply gl-opacity-10;\n}\n.duo-chat-loader .text-leave-active {\n transition: opacity 200ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .text-leave-active {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-leave-to {\n @apply gl-opacity-0;\n}\n\n.duo-chat-message {\n max-width: 90%;\n position: relative;\n border-radius: 1.25rem;\n}\n.duo-chat-message:not(:last-child) {\n @apply gl-mb-4;\n}\n.duo-chat-message code {\n @apply gl-bg-gray-100;\n}\n.duo-chat-message pre {\n box-shadow: none !important;\n @apply gl-border gl-max-h-[60vh] gl-px-4 gl-py-3 gl-text-inherit;\n}\n.duo-chat-message pre::before, .duo-chat-message pre::after {\n content: \"\";\n left: 1px;\n width: calc(100% - 2px);\n position: absolute;\n @apply gl-pointer-events-none gl-h-7 gl-rounded-b-base;\n}\n.duo-chat-message pre.scrim-top::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n top: 1px;\n @apply -gl-rotate-180;\n}\n.duo-chat-message pre.scrim-bottom::after {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n bottom: 1px;\n}\n.duo-chat-message pre code {\n @apply gl-text-sm;\n @apply gl-leading-1;\n @apply gl-bg-transparent;\n white-space: inherit;\n}\n.duo-chat-message p:last-of-type {\n @apply gl-mb-0;\n}\n.duo-chat-message copy-code,\n.duo-chat-message insert-code-snippet {\n position: absolute;\n @apply gl-transition-all;\n @apply gl-opacity-0;\n right: 0.5rem;\n top: 0.5rem;\n}\n.duo-chat-message copy-code {\n margin-right: 2.5rem;\n}\n.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code:focus-within,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet:focus-within {\n @apply gl-opacity-10;\n}\n.duo-chat-message .has-error {\n margin-left: 1.5rem;\n}\n.duo-chat-message .error-icon {\n top: 14px;\n position: absolute;\n}\n\n.insert-code-hidden insert-code-snippet {\n display: none;\n}\n.insert-code-hidden copy-code {\n margin-right: 0;\n}"]}
|
|
1
|
+
{"version":3,"sources":["components.scss"],"names":[],"mappings":"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","file":"components.css","sourcesContent":["@charset \"UTF-8\";\n/*\n* SASS preserves units in arithmetic operations. For example:\n* 12em * 0 = 0em. This function return the unit of a numeric value.\n*\n* For more examples, see: https://codepen.io/paulgv/pen/XWrqMgQ\n*/\n/**\n* Declares a property with a fluid value that decreases or\n* rises depending on the viewport’s size. The property type\n* should be numeric.\n*\n* Values are expected in rem units.\n* Fluid range: between 48rem (768px) – 75rem (1200px).\n*\n* @param $property Property name, i.e. line-height, font-size, width, height, etc.\n* @param $min Property value lower bound.\n* @param $max Property value upper bound.\n*/\n/**\n* Helper function for :focus\n*\n* @param $size is deprecated and should not be used anymore\n*/\n/**\n* Helper function for @media of at least the minimum\n* breakpoint width.\n*\n* @param $name Breakpoint name, such as `sm` or `md`.\n*/\n/**\n* Helper function for @media of at most the maximum\n* breakpoint width.\n*\n* Note: Before using, consider using a mobile-first\n* approach, and define @media for larger breakpoints\n* using `gl-media-breakpoint-up` while using this rule as\n* the starting point instead.\n*\n* @param $name Breakpoint, such as `sm` or `md`. `xs` is not valid\n*/\n/**\n* Helper function to resolve font-size value from $gl-font-sizes and\n* $gl-font-sizes-fixed maps.\n*\n* @param $size Number font-size scale\n* @param $fixed Boolean toggle default and fixed font size scales\n*/\n/**\n* Defines default properties for heading typography based on font-size\n* scale value and default or fixed sizing.\n*\n* Note: overrides Bootstrap margin-top, other margin is determined by\n* individual context\n*\n* @param $size Number font-size scale\n* @param $fixed Boolean toggle default and fixed font size scales\n*/\n.resizable-content {\n height: 100%;\n width: 100%;\n background: var(--gl-background-color-default);\n border-radius: 0.5rem;\n @apply gl-overflow-y-auto;\n @apply gl-shadow-lg;\n @apply gl-text-base;\n @apply gl-leading-normal;\n @apply gl-flex;\n @apply gl-flex-col;\n}\n\n.resizable-component .resizable-t,\n.resizable-component .resizable-l {\n background-color: transparent;\n border-radius: 3px;\n transition: background-color 0.2s cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .resizable-component .resizable-t,\n.resizable-component .resizable-l {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.resizable-component .resizable-t:hover,\n.resizable-component .resizable-l:hover {\n background-color: var(--gl-color-blue-200);\n}\n.resizable-component .resizable-t {\n width: 95% !important;\n transform: translateX(-50%);\n left: 50% !important;\n height: 4px !important;\n top: 2px !important;\n}\n.resizable-component .resizable-l {\n height: 95% !important;\n transform: translateY(-50%);\n top: 50% !important;\n width: 4px !important;\n left: 2px !important;\n}\n\n.duo-chat {\n z-index: 999;\n}\n.duo-chat .message-enter-active,\n.duo-chat .message-leave-active {\n transition: all 0.5s ease;\n}\n.duo-chat .message-enter,\n.duo-chat .message-leave-to {\n @apply gl-opacity-0;\n transform: translateY(10px);\n}\n.duo-chat .duo-chat-loader.message-leave,\n.duo-chat .duo-chat-loader.message-leave-to {\n transition: none;\n}\n.duo-chat .duo-chat-drawer-body-scrim-on-footer::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n}\n.duo-chat .duo-chat-drawer-body {\n overflow-y: auto;\n}\n.duo-chat .duo-chat-drawer-header,\n.duo-chat .duo-chat-drawer-body > * {\n @apply gl-p-5;\n}\n\n.duo-chat-drawer {\n right: 0;\n @apply gl-transition-all;\n position: fixed;\n @apply gl-h-full;\n @apply gl-w-full;\n @apply gl-overflow-y-auto;\n @apply gl-shadow-lg;\n @apply gl-text-base;\n @apply gl-leading-normal;\n @apply gl-flex;\n @apply gl-flex-col;\n}\n\n.duo-chat-drawer-header {\n @apply gl-border-b;\n}\n\n.duo-chat-drawer-header-sticky {\n top: 0;\n position: sticky;\n @apply gl-border-b;\n}\n\n.duo-chat-drawer-body {\n @apply gl-grow;\n background-color: inherit;\n overscroll-behavior: contain;\n}\n\n.duo-chat-drawer-footer {\n @apply gl-border-t;\n @apply gl-p-5;\n}\n\n.duo-chat-drawer-footer-sticky {\n @apply gl-bg-white;\n bottom: 0;\n position: sticky;\n}\n\n.duo-chat-drawer-body-scrim-on-footer::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n top: 0;\n @apply -gl-translate-y-full;\n content: \"\";\n left: 0;\n position: absolute;\n @apply gl-pointer-events-none;\n @apply gl-w-full;\n @apply gl-h-5;\n}\n\n.duo-chat-history {\n scroll-behavior: smooth;\n /*\n Browsers a are pretty good at keeping the focus on an element while\n the parent element grows in size. With this we mark all child elements\n of the chat history as \"non\" anchors.\n https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor\n */\n /*\n Right at the bottom of the chat history we add a scroll-anchor element.\n This scroll-anchor element is the only \"possible\" anchor. The beauty of it:\n It only will be used as an anchor _if_ it is currently inside the view port.\n So if the user manually scrolls up while a chunked message is coming in,\n it won't stick to the bottom while the message still loads.\n */\n}\n.duo-chat-history.force-scroll-bar {\n min-height: calc(100% + 1rem);\n}\n.duo-chat-history * {\n overflow-anchor: none;\n}\n.duo-chat-history .scroll-anchor {\n overflow-anchor: auto;\n height: 1px;\n margin-top: -1px;\n}\n\n.duo-chat-input {\n @apply gl-flex;\n @apply gl-flex-col;\n max-height: 240px;\n overflow: hidden;\n background: var(--gl-control-background-color-default);\n box-shadow: inset 0 0 0 1px var(--gl-control-border-color-default);\n border-radius: 1.25rem;\n}\n.duo-chat-input:focus-within {\n box-shadow: inset 0 0 0 1px var(--gl-control-border-color-focus), 0 0 0 1px var(--gl-focus-ring-inner-color), 0 0 0 3px var(--gl-focus-ring-outer-color);\n outline: none;\n}\n@media (forced-colors: active) {\n .duo-chat-input:focus-within {\n outline: 2px solid LinkText;\n }\n}\n.duo-chat-input .gl-form-textarea.form-control {\n flex: 1;\n resize: none;\n max-height: 240px;\n padding-right: 40px;\n border-radius: 1.25rem;\n}\n.duo-chat-input::after {\n content: attr(data-value) \" \";\n @apply gl-invisible;\n @apply gl-p-4;\n @apply gl-font-regular;\n padding-right: 40px;\n word-break: break-word;\n}\n\n.duo-chat .duo-chat-suggestion-button {\n border-radius: 1.25rem;\n}\n\n.slash-commands {\n @apply -gl-mt-2;\n}\n.slash-commands .active-command {\n @apply gl-bg-gray-50;\n @apply gl-rounded-base;\n}\n.slash-commands .gl-dropdown-item button.dropdown-item {\n @apply gl-text-sm;\n @apply gl-px-3;\n @apply gl-bg-transparent;\n}\n.slash-commands .gl-dropdown-item button.dropdown-item:hover {\n @apply gl-bg-transparent;\n}\n\n.duo-chat-markdown {\n @apply gl-text-lg;\n @apply gl-leading-24;\n color: #28272d;\n @apply gl-font-regular;\n @apply gl-font-normal;\n}\n.duo-chat-markdown :first-child {\n @apply gl-mt-0;\n}\n.duo-chat-markdown h1,\n.duo-chat-markdown .gl-h1 {\n @apply gl-heading-1;\n @apply gl-mt-7;\n}\n.duo-chat-markdown h2,\n.duo-chat-markdown .gl-h2 {\n @apply gl-heading-2;\n @apply gl-mt-6;\n}\n.duo-chat-markdown h3,\n.duo-chat-markdown .gl-h3 {\n @apply gl-heading-3;\n @apply gl-mt-6;\n}\n.duo-chat-markdown h4,\n.duo-chat-markdown .gl-h4 {\n @apply gl-heading-4;\n @apply gl-mt-5;\n}\n.duo-chat-markdown h5,\n.duo-chat-markdown .gl-h5 {\n @apply gl-heading-5;\n @apply gl-mt-5;\n}\n.duo-chat-markdown h6,\n.duo-chat-markdown .gl-h6 {\n @apply gl-heading-6;\n @apply gl-mt-5;\n}\n.duo-chat-markdown p,\n.duo-chat-markdown .gl-paragraph {\n @apply gl-mt-0;\n @apply gl-mb-0;\n}\n.duo-chat-markdown p + p,\n.duo-chat-markdown p + .gl-paragraph,\n.duo-chat-markdown .gl-paragraph + p,\n.duo-chat-markdown .gl-paragraph + .gl-paragraph {\n @apply gl-mt-5;\n}\n.duo-chat-markdown p.sm,\n.duo-chat-markdown .gl-paragraph.sm {\n font-size: 0.875rem;\n @apply gl-leading-20;\n}\n.duo-chat-markdown .sm {\n font-size: 0.875rem;\n @apply gl-leading-20;\n}\n.duo-chat-markdown .monospace,\n.duo-chat-markdown code {\n @apply gl-font-monospace;\n}\n.duo-chat-markdown blockquote {\n @apply gl-text-gray-700;\n @apply gl-py-3;\n @apply gl-pl-6;\n @apply gl-my-3;\n @apply gl-mx-0;\n box-shadow: inset 4px 0 0 0 #dcdcde;\n}\n.duo-chat-markdown .idiff {\n @apply gl-rounded-base;\n @apply gl-inline-flex;\n @apply gl-px-2;\n}\n.duo-chat-markdown .deletion {\n @apply gl-bg-red-100;\n}\n.duo-chat-markdown .addition {\n @apply gl-bg-green-100;\n}\n.duo-chat-markdown code {\n @apply gl-rounded-base;\n @apply gl-bg-gray-50;\n @apply gl-text-gray-950;\n @apply gl-px-2;\n @apply gl-py-1;\n}\n.duo-chat-markdown pre {\n @apply gl-rounded-base;\n @apply gl-py-3;\n @apply gl-px-4;\n box-shadow: inset 0 0 0 1px #dcdcde;\n @apply gl-my-7;\n @apply gl-overflow-auto;\n}\n.duo-chat-markdown pre code {\n @apply gl-bg-white;\n @apply gl-rounded-none;\n @apply gl-text-gray-900;\n @apply gl-p-0;\n}\n.duo-chat-markdown .audio-container {\n @apply gl-inline-flex;\n @apply gl-flex-col;\n @apply gl-w-full;\n}\n.duo-chat-markdown .audio-container audio {\n @apply gl-w-full;\n}\n.duo-chat-markdown .audio-container a {\n @apply gl-mt-3;\n}\n.duo-chat-markdown .audio-container a::before {\n @apply gl-mr-2;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n content: \"📎\";\n}\n.duo-chat-markdown table {\n @apply gl-my-7;\n}\n.duo-chat-markdown table th,\n.duo-chat-markdown table td {\n @apply gl-px-3;\n @apply gl-py-4;\n box-shadow: inset 0 -1px 0 0 #dcdcde;\n @apply gl-align-top;\n}\n.duo-chat-markdown table th {\n box-shadow: inset 0 1px 0 0 #dcdcde, inset 0 -1px 0 0 #dcdcde;\n @apply gl-font-bold;\n}\n.duo-chat-markdown table thead {\n @apply gl-bg-gray-50;\n}\n.duo-chat-markdown table tr:nth-child(even) {\n @apply gl-bg-gray-10;\n}\n\n.duo-chat-compact-markdown {\n @apply gl-text-base;\n @apply gl-leading-20;\n}\n.duo-chat-compact-markdown h1,\n.duo-chat-compact-markdown .gl-h1 {\n @apply gl-heading-1-fixed;\n @apply gl-mt-7;\n}\n.duo-chat-compact-markdown h2,\n.duo-chat-compact-markdown .gl-h2 {\n @apply gl-heading-2-fixed;\n @apply gl-mt-6;\n}\n.duo-chat-compact-markdown h3,\n.duo-chat-compact-markdown .gl-h3 {\n @apply gl-heading-3-fixed;\n @apply gl-mt-6;\n}\n.duo-chat-compact-markdown h4,\n.duo-chat-compact-markdown .gl-h4 {\n @apply gl-heading-4-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown h5,\n.duo-chat-compact-markdown .gl-h5 {\n @apply gl-heading-5-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown h6,\n.duo-chat-compact-markdown .gl-h6 {\n @apply gl-heading-6-fixed;\n @apply gl-mt-5;\n}\n.duo-chat-compact-markdown .sm {\n @apply gl-text-sm;\n}\n.duo-chat-compact-markdown .monospace,\n.duo-chat-compact-markdown code {\n @apply gl-font-monospace;\n}\n.duo-chat-compact-markdown table th,\n.duo-chat-compact-markdown table td {\n @apply gl-py-3;\n}\n\n.duo-chat-loader {\n @apply gl-flex;\n @apply gl-text-gray-500;\n}\n.duo-chat-loader .transition {\n transition: width 200ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .transition {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-enter {\n @apply gl-opacity-0;\n}\n.duo-chat-loader .text-enter-active {\n transition: opacity 400ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .text-enter-active {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-enter-to {\n @apply gl-opacity-10;\n}\n.duo-chat-loader .text-leave {\n @apply gl-opacity-10;\n}\n.duo-chat-loader .text-leave-active {\n transition: opacity 200ms cubic-bezier(0.22, 0.61, 0.36, 1);\n}\n@media (prefers-reduced-motion) {\n .duo-chat-loader .text-leave-active {\n transition-duration: 0.01ms !important;\n transition-delay: 0ms !important;\n }\n}\n.duo-chat-loader .text-leave-to {\n @apply gl-opacity-0;\n}\n\n.duo-chat-message {\n max-width: 90%;\n position: relative;\n border-radius: 1.25rem;\n}\n.duo-chat-message:not(:last-child) {\n @apply gl-mb-4;\n}\n.duo-chat-message code {\n @apply gl-bg-gray-100;\n}\n.duo-chat-message pre {\n box-shadow: none !important;\n @apply gl-border gl-max-h-[60vh] gl-px-4 gl-py-3 gl-text-inherit;\n}\n.duo-chat-message pre::before, .duo-chat-message pre::after {\n content: \"\";\n left: 1px;\n width: calc(100% - 2px);\n position: absolute;\n @apply gl-pointer-events-none gl-h-7 gl-rounded-b-base;\n}\n.duo-chat-message pre.scrim-top::before {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n top: 1px;\n @apply -gl-rotate-180;\n}\n.duo-chat-message pre.scrim-bottom::after {\n background: linear-gradient(to bottom, rgba(251, 250, 253, 0), #fbfafd);\n bottom: 1px;\n}\n.duo-chat-message pre code {\n @apply gl-text-sm;\n @apply gl-leading-1;\n @apply gl-bg-transparent;\n white-space: inherit;\n}\n.duo-chat-message copy-code,\n.duo-chat-message insert-code-snippet {\n position: absolute;\n @apply gl-transition-all;\n @apply gl-opacity-0;\n right: 0.5rem;\n top: 0.5rem;\n}\n.duo-chat-message copy-code {\n margin-right: 2.5rem;\n}\n.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover copy-code:focus-within,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet,\n.duo-chat-message .js-markdown-code.markdown-code-block:hover insert-code-snippet:focus-within {\n @apply gl-opacity-10;\n}\n.duo-chat-message .has-error {\n margin-left: 1.5rem;\n}\n.duo-chat-message .error-icon {\n top: 14px;\n position: absolute;\n}\n\n.insert-code-hidden insert-code-snippet {\n display: none;\n}\n.insert-code-hidden copy-code {\n margin-right: 0;\n}"]}
|
package/dist/tailwind.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-4{font-size:1rem}.gl-heading-3,.gl-heading-4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:0}.gl-heading-3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-none{pointer-events:none}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-bottom-0{bottom:0}.gl-bottom-2{bottom:.25rem}.gl-left-0{left:0}.gl-right-2{right:.25rem}.gl-top-0{top:0}.\!gl-z-9999{z-index:9999!important}.gl-z-200{z-index:200}.gl-z-9999{z-index:9999}.gl-float-right{float:right}.\!gl-m-0{margin:0!important}.gl-m-0{margin:0}.gl-m-3{margin:.5rem}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:.25rem!important;margin-right:.25rem!important}.-gl-mx-1{margin-left:-.125rem;margin-right:-.125rem}.-gl-mx-4{margin-left:-.75rem;margin-right:-.75rem}.-gl-my-1{margin-bottom:-.125rem;margin-top:-.125rem}.-gl-my-3{margin-bottom:-.5rem;margin-top:-.5rem}.gl-mx-2{margin-left:.25rem;margin-right:.25rem}.gl-mx-3{margin-left:.5rem;margin-right:.5rem}.gl-mx-4{margin-left:.75rem;margin-right:.75rem}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:0;margin-top:0}.gl-my-3{margin-bottom:.5rem;margin-top:.5rem}.gl-my-5{margin-bottom:1rem;margin-top:1rem}.\!gl-mb-4{margin-bottom:.75rem!important}.-gl-ml-2{margin-left:-.25rem}.-gl-mr-3{margin-right:-.5rem}.-gl-mt-2{margin-top:-.25rem}.gl-mb-0{margin-bottom:0}.gl-mb-1{margin-bottom:.125rem}.gl-mb-2{margin-bottom:.25rem}.gl-mb-3{margin-bottom:.5rem}.gl-mb-4{margin-bottom:.75rem}.gl-mb-5{margin-bottom:1rem}.gl-ml-2{margin-left:.25rem}.gl-ml-3{margin-left:.5rem}.gl-ml-5{margin-left:1rem}.gl-ml-6{margin-left:1.5rem}.gl-ml-7{margin-left:2rem}.gl-ml-auto{margin-left:auto}.gl-mr-1{margin-right:.125rem}.gl-mr-2{margin-right:.25rem}.gl-mr-3{margin-right:.5rem}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:0}.gl-mt-1{margin-top:.125rem}.gl-mt-2{margin-top:.25rem}.gl-mt-3{margin-top:.5rem}.gl-mt-4{margin-top:.75rem}.gl-mt-5{margin-top:1rem}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-grid{display:grid}.gl-hidden{display:none}.\!gl-h-full{height:100%!important}.gl-h-0{height:0}.gl-h-4{height:.75rem}.gl-h-5{height:1rem}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-max-h-31{max-height:15.5rem}.gl-max-h-full{max-height:100%}.gl-min-h-8{min-height:2.5rem}.\!gl-w-31{width:15.5rem!important}.\!gl-w-auto{width:auto!important}.gl-w-1\/2{width:50%}.gl-w-3\/4{width:75%}.gl-w-4\/10{width:40%}.gl-w-5{width:1rem}.gl-w-full{width:100%}.gl-min-w-0{min-width:0}.gl-min-w-\[33\%\]{min-width:33%}.gl-max-w-1\/2{max-width:50%}.gl-max-w-full{max-width:100%}.gl-flex-1{flex:1 1 0%}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:0}.-gl-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-not-allowed{cursor:not-allowed}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-list-none{list-style-type:none}.gl-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gl-flex-row{flex-direction:row}.gl-flex-row-reverse{flex-direction:row-reverse}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-start{justify-content:flex-start}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-3{gap:.5rem}.gl-gap-4{gap:.75rem}.gl-gap-5{gap:1rem}.gl-divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(0px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(0px*var(--tw-divide-x-reverse))}.gl-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.gl-divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.gl-divide-default>:not([hidden])~:not([hidden]){border-color:var(--gl-border-color-default,var(--gl-color-neutral-100,#dcdcde))}.gl-self-start{align-self:flex-start}.gl-overflow-hidden{overflow:hidden}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-y-scroll{overflow-y:scroll}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.\!gl-whitespace-normal{white-space:normal!important}.gl-whitespace-normal{white-space:normal}.gl-whitespace-nowrap{white-space:nowrap}.gl-break-all{word-break:break-all}.\!gl-rounded-base{border-radius:.25rem!important}.\!gl-rounded-full{border-radius:50%!important}.\!gl-rounded-none{border-radius:0!important}.gl-rounded-base{border-radius:.25rem}.gl-rounded-full{border-radius:50%}.gl-rounded-bl-none{border-bottom-left-radius:0}.gl-rounded-br-none{border-bottom-right-radius:0}.gl-rounded-tr-none{border-top-right-radius:0}.gl-border{border-width:1px}.gl-border-0{border-width:0}.gl-border-1{border-width:1px}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-solid{border-style:solid}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.gl-border-gray-50{border-color:var(--gray-50,#ececef)}.gl-border-gray-500{border-color:var(--gray-500,#737278)}.gl-border-red-500{border-color:var(--red-500,#dd2b0e)}.gl-border-transparent{border-color:var(--gl-border-color-transparent,var(--gl-color-alpha-0,#0000))}.gl-border-b-dropdown{border-bottom-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.gl-border-t-dropdown{border-top-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.\!gl-bg-gray-10{background-color:var(--gray-10,#fbfafd)!important}.\!gl-bg-transparent{background-color:initial!important}.gl-bg-blue-100{background-color:var(--blue-100,#cbe2f9)}.gl-bg-blue-50{background-color:var(--blue-50,#e9f3fc)}.gl-bg-default{background-color:var(--gl-background-color-default,var(--gl-color-neutral-0,#fff))}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color,var(--gl-background-color-overlap,#fff))}.gl-bg-gray-10{background-color:var(--gray-10,#fbfafd)}.gl-bg-red-50{background-color:var(--red-50,#fcf1ef)}.gl-bg-subtle{background-color:var(--gl-background-color-subtle,var(--gl-color-neutral-10,#fbfafd))}.gl-bg-transparent{background-color:initial}.gl-fill-current{fill:currentColor}.gl-fill-gray-100{fill:var(--gray-100,#dcdcde)}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger,var(--gl-color-red-600,#c91c00))}.gl-fill-icon-default{fill:var(--gl-icon-color-default,var(--gl-color-neutral-700,#4c4b51))}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled,var(--gl-color-neutral-300,#a4a3a8))}.gl-fill-icon-info{fill:var(--gl-icon-color-info,var(--gl-color-blue-600,#1068bf))}.gl-fill-icon-link{fill:var(--gl-icon-color-link,var(--gl-color-blue-600,#1068bf))}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong,var(--gl-color-neutral-900,#28272d))}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle,var(--gl-color-neutral-500,#737278))}.gl-fill-icon-success{fill:var(--gl-icon-color-success,var(--gl-color-green-600,#217645))}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning,var(--gl-color-orange-600,#9e5400))}.\!gl-p-0{padding:0!important}.\!gl-p-2{padding:.25rem!important}.\!gl-p-4{padding:.75rem!important}.gl-p-0{padding:0}.gl-p-1{padding:.125rem}.gl-p-2{padding:.25rem}.gl-p-3{padding:.5rem}.gl-p-4{padding:.75rem}.gl-p-5{padding:1rem}.\!gl-px-2{padding-left:.25rem!important;padding-right:.25rem!important}.\!gl-px-3{padding-left:.5rem!important;padding-right:.5rem!important}.\!gl-py-2{padding-bottom:.25rem!important;padding-top:.25rem!important}.\!gl-py-4{padding-bottom:.75rem!important;padding-top:.75rem!important}.gl-px-1{padding-left:.125rem;padding-right:.125rem}.gl-px-2{padding-left:.25rem;padding-right:.25rem}.gl-px-4{padding-left:.75rem;padding-right:.75rem}.gl-px-5{padding-left:1rem;padding-right:1rem}.gl-py-2{padding-bottom:.25rem;padding-top:.25rem}.gl-py-3{padding-bottom:.5rem;padding-top:.5rem}.gl-py-4{padding-bottom:.75rem;padding-top:.75rem}.gl-py-5{padding-bottom:1rem;padding-top:1rem}.gl-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.\!gl-pl-9{padding-left:3rem!important}.\!gl-pr-7{padding-right:2rem!important}.\!gl-pr-9{padding-right:3rem!important}.gl-pb-2{padding-bottom:.25rem}.gl-pl-0{padding-left:0}.gl-pl-2{padding-left:.25rem}.gl-pl-3{padding-left:.5rem}.gl-pl-4{padding-left:.75rem}.gl-pl-5{padding-left:1rem}.gl-pl-6{padding-left:1.5rem}.gl-pl-7{padding-left:2rem}.gl-pr-2{padding-right:.25rem}.gl-pr-5{padding-right:1rem}.gl-pr-6{padding-right:1.5rem}.gl-pr-8{padding-right:2.5rem}.gl-pt-1{padding-top:.125rem}.gl-pt-2{padding-top:.25rem}.gl-pt-3{padding-top:.5rem}.gl-pt-4{padding-top:.75rem}.\!gl-text-left{text-align:left!important}.gl-text-left{text-align:left}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-top{vertical-align:top}.gl-align-bottom{vertical-align:bottom}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-regular{font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\!gl-text-sm{font-size:.75rem!important}.gl-text-base{font-size:.875rem}.gl-text-size-h-display{font-size:1.75rem}.gl-text-size-h2{font-size:1.1875rem}.gl-text-sm{font-size:.75rem}.gl-text-xs{font-size:.625rem}.gl-font-bold{font-weight:600}.gl-font-normal{font-weight:400}.gl-lowercase{text-transform:lowercase}.gl-italic{font-style:italic}.gl-leading-1{line-height:1}.gl-leading-20{line-height:1.25rem}.gl-leading-36{line-height:2.25rem}.gl-leading-normal{line-height:1rem}.\!gl-text-red-500{color:var(--red-500,#dd2b0e)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))!important}.gl-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.gl-text-blue-600{color:var(--blue-600,#1068bf)}.gl-text-blue-700{color:var(--blue-700,#0b5cad)}.gl-text-blue-900{color:var(--blue-900,#033464)}.gl-text-danger{color:var(--gl-text-color-danger,var(--gl-color-red-600,#c91c00))}.gl-text-default{color:var(--gl-text-color-default,var(--gl-color-neutral-800,#3a383f))}.gl-text-gray-400{color:var(--gray-400,#89888d)}.gl-text-gray-500{color:var(--gray-500,#737278)}.gl-text-gray-600{color:var(--gray-600,#626168)}.gl-text-gray-700{color:var(--gray-700,#4c4b51)}.gl-text-gray-900{color:var(--gray-900,#28272d)}.gl-text-gray-950{color:var(--gray-950,#18171d)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-inherit{color:inherit}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-500{color:var(--red-500,#dd2b0e)}.gl-text-red-600{color:var(--red-600,#c91c00)}.gl-text-secondary{color:var(--gl-text-secondary,#737278)}.gl-text-strong{color:var(--gl-text-color-strong,var(--gl-color-neutral-950,#18171d))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-white{color:var(--white,#fff)}.\!gl-opacity-0{opacity:0!important}.gl-opacity-10{opacity:1}.\!gl-shadow-inner-1-gray-100{--tw-shadow:inset 0 0 0 1px var(--gray-100,#dcdcde)!important;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)!important}.\!gl-shadow-inner-1-gray-100,.\!gl-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.\!gl-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.gl-shadow-md{--tw-shadow:0 0 1px var(--gl-shadow-color-default,#05050629),0 0 2px var(--gl-shadow-color-default,#05050629),0 2px 8px var(--gl-shadow-color-default,#05050629);--tw-shadow-colored:0 0 1px var(--tw-shadow-color),0 0 2px var(--tw-shadow-color),0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.gl-outline-none{outline:2px solid #0000;outline-offset:2px}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-break-anywhere{overflow-wrap:anywhere;word-break:normal}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.focus-within\:\!gl-shadow-none:focus-within{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.focus\:\!gl-shadow-inner-2-blue-400:focus{--tw-shadow:inset 0 0 0 2px var(--blue-400,#428fdc)!important;--tw-shadow-colored:inset 0 0 0 2px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}@media (min-width:576px){.sm\:gl-block{display:block}.sm\:gl-flex{display:flex}.sm\:\!gl-hidden{display:none!important}.sm\:gl-flex-nowrap{flex-wrap:nowrap}.sm\:gl-gap-3{gap:.5rem}}.\[\&\>button\]\:focus-within\:\!gl-shadow-none:focus-within>button{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}
|
|
1
|
+
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-4{font-size:1rem}.gl-heading-3,.gl-heading-4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:0}.gl-heading-3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-none{pointer-events:none}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-bottom-0{bottom:0}.gl-bottom-2{bottom:.25rem}.gl-left-0{left:0}.gl-right-2{right:.25rem}.gl-top-0{top:0}.\!gl-z-9999{z-index:9999!important}.gl-z-200{z-index:200}.gl-z-9999{z-index:9999}.gl-float-right{float:right}.\!gl-m-0{margin:0!important}.gl-m-0{margin:0}.gl-m-3{margin:.5rem}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:.25rem!important;margin-right:.25rem!important}.-gl-mx-1{margin-left:-.125rem;margin-right:-.125rem}.-gl-mx-4{margin-left:-.75rem;margin-right:-.75rem}.-gl-my-1{margin-bottom:-.125rem;margin-top:-.125rem}.-gl-my-3{margin-bottom:-.5rem;margin-top:-.5rem}.gl-mx-2{margin-left:.25rem;margin-right:.25rem}.gl-mx-3{margin-left:.5rem;margin-right:.5rem}.gl-mx-4{margin-left:.75rem;margin-right:.75rem}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:0;margin-top:0}.gl-my-3{margin-bottom:.5rem;margin-top:.5rem}.gl-my-5{margin-bottom:1rem;margin-top:1rem}.\!gl-mb-4{margin-bottom:.75rem!important}.-gl-ml-2{margin-left:-.25rem}.-gl-mr-3{margin-right:-.5rem}.-gl-mt-2{margin-top:-.25rem}.gl-mb-0{margin-bottom:0}.gl-mb-1{margin-bottom:.125rem}.gl-mb-2{margin-bottom:.25rem}.gl-mb-3{margin-bottom:.5rem}.gl-mb-4{margin-bottom:.75rem}.gl-mb-5{margin-bottom:1rem}.gl-ml-2{margin-left:.25rem}.gl-ml-3{margin-left:.5rem}.gl-ml-5{margin-left:1rem}.gl-ml-6{margin-left:1.5rem}.gl-ml-7{margin-left:2rem}.gl-ml-auto{margin-left:auto}.gl-mr-1{margin-right:.125rem}.gl-mr-2{margin-right:.25rem}.gl-mr-3{margin-right:.5rem}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:0}.gl-mt-1{margin-top:.125rem}.gl-mt-2{margin-top:.25rem}.gl-mt-3{margin-top:.5rem}.gl-mt-4{margin-top:.75rem}.gl-mt-5{margin-top:1rem}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-grid{display:grid}.gl-hidden{display:none}.\!gl-h-full{height:100%!important}.gl-h-0{height:0}.gl-h-4{height:.75rem}.gl-h-5{height:1rem}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-max-h-31{max-height:15.5rem}.gl-max-h-full{max-height:100%}.gl-min-h-8{min-height:2.5rem}.\!gl-w-31{width:15.5rem!important}.\!gl-w-auto{width:auto!important}.gl-w-1\/2{width:50%}.gl-w-3\/4{width:75%}.gl-w-4\/10{width:40%}.gl-w-5{width:1rem}.gl-w-full{width:100%}.gl-min-w-0{min-width:0}.gl-min-w-\[33\%\]{min-width:33%}.gl-max-w-1\/2{max-width:50%}.gl-max-w-full{max-width:100%}.gl-flex-1{flex:1 1 0%}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:0}.-gl-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-not-allowed{cursor:not-allowed}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-list-none{list-style-type:none}.gl-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gl-flex-row{flex-direction:row}.gl-flex-row-reverse{flex-direction:row-reverse}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-start{justify-content:flex-start}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-3{gap:.5rem}.gl-gap-4{gap:.75rem}.gl-gap-5{gap:1rem}.gl-divide-x-0>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(0px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(0px*var(--tw-divide-x-reverse))}.gl-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.gl-divide-solid>:not([hidden])~:not([hidden]){border-style:solid}.gl-divide-default>:not([hidden])~:not([hidden]){border-color:var(--gl-border-color-default,var(--gl-color-neutral-100,#dcdcde))}.gl-self-start{align-self:flex-start}.gl-overflow-hidden{overflow:hidden}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-y-scroll{overflow-y:scroll}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.\!gl-whitespace-normal{white-space:normal!important}.gl-whitespace-normal{white-space:normal}.gl-whitespace-nowrap{white-space:nowrap}.gl-break-all{word-break:break-all}.\!gl-rounded-base{border-radius:.25rem!important}.\!gl-rounded-full{border-radius:50%!important}.\!gl-rounded-none{border-radius:0!important}.gl-rounded-base{border-radius:.25rem}.gl-rounded-full{border-radius:50%}.gl-rounded-bl-none{border-bottom-left-radius:0}.gl-rounded-br-none{border-bottom-right-radius:0}.gl-rounded-tr-none{border-top-right-radius:0}.gl-border{border-width:1px}.gl-border-0{border-width:0}.gl-border-1{border-width:1px}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-solid{border-style:solid}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.gl-border-gray-50{border-color:var(--gray-50,#ececef)}.gl-border-gray-500{border-color:var(--gray-500,#737278)}.gl-border-red-500{border-color:var(--red-500,#dd2b0e)}.gl-border-transparent{border-color:var(--gl-border-color-transparent,var(--gl-color-alpha-0,#0000))}.gl-border-b-dropdown{border-bottom-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.gl-border-t-dropdown{border-top-color:var(--gl-dropdown-border-color,var(--gl-color-neutral-200,#bfbfc3))}.\!gl-bg-gray-10{background-color:var(--gray-10,#fbfafd)!important}.\!gl-bg-transparent{background-color:initial!important}.gl-bg-blue-100{background-color:var(--blue-100,#cbe2f9)}.gl-bg-blue-50{background-color:var(--blue-50,#e9f3fc)}.gl-bg-default{background-color:var(--gl-background-color-default,var(--gl-color-neutral-0,#fff))}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color,var(--gl-background-color-overlap,#fff))}.gl-bg-gray-10{background-color:var(--gray-10,#fbfafd)}.gl-bg-red-50{background-color:var(--red-50,#fcf1ef)}.gl-bg-subtle{background-color:var(--gl-background-color-subtle,var(--gl-color-neutral-10,#fbfafd))}.gl-bg-transparent{background-color:initial}.gl-fill-current{fill:currentColor}.gl-fill-gray-100{fill:var(--gray-100,#dcdcde)}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger,var(--gl-color-red-600,#c91c00))}.gl-fill-icon-default{fill:var(--gl-icon-color-default,var(--gl-color-neutral-700,#4c4b51))}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled,var(--gl-color-neutral-300,#a4a3a8))}.gl-fill-icon-info{fill:var(--gl-icon-color-info,var(--gl-color-blue-600,#1068bf))}.gl-fill-icon-link{fill:var(--gl-icon-color-link,var(--gl-color-blue-600,#1068bf))}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong,var(--gl-color-neutral-900,#28272d))}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle,var(--gl-color-neutral-500,#737278))}.gl-fill-icon-success{fill:var(--gl-icon-color-success,var(--gl-color-green-600,#217645))}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning,var(--gl-color-orange-600,#9e5400))}.\!gl-p-0{padding:0!important}.\!gl-p-2{padding:.25rem!important}.\!gl-p-4{padding:.75rem!important}.gl-p-0{padding:0}.gl-p-1{padding:.125rem}.gl-p-2{padding:.25rem}.gl-p-3{padding:.5rem}.gl-p-4{padding:.75rem}.gl-p-5{padding:1rem}.\!gl-px-2{padding-left:.25rem!important;padding-right:.25rem!important}.\!gl-px-3{padding-left:.5rem!important;padding-right:.5rem!important}.\!gl-py-2{padding-bottom:.25rem!important;padding-top:.25rem!important}.\!gl-py-4{padding-bottom:.75rem!important;padding-top:.75rem!important}.gl-px-1{padding-left:.125rem;padding-right:.125rem}.gl-px-2{padding-left:.25rem;padding-right:.25rem}.gl-px-4{padding-left:.75rem;padding-right:.75rem}.gl-px-5{padding-left:1rem;padding-right:1rem}.gl-py-2{padding-bottom:.25rem;padding-top:.25rem}.gl-py-3{padding-bottom:.5rem;padding-top:.5rem}.gl-py-4{padding-bottom:.75rem;padding-top:.75rem}.gl-py-5{padding-bottom:1rem;padding-top:1rem}.gl-py-6{padding-bottom:1.5rem;padding-top:1.5rem}.\!gl-pl-9{padding-left:3rem!important}.\!gl-pr-7{padding-right:2rem!important}.\!gl-pr-9{padding-right:3rem!important}.gl-pb-2{padding-bottom:.25rem}.gl-pb-3{padding-bottom:.5rem}.gl-pl-0{padding-left:0}.gl-pl-2{padding-left:.25rem}.gl-pl-3{padding-left:.5rem}.gl-pl-4{padding-left:.75rem}.gl-pl-5{padding-left:1rem}.gl-pl-6{padding-left:1.5rem}.gl-pl-7{padding-left:2rem}.gl-pr-2{padding-right:.25rem}.gl-pr-5{padding-right:1rem}.gl-pr-6{padding-right:1.5rem}.gl-pr-8{padding-right:2.5rem}.gl-pt-1{padding-top:.125rem}.gl-pt-2{padding-top:.25rem}.gl-pt-3{padding-top:.5rem}.gl-pt-4{padding-top:.75rem}.\!gl-text-left{text-align:left!important}.gl-text-left{text-align:left}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-top{vertical-align:top}.gl-align-bottom{vertical-align:bottom}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-regular{font-family:var(--default-regular-font,"GitLab Sans"),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}.\!gl-text-sm{font-size:.75rem!important}.gl-text-base{font-size:.875rem}.gl-text-size-h-display{font-size:1.75rem}.gl-text-size-h2{font-size:1.1875rem}.gl-text-sm{font-size:.75rem}.gl-text-xs{font-size:.625rem}.gl-font-bold{font-weight:600}.gl-font-normal{font-weight:400}.gl-lowercase{text-transform:lowercase}.gl-italic{font-style:italic}.gl-leading-1{line-height:1}.gl-leading-20{line-height:1.25rem}.gl-leading-36{line-height:2.25rem}.gl-leading-normal{line-height:1rem}.\!gl-text-red-500{color:var(--red-500,#dd2b0e)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))!important}.gl-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.gl-text-blue-600{color:var(--blue-600,#1068bf)}.gl-text-blue-700{color:var(--blue-700,#0b5cad)}.gl-text-blue-900{color:var(--blue-900,#033464)}.gl-text-danger{color:var(--gl-text-color-danger,var(--gl-color-red-600,#c91c00))}.gl-text-default{color:var(--gl-text-color-default,var(--gl-color-neutral-800,#3a383f))}.gl-text-gray-400{color:var(--gray-400,#89888d)}.gl-text-gray-500{color:var(--gray-500,#737278)}.gl-text-gray-600{color:var(--gray-600,#626168)}.gl-text-gray-700{color:var(--gray-700,#4c4b51)}.gl-text-gray-900{color:var(--gray-900,#28272d)}.gl-text-gray-950{color:var(--gray-950,#18171d)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-inherit{color:inherit}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-500{color:var(--red-500,#dd2b0e)}.gl-text-red-600{color:var(--red-600,#c91c00)}.gl-text-secondary{color:var(--gl-text-secondary,#737278)}.gl-text-strong{color:var(--gl-text-color-strong,var(--gl-color-neutral-950,#18171d))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-white{color:var(--white,#fff)}.\!gl-opacity-0{opacity:0!important}.gl-opacity-10{opacity:1}.\!gl-shadow-inner-1-gray-100{--tw-shadow:inset 0 0 0 1px var(--gray-100,#dcdcde)!important;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color)!important}.\!gl-shadow-inner-1-gray-100,.\!gl-shadow-none{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.\!gl-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important}.gl-shadow-md{--tw-shadow:0 0 1px var(--gl-shadow-color-default,#05050629),0 0 2px var(--gl-shadow-color-default,#05050629),0 2px 8px var(--gl-shadow-color-default,#05050629);--tw-shadow-colored:0 0 1px var(--tw-shadow-color),0 0 2px var(--tw-shadow-color),0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.gl-outline-none{outline:2px solid #0000;outline-offset:2px}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-break-anywhere{overflow-wrap:anywhere;word-break:normal}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.focus-within\:\!gl-shadow-none:focus-within{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.focus\:\!gl-shadow-inner-2-blue-400:focus{--tw-shadow:inset 0 0 0 2px var(--blue-400,#428fdc)!important;--tw-shadow-colored:inset 0 0 0 2px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}@media (min-width:576px){.sm\:gl-block{display:block}.sm\:gl-flex{display:flex}.sm\:\!gl-hidden{display:none!important}.sm\:gl-flex-nowrap{flex-wrap:nowrap}.sm\:gl-gap-3{gap:.5rem}}.\[\&\>button\]\:focus-within\:\!gl-shadow-none:focus-within>button{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}
|
|
2
2
|
/*# sourceMappingURL=tailwind.css.map */
|
package/dist/tailwind.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
|
|
1
|
+
{"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gitlab/duo-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Duo UI Components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -75,6 +75,7 @@
|
|
|
75
75
|
"popper.js": "^1.16.1",
|
|
76
76
|
"portal-vue": "^2.1.7",
|
|
77
77
|
"vue-functional-data-merge": "^3.1.0",
|
|
78
|
+
"vue-resizable": "1.3.4",
|
|
78
79
|
"vue-runtime-helpers": "^1.1.2"
|
|
79
80
|
},
|
|
80
81
|
"peerDependencies": {
|
package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue
CHANGED
|
@@ -26,11 +26,16 @@ export default {
|
|
|
26
26
|
};
|
|
27
27
|
</script>
|
|
28
28
|
<template>
|
|
29
|
-
<div class="gl-
|
|
30
|
-
<
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
<div class="gl-mt-5 gl-flex gl-flex-col gl-items-start gl-gap-3">
|
|
30
|
+
<gl-button
|
|
31
|
+
v-for="(prompt, index) in prompts"
|
|
32
|
+
:key="`question-${index}`"
|
|
33
|
+
category="secondary"
|
|
34
|
+
variant="default"
|
|
35
|
+
icon="question-o"
|
|
36
|
+
class="duo-chat-suggestion-button gl-text-left"
|
|
37
|
+
@click="handleClick(prompt)"
|
|
38
|
+
><span class="gl-whitespace-normal">{{ prompt }}</span></gl-button
|
|
39
|
+
>
|
|
35
40
|
</div>
|
|
36
41
|
</template>
|
|
@@ -1,4 +1,51 @@
|
|
|
1
1
|
$duo-chat-scrim-gradient: linear-gradient(to bottom, rgba($gray-10, 0), $gray-10);
|
|
2
|
+
$drawer-width: 400px;
|
|
3
|
+
|
|
4
|
+
.resizable-content {
|
|
5
|
+
height: 100%;
|
|
6
|
+
width: 100%;
|
|
7
|
+
background: var(--gl-background-color-default);
|
|
8
|
+
border-radius: $gl-border-radius-large;
|
|
9
|
+
@apply gl-overflow-y-auto;
|
|
10
|
+
@apply gl-shadow-lg;
|
|
11
|
+
@apply gl-text-base;
|
|
12
|
+
@apply gl-leading-normal;
|
|
13
|
+
@apply gl-flex;
|
|
14
|
+
@apply gl-flex-col;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.resizable-component {
|
|
18
|
+
.resizable-t,
|
|
19
|
+
.resizable-l {
|
|
20
|
+
background-color: transparent;
|
|
21
|
+
border-radius: 3px;
|
|
22
|
+
@include gl-prefers-reduced-motion-transition;
|
|
23
|
+
transition: background-color $gl-transition-duration-medium $gl-easing-out-cubic;
|
|
24
|
+
|
|
25
|
+
&:hover {
|
|
26
|
+
background-color: var(--gl-color-blue-200);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// important styles because we need
|
|
31
|
+
// to overwrite inline styles set by
|
|
32
|
+
// https://www.npmjs.com/package/vue-resizable
|
|
33
|
+
.resizable-t {
|
|
34
|
+
width: 95% !important;
|
|
35
|
+
transform: translateX(-50%);
|
|
36
|
+
left: 50% !important;
|
|
37
|
+
height: 4px !important;
|
|
38
|
+
top: 2px !important;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.resizable-l {
|
|
42
|
+
height: 95% !important;
|
|
43
|
+
transform: translateY(-50%);
|
|
44
|
+
top: 50% !important;
|
|
45
|
+
width: 4px !important;
|
|
46
|
+
left: 2px !important;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
2
49
|
|
|
3
50
|
.duo-chat {
|
|
4
51
|
z-index: 999;
|
|
@@ -156,6 +203,10 @@ $duo-chat-scrim-gradient: linear-gradient(to bottom, rgba($gray-10, 0), $gray-10
|
|
|
156
203
|
}
|
|
157
204
|
}
|
|
158
205
|
|
|
206
|
+
.duo-chat .duo-chat-suggestion-button {
|
|
207
|
+
border-radius: px-to-rem(20px);
|
|
208
|
+
}
|
|
209
|
+
|
|
159
210
|
.slash-commands {
|
|
160
211
|
@apply -gl-mt-2;
|
|
161
212
|
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import throttle from 'lodash/throttle';
|
|
3
|
-
import
|
|
3
|
+
import VueResizable from 'vue-resizable';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
6
|
GlButton,
|
|
7
7
|
GlDropdownItem,
|
|
8
8
|
GlCard,
|
|
9
|
-
GlEmptyState,
|
|
10
9
|
GlAlert,
|
|
11
10
|
GlFormInputGroup,
|
|
12
11
|
GlFormTextarea,
|
|
@@ -16,6 +15,7 @@ import {
|
|
|
16
15
|
} from '@gitlab/ui';
|
|
17
16
|
|
|
18
17
|
import { translate } from '../../utils/i18n';
|
|
18
|
+
|
|
19
19
|
import {
|
|
20
20
|
badgeTypes,
|
|
21
21
|
badgeTypeValidator,
|
|
@@ -30,16 +30,15 @@ import DuoChatConversation from './components/duo_chat_conversation/duo_chat_con
|
|
|
30
30
|
|
|
31
31
|
export const i18n = {
|
|
32
32
|
CHAT_DEFAULT_TITLE: translate('DuoChat.chatDefaultTitle', 'GitLab Duo Chat'),
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
CHAT_EMPTY_STATE_DESC: translate(
|
|
36
|
-
'DuoChat.chatEmptyStateDesc',
|
|
37
|
-
'GitLab Duo Chat is your AI-powered assistant.'
|
|
38
|
-
),
|
|
39
|
-
CHAT_EMPTY_STATE_SECONDARY_DESC: translate(
|
|
40
|
-
'DuoChat.chatEmptyStateSecondaryDesc',
|
|
33
|
+
CHAT_DISCLAMER: translate(
|
|
34
|
+
'GlDuoChat.chatDisclamer',
|
|
41
35
|
'Responses may be inaccurate. Verify before use.'
|
|
42
36
|
),
|
|
37
|
+
CHAT_CLOSE_LABEL: translate('DuoChat.chatCloseLabel', 'Close the Code Explanation'),
|
|
38
|
+
CHAT_EMPTY_STATE_TITLE: translate(
|
|
39
|
+
'DuoChat.chatEmptyStateTitle',
|
|
40
|
+
'👋 I am GitLab Duo Chat, your personal AI-powered assistant. How can I help you today?'
|
|
41
|
+
),
|
|
43
42
|
CHAT_PROMPT_PLACEHOLDER_DEFAULT: translate(
|
|
44
43
|
'DuoChat.chatPromptPlaceholderDefault',
|
|
45
44
|
'GitLab Duo Chat'
|
|
@@ -75,7 +74,6 @@ const slashCommandsValidator = (commands) => commands.every(isSlashCommand);
|
|
|
75
74
|
export default {
|
|
76
75
|
name: 'DuoChat',
|
|
77
76
|
components: {
|
|
78
|
-
GlEmptyState,
|
|
79
77
|
GlButton,
|
|
80
78
|
GlAlert,
|
|
81
79
|
GlFormInputGroup,
|
|
@@ -87,11 +85,41 @@ export default {
|
|
|
87
85
|
DuoChatConversation,
|
|
88
86
|
GlCard,
|
|
89
87
|
GlDropdownItem,
|
|
88
|
+
VueResizable,
|
|
90
89
|
},
|
|
91
90
|
directives: {
|
|
92
91
|
SafeHtml,
|
|
93
92
|
},
|
|
94
93
|
props: {
|
|
94
|
+
/**
|
|
95
|
+
* Determines if the component should be resizable. When true, it renders inside
|
|
96
|
+
* a `vue-resizable` wrapper; otherwise, a standard `div` is used.
|
|
97
|
+
*/
|
|
98
|
+
shouldRenderResizable: {
|
|
99
|
+
type: Boolean,
|
|
100
|
+
required: false,
|
|
101
|
+
default: false,
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* Defines the dimensions of the chat container when resizable.
|
|
105
|
+
* By default, the height is set to match the height of the browser window,
|
|
106
|
+
* and the width is fixed at 400px. The `top` position is left undefined,
|
|
107
|
+
* allowing it to be dynamically adjusted if needed.
|
|
108
|
+
*/
|
|
109
|
+
dimensions: {
|
|
110
|
+
type: Object,
|
|
111
|
+
required: false,
|
|
112
|
+
default: () => ({
|
|
113
|
+
width: undefined,
|
|
114
|
+
height: undefined,
|
|
115
|
+
top: undefined,
|
|
116
|
+
left: undefined,
|
|
117
|
+
maxWidth: undefined,
|
|
118
|
+
minWidth: 400,
|
|
119
|
+
maxHeight: undefined,
|
|
120
|
+
minHeight: 400,
|
|
121
|
+
}),
|
|
122
|
+
},
|
|
95
123
|
/**
|
|
96
124
|
* The title of the chat/feature.
|
|
97
125
|
*/
|
|
@@ -207,22 +235,6 @@ export default {
|
|
|
207
235
|
required: false,
|
|
208
236
|
default: i18n.CHAT_EMPTY_STATE_TITLE,
|
|
209
237
|
},
|
|
210
|
-
/**
|
|
211
|
-
* Override the default empty state description text.
|
|
212
|
-
*/
|
|
213
|
-
emptyStateDescription: {
|
|
214
|
-
type: String,
|
|
215
|
-
required: false,
|
|
216
|
-
default: i18n.CHAT_EMPTY_STATE_DESC,
|
|
217
|
-
},
|
|
218
|
-
/**
|
|
219
|
-
* Override the default empty state description secondary text.
|
|
220
|
-
*/
|
|
221
|
-
emptyStateSecondaryDescription: {
|
|
222
|
-
type: String,
|
|
223
|
-
required: false,
|
|
224
|
-
default: i18n.CHAT_EMPTY_STATE_SECONDARY_DESC,
|
|
225
|
-
},
|
|
226
238
|
/**
|
|
227
239
|
* Override the default chat prompt placeholder text.
|
|
228
240
|
*/
|
|
@@ -362,7 +374,11 @@ export default {
|
|
|
362
374
|
mounted() {
|
|
363
375
|
this.scrollToBottom();
|
|
364
376
|
},
|
|
377
|
+
|
|
365
378
|
methods: {
|
|
379
|
+
updateSize(e) {
|
|
380
|
+
this.$emit('chat-resize', e);
|
|
381
|
+
},
|
|
366
382
|
compositionEnd() {
|
|
367
383
|
this.compositionJustEnded = true;
|
|
368
384
|
},
|
|
@@ -543,202 +559,220 @@ export default {
|
|
|
543
559
|
},
|
|
544
560
|
},
|
|
545
561
|
i18n,
|
|
546
|
-
emptySvg,
|
|
547
562
|
};
|
|
548
563
|
</script>
|
|
549
564
|
<template>
|
|
550
|
-
<
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
565
|
+
<component
|
|
566
|
+
:is="shouldRenderResizable ? 'vue-resizable' : 'div'"
|
|
567
|
+
:width="shouldRenderResizable ? dimensions.width : null"
|
|
568
|
+
:height="shouldRenderResizable ? dimensions.height : null"
|
|
569
|
+
:max-width="shouldRenderResizable ? dimensions.maxWidth : null"
|
|
570
|
+
:max-height="shouldRenderResizable ? dimensions.maxHeight : null"
|
|
571
|
+
:min-width="shouldRenderResizable ? dimensions.minWidth : null"
|
|
572
|
+
:left="shouldRenderResizable ? dimensions.left : null"
|
|
573
|
+
:top="shouldRenderResizable ? dimensions.top : null"
|
|
574
|
+
:fit-parent="true"
|
|
575
|
+
:min-height="shouldRenderResizable ? dimensions.minHeight : null"
|
|
576
|
+
:class="{
|
|
577
|
+
'duo-chat-resizable': shouldRenderResizable,
|
|
578
|
+
'non-resizable-wrapper': !shouldRenderResizable,
|
|
579
|
+
}"
|
|
580
|
+
:active="shouldRenderResizable ? ['l', 't', 'lt'] : null"
|
|
581
|
+
@resize:end="updateSize"
|
|
556
582
|
>
|
|
557
|
-
<
|
|
558
|
-
v-if="
|
|
559
|
-
|
|
560
|
-
class="
|
|
583
|
+
<aside
|
|
584
|
+
v-if="!isHidden"
|
|
585
|
+
id="chat-component"
|
|
586
|
+
:class="{
|
|
587
|
+
'resizable-content': shouldRenderResizable,
|
|
588
|
+
'duo-chat-drawer': !shouldRenderResizable,
|
|
589
|
+
}"
|
|
590
|
+
class="markdown-code-block duo-chat gl-bottom-0 gl-max-h-full"
|
|
591
|
+
role="complementary"
|
|
592
|
+
data-testid="chat-component"
|
|
561
593
|
>
|
|
562
|
-
<
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
<gl-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
594
|
+
<header
|
|
595
|
+
v-if="showHeader"
|
|
596
|
+
data-testid="chat-header"
|
|
597
|
+
:class="{
|
|
598
|
+
'gl-z-200': !shouldRenderResizable,
|
|
599
|
+
}"
|
|
600
|
+
class="duo-chat-drawer-header duo-chat-drawer-header-sticky gl-border-0 gl-bg-default !gl-p-0"
|
|
601
|
+
>
|
|
602
|
+
<div class="drawer-title gl-flex gl-items-center gl-justify-start gl-p-5">
|
|
603
|
+
<h3 class="gl-my-0 gl-text-size-h2">{{ title }}</h3>
|
|
604
|
+
<gl-experiment-badge
|
|
605
|
+
v-if="badgeType"
|
|
606
|
+
:help-page-url="badgeHelpPageUrl"
|
|
607
|
+
:type="badgeType"
|
|
608
|
+
container-id="chat-component"
|
|
609
|
+
/>
|
|
610
|
+
<gl-button
|
|
611
|
+
category="tertiary"
|
|
612
|
+
variant="default"
|
|
613
|
+
icon="close"
|
|
614
|
+
size="small"
|
|
615
|
+
class="gl-ml-auto"
|
|
616
|
+
data-testid="chat-close-button"
|
|
617
|
+
:aria-label="$options.i18n.CHAT_CLOSE_LABEL"
|
|
618
|
+
@click="hideChat"
|
|
619
|
+
/>
|
|
620
|
+
</div>
|
|
581
621
|
|
|
582
|
-
|
|
622
|
+
<!--
|
|
583
623
|
@slot Subheader to be rendered right after the title. It is sticky and stays on top of the chat no matter the number of messages.
|
|
584
624
|
-->
|
|
585
|
-
|
|
625
|
+
<slot name="subheader"></slot>
|
|
586
626
|
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
627
|
+
<!-- Ensure that the global error is not scrolled away -->
|
|
628
|
+
<gl-alert
|
|
629
|
+
v-if="error"
|
|
630
|
+
key="error"
|
|
631
|
+
:dismissible="false"
|
|
632
|
+
variant="danger"
|
|
633
|
+
class="!gl-pl-9"
|
|
634
|
+
role="alert"
|
|
635
|
+
data-testid="chat-error"
|
|
636
|
+
>
|
|
637
|
+
<span v-safe-html="error"></span>
|
|
638
|
+
</gl-alert>
|
|
639
|
+
</header>
|
|
600
640
|
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
>
|
|
606
|
-
<transition-group
|
|
607
|
-
tag="section"
|
|
608
|
-
name="message"
|
|
609
|
-
class="duo-chat-history gl-flex gl-flex-col gl-justify-end"
|
|
610
|
-
:class="[
|
|
611
|
-
{
|
|
612
|
-
'gl-h-full': !hasMessages,
|
|
613
|
-
'force-scroll-bar': hasMessages,
|
|
614
|
-
},
|
|
615
|
-
]"
|
|
641
|
+
<div
|
|
642
|
+
class="duo-chat-drawer-body gl-bg-default"
|
|
643
|
+
data-testid="chat-history"
|
|
644
|
+
@scroll="handleScrollingTrottled"
|
|
616
645
|
>
|
|
617
|
-
<
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
:
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
key="
|
|
631
|
-
:
|
|
632
|
-
:
|
|
633
|
-
:
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
{{ emptyStateDescription }}
|
|
639
|
-
</p>
|
|
640
|
-
<p
|
|
641
|
-
data-testid="duo-chat-empty-state-secondary-description"
|
|
642
|
-
class="gl-mt-3 gl-text-sm gl-text-subtle"
|
|
643
|
-
>
|
|
644
|
-
{{ emptyStateSecondaryDescription }}
|
|
645
|
-
</p>
|
|
646
|
-
</template>
|
|
647
|
-
</gl-empty-state>
|
|
648
|
-
<duo-chat-predefined-prompts
|
|
649
|
-
key="predefined-prompts"
|
|
650
|
-
:prompts="predefinedPrompts"
|
|
651
|
-
@click="sendPredefinedPrompt"
|
|
646
|
+
<transition-group
|
|
647
|
+
tag="section"
|
|
648
|
+
name="message"
|
|
649
|
+
class="duo-chat-history gl-flex gl-flex-col gl-justify-end"
|
|
650
|
+
:class="[
|
|
651
|
+
{
|
|
652
|
+
'gl-h-full': !hasMessages,
|
|
653
|
+
'force-scroll-bar': hasMessages,
|
|
654
|
+
},
|
|
655
|
+
]"
|
|
656
|
+
>
|
|
657
|
+
<duo-chat-conversation
|
|
658
|
+
v-for="(conversation, index) in conversations"
|
|
659
|
+
:key="`conversation-${index}`"
|
|
660
|
+
:enable-code-insertion="enableCodeInsertion"
|
|
661
|
+
:messages="conversation"
|
|
662
|
+
:canceled-request-ids="canceledRequestIds"
|
|
663
|
+
:show-delimiter="index > 0"
|
|
664
|
+
@track-feedback="onTrackFeedback"
|
|
665
|
+
@insert-code-snippet="onInsertCodeSnippet"
|
|
666
|
+
@get-context-item-content="onGetContextItemContent"
|
|
652
667
|
/>
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
668
|
+
<template v-if="!hasMessages && !isLoading">
|
|
669
|
+
<div
|
|
670
|
+
key="empty-state-message"
|
|
671
|
+
class="duo-chat-message gl-rounded-bl-none gl-border-1 gl-border-solid gl-border-gray-50 gl-bg-gray-10 gl-p-4 gl-leading-20 gl-text-gray-900 gl-break-anywhere"
|
|
672
|
+
data-testid="gl-duo-chat-empty-state"
|
|
673
|
+
>
|
|
674
|
+
<p v-if="emptyStateTitle" data-testid="gl-duo-chat-empty-state-title" class="gl-m-0">
|
|
675
|
+
{{ emptyStateTitle }}
|
|
676
|
+
</p>
|
|
677
|
+
<duo-chat-predefined-prompts
|
|
678
|
+
key="predefined-prompts"
|
|
679
|
+
:prompts="predefinedPrompts"
|
|
680
|
+
@click="sendPredefinedPrompt"
|
|
681
|
+
/>
|
|
682
|
+
</div>
|
|
683
|
+
</template>
|
|
684
|
+
<duo-chat-loader v-if="isLoading" key="loader" :tool-name="toolName" />
|
|
685
|
+
<div key="anchor" ref="anchor" class="scroll-anchor"></div>
|
|
686
|
+
</transition-group>
|
|
687
|
+
</div>
|
|
688
|
+
<footer
|
|
689
|
+
v-if="isChatAvailable"
|
|
690
|
+
data-testid="chat-footer"
|
|
691
|
+
class="duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-border-0 gl-bg-default gl-pb-3"
|
|
692
|
+
:class="{ 'duo-chat-drawer-body-scrim-on-footer': !scrolledToBottom }"
|
|
693
|
+
>
|
|
694
|
+
<gl-form data-testid="chat-prompt-form" @submit.stop.prevent="sendChatPrompt">
|
|
695
|
+
<div class="gl-relative gl-max-w-full">
|
|
696
|
+
<!--
|
|
667
697
|
@slot For integrating `<gl-context-items-menu>` component if pinned-context should be available. The following scopedSlot properties are provided: `isOpen`, `onClose`, `setRef`, `focusPrompt`, which should be passed to the `<gl-context-items-menu>` component when rendering, e.g. `<template #context-items-menu="{ isOpen, onClose, setRef, focusPrompt }">` `<duo-chat-context-item-menu :ref="setRef" :open="isOpen" @close="onClose" @focus-prompt="focusPrompt" ...`
|
|
668
698
|
-->
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
699
|
+
<slot
|
|
700
|
+
name="context-items-menu"
|
|
701
|
+
:is-open="contextItemsMenuIsOpen"
|
|
702
|
+
:on-close="closeContextItemsMenuOpen"
|
|
703
|
+
:set-ref="setContextItemsMenuRef"
|
|
704
|
+
:focus-prompt="focusChatInput"
|
|
705
|
+
></slot>
|
|
706
|
+
</div>
|
|
677
707
|
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
>
|
|
683
|
-
<gl-card
|
|
684
|
-
v-if="shouldShowSlashCommands"
|
|
685
|
-
ref="commands"
|
|
686
|
-
class="slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md"
|
|
687
|
-
body-class="!gl-p-2"
|
|
708
|
+
<gl-form-input-group>
|
|
709
|
+
<div
|
|
710
|
+
class="duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top"
|
|
711
|
+
:data-value="prompt"
|
|
688
712
|
>
|
|
689
|
-
<gl-
|
|
690
|
-
v-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
@click="selectSlashCommand(index)"
|
|
713
|
+
<gl-card
|
|
714
|
+
v-if="shouldShowSlashCommands"
|
|
715
|
+
ref="commands"
|
|
716
|
+
class="slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md"
|
|
717
|
+
body-class="!gl-p-2"
|
|
695
718
|
>
|
|
696
|
-
<
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
719
|
+
<gl-dropdown-item
|
|
720
|
+
v-for="(command, index) in filteredSlashCommands"
|
|
721
|
+
:key="command.name"
|
|
722
|
+
:class="{ 'active-command': index === activeCommandIndex }"
|
|
723
|
+
@mouseenter.native="activeCommandIndex = index"
|
|
724
|
+
@click="selectSlashCommand(index)"
|
|
725
|
+
>
|
|
726
|
+
<span class="gl-flex gl-justify-between">
|
|
727
|
+
<span class="gl-block">{{ command.name }}</span>
|
|
728
|
+
<small class="gl-pl-3 gl-text-right gl-italic gl-text-subtle">{{
|
|
729
|
+
command.description
|
|
730
|
+
}}</small>
|
|
731
|
+
</span>
|
|
732
|
+
</gl-dropdown-item>
|
|
733
|
+
</gl-card>
|
|
704
734
|
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
735
|
+
<gl-form-textarea
|
|
736
|
+
ref="prompt"
|
|
737
|
+
v-model="prompt"
|
|
738
|
+
data-testid="chat-prompt-input"
|
|
739
|
+
class="gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none"
|
|
740
|
+
:class="{ 'gl-truncate': !prompt }"
|
|
741
|
+
:placeholder="inputPlaceholder"
|
|
742
|
+
autofocus
|
|
743
|
+
@keydown.enter.exact.native.prevent
|
|
744
|
+
@keyup.native="onInputKeyup"
|
|
745
|
+
@compositionend="compositionEnd"
|
|
746
|
+
/>
|
|
747
|
+
</div>
|
|
748
|
+
<template #append>
|
|
749
|
+
<gl-button
|
|
750
|
+
v-if="displaySubmitButton"
|
|
751
|
+
icon="paper-airplane"
|
|
752
|
+
category="primary"
|
|
753
|
+
variant="confirm"
|
|
754
|
+
class="!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full"
|
|
755
|
+
type="submit"
|
|
756
|
+
data-testid="chat-prompt-submit-button"
|
|
757
|
+
:aria-label="$options.i18n.CHAT_SUBMIT_LABEL"
|
|
758
|
+
/>
|
|
759
|
+
<gl-button
|
|
760
|
+
v-else
|
|
761
|
+
icon="stop"
|
|
762
|
+
category="primary"
|
|
763
|
+
variant="default"
|
|
764
|
+
class="!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full"
|
|
765
|
+
data-testid="chat-prompt-cancel-button"
|
|
766
|
+
:aria-label="$options.i18n.CHAT_CANCEL_LABEL"
|
|
767
|
+
@click="cancelPrompt"
|
|
768
|
+
/>
|
|
769
|
+
</template>
|
|
770
|
+
</gl-form-input-group>
|
|
771
|
+
</gl-form>
|
|
772
|
+
<p class="gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary">
|
|
773
|
+
{{ $options.i18n.CHAT_DISCLAMER }}
|
|
774
|
+
</p>
|
|
775
|
+
</footer>
|
|
776
|
+
</aside>
|
|
777
|
+
</component>
|
|
744
778
|
</template>
|
package/translations.js
CHANGED
|
@@ -7,9 +7,8 @@ export default {
|
|
|
7
7
|
'DuoChat.chatDefaultPredefinedPromptsCreateTemplate': 'How do I create a template?',
|
|
8
8
|
'DuoChat.chatDefaultPredefinedPromptsForkProject': 'How do I fork a project?',
|
|
9
9
|
'DuoChat.chatDefaultTitle': 'GitLab Duo Chat',
|
|
10
|
-
'DuoChat.
|
|
11
|
-
|
|
12
|
-
'DuoChat.chatEmptyStateTitle': 'Ask a question',
|
|
10
|
+
'DuoChat.chatEmptyStateTitle':
|
|
11
|
+
'👋 I am GitLab Duo Chat, your personal AI-powered assistant. How can I help you today?',
|
|
13
12
|
'DuoChat.chatPromptPlaceholderDefault': 'GitLab Duo Chat',
|
|
14
13
|
'DuoChat.chatPromptPlaceholderWithCommands': 'Type /help to learn more',
|
|
15
14
|
'DuoChat.chatSubmitLabel': 'Send chat message.',
|
|
@@ -38,6 +37,7 @@ export default {
|
|
|
38
37
|
'DuoChatMessage.modalMessageError': 'Error sending the message',
|
|
39
38
|
'DuoChatMessage.modalTitle': 'Give feedback on GitLab Duo Chat',
|
|
40
39
|
'DuoChatMessageSources.messageSources': null,
|
|
40
|
+
'GlDuoChat.chatDisclamer': 'Responses may be inaccurate. Verify before use.',
|
|
41
41
|
'GlDuoWorkflowPanel.collapseButtonTitle': 'Collapse',
|
|
42
42
|
'GlDuoWorkflowPanel.expandButtonTitle': 'Expand',
|
|
43
43
|
'GlDuoWorkflowPrompt.cancelButtonText': 'Cancel',
|