@hashicorp/design-system-components 5.2.0 → 5.2.1-rc-20260108204634

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/declarations/components/hds/theme-context/index.d.ts +24 -0
  2. package/declarations/components/hds/theme-context/types.d.ts +19 -0
  3. package/declarations/components/hds/theme-switcher/index.d.ts +43 -0
  4. package/declarations/components.d.ts +2 -0
  5. package/declarations/services/hds-theming.d.ts +57 -0
  6. package/declarations/services.d.ts +1 -0
  7. package/declarations/template-registry.d.ts +6 -0
  8. package/dist/_app_/components/hds/theme-context.js +1 -0
  9. package/dist/_app_/components/hds/theme-switcher.js +1 -0
  10. package/dist/_app_/services/hds-theming.js +1 -0
  11. package/dist/components/hds/theme-context/index.js +45 -0
  12. package/dist/components/hds/theme-context/index.js.map +1 -0
  13. package/dist/components/hds/theme-context/types.js +27 -0
  14. package/dist/components/hds/theme-context/types.js.map +1 -0
  15. package/dist/components/hds/theme-switcher/index.js +100 -0
  16. package/dist/components/hds/theme-switcher/index.js.map +1 -0
  17. package/dist/components.js +2 -0
  18. package/dist/components.js.map +1 -1
  19. package/dist/services/hds-theming.js +214 -0
  20. package/dist/services/hds-theming.js.map +1 -0
  21. package/dist/services.js +1 -1
  22. package/dist/styles/@hashicorp/design-system-components-common.css +9588 -0
  23. package/dist/styles/@hashicorp/design-system-components-common.css.map +1 -0
  24. package/dist/styles/@hashicorp/design-system-components-common.scss +24 -0
  25. package/dist/styles/@hashicorp/design-system-components.css +501 -320
  26. package/dist/styles/@hashicorp/design-system-components.css.map +1 -0
  27. package/dist/styles/@hashicorp/design-system-components.scss +4 -62
  28. package/dist/styles/@hashicorp/design-system-power-select-overrides.css +229 -0
  29. package/dist/styles/@hashicorp/design-system-power-select-overrides.css.map +1 -0
  30. package/dist/styles/components/badge-count.scss +26 -76
  31. package/dist/styles/components/badge.scss +26 -131
  32. package/dist/styles/components/button.scss +5 -0
  33. package/dist/styles/components/dropdown.scss +3 -5
  34. package/dist/styles/components/form/file-input.scss +2 -2
  35. package/dist/styles/components/form/key-value-inputs.scss +2 -4
  36. package/dist/styles/components/index.scss +52 -0
  37. package/dist/styles/components/theme-context.scss +12 -0
  38. package/dist/styles/mixins/_button.scss +82 -129
  39. package/dist/styles/mixins/_carbonization.scss +31 -0
  40. package/dist/styles/mixins/_interactive-dark-theme.scss +1 -1
  41. package/package.json +7 -3
  42. package/dist/styles/@hashicorp/design-system-components.scss.map +0 -1
@@ -227,6 +227,141 @@
227
227
  --token-app-side-nav-color-surface-primary: var(--token-color-surface-faint);
228
228
  --token-app-side-nav-color-surface-interactive-hover: var(--token-color-surface-interactive-hover);
229
229
  --token-app-side-nav-color-surface-interactive-active: var(--token-color-palette-neutral-300);
230
+ --token-badge-count-padding-horizontal-small: 8px;
231
+ --token-badge-count-padding-horizontal-medium: 12px;
232
+ --token-badge-count-padding-horizontal-large: 14px;
233
+ --token-badge-height-small: 20px;
234
+ --token-badge-height-medium: 24px;
235
+ --token-badge-height-large: 32px;
236
+ --token-badge-padding-horizontal-small: 6px;
237
+ --token-badge-padding-horizontal-medium: 8px;
238
+ --token-badge-padding-horizontal-large: 8px;
239
+ --token-badge-padding-vertical-small: 2px;
240
+ --token-badge-padding-vertical-medium: 4px;
241
+ --token-badge-padding-vertical-large: 4px;
242
+ --token-badge-gap-small: 4px;
243
+ --token-badge-gap-medium: 4px;
244
+ --token-badge-gap-large: 6px;
245
+ --token-badge-typography-font-size-small: 0.8125rem;
246
+ --token-badge-typography-font-size-medium: 0.8125rem;
247
+ --token-badge-typography-font-size-large: 1rem;
248
+ --token-badge-typography-line-height-small: 1.2308; /** 16px = 1.2308 */
249
+ --token-badge-typography-line-height-medium: 1.2308; /** 16px = 1.2308 */
250
+ --token-badge-typography-line-height-large: 1.5; /** 24px = 1.5 */
251
+ --token-badge-foreground-color-neutral-filled: #3b3d45;
252
+ --token-badge-foreground-color-neutral-inverted: #ffffff; /** TODO validate if this is `TextInverse` or should be `TextOnColor (ask Carbon team too?) */
253
+ --token-badge-foreground-color-neutral-outlined: #3b3d45;
254
+ --token-badge-foreground-color-neutral-dark-mode-filled: #ffffff;
255
+ --token-badge-foreground-color-neutral-dark-mode-inverted: #3b3d45;
256
+ --token-badge-foreground-color-neutral-dark-mode-outlined: #ffffff;
257
+ --token-badge-foreground-color-highlight-filled: #7b00db; /** we don't use `highlight-on-surface` for accessibility (better contrast) */
258
+ --token-badge-foreground-color-highlight-inverted: #ffffff;
259
+ --token-badge-foreground-color-highlight-outlined: #a737ff;
260
+ --token-badge-foreground-color-success-filled: #006619; /** we don't use `success-on-surface` for accessibility (better contrast) */
261
+ --token-badge-foreground-color-success-inverted: #ffffff;
262
+ --token-badge-foreground-color-success-outlined: #008a22;
263
+ --token-badge-foreground-color-warning-filled: #803d00; /** we don't use `warning-on-surface` for accessibility (better contrast) */
264
+ --token-badge-foreground-color-warning-inverted: #ffffff;
265
+ --token-badge-foreground-color-warning-outlined: #bb5a00;
266
+ --token-badge-foreground-color-critical-filled: #940004; /** we don't use `critical-on-surface` for accessibility (better contrast) */
267
+ --token-badge-foreground-color-critical-inverted: #ffffff;
268
+ --token-badge-foreground-color-critical-outlined: #e52228;
269
+ --token-badge-surface-color-neutral-filled: #dedfe3;
270
+ --token-badge-surface-color-neutral-inverted: #656a76; /** TODO - cristiano to ask Carbon team what to do because there is no equivalent color in code for the Tag inverted */
271
+ --token-badge-surface-color-neutral-dark-mode-filled: #656a76; /** TODO - cristiano to ask Carbon team what to do because there is no high-contrast color in the theme colors for the tag (in code) */
272
+ --token-badge-surface-color-neutral-dark-mode-inverted: #fafafa;
273
+ --token-badge-surface-color-highlight-filled: #ead2fe; /** we don't use `surface-highlight` for accessibility (better contrast) */
274
+ --token-badge-surface-color-highlight-inverted: #a737ff;
275
+ --token-badge-surface-color-success-filled: #cceeda; /** we don't use `surface-success` for accessibility (better contrast) */
276
+ --token-badge-surface-color-success-inverted: #008a22;
277
+ --token-badge-surface-color-warning-filled: #fbeabf; /** we don't use `surface-warning` for accessibility (better contrast) */
278
+ --token-badge-surface-color-warning-inverted: #bb5a00;
279
+ --token-badge-surface-color-critical-filled: #fbd4d4; /** we don't use `surface-critical` for accessibility (better contrast) */
280
+ --token-badge-surface-color-critical-inverted: #e52228;
281
+ --token-badge-border-width: 1px;
282
+ --token-badge-border-radius-small: 5px;
283
+ --token-badge-border-radius-medium: 5px;
284
+ --token-badge-border-radius-large: 5px;
285
+ --token-badge-icon-size-small: 12px;
286
+ --token-badge-icon-size-medium: 16px;
287
+ --token-badge-icon-size-large: 16px;
288
+ --token-button-height-small: 28px;
289
+ --token-button-height-medium: 36px;
290
+ --token-button-height-large: 48px;
291
+ --token-button-padding-horizontal-small: 11px; /** here we're taking into account the 1px border */
292
+ --token-button-padding-horizontal-medium: 15px; /** here we're taking into account the 1px border */
293
+ --token-button-padding-horizontal-large: 19px; /** here we're taking into account the 1px border */
294
+ --token-button-padding-vertical-small: 6px; /** here we're taking into account the 1px border */
295
+ --token-button-padding-vertical-medium: 9px; /** here we're taking into account the 1px border */
296
+ --token-button-padding-vertical-large: 11px; /** here we're taking into account the 1px border */
297
+ --token-button-gap: 6px;
298
+ --token-button-typography-font-size-small: 0.8125rem;
299
+ --token-button-typography-font-size-medium: 0.875rem;
300
+ --token-button-typography-font-size-large: 1rem;
301
+ --token-button-typography-line-height-small: 0.9286; /** 14px ~ 0.9286 - we need to make it even (so we set it slighly larger than the font-size; notice: in Figma is 12px but this would cut some ascendants/descendants) */
302
+ --token-button-typography-line-height-medium: 1.1429; /** 14px ~ 1.1429 */
303
+ --token-button-typography-line-height-large: 1.5; /** 24px = 1.5 */
304
+ --token-button-foreground-color-primary-default: #ffffff;
305
+ --token-button-foreground-color-primary-hover: #ffffff;
306
+ --token-button-foreground-color-primary-focus: #ffffff;
307
+ --token-button-foreground-color-primary-active: #ffffff;
308
+ --token-button-foreground-color-secondary-default: #3b3d45;
309
+ --token-button-foreground-color-secondary-hover: #3b3d45;
310
+ --token-button-foreground-color-secondary-focus: #3b3d45;
311
+ --token-button-foreground-color-secondary-active: #3b3d45;
312
+ --token-button-foreground-color-tertiary-default: #1060ff;
313
+ --token-button-foreground-color-tertiary-hover: #0c56e9;
314
+ --token-button-foreground-color-tertiary-focus: #1060ff;
315
+ --token-button-foreground-color-tertiary-active: #0046d1;
316
+ --token-button-foreground-color-critical-default: #c00005;
317
+ --token-button-foreground-color-critical-hover: #ffffff;
318
+ --token-button-foreground-color-critical-focus: #c00005;
319
+ --token-button-foreground-color-critical-active: #ffffff;
320
+ --token-button-foreground-color-disabled: #8c909c;
321
+ --token-button-surface-color-primary-default: #1060ff;
322
+ --token-button-surface-color-primary-hover: #0c56e9;
323
+ --token-button-surface-color-primary-focus: #1060ff;
324
+ --token-button-surface-color-primary-active: #0046d1;
325
+ --token-button-surface-color-secondary-default: #fafafa;
326
+ --token-button-surface-color-secondary-hover: #ffffff;
327
+ --token-button-surface-color-secondary-focus: #fafafa;
328
+ --token-button-surface-color-secondary-active: #dedfe3;
329
+ --token-button-surface-color-tertiary-default: rgba(0, 0, 0, 0);
330
+ --token-button-surface-color-tertiary-hover: #ffffff;
331
+ --token-button-surface-color-tertiary-focus: rgba(0, 0, 0, 0);
332
+ --token-button-surface-color-tertiary-active: #dedfe3;
333
+ --token-button-surface-color-critical-default: #fff5f5;
334
+ --token-button-surface-color-critical-hover: #c00005;
335
+ --token-button-surface-color-critical-focus: #fff5f5;
336
+ --token-button-surface-color-critical-active: #940004;
337
+ --token-button-surface-color-disabled: #fafafa;
338
+ --token-button-border-width: 1px;
339
+ --token-button-border-radius: 5px;
340
+ --token-button-border-color-primary-default: #0c56e9;
341
+ --token-button-border-color-primary-hover: #0c56e9;
342
+ --token-button-border-color-primary-focus-internal: #0c56e9; /** TODO - replace the `pink` values with the correct ones */
343
+ --token-button-border-color-primary-focus-external: #5990ff; /** TODO - replace the `magenta` values with the correct ones */
344
+ --token-button-border-color-primary-active: #0046d1;
345
+ --token-button-border-color-secondary-default: #3b3d4566;
346
+ --token-button-border-color-secondary-hover: #3b3d4566;
347
+ --token-button-border-color-secondary-focus-internal: #0c56e9; /** TODO - replace the `pink` values with the correct ones */
348
+ --token-button-border-color-secondary-focus-external: #5990ff; /** TODO - replace the `magenta` values with the correct ones */
349
+ --token-button-border-color-secondary-active: #3b3d4566;
350
+ --token-button-border-color-tertiary-default: rgba(0, 0, 0, 0);
351
+ --token-button-border-color-tertiary-hover: #3b3d4566;
352
+ --token-button-border-color-tertiary-focus-internal: #0c56e9;
353
+ --token-button-border-color-tertiary-focus-external: #5990ff;
354
+ --token-button-border-color-tertiary-active: #3b3d4566;
355
+ --token-button-border-color-critical-default: #c00005;
356
+ --token-button-border-color-critical-hover: #940004;
357
+ --token-button-border-color-critical-focus-internal: #c00005; /** TODO - replace the `pink` values with the correct ones */
358
+ --token-button-border-color-critical-focus-external: #dd7578; /** TODO - replace the `magenta` values with the correct ones */
359
+ --token-button-border-color-critical-active: #940004;
360
+ --token-button-border-color-disabled: #656a7633;
361
+ --token-button-focus-border-width: 3px;
362
+ --token-button-icon-size-small: 12px;
363
+ --token-button-icon-size-medium: 16px;
364
+ --token-button-icon-size-large: 24px;
230
365
  --token-form-label-color: #0c0c0e;
