@gitlab/ui 112.2.3 → 112.3.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 (32) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/base/nav/nav.js +89 -5
  3. package/dist/index.css +2 -2
  4. package/dist/index.css.map +1 -1
  5. package/dist/tailwind.css +1 -1
  6. package/dist/tokens/build/js/tokens.dark.js +80 -80
  7. package/dist/tokens/build/js/tokens.js +179 -179
  8. package/dist/tokens/css/tokens.css +50 -50
  9. package/dist/tokens/css/tokens.dark.css +25 -25
  10. package/dist/tokens/js/tokens.dark.js +80 -80
  11. package/dist/tokens/js/tokens.js +179 -179
  12. package/dist/tokens/json/tokens.dark.json +130 -130
  13. package/dist/tokens/json/tokens.json +229 -229
  14. package/dist/tokens/scss/_tokens.dark.scss +25 -25
  15. package/dist/tokens/scss/_tokens.scss +50 -50
  16. package/dist/tokens/tailwind/tokens.cjs +47 -47
  17. package/package.json +2 -2
  18. package/src/components/base/nav/nav.md +182 -4
  19. package/src/components/base/nav/nav.vue +60 -7
  20. package/src/tokens/build/css/tokens.css +50 -50
  21. package/src/tokens/build/css/tokens.dark.css +25 -25
  22. package/src/tokens/build/figma/constants.tokens.json +25 -25
  23. package/src/tokens/build/figma/deprecated.tokens.json +25 -25
  24. package/src/tokens/build/js/tokens.dark.js +80 -80
  25. package/src/tokens/build/js/tokens.js +179 -179
  26. package/src/tokens/build/json/tokens.dark.json +130 -130
  27. package/src/tokens/build/json/tokens.json +229 -229
  28. package/src/tokens/build/scss/_tokens.dark.scss +25 -25
  29. package/src/tokens/build/scss/_tokens.scss +50 -50
  30. package/src/tokens/build/tailwind/tokens.cjs +47 -47
  31. package/src/tokens/constant/color.tokens.json +25 -25
  32. package/src/tokens/deprecated/deprecated.color.tokens.json +25 -25
@@ -22,11 +22,11 @@ $gl-color-blue-200: #9dc7f1;
22
22
  $gl-color-blue-300: #63a6e9;
23
23
  $gl-color-blue-400: #428fdc;
24
24
  $gl-color-blue-500: #1f75cb;
25
- $gl-color-blue-600: #1068bf;
26
- $gl-color-blue-700: #0b5cad;
27
- $gl-color-blue-800: #064787;
28
- $gl-color-blue-900: #033464;
29
- $gl-color-blue-950: #002850;
25
+ $gl-color-blue-600: #2f68b4;
26
+ $gl-color-blue-700: #2f5ca0;
27
+ $gl-color-blue-800: #284779;
28
+ $gl-color-blue-900: #213454;
29
+ $gl-color-blue-950: #1d283e;
30
30
  $gl-color-neutral-0: #fff;
31
31
  $gl-color-neutral-10: #fbfafd;
32
32
  $gl-color-neutral-50: #ececef;
@@ -47,44 +47,44 @@ $gl-color-green-200: #91d4a8;
47
47
  $gl-color-green-300: #52b87a;
48
48
  $gl-color-green-400: #2da160;
49
49
  $gl-color-green-500: #108548;
50
- $gl-color-green-600: #217645;
51
- $gl-color-green-700: #24663b;
52
- $gl-color-green-800: #0d532a;
53
- $gl-color-green-900: #0a4020;
54
- $gl-color-green-950: #072b15;
50
+ $gl-color-green-600: #2f7549;
51
+ $gl-color-green-700: #306440;
52
+ $gl-color-green-800: #225131;
53
+ $gl-color-green-900: #1e3e28;
54
+ $gl-color-green-950: #17291c;
55
55
  $gl-color-orange-50: #fdf1dd;
56
56
  $gl-color-orange-100: #f5d9a8;
57
57
  $gl-color-orange-200: #e9be74;
58
58
  $gl-color-orange-300: #d99530;
59
59
  $gl-color-orange-400: #c17d10;
60
60
  $gl-color-orange-500: #ab6100;
61
- $gl-color-orange-600: #9e5400;
62
- $gl-color-orange-700: #8f4700;
63
- $gl-color-orange-800: #703800;
64
- $gl-color-orange-900: #5c2900;
65
- $gl-color-orange-950: #421f00;
61
+ $gl-color-orange-600: #995715;
62
+ $gl-color-orange-700: #894b16;
63
+ $gl-color-orange-800: #693c14;
64
+ $gl-color-orange-900: #532e16;
65
+ $gl-color-orange-950: #382315;
66
66
  $gl-color-purple-50: #f4f0ff;
