@navikt/ds-css 5.15.1 → 5.17.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 (94) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/accordion.css +16 -1
  3. package/alert.css +10 -2
  4. package/button.css +53 -1
  5. package/chat.css +13 -0
  6. package/chips.css +41 -0
  7. package/copybutton.css +22 -0
  8. package/dist/component/accordion.css +16 -1
  9. package/dist/component/accordion.min.css +1 -1
  10. package/dist/component/alert.css +10 -2
  11. package/dist/component/alert.min.css +1 -1
  12. package/dist/component/button.css +56 -1
  13. package/dist/component/button.min.css +2 -2
  14. package/dist/component/chat.css +13 -0
  15. package/dist/component/chat.min.css +1 -1
  16. package/dist/component/chips.css +41 -0
  17. package/dist/component/chips.min.css +1 -1
  18. package/dist/component/copybutton.css +22 -0
  19. package/dist/component/copybutton.min.css +1 -1
  20. package/dist/component/dropdown.css +15 -2
  21. package/dist/component/dropdown.min.css +1 -1
  22. package/dist/component/expansioncard.css +10 -2
  23. package/dist/component/expansioncard.min.css +1 -1
  24. package/dist/component/form.css +316 -24
  25. package/dist/component/form.min.css +1 -1
  26. package/dist/component/helptext.css +16 -2
  27. package/dist/component/helptext.min.css +1 -1
  28. package/dist/component/index.css +783 -46
  29. package/dist/component/index.min.css +3 -3
  30. package/dist/component/internalheader.css +21 -0
  31. package/dist/component/internalheader.min.css +1 -1
  32. package/dist/component/link.css +3 -3
  33. package/dist/component/link.min.css +1 -1
  34. package/dist/component/linkpanel.css +4 -2
  35. package/dist/component/linkpanel.min.css +1 -1
  36. package/dist/component/loader.css +6 -0
  37. package/dist/component/loader.min.css +1 -1
  38. package/dist/component/modal.css +6 -0
  39. package/dist/component/modal.min.css +1 -1
  40. package/dist/component/popover.css +23 -0
  41. package/dist/component/popover.min.css +1 -1
  42. package/dist/component/readmore.css +15 -0
  43. package/dist/component/readmore.min.css +1 -1
  44. package/dist/component/skeleton.css +8 -0
  45. package/dist/component/skeleton.min.css +1 -1
  46. package/dist/component/stepper.css +35 -0
  47. package/dist/component/stepper.min.css +1 -1
  48. package/dist/component/table.css +26 -0
  49. package/dist/component/table.min.css +1 -1
  50. package/dist/component/tabs.css +21 -4
  51. package/dist/component/tabs.min.css +1 -1
  52. package/dist/component/tag.css +12 -0
  53. package/dist/component/tag.min.css +1 -1
  54. package/dist/component/timeline.css +54 -0
  55. package/dist/component/timeline.min.css +1 -1
  56. package/dist/component/togglegroup.css +33 -2
  57. package/dist/component/togglegroup.min.css +1 -1
  58. package/dist/component/tooltip.css +28 -0
  59. package/dist/component/tooltip.min.css +1 -1
  60. package/dist/components.css +825 -45
  61. package/dist/components.min.css +3 -3
  62. package/dist/global/tokens.css +1 -1
  63. package/dist/index.css +783 -46
  64. package/dist/index.min.css +3 -3
  65. package/dropdown.css +15 -2
  66. package/expansioncard.css +10 -2
  67. package/form/combobox.css +112 -19
  68. package/form/confirmation-panel.css +24 -0
  69. package/form/fieldset.css +7 -0
  70. package/form/form.css +6 -0
  71. package/form/radio-checkbox.css +82 -0
  72. package/form/search.css +12 -2
  73. package/form/select.css +21 -0
  74. package/form/switch.css +49 -0
  75. package/form/text-field.css +9 -1
  76. package/form/textarea.css +11 -2
  77. package/help-text.css +16 -2
  78. package/internalheader.css +21 -0
  79. package/link-panel.css +4 -2
  80. package/link.css +3 -3
  81. package/loader.css +6 -0
  82. package/modal.css +6 -0
  83. package/package.json +2 -2
  84. package/popover.css +23 -0
  85. package/read-more.css +15 -0
  86. package/skeleton.css +8 -0
  87. package/stepper.css +35 -0
  88. package/table.css +26 -0
  89. package/tabs.css +21 -4
  90. package/tag.css +12 -0
  91. package/timeline.css +54 -0
  92. package/toggle-group.css +33 -2
  93. package/tokens.json +2 -0
  94. package/tooltip.css +28 -0