231
366
  --token-form-legend-color: #0c0c0e;
232
367
  --token-form-helper-text-color: #656a76;
@@ -271,6 +406,9 @@
271
406
  --token-form-radiocard-group-gap: 16px;
272
407
  --token-form-radiocard-border-width: 1px;
273
408
  --token-form-radiocard-border-radius: 6px;
409
+ --token-form-radiocard-border-color-default: #ffffff;
410
+ --token-form-radiocard-border-color-focus: #0c56e9;
411
+ --token-form-radiocard-border-color-default-checked: #0c56e9;
274
412
  --token-form-radiocard-content-padding: 24px;
275
413
  --token-form-radiocard-control-padding: 8px;
276
414
  --token-form-radiocard-transition-duration: 0.2s;
@@ -360,9 +498,11 @@
360
498
  --token-typography-display-500-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
361
499
  --token-typography-display-500-font-size: 1.875rem; /** 30px/1.875rem */
362
500
  --token-typography-display-500-line-height: 1.2666; /** 38px */
501
+ --token-typography-display-500-letter-spacing: -0.5px; /** this is `tracking` */
363
502
  --token-typography-display-400-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
364
503
  --token-typography-display-400-font-size: 1.5rem; /** 24px/1.5rem */
365
504
  --token-typography-display-400-line-height: 1.3333; /** 32px */
505
+ --token-typography-display-400-letter-spacing: 0px; /** this is `tracking` */
366
506
  --token-typography-display-300-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
367
507
  --token-typography-display-300-font-size: 1.125rem; /** 18px/1.125rem */
368
508
  --token-typography-display-300-line-height: 1.3333; /** 24px */
@@ -374,6 +514,7 @@
374
514
  --token-typography-display-100-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
375
515
  --token-typography-display-100-font-size: 0.8125rem; /** 13px/0.8125rem */
376
516
  --token-typography-display-100-line-height: 1.3846; /** 18px */
517
+ --token-typography-display-100-letter-spacing: 0px; /** this is `tracking` */
377
518
  --token-typography-body-300-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
378
519
  --token-typography-body-300-font-size: 1rem; /** 16px/1rem */
379
520
  --token-typography-body-300-line-height: 1.5; /** 24px */
@@ -383,17 +524,21 @@
383
524
  --token-typography-body-100-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
384
525
  --token-typography-body-100-font-size: 0.8125rem; /** 13px/0.8125rem */
385
526
  --token-typography-body-100-line-height: 1.3846; /** 18px */
386
- --token-typography-code-100-font-family: ui-monospace, Menlo, Consolas, monospace;
387
- --token-typography-code-100-font-size: 0.8125rem; /** 13px/0.8125rem */
388
- --token-typography-code-100-line-height: 1.23; /** 16px */
389
- --token-typography-code-200-font-family: ui-monospace, Menlo, Consolas, monospace;
390
- --token-typography-code-200-font-size: 0.875rem; /** 14px/0.875rem */
391
- --token-typography-code-200-line-height: 1.125; /** 18px */
392
527
  --token-typography-code-300-font-family: ui-monospace, Menlo, Consolas, monospace;
393
528
  --token-typography-code-300-font-size: 1rem; /** 16px/1rem */
394
529
  --token-typography-code-300-line-height: 1.25; /** 20px */
530
+ --token-typography-code-200-font-family: ui-monospace, Menlo, Consolas, monospace;
531
+ --token-typography-code-200-font-size: 0.875rem; /** 14px/0.875rem */
532
+ --token-typography-code-200-line-height: 1.125; /** 18px */
533
+ --token-typography-code-100-font-family: ui-monospace, Menlo, Consolas, monospace;
534
+ --token-typography-code-100-font-size: 0.8125rem; /** 13px/0.8125rem */
535
+ --token-typography-code-100-line-height: 1.23; /** 16px */
395
536
  }
396
537
 
538
+ /**
539
+ * Copyright (c) HashiCorp, Inc.
540
+ * SPDX-License-Identifier: MPL-2.0
541
+ */
397
542
  /**
398
543
  * Do not edit directly, this file was auto-generated.
399
544
  */
@@ -647,19 +792,19 @@
647
792
  }
648
793
 
649
794
  .hds-font-weight-regular {
650
- font-weight: 400;
795
+ font-weight: var(--token-typography-font-weight-regular);
651
796
  }
652
797
 
653
798
  .hds-font-weight-medium {
654
- font-weight: 500;
799
+ font-weight: var(--token-typography-font-weight-medium);
655
800
  }
656
801
 
657
802
  .hds-font-weight-semibold {
658
- font-weight: 600;
803
+ font-weight: var(--token-typography-font-weight-semibold);
659
804
  }
660
805
 
661
806
  .hds-font-weight-bold {
662
- font-weight: 700;
807
+ font-weight: var(--token-typography-font-weight-bold);
663
808
  }
664
809
 
665
810
  .hds-typography-display-500 {
@@ -726,10 +871,10 @@
726
871
  padding: 0;
727
872
  }
728
873
 
729
- .hds-typography-code-100 {
730
- font-family: var(--token-typography-code-100-font-family);
731
- font-size: var(--token-typography-code-100-font-size);
732
- line-height: var(--token-typography-code-100-line-height);
874
+ .hds-typography-code-300 {
875
+ font-family: var(--token-typography-code-300-font-family);
876
+ font-size: var(--token-typography-code-300-font-size);
877
+ line-height: var(--token-typography-code-300-line-height);
733
878
  margin: 0;
734
879
  padding: 0;
735
880
  }
@@ -742,10 +887,10 @@
742
887
  padding: 0;
743
888
  }
744
889
 
745
- .hds-typography-code-300 {
746
- font-family: var(--token-typography-code-300-font-family);
747
- font-size: var(--token-typography-code-300-font-size);
748
- line-height: var(--token-typography-code-300-line-height);
890
+ .hds-typography-code-100 {
891
+ font-family: var(--token-typography-code-100-font-family);
892
+ font-size: var(--token-typography-code-100-font-size);
893
+ line-height: var(--token-typography-code-100-line-height);
749
894
  margin: 0;
750
895
  padding: 0;
751
896
  }
@@ -778,6 +923,10 @@
778
923
  transform: translateY(0);
779
924
  }
780
925
 
