@gitlab/ui 117.1.0 → 118.1.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/ui",
3
- "version": "117.1.0",
3
+ "version": "118.1.0",
4
4
  "description": "GitLab UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -49,10 +49,8 @@ $breadcrumb-max-width: $grid-size * 16;
49
49
  }
50
50
  }
51
51
 
52
- @if $feature-button-border {
53
- .gl-new-dropdown-icon-only.gl-button.btn-icon {
54
- min-height: auto;
55
- }
52
+ .gl-new-dropdown-icon-only.gl-button.btn-icon {
53
+ min-height: auto;
56
54
  }
57
55
  }
58
56
 
@@ -1,22 +1,6 @@
1
1
  /*
2
2
  * Button-specific utilities
3
3
  */
4
- @mixin gl-button-border($color) {
5
- box-shadow: inset 0 0 0 $gl-border-size-1 $color;
6
- }
7
-
8
- @mixin gl-button-hover-border($color) {
9
- box-shadow: inset 0 0 0 $gl-border-size-2 $color;
10
- }
11
-
12
- @mixin gl-button-selected-border($color, $focus-ring: null) {
13
- @if $focus-ring {
14
- box-shadow: inset 0 0 0 $gl-border-size-2 $color, $focus-ring;
15
- } @else {
16
- box-shadow: inset 0 0 0 $gl-border-size-2 $color;
17
- }
18
- }
19
-
20
4
  @mixin gl-button-theme(
21
5
  $color: null,
22
6
  $background-color: null,
@@ -33,11 +17,7 @@
33
17
  ) {
34
18
  color: $color;
35
19
  background-color: $background-color;
36
- @if $feature-button-border {
37
- border-color: $border-color;
38
- } @else {
39
- @include gl-button-border($border-color);
40
- }
20
+ border-color: $border-color;
41
21
 
42
22
  &::before {
43
23
  background-color: $border-color;
@@ -48,42 +28,24 @@
48
28
  &:hover {
49
29
  color: $hover-color;
50
30
  background-color: $hover-background-color;
51
- @if $feature-button-border {
52
- border-color: $hover-border-color;
53
- } @else {
54
- @include gl-button-hover-border($hover-border-color);
55
- }
31
+ border-color: $hover-border-color;
56
32
  }
57
33
 
58
34
  &:focus {
59
35
  color: $focus-color;
60
36
  background-color: $focus-background-color;
61
- @if $feature-button-border {
62
- border-color: $focus-border-color;
63
- } @else {
64
- @include gl-focus($color: $focus-border-color);
65
- }
37
+ border-color: $focus-border-color;
66
38
  }
67
39
 
68
40
  &:active,
69
41
  &.active {
70
42
  color: $active-color;
71
43
  background-color: $active-background-color;
72
- @if $feature-button-border {
73
- border-color: $active-border-color;
74
- } @else {
75
- @include gl-focus($color: $focus-border-color);
76
- }
44
+ border-color: $active-border-color;
77
45
 
78
- @if $feature-button-border {
79
- :focus,
80
- &:focus:active {
81
- @apply gl-focus;
82
- }
83
- } @else {
84
- &:focus {
85
- @include gl-focus($color: $active-border-color);
86
- }
46
+ :focus,
47
+ &:focus:active {
48
+ @apply gl-focus;
87
49
  }
88
50
  }
89
51
  }
@@ -112,32 +74,20 @@
112
74
  @apply gl-items-center;
113
75
  @apply gl-text-base;
114
76
 
115
- @if $feature-button-border {
116
- @apply gl-py-0;
117
- border: $gl-border-size-1 solid var(--gl-button-default-primary-border-color-default);
118
- min-height: $gl-button-medium-size;
119
- min-width: $gl-button-medium-size;
120
- transition: color $gl-transition-duration-medium $gl-easing-out-cubic,
121
- background-color $gl-transition-duration-medium $gl-easing-out-cubic,
122
- border-color $gl-transition-duration-medium $gl-easing-out-cubic,
123
- box-shadow $gl-transition-duration-medium $gl-easing-out-cubic,
124
- text-decoration-color $gl-transition-duration-medium $gl-easing-out-cubic;
125
- @include gl-prefers-reduced-motion-transition;
126
- } @else {
127
- @apply gl-border-0;
128
- @apply gl-py-3;
129
- @include gl-button-border(var(--gl-button-default-primary-border-color-default));
130
- }
77
+ @apply gl-py-0;
78
+ border: $gl-border-size-1 solid var(--gl-button-default-primary-border-color-default);
79
+ min-height: $gl-button-medium-size;
80
+ min-width: $gl-button-medium-size;
81
+ transition: color $gl-transition-duration-medium $gl-easing-out-cubic,
82
+ background-color $gl-transition-duration-medium $gl-easing-out-cubic,
83
+ border-color $gl-transition-duration-medium $gl-easing-out-cubic,
84
+ box-shadow $gl-transition-duration-medium $gl-easing-out-cubic,
85
+ text-decoration-color $gl-transition-duration-medium $gl-easing-out-cubic;
86
+ @include gl-prefers-reduced-motion-transition;
131
87
 
132
- @if $feature-button-border {
133
- &:focus,
134
- &:focus:active {
135
- @apply gl-focus;
136
- }
137
- } @else {
138
- @media (forced-colors: active) {
139
- border: 1px solid;
140
- }
88
+ &:focus,
89
+ &:focus:active {
90
+ @apply gl-focus;
141
91
  }
142
92
 
143
93
  .gl-button-text {
@@ -195,23 +145,15 @@
195
145
  background-color: var(--gl-button-selected-border-color-default);
196
146
  }
197
147
 
198
- @if $feature-button-border {
199
- border-width: $gl-border-size-1;
200
- border-color: var(--gl-button-selected-border-color-default);
201
- box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-button-selected-border-color-default);
202
- } @else {
203
- @include gl-button-selected-border(var(--gl-button-selected-border-color-default));
204
- }
148
+ border-width: $gl-border-size-1;
149
+ border-color: var(--gl-button-selected-border-color-default);
150
+ box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-button-selected-border-color-default);
205
151
 
206
152
  &:hover {
207
153
  color: var(--gl-button-selected-foreground-color-hover);
208
154
  background-color: var(--gl-button-selected-background-color-hover);
209
- @if $feature-button-border {
210
- border-color: var(--gl-button-selected-border-color-hover);
211
- box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-button-selected-border-color-hover);
212
- } @else {
213
- @include gl-button-selected-border(var(--gl-button-selected-border-color-hover));
214
- }
155
+ border-color: var(--gl-button-selected-border-color-hover);
156
+ box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-button-selected-border-color-hover);
215
157
  }
