@gitlab/ui 134.5.0 → 134.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/base/sorting/sorting.js +23 -2
  2. package/dist/components/dashboards/dashboard_panel/dashboard_panel.js +5 -3
  3. package/dist/index.css +2 -2
  4. package/dist/index.css.map +1 -1
  5. package/dist/tokens/build/js/tokens.dark.js +86 -68
  6. package/dist/tokens/build/js/tokens.js +93 -75
  7. package/package.json +4 -4
  8. package/src/components/base/sorting/sorting.vue +28 -1
  9. package/src/components/base/toggle/toggle.scss +75 -51
  10. package/src/components/dashboards/dashboard_panel/dashboard_panel.vue +4 -1
  11. package/src/scss/bootstrap_no_utils.scss +33 -0
  12. package/src/scss/gitlab_ui_no_utils.scss +24 -0
  13. package/src/tokens/build/css/tokens.css +76 -58
  14. package/src/tokens/build/css/tokens.dark.css +74 -56
  15. package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +145 -0
  16. package/src/tokens/build/docs/tokens-tailwind-docs.json +145 -0
  17. package/src/tokens/build/figma/constants.dark.json +2 -2
  18. package/src/tokens/build/figma/constants.json +2 -2
  19. package/src/tokens/build/figma/mode.dark.json +206 -108
  20. package/src/tokens/build/figma/mode.json +209 -87
  21. package/src/tokens/build/js/tokens.dark.js +85 -67
  22. package/src/tokens/build/js/tokens.js +92 -74
  23. package/src/tokens/build/json/tokens.dark.json +846 -225
  24. package/src/tokens/build/json/tokens.json +850 -229
  25. package/src/tokens/build/scss/_tokens.dark.scss +74 -56
  26. package/src/tokens/build/scss/_tokens.scss +76 -58
  27. package/src/tokens/build/scss/_tokens_custom_properties.scss +18 -0
  28. package/src/tokens/build/tailwind/tokens.cjs +1 -0
  29. package/src/tokens/constant/color.alpha.tokens.json +16 -0
  30. package/src/tokens/contextual/button.tokens.json +34 -58
  31. package/src/tokens/contextual/tabs.tokens.json +2 -8
  32. package/src/tokens/contextual/toggle.tokens.json +195 -0
  33. package/src/tokens/semantic/action.tokens.json +22 -124
  34. package/src/tokens/semantic/control.tokens.json +9 -21
  35. package/translations.js +2 -0
@@ -27,7 +27,11 @@ var script = {
27
27
  default: ''
28
28
  },
29
29
  /**
30
- * Sort options to display in the dropdown
30
+ * Sort options to display in the dropdown.
31
+ *
32
+ * Each option is `{ value, text }`. Set `directionToggleDisabled: true` on
33
+ * an option that has no ascending/descending meaning (e.g. "Most relevant")
34
+ * to disable the sort direction toggle whenever that option is selected.
31
35
  */