67
67
  $gl-color-purple-100: #e1d8f9;
68
68
  $gl-color-purple-200: #cbbbf2;
69
69
  $gl-color-purple-300: #ac93e6;
70
70
  $gl-color-purple-400: #9475db;
71
71
  $gl-color-purple-500: #7b58cf;
72
- $gl-color-purple-600: #694cc0;
73
- $gl-color-purple-700: #5943b6;
74
- $gl-color-purple-800: #453894;
75
- $gl-color-purple-900: #2f2a6b;
76
- $gl-color-purple-950: #232150;
72
+ $gl-color-purple-600: #6a4fb4;
73
+ $gl-color-purple-700: #5c47a6;
74
+ $gl-color-purple-800: #493c83;
75
+ $gl-color-purple-900: #342d59;
76
+ $gl-color-purple-950: #27243e;
77
77
  $gl-color-red-50: #fcf1ef;
78
78
  $gl-color-red-100: #fdd4cd;
79
79
  $gl-color-red-200: #fcb5aa;
80
80
  $gl-color-red-300: #f6806d;
81
81
  $gl-color-red-400: #ec5941;
82
82
  $gl-color-red-500: #dd2b0e;
83
- $gl-color-red-600: #c91c00;
84
- $gl-color-red-700: #ae1800;
85
- $gl-color-red-800: #8d1300;
86
- $gl-color-red-900: #660e00;
87
- $gl-color-red-950: #4d0a00;
83
+ $gl-color-red-600: #c02f12;
84
+ $gl-color-red-700: #a32c12;
85
+ $gl-color-red-800: #812713;
86
+ $gl-color-red-900: #582014;
87
+ $gl-color-red-950: #3e1a14;
88
88
  $gl-color-data-green-50: #ddfab7;
89
89
  $gl-color-data-green-100: #c6ed94;
90
90
  $gl-color-data-green-200: #b0d97b;
@@ -22,11 +22,11 @@ $gl-color-blue-200: #9dc7f1;
22
22
  $gl-color-blue-300: #63a6e9;
23
23
  $gl-color-blue-400: #428fdc;
24
24
  $gl-color-blue-500: #1f75cb;
25
- $gl-color-blue-600: #1068bf;
26
- $gl-color-blue-700: #0b5cad;
27
- $gl-color-blue-800: #064787;
28
- $gl-color-blue-900: #033464;
29
- $gl-color-blue-950: #002850;
25
+ $gl-color-blue-600: #2f68b4;
26
+ $gl-color-blue-700: #2f5ca0;
27
+ $gl-color-blue-800: #284779;
28
+ $gl-color-blue-900: #213454;
29
+ $gl-color-blue-950: #1d283e;
30
30
  $gl-color-neutral-0: #fff;
31
31
  $gl-color-neutral-10: #fbfafd;
32
32
  $gl-color-neutral-50: #ececef;
@@ -47,44 +47,44 @@ $gl-color-green-200: #91d4a8;
47
47
  $gl-color-green-300: #52b87a;
48
48
  $gl-color-green-400: #2da160;
49
49
  $gl-color-green-500: #108548;
50
- $gl-color-green-600: #217645;
51
- $gl-color-green-700: #24663b;
52
- $gl-color-green-800: #0d532a;
53
- $gl-color-green-900: #0a4020;
54
- $gl-color-green-950: #072b15;
50
+ $gl-color-green-600: #2f7549;
51
+ $gl-color-green-700: #306440;
52
+ $gl-color-green-800: #225131;
53
+ $gl-color-green-900: #1e3e28;
54
+ $gl-color-green-950: #17291c;
55
55
  $gl-color-orange-50: #fdf1dd;
56
56
  $gl-color-orange-100: #f5d9a8;
57
57
  $gl-color-orange-200: #e9be74;
58
58
  $gl-color-orange-300: #d99530;
59
59
  $gl-color-orange-400: #c17d10;
60
60
  $gl-color-orange-500: #ab6100;
61
- $gl-color-orange-600: #9e5400;
62
- $gl-color-orange-700: #8f4700;
63
- $gl-color-orange-800: #703800;
64
- $gl-color-orange-900: #5c2900;
65
- $gl-color-orange-950: #421f00;
61
+ $gl-color-orange-600: #995715;
62
+ $gl-color-orange-700: #894b16;
63
+ $gl-color-orange-800: #693c14;
64
+ $gl-color-orange-900: #532e16;
65
+ $gl-color-orange-950: #382315;
66
66
  $gl-color-purple-50: #f4f0ff;