216
158
 
217
159
  &:hover::before,
@@ -223,11 +165,7 @@
223
165
  color: var(--gl-button-selected-foreground-color-focus);
224
166
  background-color: var(--gl-button-selected-background-color-focus);
225
167
  @apply gl-focus;
226
- @if $feature-button-border {
227
- border-color: var(--gl-button-selected-border-color-focus);
228
- } @else {
229
- @include gl-button-selected-border(var(--gl-button-selected-border-color-focus), $focus-ring);
230
- }
168
+ border-color: var(--gl-button-selected-border-color-focus);
231
169
  }
232
170
 
233
171
  &:focus::before,
@@ -240,15 +178,7 @@
240
178
  color: var(--gl-button-selected-foreground-color-active);
241
179
  background-color: var(--gl-button-selected-background-color-active);
242
180
  box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-button-selected-border-color-active);
243
- @if $feature-button-border {
244
- border-color: var(--gl-button-selected-border-color-active);
245
- } @else {
246
- @include gl-button-selected-border(var(--gl-button-selected-border-color-active), $focus-ring);
247
-
248
- &:focus {
249
- @include gl-button-selected-border(var(--gl-button-selected-border-color-active), $focus-ring);
250
- }
251
- }
181
+ border-color: var(--gl-button-selected-border-color-active);
252
182
  }
253
183
 
254
184
  &:active::before,
@@ -403,27 +333,11 @@
403
333
  &.btn-confirm,
