@gitlab/ui 66.3.1 → 66.5.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 (29) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/base/table/table.js +7 -2
  3. package/dist/components/base/table_lite/table_lite.js +7 -2
  4. package/dist/components/charts/single_stat/single_stat.js +20 -1
  5. package/dist/components/utilities/animated_number/animated_number.js +13 -1
  6. package/dist/tokens/css/tokens.css +1 -1
  7. package/dist/tokens/css/tokens.dark.css +1 -1
  8. package/dist/tokens/js/tokens.dark.js +1 -1
  9. package/dist/tokens/js/tokens.js +1 -1
  10. package/dist/tokens/scss/_tokens.dark.scss +1 -1
  11. package/dist/tokens/scss/_tokens.scss +1 -1
  12. package/dist/utility_classes.css +1 -1
  13. package/dist/utility_classes.css.map +1 -1
  14. package/dist/utils/number_utils.js +26 -1
  15. package/package.json +5 -3
  16. package/src/components/base/table/table.spec.js +9 -0
  17. package/src/components/base/table/table.vue +6 -1
  18. package/src/components/base/table_lite/table_lite.spec.js +9 -0
  19. package/src/components/base/table_lite/table_lite.vue +9 -2
  20. package/src/components/charts/single_stat/single_stat.spec.js +57 -11
  21. package/src/components/charts/single_stat/single_stat.stories.js +10 -0
  22. package/src/components/charts/single_stat/single_stat.vue +22 -1
  23. package/src/components/utilities/animated_number/animated_number.spec.js +36 -24
  24. package/src/components/utilities/animated_number/animated_number.stories.js +3 -1
  25. package/src/components/utilities/animated_number/animated_number.vue +14 -1
  26. package/src/scss/utilities.scss +6 -0
  27. package/src/scss/utility-mixins/spacing.scss +4 -0
  28. package/src/utils/number_utils.js +24 -0
  29. package/src/utils/number_utils.spec.js +21 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [66.5.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v66.4.0...v66.5.0) (2023-09-07)
2
+
3
+
4
+ ### Features
5
+
6
+ * **GlSingleStat:** Format the displayed number based on locale ([b6a845d](https://gitlab.com/gitlab-org/gitlab-ui/commit/b6a845d4344ad1ecef83738b6ef1b82a45d786a5))
7
+
8
+ # [66.4.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v66.3.1...v66.4.0) (2023-09-04)
9
+
10
+
11
+ ### Features
12
+
13
+ * **css:** Add gl-gap-1 class ([8248bf7](https://gitlab.com/gitlab-org/gitlab-ui/commit/8248bf73385db0b15a87c03dc8ccc4310e0f7306))
14
+
1
15
  ## [66.3.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v66.3.0...v66.3.1) (2023-09-01)
2
16
 
3
17
 
@@ -21,7 +21,12 @@ var script = {
21
21
  },
22
22
  inheritAttrs: false,
23
23
  props: {
24
- tableClass
24
+ tableClass,
25
+ fields: {
26
+ type: Array,
27
+ required: false,
28
+ default: null
29
+ }
25
30
  },
26
31
  computed: {
27
32
  localTableClass() {
@@ -41,7 +46,7 @@ var script = {
41
46
  const __vue_script__ = script;
42
47
 
43
48
  /* template */
44
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'b-table',_vm.$attrs,false),_vm.$listeners))};
49
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass,"fields":_vm.fields},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'b-table',_vm.$attrs,false),_vm.$listeners))};
45
50
  var __vue_staticRenderFns__ = [];
46
51
 
47
52
  /* style */
@@ -11,7 +11,12 @@ var script = {
11
11
  },
12
12
  inheritAttrs: false,
13
13
  props: {
14
- tableClass
14
+ tableClass,
15
+ fields: {
16
+ type: Array,
17
+ required: false,
18
+ default: null
19
+ }
15
20
  },