@@ -76,6 +76,12 @@
76
76
  .navds-fieldset:disabled > .navds-fieldset__description {
77
77
  opacity: 0.3;
78
78
  }
79
+ @media (forced-colors: active) {
80
+ .navds-fieldset:disabled > .navds-fieldset__legend,
81
+ .navds-fieldset:disabled > .navds-fieldset__description {
82
+ opacity: 1;
83
+ }
84
+ }
79
85
  .navds-form-field {
80
86
  display: grid;
81
87
  justify-items: start;
@@ -113,6 +119,11 @@
113
119
  flex-shrink: 0;
114
120
  align-self: flex-start;
115
121
  }
122
+ @media (forced-colors: active) {
123
+ .navds-form-field--disabled {
124
+ opacity: 1;
125
+ }
126
+ }
116
127
  .navds-error-summary {
117
128
  background-color: var(--ac-error-summary-bg, var(--a-surface-default));
118
129
  padding: var(--a-spacing-5);
@@ -158,6 +169,7 @@
158
169
  background-color: var(--ac-confirmation-panel-bg, var(--a-surface-warning-subtle));
159
170
  transition: background-color linear 100ms;
160
171
  justify-self: stretch;
172
+ position: relative;
161
173
  }
162
174
  .navds-confirmation-panel__content {
163
175
  max-width: 80ch;
@@ -170,6 +182,28 @@
170
182
  border-color: var(--ac-confirmation-panel-error-border, var(--a-border-danger));
171
183
  background-color: var(--ac-confirmation-panel-error-bg, var(--a-surface-danger-subtle));
172
184
  }
185
+ @media (forced-colors: active) {
186
+ .navds-confirmation-panel__inner::before {
187
+ content: "";
188
+ position: absolute;
189
+ left: 0;
190
+ top: 0;
191
+ height: 100%;
192
+ border-left: 8px solid;
193
+ border-color: orange;
194
+ forced-color-adjust: none;
195
+ border-start-start-radius: calc(var(--a-border-radius-medium) - 1px);
196
+ border-end-start-radius: calc(var(--a-border-radius-medium) - 1px);
197
+ }
198
+
199
+ .navds-confirmation-panel--checked .navds-confirmation-panel__inner::before {
200
+ border-color: green;
201
+ }
202
+
203
+ .navds-confirmation-panel--error .navds-confirmation-panel__inner::before {
204
+ border-color: red;
205
+ }
206
+ }
173
207
  .navds-checkbox,
174
208
  .navds-radio {
175
209
  position: relative;
@@ -235,6 +269,8 @@
235
269
  }
236
270
  .navds-checkbox__input:focus-visible + .navds-checkbox__label::before,
237
271
  .navds-radio__input:focus-visible + .navds-radio__label::before {
272
+ outline: 2px solid transparent;
273
+ outline-offset: 2px;
238
274
  box-shadow:
239
275
  0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default)),
240
276
  0 0 0 2px var(--ac-radio-checkbox-bg, var(--a-surface-default)),
@@ -243,6 +279,8 @@
243
279
  @supports not selector(:focus-visible) {
244
280
  .navds-checkbox__input:focus + .navds-checkbox__label::before,
245
281
  .navds-radio__input:focus + .navds-radio__label::before {
282
+ outline: 2px solid transparent;
283
+ outline-offset: 2px;
246
284
  box-shadow:
247
285
  0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default)),
