@gitlab/ui 134.8.0 → 135.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.
Files changed (152) hide show
  1. package/dist/components/base/animated_icon/base_animated_icon.js +3 -0
  2. package/dist/components/base/color_mode_toggle/color_mode_toggle.js +11 -1
  3. package/dist/components/base/filtered_search/filtered_search.js +9 -0
  4. package/dist/components/base/filtered_search/filtered_search_suggestion.js +3 -0
  5. package/dist/components/base/filtered_search/filtered_search_term.js +9 -0
  6. package/dist/components/base/filtered_search/filtered_search_token.js +15 -0
  7. package/dist/components/base/filtered_search/filtered_search_token_segment.js +27 -0
  8. package/dist/components/base/form/form_combobox/form_combobox.js +18 -0
  9. package/dist/components/base/form/form_date/form_date.js +18 -0
  10. package/dist/components/base/form/form_fields/form_field_validator.js +9 -0
  11. package/dist/components/base/form/form_fields/form_fields_loop.js +3 -0
  12. package/dist/components/base/markdown/markdown.js +3 -0
  13. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +54 -0
  14. package/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js +3 -0
  15. package/dist/components/base/new_dropdowns/listbox/listbox.js +4 -1
  16. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +6 -0
  17. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +15 -0
  18. package/dist/components/base/search_box_by_click/search_box_by_click.js +6 -0
  19. package/dist/components/base/segmented_control/segmented_control.js +6 -0
  20. package/dist/components/base/table_lite/table_lite.js +9 -0
  21. package/dist/components/base/tabs/tab/tab.js +3 -0
  22. package/dist/components/base/tabs/tabs/tabs.js +21 -0
  23. package/dist/components/base/toast/toast.js +12 -0
  24. package/dist/components/base/toggle/toggle.js +3 -0
  25. package/dist/components/base/token_selector/token_container.js +12 -0
  26. package/dist/components/base/token_selector/token_selector_dropdown.js +27 -0
  27. package/dist/components/charts/area/area.js +36 -0
  28. package/dist/components/charts/bar/bar.js +15 -0
  29. package/dist/components/charts/chart/chart.js +7 -1
  30. package/dist/components/charts/column/column.js +24 -0
  31. package/dist/components/charts/discrete_scatter/discrete_scatter.js +21 -0
  32. package/dist/components/charts/gauge/gauge.js +21 -0
  33. package/dist/components/charts/heatmap/heatmap.js +33 -0
  34. package/dist/components/charts/legend/legend.js +15 -0
  35. package/dist/components/charts/line/line.js +33 -0
  36. package/dist/components/charts/series_label/series_label.js +6 -0
  37. package/dist/components/charts/shared/tooltip/tooltip.js +6 -0
  38. package/dist/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.js +3 -0
  39. package/dist/components/charts/single_stat/single_stat.js +30 -0
  40. package/dist/components/charts/stacked_column/stacked_column.js +55 -0
  41. package/dist/components/regions/empty_state/empty_state.js +3 -0
  42. package/dist/components/shared_components/clear_icon_button/clear_icon_button.js +6 -0
  43. package/dist/components/shared_components/close_button/close_button.js +3 -0
  44. package/dist/components/utilities/animated_number/animated_number.js +9 -0
  45. package/dist/components/utilities/intersperse/intersperse.js +6 -0
  46. package/dist/index.css +2 -2
  47. package/dist/index.css.map +1 -1
  48. package/dist/tailwind.css +1 -1
  49. package/dist/tailwind.css.map +1 -1
  50. package/dist/tokens/build/js/tokens.dark.js +3 -3
  51. package/dist/tokens/build/js/tokens.js +3 -3
  52. package/dist/tokens/tokens_story.js +3 -0
  53. package/package.json +8 -7
  54. package/src/components/base/animated_icon/base_animated_icon.vue +3 -0
  55. package/src/components/base/avatar_link/avatar_link.scss +2 -2
  56. package/src/components/base/badge/badge.scss +3 -3
  57. package/src/components/base/breadcrumb/breadcrumb.scss +2 -2
  58. package/src/components/base/button/button.scss +15 -15
  59. package/src/components/base/button_group/button_group.scss +1 -1
  60. package/src/components/base/color_mode_toggle/color_mode_toggle.vue +11 -0
  61. package/src/components/base/datepicker/datepicker.scss +1 -1
  62. package/src/components/base/dropdown/dropdown_item.scss +3 -3
  63. package/src/components/base/filtered_search/filtered_search.vue +9 -0
  64. package/src/components/base/filtered_search/filtered_search_suggestion.vue +3 -0
  65. package/src/components/base/filtered_search/filtered_search_term.vue +9 -0
  66. package/src/components/base/filtered_search/filtered_search_token.vue +15 -0
  67. package/src/components/base/filtered_search/filtered_search_token_segment.vue +27 -0
  68. package/src/components/base/form/form_checkbox/form_checkbox.scss +9 -7
  69. package/src/components/base/form/form_combobox/form_combobox.scss +4 -4
  70. package/src/components/base/form/form_combobox/form_combobox.vue +18 -0
  71. package/src/components/base/form/form_date/form_date.vue +18 -0
  72. package/src/components/base/form/form_fields/form_field_validator.vue +9 -0
  73. package/src/components/base/form/form_fields/form_fields_loop.vue +3 -0
  74. package/src/components/base/form/form_input/form_input.scss +2 -2
  75. package/src/components/base/form/form_select/form_select.scss +3 -3
  76. package/src/components/base/icon/icon.figma.batch.ts +26 -0
  77. package/src/components/base/label/label.scss +9 -9
  78. package/src/components/base/link/link.scss +11 -11
  79. package/src/components/base/markdown/markdown.vue +3 -0
  80. package/src/components/base/nav_item/nav_item.scss +5 -5
  81. package/src/components/base/new_dropdowns/base_dropdown/base_dropdown.vue +54 -0
  82. package/src/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.vue +3 -0
  83. package/src/components/base/new_dropdowns/dropdown.scss +2 -2
  84. package/src/components/base/new_dropdowns/dropdown_item.scss +9 -9
  85. package/src/components/base/new_dropdowns/listbox/listbox.scss +1 -1
  86. package/src/components/base/new_dropdowns/listbox/listbox.vue +5 -2
  87. package/src/components/base/new_dropdowns/listbox/listbox_group.vue +6 -0
  88. package/src/components/base/new_dropdowns/listbox/listbox_item.vue +15 -0
  89. package/src/components/base/pagination/pagination.scss +3 -2
  90. package/src/components/base/path/path.scss +3 -3
  91. package/src/components/base/search_box_by_click/search_box_by_click.vue +6 -0
  92. package/src/components/base/search_box_by_type/search_box_by_type.scss +1 -1
  93. package/src/components/base/segmented_control/segmented_control.vue +6 -0
  94. package/src/components/base/table_lite/table_lite.vue +9 -0
  95. package/src/components/base/tabs/tab/tab.vue +3 -0
  96. package/src/components/base/tabs/tabs/tabs.scss +3 -3
  97. package/src/components/base/tabs/tabs/tabs.vue +21 -0
  98. package/src/components/base/toast/toast.vue +12 -0
  99. package/src/components/base/toggle/toggle.scss +4 -4
  100. package/src/components/base/toggle/toggle.vue +3 -0
  101. package/src/components/base/token_selector/token_container.vue +12 -0
  102. package/src/components/base/token_selector/token_selector.scss +1 -1
  103. package/src/components/base/token_selector/token_selector_dropdown.vue +27 -0
  104. package/src/components/charts/area/area.vue +36 -0
  105. package/src/components/charts/bar/bar.vue +15 -0
  106. package/src/components/charts/chart/chart.vue +7 -1
  107. package/src/components/charts/column/column.vue +24 -0
  108. package/src/components/charts/discrete_scatter/discrete_scatter.vue +21 -0
  109. package/src/components/charts/gauge/gauge.vue +21 -0
  110. package/src/components/charts/heatmap/heatmap.vue +33 -0
  111. package/src/components/charts/legend/legend.vue +15 -0
  112. package/src/components/charts/line/line.vue +33 -0
  113. package/src/components/charts/series_label/series_label.vue +6 -0
  114. package/src/components/charts/shared/tooltip/tooltip.vue +6 -0
  115. package/src/components/charts/shared/tooltip/tooltip_default_format/tooltip_default_format.vue +3 -0
  116. package/src/components/charts/single_stat/single_stat.vue +30 -0
  117. package/src/components/charts/stacked_column/stacked_column.vue +55 -0
  118. package/src/components/regions/empty_state/empty_state.vue +3 -0
  119. package/src/components/shared_components/clear_icon_button/clear_icon_button.scss +1 -1
  120. package/src/components/shared_components/clear_icon_button/clear_icon_button.vue +6 -0
  121. package/src/components/shared_components/close_button/close_button.vue +3 -0
  122. package/src/components/utilities/animated_number/animated_number.vue +9 -0
  123. package/src/components/utilities/intersperse/intersperse.vue +6 -0
  124. package/src/scss/mixins.scss +1 -1
  125. package/src/tokens/build/css/tokens.css +3 -3
  126. package/src/tokens/build/css/tokens.dark.css +3 -3
  127. package/src/tokens/build/figma/mode.dark.json +37 -20
  128. package/src/tokens/build/figma/mode.json +37 -20
  129. package/src/tokens/build/js/tokens.dark.js +3 -3
  130. package/src/tokens/build/js/tokens.js +3 -3
  131. package/src/tokens/build/json/tokens.dark.json +74 -40
  132. package/src/tokens/build/json/tokens.json +74 -40
  133. package/src/tokens/build/scss/_tokens.dark.scss +3 -3
  134. package/src/tokens/build/scss/_tokens.scss +3 -3
  135. package/src/tokens/contextual/toggle.tokens.json +37 -20
  136. package/src/tokens/tokens_story.vue +3 -0
  137. package/src/utils/string_utils.js +1 -1
  138. package/src/vendor/bootstrap/scss/_button-group.scss +1 -1
  139. package/src/vendor/bootstrap/scss/_buttons.scss +3 -3
  140. package/src/vendor/bootstrap/scss/_custom-forms.scss +5 -5
  141. package/src/vendor/bootstrap/scss/_forms.scss +2 -2
  142. package/src/vendor/bootstrap/scss/_input-group.scss +5 -5
  143. package/src/vendor/bootstrap/scss/_pagination.scss +1 -1
  144. package/src/vendor/bootstrap/scss/mixins/_badge.scss +1 -1
  145. package/src/vendor/bootstrap/scss/mixins/_buttons.scss +5 -5
  146. package/src/vendor/bootstrap/scss/mixins/_forms.scss +5 -5
  147. package/src/vendor/bootstrap/scss/mixins/_hover.scss +3 -3
  148. package/src/vendor/bootstrap/scss/mixins/_screen-reader.scss +1 -1
  149. package/src/vendor/bootstrap-vue/src/_utilities.scss +1 -1
  150. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown-form.scss +2 -2
  151. package/src/vendor/bootstrap-vue/src/components/dropdown/_dropdown.scss +1 -1
  152. package/tailwind.defaults.js +5 -5
