@gitlab/ui 75.2.0 → 76.0.1

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 (32) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/index.css +1 -1
  3. package/dist/index.css.map +1 -1
  4. package/dist/tokens/css/tokens.css +1 -1
  5. package/dist/tokens/css/tokens.dark.css +1 -1
  6. package/dist/tokens/js/tokens.dark.js +1 -1
  7. package/dist/tokens/js/tokens.js +1 -1
  8. package/dist/tokens/scss/_tokens.dark.scss +1 -1
  9. package/dist/tokens/scss/_tokens.scss +1 -1
  10. package/dist/utility_classes.css +1 -1
  11. package/dist/utility_classes.css.map +1 -1
  12. package/package.json +16 -16
  13. package/src/components/base/button/button.scss +1 -1
  14. package/src/components/base/drawer/drawer.scss +2 -2
  15. package/src/components/base/dropdown/dropdown.scss +2 -2
  16. package/src/components/base/form/form_input/form_input.scss +1 -1
  17. package/src/components/base/form/form_select/form_select.scss +1 -1
  18. package/src/components/base/table/table.scss +1 -1
  19. package/src/components/base/toggle/toggle.scss +1 -1
  20. package/src/components/charts/legend/legend.scss +1 -1
  21. package/src/directives/safe_html/safe_html.stories.js +4 -4
  22. package/src/scss/mixins.scss +7 -0
  23. package/src/scss/utilities.scss +0 -58
  24. package/src/scss/utility-mixins/appearance.scss +0 -6
  25. package/src/scss/utility-mixins/index.scss +0 -5
  26. package/src/scss/variables.scss +1 -0
  27. package/tailwind.defaults.js +13 -0
  28. package/src/scss/utility-mixins/content.scss +0 -8
  29. package/src/scss/utility-mixins/masks.scss +0 -6
  30. package/src/scss/utility-mixins/mix-blend-mode.scss +0 -3
  31. package/src/scss/utility-mixins/table.scss +0 -8
  32. package/src/scss/utility-mixins/user-select.scss +0 -12
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "75.2.0",
3
+ "version": "76.0.1",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -102,23 +102,23 @@
102
102
  "@gitlab/eslint-plugin": "19.4.0",
103
103
  "@gitlab/fonts": "^1.3.0",
104
104
  "@gitlab/stylelint-config": "6.1.0",
105
- "@gitlab/svgs": "3.84.0",
105
+ "@gitlab/svgs": "3.85.0",
106
106
  "@rollup/plugin-commonjs": "^11.1.0",
107
107
  "@rollup/plugin-node-resolve": "^7.1.3",
108
108
  "@rollup/plugin-replace": "^2.3.2",
109
- "@storybook/addon-a11y": "^7.6.16",
110
- "@storybook/addon-docs": "^7.6.16",
111
- "@storybook/addon-essentials": "^7.6.16",
112
- "@storybook/addon-interactions": "^7.6.16",
113
- "@storybook/addon-viewport": "^7.6.16",
114
- "@storybook/builder-webpack5": "^7.6.16",
115
- "@storybook/test": "^7.6.16",
109
+ "@storybook/addon-a11y": "^7.6.17",
110
+ "@storybook/addon-docs": "^7.6.17",
111
+ "@storybook/addon-essentials": "^7.6.17",
112
+ "@storybook/addon-interactions": "^7.6.17",
113
+ "@storybook/addon-viewport": "^7.6.17",
114
+ "@storybook/builder-webpack5": "^7.6.17",
115
+ "@storybook/test": "^7.6.17",
116
116
  "@storybook/test-runner": "0.16.0",
117
- "@storybook/theming": "^7.6.16",
118
- "@storybook/vue": "^7.6.16",
119
- "@storybook/vue-webpack5": "^7.6.16",
120
- "@storybook/vue3": "^7.6.16",
121
- "@storybook/vue3-webpack5": "^7.6.16",
117
+ "@storybook/theming": "^7.6.17",
118
+ "@storybook/vue": "^7.6.17",
119
+ "@storybook/vue-webpack5": "^7.6.17",
120
+ "@storybook/vue3": "^7.6.17",
121
+ "@storybook/vue3-webpack5": "^7.6.17",
122
122
  "@types/jest-image-snapshot": "^6.4.0",
123
123
  "@vue/compat": "^3.2.40",
124
124
  "@vue/compiler-sfc": "^3.2.40",
@@ -131,7 +131,7 @@
131
131
  "babel-jest": "29.0.1",
132
132
  "babel-loader": "^8.0.5",