926
+ /**
927
+ * Copyright (c) HashiCorp, Inc.
928
+ * SPDX-License-Identifier: MPL-2.0
929
+ */
781
930
  /**
782
931
  * Copyright IBM Corp. 2021, 2025
783
932
  * SPDX-License-Identifier: MPL-2.0
@@ -927,21 +1076,21 @@
927
1076
  .hds-accordion-item__button--parent-contains-interactive {
928
1077
  position: relative;
929
1078
  display: flex;
930
- gap: 0.375rem;
1079
+ gap: var(--token-button-gap);
931
1080
  align-items: center;
932
1081
  justify-content: center;
933
1082
  width: auto;
934
1083
  font-weight: var(--token-typography-font-weight-regular);
935
1084
  font-family: var(--token-typography-font-stack-text);
936
1085
  text-decoration: none;
937
- border: 1px solid transparent;
938
- border-radius: var(--token-border-radius-small);
1086
+ border: var(--token-button-border-width) solid transparent;
1087
+ border-radius: var(--token-button-border-radius);
939
1088
  outline-style: solid;
940
1089
  outline-color: transparent;
941
1090
  isolation: isolate;
942
- color: var(--token-color-foreground-primary);
943
- background-color: var(--token-color-surface-faint);
944
- border-color: var(--token-color-border-strong);
1091
+ color: var(--token-button-foreground-color-secondary-default);
1092
+ background-color: var(--token-button-surface-color-secondary-default);
1093
+ border-color: var(--token-button-border-color-secondary-default);
945
1094
  box-shadow: var(--token-elevation-low-box-shadow);
946
1095
  }
947
1096
  .hds-accordion-item__button--parent-contains-interactive:focus, .hds-accordion-item__button--parent-contains-interactive.mock-focus {
@@ -949,33 +1098,33 @@
949
1098
  }
950
1099
  .hds-accordion-item__button--parent-contains-interactive:focus::before, .hds-accordion-item__button--parent-contains-interactive.mock-focus::before {
951
1100
  position: absolute;
952
- top: -4px;
953
- right: -4px;
954
- bottom: -4px;
955
- left: -4px;
1101
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
1102
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
1103
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
1104
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
956
1105
  z-index: -1;
957
- border: 3px solid transparent;
958
- border-radius: calc(var(--token-border-radius-small) + 3px);
1106
+ border: var(--token-button-focus-border-width) solid transparent;
1107
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width));
959
1108
  content: "";
960
1109
  }
961
1110
  .hds-accordion-item__button--parent-contains-interactive:hover, .hds-accordion-item__button--parent-contains-interactive.mock-hover {
962
- color: var(--token-color-foreground-primary);
963
- background-color: var(--token-color-surface-primary);
964
- border-color: var(--token-color-border-strong);
1111
+ color: var(--token-button-foreground-color-secondary-hover);
1112
+ background-color: var(--token-button-surface-color-secondary-hover);
1113
+ border-color: var(--token-button-border-color-secondary-hover);
965
1114
  cursor: pointer;
966
1115
  }
967
1116
  .hds-accordion-item__button--parent-contains-interactive:focus, .hds-accordion-item__button--parent-contains-interactive.mock-focus {
968
- color: var(--token-color-foreground-primary);
969
- background-color: var(--token-color-surface-faint);
970
- border-color: var(--token-color-focus-action-internal);
1117
+ color: var(--token-button-foreground-color-secondary-focus);
1118
+ background-color: var(--token-button-surface-color-secondary-focus);
1119
+ border-color: var(--token-button-border-color-secondary-focus-internal);
971
1120
  }
972
1121
  .hds-accordion-item__button--parent-contains-interactive:focus::before, .hds-accordion-item__button--parent-contains-interactive.mock-focus::before {
973
- border-color: var(--token-color-focus-action-external);
1122
+ border-color: var(--token-button-border-color-secondary-focus-external);
974
1123
  }
975
1124
  .hds-accordion-item__button--parent-contains-interactive:active, .hds-accordion-item__button--parent-contains-interactive.mock-active {
976
- color: var(--token-color-foreground-primary);
977
- background-color: var(--token-color-surface-interactive-active);
978
- border-color: var(--token-color-border-strong);
1125
+ color: var(--token-button-foreground-color-secondary-active);
1126
+ background-color: var(--token-button-surface-color-secondary-active);
1127
+ border-color: var(--token-button-border-color-secondary-active);
979
1128
  box-shadow: none;
980
1129
  }
981
1130
  .hds-accordion-item__button--parent-contains-interactive:active::before, .hds-accordion-item__button--parent-contains-interactive.mock-active::before {
@@ -2117,7 +2266,7 @@
2117
2266
  border-color: var(--token-color-palette-neutral-500);
2118
2267
  color: var(--token-color-foreground-high-contrast);
2119
2268
  background-color: var(--token-color-palette-neutral-700);
2120
- border-radius: var(--token-border-radius-small);
2269
+ border-radius: var(--token-button-border-radius);
2121
2270
  }
2122
2271
  .hds-app-header .hds-button:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *):hover, .hds-app-header .hds-button:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *).mock-hover,
2123
2272
  .hds-app-header button[class*=hds-dropdown-toggle]:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *):hover,
@@ -2229,7 +2378,7 @@
2229
2378
  cursor: pointer;
2230
2379
  color: var(--token-color-foreground-high-contrast);
2231
2380
  background-color: var(--token-color-palette-neutral-700);
2232
- border-radius: var(--token-border-radius-small);
2381
+ border-radius: var(--token-button-border-radius);
2233
2382
  display: flex;
2234
2383
  gap: 8px;
2235
2384
  align-items: center;
@@ -2721,20 +2870,12 @@
2721
2870
  * SPDX-License-Identifier: MPL-2.0
2722
2871
  */
2723
2872
  .hds-badge {
2724
- --token-color-surface-success: var(--token-color-palette-green-100);
2725
- --token-color-foreground-success-on-surface: var(--token-color-palette-green-400);
2726
- --token-color-surface-warning: var(--token-color-palette-amber-100);
2727
- --token-color-foreground-warning-on-surface: var(--token-color-palette-amber-400);
2728
- --token-color-surface-critical: var(--token-color-palette-red-100);
2729
- --token-color-foreground-critical-on-surface: var(--token-color-palette-red-400);
2730
- --token-color-surface-highlight: var(--token-color-palette-purple-100);
2731
- --token-color-foreground-highlight-on-surface: var(--token-color-palette-purple-400);
2732
2873
  display: inline-flex;
2733
2874
  align-items: center;
2734
2875
  max-width: 100%;
2735
2876
  vertical-align: middle;
2736
- border: 1px solid transparent;
2737
- border-radius: var(--token-border-radius-small);
2877
+ border-style: solid;
2878
+ border-width: var(--token-badge-border-width);
2738
2879
  }
2739
2880
 
2740
2881
  .hds-badge__icon {
@@ -2749,129 +2890,144 @@
2749
2890
  }
2750
2891
 
2751
2892
  .hds-badge--size-small {
2752
- gap: 0.25rem;
2753
- min-height: 1.25rem;
2754
- padding: calc(0.125rem - 1px) calc(0.375rem - 1px);
2893
+ gap: var(--token-badge-gap-small);
2894
+ min-height: var(--token-badge-height-small);
2895
+ padding: calc(var(--token-badge-padding-vertical-small) - var(--token-badge-border-width)) calc(var(--token-badge-padding-horizontal-small) - var(--token-badge-border-width));
2896
+ border-radius: var(--token-badge-border-radius-small);
2755
2897
  }
2756
2898
  .hds-badge--size-small .hds-badge__icon {
2757
- width: 0.75rem;
2758
- height: 0.75rem;
2899
+ width: var(--token-badge-icon-size-small);
2900
+ height: var(--token-badge-icon-size-small);
2759
2901
  }
2760
2902
  .hds-badge--size-small .hds-badge__text {
2761
- font-size: 0.8125rem;
2762
- line-height: 1.2308;
2903
+ font-size: var(--token-badge-typography-font-size-small);
2904
+ line-height: var(--token-badge-typography-line-height-small);
2763
2905
  }
2764
2906
 
2765
2907
  .hds-badge--size-medium {
2766
- gap: 0.25rem;
2767
- min-height: 1.5rem;
2768
- padding: calc(0.25rem - 1px) calc(0.5rem - 1px);
2908
+ gap: var(--token-badge-gap-medium);
2909
+ min-height: var(--token-badge-height-medium);
2910
+ padding: calc(var(--token-badge-padding-vertical-medium) - var(--token-badge-border-width)) calc(var(--token-badge-padding-horizontal-medium) - var(--token-badge-border-width));
2911
+ border-radius: var(--token-badge-border-radius-medium);
2769
2912
  }
2770
2913
  .hds-badge--size-medium .hds-badge__icon {
2771
- width: 1rem;
2772
- height: 1rem;
2914
+ width: var(--token-badge-icon-size-medium);
2915
+ height: var(--token-badge-icon-size-medium);
2773
2916
  }
2774
2917
  .hds-badge--size-medium .hds-badge__text {
2775
- font-size: 0.8125rem;
2776
- line-height: 1.2308;
2918
+ font-size: var(--token-badge-typography-font-size-medium);
2919
+ line-height: var(--token-badge-typography-line-height-medium);
2777
2920
  }
2778
2921
 
2779
2922
  .hds-badge--size-large {
2780
- gap: 0.375rem;
2781
- min-height: 2rem;
2782
- padding: calc(0.25rem - 1px) calc(0.5rem - 1px);
2923
+ gap: var(--token-badge-gap-large);
2924
+ min-height: var(--token-badge-height-large);
2925
+ padding: calc(var(--token-badge-padding-vertical-large) - var(--token-badge-border-width)) calc(var(--token-badge-padding-horizontal-large) - var(--token-badge-border-width));
2926
+ border-radius: var(--token-badge-border-radius-large);
2783
2927
  }
2784
2928
  .hds-badge--size-large .hds-badge__icon {
2785
- width: 1rem;
2786
- height: 1rem;
2929
+ width: var(--token-badge-icon-size-large);
2930
+ height: var(--token-badge-icon-size-large);
2787
2931
  }
2788
2932
  .hds-badge--size-large .hds-badge__text {
2789
- font-size: 1rem;
2790
- line-height: 1.5;
2933
+ font-size: var(--token-badge-typography-font-size-large);
2934
+ line-height: var(--token-badge-typography-line-height-large);
2791
2935
  }