32
36
  sortOptions: {
33
37
  type: Array,
@@ -107,13 +111,30 @@ var script = {
107
111
  localSortDirection() {
108
112
  return this.isAscending ? 'sort-lowest' : 'sort-highest';
109
113
  },
114
+ selectedSortOption() {
115
+ return this.sortOptions.find(option => option.value === this.sortBy);
116
+ },
117
+ selectedSortText() {
118
+ var _this$selectedSortOpt, _this$selectedSortOpt2;
119
+ return (_this$selectedSortOpt = (_this$selectedSortOpt2 = this.selectedSortOption) === null || _this$selectedSortOpt2 === void 0 ? void 0 : _this$selectedSortOpt2.text) !== null && _this$selectedSortOpt !== void 0 ? _this$selectedSortOpt : '';
120
+ },
121
+ isDirectionToggleDisabled() {
122
+ var _this$selectedSortOpt3;
123
+ return Boolean((_this$selectedSortOpt3 = this.selectedSortOption) === null || _this$selectedSortOpt3 === void 0 ? void 0 : _this$selectedSortOpt3.directionToggleDisabled);
124
+ },
110
125
  sortDirectionText() {
111
126
  if (this.sortDirectionToolTip) return this.sortDirectionToolTip;
127
+ if (this.isDirectionToggleDisabled) {
128
+ return this.selectedSortText ? translate('GlSorting.sortDirectionUnavailableFor', 'Sort direction unavailable for %{sortField}', {
129
+ sortField: this.selectedSortText
130
+ }) : translate('GlSorting.sortDirectionUnavailable', 'Sort direction unavailable');
131
+ }
112
132
  return this.isAscending ? translate('GlSorting.sortAscending', 'Sort direction: ascending') : translate('GlSorting.sortDescending', 'Sort direction: descending');
113
133
  }
114
134
  },
115
135
  methods: {
116
136
  toggleSortDirection() {
137
+ if (this.isDirectionToggleDisabled) return;
117
138
  const newDirection = !this.isAscending;
118
139
 
119
140
  /**
@@ -145,7 +166,7 @@ var script = {
145
166
  const __vue_script__ = script;
146
167
 
147
168
  /* template */
148
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-button-group',{staticClass:"gl-sorting"},[_c('gl-collapsible-listbox',{class:_vm.dropdownClass,attrs:{"toggle-text":_vm.text,"items":_vm.sortOptions,"selected":_vm.sortBy,"toggle-class":_vm.dropdownToggleClass,"placement":"bottom-end","block":_vm.block,"toggle-aria-labelled-by":_vm.sortingListboxId},on:{"select":_vm.onSortByChanged}}),_vm._v(" "),_c('span',{staticClass:"gl-sr-only",attrs:{"id":_vm.sortingListboxId}},[_vm._v(_vm._s(_vm.sortingListboxLabel))]),_vm._v(" "),_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],class:['sorting-direction-button', _vm.sortDirectionToggleClass],attrs:{"title":_vm.sortDirectionText,"icon":_vm.localSortDirection,"aria-label":_vm.sortDirectionText},on:{"click":_vm.toggleSortDirection}})],1)};
169
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-button-group',{staticClass:"gl-sorting"},[_c('gl-collapsible-listbox',{class:_vm.dropdownClass,attrs:{"toggle-text":_vm.text,"items":_vm.sortOptions,"selected":_vm.sortBy,"toggle-class":_vm.dropdownToggleClass,"placement":"bottom-end","block":_vm.block,"toggle-aria-labelled-by":_vm.sortingListboxId},on:{"select":_vm.onSortByChanged}}),_vm._v(" "),_c('span',{staticClass:"gl-sr-only",attrs:{"id":_vm.sortingListboxId}},[_vm._v(_vm._s(_vm.sortingListboxLabel))]),_vm._v(" "),_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],class:['sorting-direction-button', _vm.sortDirectionToggleClass],attrs:{"title":_vm.sortDirectionText,"icon":_vm.localSortDirection,"aria-label":_vm.sortDirectionText,"disabled":_vm.isDirectionToggleDisabled,"accessible-disabled":_vm.isDirectionToggleDisabled},on:{"click":_vm.toggleSortDirection}})],1)};
149
170
  var __vue_staticRenderFns__ = [];
150
171
 
151
172
  /* style */
@@ -6,6 +6,7 @@ import GlPopover from '../../base/popover/popover';
6
6
  import GlSprintf from '../../utilities/sprintf/sprintf';
7
7
  import GlLink from '../../base/link/link';
8
8
  import GlTruncate from '../../utilities/truncate/truncate';
9
+ import GlSkeletonLoader from '../../base/skeleton_loader/skeleton_loader';
9
10
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
10
11
 
11
12
  var script = {
@@ -17,7 +18,8 @@ var script = {
17
18
  GlPopover,
18
19
  GlSprintf,
19
20
  GlLink,
20
- GlTruncate
21
+ GlTruncate,
22
+ GlSkeletonLoader
21
23
  },
22
24
  props: {
23
25
  /**
@@ -197,11 +199,11 @@ var script = {
197
199
  const __vue_script__ = script;
198
200
 
199
201
  /* template */
200
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-border gl-h-full gl-rounded-lg gl-bg-default gl-p-5",class:_vm.containerClasses,attrs:{"id":_vm.panelId}},[_c('div',{staticClass:"gl-flex gl-h-full gl-flex-col"},[_c('div',{staticClass:"gl-mb-3 gl-flex gl-items-start gl-justify-between",attrs:{"data-testid":"panel-title"}},[_c('div',{staticClass:"gl-flex gl-items-center gl-gap-2 gl-overflow-hidden"},[(_vm.hasTitleIcon)?_c('gl-icon',{class:_vm.titleIconClass,attrs:{"name":_vm.titleIcon,"data-testid":"panel-title-icon"}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-min-w-0"},[_c('div',{staticClass:"gl-flex gl-items-center gl-gap-2"},[(_vm.hasTitle)?_c('gl-truncate',{staticClass:"gl-min-w-0 gl-font-bold gl-text-default",attrs:{"text":_vm.title,"with-tooltip":""}}):_vm._e(),_vm._v(" "),(_vm.hasTitlePopover)?[_c('gl-icon',{staticClass:"gl-min-w-5",attrs:{"id":_vm.titlePopoverId,"data-testid":"panel-title-popover-icon","name":"information-o","variant":"info"}}),_vm._v(" "),_c('gl-popover',{attrs:{"data-testid":"panel-title-popover","boundary":"viewport","target":_vm.titlePopoverId,"css-classes":_vm.titlePopoverClasses},scopedSlots:_vm._u([(_vm.hasInfoPopoverTitleSlot)?{key:"title",fn:function(){return [_vm._t("info-popover-title")]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.hasInfoPopoverContentSlot)?[_vm._t("info-popover-content")]:_vm._e(),_vm._v(" "),(!_vm.hasInfoPopoverContentSlot)?[(_vm.hasTitlePopoverLink)?_c('gl-sprintf',{attrs:{"message":_vm.titlePopover.description},scopedSlots:_vm._u([{key:"link",fn:function(ref){
202
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-border gl-h-full gl-rounded-lg gl-bg-default gl-p-5",class:_vm.containerClasses,attrs:{"id":_vm.panelId}},[_c('div',{staticClass:"gl-flex gl-h-full gl-flex-col"},[_c('div',{staticClass:"gl-mb-3 gl-flex gl-items-start gl-justify-between",attrs:{"data-testid":"panel-title"}},[(_vm.loading)?_c('gl-skeleton-loader',{attrs:{"lines":1}}):_c('div',{staticClass:"gl-flex gl-items-center gl-gap-2 gl-overflow-hidden"},[(_vm.hasTitleIcon)?_c('gl-icon',{class:_vm.titleIconClass,attrs:{"name":_vm.titleIcon,"data-testid":"panel-title-icon"}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-min-w-0"},[_c('div',{staticClass:"gl-flex gl-items-center gl-gap-2"},[(_vm.hasTitle)?_c('gl-truncate',{staticClass:"gl-min-w-0 gl-font-bold gl-text-default",attrs:{"text":_vm.title,"with-tooltip":""}}):_vm._e(),_vm._v(" "),(_vm.hasTitlePopover)?[_c('gl-icon',{staticClass:"gl-min-w-5",attrs:{"id":_vm.titlePopoverId,"data-testid":"panel-title-popover-icon","name":"information-o","variant":"info"}}),_vm._v(" "),_c('gl-popover',{attrs:{"data-testid":"panel-title-popover","boundary":"viewport","target":_vm.titlePopoverId,"css-classes":_vm.titlePopoverClasses},scopedSlots:_vm._u([(_vm.hasInfoPopoverTitleSlot)?{key:"title",fn:function(){return [_vm._t("info-popover-title")]},proxy:true}:null],null,true)},[_vm._v(" "),(_vm.hasInfoPopoverContentSlot)?[_vm._t("info-popover-content")]:_vm._e(),_vm._v(" "),(!_vm.hasInfoPopoverContentSlot)?[(_vm.hasTitlePopoverLink)?_c('gl-sprintf',{attrs:{"message":_vm.titlePopover.description},scopedSlots:_vm._u([{key:"link",fn:function(ref){
201
203
  var content = ref.content;
202
204
  return [_c('gl-link',{staticClass:"gl-text-sm",attrs:{"href":_vm.titlePopover.descriptionLink}},[_vm._v(_vm._s(content))])]}}],null,false,3051540671)}):[_vm._v(" "+_vm._s(_vm.titlePopover.description)+" ")]]:_vm._e()],2)]:_vm._e()],2),_vm._v(" "),(_vm.subtitle)?_c('p',{staticClass:"gl-mb-0 gl-mt-1 gl-text-sm gl-text-subtle",attrs:{"data-testid":"panel-subtitle"}},[_vm._v("\n "+_vm._s(_vm.subtitle)+"\n ")]):_vm._e()])],1),_vm._v(" "),(_vm.shouldShowActions || _vm.$scopedSlots.filters)?_c('div',{staticClass:"gl-flex gl-flex-col gl-items-end gl-gap-2",attrs:{"data-testid":"panel-actions-filters-container"}},[(_vm.shouldShowActions)?_c('gl-disclosure-dropdown',{attrs:{"items":_vm.actions,"icon":"ellipsis_v","toggle-text":_vm.actionsToggleText,"text-sr-only":"","no-caret":"","placement":"bottom-end","fluid-width":"","toggle-class":"gl-ml-1","category":"tertiary","positioning-strategy":"fixed","size":"small"},on:{"shown":function($event){return _vm.$emit('dropdownOpen')},"hidden":function($event){return _vm.$emit('dropdownClosed')}},scopedSlots:_vm._u([{key:"list-item",fn:function(ref){
203
205
  var item = ref.item;
204
- return [_c('span',[_vm._v(_vm._s(item.text))])]}}],null,false,3418607560)}):_vm._e(),_vm._v(" "),(_vm.$scopedSlots.filters)?_c('div',{staticClass:"gl-flex gl-items-center gl-justify-end",attrs:{"data-testid":"panel-filters-container"}},[_vm._t("filters")],2):_vm._e()],1):_vm._e()]),_vm._v(" "),_c('div',{class:_vm.bodyClasses},[(_vm.loading)?[_c('gl-loading-icon',{staticClass:"gl-min-h-8 gl-w-full",attrs:{"size":"lg"}}),_vm._v(" "),(_vm.isLoadingDelayed)?_c('div',{staticClass:"gl-w-full gl-text-subtle",attrs:{"data-testId":"panel-loading-delayed-indicator"}},[_vm._v("\n "+_vm._s(_vm.loadingDelayedText)+"\n ")]):_vm._e()]:_vm._t("body")],2),_vm._v(" "),_vm._t("alert-message",null,{"panelId":_vm.panelId})],2)])};
206
+ return [_c('span',[_vm._v(_vm._s(item.text))])]}}],null,false,3418607560)}):_vm._e(),_vm._v(" "),(_vm.$scopedSlots.filters)?_c('div',{staticClass:"gl-flex gl-items-center gl-justify-end",attrs:{"data-testid":"panel-filters-container"}},[_vm._t("filters")],2):_vm._e()],1):_vm._e()],1),_vm._v(" "),_c('div',{class:_vm.bodyClasses},[(_vm.loading)?[_c('gl-loading-icon',{staticClass:"gl-min-h-8 gl-w-full",attrs:{"size":"lg"}}),_vm._v(" "),(_vm.isLoadingDelayed)?_c('div',{staticClass:"gl-w-full gl-text-subtle",attrs:{"data-testId":"panel-loading-delayed-indicator"}},[_vm._v("\n "+_vm._s(_vm.loadingDelayedText)+"\n ")]):_vm._e()]:_vm._t("body")],2),_vm._v(" "),_vm._t("alert-message",null,{"panelId":_vm.panelId})],2)])};
205
207
  var __vue_staticRenderFns__ = [];
206
208
 
207
209
  /* style */