248
286
  0 0 0 4px var(--a-border-focus);
@@ -476,6 +514,83 @@
476
514
  .navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
477
515
  background-color: var(--a-icon-subtle);
478
516
  }
517
+ @media (forced-colors: active) {
518
+ .navds-checkbox__input:focus-visible + .navds-checkbox__label::before,
519
+ .navds-radio__input:focus-visible + .navds-radio__label::before {
520
+ outline-color: highlight;
521
+ }
522
+
523
+ .navds-checkbox,
524
+ .navds-radio {
525
+ --__ac-radio-checkbox-high-contrast-bg: field;
526
+ --__ac-radio-checkbox-high-contrast-text: fieldtext;
527
+ --__ac-radio-checkbox-high-contrast-highlight: highlight;
528
+ }
529
+
530
+ .navds-checkbox__label::before,
531
+ .navds-radio__label::before {
532
+ border: 1px solid var(--__ac-radio-checkbox-high-contrast-text);
533
+ background-color: var(--__ac-radio-checkbox-high-contrast-bg);
534
+ }
535
+
536
+ .navds-checkbox__input:checked + .navds-checkbox__label > .navds-checkbox__icon {
537
+ color: var(--__ac-radio-checkbox-high-contrast-text);
538
+ }
539
+
540
+ .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
541
+ background-color: var(--__ac-radio-checkbox-high-contrast-text);
542
+ }
543
+
544
+ .navds-radio__input:checked + .navds-radio__label::before {
545
+ border: 1px solid var(--__ac-radio-checkbox-high-contrast-text);
546
+ outline: 3px solid var(--__ac-radio-checkbox-high-contrast-bg);
547
+ outline-offset: -4px;
548
+ background-color: var(--__ac-radio-checkbox-high-contrast-text);
549
+ }
550
+
551
+ .navds-radio__input:checked:focus-visible + .navds-radio__label::before {
552
+ border: 1px solid var(--__ac-radio-checkbox-high-contrast-bg);
553
+ outline: 2px solid highlight;
554
+ outline-offset: 2px;
555
+ }
556
+
557
+ :not(.navds-checkbox--readonly) > .navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
558
+ :not(.navds-radio--readonly) > .navds-radio__input:hover:not(:disabled) + .navds-radio__label {
559
+ color: highlight;
560
+ }
561
+
562
+ .navds-checkbox__input:focus-visible + .navds-checkbox__label::before {
563
+ outline: 2px solid var(--__ac-radio-checkbox-high-contrast-highlight);
564
+ }
565
+
566
+ .navds-checkbox--readonly > .navds-checkbox__input:checked + .navds-checkbox__label::before {
567
+ border: 1px solid var(--__ac-radio-checkbox-high-contrast-text);
568
+ background-color: var(--__ac-radio-checkbox-high-contrast-bg);
569
+ }
570
+
571
+ .navds-checkbox--readonly > .navds-checkbox__input:indeterminate + .navds-checkbox__label::after {
572
+ background-color: var(--__ac-radio-checkbox-high-contrast-text);
573
+ }
574
+
575
+ .navds-radio--readonly > .navds-radio__input:checked + .navds-radio__label::before {
576
+ border: 1px solid var(--__ac-radio-checkbox-high-contrast-text);
577
+ outline: 3px solid var(--__ac-radio-checkbox-high-contrast-bg);
578
+ outline-offset: -4px;
579
+ background-color: var(--__ac-radio-checkbox-high-contrast-text);
580
+ }
581
+
582
+ .navds-checkbox--disabled,
583
+ .navds-radio--disabled {
584
+ opacity: 1;
585
+
586
+ --__ac-radio-checkbox-high-contrast-bg: field;
587
+ --__ac-radio-checkbox-high-contrast-text: graytext;
588
+ }
589
+
590
+ :is(.navds-checkbox--disabled, .navds-radio--disabled) :is(.navds-checkbox__label, .navds-radio__label) {
591
+ color: graytext;
592
+ }
593
+ }
479
594
  .navds-select__input {
480
595
  appearance: none;
481
596
  background-color: var(--ac-select-bg, var(--a-surface-default));
@@ -490,6 +605,20 @@
490
605
  padding: 0.5rem;
491
606
  padding-right: 2rem;
492
607
  }