2792
2936
 
2793
2937
  .hds-badge--color-neutral.hds-badge--type-filled {
2794
- color: var(--token-color-foreground-primary);
2795
- background-color: var(--token-color-palette-neutral-200);
2938
+ color: var(--token-badge-foreground-color-neutral-filled);
2939
+ background-color: var(--token-badge-surface-color-neutral-filled);
2940
+ border-color: transparent;
2796
2941
  }
2797
2942
  .hds-badge--color-neutral.hds-badge--type-inverted {
2798
- color: var(--token-color-foreground-high-contrast);
2799
- background-color: var(--token-color-palette-neutral-500);
2943
+ color: var(--token-badge-foreground-color-neutral-inverted);
2944
+ background-color: var(--token-badge-surface-color-neutral-inverted);
2945
+ border-color: transparent;
2800
2946
  }
2801
2947
  .hds-badge--color-neutral.hds-badge--type-outlined {
2802
- color: var(--token-color-foreground-primary);
2948
+ color: var(--token-badge-foreground-color-neutral-outlined);
2803
2949
  background-color: transparent;
2804
- border-color: var(--token-color-palette-neutral-500);
2950
+ border-color: var(--token-badge-foreground-color-neutral-outlined);
2805
2951
  }
2806
2952
 
2807
2953
  .hds-badge--color-neutral-dark-mode.hds-badge--type-filled {
2808
- color: var(--token-color-foreground-high-contrast);
2809
- background-color: var(--token-color-palette-neutral-500);
2954
+ color: var(--token-badge-foreground-color-neutral-dark-mode-filled);
2955
+ background-color: var(--token-badge-surface-color-neutral-dark-mode-filled);
2956
+ border-color: transparent;
2810
2957
  }
2811
2958
  .hds-badge--color-neutral-dark-mode.hds-badge--type-inverted {
2812
- color: var(--token-color-foreground-primary);
2813
- background-color: var(--token-color-surface-faint);
2959
+ color: var(--token-badge-foreground-color-neutral-dark-mode-inverted);
2960
+ background-color: var(--token-badge-surface-color-neutral-dark-mode-inverted);
2961
+ border-color: transparent;
2814
2962
  }
2815
2963
  .hds-badge--color-neutral-dark-mode.hds-badge--type-outlined {
2816
- color: var(--token-color-foreground-high-contrast);
2964
+ color: var(--token-badge-foreground-color-neutral-dark-mode-outlined);
2817
2965
  background-color: transparent;
2818
- border-color: var(--token-color-palette-neutral-50);
2966
+ border-color: var(--token-badge-foreground-color-neutral-dark-mode-outlined);
2819
2967
  }
2820
2968
 
2821
2969
  .hds-badge--color-highlight.hds-badge--type-filled {
2822
- color: var(--token-color-foreground-highlight-on-surface);
2823
- background-color: var(--token-color-surface-highlight);
2970
+ color: var(--token-badge-foreground-color-highlight-filled);
2971
+ background-color: var(--token-badge-surface-color-highlight-filled);
2972
+ border-color: transparent;
2824
2973
  }
2825
2974
  .hds-badge--color-highlight.hds-badge--type-inverted {
2826
- color: var(--token-color-foreground-high-contrast);
2827
- background-color: var(--token-color-palette-purple-200);
2975
+ color: var(--token-badge-foreground-color-highlight-inverted);
2976
+ background-color: var(--token-badge-surface-color-highlight-inverted);
2977
+ border-color: transparent;
2828
2978
  }
2829
2979
  .hds-badge--color-highlight.hds-badge--type-outlined {
2830
- color: var(--token-color-foreground-highlight);
2980
+ color: var(--token-badge-foreground-color-highlight-outlined);
2831
2981
  background-color: transparent;
2832
- border-color: var(--token-color-palette-purple-200);
2982
+ border-color: var(--token-badge-foreground-color-highlight-outlined);
2833
2983
  }
2834
2984
 
2835
2985
  .hds-badge--color-success.hds-badge--type-filled {
2836
- color: var(--token-color-foreground-success-on-surface);
2837
- background-color: var(--token-color-surface-success);
2986
+ color: var(--token-badge-foreground-color-success-filled);
2987
+ background-color: var(--token-badge-surface-color-success-filled);
2988
+ border-color: transparent;
2838
2989
  }
2839
2990
  .hds-badge--color-success.hds-badge--type-inverted {
2840
- color: var(--token-color-foreground-high-contrast);
2841
- background-color: var(--token-color-palette-green-200);
2991
+ color: var(--token-badge-foreground-color-success-inverted);
2992
+ background-color: var(--token-badge-surface-color-success-inverted);
2993
+ border-color: transparent;
2842
2994
  }
2843
2995
  .hds-badge--color-success.hds-badge--type-outlined {
2844
- color: var(--token-color-foreground-success);
2996
+ color: var(--token-badge-foreground-color-success-outlined);
2845
2997
  background-color: transparent;
2846
- border-color: var(--token-color-palette-green-200);
2998
+ border-color: var(--token-badge-foreground-color-success-outlined);
2847
2999
  }
2848
3000
 
2849
3001
  .hds-badge--color-warning.hds-badge--type-filled {
2850
- color: var(--token-color-foreground-warning-on-surface);
2851
- background-color: var(--token-color-surface-warning);
3002
+ color: var(--token-badge-foreground-color-warning-filled);
3003
+ background-color: var(--token-badge-surface-color-warning-filled);
3004
+ border-color: transparent;
2852
3005
  }
2853
3006
  .hds-badge--color-warning.hds-badge--type-inverted {
2854
- color: var(--token-color-foreground-high-contrast);
2855
- background-color: var(--token-color-palette-amber-200);
3007
+ color: var(--token-badge-foreground-color-warning-inverted);
3008
+ background-color: var(--token-badge-surface-color-warning-inverted);
3009
+ border-color: transparent;
2856
3010
  }
2857
3011
  .hds-badge--color-warning.hds-badge--type-outlined {
2858
- color: var(--token-color-foreground-warning);
3012
+ color: var(--token-badge-foreground-color-warning-outlined);
2859
3013
  background-color: transparent;
2860
- border-color: var(--token-color-palette-amber-200);
3014
+ border-color: var(--token-badge-foreground-color-warning-outlined);
2861
3015
  }
2862
3016
 
2863
3017
  .hds-badge--color-critical.hds-badge--type-filled {
2864
- color: var(--token-color-foreground-critical-on-surface);
2865
- background-color: var(--token-color-surface-critical);
3018
+ color: var(--token-badge-foreground-color-critical-filled);
3019
+ background-color: var(--token-badge-surface-color-critical-filled);
3020
+ border-color: transparent;
2866
3021
  }
2867
3022
  .hds-badge--color-critical.hds-badge--type-inverted {
2868
- color: var(--token-color-foreground-high-contrast);
2869
- background-color: var(--token-color-palette-red-200);
3023
+ color: var(--token-badge-foreground-color-critical-inverted);
3024
+ background-color: var(--token-badge-surface-color-critical-inverted);
3025
+ border-color: transparent;
2870
3026
  }
2871
3027
  .hds-badge--color-critical.hds-badge--type-outlined {
2872
- color: var(--token-color-foreground-critical);
3028
+ color: var(--token-badge-foreground-color-critical-outlined);
2873
3029
  background-color: transparent;
2874
- border-color: var(--token-color-palette-red-200);
3030
+ border-color: var(--token-badge-foreground-color-critical-outlined);
2875
3031
  }
2876
3032
 