@@ -24,7 +24,7 @@
24
24
  text-decoration: none;
25
25
  }
26
26
 
27
- &:focus,
27
+ &:focus-visible,
28
28
  &.focus {
29
29
  outline: 0;
30
30
  box-shadow: $btn-focus-box-shadow;
@@ -44,7 +44,7 @@
44
44
  &.active {
45
45
  @include box-shadow($btn-active-box-shadow);
46
46
 
47
- &:focus {
47
+ &:focus-visible {
48
48
  @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
49
49
  }
50
50
  }
@@ -90,7 +90,7 @@ fieldset:disabled a.btn {
90
90
  text-decoration: $link-hover-decoration;
91
91
  }
92
92
 
93
- &:focus,
93
+ &:focus-visible,
94
94
  &.focus {
95
95
  text-decoration: $link-hover-decoration;
96
96
  }
@@ -36,7 +36,7 @@
36
36
  @include box-shadow($custom-control-indicator-checked-box-shadow);
37
37
  }
38
38
 
39
- &:focus ~ .custom-control-label::before {
39
+ &:focus-visible ~ .custom-control-label::before {
40
40
  // the mixin is not used here to make sure there is feedback
41
41
  @if $enable-shadows {
42
42
  box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;
@@ -45,7 +45,7 @@
45
45
  }
46
46
  }
47
47
 
48
- &:focus:not(:checked) ~ .custom-control-label::before {
48
+ &:focus-visible:not(:checked) ~ .custom-control-label::before {
49
49
  border-color: $custom-control-indicator-focus-border-color;
50
50
  }
51
51
 
@@ -235,7 +235,7 @@
235
235
  @include box-shadow($custom-select-box-shadow);
236
236
  appearance: none;
237
237
 
238
- &:focus {
238
+ &:focus-visible {
239
239
  border-color: $custom-select-focus-border-color;
240
240
  outline: 0;
241
241
  @if $enable-shadows {
@@ -318,7 +318,7 @@
318
318
  overflow: hidden;
319
319
  opacity: 0;
320
320
 
321
- &:focus ~ .custom-file-label {
321
+ &:focus-visible ~ .custom-file-label {
322
322
  border-color: $custom-file-focus-border-color;
323
323
  box-shadow: $custom-file-focus-box-shadow;
324
324
  }
@@ -389,7 +389,7 @@
389
389
  background-color: transparent;
390
390
  appearance: none;
391
391
 
392
- &:focus {
392
+ &:focus-visible {
393
393
  outline: 0;
394
394
 
395
395
  // Pseudo-elements must be split across multiple rulesets to have an effect.
@@ -31,7 +31,7 @@
31
31
  border: 0;
32
32
  }
33
33
 
34
- // Customize the `:focus` state to imitate native WebKit styles.
34
+ // Customize the `:focus-visible` state to imitate native WebKit styles.
35
35
  @include form-control-focus($ignore-warning: true);
36
36
 
37
37
  // Placeholder
@@ -70,7 +70,7 @@ select.form-control {
70
70
  text-shadow: 0 0 0 $input-color;
71
71
  }
72
72
 
73
- &:focus::-ms-value {
73
+ &:focus-visible::-ms-value {
74
74
  // Suppress the nested default white text on blue background highlight given to
75
75
  // the selected option text when the (still closed) <select> receives focus
76
76
  // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to
@@ -29,14 +29,14 @@
29
29
  }
30
30
 
31
31
  // Bring the "active" form control to the top of surrounding elements
32
- > .form-control:focus,
33
- > .custom-select:focus,
34
- > .custom-file .custom-file-input:focus ~ .custom-file-label {
32
+ > .form-control:focus-visible,
33
+ > .custom-select:focus-visible,
34
+ > .custom-file .custom-file-input:focus-visible ~ .custom-file-label {
35
35
  z-index: 3;
36
36
  }
37
37
 
38
38
  // Bring the custom file input above the label
39
- > .custom-file .custom-file-input:focus {
39
+ > .custom-file .custom-file-input:focus-visible {
40
40
  z-index: 4;
41
41
  }
42
42
 
@@ -93,7 +93,7 @@
93
93
  position: relative;
94
94
  z-index: 2;
95
95
 
96
- &:focus {
96
+ &:focus-visible {
97
97
  z-index: 3;
98
98
  }
99
99
  }
@@ -23,7 +23,7 @@
23
23
  border-color: $pagination-hover-border-color;
24
24
  }
25
25
 
26
- &:focus {
26
+ &:focus-visible {
27
27
  z-index: 3;
28
28
  outline: $pagination-focus-outline;
29
29
  box-shadow: $pagination-focus-box-shadow;
@@ -9,7 +9,7 @@
9
9
  background-color: color.adjust($bg, $lightness: -10%);
10
10
  }
11
11
 
12
- &:focus,
12
+ &:focus-visible,
13
13
  &.focus {
14
14
  outline: 0;
15
15
  box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);
@@ -1,7 +1,7 @@
1
1
  @use "sass:color";
2
2
  // Button variants
3
3
  //
4
- // Easily pump out default styles, as well as :hover, :focus, :active,
4
+ // Easily pump out default styles, as well as :hover, :focus-visible, :active,
5
5
  // and disabled options for all buttons
6
6
 
7
7
  @mixin button-variant($background, $border, $hover-background: color.adjust($background, $lightness: -7.5%), $hover-border: color.adjust($border, $lightness: -10%), $active-background: color.adjust($background, $lightness: -10%), $active-border: color.adjust($border, $lightness: -12.5%)) {
@@ -16,7 +16,7 @@
16
16
  border-color: $hover-border;
17
17
  }
18
18
 
19
- &:focus,
19
+ &:focus-visible,
20
20
  &.focus {
21
21
  color: color-yiq($hover-background);
22
22
  @include gradient-bg($hover-background);
@@ -51,7 +51,7 @@
51
51
  }
52
52
  border-color: $active-border;
53
53
 
54
- &:focus {
54
+ &:focus-visible {
55
55
  @if $enable-shadows and $btn-active-box-shadow != none {
56
56
  @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(color.mix(color-yiq($background), $border, 15%), .5));
57
57
  } @else {
@@ -72,7 +72,7 @@
72
72
  border-color: $active-border;
73
73
  }
74
74
 
75
- &:focus,
75
+ &:focus-visible,
76
76
  &.focus {
77
77
  box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
78
78
  }
@@ -90,7 +90,7 @@
90
90
  background-color: $active-background;
91
91
  border-color: $active-border;
92
92
 
93
- &:focus {
93
+ &:focus-visible {
94
94
  @if $enable-shadows and $btn-active-box-shadow != none {
95
95
  @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
96
96
  } @else {
@@ -12,7 +12,7 @@
12
12
  // Example usage: change the default blue border and shadow to white for better
13
13
  // contrast against a dark gray background.
14
14
  @mixin form-control-focus($ignore-warning: false) {
15
- &:focus {
15
+ &:focus-visible {
16
16
  color: $input-focus-color;
17
17
  background-color: $input-focus-bg;
18
18
  border-color: $input-focus-border-color;
@@ -93,7 +93,7 @@
93
93
  background-size: $input-height-inner-half $input-height-inner-half;
94
94
  }
95
95
 
96
- &:focus {
96
+ &:focus-visible {
97
97
  border-color: $color;
98
98
  box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
99
99
  }
@@ -129,7 +129,7 @@
129
129
  background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;
130
130
  }
131
131
 
132
- &:focus {
132
+ &:focus-visible {
133
133
  border-color: $color;
134
134
  box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
135
135
  }
@@ -166,7 +166,7 @@
166
166
  }
167
167
  }
168
168
 
169
- &:focus {
169
+ &:focus-visible {
170
170
  ~ .custom-control-label::before {
171
171
  box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
172
172
  }
@@ -185,7 +185,7 @@
185
185
  border-color: $color;
186
186
  }
187
187
 
188
- &:focus {
188
+ &:focus-visible {
189
189
  ~ .custom-file-label {
190
190
  border-color: $color;
191
191
  box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
@@ -15,7 +15,7 @@
15
15
 
16
16
  @mixin hover-focus() {
17
17
  &:hover,
18
- &:focus {
18
+ &:focus-visible {
19
19
  @content;
20
20
  }
21
21
  }
@@ -23,14 +23,14 @@
23
23
  @mixin plain-hover-focus() {
24
24
  &,
25
25
  &:hover,
26
- &:focus {
26
+ &:focus-visible {
27
27
  @content;
28
28
  }
29
29
  }
30
30
 
31
31
  @mixin hover-focus-active() {
32
32
  &:hover,
33
- &:focus,
33
+ &:focus-visible,
34
34
  &:active {
35
35
  @content;
36
36
  }
@@ -23,7 +23,7 @@
23
23
 
24
24
  @mixin sr-only-focusable() {
25
25
  &:active,
26
- &:focus {
26
+ &:focus-visible {
27
27
  position: static;
28
28
  width: auto;
29
29
  height: auto;
@@ -7,7 +7,7 @@ $bv-utility-classes-defined: false !default;
7
7
  $bv-utility-classes-defined: true;
8
8
 
9
9
  // No focus outline helper (use sparingly)
10
- .bv-no-focus-ring:focus {
10
+ .bv-no-focus-ring:focus-visible {
11
11
  outline: none;
12
12
  }
13
13
  }
@@ -13,9 +13,9 @@ $bv-dropdown-form-defined: false !default;
13
13
  clear: both;
14
14
  font-weight: $font-weight-normal;
15
15
 
16
- &:focus {
16
+ &:focus-visible {
17
17
  // From https://github.com/twbs/bootstrap/blob/master/scss/_reboot.scss
18
- // mimicking button:focus styling.
18
+ // mimicking button:focus-visible styling.
19
19
  // We add important here as anything with tabindex `-1` and focused will not
20
20
  // have a focus ring due to reboot.scss and its `!important` override.
21
21
  // Needed for keyboard navigation high-lighting
@@ -28,7 +28,7 @@ $bv-dropdown-defined: false !default;
28
28
  // Hide the focus ring introduced by Bootstratp v4.4 reboot
29
29
  // on items with tabindex="-1", as we know how users feel
30
30
  // about blue rings where they don't expect them.
31
- .dropdown-menu:focus {
31
+ .dropdown-menu:focus-visible {
32
32
  outline: none;
33
33
  }
34
34
 
@@ -33,7 +33,7 @@ function addCustomDefinitions({ addComponents, addUtilities }) {
33
33
  'background-color': 'var(--gl-action-neutral-background-color-hover)',
34
34
  'border-color': 'var(--gl-action-neutral-border-color-hover)',
35
35
  },
36
- '&:focus': {
36
+ '&:focus-visible': {
37
37
  color: 'var(--gl-action-neutral-foreground-color-focus)',
38
38
  'background-color': 'var(--gl-action-neutral-background-color-focus)',
39
39
  'border-color': 'var(--gl-action-neutral-border-color-focus)',
@@ -53,7 +53,7 @@ function addCustomDefinitions({ addComponents, addUtilities }) {
53
53
  'background-color': 'var(--gl-action-confirm-background-color-hover)',
54
54
  'border-color': 'var(--gl-action-confirm-border-color-hover)',
55
55
  },
56
- '&:focus': {
56
+ '&:focus-visible': {
57
57
  color: 'var(--gl-action-confirm-foreground-color-focus)',
58
58
  'background-color': 'var(--gl-action-confirm-background-color-focus)',
59
59
  'border-color': 'var(--gl-action-confirm-border-color-focus)',
@@ -73,7 +73,7 @@ function addCustomDefinitions({ addComponents, addUtilities }) {
73
73
  'background-color': 'var(--gl-action-danger-background-color-hover)',
74
74
  'border-color': 'var(--gl-action-danger-border-color-hover)',
75
75
  },
76
- '&:focus': {
76
+ '&:focus-visible': {
77
77
  color: 'var(--gl-action-danger-foreground-color-focus)',
78
78
  'background-color': 'var(--gl-action-danger-background-color-focus)',
79
79
  'border-color': 'var(--gl-action-danger-border-color-focus)',
@@ -89,7 +89,7 @@ function addCustomDefinitions({ addComponents, addUtilities }) {
89
89
  '&:hover': {
90
90
  'background-color': 'var(--gl-action-neutral-background-color-hover)',
91
91
  },
92
- '&:focus': {
92
+ '&:focus-visible': {
93
93
  'background-color': 'var(--gl-action-neutral-background-color-focus)',
94
94
  },
95
95
  '&:active': {
@@ -154,7 +154,7 @@ function addCustomDefinitions({ addComponents, addUtilities }) {
154
154
  '&:hover': {
155
155
  'border-color': 'var(--gl-control-border-color-hover)',
156
156
  },
157
- '&:focus': {
157
+ '&:focus-visible': {
158
158
  'border-color': 'var(--gl-control-border-color-focus)',
159
159
  },
160
160
  '&:disabled': {