608
+ @media (forced-colors: active) {
609
+ .navds-select__input.navds-select__input.navds-select__input {
610
+ background-color: ButtonFace;
611
+ border-color: ButtonText;
612
+ color: ButtonText;
613
+ forced-color-adjust: none;
614
+ box-shadow: none;
615
+ }
616
+
617
+ .navds-select__input.navds-select__input.navds-select__input:focus-visible {
618
+ outline: 2px solid highlight;
619
+ outline-offset: 2px;
620
+ }
621
+ }
493
622
  .navds-select__input:hover {
494
623
  border-color: var(--ac-select-hover-bg, var(--a-border-action));
495
624
  cursor: pointer;
@@ -518,6 +647,11 @@
518
647
  align-self: center;
519
648
  color: var(--ac-select-text, var(--a-text-default));
520
649
  }
650
+ @media (forced-colors: active) {
651
+ .navds-select__chevron {
652
+ color: ButtonText;
653
+ }
654
+ }
521
655
  .navds-form-field--small .navds-select__input {
522
656
  min-height: 2rem;
523
657
  padding: 0 var(--a-spacing-8) 0 var(--a-spacing-2);
@@ -646,12 +780,15 @@
646
780
  background-color: var(--ac-switch-checked-bg, var(--a-border-action-selected));
647
781
  }
648
782
  .navds-switch__input:focus-visible ~ .navds-switch__track {
783
+ outline: 2px solid transparent;
784
+ outline-offset: 2px;
649
785
  box-shadow:
650
786
  0 0 0 1px var(--a-surface-default),
651
787
  var(--a-shadow-focus);
652
788
  }
653
789
  @supports not selector(:focus-visible) {
654
790
  .navds-switch__input:focus ~ .navds-switch__track {
791
+ outline: 2px solid transparent;
655
792
  box-shadow:
656
793
  0 0 0 1px var(--a-surface-default),
657
794
  var(--a-shadow-focus);
@@ -737,6 +874,51 @@
737
874
  transform: translateX(1.25rem);
738
875
  }
739
876
  }
877
+ @media (forced-colors: active) {
878
+ .navds-switch__input:hover ~ .navds-switch__label-wrapper,
879
+ .navds-switch__label-wrapper:hover {
880
+ color: highlight;
881
+ }
882
+
883
+ .navds-switch__thumb,
884
+ .navds-switch--readonly .navds-switch__thumb {
885
+ background-color: fieldtext;
886
+ }
887
+
888
+ .navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb,
889
+ .navds-switch--readonly .navds-switch__input:checked ~ .navds-switch__track > .navds-switch__thumb {
890
+ color: field;
891
+ }
892
+
893
+ .navds-switch__track {
894
+ width: calc(2.75rem + 4px);
895
+ height: calc(1.5rem + 4px);
896
+ top: var(--a-spacing-3);
897
+ border: 2px solid fieldtext;
898
+ }
899
+
900
+ .navds-switch__input:focus-visible ~ .navds-switch__track {
901
+ outline: 2px solid highlight;
902
+ outline-offset: 2px;
903
+ }
904
+
905
+ .navds-switch--disabled:not(.navds-switch--loading) {
906
+ opacity: 1;
907
+ }
908
+
909
+ .navds-switch--disabled:not(.navds-switch--loading) .navds-switch__thumb {
910
+ background-color: graytext;
911
+ }
912
+
913
+ .navds-switch--disabled:not(.navds-switch--loading) .navds-switch__track {
914
+ border-color: graytext;
915
+ }
916
+
917
+ .navds-switch--disabled:not(.navds-switch--loading) .navds-switch__label-wrapper,
918
+ .navds-switch--disabled:not(.navds-switch--loading) .navds-switch__label-wrapper:hover {
919
+ color: graytext !important;
920
+ }
921
+ }
740
922
  .navds-text-field__input {
741
923
  appearance: none;
742
924
  padding: var(--a-spacing-2);
@@ -761,7 +943,8 @@
761
943
  border-color: var(--ac-textfield-hover-border, var(--__ac-textfield-hover-border, var(--a-border-action)));
762
944
  }