2877
3033
  /**
@@ -2884,59 +3040,64 @@
2884
3040
  max-width: 100%;
2885
3041
  font-weight: var(--token-typography-font-weight-medium);
2886
3042
  font-family: var(--token-typography-font-stack-text);
2887
- border: 1px solid transparent;
3043
+ border-style: solid;
3044
+ border-width: var(--token-badge-border-width);
2888
3045
  }
2889
3046
 
2890
3047
  .hds-badge-count--size-small {
2891
- min-height: 1.25rem;
2892
- padding: calc(0.125rem - 1px) calc(0.5rem - 1px);
2893
- font-size: 0.8125rem;
2894
- line-height: 1.2308;
2895
- border-radius: 0.625rem;
3048
+ min-height: var(--token-badge-height-small);
3049
+ padding: calc(var(--token-badge-padding-vertical-small) - var(--token-badge-border-width)) calc(var(--token-badge-count-padding-horizontal-small) - var(--token-badge-border-width));
3050
+ font-size: var(--token-badge-typography-font-size-small);
3051
+ line-height: var(--token-badge-typography-line-height-small);
3052
+ border-radius: calc(var(--token-badge-height-small) / 2);
2896
3053
  }
2897
3054
 
2898
3055
  .hds-badge-count--size-medium {
2899
- min-height: 1.5rem;
2900
- padding: calc(0.25rem - 1px) calc(0.75rem - 1px);
2901
- font-size: 0.8125rem;
2902
- line-height: 1.2308;
2903
- border-radius: 0.75rem;
3056
+ min-height: var(--token-badge-height-medium);
3057
+ padding: calc(var(--token-badge-padding-vertical-medium) - var(--token-badge-border-width)) calc(var(--token-badge-count-padding-horizontal-medium) - var(--token-badge-border-width));
3058
+ font-size: var(--token-badge-typography-font-size-medium);
3059
+ line-height: var(--token-badge-typography-line-height-medium);
3060
+ border-radius: calc(var(--token-badge-height-medium) / 2);
2904
3061
  }
2905
3062
 
2906
3063
  .hds-badge-count--size-large {
2907
- min-height: 2rem;
2908
- padding: calc(0.25rem - 1px) calc(0.875rem - 1px);
2909
- font-size: 1rem;
2910
- line-height: 1.5;
2911
- border-radius: 1rem;
3064
+ min-height: var(--token-badge-height-large);
3065
+ padding: calc(var(--token-badge-padding-vertical-large) - var(--token-badge-border-width)) calc(var(--token-badge-count-padding-horizontal-large) - var(--token-badge-border-width));
3066
+ font-size: var(--token-badge-typography-font-size-large);
3067
+ line-height: var(--token-badge-typography-line-height-large);
3068
+ border-radius: calc(var(--token-badge-height-large) / 2);
2912
3069
  }
2913
3070
 
2914
3071
  .hds-badge-count--color-neutral.hds-badge-count--type-filled {
2915
- color: var(--token-color-foreground-primary);
2916
- background-color: var(--token-color-palette-neutral-200);
3072
+ color: var(--token-badge-foreground-color-neutral-filled);
3073
+ background-color: var(--token-badge-surface-color-neutral-filled);
3074
+ border-color: transparent;
2917
3075
  }
2918
3076
  .hds-badge-count--color-neutral.hds-badge-count--type-inverted {
2919
- color: var(--token-color-foreground-high-contrast);
2920
- background-color: var(--token-color-palette-neutral-500);
3077
+ color: var(--token-badge-foreground-color-neutral-inverted);
3078
+ background-color: var(--token-badge-surface-color-neutral-inverted);
3079
+ border-color: transparent;
2921
3080
  }
2922
3081
  .hds-badge-count--color-neutral.hds-badge-count--type-outlined {
2923
- color: var(--token-color-foreground-primary);
3082
+ color: var(--token-badge-foreground-color-neutral-outlined);
2924
3083
  background-color: transparent;
2925
- border-color: var(--token-color-palette-neutral-500);
3084
+ border-color: var(--token-badge-foreground-color-neutral-outlined);
2926
3085
  }
2927
3086
 
2928
3087
  .hds-badge-count--color-neutral-dark-mode.hds-badge-count--type-filled {
2929
- color: var(--token-color-foreground-high-contrast);
2930
- background-color: var(--token-color-palette-neutral-500);
3088
+ color: var(--token-badge-foreground-color-neutral-dark-mode-filled);
3089
+ background-color: var(--token-badge-surface-color-neutral-dark-mode-filled);
3090
+ border-color: transparent;
2931
3091
  }
2932
3092
  .hds-badge-count--color-neutral-dark-mode.hds-badge-count--type-inverted {
2933
- color: var(--token-color-foreground-primary);
2934
- background-color: var(--token-color-surface-faint);
3093
+ color: var(--token-badge-foreground-color-neutral-dark-mode-inverted);
3094
+ background-color: var(--token-badge-surface-color-neutral-dark-mode-inverted);
3095
+ border-color: transparent;
2935
3096
  }
2936
3097
  .hds-badge-count--color-neutral-dark-mode.hds-badge-count--type-outlined {
2937
- color: var(--token-color-foreground-high-contrast);
3098
+ color: var(--token-badge-foreground-color-neutral-dark-mode-outlined);
2938
3099
  background-color: transparent;
2939
- border-color: var(--token-color-palette-neutral-50);
3100
+ border-color: var(--token-badge-foreground-color-neutral-dark-mode-outlined);
2940
3101
  }
2941
3102
 
2942
3103
  /**
@@ -3127,18 +3288,22 @@
3127
3288
  * Copyright IBM Corp. 2021, 2025
3128
3289
  * SPDX-License-Identifier: MPL-2.0
3129
3290
  */
3291
+ /**
3292
+ * Copyright (c) HashiCorp, Inc.
3293
+ * SPDX-License-Identifier: MPL-2.0
3294
+ */
3130
3295
  .hds-button {
3131
3296
  position: relative;
3132
3297
  display: flex;
3133
- gap: 0.375rem;
3298
+ gap: var(--token-button-gap);
3134
3299
  align-items: center;
3135
3300
  justify-content: center;
3136
3301
  width: auto;
3137
3302
  font-weight: var(--token-typography-font-weight-regular);
3138
3303
  font-family: var(--token-typography-font-stack-text);
3139
3304
  text-decoration: none;
3140
- border: 1px solid transparent;
3141
- border-radius: var(--token-border-radius-small);
3305
+ border: var(--token-button-border-width) solid transparent;
3306
+ border-radius: var(--token-button-border-radius);
3142
3307
  outline-style: solid;
3143
3308
  outline-color: transparent;
3144
3309
  isolation: isolate;
@@ -3151,9 +3316,9 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3151
3316
  }
3152
3317
 
3153
3318
  .hds-button:disabled, .hds-button[disabled], .hds-button.mock-disabled, .hds-button:disabled:focus, .hds-button[disabled]:focus, .hds-button.mock-disabled:focus, .hds-button:disabled:hover, .hds-button[disabled]:hover, .hds-button.mock-disabled:hover {
3154
- color: var(--token-color-foreground-disabled);
3155
- background-color: var(--token-color-surface-faint);
3156
- border-color: var(--token-color-border-primary);
3319
+ color: var(--token-button-foreground-color-disabled);
3320
+ background-color: var(--token-button-surface-color-disabled);
3321
+ border-color: var(--token-button-border-color-disabled);
3157
3322
  box-shadow: none;
3158
3323
  cursor: not-allowed;
3159
3324
  }
@@ -3161,6 +3326,13 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3161
3326
  width: 100%;
3162
3327
  max-width: 100%;
3163
3328
  }
3329
+ .hds-mode-cds-g0 .hds-button.hds-button--width-full,
3330
+ .hds-mode-cds-g10 .hds-button.hds-button--width-full,
3331
+ .hds-mode-cds-g90 .hds-button.hds-button--width-full,
3332
+ .hds-mode-cds-g100 .hds-button.hds-button--width-full {
3333
+ justify-content: space-between;
3334
+ }
3335
+
3164
3336
  .hds-button.hds-button--width-full .hds-button__text {
3165
3337
  flex: 0 0 auto;
3166
3338
  }
@@ -3169,13 +3341,13 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3169
3341
  }
3170
3342
  .hds-button:focus::before, .hds-button.mock-focus::before {
3171
3343
  position: absolute;
3172
- top: -4px;
3173
- right: -4px;
3174
- bottom: -4px;
3175
- left: -4px;
3344
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
3345
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
3346
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
3347
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
3176
3348
  z-index: -1;
3177
- border: 3px solid transparent;
3178
- border-radius: calc(var(--token-border-radius-small) + 3px);
3349
+ border: var(--token-button-focus-border-width) solid transparent;
3350
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width));
3179
3351
  content: "";
3180
3352
  }
3181
3353
 
@@ -3190,34 +3362,34 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3190
3362
  }
3191
3363
 
3192
3364
  .hds-button--color-primary {
3193
- color: var(--token-color-foreground-high-contrast);
3194
- background-color: var(--token-color-palette-blue-200);
3195
- border-color: var(--token-color-palette-blue-300);
3365
+ color: var(--token-button-foreground-color-primary-default);
3366
+ background-color: var(--token-button-surface-color-primary-default);
3367
+ border-color: var(--token-button-border-color-primary-default);
3196
3368
  box-shadow: var(--token-elevation-low-box-shadow);
3197
3369
  }
3198
3370
  .hds-button--color-primary:hover, .hds-button--color-primary.mock-hover {
3199
- color: var(--token-color-foreground-high-contrast);
3200
- background-color: var(--token-color-palette-blue-300);
3201
- border-color: var(--token-color-palette-blue-400);
3371
+ color: var(--token-button-foreground-color-primary-hover);
3372
+ background-color: var(--token-button-surface-color-primary-hover);
3373
+ border-color: var(--token-button-border-color-primary-hover);
3202
3374
  cursor: pointer;
3203
3375
  }
3204
3376
  .hds-button--color-primary:focus, .hds-button--color-primary.mock-focus {
3205
- color: var(--token-color-foreground-high-contrast);
3206
- background-color: var(--token-color-palette-blue-200);
3207
- border-color: var(--token-color-focus-action-internal);
3377
+ color: var(--token-button-foreground-color-primary-focus);
3378
+ background-color: var(--token-button-surface-color-primary-focus);
3379
+ border-color: var(--token-button-border-color-primary-focus-internal);
3208
3380
  }
3209
3381
  .hds-button--color-primary:focus::before, .hds-button--color-primary.mock-focus::before {
3210
- top: -6px;
3211
- right: -6px;
3212
- bottom: -6px;
3213
- left: -6px;
3214
- border-color: var(--token-color-focus-action-external);
3215
- border-radius: calc(var(--token-border-radius-small) + 3px + 2px);
3382
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
3383
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
3384
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
3385
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
3386
+ border-color: var(--token-button-border-color-primary-focus-external);
3387
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width) + 2px);
3216
3388
  }
3217
3389
  .hds-button--color-primary:active, .hds-button--color-primary.mock-active {
3218
- color: var(--token-color-foreground-high-contrast);
3219
- background-color: var(--token-color-palette-blue-400);
3220
- border-color: var(--token-color-palette-blue-400);
3390
+ color: var(--token-button-foreground-color-primary-active);
3391
+ background-color: var(--token-button-surface-color-primary-active);
3392
+ border-color: var(--token-button-border-color-primary-active);
3221
3393
  box-shadow: none;
3222
3394
  }
3223
3395
  .hds-button--color-primary:active::before, .hds-button--color-primary.mock-active::before {
@@ -3225,29 +3397,29 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3225
3397
  }
3226
3398
 
3227
3399
  .hds-button--color-secondary {
3228
- color: var(--token-color-foreground-primary);
3229
- background-color: var(--token-color-surface-faint);
3230
- border-color: var(--token-color-border-strong);
3400
+ color: var(--token-button-foreground-color-secondary-default);
3401
+ background-color: var(--token-button-surface-color-secondary-default);
3402
+ border-color: var(--token-button-border-color-secondary-default);
3231
3403
  box-shadow: var(--token-elevation-low-box-shadow);
3232
3404
  }
3233
3405
  .hds-button--color-secondary:hover, .hds-button--color-secondary.mock-hover {
3234
- color: var(--token-color-foreground-primary);
3235
- background-color: var(--token-color-surface-primary);
3236
- border-color: var(--token-color-border-strong);
3406
+ color: var(--token-button-foreground-color-secondary-hover);
3407
+ background-color: var(--token-button-surface-color-secondary-hover);
3408
+ border-color: var(--token-button-border-color-secondary-hover);
3237
3409
  cursor: pointer;
3238
3410
  }