16
21
  computed: {
17
22
  localTableClass() {
@@ -24,7 +29,7 @@ var script = {
24
29
  const __vue_script__ = script;
25
30
 
26
31
  /* template */
27
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table-lite',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'b-table-lite',_vm.$attrs,false),_vm.$listeners))};
32
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table-lite',_vm._g(_vm._b({attrs:{"table-class":_vm.localTableClass,"fields":_vm.fields},scopedSlots:_vm._u([_vm._l((Object.keys(_vm.$scopedSlots)),function(slot){return {key:slot,fn:function(scope){return [_vm._t(slot,null,null,scope)]}}})],null,true)},'b-table-lite',_vm.$attrs,false),_vm.$listeners))};
28
33
  var __vue_staticRenderFns__ = [];
29
34
 
30
35
  /* style */
@@ -2,6 +2,7 @@ import { badgeVariantOptions, variantCssColorMap } from '../../../utils/constant
2
2
  import GlBadge from '../../base/badge/badge';
3
3
  import GlIcon from '../../base/icon/icon';
4
4
  import GlAnimatedNumber from '../../utilities/animated_number/animated_number';
5
+ import { formatNumberToLocale } from '../../../utils/number_utils';
5
6
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
6
7
 
7
8
  var script = {
@@ -25,6 +26,14 @@ var script = {
25
26
  required: false,
26
27
  default: null
27
28
  },
29
+ /**
30
+ * Requires the `value` property to be a valid Number or convertible to one
31
+ */
32
+ useDelimiters: {
33
+ type: Boolean,
34
+ required: false,
35
+ default: false
36
+ },
28
37
  variant: {
29
38
  type: String,
30
39
  required: false,
@@ -85,6 +94,16 @@ var script = {
85
94
  },
86
95
  canAnimate() {
87
96
  return this.shouldAnimate && !Number.isNaN(Number(this.value));
97
+ },
98
+ statValue() {
99
+ if (this.useDelimiters) {
100
+ var _this$value$toString$;
101
+ const minimumFractionDigits = ((_this$value$toString$ = this.value.toString().split('.')[1]) === null || _this$value$toString$ === void 0 ? void 0 : _this$value$toString$.length) || 0;
102
+ return formatNumberToLocale(this.value, {
103
+ minimumFractionDigits
104
+ });
105
+ }
106
+ return this.value;
88
107
  }
89
108
  },
90
109
  methods: {
@@ -98,7 +117,7 @@ var script = {
98
117
  const __vue_script__ = script;
99
118
 
100
119
  /* template */
101
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g(_vm._b({staticClass:"gl-single-stat gl-display-flex gl-flex-direction-column gl-p-2"},'div',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-text-gray-700 gl-mb-2"},[(_vm.showTitleIcon)?_c('gl-icon',{class:['gl-mr-2', _vm.titleIconClass],attrs:{"name":_vm.titleIcon,"data-testid":"title-icon"}}):_vm._e(),_vm._v(" "),_c('span',{staticClass:"gl-font-base gl-font-weight-normal",attrs:{"data-testid":"title-text"}},[_vm._v(_vm._s(_vm.title))])],1),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-baseline gl-font-weight-bold gl-text-gray-900"},[_c('span',{staticClass:"gl-font-size-h-display",class:{ 'gl-mr-2': !_vm.unit },attrs:{"data-testid":"displayValue"}},[(_vm.canAnimate)?_c('gl-animated-number',{attrs:{"number":Number(_vm.value),"decimal-places":_vm.animationDecimalPlaces},on:{"animating":function($event){return _vm.setHideUnits(true)},"animated":function($event){return _vm.setHideUnits(false)}}}):_c('span',{attrs:{"data-testid":"non-animated-value"}},[_vm._v(_vm._s(_vm.value))])],1),_vm._v(" "),(_vm.unit)?_c('span',{staticClass:"gl-font-sm gl-mx-2 gl-transition-medium gl-opacity-10",class:{ 'gl-opacity-0!': _vm.hideUnits },attrs:{"data-testid":"unit"}},[_vm._v(_vm._s(_vm.unit))]):_vm._e(),_vm._v(" "),(_vm.showMetaIcon)?_c('gl-icon',{class:_vm.textColor,attrs:{"name":_vm.metaIcon,"data-testid":"meta-icon"}}):_vm._e(),_vm._v(" "),(_vm.showBadge)?_c('gl-badge',{attrs:{"variant":_vm.variant,"icon":_vm.metaIcon,"data-testid":"meta-badge"}},[_vm._v(_vm._s(_vm.metaText))]):_vm._e()],1)])};
120
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._g(_vm._b({staticClass:"gl-single-stat gl-display-flex gl-flex-direction-column gl-p-2"},'div',_vm.$attrs,false),_vm.$listeners),[_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-text-gray-700 gl-mb-2"},[(_vm.showTitleIcon)?_c('gl-icon',{class:['gl-mr-2', _vm.titleIconClass],attrs:{"name":_vm.titleIcon,"data-testid":"title-icon"}}):_vm._e(),_vm._v(" "),_c('span',{staticClass:"gl-font-base gl-font-weight-normal",attrs:{"data-testid":"title-text"}},[_vm._v(_vm._s(_vm.title))])],1),_vm._v(" "),_c('div',{staticClass:"gl-display-flex gl-align-items-baseline gl-font-weight-bold gl-text-gray-900"},[_c('span',{staticClass:"gl-font-size-h-display",class:{ 'gl-mr-2': !_vm.unit },attrs:{"data-testid":"displayValue"}},[(_vm.canAnimate)?_c('gl-animated-number',{attrs:{"number":Number(_vm.value),"decimal-places":_vm.animationDecimalPlaces,"use-delimiters":_vm.useDelimiters},on:{"animating":function($event){return _vm.setHideUnits(true)},"animated":function($event){return _vm.setHideUnits(false)}}}):_c('span',{attrs:{"data-testid":"non-animated-value"}},[_vm._v(_vm._s(_vm.statValue))])],1),_vm._v(" "),(_vm.unit)?_c('span',{staticClass:"gl-font-sm gl-mx-2 gl-transition-medium gl-opacity-10",class:{ 'gl-opacity-0!': _vm.hideUnits },attrs:{"data-testid":"unit"}},[_vm._v(_vm._s(_vm.unit))]):_vm._e(),_vm._v(" "),(_vm.showMetaIcon)?_c('gl-icon',{class:_vm.textColor,attrs:{"name":_vm.metaIcon,"data-testid":"meta-icon"}}):_vm._e(),_vm._v(" "),(_vm.showBadge)?_c('gl-badge',{attrs:{"variant":_vm.variant,"icon":_vm.metaIcon,"data-testid":"meta-badge"}},[_vm._v(_vm._s(_vm.metaText))]):_vm._e()],1)])};
102
121
  var __vue_staticRenderFns__ = [];
103
122
 
104
123
  /* style */
@@ -1,3 +1,4 @@
1
+ import { formatNumberToLocale } from '../../../utils/number_utils';
1
2
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
2
3
 
3
4
  var script = {
@@ -23,6 +24,11 @@ var script = {
23
24
  required: false,
24
25
  default: 0
25
26
  },
27
+ useDelimiters: {
28
+ type: Boolean,
29
+ required: false,
30
+ default: false
31
+ },
26
32
  animateOnMount: {
27
33
  type: Boolean,
28
34
  required: false,
@@ -37,7 +43,13 @@ var script = {
37
43
  },
38
44
  computed: {
39
45
  animatedNumber() {
40
- return this.displayNumber.toFixed(this.decimalPlaces);
46
+ const number = this.displayNumber.toFixed(this.decimalPlaces);
47
+ if (this.useDelimiters) {
48
+ return formatNumberToLocale(number, {
49
+ minimumFractionDigits: this.decimalPlaces
50
+ });
51
+ }
52
+ return number;
41
53
  }
42
54
  },
43
55
  ready() {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ * Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
  */
5
5
 
6
6
  :root {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ * Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
  */
5
5
 
6
6
  :root {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ * Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
  */
5
5
 
6
6
  export const BLACK = "#fff";
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Do not edit directly
3
- * Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ * Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
  */
5
5
 
6
6
  export const BLACK = "#000";
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ // Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
 
5
5
  $red-950: #fff4f3;
6
6
  $red-900: #fcf1ef;
@@ -1,6 +1,6 @@
1
1
 
2
2
  // Do not edit directly
3
- // Generated on Fri, 01 Sep 2023 14:28:31 GMT
3
+ // Generated on Thu, 07 Sep 2023 10:31:09 GMT
4
4
 
5
5
  $brand-gray-05: #2b2838 !default;
6
6
  $brand-gray-04: #45424d !default;