67
67
  $gl-color-purple-100: #e1d8f9;
68
68
  $gl-color-purple-200: #cbbbf2;
69
69
  $gl-color-purple-300: #ac93e6;
70
70
  $gl-color-purple-400: #9475db;
71
71
  $gl-color-purple-500: #7b58cf;
72
- $gl-color-purple-600: #694cc0;
73
- $gl-color-purple-700: #5943b6;
74
- $gl-color-purple-800: #453894;
75
- $gl-color-purple-900: #2f2a6b;
76
- $gl-color-purple-950: #232150;
72
+ $gl-color-purple-600: #6a4fb4;
73
+ $gl-color-purple-700: #5c47a6;
74
+ $gl-color-purple-800: #493c83;
75
+ $gl-color-purple-900: #342d59;
76
+ $gl-color-purple-950: #27243e;
77
77
  $gl-color-red-50: #fcf1ef;
78
78
  $gl-color-red-100: #fdd4cd;
79
79
  $gl-color-red-200: #fcb5aa;
80
80
  $gl-color-red-300: #f6806d;
81
81
  $gl-color-red-400: #ec5941;
82
82
  $gl-color-red-500: #dd2b0e;
83
- $gl-color-red-600: #c91c00;
84
- $gl-color-red-700: #ae1800;
85
- $gl-color-red-800: #8d1300;
86
- $gl-color-red-900: #660e00;
87
- $gl-color-red-950: #4d0a00;
83
+ $gl-color-red-600: #c02f12;
84
+ $gl-color-red-700: #a32c12;
85
+ $gl-color-red-800: #812713;
86
+ $gl-color-red-900: #582014;
87
+ $gl-color-red-950: #3e1a14;
88
88
  $gl-color-data-green-50: #ddfab7;
89
89
  $gl-color-data-green-100: #c6ed94;
90
90
  $gl-color-data-green-200: #b0d97b;
@@ -411,11 +411,11 @@ $blue-200: #9dc7f1 !default;
411
411
  $blue-300: #63a6e9 !default;
412
412
  $blue-400: #428fdc !default;
413
413
  $blue-500: #1f75cb !default;
414
- $blue-600: #1068bf !default;
415
- $blue-700: #0b5cad !default;
416
- $blue-800: #064787 !default;
417
- $blue-900: #033464 !default;
418
- $blue-950: #002850 !default;
414
+ $blue-600: #2f68b4 !default;
415
+ $blue-700: #2f5ca0 !default;
416
+ $blue-800: #284779 !default;
417
+ $blue-900: #213454 !default;
418
+ $blue-950: #1d283e !default;
419
419
  $gray-10: #fbfafd !default;
420
420
  $gray-50: #ececef !default;
421
421
  $gray-100: #dcdcde !default;
@@ -434,44 +434,44 @@ $green-200: #91d4a8 !default;
434
434
  $green-300: #52b87a !default;
435
435
  $green-400: #2da160 !default;
436
436
  $green-500: #108548 !default;
437
- $green-600: #217645 !default;
438
- $green-700: #24663b !default;
439
- $green-800: #0d532a !default;
440
- $green-900: #0a4020 !default;
441
- $green-950: #072b15 !default;
437
+ $green-600: #2f7549 !default;
438
+ $green-700: #306440 !default;
439
+ $green-800: #225131 !default;
440
+ $green-900: #1e3e28 !default;
441
+ $green-950: #17291c !default;
442
442
  $orange-50: #fdf1dd !default;
443
443
  $orange-100: #f5d9a8 !default;
444
444
  $orange-200: #e9be74 !default;
445
445
  $orange-300: #d99530 !default;
446
446
  $orange-400: #c17d10 !default;
447
447
  $orange-500: #ab6100 !default;
448
- $orange-600: #9e5400 !default;
449
- $orange-700: #8f4700 !default;
450
- $orange-800: #703800 !default;
451
- $orange-900: #5c2900 !default;
452
- $orange-950: #421f00 !default;
448
+ $orange-600: #995715 !default;
449
+ $orange-700: #894b16 !default;
450
+ $orange-800: #693c14 !default;
451
+ $orange-900: #532e16 !default;
452
+ $orange-950: #382315 !default;
453
453
  $purple-50: #f4f0ff !default;
454
454
  $purple-100: #e1d8f9 !default;
455
455
  $purple-200: #cbbbf2 !default;
456
456
  $purple-300: #ac93e6 !default;
457
457
  $purple-400: #9475db !default;
458
458
  $purple-500: #7b58cf !default;
