@gitlab/ui 133.0.0 → 134.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.
Files changed (42) hide show
  1. package/dist/components/base/avatars_inline/avatars_inline.js +5 -1
  2. package/dist/components/base/breadcrumb/breadcrumb.js +5 -1
  3. package/dist/components/base/breadcrumb/breadcrumb_item.js +7 -1
  4. package/dist/components/base/broadcast_message/broadcast_message.js +3 -3
  5. package/dist/components/base/button/button.js +36 -19
  6. package/dist/config.js +23 -3
  7. package/dist/index.css +1 -1
  8. package/dist/index.css.map +1 -1
  9. package/dist/tokens/build/js/tokens.dark.js +1 -145
  10. package/dist/tokens/build/js/tokens.js +1 -145
  11. package/dist/utils/constants.js +12 -12
  12. package/dist/utils/string_utils.js +0 -1
  13. package/package.json +11 -11
  14. package/src/components/base/avatars_inline/avatars_inline.vue +5 -1
  15. package/src/components/base/breadcrumb/breadcrumb.vue +5 -5
  16. package/src/components/base/breadcrumb/breadcrumb_item.vue +7 -1
  17. package/src/components/base/broadcast_message/broadcast_message.vue +3 -3
  18. package/src/components/base/button/button.vue +37 -16
  19. package/src/components/utilities/sprintf/sprintf.vue +0 -1
  20. package/src/config.js +21 -2
  21. package/src/tokens/build/css/tokens.css +16 -160
  22. package/src/tokens/build/css/tokens.dark.css +16 -160
  23. package/src/tokens/build/docs/tokens-tailwind-docs.dark.json +15293 -26883
  24. package/src/tokens/build/docs/tokens-tailwind-docs.json +15293 -26883
  25. package/src/tokens/build/figma/constants.dark.json +0 -1152
  26. package/src/tokens/build/figma/constants.json +0 -1152
  27. package/src/tokens/build/figma/mode.dark.json +160 -16
  28. package/src/tokens/build/figma/mode.json +160 -16
  29. package/src/tokens/build/js/tokens.dark.js +0 -144
  30. package/src/tokens/build/js/tokens.js +0 -144
  31. package/src/tokens/build/json/tokens.dark.json +15296 -19354
  32. package/src/tokens/build/json/tokens.json +15173 -19231
  33. package/src/tokens/build/scss/_tokens.dark.scss +16 -160
  34. package/src/tokens/build/scss/_tokens.scss +16 -160
  35. package/src/tokens/build/scss/_tokens_custom_properties.scss +0 -144
  36. package/src/tokens/build/tailwind/tokens.cjs +0 -75
  37. package/src/tokens/contextual/broadcast.tokens.json +160 -16
  38. package/src/utils/constants.js +11 -11
  39. package/src/utils/string_utils.js +0 -1
  40. package/tailwind.defaults.js +0 -2
  41. package/src/tokens/constant/color.theme.tokens.json +0 -1168
  42. package/src/tokens/deprecated/deprecated.color.theme.tokens.json +0 -2248