763
945
  .navds-text-field__input:focus-visible {
764
- outline: none;
946
+ outline: 2px solid transparent;
947
+ outline-offset: 2px;
765
948
  box-shadow: var(--a-shadow-focus);
766
949
  }
767
950
  @supports not selector(:focus-visible) {
@@ -810,6 +993,12 @@
810
993
  .navds-text-field__input[type="search"]::-webkit-search-results-decoration {
811
994
  -webkit-appearance: none;
812
995
  }
996
+ @media (forced-colors: active) {
997
+ .navds-text-field__input {
998
+ background-color: field;
999
+ color: fieldtext;
1000
+ }
1001
+ }
813
1002
  .navds-textarea__wrapper {
814
1003
  --__ac-textarea-height: initial;
815
1004
 
@@ -837,12 +1026,14 @@
837
1026
  border-color: var(--ac-textarea-hover-border, var(--__ac-textarea-hover-border, var(--a-border-action)));
838
1027
  }
839
1028
  .navds-textarea__input:focus-visible {
840
- outline: none;
1029
+ outline: 2px solid transparent;
1030
+ outline-offset: 2px;
841
1031
  box-shadow: var(--a-shadow-focus);
842
1032
  }
843
1033
  @supports not selector(:focus-visible) {
844
1034
  .navds-textarea__input:focus {
845
- outline: none;
1035
+ outline: 2px solid transparent;
1036
+ outline-offset: 2px;
846
1037
  box-shadow: var(--a-shadow-focus);
847
1038
  }
848
1039
  }
@@ -911,6 +1102,12 @@
911
1102
  border-color: var(--a-border-subtle);
912
1103
  cursor: default;
913
1104
  }
1105
+ @media (forced-colors: active) {
1106
+ .navds-textarea__input {
1107
+ background-color: field;
1108
+ color: fieldtext;
1109
+ }
1110
+ }
914
1111
  .navds-search {
915
1112
  display: flex;
916
1113
  flex-direction: column;
@@ -982,13 +1179,13 @@
982
1179
  color: var(--ac-search-clear-icon-hover, var(--__ac-search-clear-icon-hover, var(--a-text-action)));
983
1180
  }
984
1181
  .navds-search__button-clear:focus-visible {
1182
+ outline: 2px solid transparent;
985
1183
  box-shadow: var(--a-shadow-focus);
986
- outline: none;
987
1184
  }
988
1185
  @supports not selector(:focus-visible) {
989
1186
  .navds-search__button-clear:focus {
1187
+ outline: 2px solid transparent;
990
1188
  box-shadow: var(--a-shadow-focus);
991
- outline: none;
992
1189
  }
993
1190
  }
994
1191
  .navds-search__button-search {
@@ -1084,6 +1281,15 @@
1084
1281
  z-index: 1;
1085
1282
  }
1086
1283
  }
1284
+ @media (forced-colors: active) {
1285
+ .navds-modal {
1286
+ outline: 2px solid transparent;
1287
+ }
1288
+
1289
+ .navds-search__button-clear:hover {
1290
+ color: highlight;
1291
+ }
1292
+ }
1087
1293
  .navds-combobox__wrapper {
1088
1294
  display: flex;
1089
1295
  flex-direction: column;
@@ -1118,6 +1324,8 @@
1118
1324
  }
1119
1325
  .navds-combobox--error