133
133
  "bootstrap": "4.6.2",
134
- "cypress": "13.6.4",
134
+ "cypress": "13.6.6",
135
135
  "cypress-axe": "^1.4.0",
136
136
  "cypress-real-events": "^1.11.0",
137
137
  "dompurify": "^3.0.0",
@@ -170,7 +170,7 @@
170
170
  "sass-loader": "^10.2.0",
171
171
  "sass-true": "^6.1.0",
172
172
  "start-server-and-test": "^1.10.6",
173
- "storybook": "^7.6.16",
173
+ "storybook": "^7.6.17",
174
174
  "storybook-dark-mode": "3.0.3",
175
175
  "style-dictionary": "^3.8.0",
176
176
  "stylelint": "15.10.2",
@@ -418,7 +418,7 @@
418
418
  @include gl-fill-current-color;
419
419
  @include gl-inset-border-1-gray-200;
420
420
  @include gl-cursor-default;
421
- @include gl-user-select-text;
421
+ user-select: text;
422
422
  }
423
423
 
424
424
  &.btn-link {
@@ -66,7 +66,7 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
66
66
  background: $gl-drawer-scrim-gradient;
67
67
  top: -$gl-border-size-1;
68
68
  @include gl-translate-y-n100;
69
- @include gl-content-empty;
69
+ content: '';
70
70
  @include gl-left-0;
71
71
  @include gl-absolute;
72
72
  @include gl-pointer-events-none;
@@ -115,7 +115,7 @@ $gl-drawer-scrim-gradient: linear-gradient(to bottom, $transparent-rgba, $white)
115
115
  .gl-drawer-body-scrim {
116
116
  &::after {
117
117
  background: $gl-drawer-scrim-gradient;
118
- @include gl-content-empty;
118
+ content: '';
119
119
  @include gl-bottom-0;
120
120
  @include gl-pointer-events-none;
121
121
  @include gl-w-full;
@@ -94,12 +94,12 @@
94
94
  .dropdown-toggle-split {
95
95
  &::after {
96
96
  @include gl-border-0;
97
- @include gl-content-empty;
97
+ content: '';
98
98
  @include gl-display-block;
99
99
  @include gl-w-5;
100
100
  @include gl-h-5;
101
101
  @include gl-bg-current-color;
102
- @include gl-mask-chevron-down;
102
+ @include mask-chevron-down;
103
103
  }
104
104
 
105
105
  &.btn-default:not(:disabled)::after {
@@ -11,7 +11,7 @@
11
11
  @include gl-inset-border-1-gray-400;
12
12
  @include gl-border-none;
13
13
  @include form-control-focus($ignore-warning: true);
14
- @include gl-appearance-none;
14
+ appearance: none;
15
15
 
16
16
  &:disabled,
17
17
  &:not(.form-control-plaintext):not([type='color']):read-only {
@@ -20,7 +20,7 @@ See: https://gitlab.com/gitlab-org/gitlab/issues/30055
20
20
  @include gl-h-auto;
21
21
  @include gl-inset-border-1-gray-400;
22
22
  @include gl-border-none;
23
- @include gl-appearance-none;
23
+ appearance: none;
24
24
  @include gl-text-truncate;
25
25
  @include gl-bg-no-repeat;
26
26
  background-image: url($gl-icon-select-chevron-down);
@@ -57,7 +57,7 @@ table.gl-table {
57
57
  @mixin gl-tmp-stacked-override {
58
58
  tbody > tr {
59
59
  &::after {
60
- @include gl-content-empty;
60
+ content: '';
61
61
  @include gl-h-6;
62
62
  @include gl-w-full;
63
63
  @include gl-display-block;
@@ -88,7 +88,7 @@
88
88
  @include gl-w-9;
89
89
  @include gl-h-6;
90
90
  @include gl-outline-none;
91
- @include gl-user-select-none;
91
+ user-select: none;
92
92
  @include gl-rounded-pill;
93
93
  @include gl-transition-slow;
94
94
  @include gl-line-height-normal;
@@ -19,7 +19,7 @@ $legend-body-h: $gl-spacing-scale-13 - $gl-spacing-scale-4;
19
19
  &::after {
20
20
  background-image: linear-gradient(to bottom, $transparent-rgba, var(--white, #{$white}));
21
21
  @include gl-bottom-0;
22
- @include gl-content-empty;
22
+ content: '';
23
23
  @include gl-display-block;
24
24
  @include gl-h-4;
25
25
  @include gl-absolute;
@@ -1,5 +1,5 @@
1
1
  import DOMPurify from 'dompurify';
2
- import GlSafeHtml from './safe_html';
2
+ import { SafeHtmlDirective as SafeHtml } from './safe_html';
3
3
  import readme from './safe_html.md';
4
4
 
5
5
  const { sanitize } = DOMPurify;
@@ -12,7 +12,7 @@ const generateProps = ({
12
12
 
13
13
  export const Default = (_args, { argTypes }) => ({
14
14
  directives: {
15
- GlSafeHtml,
15
+ SafeHtml,
16
16
  },
17
17
  props: Object.keys(argTypes),
18
18
  computed: {
@@ -38,7 +38,7 @@ export const Default = (_args, { argTypes }) => ({
38
38
  <tr>
39
39
  <td><strong>v-safe-html</strong></td>
40
40
  <td><code>{{ sanitizedHtml }}</code></td>
41
- <td v-gl-safe-html="unsafeHTML"></td>
41
+ <td v-safe-html="unsafeHTML"></td>
42
42
  </tr>
43
43
  </tbody>
44
44
  </table>
@@ -48,7 +48,7 @@ Default.args = generateProps();
48
48
 
49
49
  export default {
50
50
  title: 'directives/safe-html-directive',
51
- component: GlSafeHtml,
51
+ component: SafeHtml,
52
52
  tags: ['skip-visual-test'],
53
53
  parameters: {
54
54
  docs: {
@@ -7,6 +7,13 @@
7
7
  max-width: $max-width;
8
8
  }
9
9
 
10
+ @mixin mask-chevron-down {
11
+ mask-image: url('#{$gl-icon-chevron-down}');
12
+ mask-repeat: no-repeat;
13
+ mask-position: center;
14
+ mask-size: cover;
15
+ }
16
+
10
17
  @mixin gl-fluid-font-size($min, $max) {
11
18
  @include gl-responsive-property('font-size', $min, $max);
12
19
  }
@@ -122,18 +122,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
122
122
  animation-iteration-count: 3 !important;
123
123
  }
124
124
  }
125
- .gl-appearance-none {
126
- appearance: none;
127
- -moz-appearance: none;
128
- -webkit-appearance: none;
129
- }
130
-
131
- .gl-appearance-none\! {
132
- appearance: none !important;
133
- -moz-appearance: none !important;
134
- -webkit-appearance: none !important;
135
- }
136
-
137
125
  .gl-number-as-text-input {
138
126
  &::-webkit-outer-spin-button,
139
127
  &::-webkit-inner-spin-button {
@@ -143,7 +131,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
143
131
 
144
132
  -moz-appearance: textfield;
145
133
  }
146
-
147
134
  .gl-number-as-text-input\! {
148
135
  &::-webkit-outer-spin-button,
149
136
  &::-webkit-inner-spin-button {
@@ -2936,12 +2923,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
2936
2923
  .gl-focus--focus\!:focus{
2937
2924
  @include gl-focus
2938
2925
  }
2939
- .gl-content-empty {
2940
- content: ''
2941
- }
2942
- .gl-content-empty\! {
2943
- content: '' !important
2944
- }
2945
2926
  .gl-cursor-default {
2946
2927
  cursor: default
2947
2928
  }
@@ -4192,24 +4173,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
4192
4173
  .gl-list-style-position-inside\! {
4193
4174
  list-style-position: inside !important
4194
4175
  }
4195
- .gl-mask-chevron-down {
4196
- mask-image: url('#{$gl-icon-chevron-down}');
4197
- mask-repeat: no-repeat;
4198
- mask-position: center;
4199
- mask-size: cover
4200
- }
4201
- .gl-mask-chevron-down\! {
4202
- mask-image: url('#{$gl-icon-chevron-down}') !important;
4203
- mask-repeat: no-repeat !important;
4204
- mask-position: center !important;
4205
- mask-size: cover !important
4206
- }
4207
- .gl-mix-blend-mode-luminosity {
4208
- mix-blend-mode: luminosity
4209
- }
4210
- .gl-mix-blend-mode-luminosity\! {
4211
- mix-blend-mode: luminosity !important
4212
- }
4213
4176
  .gl-opacity-0 {
4214
4177
  opacity: 0
4215
4178
  }
@@ -8451,12 +8414,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
8451
8414
  .gl-fill-transparent\! {
8452
8415
  fill: transparent !important
8453
8416
  }
8454
- .gl-table-layout-fixed {
8455
- table-layout: fixed
8456
- }
8457
- .gl-table-layout-fixed\! {
8458
- table-layout: fixed !important
8459
- }
8460
8417
  .gl-text-left {
8461
8418
  text-align: left;
8462
8419
  }
@@ -9524,21 +9481,6 @@ $gl-animate-skeleton-loader-max-width: 64 * $grid-size;
9524
9481
  .gl-letter-spacing-n01em\!{
9525
9482
  letter-spacing: -0.01em !important;
9526
9483
  }
9527
- .gl-user-select-none {
9528
- user-select: none
9529
- }
9530
-
9531
- .gl-user-select-none\! {
9532
- user-select: none !important
9533
- }
9534
-
9535
- .gl-user-select-text {
9536
- user-select: text
9537
- }
9538
-
9539
- .gl-user-select-text\! {
9540
- user-select: text !important
9541
- }
9542
9484
  .gl-vertical-align-baseline {
9543
9485
  vertical-align: baseline
9544
9486
  }
@@ -1,10 +1,4 @@
1
1
  /* stylelint-disable property-no-vendor-prefix */
2
- @mixin gl-appearance-none {
3
- appearance: none;
4
- -moz-appearance: none;
5
- -webkit-appearance: none;
6
- }
7
-
8
2
  @mixin gl-number-as-text-input {
9
3
  &::-webkit-outer-spin-button,
10
4
  &::-webkit-inner-spin-button {
@@ -23,15 +23,12 @@
23
23
  @import './box-shadow';
24
24
  @import './color';
25
25
  @import './composite';
26
- @import './content';
27
26
  @import './cursor';
28
27
  @import './display';
29
28
  @import './flex';
30
29
  @import './grid';
31
30
  @import './image';
32
31
  @import './list-style';
33
- @import './masks';
34
- @import './mix-blend-mode';
35
32
  @import './opacity';
36
33
  @import './outline';
37
34
  @import './overflow';
@@ -40,12 +37,10 @@
40
37
  @import './sizing';
41
38
  @import './spacing';
42
39
  @import './svg';
43
- @import './table';
44
40
  @import './text';
45
41
  @import './transform';
46
42
  @import './transition';
47
43
  @import './typography';
48
- @import './user-select';
49
44
  @import './vertical-align';
50
45
  @import './visibility';
51
46
  @import './z-index';
@@ -18,6 +18,7 @@ $gl-spacing-scale-11-5: 9 * $grid-size;
18
18
  $gl-spacing-scale-12: 10 * $grid-size;
19
19
  $gl-spacing-scale-13: 12 * $grid-size;
20
20
  $gl-spacing-scale-15: 15 * $grid-size;
21
+ $gl-spacing-scale-18: 18 * $grid-size;
21
22
  $gl-spacing-scale-20: 20 * $grid-size;
22
23
  $gl-spacing-scale-26: 26 * $grid-size;
23
24
  $gl-spacing-scale-28: 28 * $grid-size;
@@ -66,5 +66,18 @@ module.exports = {
66
66
  ...themeColors,
67
67
  },
68
68
  spacing,
69
+ fontSize: {
70
+ xs: '0.625rem',
71
+ sm: '0.75rem',
72
+ base: '0.875rem',
73
+ lg: '1rem',
74
+ },
75
+ fontWeight: {
76
+ 100: 100,
77
+ 300: 300,
78
+ normal: 400,
79
+ semibold: 500,
80
+ bold: 600,
81
+ },
69
82
  },
70
83
  };
@@ -1,8 +0,0 @@
1
- /**
2
- * Content utilities.
3
- *
4
- * naming convention: gl-content-{value}
5
- */
6
- @mixin gl-content-empty {
7
- content: '';
8
- }
@@ -1,6 +0,0 @@
1
- @mixin gl-mask-chevron-down {
2
- mask-image: url('#{$gl-icon-chevron-down}');
3
- mask-repeat: no-repeat;
4
- mask-position: center;
5
- mask-size: cover;
6
- }
@@ -1,3 +0,0 @@
1
- @mixin gl-mix-blend-mode-luminosity {
2
- mix-blend-mode: luminosity;
3
- }
@@ -1,8 +0,0 @@
1
- /**
2
- * Table utilities
3
- *
4
- * naming convention: gl-table-{table-property}-{value}
5
- */
6
- @mixin gl-table-layout-fixed {
7
- table-layout: fixed;
8
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * User select utilities
3
- *
4
- * naming convention: gl-user-select-{config-name}
5
- */
6
- @mixin gl-user-select-none {
7
- user-select: none;
8
- }
9
-
10
- @mixin gl-user-select-text {
11
- user-select: text;
12
- }