404
334
  &.btn-danger {
405
335
  &-tertiary {
406
- @if not $feature-button-border {
407
- @apply gl-shadow-none;
408
- }
409
-
410
336
  @media (forced-colors: active) {
411
337
  color: LinkText; // stylelint-disable-line scale-unlimited/declaration-strict-value
412
338
  mix-blend-mode: initial;
413
339
  border: 0;
414
340
  }
415
-
416
- @if not $feature-button-border {
417
- &:hover {
418
- @apply gl-shadow-none;
419
- }
420
-
421
- &:active,
422
- &:focus,
423
- &:focus:active {
424
- @apply gl-focus;
425
- }
426
- }
427
341
  }
428
342
  }
429
343
 
@@ -441,12 +355,8 @@
441
355
  @apply gl-px-3;
442
356
  @apply gl-leading-normal;
443
357
  @apply gl-text-base;
444
- @if $feature-button-border {
445
- min-height: $gl-button-small-size;
446
- min-width: $gl-button-small-size;
447
- } @else {
448
- @apply gl-py-2;
449
- }
358
+ min-height: $gl-button-small-size;
359
+ min-width: $gl-button-small-size;
450
360
 
451
361
  gl-emoji {
452
362
  @apply gl-text-sm;
@@ -455,81 +365,37 @@
455
365
 
456
366
  &.btn-dashed,
457
367
  &.btn-dashed-tertiary {
458
- @if $feature-button-border {
459
- border-style: dashed;
460
- border-color: var(--gl-button-dashed-border-color-default);
461
- } @else {
462
- @include gl-button-border(var(--gl-button-dashed-border-color-default));
463
- outline: 3px dotted var(--gl-background-color-default);
464
- outline-offset: (-$gl-border-size-1);
465
- }
368
+ border-style: dashed;
369
+ border-color: var(--gl-button-dashed-border-color-default);
466
370
 
467
371
  &:hover {
468
- @if $feature-button-border {
469
- border-color: var(--gl-button-dashed-border-color-hover);
470
- } @else {
471
- @include gl-button-border($color: var(--gl-button-dashed-border-color-hover));
472
- outline: 3px dotted var(--gl-background-color-default);
473
- outline-offset: (-$gl-border-size-1);
474
- }
372
+ border-color: var(--gl-button-dashed-border-color-hover);
475
373
  }
476
374
 
477
375
  &:focus {
478
- @if $feature-button-border {
479
- border-color: var(--gl-button-dashed-border-color-focus);
480
- } @else {
481
- outline: 3px dotted var(--gl-background-color-default);
482
- outline-offset: (-$gl-border-size-1);
483
- @include gl-focus($color: var(--gl-button-dashed-border-color-focus));
484
- }
376
+ border-color: var(--gl-button-dashed-border-color-focus);
485
377
  }
486
378
 
487
379
  &:active,
488
380
  &.active {
489
- @if $feature-button-border {
490
- border-color: var(--gl-button-dashed-border-color-active);
491
- } @else {
492
- outline: 3px dotted var(--gl-background-color-default);
493
- outline-offset: (-$gl-border-size-1);
494
- @include gl-focus($color: var(--gl-button-dashed-border-color-active));
495
-
496
- &:focus {
497
- outline: 3px dotted var(--gl-background-color-default);
498
- outline-offset: (-$gl-border-size-1);
499
- @include gl-focus($color: var(--gl-button-dashed-border-color-active));
500
- }
501
- }
381
+ border-color: var(--gl-button-dashed-border-color-active);
502
382
  }
503
383
  }
504
384
 
505
385
  &.btn-icon {
506
386
  @apply gl-leading-normal;
507
- @if $feature-button-border {
508
- @apply gl-p-0;
509
- } @else {
510
- @apply gl-p-3;
511
- }
387
+ @apply gl-p-0;
512
388
 
513
389
  .gl-button-icon {
514
390
  @apply gl-mr-0;
515
391
  }
516
-
517
- @if not $feature-button-border {
518
- &.btn-sm {
519
- @apply gl-p-2;
520
- }
521
- }
522
392
  }
523
393
 
524
394
  &.button-ellipsis-horizontal,
525
395
  &.button-ellipsis-horizontal.btn-sm {
526
396
  @apply gl-px-2;
527
- @if $feature-button-border {
528
- min-height: auto;
529
- min-width: auto;
530
- } @else {
531
- @apply gl-py-0;
532
- }
397
+ min-height: auto;
398
+ min-width: auto;
533
399
 
534
400
  svg {
535
401
  @apply gl-h-5;
@@ -553,43 +419,28 @@
553
419
  @apply gl-text-base;
554
420
  @apply gl-leading-normal;
555
421
  color: var(--gl-button-link-text-color-default);
556
- @if $feature-button-border {
557
- @apply gl-px-0;
558
- min-height: auto;
559
- min-width: auto;
560
- text-decoration-thickness: auto;
561
- text-decoration-style: solid;
562
- text-decoration-color: transparent;
563
- } @else {
564
- @apply gl-py-0;
565
- @apply gl-px-0;
566
- @apply gl-shadow-none;
567
- }
422
+ @apply gl-px-0;
423
+ min-height: auto;
424
+ min-width: auto;
425
+ text-decoration-thickness: auto;
426
+ text-decoration-style: solid;
427
+ text-decoration-color: transparent;
568
428
 
569
429
  &:hover {
570
430
  @apply gl-bg-transparent;
571
431
  color: var(--gl-button-link-text-color-hover);
572
- @if $feature-button-border {
573
- text-decoration-color: var(--gl-button-link-text-color-hover);
574
- }
432
+ text-decoration-color: var(--gl-button-link-text-color-hover);
575
433
  }
576
434
 
577
435
  &:active {
578
436
  color: var(--gl-button-link-text-color-active);
579
- @if $feature-button-border {
580
- text-decoration-color: var(--gl-button-link-text-color-active);
581
- } @else {
582
- @apply gl-underline;
583
- }
437
+ text-decoration-color: var(--gl-button-link-text-color-active);
584
438
  }
585
439
 
586
440
  &:active,
587
441
  &:focus,
588
442
  &:focus:active {
589
443
  @apply gl-bg-transparent;
590
- @if not $feature-button-border {
591
- @apply gl-focus;
592
- }
593
444
  }
594
445
 
595
446
  &.disabled,
@@ -620,18 +471,13 @@
620
471
  &[disabled].selected {
621
472
  background-color: var(--gl-button-disabled-background-color);
622
473
  color: var(--gl-button-disabled-foreground-color);
474
+ border-color: var(--gl-button-disabled-border-color);
623
475
  opacity: 1;
624
476
  cursor: not-allowed !important;
625
477
 
626
478
  &::before {
627
479
  background-color: var(--gl-button-disabled-border-color);
628
480
  }
629
-
630
- @if $feature-button-border {
631
- border-color: var(--gl-button-disabled-border-color);
632
- } @else {
633
- @include gl-button-border(var(--gl-button-disabled-border-color));
634
- }
635
481
  }
636
482
 
637
483
  &.disabled[class*='-tertiary'],
@@ -96,21 +96,11 @@
96
96
  @include mask-chevron-down;
97
97
  }
98
98
 
99
- @if $feature-button-border {
100
- &.gl-button {
101
- @apply gl-px-0;
102
-
103
- &.btn-sm {
104
- @apply gl-px-0;
105
- }
106
- }
107
- } @else {
108
- &.gl-button {
109
- @apply gl-px-3;
99
+ &.gl-button {
100
+ @apply gl-px-0;
110
101
 
111
- &.btn-sm {
112
- @apply gl-px-2;
113
- }
102
+ &.btn-sm {
103
+ @apply gl-px-0;
114
104
  }
115
105
  }
116
106
  }
@@ -167,10 +157,8 @@
167
157
  }
168
158
 
169
159
  .dropdown-icon-only {
170
- @if $feature-button-border {
171
- &.dropdown-toggle-no-caret {
172
- padding: 0 !important;
173
- }
160
+ &.dropdown-toggle-no-caret {
161
+ padding: 0 !important;
174
162
  }
175
163
 
176
164
  .dropdown-icon,
@@ -0,0 +1,56 @@
1
+ <!-- eslint-disable vue/multi-word-component-names -->
2
+ <script>
3
+ import illustrationsPath from '@gitlab/svgs/dist/illustrations.svg';
4
+ import illustrationsInfo from '@gitlab/svgs/dist/illustrations.json';
5
+
6
+ const knownIllustrations = illustrationsInfo.icons;
7
+
8
+ /** This is a re-usable vue component for rendering a svg sprite icon
9
+ * @example
10
+ * <illustration
11
+ * name="status-success-sm"
12
+ * />
13
+ */
14
+ export default {
15
+ name: 'GlIllustration',
16
+ props: {
17
+ /**
18
+ * One of the illustrations from https://gitlab-org.gitlab.io/gitlab-svgs/ project
19
+ */
20
+ name: {
21
+ type: String,
22
+ required: true,
23
+ validator: (value) => {
24
+ if (knownIllustrations.some((obj) => obj.name === value)) {
25
+ return true;
26
+ }
27
+ // eslint-disable-next-line no-console
28
+ console.warn(`Illustration '${value}' is not a known illustration of @gitlab/svgs`);
29
+ return false;
30
+ },
31
+ },
32
+ },
33
+ computed: {
34
+ spriteHref() {
35
+ return `${illustrationsPath}#${this.name}`;
36
+ },
37
+ illustrationSize() {
38
+ return knownIllustrations.find((obj) => obj.name === this.name).svg_size;
39
+ },
40
+ },
41
+ };
42
+ </script>
43
+
44
+ <template>
45
+ <svg
46
+ :key="spriteHref"
47
+ :data-testid="`${name}-illustration`"
48
+ aria-label=""
49
+ role="presentation"
50
+ :width="illustrationSize"
51
+ :height="illustrationSize"
52
+ v-on="$listeners"
53
+ >
54
+ <use :href="spriteHref" />
55
+ </svg>
56
+ </template>
@@ -68,17 +68,14 @@ $label-padding-horizontal-half: 0.375 * $grid-size;
68
68
  @apply gl-flex;
69
69
  width: px-to-rem(14px);
70
70
  height: px-to-rem(14px);
71
+ min-height: auto !important;
72
+ min-width: auto !important;
71
73
  margin-left: -$label-padding-horizontal-half;
72
74
  margin-right: $label-padding-horizontal-half;
73
75
  @apply gl-p-0;
74
76
  @apply gl-rounded-full;
75
77
  @apply gl-shadow-none;
76
78
 
77
- @if $feature-button-border {
78
- min-height: auto !important;
79
- min-width: auto !important;
80
- }
81
-
82
79
  &:focus,
83
80
  &:active {
84
81
  @apply gl-focus;
@@ -11,21 +11,11 @@
11
11
  .gl-search-box-by-click-history > .gl-button,
12
12
  .gl-search-box-by-click-search-button.gl-button {
13
13
  background-color: var(--gl-control-background-color-default);
14
-
15
- @if $feature-button-border {
16
- border-color: var(--gl-control-border-color-default) !important;
17
- } @else {
18
- box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-control-border-color-default) !important;
19
- }
14
+ border-color: var(--gl-control-border-color-default) !important;
20
15
 
21
16
  &:disabled {
22
17
  background: var(--gl-control-background-color-disabled);
23
-
24
- @if $feature-button-border {
25
- border-color: var(--gl-control-border-color-disabled) !important;
26
- } @else {
27
- box-shadow: inset 0 0 0 $gl-border-size-1 var(--gl-control-border-color-disabled) !important;
28
- }
18
+ border-color: var(--gl-control-border-color-disabled) !important;
29
19
  }
30
20
  }
31
21
 
@@ -414,12 +414,11 @@ export default {
414
414
  @cancel-focus="cancelTokenFocus"
415
415
  @clear-all="clearAll"
416
416
  >
417
- <template #token-content="{ token }">
418
- <!-- @slot Content to pass to the token component slot. Can be used
419
- to add an avatar to the token. Default content is "{{ token.name }}".
420
- @binding {object} token
421
- -->
422
- <slot name="token-content" :token="token"></slot>
417
+ <template #token-content="{ token }"
418
+ ><!--
419
+ @slot Content to pass to the token component slot. Can be used to add an avatar to the token. Default content is "{{ token.name }}".
420
+ @binding {object} token
421
+ --><slot name="token-content" :token="token"></slot>
423
422
  </template>
424
423
  <template #text-input>
425
424
  <!-- Can't use `v-model` due to this bug: -->
@@ -465,34 +464,32 @@ export default {
465
464
  @dropdown-item-click="addToken"
466
465
  @show="openDropdown"
467
466
  >
468
- <template #loading-content>
469
- <!-- @slot Content to display when `loading` prop is `true`. Default
470
- content is "Searching..." -->
471
- <slot name="loading-content"></slot>
467
+ <template #loading-content
468
+ ><!--
469
+ @slot Content to display when `loading` prop is `true`. Default content is "Searching..."
470
+ --><slot name="loading-content"></slot>
472
471
  </template>
473
- <template #user-defined-token-content>
474
- <!-- @slot Content to display when adding a user defined token. Default content is 'Add "{{ inputText }}"'.
475
- @binding {string} inputText
476
- -->
477
- <slot name="user-defined-token-content" :input-text="inputText"></slot>
472
+ <template #user-defined-token-content
473
+ ><!--
474
+ @slot Content to display when adding a user defined token. Default content is 'Add "{{ inputText }}"'.
475
+ @binding {string} inputText
476
+ --><slot name="user-defined-token-content" :input-text="inputText"></slot>
478
477
  </template>
479
- <template #no-results-content>
480
- <!-- @slot Content to display when `dropdown-items` is empty and
481
- both `allow-user-defined-tokens` and `show-add-new-always` is `false`. Default content is "No matches found". -->
482
- <slot name="no-results-content"></slot>
478
+ <template #no-results-content
479
+ ><!--
480
+ @slot Content to display when `dropdown-items` is empty and both `allow-user-defined-tokens` and `show-add-new-always` is `false`. Default content is "No matches found".
481
+ --><slot name="no-results-content"></slot>
483
482
  </template>
484
- <template #dropdown-item-content="{ dropdownItem }">
485
- <!-- @slot Dropdown item content. Default content is "{{ dropdownItem.name }}".
486
- @binding {object} dropdownItem
487
- -->
488
- <slot name="dropdown-item-content" :dropdown-item="dropdownItem"></slot>
483
+ <template #dropdown-item-content="{ dropdownItem }"
484
+ ><!--
485
+ @slot Dropdown item content. Default content is "{{ dropdownItem.name }}".
486
+ @binding {object} dropdownItem
487
+ --><slot name="dropdown-item-content" :dropdown-item="dropdownItem"></slot>
489
488
  </template>
490
- <template #dropdown-footer>
491
- <!-- @slot Content to add to the bottom of the dropdown.
492
- Can be used in conjunction with `gl-intersection-observer` to load
493
- more items as the user scrolls.
494
- -->
495
- <slot name="dropdown-footer"></slot>
489
+ <template #dropdown-footer
490
+ ><!--
491
+ @slot Content to add to the bottom of the dropdown. Can be used in conjunction with `gl-intersection-observer` to load more items as the user scrolls.
492
+ --><slot name="dropdown-footer"></slot>
496
493
  </template>
497
494
  </gl-token-selector-dropdown>
498
495
  </div>
@@ -8,6 +8,7 @@ export { default as GlTokenSelector } from './base/token_selector/token_selector
8
8
  export { default as GlMarkdown } from './base/markdown/markdown.vue';
9
9
  export { default as GlLink, default as GlDeprecatedLink } from './base/link/link.vue';
10
10
  export { default as GlIcon } from './base/icon/icon.vue';
11
+ export { default as GlIllustration } from './base/illustration/illustration.vue';
11
12
  export { default as GlAnimatedChevronRightDownIcon } from './base/animated_icon/animated_chevron_right_down_icon.vue';
12
13
  export { default as GlAnimatedChevronLgRightDownIcon } from './base/animated_icon/animated_chevron_lg_right_down_icon.vue';
13
14
  export { default as GlAnimatedChevronDownUpIcon } from './base/animated_icon/animated_chevron_down_up_icon.vue';
@@ -1,7 +1,3 @@
1
- // Enables feature flag for GlButton border migration
2
- // to see in Storybook the expected new styles
3
- $feature-button-border: true;
4
-
5
1
  @import 'tokens';
6
2
 
7
3
  @import 'functions';
@@ -337,6 +337,3 @@ $popover-arrow-color: $popover-bg;
337
337
  $popover-arrow-outer-color: $gl-border-color-default;
338
338
 
339
339
  $tooltip-opacity: 1;
340
-
341
- // Feature flag for GlButton border migration
342
- $feature-button-border: false !default;