1120
1326
  .navds-text-field__input:not(:hover):not(:disabled):not(.navds-combobox__wrapper-inner--virtually-unfocused):focus-within {
1327
+ outline: 2px solid transparent;
1328
+ outline-offset: 2px;
1121
1329
  box-shadow:
1122
1330
  0 0 0 1px var(--ac-combobox-error-border, var(--a-border-danger)),
1123
1331
  var(--a-shadow-focus);
@@ -1147,7 +1355,6 @@
1147
1355
  width: 100%;
1148
1356
  }
1149
1357
  .navds-combobox__input {
1150
- z-index: 1;
1151
1358
  flex: 1;
1152
1359
  border: none;
1153
1360
  padding: 0;
@@ -1166,9 +1373,12 @@
1166
1373
  0 0 0 1px var(--a-surface-default) inset,
1167
1374
  var(--a-shadow-focus);
1168
1375
  box-shadow: var(--a-shadow-focus);
1376
+ outline: 3px solid transparent;
1377
+ outline-offset: 2px;
1169
1378
  }
1170
1379
  .navds-combobox__wrapper-inner:has(.navds-combobox__input:focus-visible).navds-combobox__wrapper-inner--virtually-unfocused {
1171
1380
  box-shadow: none;
1381
+ outline: none;
1172
1382
  }
1173
1383
  @supports not selector(:focus-visible) {
1174
1384
  .navds-combobox__input:focus {
@@ -1182,10 +1392,13 @@
1182
1392
  0 0 0 1px var(--a-surface-default) inset,
1183
1393
  var(--a-shadow-focus);
1184
1394
  box-shadow: var(--a-shadow-focus);
1395
+ outline: 3px solid transparent;
1396
+ outline-offset: 2px;
1185
1397
  }
1186
1398
 
1187
1399
  .navds-combobox__wrapper-inner:has(.navds-combobox__input:focus).navds-combobox__wrapper-inner--virtually-unfocused {
1188
1400
  box-shadow: none;
1401
+ outline: none;
1189
1402
  }
1190
1403
  }
1191
1404
  @supports not selector(:has) {
@@ -1194,10 +1407,13 @@
1194
1407
  0 0 0 1px var(--a-surface-default) inset,
1195
1408
  var(--a-shadow-focus);
1196
1409
  box-shadow: var(--a-shadow-focus);
1410
+ outline: 3px solid transparent;
1411
+ outline-offset: 2px;
1197
1412
  }
1198
1413
 
1199
1414
  .navds-combobox--focused .navds-combobox__wrapper-inner.navds-combobox__wrapper-inner--virtually-unfocused {
1200
1415
  box-shadow: none;
1416
+ outline: none;
1201
1417
  }
1202
1418
  }
1203
1419
  .navds-combobox__button-clear {
@@ -1265,27 +1481,23 @@
1265
1481
  width: 1.25rem;
1266
1482
  height: 1.25rem;
1267
1483
  }
1268
- /* dropdown list */
1484
+ /* dropdown & non selectable dropdown items */
1269
1485
  .navds-combobox__list {
1270
1486
  max-height: 290px;
1271
1487
  overflow-y: auto;
1272
1488
  position: absolute;
1273
1489
  left: 0;
1274
1490
  right: 0;
1275
- z-index: 9999;
1491
+ z-index: var(--a-z-index-popover);
1276
1492
  top: calc(100% + var(--a-spacing-2));
1277
- list-style: none;
1278
- margin: 0;
1279
1493
  border: 1px solid var(--ac-combobox-list-border-color, var(--a-border-divider));
1280
1494
  display: flex;
1281
1495
  flex-direction: column;
1282
- align-items: flex-start;
1283
- padding: 0;
1284
1496
  box-shadow: var(--a-shadow-small);
1285
1497
  border-radius: var(--a-border-radius-medium);
1286
- gap: var(--a-spacing-1) 0;
1287
1498
  background-color: var(--ac-combobox-list-bg, var(--a-surface-default));
1288
1499
  color: var(--ac-combobox-list-text, var(--a-text-default));
1500
+ gap: var(--a-spacing-1) 0;
1289
1501
  }