459
- $purple-600: #694cc0 !default;
460
- $purple-700: #5943b6 !default;
461
- $purple-800: #453894 !default;
462
- $purple-900: #2f2a6b !default;
463
- $purple-950: #232150 !default;
459
+ $purple-600: #6a4fb4 !default;
460
+ $purple-700: #5c47a6 !default;
461
+ $purple-800: #493c83 !default;
462
+ $purple-900: #342d59 !default;
463
+ $purple-950: #27243e !default;
464
464
  $red-50: #fcf1ef !default;
465
465
  $red-100: #fdd4cd !default;
466
466
  $red-200: #fcb5aa !default;
467
467
  $red-300: #f57f6c !default;
468
468
  $red-400: #ec5941 !default;
469
469
  $red-500: #dd2b0e !default;
470
- $red-600: #c91c00 !default;
471
- $red-700: #ae1800 !default;
472
- $red-800: #8d1300 !default;
473
- $red-900: #660e00 !default;
474
- $red-950: #4d0a00 !default;
470
+ $red-600: #c02f12 !default;
471
+ $red-700: #a32c12 !default;
472
+ $red-800: #812713 !default;
473
+ $red-900: #582014 !default;
474
+ $red-950: #3e1a14 !default;
475
475
  $brand-charcoal: #171321 !default; // Use color.brand-charcoal instead.
476
476
  $brand-orange-01: #fca326 !default; // Use color.brand-orange.01p instead.
477
477
  $brand-orange-02: #fc6d26 !default; // Use color.brand-orange.02p instead.