3239
3411
  .hds-button--color-secondary:focus, .hds-button--color-secondary.mock-focus {
3240
- color: var(--token-color-foreground-primary);
3241
- background-color: var(--token-color-surface-faint);
3242
- border-color: var(--token-color-focus-action-internal);
3412
+ color: var(--token-button-foreground-color-secondary-focus);
3413
+ background-color: var(--token-button-surface-color-secondary-focus);
3414
+ border-color: var(--token-button-border-color-secondary-focus-internal);
3243
3415
  }
3244
3416
  .hds-button--color-secondary:focus::before, .hds-button--color-secondary.mock-focus::before {
3245
- border-color: var(--token-color-focus-action-external);
3417
+ border-color: var(--token-button-border-color-secondary-focus-external);
3246
3418
  }
3247
3419
  .hds-button--color-secondary:active, .hds-button--color-secondary.mock-active {
3248
- color: var(--token-color-foreground-primary);
3249
- background-color: var(--token-color-surface-interactive-active);
3250
- border-color: var(--token-color-border-strong);
3420
+ color: var(--token-button-foreground-color-secondary-active);
3421
+ background-color: var(--token-button-surface-color-secondary-active);
3422
+ border-color: var(--token-button-border-color-secondary-active);
3251
3423
  box-shadow: none;
3252
3424
  }
3253
3425
  .hds-button--color-secondary:active::before, .hds-button--color-secondary.mock-active::before {
@@ -3255,27 +3427,28 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3255
3427
  }
3256
3428
 
3257
3429
  .hds-button--color-tertiary {
3258
- color: var(--token-color-foreground-action);
3259
- background-color: transparent;
3260
- border-color: transparent;
3430
+ color: var(--token-button-foreground-color-tertiary-default);
3431
+ background-color: var(--token-button-surface-color-tertiary-default);
3432
+ border-color: var(--token-button-border-color-tertiary-default);
3261
3433
  }
3262
3434
  .hds-button--color-tertiary:hover, .hds-button--color-tertiary.mock-hover {
3263
- color: var(--token-color-foreground-action-hover);
3264
- background-color: var(--token-color-surface-primary);
3265
- border-color: var(--token-color-border-strong);
3435
+ color: var(--token-button-foreground-color-tertiary-hover);
3436
+ background-color: var(--token-button-surface-color-tertiary-hover);
3437
+ border-color: var(--token-button-border-color-tertiary-hover);
3266
3438
  cursor: pointer;
3267
3439
  }
3268
3440
  .hds-button--color-tertiary:focus, .hds-button--color-tertiary.mock-focus {
3269
- color: var(--token-color-foreground-action);
3270
- border-color: var(--token-color-focus-action-internal);
3441
+ color: var(--token-button-foreground-color-tertiary-focus);
3442
+ background-color: var(--token-button-surface-color-tertiary-focus);
3443
+ border-color: var(--token-button-border-color-tertiary-focus-internal);
3271
3444
  }
3272
3445
  .hds-button--color-tertiary:focus::before, .hds-button--color-tertiary.mock-focus::before {
3273
- border-color: var(--token-color-focus-action-external);
3446
+ border-color: var(--token-button-border-color-tertiary-focus-external);
3274
3447
  }
3275
3448
  .hds-button--color-tertiary:active, .hds-button--color-tertiary.mock-active {
3276
- color: var(--token-color-foreground-action-active);
3277
- background-color: var(--token-color-surface-interactive-active);
3278
- border-color: var(--token-color-border-strong);
3449
+ color: var(--token-button-foreground-color-tertiary-active);
3450
+ background-color: var(--token-button-surface-color-tertiary-active);
3451
+ border-color: var(--token-button-border-color-tertiary-active);
3279
3452
  box-shadow: none;
3280
3453
  }
3281
3454
  .hds-button--color-tertiary:active::before, .hds-button--color-tertiary.mock-active::before {
@@ -3290,29 +3463,29 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3290
3463
  }
3291
3464
 
3292
3465
  .hds-button--color-critical {
3293
- color: var(--token-color-foreground-critical-on-surface);
3294
- background-color: var(--token-color-surface-critical);
3295
- border-color: var(--token-color-foreground-critical-on-surface);
3466
+ color: var(--token-button-foreground-color-critical-default);
3467
+ background-color: var(--token-button-surface-color-critical-default);
3468
+ border-color: var(--token-button-border-color-critical-default);
3296
3469
  box-shadow: var(--token-elevation-low-box-shadow);
3297
3470
  }
3298
3471
  .hds-button--color-critical:hover, .hds-button--color-critical.mock-hover {
3299
- color: var(--token-color-foreground-high-contrast);
3300
- background-color: var(--token-color-palette-red-300);
3301
- border-color: var(--token-color-palette-red-400);
3472
+ color: var(--token-button-foreground-color-critical-hover);
3473
+ background-color: var(--token-button-surface-color-critical-hover);
3474
+ border-color: var(--token-button-border-color-critical-hover);
3302
3475
  cursor: pointer;
3303
3476
  }
3304
3477
  .hds-button--color-critical:focus, .hds-button--color-critical.mock-focus {
3305
- color: var(--token-color-foreground-critical-on-surface);
3306
- background-color: var(--token-color-surface-critical);
3307
- border-color: var(--token-color-focus-critical-internal);
3478
+ color: var(--token-button-foreground-color-critical-focus);
3479
+ background-color: var(--token-button-surface-color-critical-focus);
3480
+ border-color: var(--token-button-border-color-critical-focus-internal);
3308
3481
  }
3309
3482
  .hds-button--color-critical:focus::before, .hds-button--color-critical.mock-focus::before {
3310
- border-color: var(--token-color-focus-critical-external);
3483
+ border-color: var(--token-button-border-color-critical-focus-external);
3311
3484
  }
3312
3485
  .hds-button--color-critical:active, .hds-button--color-critical.mock-active {
3313
- color: var(--token-color-foreground-high-contrast);
3314
- background-color: var(--token-color-palette-red-400);
3315
- border-color: var(--token-color-palette-red-400);
3486
+ color: var(--token-button-foreground-color-critical-active);
3487
+ background-color: var(--token-button-surface-color-critical-active);
3488
+ border-color: var(--token-button-border-color-critical-active);
3316
3489
  box-shadow: none;
3317
3490
  }
3318
3491
  .hds-button--color-critical:active::before, .hds-button--color-critical.mock-active::before {
@@ -3320,57 +3493,57 @@ a.hds-button:hover, a.hds-button:focus, a.hds-button:active, a.hds-button.mock-h
3320
3493
  }
3321
3494
 
3322
3495
  .hds-button--size-small {
3323
- min-height: 1.75rem;
3324
- padding: 0.375rem 0.6875rem;
3496
+ min-height: var(--token-button-height-small);
3497
+ padding: var(--token-button-padding-vertical-small) var(--token-button-padding-horizontal-small);
3325
3498
  }
3326
3499
  .hds-button--size-small .hds-button__icon {
3327
- width: 0.75rem;
3328
- height: 0.75rem;
3500
+ width: var(--token-button-icon-size-small);
3501
+ height: var(--token-button-icon-size-small);
3329
3502
  }
3330
3503
  .hds-button--size-small .hds-button__text {
3331
- font-size: 0.8125rem;
3332
- line-height: 0.875rem;
3504
+ font-size: var(--token-button-typography-font-size-small);
3505
+ line-height: var(--token-button-typography-line-height-small);
3333
3506
  }
3334
3507
  .hds-button--size-small.hds-button--is-icon-only {
3335
- min-width: 1.75rem;
3336
- padding-right: 0.375rem;
3337
- padding-left: 0.375rem;
3508
+ min-width: var(--token-button-height-small);
3509
+ padding-right: var(--token-button-padding-vertical-small);
3510
+ padding-left: var(--token-button-padding-vertical-small);
3338
3511
  }
3339
3512
 
3340
3513
  .hds-button--size-medium {
3341
- min-height: 2.25rem;
3342
- padding: 0.5625rem 0.9375rem;
3514
+ min-height: var(--token-button-height-medium);
3515
+ padding: var(--token-button-padding-vertical-medium) var(--token-button-padding-horizontal-medium);
3343
3516
  }
3344
3517
  .hds-button--size-medium .hds-button__icon {
3345
- width: 1rem;
3346
- height: 1rem;
3518
+ width: var(--token-button-icon-size-medium);
3519
+ height: var(--token-button-icon-size-medium);
3347
3520
  }
3348
3521
  .hds-button--size-medium .hds-button__text {
3349
- font-size: 0.875rem;
3350
- line-height: 1rem;
3522
+ font-size: var(--token-button-typography-font-size-medium);
3523
+ line-height: var(--token-button-typography-line-height-medium);
3351
3524
  }
3352
3525
  .hds-button--size-medium.hds-button--is-icon-only {
3353
- min-width: 2.25rem;
3354
- padding-right: 0.5625rem;
3355
- padding-left: 0.5625rem;
3526
+ min-width: var(--token-button-height-medium);
3527
+ padding-right: var(--token-button-padding-vertical-medium);
3528
+ padding-left: var(--token-button-padding-vertical-medium);
3356
3529
  }
3357
3530
 
3358
3531
  .hds-button--size-large {
3359
- min-height: 3rem;
3360
- padding: 0.6875rem 1.1875rem;
3532
+ min-height: var(--token-button-height-large);
3533
+ padding: var(--token-button-padding-vertical-large) var(--token-button-padding-horizontal-large);
3361
3534
  }
3362
3535
  .hds-button--size-large .hds-button__icon {
3363
- width: 1.5rem;
3364
- height: 1.5rem;
3536
+ width: var(--token-button-icon-size-large);
3537
+ height: var(--token-button-icon-size-large);
3365
3538
  }
3366
3539
  .hds-button--size-large .hds-button__text {
3367
- font-size: 1rem;
3368
- line-height: 1.5rem;
3540
+ font-size: var(--token-button-typography-font-size-large);
3541
+ line-height: var(--token-button-typography-line-height-large);
3369
3542
  }