1290
1502
  .navds-combobox__list--closed {
1291
1503
  display: none;
@@ -1294,31 +1506,62 @@
1294
1506
  height: 1.5rem;
1295
1507
  width: 1.5rem;
1296
1508
  }
1509
+ .navds-combobox__list_non-selectables {
1510
+ position: sticky;
1511
+ top: 0;
1512
+ left: 0;
1513
+ right: 0;
1514
+ z-index: 1;
1515
+ }
1297
1516
  .navds-combobox__list-item,
1298
- .navds-combobox__list-item__no-options,
1299
- .navds-combobox__list-item__new-option {
1517
+ .navds-combobox__list-item--loading,
1518
+ .navds-combobox__list-item--no-options,
1519
+ .navds-combobox__list-item--new-option,
1520
+ .navds-combobox__list-item--max-selected {
1300
1521
  display: flex;
1301
1522
  flex-direction: row;
1302
1523
  justify-content: space-between;
1303
- align-items: center;
1304
1524
  padding: var(--a-spacing-3);
1305
1525
  width: 100%;
1306
1526
  background-color: var(--ac-combobox-list-item-bg, var(--a-surface-default));
1527
+ scroll-margin-top: 50px;
1307
1528
  }
1308
1529
  .navds-form-field--small .navds-combobox__list-item,
1309
- .navds-form-field--small .navds-combobox__list-item__no-options,
1310
- .navds-form-field--small .navds-combobox__list-item__new-option {
1530
+ .navds-form-field--small .navds-combobox__list-item--loading,
1531
+ .navds-form-field--small .navds-combobox__list-item--no-options,
1532
+ .navds-form-field--small .navds-combobox__list-item--new-option,
1533
+ .navds-form-field--small .navds-combobox__list-item--max-selected {
1311
1534
  padding: calc(var(--a-spacing-3) / 2) var(--a-spacing-2);
1312
1535
  }
1313
1536
  .navds-combobox__list-item--loading {
1314
- display: flex;
1315
1537
  justify-content: center;
1316
- padding: var(--a-spacing-3);
1317
1538
  background-color: var(--ac-combobox-list-item-loading-bg, var(--a-surface-default));
1539
+ }
1540
+ .navds-combobox__list-item--max-selected {
1541
+ background: var(--ac-combobox-list-item-max-selected-bg, var(--a-surface-info-subtle));
1542
+ border-start-start-radius: calc(var(--a-border-radius-medium) - 1px);
1543
+ border-start-end-radius: calc(var(--a-border-radius-medium) - 1px);
1544
+ border: 1px solid var(--ac-combobox-list-item-max-selected-border, var(--a-border-info));
1545
+ margin-bottom: calc(var(--a-spacing-1) * -1);
1546
+ }
1547
+ .navds-combobox__list_non-selectables:hover {
1548
+ cursor: default;
1549
+ }
1550
+ /* ul-list and selectable li-items */
1551
+ .navds-combobox__list-options {
1552
+ list-style: none;
1553
+ margin: 0;
1554
+ padding: 0;
1318
1555
  width: 100%;
1556
+ display: inherit;
1557
+ flex-direction: inherit;
1558
+ gap: inherit;
1559
+ background-color: inherit;
1560
+ align-items: flex-start;
1319
1561
  }
1320
1562
  .navds-combobox__list-item--focus,
1321
- .navds-combobox__list--with-hover .navds-combobox__list-item:hover {
1563
+ .navds-combobox__list--with-hover
1564
+ .navds-combobox__list-item:not([data-no-focus="true"], .navds-combobox__list-item--new-option):hover {
1322
1565
  background-color: var(--ac-combobox-list-item-hover-bg, var(--a-surface-hover));
1323
1566
  cursor: pointer;
1324
1567
  border-left: 4px solid var(--ac-combobox-list-item-hover-border-left, var(--a-border-strong));
@@ -1328,6 +1571,10 @@
1328
1571
  .navds-combobox__list--with-hover .navds-form-field--small .navds-combobox__list-item:hover {
1329
1572
  padding-left: calc(var(--a-spacing-2) - 4px);
1330
1573
  }
1574
+ .navds-combobox__list-item[data-no-focus="true"] {
1575
+ cursor: not-allowed;
1576
+ opacity: 0.4;
1577
+ }
1331
1578
  .navds-combobox__list-item--selected {
1332
1579
  background-color: var(--ac-combobox-list-item-selected-bg, var(--a-surface-selected));
1333
1580
  }
@@ -1340,18 +1587,18 @@
1340
1587
  border-left: 4px solid var(--ac-combobox-list-item-selected-hover-border-left, var(--a-border-focus));
1341
1588
  padding-left: calc(var(--a-spacing-3) - 4px);
1342
1589
  }
1343
- .navds-combobox__list-item__new-option {
1590
+ .navds-combobox__list-item--new-option {
1344
1591
  border-bottom: 1px solid var(--a-border-divider);
1345
1592
  background: var(--a-surface-neutral-subtle);
1346
1593
  cursor: pointer;
1347
1594
  justify-content: flex-start;
1348
1595
  gap: 0.25rem;
1349
1596
  }
1350
- .navds-combobox__list--with-hover .navds-combobox__list-item__new-option:hover {
1597
+ .navds-combobox__list--with-hover .navds-combobox__list-item--new-option:hover {
1351
1598
  border-bottom: 1px solid var(--a-border-divider);
1352
1599
  background: var(--a-surface-neutral-subtle-hover);
1353
1600
  }
1354
- .navds-combobox__list-item__new-option--focus {
1601
+ .navds-combobox__list-item--new-option--focus {
1355
1602
  box-shadow:
1356
1603
  var(--a-shadow-focus) inset,
1357
1604
  var(--a-border-action) 0 0 0 5px inset;
@@ -1373,3 +1620,48 @@
1373
1620
  gap: var(--a-spacing-1);
1374
1621
  }
1375
1622
  }
1623
+ @media (forced-colors: active) {
1624
+ .navds-combobox__button-clear:hover {
1625
+ color: highlight;
1626
+ }
1627
+
1628
+ .navds-combobox__wrapper-inner:has(.navds-combobox__input:focus-visible) {
1629
+ outline-color: highlight;
1630
+ }
1631
+
1632
+ .navds-combobox__list-item--focus,
1633
+ .navds-combobox__list--with-hover
1634
+ .navds-combobox__list-item:not([data-no-focus="true"], .navds-combobox__list-item--new-option):hover {
1635
+ border-left-color: highlight;
1636
+ color: highlight;
1637
+ }
1638
+
1639
+ .navds-combobox__list-item[data-no-focus="true"] {
1640
+ opacity: 1;
1641
+ color: graytext;
1642
+ }
1643
+
1644
+ .navds-combobox__list-item--selected {
1645
+ background-color: selecteditem;
1646
+ color: selecteditemtext;
1647
+ }
1648
+
1649
+ .navds-combobox__list-item--selected > * {
1650
+ forced-color-adjust: none;
1651
+ }
1652
+
1653
+ .navds-combobox__list-item--selected.navds-combobox__list-item--focus,
1654
+ .navds-combobox__list--with-hover .navds-combobox__list-item--selected:hover {
1655
+ border-left-color: highlight;
1656
+ color: highlight;
1657
+ }
1658
+
1659
+ .navds-combobox__list--with-hover .navds-combobox__list-item--new-option:hover {
1660
+ color: highlight;
1661
+ }
1662
+
1663
+ .navds-combobox__list-item--new-option--focus {
1664
+ outline: 2px solid highlight;
1665
+ outline-offset: -3px;
1666
+ }
1667
+ }