@gitlab/ui 85.13.0 → 86.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,24 @@
1
+ # [86.0.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v85.14.0...v86.0.0) (2024-07-04)
2
+
3
+
4
+ ### Features
5
+
6
+ * **tailwind:** add the custom configuration ([fafca85](https://gitlab.com/gitlab-org/gitlab-ui/commit/fafca856afe775f6b7f1442065de8b8a2af521e8))
7
+
8
+
9
+ ### BREAKING CHANGES
10
+
11
+ * **tailwind:** This overrides several Tailwind configuration option.
12
+ Consumers that were already using Tailwind with the GitLab UI preset
13
+ should keep an eye out for utils that might behave differently.
14
+
15
+ # [85.14.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v85.13.0...v85.14.0) (2024-07-04)
16
+
17
+
18
+ ### Features
19
+
20
+ * Add utility class migration script ([1207058](https://gitlab.com/gitlab-org/gitlab-ui/commit/12070583e28bef1a5dafc2fd504e92754f8337c3))
21
+
1
22
  # [85.13.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v85.12.2...v85.13.0) (2024-07-03)
2
23
 
3
24
 
@@ -193,7 +193,7 @@ var script = {
193
193
  const __vue_script__ = script;
194
194
 
195
195
  /* template */
196
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"gl-breadcrumbs",style:(_vm.breadcrumbStyle),attrs:{"aria-label":_vm.ariaLabel}},[_c('b-breadcrumb',_vm._g(_vm._b({staticClass:"gl-breadcrumb-list"},'b-breadcrumb',_vm.$attrs,false),_vm.$listeners),[(_vm.hasCollapsible)?_c('li',{staticClass:"gl-breadcrumb-item"},[_c('gl-disclosure-dropdown',{staticStyle:{"height":"16px"},attrs:{"items":_vm.overflowingItems,"toggle-text":_vm.showMoreLabel,"fluid-width":"","text-sr-only":"","no-caret":"","icon":"ellipsis_h","size":"small"}})],1):_vm._e(),_vm._v(" "),_vm._l((_vm.fittingItems),function(item,index){return _c('gl-breadcrumb-item',{ref:"breadcrumbs",refInFor:true,style:(_vm.itemStyle),attrs:{"text":item.text,"href":item.href,"to":item.to,"aria-current":_vm.getAriaCurrentAttr(index)}},[(item.avatarPath)?_c('gl-avatar',{staticClass:"gl-breadcrumb-avatar-tile gl-border gl-mr-2 gl-rounded-base!",attrs:{"src":item.avatarPath,"size":16,"aria-hidden":"true","shape":"rect","data-testid":"avatar"}}):_vm._e(),_c('span',[_vm._v(_vm._s(item.text))])],1)})],2)],1)};
196
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:"gl-breadcrumbs",style:(_vm.breadcrumbStyle),attrs:{"aria-label":_vm.ariaLabel}},[_c('b-breadcrumb',_vm._g(_vm._b({staticClass:"gl-breadcrumb-list"},'b-breadcrumb',_vm.$attrs,false),_vm.$listeners),[(_vm.hasCollapsible)?_c('li',{staticClass:"gl-breadcrumb-item"},[_c('gl-disclosure-dropdown',{staticStyle:{"height":"16px"},attrs:{"items":_vm.overflowingItems,"toggle-text":_vm.showMoreLabel,"fluid-width":"","text-sr-only":"","no-caret":"","icon":"ellipsis_h","size":"small"}})],1):_vm._e(),_vm._v(" "),_vm._l((_vm.fittingItems),function(item,index){return _c('gl-breadcrumb-item',{ref:"breadcrumbs",refInFor:true,style:(_vm.itemStyle),attrs:{"text":item.text,"href":item.href,"to":item.to,"aria-current":_vm.getAriaCurrentAttr(index)}},[(item.avatarPath)?_c('gl-avatar',{staticClass:"gl-breadcrumb-avatar-tile gl-mr-2 gl-rounded-base! gl-border",attrs:{"src":item.avatarPath,"size":16,"aria-hidden":"true","shape":"rect","data-testid":"avatar"}}):_vm._e(),_c('span',[_vm._v(_vm._s(item.text))])],1)})],2)],1)};
197
197
  var __vue_staticRenderFns__ = [];
198
198
 
199
199
  /* style */