@@ -9,11 +9,11 @@ const baseColors = {
9
9
  'blue-300': 'var(--blue-300, #63a6e9)',
10
10
  'blue-400': 'var(--blue-400, #428fdc)',
11
11
  'blue-500': 'var(--blue-500, #1f75cb)',
12
- 'blue-600': 'var(--blue-600, #1068bf)',
13
- 'blue-700': 'var(--blue-700, #0b5cad)',
14
- 'blue-800': 'var(--blue-800, #064787)',
15
- 'blue-900': 'var(--blue-900, #033464)',
16
- 'blue-950': 'var(--blue-950, #002850)',
12
+ 'blue-600': 'var(--blue-600, #2f68b4)',
13
+ 'blue-700': 'var(--blue-700, #2f5ca0)',
14
+ 'blue-800': 'var(--blue-800, #284779)',
15
+ 'blue-900': 'var(--blue-900, #213454)',
16
+ 'blue-950': 'var(--blue-950, #1d283e)',
17
17
  'gray-10': 'var(--gray-10, #fbfafd)',
18
18
  'gray-50': 'var(--gray-50, #ececef)',
19
19
  'gray-100': 'var(--gray-100, #dcdcde)',
@@ -32,44 +32,44 @@ const baseColors = {
32
32
  'green-300': 'var(--green-300, #52b87a)',
33
33
  'green-400': 'var(--green-400, #2da160)',
34
34
  'green-500': 'var(--green-500, #108548)',
35
- 'green-600': 'var(--green-600, #217645)',
36
- 'green-700': 'var(--green-700, #24663b)',
37
- 'green-800': 'var(--green-800, #0d532a)',
38
- 'green-900': 'var(--green-900, #0a4020)',
39
- 'green-950': 'var(--green-950, #072b15)',
35
+ 'green-600': 'var(--green-600, #2f7549)',
36
+ 'green-700': 'var(--green-700, #306440)',
37
+ 'green-800': 'var(--green-800, #225131)',
38
+ 'green-900': 'var(--green-900, #1e3e28)',
39
+ 'green-950': 'var(--green-950, #17291c)',
40
40
  'orange-50': 'var(--orange-50, #fdf1dd)',
41
41
  'orange-100': 'var(--orange-100, #f5d9a8)',
42
42
  'orange-200': 'var(--orange-200, #e9be74)',
43
43
  'orange-300': 'var(--orange-300, #d99530)',
44
44
  'orange-400': 'var(--orange-400, #c17d10)',
45
45
  'orange-500': 'var(--orange-500, #ab6100)',
46
- 'orange-600': 'var(--orange-600, #9e5400)',
47
- 'orange-700': 'var(--orange-700, #8f4700)',
48
- 'orange-800': 'var(--orange-800, #703800)',
49
- 'orange-900': 'var(--orange-900, #5c2900)',
50
- 'orange-950': 'var(--orange-950, #421f00)',
46
+ 'orange-600': 'var(--orange-600, #995715)',
47
+ 'orange-700': 'var(--orange-700, #894b16)',
48
+ 'orange-800': 'var(--orange-800, #693c14)',
49
+ 'orange-900': 'var(--orange-900, #532e16)',
50
+ 'orange-950': 'var(--orange-950, #382315)',
51
51
  'purple-50': 'var(--purple-50, #f4f0ff)',
52
52
  'purple-100': 'var(--purple-100, #e1d8f9)',
53
53
  'purple-200': 'var(--purple-200, #cbbbf2)',
54
54
  'purple-300': 'var(--purple-300, #ac93e6)',
55
55
  'purple-400': 'var(--purple-400, #9475db)',
56
56
  'purple-500': 'var(--purple-500, #7b58cf)',
57
- 'purple-600': 'var(--purple-600, #694cc0)',
58
- 'purple-700': 'var(--purple-700, #5943b6)',
59
- 'purple-800': 'var(--purple-800, #453894)',
60
- 'purple-900': 'var(--purple-900, #2f2a6b)',
61
- 'purple-950': 'var(--purple-950, #232150)',
57
+ 'purple-600': 'var(--purple-600, #6a4fb4)',
58
+ 'purple-700': 'var(--purple-700, #5c47a6)',
59
+ 'purple-800': 'var(--purple-800, #493c83)',
60
+ 'purple-900': 'var(--purple-900, #342d59)',
61
+ 'purple-950': 'var(--purple-950, #27243e)',
62
62
  'red-50': 'var(--red-50, #fcf1ef)',
63
63
  'red-100': 'var(--red-100, #fdd4cd)',
64
64
  'red-200': 'var(--red-200, #fcb5aa)',
65
65
  'red-300': 'var(--red-300, #f57f6c)',
66
66
  'red-400': 'var(--red-400, #ec5941)',
67
67
  'red-500': 'var(--red-500, #dd2b0e)',
68
- 'red-600': 'var(--red-600, #c91c00)',
69
- 'red-700': 'var(--red-700, #ae1800)',
70
- 'red-800': 'var(--red-800, #8d1300)',
71
- 'red-900': 'var(--red-900, #660e00)',
72
- 'red-950': 'var(--red-950, #4d0a00)',
68
+ 'red-600': 'var(--red-600, #c02f12)',
69
+ 'red-700': 'var(--red-700, #a32c12)',
70
+ 'red-800': 'var(--red-800, #812713)',
71
+ 'red-900': 'var(--red-900, #582014)',
72
+ 'red-950': 'var(--red-950, #3e1a14)',
73
73
  };
74
74
  const themeColors = {
75
75
  'theme-indigo-10': 'var(--theme-indigo-10, #f8f8ff)',
@@ -223,10 +223,10 @@ const textColors = {
223
223
  subtle: 'var(--gl-text-color-subtle, var(--gl-color-neutral-600, #626168))',
224
224
  strong: 'var(--gl-text-color-strong, var(--gl-color-neutral-950, #18171d))',
225
225
  heading: 'var(--gl-text-color-heading, var(--gl-color-neutral-950, #18171d))',
226
- link: 'var(--gl-text-color-link, var(--gl-color-blue-700, #0b5cad))',
227
- warning: 'var(--gl-text-color-warning, var(--gl-color-orange-600, #9e5400))',
228
- danger: 'var(--gl-text-color-danger, var(--gl-color-red-600, #c91c00))',
229
- success: 'var(--gl-text-color-success, var(--gl-color-green-600, #217645))',
226
+ link: 'var(--gl-text-color-link, var(--gl-color-blue-700, #2f5ca0))',
227
+ warning: 'var(--gl-text-color-warning, var(--gl-color-orange-600, #995715))',
228
+ danger: 'var(--gl-text-color-danger, var(--gl-color-red-600, #c02f12))',
229
+ success: 'var(--gl-text-color-success, var(--gl-color-green-600, #2f7549))',
230
230
  disabled: 'var(--gl-text-color-disabled, var(--gl-color-neutral-400, #89888d))',
231
231
  };
232
232
  const backgroundColors = {
@@ -251,11 +251,11 @@ const iconColors = {
251
251
  subtle: 'var(--gl-icon-color-subtle, var(--gl-text-color-subtle, #626168))',
252
252
  strong: 'var(--gl-icon-color-strong, var(--gl-text-color-strong, #18171d))',
253
253
  disabled: 'var(--gl-icon-color-disabled, var(--gl-text-color-disabled, #89888d))',
254
- link: 'var(--gl-icon-color-link, var(--gl-text-color-link, #0b5cad))',
255
- info: 'var(--gl-icon-color-info, var(--gl-color-blue-700, #0b5cad))',
256
- warning: 'var(--gl-icon-color-warning, var(--gl-text-color-warning, #9e5400))',
257
- danger: 'var(--gl-icon-color-danger, var(--gl-text-color-danger, #c91c00))',
258
- success: 'var(--gl-icon-color-success, var(--gl-text-color-success, #217645))',
254
+ link: 'var(--gl-icon-color-link, var(--gl-text-color-link, #2f5ca0))',
255
+ info: 'var(--gl-icon-color-info, var(--gl-color-blue-700, #2f5ca0))',
256
+ warning: 'var(--gl-icon-color-warning, var(--gl-text-color-warning, #995715))',
257
+ danger: 'var(--gl-icon-color-danger, var(--gl-text-color-danger, #c02f12))',
258
+ success: 'var(--gl-icon-color-success, var(--gl-text-color-success, #2f7549))',
259
259
  };
260
260
  const alphaDarkColors = {
261
261
  2: 'var(--gl-color-alpha-dark-2, rgba(05, 05, 06, 0.02))',
@@ -310,11 +310,11 @@ const statusBackgroundColors = {
310
310
  };
311
311
  const statusTextColors = {
312
312
  'status-neutral': 'var(--gl-status-neutral-text-color, var(--gl-color-neutral-700, #4c4b51))',
313
- 'status-info': 'var(--gl-status-info-text-color, var(--gl-color-blue-700, #0b5cad))',
314
- 'status-success': 'var(--gl-status-success-text-color, var(--gl-color-green-700, #24663b))',
315
- 'status-warning': 'var(--gl-status-warning-text-color, var(--gl-color-orange-700, #8f4700))',
316
- 'status-danger': 'var(--gl-status-danger-text-color, var(--gl-color-red-700, #ae1800))',
317
- 'status-brand': 'var(--gl-status-brand-text-color, var(--gl-color-purple-700, #5943b6))',
313
+ 'status-info': 'var(--gl-status-info-text-color, var(--gl-color-blue-700, #2f5ca0))',
314
+ 'status-success': 'var(--gl-status-success-text-color, var(--gl-color-green-700, #306440))',
315
+ 'status-warning': 'var(--gl-status-warning-text-color, var(--gl-color-orange-700, #894b16))',
316
+ 'status-danger': 'var(--gl-status-danger-text-color, var(--gl-color-red-700, #a32c12))',
317
+ 'status-brand': 'var(--gl-status-brand-text-color, var(--gl-color-purple-700, #5c47a6))',
318
318
  };
319
319
  const statusIconColors = {
320
320
  'status-neutral': 'var(--gl-status-neutral-icon-color, var(--gl-color-neutral-500, #737278))',
@@ -339,18 +339,18 @@ const feedbackBackgroundColors = {
339
339
  const feedbackTextColors = {
340
340
  'feedback-strong': 'var(--gl-feedback-strong-text-color, var(--gl-color-neutral-0, #fff))',
341
341
  'feedback-neutral': 'var(--gl-feedback-neutral-text-color, var(--gl-color-neutral-700, #4c4b51))',
342
- 'feedback-info': 'var(--gl-feedback-info-text-color, var(--gl-color-blue-700, #0b5cad))',
343
- 'feedback-success': 'var(--gl-feedback-success-text-color, var(--gl-color-green-700, #24663b))',
344
- 'feedback-warning': 'var(--gl-feedback-warning-text-color, var(--gl-color-orange-700, #8f4700))',
345
- 'feedback-danger': 'var(--gl-feedback-danger-text-color, var(--gl-color-red-700, #ae1800))',
342
+ 'feedback-info': 'var(--gl-feedback-info-text-color, var(--gl-color-blue-700, #2f5ca0))',
343
+ 'feedback-success': 'var(--gl-feedback-success-text-color, var(--gl-color-green-700, #306440))',
344
+ 'feedback-warning': 'var(--gl-feedback-warning-text-color, var(--gl-color-orange-700, #894b16))',
345
+ 'feedback-danger': 'var(--gl-feedback-danger-text-color, var(--gl-color-red-700, #a32c12))',
346
346
  };
347
347
  const feedbackIconColors = {
348
348
  'feedback-strong': 'var(--gl-feedback-strong-icon-color, var(--gl-color-neutral-0, #fff))',
349
349
  'feedback-neutral': 'var(--gl-feedback-neutral-icon-color, var(--gl-color-neutral-600, #626168))',
350
- 'feedback-info': 'var(--gl-feedback-info-icon-color, var(--gl-color-blue-600, #1068bf))',
351
- 'feedback-success': 'var(--gl-feedback-success-icon-color, var(--gl-color-green-600, #217645))',
352
- 'feedback-warning': 'var(--gl-feedback-warning-icon-color, var(--gl-color-orange-600, #9e5400))',
353
- 'feedback-danger': 'var(--gl-feedback-danger-icon-color, var(--gl-color-red-600, #c91c00))',
350
+ 'feedback-info': 'var(--gl-feedback-info-icon-color, var(--gl-color-blue-600, #2f68b4))',
351
+ 'feedback-success': 'var(--gl-feedback-success-icon-color, var(--gl-color-green-600, #2f7549))',
352
+ 'feedback-warning': 'var(--gl-feedback-warning-icon-color, var(--gl-color-orange-600, #995715))',
353
+ 'feedback-danger': 'var(--gl-feedback-danger-icon-color, var(--gl-color-red-600, #c02f12))',
354
354
  };
355
355
 
356
356
  const colors = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "112.2.3",
3
+ "version": "112.3.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -152,7 +152,7 @@
152
152
  "eslint-formatter-gitlab": "^5.1.0",
153
153
  "eslint-import-resolver-jest": "3.0.2",
154
154
  "eslint-plugin-cypress": "3.6.0",
155
- "eslint-plugin-storybook": "0.11.5",
155
+ "eslint-plugin-storybook": "0.12.0",
156
156
  "fuse.js": "^7.0.0",
157
157
  "gitlab-api-async-iterator": "^1.3.1",
158
158
  "glob": "10.3.3",
@@ -1,6 +1,184 @@
1
- The navigation component is built with flexbox and provides a strong foundation for building all
2
- types of navigation components.
1
+ ## Overview
3
2
 
4
- ## `GlNavItem`
3
+ The base `<gl-nav>` component is built with flexbox and provides a strong foundation for building all
4
+ types of navigation components. It includes some style overrides (for working with lists), some link
5
+ padding for larger hit areas, and basic disabled styling. No active states are included in the base
6
+ nav.
5
7
 
6
- Use `GlNavItem` to add actionable links (or router links) to your nav. `GlNavItem` wraps [`BNavItem`](https://bootstrap-vue.org/docs/components/navbar#b-nav-item).
8
+ `<gl-nav>` supports the `<gl-nav-item>` child component for actionable links (or router-links).
9
+
10
+ ## Link appearance
11
+
12
+ Two style variations are supported: `tabs` and `pills`, which support `active` state styling. These
13
+ variants are mutually exclusive - use only one style or the other.
14
+
15
+ ### Tab style
16
+
17
+ Make the nav look like tabs by setting the `tabs` prop.
18
+
19
+ ```html
20
+ <div>
21
+ <gl-nav tabs>
22
+ <gl-nav-item active>Active</gl-nav-item>
23
+ <gl-nav-item>Link</gl-nav-item>
24
+ <gl-nav-item>Another Link</gl-nav-item>
25
+ <gl-nav-item disabled>Disabled</gl-nav-item>
26
+ </gl-nav>
27
+ </div>
28
+ ```
29
+
30
+ ### Pill style
31
+
32
+ Use the pill style by setting the `pills` prop.
33
+
34
+ ```html
35
+ <div>
36
+ <gl-nav pills>
37
+ <gl-nav-item active>Active</gl-nav-item>
38
+ <gl-nav-item>Link</gl-nav-item>
39
+ <gl-nav-item>Another Link</gl-nav-item>
40
+ <gl-nav-item disabled>Disabled</gl-nav-item>
41
+ </gl-nav>
42
+ </div>
43
+ ```
44
+
45
+ ### Small
46
+
47
+ Make the nav smaller by setting the `small` prop.
48
+
49
+ ```html
50
+ <div>
51
+ <gl-nav small>
52
+ <gl-nav-item active>Active</gl-nav-item>
53
+ <gl-nav-item>Link</gl-nav-item>
54
+ <gl-nav-item>Another Link</gl-nav-item>
55
+ <gl-nav-item disabled>Disabled</gl-nav-item>
56
+ </gl-nav>
57
+ </div>
58
+ ```
59
+
60
+ ## Fill and justify
61
+
62
+ Force your `<gl-nav>` content to extend the full available width.
63
+
64
+ ### Fill
65
+
66
+ To proportionately fill all available space with your `<gl-nav-item>` components, set the `fill`
67
+ prop. Notice that all horizontal space is occupied, but not every nav item has the same width.
68
+
69
+ ```html
70
+ <div>
71
+ <gl-nav tabs fill>
72
+ <gl-nav-item active>Active</gl-nav-item>
73
+ <gl-nav-item>Link</gl-nav-item>
74
+ <gl-nav-item>Link with a long name </gl-nav-item>
75
+ <gl-nav-item disabled>Disabled</gl-nav-item>
76
+ </gl-nav>
77
+ </div>
78
+ ```
79
+
80
+ ### Justified
81
+
82
+ For equal-width elements, set the `justified` prop instead. All horizontal space will be occupied by
83
+ nav links, but unlike `fill` above, every `<gl-nav-item>` will be the same width.
84
+
85
+ ```html
86
+ <div>
87
+ <gl-nav tabs justified>
88
+ <gl-nav-item active>Active</gl-nav-item>
89
+ <gl-nav-item>Link</gl-nav-item>
90
+ <gl-nav-item>Link with a long name </gl-nav-item>
91
+ <gl-nav-item disabled>Disabled</gl-nav-item>
92
+ </gl-nav>
93
+ </div>
94
+ ```
95
+
96
+ ## Alignment
97
+
98
+ To align your `<gl-nav-item>` components, use the `align` prop. Available values are `left`, `center`
99
+ and `right`.
100
+
101
+ ```html
102
+ <div>
103
+ <gl-nav tabs align="center">
104
+ <gl-nav-item active>Active</gl-nav-item>
105
+ <gl-nav-item>Link</gl-nav-item>
106
+ <gl-nav-item>Link with a long name </gl-nav-item>
107
+ <gl-nav-item disabled>Disabled</gl-nav-item>
108
+ </gl-nav>
109
+ </div>
110
+ ```
111
+
112
+ ## Tabbed local content support
113
+
114
+ See the [`<gl-tabs>`](?path=/docs/base-tabs--docs) component for creating tabbable panes of local
115
+ content (not suited for navigation).
116
+
117
+ ## Card integration
118
+
119
+ Use a `<gl-nav>` in a [`<gl-card>`](?path=/docs/base-card--docs) header, by enabling the
120
+ `card-header` prop on `<gl-nav>` and setting either the `pills` or `tabs` props:
121
+
122
+ ```html
123
+ <div>
124
+ <gl-card title="Card Title">
125
+ <template #header>
126
+ <gl-nav card-header tabs>
127
+ <gl-nav-item active>Active</gl-nav-item>
128
+ <gl-nav-item>Inactive</gl-nav-item>
129
+ </gl-nav>
130
+ </template>
131
+
132
+ <template #default>
133
+ <p>With supporting text below as a natural lead-in to additional content.</p>
134
+ <gl-button variant="primary">Go somewhere</gl-button>
135
+ </template>
136
+ </gl-card>
137
+ </div>
138
+ ```
139
+
140
+ **Plain style:**
141
+
142
+ The `card-header` prop is only needed when you are applying `tabs` or `pills` style. Note that
143
+ we do not have special styling for `active` state plain style nav items.
144
+
145
+ ```html
146
+ <div>
147
+ <gl-card title="Card Title">
148
+ <template #header>
149
+ <gl-nav>
150
+ <gl-nav-item active>Active</gl-nav-item>
151
+ <gl-nav-item>Inactive</gl-nav-item>
152
+ </gl-nav>
153
+ </template>
154
+
155
+ <template #default>
156
+ <p>pWith supporting text below as a natural lead-in to additional content.</p>
157
+ <gl-button variant="primary">Go somewhere</gl-button>
158
+ </template>
159
+ </gl-card>
160
+ </div>
161
+ ```
162
+
163
+ ## Accessibility
164
+
165
+ If you're using `<gl-nav>` to provide a navigation bar, be sure to add a `role="navigation"` to the
166
+ most logical parent container of `<gl-nav>`, or wrap a `<nav>` element around `<gl-nav>`. Do **not**
167
+ add the role to the `<gl-nav>` itself, as this would prevent it from being announced as an actual
168
+ list by assistive technologies.
169
+
170
+ ### Tabbed interface accessibility
171
+
172
+ Note that navigation bars, even if visually styled as tabs, should **not** be given
173
+ `role="tablist"`, `role="tab"` or `role="tabpanel"` attributes. These are only appropriate for
174
+ [tabbed interfaces](?path=/docs/base-tabs--docs) that do not change the URL or `$route`, as
175
+ described in the [WAI ARIA Authoring Practices](https://www.w3.org/TR/wai-aria-practices/#tabpanel).
176
+ See [`<gl-tabs>`](?path=/docs/base-tabs--docs) for dynamic tabbed interfaces that are compliant with
177
+ WAI ARIA.
178
+
179
+ ## See also
180
+
181
+ - [tabs](?path=/docs/base-tabs--docs) to create tabbable panes of local content, even via dropdown
182
+ menus.
183
+ - [Router Link Support reference](?path=/docs/base-link--docs#router-link-support) for information
184
+ about router-link specific props available on `<gl-nav-item>`