3370
3543
  .hds-button--size-large.hds-button--is-icon-only {
3371
- min-width: 3rem;
3372
- padding-right: 0.6875rem;
3373
- padding-left: 0.6875rem;
3544
+ min-width: var(--token-button-height-large);
3545
+ padding-right: var(--token-button-padding-vertical-large);
3546
+ padding-left: var(--token-button-padding-vertical-large);
3374
3547
  }
3375
3548
 
3376
3549
  .hds-button--is-inline {
@@ -4471,7 +4644,7 @@ button.hds-button[href]::after {
4471
4644
  color: var(--token-color-foreground-primary);
4472
4645
  background-color: var(--token-color-surface-faint);
4473
4646
  border: 1px solid var(--token-color-border-strong);
4474
- border-radius: var(--token-border-radius-small);
4647
+ border-radius: var(--token-button-border-radius);
4475
4648
  outline-style: solid;
4476
4649
  outline-color: transparent;
4477
4650
  isolation: isolate;
@@ -4486,13 +4659,13 @@ button.hds-button[href]::after {
4486
4659
  }
4487
4660
  .hds-dropdown-toggle-icon:focus::before, .hds-dropdown-toggle-icon.mock-focus::before {
4488
4661
  position: absolute;
4489
- top: -4px;
4490
- right: -4px;
4491
- bottom: -4px;
4492
- left: -4px;
4662
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4663
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4664
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4665
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4493
4666
  z-index: -1;
4494
- border: 3px solid transparent;
4495
- border-radius: calc(var(--token-border-radius-small) + 3px);
4667
+ border: var(--token-button-focus-border-width) solid transparent;
4668
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width));
4496
4669
  content: "";
4497
4670
  }
4498
4671
  .hds-dropdown-toggle-icon:focus::before, .hds-dropdown-toggle-icon.mock-focus::before {
@@ -4506,9 +4679,9 @@ button.hds-button[href]::after {
4506
4679
  border-color: transparent;
4507
4680
  }
4508
4681
  .hds-dropdown-toggle-icon:disabled, .hds-dropdown-toggle-icon.mock-disabled {
4509
- color: var(--token-color-foreground-disabled);
4510
- background-color: var(--token-color-surface-faint);
4511
- border-color: var(--token-color-border-primary);
4682
+ color: var(--token-button-foreground-color-disabled);
4683
+ background-color: var(--token-button-surface-color-disabled);
4684
+ border-color: var(--token-button-border-color-disabled);
4512
4685
  box-shadow: none;
4513
4686
  cursor: not-allowed;
4514
4687
  }
@@ -4517,7 +4690,7 @@ button.hds-button[href]::after {
4517
4690
  display: flex;
4518
4691
  align-items: center;
4519
4692
  justify-content: center;
4520
- border-radius: calc(var(--token-border-radius-small) - 2px);
4693
+ border-radius: calc(var(--token-button-border-radius) - 2px);
4521
4694
  }
4522
4695
  .hds-dropdown-toggle-icon__wrapper img {
4523
4696
  width: 100%;
@@ -4543,15 +4716,15 @@ button.hds-button[href]::after {
4543
4716
  .hds-dropdown-toggle-button {
4544
4717
  position: relative;
4545
4718
  display: flex;
4546
- gap: 0.375rem;
4719
+ gap: var(--token-button-gap);
4547
4720
  align-items: center;
4548
4721
  justify-content: center;
4549
4722
  width: auto;
4550
4723
  font-weight: var(--token-typography-font-weight-regular);
4551
4724
  font-family: var(--token-typography-font-stack-text);
4552
4725
  text-decoration: none;
4553
- border: 1px solid transparent;
4554
- border-radius: var(--token-border-radius-small);
4726
+ border: var(--token-button-border-width) solid transparent;
4727
+ border-radius: var(--token-button-border-radius);
4555
4728
  outline-style: solid;
4556
4729
  outline-color: transparent;
4557
4730
  isolation: isolate;
@@ -4561,19 +4734,19 @@ button.hds-button[href]::after {
4561
4734
  }
4562
4735
  .hds-dropdown-toggle-button:focus::before, .hds-dropdown-toggle-button.mock-focus::before {
4563
4736
  position: absolute;
4564
- top: -4px;
4565
- right: -4px;
4566
- bottom: -4px;
4567
- left: -4px;
4737
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4738
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4739
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4740
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width)));
4568
4741
  z-index: -1;
4569
- border: 3px solid transparent;
4570
- border-radius: calc(var(--token-border-radius-small) + 3px);
4742
+ border: var(--token-button-focus-border-width) solid transparent;
4743
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width));
4571
4744
  content: "";
4572
4745
  }
4573
4746
  .hds-dropdown-toggle-button:disabled, .hds-dropdown-toggle-button.mock-disabled, .hds-dropdown-toggle-button:disabled:focus, .hds-dropdown-toggle-button.mock-disabled:focus, .hds-dropdown-toggle-button:disabled:hover, .hds-dropdown-toggle-button.mock-disabled:hover {
4574
- color: var(--token-color-foreground-disabled);
4575
- background-color: var(--token-color-surface-faint);
4576
- border-color: var(--token-color-border-primary);
4747
+ color: var(--token-button-foreground-color-disabled);
4748
+ background-color: var(--token-button-surface-color-disabled);
4749
+ border-color: var(--token-button-border-color-disabled);
4577
4750
  box-shadow: none;
4578
4751
  cursor: not-allowed;
4579
4752
  }
@@ -4589,57 +4762,57 @@ button.hds-button[href]::after {
4589
4762
  }
4590
4763
 
4591
4764
  .hds-dropdown-toggle-button--size-small {
4592
- min-height: 1.75rem;
4593
- padding: 0.375rem 0.6875rem;
4765
+ min-height: var(--token-button-height-small);
4766
+ padding: var(--token-button-padding-vertical-small) var(--token-button-padding-horizontal-small);
4594
4767
  }
4595
4768
  .hds-dropdown-toggle-button--size-small .hds-dropdown-toggle-button__icon {
4596
- width: 0.75rem;
4597
- height: 0.75rem;
4769
+ width: var(--token-button-icon-size-small);
4770
+ height: var(--token-button-icon-size-small);
4598
4771
  }
4599
4772
  .hds-dropdown-toggle-button--size-small .hds-dropdown-toggle-button__text {
4600
- font-size: 0.8125rem;
4601
- line-height: 0.875rem;
4773
+ font-size: var(--token-button-typography-font-size-small);
4774
+ line-height: var(--token-button-typography-line-height-small);
4602
4775
  }
4603
4776
  .hds-dropdown-toggle-button--size-small.hds-dropdown-toggle-button--is-icon-only {
4604
- min-width: 1.75rem;
4605
- padding-right: 0.375rem;
4606
- padding-left: 0.375rem;
4777
+ min-width: var(--token-button-height-small);
4778
+ padding-right: var(--token-button-padding-vertical-small);
4779
+ padding-left: var(--token-button-padding-vertical-small);
4607
4780
  }
4608
4781
 
4609
4782
  .hds-dropdown-toggle-button--size-medium {
4610
- min-height: 2.25rem;
4611
- padding: 0.5625rem 0.9375rem;
4783
+ min-height: var(--token-button-height-medium);
4784
+ padding: var(--token-button-padding-vertical-medium) var(--token-button-padding-horizontal-medium);
4612
4785
  }
4613
4786
  .hds-dropdown-toggle-button--size-medium .hds-dropdown-toggle-button__icon {
4614
- width: 1rem;
4615
- height: 1rem;
4787
+ width: var(--token-button-icon-size-medium);
4788
+ height: var(--token-button-icon-size-medium);
4616
4789
  }
4617
4790
  .hds-dropdown-toggle-button--size-medium .hds-dropdown-toggle-button__text {
4618
- font-size: 0.875rem;
4619
- line-height: 1rem;
4791
+ font-size: var(--token-button-typography-font-size-medium);
4792
+ line-height: var(--token-button-typography-line-height-medium);
4620
4793
  }
4621
4794
  .hds-dropdown-toggle-button--size-medium.hds-dropdown-toggle-button--is-icon-only {
4622
- min-width: 2.25rem;
4623
- padding-right: 0.5625rem;
4624
- padding-left: 0.5625rem;
4795
+ min-width: var(--token-button-height-medium);
4796
+ padding-right: var(--token-button-padding-vertical-medium);
4797
+ padding-left: var(--token-button-padding-vertical-medium);
4625
4798
  }
4626
4799
 
4627
4800
  .hds-dropdown-toggle-button--size-large {
4628
- min-height: 3rem;
4629
- padding: 0.6875rem 1.1875rem;
4801
+ min-height: var(--token-button-height-large);
4802
+ padding: var(--token-button-padding-vertical-large) var(--token-button-padding-horizontal-large);
4630
4803
  }
4631
4804
  .hds-dropdown-toggle-button--size-large .hds-dropdown-toggle-button__icon {
4632
- width: 1.5rem;
4633
- height: 1.5rem;
4805
+ width: var(--token-button-icon-size-large);
4806
+ height: var(--token-button-icon-size-large);
4634
4807
  }
4635
4808
  .hds-dropdown-toggle-button--size-large .hds-dropdown-toggle-button__text {
4636
- font-size: 1rem;
4637
- line-height: 1.5rem;
4809
+ font-size: var(--token-button-typography-font-size-large);
4810
+ line-height: var(--token-button-typography-line-height-large);
4638
4811
  }
4639
4812
  .hds-dropdown-toggle-button--size-large.hds-dropdown-toggle-button--is-icon-only {
4640
- min-width: 3rem;
4641
- padding-right: 0.6875rem;
4642
- padding-left: 0.6875rem;
4813
+ min-width: var(--token-button-height-large);
4814
+ padding-right: var(--token-button-padding-vertical-large);
4815
+ padding-left: var(--token-button-padding-vertical-large);
4643
4816
  }
4644
4817
 