@@ -9,7 +9,7 @@ import {
9
9
  import { logWarning, stopEvent } from '../../../utils/utils';
10
10
  import { isSlotEmpty } from '../../../utils/is_slot_empty';
11
11
  import { SafeLinkMixin } from '../../mixins/safe_link_mixin';
12
- import { isEvent } from '../../../vendor/bootstrap-vue/src/utils/inspect';
12
+ import { glButtonConfig } from '../../../config';
13
13
  import GlIcon from '../icon/icon.vue';
14
14
  import GlLoadingIcon from '../loading_icon/loading_icon.vue';
15
15
  import { ENTER, SPACE } from '../new_dropdowns/constants';
@@ -122,6 +122,14 @@ export default {
122
122
  required: false,
123
123
  default: false,
124
124
  },
125
+ /**
126
+ * Keep the button accessible while `disabled` is `true`. Uses `aria-disabled` so the element remains focusable and is announced by assistive technology.
127
+ */
128
+ accessibleDisabled: {
129
+ type: Boolean,
130
+ required: false,
131
+ default: () => glButtonConfig.accessibleDisabledButton,
132
+ },
125
133
  /**
126
134
  * Denotes the target URL of the link for standard links.
127
135
  */
@@ -237,9 +245,20 @@ export default {
237
245
  hasIconOnly() {
238
246
  return isSlotEmpty(this, 'default') && this.hasIcon && this.count == null;
239
247
  },
240
- isButtonAriaDisabled() {
248
+ isDisabledOrLoading() {
249
+ if (this.accessibleDisabled) {
250
+ return this.disabled || (this.isButton && this.loading);
251
+ }
241
252
  return this.isButton && this.loading;
242
253
  },
254
+ ariaDisabled() {
255
+ if (this.isDisabledOrLoading) return 'true';
256
+ // Non-standard tags need an explicit aria-disabled value to convey interactive state.
257
+ if (this.isNonStandardTag) {
258
+ return this.accessibleDisabled ? 'false' : String(this.disabled);
259
+ }
260
+ return null;
261
+ },
243
262
  buttonClasses() {
244
263
  const classes = ['btn', 'gl-button', `btn-${this.variant}`, `btn-${this.buttonSize}`];
245
264
 
@@ -252,7 +271,7 @@ export default {
252
271
  'button-ellipsis-horizontal': this.hasIconOnly && this.icon === 'ellipsis_h',
253
272
  selected: this.selected,
254
273
  'btn-block': this.displayBlock,
255
- disabled: this.disabled || this.isButtonAriaDisabled,
274
+ disabled: this.disabled || this.isDisabledOrLoading,
256
275
  });
257
276
 
258
277
  if (this.label) {
@@ -284,27 +303,24 @@ export default {
284
303
  return !this.isLink && !this.isButton;
285
304
  },
286
305
  tabindex() {
287
- // When disabled remove links and non-standard tags from tab order
288
- if (this.disabled) {
306
+ // Legacy: remove disabled links and non-standard tags from tab order.
307
+ if (!this.accessibleDisabled && this.disabled) {
289
308
  return this.isLink || this.isNonStandardTag ? '-1' : this.$attrs.tabindex;
290
309
  }
291
-
292
- // Add hash links and non-standard tags to tab order
310
+ // Inactive elements stay in tab order so assistive technology can discover them;
311
+ // aria-disabled communicates the inactive state instead of removing the element.
293
312
  return this.isNonStandardTag || this.isHashLink ? '0' : this.$attrs.tabindex;
294
313
  },
295
314
  computedPropsAndAttributes() {
296
315
  const base = {
297
316
  // Type only used for "real" buttons
298
317
  type: this.isButton ? this.type : null,
299
- // Disabled only set on "real" buttons
300
- disabled: this.isButton ? this.disabled : null,
318
+ // Legacy: native disabled attribute on real buttons.
319
+ ...(!this.accessibleDisabled && this.isButton ? { disabled: this.disabled } : {}),
301
320
  // We add a role of button when the tag is not a link or button or when link has `href` of `#`
302
321
  role: this.isNonStandardTag || this.isHashLink ? 'button' : this.$attrs?.role,
303
- // We set the `aria-disabled` state for non-standard tags
304
- ...(this.isNonStandardTag ? { 'aria-disabled': String(this.disabled) } : {}),
305
322
  tabindex: this.tabindex,
306
- // We set the `aria-disabled` state for buttons while loading
307
- ...(this.isButtonAriaDisabled ? { 'aria-disabled': 'true' } : {}),
323
+ ...(this.ariaDisabled !== null ? { 'aria-disabled': this.ariaDisabled } : {}),
308
324
  };
309
325
 
310
326
  if (this.isLink) {
@@ -333,7 +349,7 @@ export default {
333
349
  ...this.$listeners,
334
350
  };
335
351
 
336
- if (this.isButtonAriaDisabled) {
352
+ if (this.isDisabledOrLoading) {
337
353
  delete listeners.click;
338
354
  }
339
355
  return listeners;
@@ -366,7 +382,11 @@ export default {
366
382
  // Skip if disabled
367
383
  // Add SPACE keydown handler for link has `href` of `#`
368
384
  // Add ENTER handler for non-standard tags
369
- if (!this.disabled && (this.isNonStandardTag || this.isHashLink)) {
385
+ if (
386
+ !this.disabled &&
387
+ !this.isDisabledOrLoading &&
388
+ (this.isNonStandardTag || this.isHashLink)
389
+ ) {
370
390
  const { code } = event;
371
391
 
372
392
  if (code === SPACE || (code === ENTER && this.isNonStandardTag)) {
@@ -377,7 +397,8 @@ export default {
377
397
  }
378
398
  },
379
399
  maybeStopEvent(event) {
380
- if (this.isButtonAriaDisabled && isEvent(event)) {
400
+ const eventIsEvent = event instanceof Event;
401
+ if (this.isDisabledOrLoading && eventIsEvent) {
381
402
  stopEvent(event);
382
403
  }
383
404
  },
@@ -1,5 +1,4 @@
1
1
  <script>
2
- /* eslint-disable no-continue */
3
2
  import { has, isString } from 'lodash-es';
4
3
 
5
4
  const PREFIX = '%{';
package/src/config.js CHANGED
@@ -6,6 +6,8 @@ export const defaultConfig = {
6
6
  firstDayOfWeek: 0, // Defaults to 0 (Sunday)
7
7
  };
8
8
 
9
+ export const glButtonConfig = {};
10
+
9
11
  let configured = false;
10
12
 
11
13
  /**
@@ -15,10 +17,10 @@ let configured = false;
15
17
  * @template TValue=string
16
18
  * @property {undefined | Object} translations Generic translations for component labels to fall back to.
17
19
  * @property {undefined | Number} firstDayOfWeek Configured first day of the week, from 0 (Sunday) to 6 (Saturday).
18
- * @property {boolean} [accessibleLoadingButton] Temporary flag to enable accessible loading button.
20
+ * @property {boolean} [accessibleDisabledButton] Temporary flag to enable the accessible disabled button.
19
21
  *
20
22
  */
21
- const setConfigs = ({ translations, firstDayOfWeek } = {}) => {
23
+ const setConfigs = ({ translations, firstDayOfWeek, accessibleDisabledButton = false } = {}) => {
22
24
  if (configured) {
23
25
  if (process.env.NODE_ENV === 'development') {
24
26
  throw new Error('GitLab UI can only be configured once!');
@@ -52,6 +54,23 @@ const setConfigs = ({ translations, firstDayOfWeek } = {}) => {
52
54
 
53
55
  Object.assign(i18n, translations);
54
56
  }
57
+
58
+ // Temporary flag to enable the accessible disabled button feature.
59
+ // This flag allows the feature to be opt-in during the rollout phase,
60
+ // giving us the flexibility to test and validate its impact on user experience.
61
+
62
+ // The global variable `accessibleDisabledButton` is set to a boolean value
63
+ // to indicate whether the button should use aria-disabled while disabled.
64
+
65
+ // Future Plan:
66
+ // Once the accessible disabled button feature is validated and stable,
67
+ // we will remove this temporary flag and make the feature the default behavior.
68
+ // At that point, there will be no need for opt-in or opt-out mechanisms for this feature.
69
+ if (typeof accessibleDisabledButton === 'boolean') {
70
+ Object.assign(glButtonConfig, {
71
+ accessibleDisabledButton,
72
+ });
73
+ }
55
74
  };
56
75
 
57
76
  export default setConfigs;
@@ -158,78 +158,6 @@
158
158
  --gl-color-red-800: #812713;
159
159
  --gl-color-red-900: #582014;
160
160
  --gl-color-red-950: #3e1a14;
161
- --gl-color-theme-indigo-10: #f8f8ff;
162
- --gl-color-theme-indigo-50: #f1f1ff;
163
- --gl-color-theme-indigo-100: #dbdbf8;
164
- --gl-color-theme-indigo-200: #c7c7f2;
165
- --gl-color-theme-indigo-300: #a2a2e6;
166
- --gl-color-theme-indigo-400: #8181d7;
167
- --gl-color-theme-indigo-500: #6666c4;
168
- --gl-color-theme-indigo-600: #5252b5;
169
- --gl-color-theme-indigo-700: #41419f;
170
- --gl-color-theme-indigo-800: #303083;
171
- --gl-color-theme-indigo-900: #222261;
172
- --gl-color-theme-indigo-950: #14143d;
173
- --gl-color-theme-blue-10: #e6ecf0;
174
- --gl-color-theme-blue-50: #cdd8e3;
175
- --gl-color-theme-blue-100: #b9cadc;
176
- --gl-color-theme-blue-200: #a6bdd5;
177
- --gl-color-theme-blue-300: #81a5c9;
178
- --gl-color-theme-blue-400: #628eb9;
179
- --gl-color-theme-blue-500: #4977a5;
180
- --gl-color-theme-blue-600: #346596;
181
- --gl-color-theme-blue-700: #235180;
182
- --gl-color-theme-blue-800: #153c63;
183
- --gl-color-theme-blue-900: #0b2640;
184
- --gl-color-theme-blue-950: #04101c;
185
- --gl-color-theme-light-blue-10: #eef3f7;
186
- --gl-color-theme-light-blue-50: #dde6ee;
187
- --gl-color-theme-light-blue-100: #c1d4e6;
188
- --gl-color-theme-light-blue-200: #a0bedc;
189
- --gl-color-theme-light-blue-300: #74a3d3;
190
- --gl-color-theme-light-blue-400: #4f8bc7;
191
- --gl-color-theme-light-blue-500: #3476b9;
192
- --gl-color-theme-light-blue-600: #2268ae;
193
- --gl-color-theme-light-blue-700: #145aa1;
194
- --gl-color-theme-light-blue-800: #0e4d8d;
195
- --gl-color-theme-light-blue-900: #0c4277;
196
- --gl-color-theme-light-blue-950: #0a3764;
197
- --gl-color-theme-green-10: #eef4ef;
198
- --gl-color-theme-green-50: #dde9de;
199
- --gl-color-theme-green-100: #b1d6b5;
200
- --gl-color-theme-green-200: #8cc497;
201
- --gl-color-theme-green-300: #69af7d;
202
- --gl-color-theme-green-400: #499767;
203
- --gl-color-theme-green-500: #308258;
204
- --gl-color-theme-green-600: #25744c;
205
- --gl-color-theme-green-700: #1b653f;
206
- --gl-color-theme-green-800: #155635;
207
- --gl-color-theme-green-900: #0e4328;
208
- --gl-color-theme-green-950: #052e19;
209
- --gl-color-theme-red-10: #faf4f3;
210
- --gl-color-theme-red-50: #f4e9e7;
211
- --gl-color-theme-red-100: #ecd3d0;
212
- --gl-color-theme-red-200: #e3bab5;
213
- --gl-color-theme-red-300: #d59086;
214
- --gl-color-theme-red-400: #c66e60;
215
- --gl-color-theme-red-500: #ad4a3b;
216
- --gl-color-theme-red-600: #a13322;
217
- --gl-color-theme-red-700: #8f2110;
218
- --gl-color-theme-red-800: #761405;
219
- --gl-color-theme-red-900: #580d02;
220
- --gl-color-theme-red-950: #380700;
221
- --gl-color-theme-light-red-10: #fdf9f8;
222
- --gl-color-theme-light-red-50: #faf2f1;
223
- --gl-color-theme-light-red-100: #f6d9d5;
224
- --gl-color-theme-light-red-200: #ebada2;
225
- --gl-color-theme-light-red-300: #e07f6f;
226
- --gl-color-theme-light-red-400: #d36250;
227
- --gl-color-theme-light-red-500: #c24b38;
228
- --gl-color-theme-light-red-600: #b53a26;
229
- --gl-color-theme-light-red-700: #a02e1c;
230
- --gl-color-theme-light-red-800: #8b2212;
231
- --gl-color-theme-light-red-900: #751709;
232
- --gl-color-theme-light-red-950: #5c1105;
233
161
  --gl-font-family-regular: var(--default-regular-font, 'GitLab Sans'),'GitLab Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans',Ubuntu,Cantarell,'Helvetica Neue',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
234
162
  --gl-font-family-monospace: var(--default-mono-font, 'GitLab Mono'),'GitLab Mono','JetBrains Mono',Menlo,'DejaVu Sans Mono','Liberation Mono',Consolas,'Ubuntu Mono','Courier New','andale mono','lucida console',monospace;
235
163
  --gl-font-size-100: 0.75rem; /** Used for meta text and small labels. */
@@ -321,6 +249,22 @@
321
249
  --gl-avatar-fallback-background-color-green: rgba(145, 212, 168, 0.23921568627450981); /** Green background for avatar fallback with no particular meaning. */
322
250
  --gl-avatar-fallback-background-color-orange: rgba(233, 190, 116, 0.23921568627450981); /** Orange background for avatar fallback with no particular meaning. */
323
251
  --gl-avatar-fallback-background-color-neutral: rgba(191, 191, 195, 0.23921568627450981); /** Neutral background for avatar fallback with no particular meaning. */
252
+ --gl-broadcast-banner-background-color-blue: #235180; /** Used for the background for the blue banner type. */
253
+ --gl-broadcast-banner-background-color-green: #1b653f; /** Used for the background for the green banner type. */
254
+ --gl-broadcast-banner-background-color-indigo: #41419f; /** Used for the background for the indigo banner type. */
255
+ --gl-broadcast-banner-background-color-lightblue: #4977a5; /** Used for the background for the lightblue banner type. */
256
+ --gl-broadcast-banner-background-color-lightgreen: #308258; /** Used for the background for the lightgreen banner type. */
257
+ --gl-broadcast-banner-background-color-lightindigo: #6666c4; /** Used for the background for the lightindigo banner type. */
258
+ --gl-broadcast-banner-background-color-lightred: #ad4a3b; /** Used for the background for the lightred banner type. */
259
+ --gl-broadcast-banner-background-color-red: #8f2110; /** Used for the background for the red banner type. */
260
+ --gl-broadcast-banner-border-color-blue: #0b2640; /** Used for the border for the blue banner type. */
261
+ --gl-broadcast-banner-border-color-green: #0e4328; /** Used for the border for the green banner type. */
262
+ --gl-broadcast-banner-border-color-indigo: #222261; /** Used for the border for the indigo banner type. */
263
+ --gl-broadcast-banner-border-color-lightblue: #235180; /** Used for the border for the lightblue banner type. */
264
+ --gl-broadcast-banner-border-color-lightgreen: #1b653f; /** Used for the border for the lightgreen banner type. */
265
+ --gl-broadcast-banner-border-color-lightindigo: #41419f; /** Used for the border for the lightindigo banner type. */
266
+ --gl-broadcast-banner-border-color-lightred: #8f2110; /** Used for the border for the lightred banner type. */
267
+ --gl-broadcast-banner-border-color-red: #580d02; /** Used for the border for the red banner type. */
324
268
  --gl-chart-threshold-area-color: rgba(221, 43, 14, 0.1); /** Used in charts to delineate a threshold area in a chart. */
325
269
  --gl-illustration-stroke-color-default: #171321; /** Default stroke color to define shape and provide essential detail. */
326
270
  --gl-illustration-stroke-width-default: 2; /** Default stroke width to define shape and provide essential detail. */
@@ -409,78 +353,6 @@
409
353
  --data-viz-orange-800: #6f3500;
410
354
  --data-viz-orange-900: #5e2f05;
411
355
  --data-viz-orange-950: #4b2707;
412
- --theme-indigo-10: #f8f8ff;
413
- --theme-indigo-50: #f1f1ff;
414
- --theme-indigo-100: #dbdbf8;
415
- --theme-indigo-200: #c7c7f2;
416
- --theme-indigo-300: #a2a2e6;
417
- --theme-indigo-400: #8181d7;
418
- --theme-indigo-500: #6666c4;
419
- --theme-indigo-600: #5252b5;
420
- --theme-indigo-700: #41419f;
421
- --theme-indigo-800: #303083;
422
- --theme-indigo-900: #222261;
423
- --theme-indigo-950: #14143d;
424
- --theme-blue-10: #e6ecf0;
425
- --theme-blue-50: #cdd8e3;
426
- --theme-blue-100: #b9cadc;
427
- --theme-blue-200: #a6bdd5;
428
- --theme-blue-300: #81a5c9;
429
- --theme-blue-400: #628eb9;
430
- --theme-blue-500: #4977a5;
431
- --theme-blue-600: #346596;
432
- --theme-blue-700: #235180;
433
- --theme-blue-800: #153c63;
434
- --theme-blue-900: #0b2640;
435
- --theme-blue-950: #04101c;
436
- --theme-light-blue-10: #eef3f7;
437
- --theme-light-blue-50: #dde6ee;
438
- --theme-light-blue-100: #c1d4e6;
439
- --theme-light-blue-200: #a0bedc;
440
- --theme-light-blue-300: #74a3d3;
441
- --theme-light-blue-400: #4f8bc7;
442
- --theme-light-blue-500: #3476b9;
443
- --theme-light-blue-600: #2268ae;
444
- --theme-light-blue-700: #145aa1;
445
- --theme-light-blue-800: #0e4d8d;
446
- --theme-light-blue-900: #0c4277;
447
- --theme-light-blue-950: #0a3764;
448
- --theme-green-10: #eef4ef;
449
- --theme-green-50: #dde9de;
450
- --theme-green-100: #b1d6b5;
451
- --theme-green-200: #8cc497;
452
- --theme-green-300: #69af7d;
453
- --theme-green-400: #499767;
454
- --theme-green-500: #308258;
455
- --theme-green-600: #25744c;
456
- --theme-green-700: #1b653f;
457
- --theme-green-800: #155635;
458
- --theme-green-900: #0e4328;
459
- --theme-green-950: #052e19;
460
- --theme-red-10: #faf4f3;
461
- --theme-red-50: #f4e9e7;
462
- --theme-red-100: #ecd3d0;
463
- --theme-red-200: #e3bab5;
464
- --theme-red-300: #d59086;
465
- --theme-red-400: #c66e60;
466
- --theme-red-500: #ad4a3b;
467
- --theme-red-600: #a13322;
468
- --theme-red-700: #8f2110;
469
- --theme-red-800: #761405;
470
- --theme-red-900: #580d02;
471
- --theme-red-950: #380700;
472
- --theme-light-red-10: #fdf9f8;
473
- --theme-light-red-50: #faf2f1;
474
- --theme-light-red-100: #f6d9d5;
475
- --theme-light-red-200: #ebada2;
476
- --theme-light-red-300: #e07f6f;
477
- --theme-light-red-400: #d36250;
478
- --theme-light-red-500: #c24b38;
479
- --theme-light-red-600: #b53a26;
480
- --theme-light-red-700: #a02e1c;
481
- --theme-light-red-800: #8b2212;
482
- --theme-light-red-900: #751709;
483
- --theme-light-red-950: #5c1105;
484
356
  --brand-charcoal: #171321; /** Use color.brand-charcoal instead. */
485
357
  --brand-orange-01: #fca326; /** Use color.brand-orange.01p instead. */
486
358
  --brand-orange-02: #fc6d26; /** Use color.brand-orange.02p instead. */
@@ -662,26 +534,10 @@
662
534
  --gl-banner-promo-background-color: var(--gl-color-purple-50); /** Used for the background of a promo banner. */
663
535
  --gl-banner-promo-border-color: var(--gl-color-purple-200); /** Used for the border of a promo banner. */
664
536
  --gl-breadcrumb-separator-color: var(--gl-color-neutral-400); /** Used for the breadcrumb level separator. */
665
- --gl-broadcast-banner-background-color-blue: var(--gl-color-theme-blue-700); /** Used for the background for the blue banner type. */
666
537
  --gl-broadcast-banner-background-color-dark: var(--gl-color-neutral-500); /** Used for the background for the dark banner type. */
667
- --gl-broadcast-banner-background-color-green: var(--gl-color-theme-green-700); /** Used for the background for the green banner type. */
668
- --gl-broadcast-banner-background-color-indigo: var(--gl-color-theme-indigo-700); /** Used for the background for the indigo banner type. */
669
538
  --gl-broadcast-banner-background-color-light: var(--gl-color-neutral-50); /** Used for the background for the light banner type. */
670
- --gl-broadcast-banner-background-color-lightblue: var(--gl-color-theme-blue-500); /** Used for the background for the lightblue banner type. */
671
- --gl-broadcast-banner-background-color-lightgreen: var(--gl-color-theme-green-500); /** Used for the background for the lightgreen banner type. */
672
- --gl-broadcast-banner-background-color-lightindigo: var(--gl-color-theme-indigo-500); /** Used for the background for the lightindigo banner type. */
673
- --gl-broadcast-banner-background-color-lightred: var(--gl-color-theme-red-500); /** Used for the background for the lightred banner type. */
674
- --gl-broadcast-banner-background-color-red: var(--gl-color-theme-red-700); /** Used for the background for the red banner type. */
675
- --gl-broadcast-banner-border-color-blue: var(--gl-color-theme-blue-900); /** Used for the border for the blue banner type. */
676
539
  --gl-broadcast-banner-border-color-dark: var(--gl-color-neutral-700); /** Used for the border for the dark banner type. */
677
- --gl-broadcast-banner-border-color-green: var(--gl-color-theme-green-900); /** Used for the border for the green banner type. */
678
- --gl-broadcast-banner-border-color-indigo: var(--gl-color-theme-indigo-900); /** Used for the border for the indigo banner type. */
679
540
  --gl-broadcast-banner-border-color-light: var(--gl-color-neutral-100); /** Used for the border for the light banner type. */
680
- --gl-broadcast-banner-border-color-lightblue: var(--gl-color-theme-blue-700); /** Used for the border for the lightblue banner type. */
681
- --gl-broadcast-banner-border-color-lightgreen: var(--gl-color-theme-green-700); /** Used for the border for the lightgreen banner type. */
682
- --gl-broadcast-banner-border-color-lightindigo: var(--gl-color-theme-indigo-700); /** Used for the border for the lightindigo banner type. */
683
- --gl-broadcast-banner-border-color-lightred: var(--gl-color-theme-red-700); /** Used for the border for the lightred banner type. */
684
- --gl-broadcast-banner-border-color-red: var(--gl-color-theme-red-900); /** Used for the border for the red banner type. */
685
541
  --gl-broadcast-banner-icon-color-blue: var(--gl-color-neutral-0); /** Used for the icon for the blue banner type. */
686
542
  --gl-broadcast-banner-icon-color-dark: var(--gl-color-neutral-0); /** Used for the icon for the dark banner type. */
687
543
  --gl-broadcast-banner-icon-color-green: var(--gl-color-neutral-0); /** Used for the icon for the green banner type. */
@@ -158,78 +158,6 @@
158
158
  --gl-color-red-800: #812713;
159
159
  --gl-color-red-900: #582014;
160
160
  --gl-color-red-950: #3e1a14;
161
- --gl-color-theme-indigo-10: #f8f8ff;
162
- --gl-color-theme-indigo-50: #f1f1ff;
163
- --gl-color-theme-indigo-100: #dbdbf8;
164
- --gl-color-theme-indigo-200: #c7c7f2;
165
- --gl-color-theme-indigo-300: #a2a2e6;
166
- --gl-color-theme-indigo-400: #8181d7;
167
- --gl-color-theme-indigo-500: #6666c4;
168
- --gl-color-theme-indigo-600: #5252b5;
169
- --gl-color-theme-indigo-700: #41419f;
170
- --gl-color-theme-indigo-800: #303083;
171
- --gl-color-theme-indigo-900: #222261;
172
- --gl-color-theme-indigo-950: #14143d;
173
- --gl-color-theme-blue-10: #e6ecf0;
174
- --gl-color-theme-blue-50: #cdd8e3;
175
- --gl-color-theme-blue-100: #b9cadc;
176
- --gl-color-theme-blue-200: #a6bdd5;
177
- --gl-color-theme-blue-300: #81a5c9;
178
- --gl-color-theme-blue-400: #628eb9;
179
- --gl-color-theme-blue-500: #4977a5;
180
- --gl-color-theme-blue-600: #346596;
181
- --gl-color-theme-blue-700: #235180;
182
- --gl-color-theme-blue-800: #153c63;
183
- --gl-color-theme-blue-900: #0b2640;
184
- --gl-color-theme-blue-950: #04101c;
185
- --gl-color-theme-light-blue-10: #eef3f7;
186
- --gl-color-theme-light-blue-50: #dde6ee;
187
- --gl-color-theme-light-blue-100: #c1d4e6;
188
- --gl-color-theme-light-blue-200: #a0bedc;
189
- --gl-color-theme-light-blue-300: #74a3d3;
190
- --gl-color-theme-light-blue-400: #4f8bc7;
191
- --gl-color-theme-light-blue-500: #3476b9;
192
- --gl-color-theme-light-blue-600: #2268ae;
193
- --gl-color-theme-light-blue-700: #145aa1;
194
- --gl-color-theme-light-blue-800: #0e4d8d;
195
- --gl-color-theme-light-blue-900: #0c4277;
196
- --gl-color-theme-light-blue-950: #0a3764;
197
- --gl-color-theme-green-10: #eef4ef;
198
- --gl-color-theme-green-50: #dde9de;
199
- --gl-color-theme-green-100: #b1d6b5;
200
- --gl-color-theme-green-200: #8cc497;
201
- --gl-color-theme-green-300: #69af7d;
202
- --gl-color-theme-green-400: #499767;
203
- --gl-color-theme-green-500: #308258;
204
- --gl-color-theme-green-600: #25744c;
205
- --gl-color-theme-green-700: #1b653f;
206
- --gl-color-theme-green-800: #155635;
207
- --gl-color-theme-green-900: #0e4328;
208
- --gl-color-theme-green-950: #052e19;
209
- --gl-color-theme-red-10: #faf4f3;
210
- --gl-color-theme-red-50: #f4e9e7;
211
- --gl-color-theme-red-100: #ecd3d0;
212
- --gl-color-theme-red-200: #e3bab5;
213
- --gl-color-theme-red-300: #d59086;
214
- --gl-color-theme-red-400: #c66e60;
215
- --gl-color-theme-red-500: #ad4a3b;
216
- --gl-color-theme-red-600: #a13322;
217
- --gl-color-theme-red-700: #8f2110;
218
- --gl-color-theme-red-800: #761405;
219
- --gl-color-theme-red-900: #580d02;
220
- --gl-color-theme-red-950: #380700;
221
- --gl-color-theme-light-red-10: #fdf9f8;
222
- --gl-color-theme-light-red-50: #faf2f1;
223
- --gl-color-theme-light-red-100: #f6d9d5;
224
- --gl-color-theme-light-red-200: #ebada2;
225
- --gl-color-theme-light-red-300: #e07f6f;
226
- --gl-color-theme-light-red-400: #d36250;
227
- --gl-color-theme-light-red-500: #c24b38;
228
- --gl-color-theme-light-red-600: #b53a26;
229
- --gl-color-theme-light-red-700: #a02e1c;
230
- --gl-color-theme-light-red-800: #8b2212;
231
- --gl-color-theme-light-red-900: #751709;
232
- --gl-color-theme-light-red-950: #5c1105;
233
161
  --gl-font-family-regular: var(--default-regular-font, 'GitLab Sans'),'GitLab Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans',Ubuntu,Cantarell,'Helvetica Neue',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';
234
162
  --gl-font-family-monospace: var(--default-mono-font, 'GitLab Mono'),'GitLab Mono','JetBrains Mono',Menlo,'DejaVu Sans Mono','Liberation Mono',Consolas,'Ubuntu Mono','Courier New','andale mono','lucida console',monospace;
235
163
  --gl-font-size-100: 0.75rem; /** Used for meta text and small labels. */
@@ -321,6 +249,22 @@
321
249
  --gl-avatar-fallback-background-color-green: rgba(145, 212, 168, 0.23921568627450981); /** Green background for avatar fallback with no particular meaning. */
322
250
  --gl-avatar-fallback-background-color-orange: rgba(233, 190, 116, 0.23921568627450981); /** Orange background for avatar fallback with no particular meaning. */
323
251
  --gl-avatar-fallback-background-color-neutral: rgba(191, 191, 195, 0.23921568627450981); /** Neutral background for avatar fallback with no particular meaning. */
252
+ --gl-broadcast-banner-background-color-blue: #235180; /** Used for the background for the blue banner type. */
253
+ --gl-broadcast-banner-background-color-green: #1b653f; /** Used for the background for the green banner type. */
254
+ --gl-broadcast-banner-background-color-indigo: #41419f; /** Used for the background for the indigo banner type. */
255
+ --gl-broadcast-banner-background-color-lightblue: #4977a5; /** Used for the background for the lightblue banner type. */
256
+ --gl-broadcast-banner-background-color-lightgreen: #308258; /** Used for the background for the lightgreen banner type. */
257
+ --gl-broadcast-banner-background-color-lightindigo: #6666c4; /** Used for the background for the lightindigo banner type. */
258
+ --gl-broadcast-banner-background-color-lightred: #ad4a3b; /** Used for the background for the lightred banner type. */
259
+ --gl-broadcast-banner-background-color-red: #8f2110; /** Used for the background for the red banner type. */
260
+ --gl-broadcast-banner-border-color-blue: #0b2640; /** Used for the border for the blue banner type. */
261
+ --gl-broadcast-banner-border-color-green: #0e4328; /** Used for the border for the green banner type. */
262
+ --gl-broadcast-banner-border-color-indigo: #222261; /** Used for the border for the indigo banner type. */
263
+ --gl-broadcast-banner-border-color-lightblue: #235180; /** Used for the border for the lightblue banner type. */
264
+ --gl-broadcast-banner-border-color-lightgreen: #1b653f; /** Used for the border for the lightgreen banner type. */
265
+ --gl-broadcast-banner-border-color-lightindigo: #41419f; /** Used for the border for the lightindigo banner type. */
266
+ --gl-broadcast-banner-border-color-lightred: #8f2110; /** Used for the border for the lightred banner type. */
267
+ --gl-broadcast-banner-border-color-red: #580d02; /** Used for the border for the red banner type. */
324
268
  --gl-button-default-primary-background-color-default: rgba(137, 136, 141, 0.4); /** Used for the background of an default primary button in the default state. */
325
269
  --gl-button-default-primary-background-color-hover: rgba(137, 136, 141, 0.64); /** Used for the background of an default primary button in the hover state. */
326
270
  --gl-button-default-primary-background-color-active: rgba(137, 136, 141, 0.32); /** Used for the background of an default primary button in the active state. */
@@ -419,78 +363,6 @@
419
363
  --data-viz-orange-800: #eebd8c;
420
364
  --data-viz-orange-900: #f5d6b3;
421
365
  --data-viz-orange-950: #fae8d1;
422
- --theme-indigo-10: #14143d;
423
- --theme-indigo-50: #222261;
424
- --theme-indigo-100: #303083;
425
- --theme-indigo-200: #41419f;
426
- --theme-indigo-300: #5252b5;
427
- --theme-indigo-400: #6666c4;
428
- --theme-indigo-500: #8181d7;
429
- --theme-indigo-600: #a2a2e6;
430
- --theme-indigo-700: #c7c7f2;
431
- --theme-indigo-800: #dbdbf8;
432
- --theme-indigo-900: #f1f1ff;
433
- --theme-indigo-950: #f8f8ff;
434
- --theme-blue-10: #04101c;
435
- --theme-blue-50: #0b2640;
436
- --theme-blue-100: #153c63;
437
- --theme-blue-200: #235180;
438
- --theme-blue-300: #346596;
439
- --theme-blue-400: #4977a5;
440
- --theme-blue-500: #628eb9;
441
- --theme-blue-600: #81a5c9;
442
- --theme-blue-700: #a6bdd5;
443
- --theme-blue-800: #b9cadc;
444
- --theme-blue-900: #cdd8e3;
445
- --theme-blue-950: #e6ecf0;
446
- --theme-light-blue-10: #0a3764;
447
- --theme-light-blue-50: #0c4277;
448
- --theme-light-blue-100: #0e4d8d;
449
- --theme-light-blue-200: #145aa1;
450
- --theme-light-blue-300: #2268ae;
451
- --theme-light-blue-400: #3476b9;
452
- --theme-light-blue-500: #4f8bc7;
453
- --theme-light-blue-600: #74a3d3;
454
- --theme-light-blue-700: #a0bedc;
455
- --theme-light-blue-800: #c1d4e6;
456
- --theme-light-blue-900: #dde6ee;
457
- --theme-light-blue-950: #eef3f7;
458
- --theme-green-10: #052e19;
459
- --theme-green-50: #0e4328;
460
- --theme-green-100: #155635;
461
- --theme-green-200: #1b653f;
462
- --theme-green-300: #25744c;
463
- --theme-green-400: #308258;
464
- --theme-green-500: #499767;
465
- --theme-green-600: #69af7d;
466
- --theme-green-700: #8cc497;
467
- --theme-green-800: #b1d6b5;
468
- --theme-green-900: #dde9de;
469
- --theme-green-950: #eef4ef;
470
- --theme-red-10: #380700;
471
- --theme-red-50: #580d02;
472
- --theme-red-100: #761405;
473
- --theme-red-200: #8f2110;
474
- --theme-red-300: #a13322;
475
- --theme-red-400: #ad4a3b;
476
- --theme-red-500: #c66e60;
477
- --theme-red-600: #d59086;
478
- --theme-red-700: #e3bab5;
479
- --theme-red-800: #ecd3d0;
480
- --theme-red-900: #f4e9e7;
481
- --theme-red-950: #faf4f3;
482
- --theme-light-red-10: #5c1105;
483
- --theme-light-red-50: #751709;
484
- --theme-light-red-100: #8b2212;
485
- --theme-light-red-200: #a02e1c;
486
- --theme-light-red-300: #b53a26;
487
- --theme-light-red-400: #c24b38;
488
- --theme-light-red-500: #d36250;
489
- --theme-light-red-600: #e07f6f;
490
- --theme-light-red-700: #ebada2;
491
- --theme-light-red-800: #f6d9d5;
492
- --theme-light-red-900: #faf2f1;
493
- --theme-light-red-950: #fdf9f8;
494
366
  --blue-950: #f2f9ff;
495
367
  --green-950: #f1fdf6;
496
368
  --orange-950: #fff4e1;
@@ -681,26 +553,10 @@
681
553
  --gl-banner-promo-background-color: var(--gl-color-purple-950); /** Used for the background of a promo banner. */
682
554
  --gl-banner-promo-border-color: var(--gl-color-purple-700); /** Used for the border of a promo banner. */
683
555
  --gl-breadcrumb-separator-color: var(--gl-color-neutral-400); /** Used for the breadcrumb level separator. */
684
- --gl-broadcast-banner-background-color-blue: var(--gl-color-theme-blue-700); /** Used for the background for the blue banner type. */
685
556
  --gl-broadcast-banner-background-color-dark: var(--gl-color-neutral-500); /** Used for the background for the dark banner type. */
686
- --gl-broadcast-banner-background-color-green: var(--gl-color-theme-green-700); /** Used for the background for the green banner type. */
687
- --gl-broadcast-banner-background-color-indigo: var(--gl-color-theme-indigo-700); /** Used for the background for the indigo banner type. */
688
557
  --gl-broadcast-banner-background-color-light: var(--gl-color-neutral-50); /** Used for the background for the light banner type. */
689
- --gl-broadcast-banner-background-color-lightblue: var(--gl-color-theme-blue-500); /** Used for the background for the lightblue banner type. */
690
- --gl-broadcast-banner-background-color-lightgreen: var(--gl-color-theme-green-500); /** Used for the background for the lightgreen banner type. */
691
- --gl-broadcast-banner-background-color-lightindigo: var(--gl-color-theme-indigo-500); /** Used for the background for the lightindigo banner type. */
692
- --gl-broadcast-banner-background-color-lightred: var(--gl-color-theme-red-500); /** Used for the background for the lightred banner type. */
693
- --gl-broadcast-banner-background-color-red: var(--gl-color-theme-red-700); /** Used for the background for the red banner type. */
694
- --gl-broadcast-banner-border-color-blue: var(--gl-color-theme-blue-900); /** Used for the border for the blue banner type. */
695
558
  --gl-broadcast-banner-border-color-dark: var(--gl-color-neutral-700); /** Used for the border for the dark banner type. */
696
- --gl-broadcast-banner-border-color-green: var(--gl-color-theme-green-900); /** Used for the border for the green banner type. */
697
- --gl-broadcast-banner-border-color-indigo: var(--gl-color-theme-indigo-900); /** Used for the border for the indigo banner type. */
698
559
  --gl-broadcast-banner-border-color-light: var(--gl-color-neutral-100); /** Used for the border for the light banner type. */
699
- --gl-broadcast-banner-border-color-lightblue: var(--gl-color-theme-blue-700); /** Used for the border for the lightblue banner type. */
700
- --gl-broadcast-banner-border-color-lightgreen: var(--gl-color-theme-green-700); /** Used for the border for the lightgreen banner type. */
701
- --gl-broadcast-banner-border-color-lightindigo: var(--gl-color-theme-indigo-700); /** Used for the border for the lightindigo banner type. */
702
- --gl-broadcast-banner-border-color-lightred: var(--gl-color-theme-red-700); /** Used for the border for the lightred banner type. */
703
- --gl-broadcast-banner-border-color-red: var(--gl-color-theme-red-900); /** Used for the border for the red banner type. */
704
560
  --gl-broadcast-banner-icon-color-blue: var(--gl-color-neutral-0); /** Used for the icon for the blue banner type. */
705
561
  --gl-broadcast-banner-icon-color-dark: var(--gl-color-neutral-0); /** Used for the icon for the dark banner type. */
706
562
  --gl-broadcast-banner-icon-color-green: var(--gl-color-neutral-0); /** Used for the icon for the green banner type. */