@@ -202,7 +202,7 @@ var script = {
202
202
  const __vue_script__ = script;
203
203
 
204
204
  /* template */
205
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-form-input-group',{staticClass:"gl-search-box-by-click",class:{ 'gl-search-box-by-click-with-search-button': _vm.showSearchButton },scopedSlots:_vm._u([(_vm.historyItems)?{key:"prepend",fn:function(){return [_c('gl-disclosure-dropdown',{ref:"historyDropdown",staticClass:"gl-search-box-by-click-history",attrs:{"icon":"history","toggle-text":"Toggle history","text-sr-only":"","fluid-width":"","disabled":_vm.disabled},scopedSlots:_vm._u([{key:"header",fn:function(){return [_c('div',{staticClass:"gl-search-box-by-click-history-header gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8 gl-border-b-1 gl-border-b-solid gl-border-b-gray-200 gl-flex-grow-1 gl-font-weight-bold gl-font-sm"},[_vm._v("\n "+_vm._s(_vm.recentSearchesHeader)+"\n ")])]},proxy:true},(_vm.historyItems.length)?{key:"footer",fn:function(){return [_c('div',{staticClass:"gl-border-t-solid gl-border-t-1 gl-border-t-gray-200 gl-display-flex gl-flex-direction-column gl-p-2"},[_c('gl-button',{ref:"clearHistory",staticClass:"gl-justify-content-start!",attrs:{"category":"tertiary"},on:{"click":_vm.emitClearHistory}},[_vm._v("\n "+_vm._s(_vm.clearRecentSearchesText)+"\n ")])],1)]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.historyItems.length)?_vm._l((_vm.historyItems),function(item,idx){return _c('gl-disclosure-dropdown-item',{key:idx,staticClass:"gl-search-box-by-click-history-item",on:{"action":function($event){return _vm.selectHistoryItem(item)}},scopedSlots:_vm._u([{key:"list-item",fn:function(){return [_vm._t("history-item",function(){return [_vm._v(_vm._s(item))]},{"historyItem":item})]},proxy:true}],null,true)})}):_c('div',{staticClass:"gl-font-sm gl-py-2 gl-px-4 gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.noRecentSearchesText)+"\n ")])],2)]},proxy:true}:null,(_vm.showSearchButton)?{key:"append",fn:function(){return [_c('gl-button',_vm._b({ref:"searchButton",staticClass:"gl-search-box-by-click-search-button",attrs:{"icon":"search","disabled":_vm.disabled,"aria-label":"Search","data-testid":"search-button"},on:{"click":function($event){return _vm.search(_vm.currentValue)}}},'gl-button',_vm.searchButtonAttributes,false))]},proxy:true}:null],null,true)},[_vm._v(" "),_vm._t("input",function(){return [_c('gl-form-input',_vm._b({ref:"input",staticClass:"gl-search-box-by-click-input",class:{ 'gl-rounded-base!': !_vm.showSearchButton },attrs:{"disabled":_vm.disabled},on:{"focus":function($event){_vm.isFocused = true;},"blur":function($event){_vm.isFocused = false;}},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.search(_vm.currentValue)}},model:{value:(_vm.currentValue),callback:function ($$v) {_vm.currentValue=$$v;},expression:"currentValue"}},'gl-form-input',_vm.inputAttributes,false))]}),_vm._v(" "),(_vm.clearable && _vm.hasValue && !_vm.disabled)?_c('gl-clear-icon-button',{staticClass:"gl-search-box-by-click-icon-button gl-search-box-by-click-clear-button gl-clear-icon-button",attrs:{"title":_vm.clearButtonTitle,"tooltip-container":_vm.tooltipContainer,"data-testid":"filtered-search-clear-button"},on:{"click":_vm.clearInput}}):_vm._e()],2)};
205
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-form-input-group',{staticClass:"gl-search-box-by-click",class:{ 'gl-search-box-by-click-with-search-button': _vm.showSearchButton },scopedSlots:_vm._u([(_vm.historyItems)?{key:"prepend",fn:function(){return [_c('gl-disclosure-dropdown',{ref:"historyDropdown",staticClass:"gl-search-box-by-click-history",attrs:{"icon":"history","toggle-text":"Toggle history","text-sr-only":"","fluid-width":"","disabled":_vm.disabled},scopedSlots:_vm._u([{key:"header",fn:function(){return [_c('div',{staticClass:"gl-search-box-by-click-history-header gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8 gl-border-b-1 gl-border-b-gray-200 gl-flex-grow-1 gl-font-weight-bold gl-font-sm gl-border-b-solid"},[_vm._v("\n "+_vm._s(_vm.recentSearchesHeader)+"\n ")])]},proxy:true},(_vm.historyItems.length)?{key:"footer",fn:function(){return [_c('div',{staticClass:"gl-border-t-1 gl-border-t-gray-200 gl-display-flex gl-flex-direction-column gl-p-2 gl-border-t-solid"},[_c('gl-button',{ref:"clearHistory",staticClass:"gl-justify-content-start!",attrs:{"category":"tertiary"},on:{"click":_vm.emitClearHistory}},[_vm._v("\n "+_vm._s(_vm.clearRecentSearchesText)+"\n ")])],1)]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.historyItems.length)?_vm._l((_vm.historyItems),function(item,idx){return _c('gl-disclosure-dropdown-item',{key:idx,staticClass:"gl-search-box-by-click-history-item",on:{"action":function($event){return _vm.selectHistoryItem(item)}},scopedSlots:_vm._u([{key:"list-item",fn:function(){return [_vm._t("history-item",function(){return [_vm._v(_vm._s(item))]},{"historyItem":item})]},proxy:true}],null,true)})}):_c('div',{staticClass:"gl-font-sm gl-py-2 gl-px-4 gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.noRecentSearchesText)+"\n ")])],2)]},proxy:true}:null,(_vm.showSearchButton)?{key:"append",fn:function(){return [_c('gl-button',_vm._b({ref:"searchButton",staticClass:"gl-search-box-by-click-search-button",attrs:{"icon":"search","disabled":_vm.disabled,"aria-label":"Search","data-testid":"search-button"},on:{"click":function($event){return _vm.search(_vm.currentValue)}}},'gl-button',_vm.searchButtonAttributes,false))]},proxy:true}:null],null,true)},[_vm._v(" "),_vm._t("input",function(){return [_c('gl-form-input',_vm._b({ref:"input",staticClass:"gl-search-box-by-click-input",class:{ 'gl-rounded-base!': !_vm.showSearchButton },attrs:{"disabled":_vm.disabled},on:{"focus":function($event){_vm.isFocused = true;},"blur":function($event){_vm.isFocused = false;}},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.search(_vm.currentValue)}},model:{value:(_vm.currentValue),callback:function ($$v) {_vm.currentValue=$$v;},expression:"currentValue"}},'gl-form-input',_vm.inputAttributes,false))]}),_vm._v(" "),(_vm.clearable && _vm.hasValue && !_vm.disabled)?_c('gl-clear-icon-button',{staticClass:"gl-search-box-by-click-icon-button gl-search-box-by-click-clear-button gl-clear-icon-button",attrs:{"title":_vm.clearButtonTitle,"tooltip-container":_vm.tooltipContainer,"data-testid":"filtered-search-clear-button"},on:{"click":_vm.clearInput}}):_vm._e()],2)};
206
206
  var __vue_staticRenderFns__ = [];
207
207
 
208
208
  /* style */
@@ -194,7 +194,7 @@ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=
194
194
  _vm.isAssistantMessage,
195
195
  'gl-bg-white': _vm.isAssistantMessage && !_vm.error,
196
196
  'gl-bg-red-50 gl-border-none!': _vm.error,
197
- }},[(_vm.error)?_c('gl-icon',{staticClass:"gl-border gl-border-red-500 gl-rounded-full gl-mr-3 gl-flex-shrink-0 error-icon gl-text-red-600",attrs:{"aria-label":_vm.$options.i18n.MESSAGE_ERROR,"name":"status_warning_borderless","size":16,"data-testid":"error"}}):_vm._e(),_vm._v(" "),_c('div',{ref:"content-wrapper",class:{ 'has-error': _vm.error }},[(_vm.error)?_c('div',{ref:"error-message"},[_vm._v(_vm._s(_vm.error))]):_c('div',[_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.messageContent),expression:"messageContent",arg:_vm.$options.safeHtmlConfigExtension}],ref:"content"}),_vm._v(" "),(_vm.isAssistantMessage)?[(_vm.sources)?_c('documentation-sources',{attrs:{"sources":_vm.sources}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-flex-end gl-mt-4 duo-chat-message-feedback"},[(_vm.isChunkAndNotCancelled)?_c('gl-loading-icon',{staticClass:"gl-pt-4",attrs:{"variant":"dots","inline":""}}):_vm._e(),_vm._v(" "),(_vm.isNotChunkOrCancelled)?_c('gl-duo-user-feedback',{attrs:{"feedback-received":_vm.hasFeedback,"modal-title":_vm.$options.i18n.MODAL.TITLE,"modal-alert":_vm.$options.i18n.MODAL.ALERT_TEXT},on:{"feedback":_vm.logEvent},scopedSlots:_vm._u([{key:"feedback-extra-fields",fn:function(){return [_c('gl-form-group',{attrs:{"label":_vm.$options.i18n.MODAL.DID_WHAT,"optional":""}},[_c('gl-form-textarea',{attrs:{"placeholder":_vm.$options.i18n.MODAL.INTERACTION},model:{value:(_vm.didWhat),callback:function ($$v) {_vm.didWhat=$$v;},expression:"didWhat"}})],1),_vm._v(" "),_c('gl-form-group',{attrs:{"label":_vm.$options.i18n.MODAL.IMPROVE_WHAT,"optional":""}},[_c('gl-form-textarea',{attrs:{"placeholder":_vm.$options.i18n.MODAL.BETTER_RESPONSE},model:{value:(_vm.improveWhat),callback:function ($$v) {_vm.improveWhat=$$v;},expression:"improveWhat"}})],1)]},proxy:true}],null,false,419229417)}):_vm._e()],1)]:_vm._e()],2)])],1)};
197
+ }},[(_vm.error)?_c('gl-icon',{staticClass:"gl-border-red-500 gl-rounded-full gl-mr-3 gl-flex-shrink-0 error-icon gl-border gl-text-red-600",attrs:{"aria-label":_vm.$options.i18n.MESSAGE_ERROR,"name":"status_warning_borderless","size":16,"data-testid":"error"}}):_vm._e(),_vm._v(" "),_c('div',{ref:"content-wrapper",class:{ 'has-error': _vm.error }},[(_vm.error)?_c('div',{ref:"error-message"},[_vm._v(_vm._s(_vm.error))]):_c('div',[_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.messageContent),expression:"messageContent",arg:_vm.$options.safeHtmlConfigExtension}],ref:"content"}),_vm._v(" "),(_vm.isAssistantMessage)?[(_vm.sources)?_c('documentation-sources',{attrs:{"sources":_vm.sources}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-flex-end gl-mt-4 duo-chat-message-feedback"},[(_vm.isChunkAndNotCancelled)?_c('gl-loading-icon',{staticClass:"gl-pt-4",attrs:{"variant":"dots","inline":""}}):_vm._e(),_vm._v(" "),(_vm.isNotChunkOrCancelled)?_c('gl-duo-user-feedback',{attrs:{"feedback-received":_vm.hasFeedback,"modal-title":_vm.$options.i18n.MODAL.TITLE,"modal-alert":_vm.$options.i18n.MODAL.ALERT_TEXT},on:{"feedback":_vm.logEvent},scopedSlots:_vm._u([{key:"feedback-extra-fields",fn:function(){return [_c('gl-form-group',{attrs:{"label":_vm.$options.i18n.MODAL.DID_WHAT,"optional":""}},[_c('gl-form-textarea',{attrs:{"placeholder":_vm.$options.i18n.MODAL.INTERACTION},model:{value:(_vm.didWhat),callback:function ($$v) {_vm.didWhat=$$v;},expression:"didWhat"}})],1),_vm._v(" "),_c('gl-form-group',{attrs:{"label":_vm.$options.i18n.MODAL.IMPROVE_WHAT,"optional":""}},[_c('gl-form-textarea',{attrs:{"placeholder":_vm.$options.i18n.MODAL.BETTER_RESPONSE},model:{value:(_vm.improveWhat),callback:function ($$v) {_vm.improveWhat=$$v;},expression:"improveWhat"}})],1)]},proxy:true}],null,false,419229417)}):_vm._e()],1)]:_vm._e()],2)])],1)};
198
198
  var __vue_staticRenderFns__ = [];
199
199
 
200
200
  /* style */
@@ -401,11 +401,11 @@ var script = {
401
401
  const __vue_script__ = script;
402
402
 
403
403
  /* template */
404
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat-drawer gl-max-h-full gl-shadow-none gl-border-l gl-border-t duo-chat gl-bottom-0",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-z-index-200 gl-p-0! gl-border-b-0",attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-display-flex gl-justify-content-start gl-align-items-center gl-p-5"},[_c('h3',{staticClass:"gl-my-0 gl-font-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_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(" "),_c('gl-alert',{staticClass:"gl-text-center gl-border-t gl-p-4 gl-bg-gray-50 legal-warning gl-max-w-full gl-text-gray-700",attrs:{"dismissible":false,"variant":"tip","show-icon":false,"role":"alert","data-testid":"chat-legal-warning"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_GENERATED_BY_AI))]),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"gl-pl-9!",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2):_vm._e(),_vm._v(" "),_c('div',{staticClass:"duo-chat-drawer-body",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingTrottled}},[_c('transition-group',{staticClass:"duo-chat-history gl-display-flex gl-flex-direction-column gl-justify-content-end gl-bg-gray-10",class:[
404
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat-drawer gl-max-h-full gl-shadow-none duo-chat gl-border-t gl-border-l gl-bottom-0",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-z-index-200 gl-p-0! gl-border-b-0",attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-display-flex gl-justify-content-start gl-align-items-center gl-p-5"},[_c('h3',{staticClass:"gl-my-0 gl-font-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_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(" "),_c('gl-alert',{staticClass:"gl-text-center gl-p-4 gl-bg-gray-50 legal-warning gl-max-w-full gl-border-t gl-text-gray-700",attrs:{"dismissible":false,"variant":"tip","show-icon":false,"role":"alert","data-testid":"chat-legal-warning"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_GENERATED_BY_AI))]),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"gl-pl-9!",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2):_vm._e(),_vm._v(" "),_c('div',{staticClass:"duo-chat-drawer-body",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingTrottled}},[_c('transition-group',{staticClass:"duo-chat-history gl-display-flex gl-flex-direction-column gl-justify-content-end gl-bg-gray-10",class:[
405
405
  {
406
406
  'gl-h-full': !_vm.hasMessages,
407
407
  'force-scroll-bar': _vm.hasMessages,
408
- } ],attrs:{"tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('gl-duo-chat-conversation',{key:("conversation-" + index),attrs:{"messages":conversation,"canceled-request-ids":_vm.canceledRequestIds,"show-delimiter":index > 0},on:{"track-feedback":_vm.onTrackFeedback}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('gl-empty-state',{key:"empty-state",staticClass:"gl-flex-grow gl-justify-content-center",attrs:{"svg-path":_vm.$options.emptySvg,"svg-height":145,"title":_vm.emptyStateTitle,"description":_vm.emptyStateDescription}}),_vm._v(" "),_c('gl-duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('gl-duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable)?_c('footer',{staticClass:"duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-p-5 gl-border-t gl-bg-gray-10",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('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.displaySubmitButton)?_c('gl-button',{staticClass:"gl-rounded-base! !gl-absolute gl-bottom-2 gl-right-2",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-rounded-base! !gl-absolute gl-bottom-2 gl-right-2",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,1231938732)},[_c('div',{staticClass:"duo-chat-input gl-flex-grow-1 gl-vertical-align-top gl-max-w-full gl-min-h-8 gl-inset-border-1-gray-400 gl-rounded-base gl-bg-white",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands gl-translate-y-n100 gl-list-style-none gl-pl-0 gl-w-full gl-shadow-md !gl-absolute",attrs:{"body-class":"gl-p-2!"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-display-flex gl-justify-content-space-between"},[_c('span',{staticClass:"gl-display-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-font-style-italic gl-text-right gl-pl-3 gl-text-gray-500"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-h-full! gl-py-4! gl-bg-transparent! gl-rounded-top-right-none gl-rounded-bottom-right-none gl-shadow-none! gl-absolute",class:{ 'gl-text-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)]),_vm._v(" "),_c('gl-form-text',{staticClass:"gl-line-height-20 gl-mt-3 gl-text-gray-400",attrs:{"data-testid":"chat-legal-disclaimer"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_DISCLAIMER))])],1)],1):_vm._e()]):_vm._e()};
408
+ } ],attrs:{"tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('gl-duo-chat-conversation',{key:("conversation-" + index),attrs:{"messages":conversation,"canceled-request-ids":_vm.canceledRequestIds,"show-delimiter":index > 0},on:{"track-feedback":_vm.onTrackFeedback}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('gl-empty-state',{key:"empty-state",staticClass:"gl-flex-grow gl-justify-content-center",attrs:{"svg-path":_vm.$options.emptySvg,"svg-height":145,"title":_vm.emptyStateTitle,"description":_vm.emptyStateDescription}}),_vm._v(" "),_c('gl-duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('gl-duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable)?_c('footer',{staticClass:"duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-p-5 gl-bg-gray-10 gl-border-t",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('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.displaySubmitButton)?_c('gl-button',{staticClass:"gl-rounded-base! !gl-absolute gl-bottom-2 gl-right-2",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-rounded-base! !gl-absolute gl-bottom-2 gl-right-2",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,1231938732)},[_c('div',{staticClass:"duo-chat-input gl-flex-grow-1 gl-vertical-align-top gl-max-w-full gl-min-h-8 gl-inset-border-1-gray-400 gl-rounded-base gl-bg-white",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands gl-translate-y-n100 gl-list-style-none gl-pl-0 gl-w-full gl-shadow-md !gl-absolute",attrs:{"body-class":"gl-p-2!"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-display-flex gl-justify-content-space-between"},[_c('span',{staticClass:"gl-display-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-font-style-italic gl-text-right gl-pl-3 gl-text-gray-500"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-h-full! gl-py-4! gl-bg-transparent! gl-rounded-top-right-none gl-rounded-bottom-right-none gl-shadow-none! gl-absolute",class:{ 'gl-text-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)]),_vm._v(" "),_c('gl-form-text',{staticClass:"gl-line-height-20 gl-mt-3 gl-text-gray-400",attrs:{"data-testid":"chat-legal-disclaimer"}},[_vm._v(_vm._s(_vm.$options.i18n.CHAT_LEGAL_DISCLAIMER))])],1)],1):_vm._e()]):_vm._e()};
409
409
  var __vue_staticRenderFns__ = [];
410
410
 
411
411
  /* style */
package/dist/tailwind.css CHANGED
@@ -1,2 +1,2 @@
1
- .gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-bottom-0{bottom:0}.gl-bottom-2{bottom:.25rem}.gl-left-0{left:0}.gl-right-2{right:.25rem}.gl-float-right{float:right}.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,#535158))}.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,#333238))}.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-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.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-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,#535158)}.gl-text-gray-900{color:var(--gray-900,#333238)}.gl-text-gray-950{color:var(--gray-950,#1f1e24)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-green-600{color:var(--green-600,#217645)}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-300{color:var(--red-300,#f57f6c)}.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,#1f1e24))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-white{color:var(--white,#fff)}
1
+ .gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-bottom-0{bottom:0}.gl-bottom-2{bottom:.25rem}.gl-left-0{left:0}.gl-right-2{right:.25rem}.gl-float-right{float:right}.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,#535158))}.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,#333238))}.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-text-blue-100{color:var(--blue-100,#cbe2f9)}.gl-text-blue-500{color:var(--blue-500,#1f75cb)}.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-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,#535158)}.gl-text-gray-900{color:var(--gray-900,#333238)}.gl-text-gray-950{color:var(--gray-950,#1f1e24)}.gl-text-green-500{color:var(--green-500,#108548)}.gl-text-green-600{color:var(--green-600,#217645)}.gl-text-orange-500{color:var(--orange-500,#ab6100)}.gl-text-red-300{color:var(--red-300,#f57f6c)}.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,#1f1e24))}.gl-text-subtle{color:var(--gl-text-color-subtle,var(--gl-color-neutral-600,#626168))}.gl-text-white{color:var(--white,#fff)}.gl-font-monospace{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}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}
2
2
  /*# sourceMappingURL=tailwind.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"AAAA,UAAA,cAAmB,CAAnB,eAAA,2BAAmB,CAAnB,aAAA,iBAAmB,CAAnB,aAAA,iBAAmB,CAAnB,aAAA,QAAmB,CAAnB,aAAA,aAAmB,CAAnB,WAAA,MAAmB,CAAnB,YAAA,YAAmB,CAAnB,gBAAA,WAAmB,CAAnB,iBAAA,iBAAmB,CAAnB,kBAAA,4BAAmB,CAAnB,qBAAA,gEAAmB,CAAnB,sBAAA,qEAAmB,CAAnB,uBAAA,sEAAmB,CAAnB,mBAAA,+DAAmB,CAAnB,mBAAA,+DAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,sBAAA,mEAAmB,CAAnB,sBAAA,oEAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,gBAAA,iEAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,oBAAA,+BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,mBAAA,sCAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,eAAA,uBAAmB","file":"tailwind.css","sourcesContent":["@tailwind utilities;\n"]}
1
+ {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"AAAA,UAAA,cAAmB,CAAnB,eAAA,2BAAmB,CAAnB,aAAA,iBAAmB,CAAnB,aAAA,iBAAmB,CAAnB,aAAA,QAAmB,CAAnB,aAAA,aAAmB,CAAnB,WAAA,MAAmB,CAAnB,YAAA,YAAmB,CAAnB,gBAAA,WAAmB,CAAnB,iBAAA,iBAAmB,CAAnB,kBAAA,4BAAmB,CAAnB,qBAAA,gEAAmB,CAAnB,sBAAA,qEAAmB,CAAnB,uBAAA,sEAAmB,CAAnB,mBAAA,+DAAmB,CAAnB,mBAAA,+DAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,qBAAA,oEAAmB,CAAnB,sBAAA,mEAAmB,CAAnB,sBAAA,oEAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,gBAAA,iEAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,kBAAA,6BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,mBAAA,8BAAmB,CAAnB,oBAAA,+BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,iBAAA,4BAAmB,CAAnB,mBAAA,sCAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,gBAAA,qEAAmB,CAAnB,eAAA,uBAAmB,CAAnB,mBAAA,gMAAmB,CAAnB,2BAAmB,CAAnB,mBAAA,yBAAmB,CAAnB,mBAAA,sBAAmB","file":"tailwind.css","sourcesContent":["@tailwind utilities;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "85.13.0",
3
+ "version": "86.0.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -15,6 +15,7 @@
15
15
  "author": "GitLab",
16
16
  "private": false,
17
17
  "files": [
18
+ "bin/migrate_custom_utils_to_tw.bundled.mjs",
18
19
  "src",
19
20
  "dist",
20
21
  "translations.js",
@@ -27,11 +28,12 @@
27
28
  ],
28
29
  "scripts": {
29
30
  "build": "NODE_ENV=production rollup -c",
30
- "prebuild": "run-s build-tokens generate-utilities",
31
+ "prebuild": "run-s build-tokens generate-utilities build-migration-script",
31
32
  "prepare": "run-s build-tokens generate-utilities",
32
33
  "generate-utilities": "make src/scss/utilities.scss",
33
34
  "copy-fonts": "make copy-fonts",
34
35
  "build-tokens": "node ./bin/build_tokens.js",
36
+ "build-migration-script": "esbuild --bundle --platform=node --target=esnext --outfile=bin/migrate_custom_utils_to_tw.bundled.mjs --format=esm --banner:js=\"import { createRequire as __gl__createRequire } from 'node:module'; const require = __gl__createRequire(import.meta.url);\" bin/migrate_custom_utils_to_tw.mjs",
35
37
  "clean": "rm -r dist storybook src/scss/utilities.scss",
36
38
  "cy:a11y": "cypress run --browser chrome --env grepTags=@a11y",
37
39
  "cy:edge": "cypress run --browser edge --env grepTags=-@a11y+-@storybook",
@@ -149,12 +151,14 @@
149
151
  "cypress-real-events": "^1.11.0",
150
152
  "dompurify": "^3.1.2",
151
153
  "emoji-regex": "^10.0.0",
154
+ "esbuild": "^0.18.0",
152
155
  "eslint": "8.57.0",
153
156
  "eslint-import-resolver-jest": "3.0.2",
154
157
  "eslint-plugin-cypress": "3.3.0",
155
158
  "eslint-plugin-storybook": "0.8.0",
156
159
  "gitlab-api-async-iterator": "^1.3.1",
157
160
  "glob": "10.3.3",
161
+ "globby": "^11.1.0",
158
162
  "identity-obj-proxy": "^3.0.0",
159
163
  "inquirer-select-directory": "^1.2.0",
160
164
  "jest": "^29.7.0",
@@ -198,7 +202,8 @@
198
202
  "vue-loader-vue3": "npm:vue-loader@17",
199
203
  "vue-template-compiler": "2.7.16",
200
204
  "vue-test-utils-compat": "^0.0.10",
201
- "webpack": "^5.9.0"
205
+ "webpack": "^5.9.0",
206
+ "yargs": "^17.3.1"
202
207
  },
203
208
  "release": {
204
209
  "branches": [
@@ -219,7 +219,7 @@ export default {
219
219
  :src="item.avatarPath"
220
220
  :size="16"
221
221
  aria-hidden="true"
222
- class="gl-breadcrumb-avatar-tile gl-border gl-mr-2 gl-rounded-base!"
222
+ class="gl-breadcrumb-avatar-tile gl-mr-2 gl-rounded-base! gl-border"
223
223
  shape="rect"
224
224
  data-testid="avatar"
225
225
  /><span>{{ item.text }}</span>
@@ -219,7 +219,7 @@ export default {
219
219
  >
220
220
  <template #header>
221
221
  <div
222
- class="gl-search-box-by-click-history-header gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8 gl-border-b-1 gl-border-b-solid gl-border-b-gray-200 gl-flex-grow-1 gl-font-weight-bold gl-font-sm"
222
+ class="gl-search-box-by-click-history-header gl-display-flex gl-align-items-center gl-p-4! gl-min-h-8 gl-border-b-1 gl-border-b-gray-200 gl-flex-grow-1 gl-font-weight-bold gl-font-sm gl-border-b-solid"
223
223
  >
224
224
  {{ recentSearchesHeader }}
225
225
  </div>
@@ -244,7 +244,7 @@ export default {
244
244
 
245
245
  <template v-if="historyItems.length" #footer>
246
246
  <div
247
- class="gl-border-t-solid gl-border-t-1 gl-border-t-gray-200 gl-display-flex gl-flex-direction-column gl-p-2"
247
+ class="gl-border-t-1 gl-border-t-gray-200 gl-display-flex gl-flex-direction-column gl-p-2 gl-border-t-solid"
248
248
  >
249
249
  <gl-button
250
250
  ref="clearHistory"
@@ -199,7 +199,7 @@ export default {
199
199
  :aria-label="$options.i18n.MESSAGE_ERROR"
200
200
  name="status_warning_borderless"
201
201
  :size="16"
202
- class="gl-border gl-border-red-500 gl-rounded-full gl-mr-3 gl-flex-shrink-0 error-icon gl-text-red-600"
202
+ class="gl-border-red-500 gl-rounded-full gl-mr-3 gl-flex-shrink-0 error-icon gl-border gl-text-red-600"
203
203
  data-testid="error"
204
204
  />
205
205
  <div ref="content-wrapper" :class="{ 'has-error': error }">
@@ -412,7 +412,7 @@ export default {
412
412
  <aside
413
413
  v-if="!isHidden"
414
414
  id="chat-component"
415
- class="markdown-code-block duo-chat-drawer gl-max-h-full gl-shadow-none gl-border-l gl-border-t duo-chat gl-bottom-0"
415
+ class="markdown-code-block duo-chat-drawer gl-max-h-full gl-shadow-none duo-chat gl-border-t gl-border-l gl-bottom-0"
416
416
  role="complementary"
417
417
  data-testid="chat-component"
418
418
  >
@@ -447,7 +447,7 @@ export default {
447
447
  :dismissible="false"
448
448
  variant="tip"
449
449
  :show-icon="false"
450
- class="gl-text-center gl-border-t gl-p-4 gl-bg-gray-50 legal-warning gl-max-w-full gl-text-gray-700"
450
+ class="gl-text-center gl-p-4 gl-bg-gray-50 legal-warning gl-max-w-full gl-border-t gl-text-gray-700"
451
451
  role="alert"
452
452
  data-testid="chat-legal-warning"
453
453
  >{{ $options.i18n.CHAT_LEGAL_GENERATED_BY_AI }}</gl-alert
@@ -514,7 +514,7 @@ export default {
514
514
  <footer
515
515
  v-if="isChatAvailable"
516
516
  data-testid="chat-footer"
517
- class="duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-p-5 gl-border-t gl-bg-gray-10"
517
+ class="duo-chat-drawer-footer duo-chat-drawer-footer-sticky gl-p-5 gl-bg-gray-10 gl-border-t"
518
518
  :class="{ 'duo-chat-drawer-body-scrim-on-footer': !scrolledToBottom }"
519
519
  >
520
520
  <gl-form data-testid="chat-prompt-form" @submit.stop.prevent="sendChatPrompt">
@@ -1,3 +1,5 @@
1
+ const { range, round } = require('lodash');
2
+ const plugin = require('tailwindcss/plugin');
1
3
  const {
2
4
  colors,
3
5
  backgroundColor,
@@ -9,6 +11,7 @@ const {
9
11
  const gridSize = 0.5; // rem
10
12
  const spacing = {
11
13
  0: '0',
14
+ px: '1px',
12
15
  ...Object.fromEntries(
13
16
  Object.entries({
14
17
  1: 0.25,
@@ -43,26 +46,390 @@ const spacing = {
43
46
  ),
44
47
  };
45
48
 
49
+ function addCustomDefinitions({ addComponents, addUtilities }) {
50
+ addComponents({
51
+ '.border': {
52
+ 'border-style': 'solid',
53
+ 'border-color': 'var(--gray-100, #dcdcde)',
54
+ },
55
+ '.border-t': {
56
+ 'border-top-style': 'solid',
57
+ 'border-top-color': 'var(--gray-100, #dcdcde)',
58
+ },
59
+ '.border-r': {
60
+ 'border-right-style': 'solid',
61
+ 'border-right-color': 'var(--gray-100, #dcdcde)',
62
+ },
63
+ '.border-b': {
64
+ 'border-bottom-style': 'solid',
65
+ 'border-bottom-color': 'var(--gray-100, #dcdcde)',
66
+ },
67
+ '.border-l': {
68
+ 'border-left-style': 'solid',
69
+ 'border-left-color': 'var(--gray-100, #dcdcde)',
70
+ },
71
+ '.str-truncated': {
72
+ display: 'inline-block',
73
+ overflow: 'hidden',
74
+ 'text-overflow': 'ellipsis',
75
+ 'vertical-align': 'top',
76
+ 'white-space': 'nowrap',
77
+ 'max-width': '82%',
78
+ },
79
+ '.no-spin[type="number"]': {
80
+ '&::-webkit-outer-spin-button': {
81
+ '-webkit-appearance': 'none',
82
+ margin: '0',
83
+ },
84
+ '&::-webkit-inner-spin-button': {
85
+ '-webkit-appearance': 'none',
86
+ margin: '0',
87
+ },
88
+ '-moz-appearance': 'textfield',
89
+ },
90
+ '.heading-6': {
91
+ 'font-weight': '600',
92
+ 'margin-top': '0',
93
+ 'font-size': '0.8125rem',
94
+ 'letter-spacing': 'inherit',
95
+ 'line-height': '1.25',
96
+ 'margin-bottom': '1rem',
97
+ },
98
+ '.heading-6-fixed': {
99
+ 'font-weight': '600',
100
+ 'margin-top': '0',
101
+ 'font-size': '0.8125rem',
102
+ 'letter-spacing': 'inherit',
103
+ 'line-height': '1.25',
104
+ 'margin-bottom': '1rem',
105
+ },
106
+ '.heading-5': {
107
+ 'font-weight': '600',
108
+ 'margin-top': '0',
109
+ 'font-size': '0.875rem',
110
+ 'letter-spacing': 'inherit',
111
+ 'line-height': '1.25',
112
+ 'margin-bottom': '1rem',
113
+ },
114
+ '.heading-5-fixed': {
115
+ 'font-weight': '600',
116
+ 'margin-top': '0',
117
+ 'font-size': '0.875rem',
118
+ 'letter-spacing': 'inherit',
119
+ 'line-height': '1.25',
120
+ 'margin-bottom': '1rem',
121
+ },
122
+ '.heading-4': {
123
+ 'font-weight': '600',
124
+ 'margin-top': '0',
125
+ 'font-size': '1rem',
126
+ 'letter-spacing': 'inherit',
127
+ 'line-height': '1.25',
128
+ 'margin-bottom': '1rem',
129
+ },
130
+ '.heading-4-fixed': {
131
+ 'font-weight': '600',
132
+ 'margin-top': '0',
133
+ 'font-size': '1rem',
134
+ 'letter-spacing': 'inherit',
135
+ 'line-height': '1.25',
136
+ 'margin-bottom': '1rem',
137
+ },
138
+ '.heading-3': {
139
+ 'font-weight': '600',
140
+ 'margin-top': '0',
141
+ 'font-size': 'clamp(1.125rem, 0.9027777778rem + 0.462962963vw, 1.25rem)',
142
+ 'letter-spacing': 'inherit',
143
+ 'line-height': '1.25',
144
+ 'margin-bottom': '1rem',
145
+ },
146
+ '.heading-3-fixed': {
147
+ 'font-weight': '600',
148
+ 'margin-top': '0',
149
+ 'font-size': '1.125rem',
150
+ 'letter-spacing': 'inherit',
151
+ 'line-height': '1.25',
152
+ 'margin-bottom': '1rem',
153
+ },
154
+ '.heading-2': {
155
+ 'font-weight': '600',
156
+ 'margin-top': '0',
157
+ 'font-size': 'clamp(1.3125rem, 0.8680555556rem + 0.9259259259vw, 1.5625rem)',
158
+ 'letter-spacing': '-0.01em',
159
+ 'line-height': '1.25',
160
+ 'margin-bottom': '1rem',
161
+ },
162
+ '.heading-2-fixed': {
163
+ 'font-weight': '600',
164
+ 'margin-top': '0',
165
+ 'font-size': '1.3125rem',
166
+ 'letter-spacing': '-0.01em',
167
+ 'line-height': '1.25',
168
+ 'margin-bottom': '1rem',
169
+ },
170
+ '.heading-1': {
171
+ 'font-weight': '600',
172
+ 'margin-top': '0',
173
+ 'font-size': 'clamp(1.5rem, 0.8333333333rem + 1.3888888889vw, 1.875rem)',
174
+ 'letter-spacing': '-0.01em',
175
+ 'line-height': '1.25',
176
+ 'margin-bottom': '1rem',
177
+ },
178
+ '.heading-1-fixed': {
179
+ 'font-weight': '600',
180
+ 'margin-top': '0',
181
+ 'font-size': '1.5rem',
182
+ 'letter-spacing': '-0.01em',
183
+ 'line-height': '1.25',
184
+ 'margin-bottom': '1rem',
185
+ },
186
+ '.heading-display': {
187
+ 'font-weight': '600',
188
+ 'margin-top': '0',
189
+ 'font-size': 'clamp(1.75rem, 0.8611111111rem + 1.8518518519vw, 2.25rem)',
190
+ 'letter-spacing': '-0.01em',
191
+ 'line-height': '1.125',
192
+ 'margin-bottom': '1.5rem',
193
+ },
194
+ '.heading-scale-100': {
195
+ 'font-weight': '600',
196
+ 'margin-top': '0',
197
+ 'font-size': '0.75rem',
198
+ 'letter-spacing': 'inherit',
199
+ 'line-height': '1.25',
200
+ },
201
+ '.heading-scale-100-fixed': {
202
+ 'font-weight': '600',
203
+ 'margin-top': '0',
204
+ 'font-size': '0.75rem',
205
+ 'letter-spacing': 'inherit',
206
+ 'line-height': '1.25',
207
+ },
208
+ '.heading-scale-200': {
209
+ 'font-weight': '600',
210
+ 'margin-top': '0',
211
+ 'font-size': '0.8125rem',
212
+ 'letter-spacing': 'inherit',
213
+ 'line-height': '1.25',
214
+ },
215
+ '.heading-scale-200-fixed': {
216
+ 'font-weight': '600',
217
+ 'margin-top': '0',
218
+ 'font-size': '0.8125rem',
219
+ 'letter-spacing': 'inherit',
220
+ 'line-height': '1.25',
221
+ },
222
+ '.heading-scale-300': {
223
+ 'font-weight': '600',
224
+ 'margin-top': '0',
225
+ 'font-size': '0.875rem',
226
+ 'letter-spacing': 'inherit',
227
+ 'line-height': '1.25',
228
+ },
229
+ '.heading-scale-300-fixed': {
230
+ 'font-weight': '600',
231
+ 'margin-top': '0',
232
+ 'font-size': '0.875rem',
233
+ 'letter-spacing': 'inherit',
234
+ 'line-height': '1.25',
235
+ },
236
+ '.heading-scale-400': {
237
+ 'font-weight': '600',
238
+ 'margin-top': '0',
239
+ 'font-size': '1rem',
240
+ 'letter-spacing': 'inherit',
241
+ 'line-height': '1.25',
242
+ },
243
+ '.heading-scale-400-fixed': {
244
+ 'font-weight': '600',
245
+ 'margin-top': '0',
246
+ 'font-size': '1rem',
247
+ 'letter-spacing': 'inherit',
248
+ 'line-height': '1.25',
249
+ },
250
+ '.heading-scale-500': {
251
+ 'font-weight': '600',
252
+ 'margin-top': '0',
253
+ 'font-size': 'clamp(1.125rem, 0.9027777778rem + 0.462962963vw, 1.25rem)',
254
+ 'letter-spacing': 'inherit',
255
+ 'line-height': '1.25',
256
+ },
257
+ '.heading-scale-500-fixed': {
258
+ 'font-weight': '600',
259
+ 'margin-top': '0',
260
+ 'font-size': '1.125rem',
261
+ 'letter-spacing': 'inherit',
262
+ 'line-height': '1.25',
263
+ },
264
+ '.heading-scale-600': {
265
+ 'font-weight': '600',
266
+ 'margin-top': '0',
267
+ 'font-size': 'clamp(1.3125rem, 0.8680555556rem + 0.9259259259vw, 1.5625rem)',
268
+ 'letter-spacing': '-0.01em',
269
+ 'line-height': '1.25',
270
+ },
271
+ '.heading-scale-600-fixed': {
272
+ 'font-weight': '600',
273
+ 'margin-top': '0',
274
+ 'font-size': '1.3125rem',
275
+ 'letter-spacing': '-0.01em',
276
+ 'line-height': '1.25',
277
+ },
278
+ '.heading-scale-700': {
279
+ 'font-weight': '600',
280
+ 'margin-top': '0',
281
+ 'font-size': 'clamp(1.5rem, 0.8333333333rem + 1.3888888889vw, 1.875rem)',
282
+ 'letter-spacing': '-0.01em',
283
+ 'line-height': '1.25',
284
+ },
285
+ '.heading-scale-700-fixed': {
286
+ 'font-weight': '600',
287
+ 'margin-top': '0',
288
+ 'font-size': '1.5rem',
289
+ 'letter-spacing': '-0.01em',
290
+ 'line-height': '1.25',
291
+ },
292
+ '.heading-scale-800': {
293
+ 'font-weight': '600',
294
+ 'margin-top': '0',
295
+ 'font-size': 'clamp(1.75rem, 0.8611111111rem + 1.8518518519vw, 2.25rem)',
296
+ 'letter-spacing': '-0.01em',
297
+ 'line-height': '1.125',
298
+ },
299
+ '.heading-scale-800-fixed': {
300
+ 'font-weight': '600',
301
+ 'margin-top': '0',
302
+ 'font-size': '1.75rem',
303
+ 'letter-spacing': '-0.01em',
304
+ 'line-height': '1.125',
305
+ },
306
+ });
307
+
308
+ addUtilities({
309
+ '.font-monospace': {
310
+ 'font-family':
311
+ 'var(--default-mono-font, "GitLab Mono"), "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace',
312
+ 'font-variant-ligatures': 'none',
313
+ },
314
+ '.break-anywhere': {
315
+ 'overflow-wrap': 'anywhere',
316
+ 'word-break': 'normal',
317
+ },
318
+ '.wrap-anywhere': {
319
+ 'overflow-wrap': 'anywhere',
320
+ },
321
+ '.border-b-solid': {
322
+ 'border-bottom-style': 'solid',
323
+ },
324
+ '.border-b-initial': {
325
+ 'border-bottom-style': 'initial',
326
+ },
327
+ '.border-l-solid': {
328
+ 'border-left-style': 'solid',
329
+ },
330
+ '.border-r-solid': {
331
+ 'border-right-style': 'solid',
332
+ },
333
+ '.border-t-solid': {
334
+ 'border-top-style': 'solid',
335
+ },
336
+ '.clearfix': {
337
+ '&::after': {
338
+ display: 'block',
339
+ clear: 'both',
340
+ content: '""',
341
+ },
342
+ },
343
+ '.focus': {
344
+ 'box-shadow': '0 0 0 1px var(--white, #fff), 0 0 0 3px var(--blue-400, #428fdc)',
345
+ outline: 'none',
346
+ },
347
+ '.text-align-inherit': {
348
+ 'text-align': 'inherit',
349
+ },
350
+ });
351
+ }
352
+
353
+ const widthPercentageScales = [8, 10, 20].reduce((accumulator1, denominator) => {
354
+ return {
355
+ ...accumulator1,
356
+ ...range(1, denominator).reduce((accumulator2, numerator) => {
357
+ const width = (numerator / denominator) * 100;
358
+
359
+ return {
360
+ ...accumulator2,
361
+ [`${numerator}/${denominator}`]: `${round(width, 6)}%`,
362
+ };
363
+ }, {}),
364
+ };
365
+ }, {});
366
+
46
367
  /** @type {import('tailwindcss').Config} */
47
368
  module.exports = {
48
369
  prefix: 'gl-',
370
+ corePlugins: {
371
+ /*
372
+ * Disable preflight styles so that `@tailwind base` compiles to CSS vars declarations without
373
+ * any of the resets which we don't need.
374
+ * More on this at https://tailwindcss.com/docs/preflight.
375
+ */
376
+ preflight: false,
377
+ },
378
+ plugins: [plugin(addCustomDefinitions)],
49
379
  theme: {
50
- screens: {
51
- sm: '576px',
52
- md: '768px',
53
- lg: '992px',
54
- xl: '1200px',
380
+ animation: {
381
+ spin: 'spin 2s infinite linear',
55
382
  },
56
- colors,
57
383
  backgroundColor,
58
384
  borderColor,
385
+ borderRadius: {
386
+ none: '0',
387
+ 6: '1.5rem',
388
+ base: '.25rem',
389
+ full: '50%', // Tailwind gl-rounded-full is 9999px
390
+ small: '.125rem',
391
+ lg: '.5rem',
392
+ pill: '.75rem',
393
+ },
394
+ boxShadow: {
395
+ DEFAULT: '0 1px 4px 0 #0000004d',
396
+ none: 'none',
397
+ sm: '0 1px 2px var(--t-gray-a-08, #1f1e2414)',
398
+ md: '0 2px 8px var(--t-gray-a-16, #1f1e2429), 0 0 2px var(--t-gray-a-16, #1f1e2429)',
399
+ lg: '0 4px 12px var(--t-gray-a-16, #1f1e2429), 0 0 4px var(--t-gray-a-16, #1f1e2429)',
400
+ 'inner-1-blue-500': 'inset 0 0 0 1px var(--blue-500, #1f75cb)',
401
+ 'inner-1-gray-100': 'inset 0 0 0 1px var(--gray-100, #dcdcde)',
402
+ 'inner-1-gray-200': 'inset 0 0 0 1px var(--gray-200, #bfbfc3)',
403
+ 'inner-1-gray-400': 'inset 0 0 0 1px var(--gray-400, #89888d)',
404
+ 'inner-1-red-400': 'inset 0 0 0 1px var(--red-400, #ec5941)',
405
+ 'inner-1-red-500': 'inset 0 0 0 1px var(--red-500, #dd2b0e)',
406
+ 'inner-2-blue-400': 'inset 0 0 0 2px var(--blue-400, #428fdc)',
407
+ 'inner-b-1-gray-100': 'inset 0 -1px 0 0 var(--gray-100, #dcdcde)',
408
+ 'inner-b-2-blue-500': 'inset 0 -2px 0 0 var(--blue-500, #1f75cb)',
409
+ 'inner-b-2-theme-accent':
410
+ 'inset 0 -2px 0 0 var(--gl-theme-accent, var(--theme-indigo-500, #6666c4))',
411
+ 'inner-l-3-red-600': 'inset 3px 0 0 0 var(--red-600, #c91c00)',
412
+ 'inner-l-4-gray-100': 'inset 4px 0 0 0 var(--gray-100, #dcdcde)',
413
+ 'x0-y0-b3-s1-blue-500': 'inset 0 0 3px 1px var(--blue-500, #1f75cb)',
414
+ 'x0-y2-b4-s0': '0 2px 4px 0 #0000001a',
415
+ },
416
+ colors,
59
417
  fill,
60
- spacing,
418
+ fontFamily: {
419
+ regular:
420
+ '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"',
421
+ },
61
422
  fontSize: {
62
423
  xs: '0.625rem',
63
424
  sm: '0.75rem',
64
425
  base: '0.875rem',
65
426
  lg: '1rem',
427
+ 'size-h-display': '1.75rem',
428
+ 'size-h1': '1.4375rem',
429
+ 'size-h2': '1.1875rem',
430
+ 'size-h1-xl': '2rem',
431
+ 'size-h2-xl': '1.4375rem',
432
+ 'size-reset': 'inherit',
66
433
  },
67
434
  fontWeight: {
68
435
  100: 100,
@@ -71,6 +438,88 @@ module.exports = {
71
438
  semibold: 500,
72
439
  bold: 600,
73
440
  },
441
+ lineHeight: {
442
+ reset: 'inherit',
443
+ 0: '0',
444
+ 1: '1',
445
+ normal: '1rem',
446
+ 20: '1.25rem',
447
+ 24: '1.5rem',
448
+ 28: '1.75rem',
449
+ 32: '2rem',
450
+ 36: '2.25rem',
451
+ 42: '2.625rem',
452
+ },
453
+ opacity: {
454
+ 0: '0',
455
+ 1: '.1',
456
+ 2: '.2',
457
+ 3: '.3',
458
+ 4: '.4',
459
+ 5: '.5',
460
+ 6: '.6',
461
+ 7: '.7',
462
+ 8: '.8',
463
+ 9: '.9',
464
+ 10: '1',
465
+ },
466
+ screens: {
467
+ sm: '576px',
468
+ md: '768px',
469
+ lg: '992px',
470
+ xl: '1200px',
471
+ },
472
+ spacing,
74
473
  textColor,
474
+ transitionDuration: {
475
+ DEFAULT: '200ms',
476
+ slow: '400ms',
477
+ medium: '200ms',
478
+ fast: '100ms',
479
+ },
480
+ transitionTimingFunction: {
481
+ DEFAULT: 'ease',
482
+ ease: 'ease',
483
+ linear: 'linear',
484
+ },
485
+ zIndex: {
486
+ 0: '0',
487
+ 1: '1',
488
+ 2: '2',
489
+ 3: '3',
490
+ 4: '4',
491
+ 200: '200',
492
+ 9999: '9999',
493
+ },
494
+ extend: {
495
+ borderWidth: {
496
+ 1: '1px',
497
+ },
498
+ flexGrow: {
499
+ 2: '2',
500
+ },
501
+ gridTemplateRows: {
502
+ auto: 'auto',
503
+ },
504
+ maxWidth: {
505
+ ...widthPercentageScales,
506
+ screen: '100vw',
507
+ limited: '1006px',
508
+ '1/2': '50%',
509
+ },
510
+ transitionProperty: {
511
+ 'box-shadow': 'box-shadow',
512
+ 'stroke-opacity': 'stroke-opacity',
513
+ background: 'background',
514
+ left: 'left',
515
+ opacity: 'opacity',
516
+ padding: 'padding',
517
+ right: 'right',
518
+ stroke: 'stroke',
519
+ transform: 'transform',
520
+ width: 'width',
521
+ },
522
+ width: widthPercentageScales,
523
+ },
75
524
  },
76
525
  };