4645
4818
  .hds-dropdown-toggle-button--size-small {
@@ -4655,34 +4828,34 @@ button.hds-button[href]::after {
4655
4828
  }
4656
4829
 
4657
4830
  .hds-dropdown-toggle-button--color-primary {
4658
- color: var(--token-color-foreground-high-contrast);
4659
- background-color: var(--token-color-palette-blue-200);
4660
- border-color: var(--token-color-palette-blue-300);
4831
+ color: var(--token-button-foreground-color-primary-default);
4832
+ background-color: var(--token-button-surface-color-primary-default);
4833
+ border-color: var(--token-button-border-color-primary-default);
4661
4834
  box-shadow: var(--token-elevation-low-box-shadow);
4662
4835
  }
4663
4836
  .hds-dropdown-toggle-button--color-primary:hover, .hds-dropdown-toggle-button--color-primary.mock-hover {
4664
- color: var(--token-color-foreground-high-contrast);
4665
- background-color: var(--token-color-palette-blue-300);
4666
- border-color: var(--token-color-palette-blue-400);
4837
+ color: var(--token-button-foreground-color-primary-hover);
4838
+ background-color: var(--token-button-surface-color-primary-hover);
4839
+ border-color: var(--token-button-border-color-primary-hover);
4667
4840
  cursor: pointer;
4668
4841
  }
4669
4842
  .hds-dropdown-toggle-button--color-primary:focus, .hds-dropdown-toggle-button--color-primary.mock-focus {
4670
- color: var(--token-color-foreground-high-contrast);
4671
- background-color: var(--token-color-palette-blue-200);
4672
- border-color: var(--token-color-focus-action-internal);
4843
+ color: var(--token-button-foreground-color-primary-focus);
4844
+ background-color: var(--token-button-surface-color-primary-focus);
4845
+ border-color: var(--token-button-border-color-primary-focus-internal);
4673
4846
  }
4674
4847
  .hds-dropdown-toggle-button--color-primary:focus::before, .hds-dropdown-toggle-button--color-primary.mock-focus::before {
4675
- top: -6px;
4676
- right: -6px;
4677
- bottom: -6px;
4678
- left: -6px;
4679
- border-color: var(--token-color-focus-action-external);
4680
- border-radius: calc(var(--token-border-radius-small) + 3px + 2px);
4848
+ top: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
4849
+ right: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
4850
+ bottom: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
4851
+ left: calc(-1 * (var(--token-button-border-width) + var(--token-button-focus-border-width) + 2px));
4852
+ border-color: var(--token-button-border-color-primary-focus-external);
4853
+ border-radius: calc(var(--token-button-border-radius) + var(--token-button-focus-border-width) + 2px);
4681
4854
  }
4682
4855
  .hds-dropdown-toggle-button--color-primary:active, .hds-dropdown-toggle-button--color-primary.mock-active {
4683
- color: var(--token-color-foreground-high-contrast);
4684
- background-color: var(--token-color-palette-blue-400);
4685
- border-color: var(--token-color-palette-blue-400);
4856
+ color: var(--token-button-foreground-color-primary-active);
4857
+ background-color: var(--token-button-surface-color-primary-active);
4858
+ border-color: var(--token-button-border-color-primary-active);
4686
4859
  box-shadow: none;
4687
4860
  }
4688
4861
  .hds-dropdown-toggle-button--color-primary:active::before, .hds-dropdown-toggle-button--color-primary.mock-active::before {
@@ -4690,29 +4863,29 @@ button.hds-button[href]::after {
4690
4863
  }
4691
4864
 
4692
4865
  .hds-dropdown-toggle-button--color-secondary {
4693
- color: var(--token-color-foreground-primary);
4694
- background-color: var(--token-color-surface-faint);
4695
- border-color: var(--token-color-border-strong);
4866
+ color: var(--token-button-foreground-color-secondary-default);
4867
+ background-color: var(--token-button-surface-color-secondary-default);
4868
+ border-color: var(--token-button-border-color-secondary-default);
4696
4869
  box-shadow: var(--token-elevation-low-box-shadow);
4697
4870
  }
4698
4871
  .hds-dropdown-toggle-button--color-secondary:hover, .hds-dropdown-toggle-button--color-secondary.mock-hover {
4699
- color: var(--token-color-foreground-primary);
4700
- background-color: var(--token-color-surface-primary);
4701
- border-color: var(--token-color-border-strong);
4872
+ color: var(--token-button-foreground-color-secondary-hover);
4873
+ background-color: var(--token-button-surface-color-secondary-hover);
4874
+ border-color: var(--token-button-border-color-secondary-hover);
4702
4875
  cursor: pointer;
4703
4876
  }
4704
4877
  .hds-dropdown-toggle-button--color-secondary:focus, .hds-dropdown-toggle-button--color-secondary.mock-focus {
4705
- color: var(--token-color-foreground-primary);
4706
- background-color: var(--token-color-surface-faint);
4707
- border-color: var(--token-color-focus-action-internal);
4878
+ color: var(--token-button-foreground-color-secondary-focus);
4879
+ background-color: var(--token-button-surface-color-secondary-focus);
4880
+ border-color: var(--token-button-border-color-secondary-focus-internal);
4708
4881
  }
4709
4882
  .hds-dropdown-toggle-button--color-secondary:focus::before, .hds-dropdown-toggle-button--color-secondary.mock-focus::before {
4710
- border-color: var(--token-color-focus-action-external);
4883
+ border-color: var(--token-button-border-color-secondary-focus-external);
4711
4884
  }
4712
4885
  .hds-dropdown-toggle-button--color-secondary:active, .hds-dropdown-toggle-button--color-secondary.mock-active {
4713
- color: var(--token-color-foreground-primary);
4714
- background-color: var(--token-color-surface-interactive-active);
4715
- border-color: var(--token-color-border-strong);
4886
+ color: var(--token-button-foreground-color-secondary-active);
4887
+ background-color: var(--token-button-surface-color-secondary-active);
4888
+ border-color: var(--token-button-border-color-secondary-active);
4716
4889
  box-shadow: none;
4717
4890
  }
4718
4891
  .hds-dropdown-toggle-button--color-secondary:active::before, .hds-dropdown-toggle-button--color-secondary.mock-active::before {
@@ -5383,8 +5556,8 @@ button.hds-button[href]::after {
5383
5556
  background-repeat: no-repeat;
5384
5557
  background-position: 15px 50%;
5385
5558
  background-size: var(--token-form-text-input-background-image-size);
5386
- border: 1px solid var(--token-color-border-strong);
5387
- border-radius: var(--token-border-radius-small);
5559
+ border: var(--token-button-border-width) solid var(--token-color-border-strong);
5560
+ border-radius: var(--token-button-border-radius);
5388
5561
  box-shadow: var(--token-elevation-low-box-shadow);
5389
5562
  cursor: pointer;
5390
5563
  }
@@ -5421,9 +5594,9 @@ button.hds-button[href]::after {
5421
5594
  color: var(--token-color-foreground-disabled);
5422
5595
  }
5423
5596
  .hds-form-file-input:disabled::file-selector-button, .hds-form-file-input[disabled]::file-selector-button, .hds-form-file-input.mock-disabled::file-selector-button, .hds-form-file-input:disabled:focus::file-selector-button, .hds-form-file-input[disabled]:focus::file-selector-button, .hds-form-file-input.mock-disabled:focus::file-selector-button, .hds-form-file-input:disabled:hover::file-selector-button, .hds-form-file-input[disabled]:hover::file-selector-button, .hds-form-file-input.mock-disabled:hover::file-selector-button {
5424
- color: var(--token-color-foreground-disabled);
5425
- background-color: var(--token-color-surface-faint);
5426
- border-color: var(--token-color-border-primary);
5597
+ color: var(--token-button-foreground-color-disabled);
5598
+ background-color: var(--token-button-surface-color-disabled);
5599
+ border-color: var(--token-button-border-color-disabled);
5427
5600
  box-shadow: none;
5428
5601
  cursor: not-allowed;
5429
5602
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cg fill='%238c909c'%3E%3Cpath d='M4.24 5.8a.75.75 0 001.06-.04l1.95-2.1v6.59a.75.75 0 001.5 0V3.66l1.95 2.1a.75.75 0 101.1-1.02l-3.25-3.5a.75.75 0 00-1.101.001L4.2 4.74a.75.75 0 00.04 1.06z'/%3E%3Cpath d='M1.75 9a.75.75 0 01.75.75v3c0 .414.336.75.75.75h9.5a.75.75 0 00.75-.75v-3a.75.75 0 011.5 0v3A2.25 2.25 0 0112.75 15h-9.5A2.25 2.25 0 011 12.75v-3A.75.75 0 011.75 9z'/%3E%3C/g%3E%3C/svg%3E");
@@ -6596,7 +6769,7 @@ button.hds-button[href]::after {
6596
6769
  .hds-form-key-value-inputs__row {
6597
6770
  display: grid;
6598
6771
  flex-grow: 1;
6599
- grid-template-columns: var(--hds-key-value-inputs-columns, 1fr 1fr 2.25rem);
6772
+ grid-template-columns: var(--hds-key-value-inputs-columns, 1fr 1fr var(--token-button-height-medium));
6600
6773
  align-items: flex-end;
6601
6774
  column-gap: 8px;
6602
6775
  row-gap: 0;
@@ -8206,7 +8379,7 @@ button.hds-button[href]::after {
8206
8379
  border-color: var(--token-color-palette-neutral-500);
8207
8380
  color: var(--token-color-foreground-high-contrast);
8208
8381
  background-color: var(--token-color-palette-neutral-700);
8209
- border-radius: var(--token-border-radius-small);
8382
+ border-radius: var(--token-button-border-radius);
8210
8383
  }
8211
8384
  .hds-side-nav .hds-button:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *):hover, .hds-side-nav .hds-button:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *).mock-hover,
8212
8385
  .hds-side-nav button[class*=hds-dropdown-toggle]:not(.hds-dropdown__content *, .ember-basic-dropdown-content *, .hds-dialog-primitive__wrapper *):hover,
@@ -9783,6 +9956,14 @@ button.hds-button[href]::after {
9783
9956
  text-align: right;
9784
9957
  }
9785
9958
 
9959
+ /**
9960
+ * Copyright (c) HashiCorp, Inc.
9961
+ * SPDX-License-Identifier: MPL-2.0
9962
+ */
9963
+ .hds-theme-context {
9964
+ display: contents;
9965
+ }
9966
+
9786
9967
  /**
9787
9968
  * Copyright IBM Corp. 2021, 2025
9788
9969
  * SPDX-License-Identifier: MPL-2.0