@navikt/aksel-stylelint 3.0.0-beta.4 → 3.0.0-beta.6

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 (3) hide show
  1. package/README.md +44 -17
  2. package/dist/index.css +604 -93
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -8,12 +8,36 @@ It is designed to be useful for both _internal_ and _external_ developers, so _e
8
8
  > The version of this plugin **_MUST MATCH_** the version of the other design system packages used in your project for the linting to make sense!
9
9
  > Otherwise you are very likely to get _incorrect_ errors that tell you to use the wrong token names.
10
10
 
11
- 🐛 Found a bug? https://github.com/navikt/aksel/issues
11
+ # Install
12
+
13
+ ```bash
14
+ yarn add -D @navikt/aksel-stylelint
15
+ npm install -D @navikt/aksel-stylelint
16
+ ```
17
+
18
+ ### How to configure
19
+
20
+ It should be sufficient for most cases to extend the recommended defaults.
21
+
22
+ ```js
23
+ "stylelint": {
24
+ "extends": [
25
+ ...
26
+ "@navikt/aksel-stylelint/recommended"
27
+ ],
28
+ ...
29
+ }
30
+ ```
12
31
 
13
32
  ## aksel-design-token-exists
14
33
 
15
34
  This rule checks that if you use one of the reserved token prefixes `--a-` or `--ac-` then the token itself _must_ be provided by design system.
16
35
 
36
+ In addition it checks that you:
37
+
38
+ - don't **_reference_** a component level token. As they are only supposed to be overridden.
39
+ - don't **_override_** a global level token. As they are only supposed to be referenced.
40
+
17
41
  ❌ Incorrect:
18
42
 
19
43
  ```css
@@ -22,6 +46,8 @@ html h1 {
22
46
  ^^^^^^^^^^^^^^^^^^^^^^^^^
23
47
  background-color: var(--a-my-own-color-bg-hover, #ffffff);
24
48
  ^^^^^^^^^^^^^^^^^^^^^^^^^
49
+ stroke: var(--ac-button-loader-stroke));
50
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
25
51
  }
26
52
  ```
27
53
 
@@ -29,7 +55,8 @@ html h1 {
29
55
 
30
56
  ```css
31
57
  html h1 {
32
- background-color: var(--ac-accordion-header-bg-hover, #ffffff);
58
+ background-color: var(--a-surface-default, #ffffff);
59
+ --ac-button-loader-stroke: lawngreen;
33
60
  }
34
61
  ```
35
62
 
@@ -89,23 +116,23 @@ Warns when trying to override design system styling by using class selectors tha
89
116
  }
90
117
  ```
91
118
 
92
- # Install
119
+ ## aksel-no-deprecated-classes
93
120
 
94
- ```bash
95
- yarn add -D @navikt/aksel-stylelint
96
- npm install -D @navikt/aksel-stylelint
97
- ```
121
+ Warns when you try to use deprecated class names.
98
122
 
99
- ### How to configure
123
+ Incorrect:
100
124
 
101
- It should be sufficient for most cases to extend the recommended defaults.
125
+ ```css
126
+ .navdsi-deprecated-example {
127
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
128
+ }
129
+ ```
102
130
 
103
- ```js
104
- "stylelint": {
105
- "extends": [
106
- ...
107
- "@navikt/aksel-stylelint/recommended"
108
- ],
109
- ...
110
- }
131
+ ✅ Correct:
132
+
133
+ ```css
134
+ .guaranteed-not-deprecated {
135
+ }
111
136
  ```
137
+
138
+ 🐛 Found a bug? https://github.com/navikt/aksel/issues
package/dist/index.css CHANGED
@@ -1,7 +1,7 @@
1
1
  @charset "UTF-8";
2
2
  /**
3
3
  * Do not edit directly
4
- * Generated on Tue, 16 May 2023 12:59:12 GMT
4
+ * Generated on Thu, 25 May 2023 14:15:33 GMT
5
5
  */
6
6
  :root, :host {
7
7
  --a-spacing-05: 0.125rem;
@@ -1362,10 +1362,16 @@ body,
1362
1362
 
1363
1363
  padding: var(--ac-button-padding-icon-only-xsmall, var(--__ac-button-padding));
1364
1364
  }
1365
- .navds-button:focus {
1365
+ .navds-button:focus-visible {
1366
1366
  outline: none;
1367
1367
  box-shadow: var(--a-shadow-focus);
1368
1368
  }
1369
+ @supports not selector(:focus-visible) {
1370
+ .navds-button:focus {
1371
+ outline: none;
1372
+ box-shadow: var(--a-shadow-focus);
1373
+ }
1374
+ }
1369
1375
  .navds-button__icon {
1370
1376
  --ac-button-icon-margin: -4px;
1371
1377
 
@@ -1402,9 +1408,14 @@ body,
1402
1408
  .navds-button--primary:active {
1403
1409
  background-color: var(--ac-button-primary-active-bg, var(--a-surface-action-active));
1404
1410
  }
1405
- .navds-button--primary:focus {
1411
+ .navds-button--primary:focus-visible {
1406
1412
  box-shadow: inset 0 0 0 1px var(--ac-button-primary-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1407
1413
  }
1414
+ @supports not selector(:focus-visible) {
1415
+ .navds-button--primary:focus {
1416
+ box-shadow: inset 0 0 0 1px var(--ac-button-primary-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1417
+ }
1418
+ }
1408
1419
  .navds-button--primary:hover:where(:disabled, .navds-button--disabled),
1409
1420
  .navds-button--primary:active:where(:disabled, .navds-button--disabled) {
1410
1421
  background-color: var(--ac-button-primary-bg, var(--a-surface-action));
@@ -1422,9 +1433,14 @@ body,
1422
1433
  .navds-button--primary-neutral:active {
1423
1434
  background-color: var(--ac-button-primary-neutral-active-bg, var(--a-surface-neutral-active));
1424
1435
  }
1425
- .navds-button--primary-neutral:focus {
1436
+ .navds-button--primary-neutral:focus-visible {
1426
1437
  box-shadow: inset 0 0 0 1px var(--ac-button-primary-neutral-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1427
1438
  }
1439
+ @supports not selector(:focus-visible) {
1440
+ .navds-button--primary-neutral:focus {
1441
+ box-shadow: inset 0 0 0 1px var(--ac-button-primary-neutral-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1442
+ }
1443
+ }
1428
1444
  .navds-button--primary-neutral:hover:where(:disabled, .navds-button--disabled),
1429
1445
  .navds-button--primary-neutral:active:where(:disabled, .navds-button--disabled) {
1430
1446
  background-color: var(--ac-button-primary-neutral-bg, var(--a-surface-neutral));
@@ -1441,17 +1457,27 @@ body,
1441
1457
  color: var(--ac-button-secondary-hover-text, var(--a-text-action-on-action-subtle));
1442
1458
  background-color: var(--ac-button-secondary-hover-bg, var(--a-surface-action-subtle-hover));
1443
1459
  }
1444
- .navds-button--secondary:focus {
1460
+ .navds-button--secondary:focus-visible {
1445
1461
  box-shadow: inset 0 0 0 2px var(--ac-button-secondary-focus-border, var(--a-border-action)), var(--a-shadow-focus);
1446
1462
  }
1463
+ @supports not selector(:focus-visible) {
1464
+ .navds-button--secondary:focus {
1465
+ box-shadow: inset 0 0 0 2px var(--ac-button-secondary-focus-border, var(--a-border-action)), var(--a-shadow-focus);
1466
+ }
1467
+ }
1447
1468
  .navds-button--secondary:active {
1448
1469
  color: var(--ac-button-secondary-active-text, var(--a-text-on-action));
1449
1470
  background-color: var(--ac-button-secondary-active-bg, var(--a-surface-action-active));
1450
1471
  box-shadow: none;
1451
1472
  }
1452
- .navds-button--secondary:focus:active {
1473
+ .navds-button--secondary:focus-visible:active {
1453
1474
  box-shadow: inset 0 0 0 1px var(--ac-button-secondary-active-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1454
1475
  }
1476
+ @supports not selector(:focus-visible) {
1477
+ .navds-button--secondary:focus:active {
1478
+ box-shadow: inset 0 0 0 1px var(--ac-button-secondary-active-focus-border, var(--a-surface-default)), var(--a-shadow-focus);
1479
+ }
1480
+ }
1455
1481
  .navds-button--secondary:where(:disabled, .navds-button--disabled),
1456
1482
  .navds-button--secondary:hover:where(:disabled, .navds-button--disabled) {
1457
1483
  color: var(--ac-button-secondary-text, var(--a-text-action));
@@ -1469,19 +1495,31 @@ body,
1469
1495
  .navds-button--secondary-neutral:hover {
1470
1496
  background-color: var(--ac-button-secondary-neutral-hover-bg, var(--a-surface-neutral-subtle-hover));
1471
1497
  }
1472
- .navds-button--secondary-neutral:focus {
1498
+ .navds-button--secondary-neutral:focus-visible {
1473
1499
  color: var(--ac-button-secondary-neutral-text, var(--a-text-default));
1474
1500
  box-shadow: inset 0 0 0 2px var(--ac-button-secondary-neutral-focus-border, var(--a-border-strong)), var(--a-shadow-focus);
1475
1501
  }
1502
+ @supports not selector(:focus-visible) {
1503
+ .navds-button--secondary-neutral:focus {
1504
+ color: var(--ac-button-secondary-neutral-text, var(--a-text-default));
1505
+ box-shadow: inset 0 0 0 2px var(--ac-button-secondary-neutral-focus-border, var(--a-border-strong)), var(--a-shadow-focus);
1506
+ }
1507
+ }
1476
1508
  .navds-button--secondary-neutral:active {
1477
1509
  color: var(--ac-button-secondary-neutral-active-text, var(--a-text-on-neutral));
1478
1510
  background-color: var(--ac-button-secondary-neutral-active-bg, var(--a-surface-neutral-active));
1479
1511
  box-shadow: none;
1480
1512
  }
1481
- .navds-button--secondary-neutral:focus:active {
1513
+ .navds-button--secondary-neutral:focus-visible:active {
1482
1514
  box-shadow: inset 0 0 0 1px var(--ac-button-secondary-neutral-active-focus-border, var(--a-surface-default)),
1483
1515
  var(--a-shadow-focus);
1484
1516
  }
1517
+ @supports not selector(:focus-visible) {
1518
+ .navds-button--secondary-neutral:focus:active {
1519
+ box-shadow: inset 0 0 0 1px var(--ac-button-secondary-neutral-active-focus-border, var(--a-surface-default)),
1520
+ var(--a-shadow-focus);
1521
+ }
1522
+ }
1485
1523
  .navds-button--secondary-neutral:where(:disabled, .navds-button--disabled),
1486
1524
  .navds-button--secondary-neutral:hover:where(:disabled, .navds-button--disabled) {
1487
1525
  color: var(--ac-button-secondary-neutral-text, var(--a-text-default));
@@ -1499,9 +1537,14 @@ body,
1499
1537
  color: var(--ac-button-tertiary-hover-text, var(--a-text-action-on-action-subtle));
1500
1538
  background-color: var(--ac-button-tertiary-hover-bg, var(--a-surface-action-subtle-hover));
1501
1539
  }
1502
- .navds-button--tertiary:focus {
1540
+ .navds-button--tertiary:focus-visible {
1503
1541
  box-shadow: inset 0 0 0 2px var(--ac-button-tertiary-focus-border, var(--a-border-action)), var(--a-shadow-focus);
1504
1542
  }
1543
+ @supports not selector(:focus-visible) {
1544
+ .navds-button--tertiary:focus {
1545
+ box-shadow: inset 0 0 0 2px var(--ac-button-tertiary-focus-border, var(--a-border-action)), var(--a-shadow-focus);
1546
+ }
1547
+ }
1505
1548
  .navds-button--tertiary:active {
1506
1549
  color: var(--ac-button-tertiary-active-text, var(--a-text-on-action));
1507
1550
  background-color: var(--ac-button-tertiary-active-bg, var(--a-surface-action-active));
@@ -1510,9 +1553,14 @@ body,
1510
1553
  .navds-button--tertiary:active:hover {
1511
1554
  background-color: var(--ac-button-tertiary-active-hover-bg, var(--a-surface-action-active));
1512
1555
  }
1513
- .navds-button--tertiary:active:focus {
1556
+ .navds-button--tertiary:focus-visible:active {
1514
1557
  box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1515
1558
  }
1559
+ @supports not selector(:focus-visible) {
1560
+ .navds-button--tertiary:focus:active {
1561
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1562
+ }
1563
+ }
1516
1564
  .navds-button--tertiary:where(:disabled, .navds-button--disabled),
1517
1565
  .navds-button--tertiary:hover:where(:disabled, .navds-button--disabled),
1518
1566
  .navds-button--tertiary:active:where(:disabled, .navds-button--disabled),
@@ -1531,9 +1579,14 @@ body,
1531
1579
  color: var(--ac-button-tertiary-neutral-hover-text, var(--a-text-default));
1532
1580
  background-color: var(--ac-button-tertiary-neutral-hover-bg, var(--a-surface-neutral-subtle-hover));
1533
1581
  }
1534
- .navds-button--tertiary-neutral:focus {
1582
+ .navds-button--tertiary-neutral:focus-visible {
1535
1583
  box-shadow: inset 0 0 0 2px var(--ac-button-tertiary-neutral-focus-border, var(--a-border-strong)), var(--a-shadow-focus);
1536
1584
  }
1585
+ @supports not selector(:focus-visible) {
1586
+ .navds-button--tertiary-neutral:focus {
1587
+ box-shadow: inset 0 0 0 2px var(--ac-button-tertiary-neutral-focus-border, var(--a-border-strong)), var(--a-shadow-focus);
1588
+ }
1589
+ }
1537
1590
  .navds-button--tertiary-neutral:active {
1538
1591
  color: var(--ac-button-tertiary-neutral-active-text, var(--a-text-on-neutral));
1539
1592
  background-color: var(--ac-button-tertiary-neutral-active-bg, var(--a-surface-neutral-active));
@@ -1542,9 +1595,14 @@ body,
1542
1595
  .navds-button--tertiary-neutral:active:hover {
1543
1596
  background-color: var(--ac-button-tertiary-neutral-active-hover-bg, var(--a-surface-neutral-active));
1544
1597
  }
1545
- .navds-button--tertiary-neutral:active:focus {
1598
+ .navds-button--tertiary-neutral:focus-visible:active {
1546
1599
  box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1547
1600
  }
1601
+ @supports not selector(:focus-visible) {
1602
+ .navds-button--tertiary-neutral:focus:active {
1603
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1604
+ }
1605
+ }
1548
1606
  .navds-button--tertiary-neutral:where(:disabled, .navds-button--disabled),
1549
1607
  .navds-button--tertiary-neutral:hover:where(:disabled, .navds-button--disabled),
1550
1608
  .navds-button--tertiary-neutral:active:where(:disabled, .navds-button--disabled),
@@ -1566,9 +1624,14 @@ body,
1566
1624
  .navds-button--danger:active {
1567
1625
  background-color: var(--ac-button-danger-active-bg, var(--a-surface-danger-active));
1568
1626
  }
1569
- .navds-button--danger:focus {
1627
+ .navds-button--danger:focus-visible {
1570
1628
  box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1571
1629
  }
1630
+ @supports not selector(:focus-visible) {
1631
+ .navds-button--danger:focus {
1632
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
1633
+ }
1634
+ }
1572
1635
  .navds-button--danger:active:where(:disabled, .navds-button--disabled),
1573
1636
  .navds-button--danger:hover:where(:disabled, .navds-button--disabled) {
1574
1637
  background-color: var(--ac-button-danger-bg, var(--a-surface-danger));
@@ -1651,10 +1714,6 @@ body,
1651
1714
  flex-direction: column;
1652
1715
  gap: var(--a-spacing-2);
1653
1716
  }
1654
- .navds-chat__bubble:focus {
1655
- box-shadow: var(--a-shadow-focus);
1656
- outline: none;
1657
- }
1658
1717
  .navds-chat--right .navds-chat__bubble {
1659
1718
  border-radius: var(--a-border-radius-xlarge);
1660
1719
  border-bottom-right-radius: 2px;
@@ -1738,6 +1797,17 @@ body,
1738
1797
  .navds-chips__toggle:active:focus-visible {
1739
1798
  box-shadow: inset 0 0 0 1px var(--a-surface-default), 0 0 0 2px var(--ac-chip-toggle-focus, var(--a-border-focus));
1740
1799
  }
1800
+ @supports not selector(:focus-visible) {
1801
+ .navds-chips__toggle:focus {
1802
+ outline: none;
1803
+ box-shadow: 0 0 0 2px var(--ac-chip-toggle-focus, var(--a-border-focus));
1804
+ }
1805
+
1806
+ .navds-chips__toggle[aria-pressed="true"]:focus,
1807
+ .navds-chips__toggle:active:focus {
1808
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), 0 0 0 2px var(--ac-chip-toggle-focus, var(--a-border-focus));
1809
+ }
1810
+ }
1741
1811
  .navds-chips__removable {
1742
1812
  gap: 0;
1743
1813
  }
@@ -1782,6 +1852,17 @@ body,
1782
1852
  .navds-chips__removable--neutral:focus-visible {
1783
1853
  box-shadow: 0 0 0 2px var(--a-border-focus);
1784
1854
  }
1855
+ @supports not selector(:focus-visible) {
1856
+ .navds-chips__removable--action:focus {
1857
+ outline: none;
1858
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), 0 0 0 2px var(--a-border-focus);
1859
+ }
1860
+
1861
+ .navds-chips__removable--neutral:focus {
1862
+ outline: none;
1863
+ box-shadow: 0 0 0 2px var(--a-border-focus);
1864
+ }
1865
+ }
1785
1866
  .navds-chips__removable--action:hover {
1786
1867
  background-color: var(--ac-chip-removable-action-hover-bg, var(--a-surface-action-selected-hover));
1787
1868
  }
@@ -1801,6 +1882,132 @@ body,
1801
1882
  .navds-chips--small .navds-chips--icon-left {
1802
1883
  padding-left: 0.375rem;
1803
1884
  }
1885
+ [data-theme="dark"] .navds-copybutton,
1886
+ [data-theme="dark"].navds-copybutton {
1887
+ --a-text-action: var(--a-blue-300);
1888
+ --a-surface-hover: rgb(214 231 255 /0.13);
1889
+ --a-icon-success: rgb(51 170 95 /1);
1890
+ --a-text-subtle: rgb(231 240 254 /0.69);
1891
+ --a-text-default: rgb(251 252 254 /0.96);
1892
+ }
1893
+ .navds-copybutton {
1894
+ --__ac-copybutton-padding: var(--a-spacing-3) var(--a-spacing-5);
1895
+
1896
+ cursor: pointer;
1897
+ margin: 0;
1898
+ text-decoration: none;
1899
+ border: none;
1900
+ background: none;
1901
+ border-radius: var(--ac-copybutton-border-radius, var(--a-border-radius-medium));
1902
+ padding: var(--__ac-copybutton-padding);
1903
+ display: grid;
1904
+ place-content: center;
1905
+ }
1906
+ .navds-copybutton--small {
1907
+ --__ac-copybutton-padding: var(--a-spacing-1) var(--a-spacing-3);
1908
+
1909
+ min-height: 2rem;
1910
+ }
1911
+ .navds-copybutton--xsmall {
1912
+ --__ac-copybutton-padding: var(--a-spacing-05) var(--a-spacing-2);
1913
+
1914
+ min-height: 1.5rem;
1915
+ }
1916
+ .navds-copybutton--icon-only {
1917
+ --__ac-copybutton-padding: var(--a-spacing-3);
1918
+ }
1919
+ .navds-copybutton--small.navds-copybutton--icon-only {
1920
+ --__ac-copybutton-padding: var(--a-spacing-1);
1921
+ }
1922
+ .navds-copybutton--xsmall.navds-copybutton--icon-only {
1923
+ --__ac-copybutton-padding: var(--a-spacing-05);
1924
+ }
1925
+ .navds-copybutton--xsmall .navds-copybutton__icon {
1926
+ font-size: 1.25rem;
1927
+ }
1928
+ .navds-copybutton__icon {
1929
+ font-size: 1.5rem;
1930
+ display: flex;
1931
+ margin-left: -4px;
1932
+ }
1933
+ .navds-copybutton__icon:only-child {
1934
+ margin: 0;
1935
+ }
1936
+ :where(.navds-copybutton--small, .navds-copybutton--xsmall):where(:not(:only-child)) {
1937
+ margin: -2px;
1938
+ }
1939
+ .navds-copybutton:focus-visible {
1940
+ outline: none;
1941
+ box-shadow: var(--a-shadow-focus);
1942
+ }
1943
+ @supports not selector(:focus-visible) {
1944
+ .navds-copybutton:focus {
1945
+ outline: none;
1946
+ box-shadow: var(--a-shadow-focus);
1947
+ }
1948
+ }
1949
+ /* Variant/action */
1950
+ .navds-copybutton--action {
1951
+ color: var(--ac-copybutton-action-text, var(--a-text-action));
1952
+ background-color: var(--ac-copybutton-action-bg, var(--a-surface-transparent));
1953
+ }
1954
+ .navds-copybutton--action:hover {
1955
+ color: var(--ac-copybutton-action-hover-text, var(--a-text-action));
1956
+ background-color: var(--ac-copybutton-action-hover-bg, var(--a-surface-hover));
1957
+ }
1958
+ .navds-copybutton--action:where(:disabled),
1959
+ .navds-copybutton--action:hover:where(:disabled) {
1960
+ color: var(--ac-copybutton-action-text, var(--a-text-action));
1961
+ background-color: var(--ac-copybutton-action-bg, var(--a-surface-transparent));
1962
+ box-shadow: none;
1963
+ }
1964
+ .navds-copybutton--active.navds-copybutton--action {
1965
+ color: var(--ac-copybutton-action-active-text, var(--a-icon-success));
1966
+ }
1967
+ /* Variant/neutral */
1968
+ .navds-copybutton--neutral {
1969
+ color: var(--ac-copybutton-neutral-text, var(--a-text-subtle));
1970
+ background-color: var(--ac-copybutton-neutral-bg, var(--a-surface-transparent));
1971
+ }
1972
+ .navds-copybutton--neutral:hover {
1973
+ color: var(--ac-copybutton-neutral-hover-text, var(--a-text-default));
1974
+ background-color: var(--ac-copybutton-neutral-hover-bg, var(--a-surface-hover));
1975
+ }
1976
+ .navds-copybutton--neutral:where(:disabled, .navds-copybutton--disabled),
1977
+ .navds-copybutton--neutral:hover:where(:disabled, .navds-copybutton--disabled) {
1978
+ color: var(--ac-copybutton-neutral-text, var(--a-text-default));
1979
+ background-color: var(--ac-copybutton-neutral-bg, var(--a-surface-transparent));
1980
+ box-shadow: none;
1981
+ }
1982
+ .navds-copybutton--active.navds-copybutton--neutral {
1983
+ color: var(--ac-copybutton-neutral-active-text, var(--a-text-default));
1984
+ }
1985
+ .navds-copybutton__content {
1986
+ display: inline-flex;
1987
+ align-items: center;
1988
+ justify-content: center;
1989
+ gap: var(--a-spacing-2);
1990
+ }
1991
+ .navds-copybutton--xsmall > .navds-copybutton__content {
1992
+ gap: var(--a-spacing-1);
1993
+ }
1994
+ .navds-copybutton--active > .navds-copybutton__content {
1995
+ animation: var(--ac-copybutton-animation, akselCopyButtonAnimation 0.4s linear);
1996
+ }
1997
+ @keyframes akselCopyButtonAnimation {
1998
+ 0% {
1999
+ opacity: 0.4;
2000
+ }
2001
+
2002
+ 100% {
2003
+ opacity: 1;
2004
+ }
2005
+ }
2006
+ /* Disabled */
2007
+ .navds-copybutton:where(:disabled) {
2008
+ cursor: not-allowed;
2009
+ opacity: 0.3;
2010
+ }
1804
2011
  .navds-expansioncard {
1805
2012
  --__ac-expansioncard-border-color: var(--ac-expansioncard-border-color, var(--a-border-default));
1806
2013
  --__ac-expansioncard-border-radius: var(--ac-expansioncard-border-radius, var(--a-border-radius-large));
@@ -1905,12 +2112,16 @@ body,
1905
2112
  .navds-expansioncard__header-button:hover > :where(.navds-expansioncard__header-chevron) {
1906
2113
  transform: translateY(1px);
1907
2114
  }
1908
- .navds-expansioncard__header-button:focus {
1909
- outline: none;
1910
- }
1911
2115
  .navds-expansioncard__header-button:focus-visible {
2116
+ outline: none;
1912
2117
  box-shadow: var(--a-shadow-focus);
1913
2118
  }
2119
+ @supports not selector(:focus-visible) {
2120
+ .navds-expansioncard__header-button:focus {
2121
+ outline: none;
2122
+ box-shadow: var(--a-shadow-focus);
2123
+ }
2124
+ }
1914
2125
  .navds-expansioncard--open :where(.navds-expansioncard__header-button):hover :where(.navds-expansioncard__header-chevron) {
1915
2126
  transform: translateY(-1px) rotate(180deg);
1916
2127
  }
@@ -2039,7 +2250,7 @@ body,
2039
2250
  margin-top: var(--a-spacing-2);
2040
2251
  }
2041
2252
  .navds-fieldset > .navds-fieldset__description:not(:empty) {
2042
- margin-top: var(--a-spacing-1);
2253
+ margin-top: 0.125rem;
2043
2254
  }
2044
2255
  /* Applied when hideLegend is applied to fieldset */
2045
2256
  .navds-fieldset > .navds-sr-only + :not(:first-child):not(:empty) {
@@ -2058,7 +2269,7 @@ body,
2058
2269
  gap: var(--a-spacing-2);
2059
2270
  }
2060
2271
  .navds-form-field__description {
2061
- margin-top: -4px;
2272
+ margin-top: -6px;
2062
2273
  }
2063
2274
  .navds-form-field .navds-error-message,
2064
2275
  .navds-fieldset .navds-error-message {
@@ -2076,6 +2287,9 @@ body,
2076
2287
  .navds-form-field__error:empty {
2077
2288
  display: none;
2078
2289
  }
2290
+ .navds-form-field__subdescription {
2291
+ color: var(--ac-form-subdescription, var(--a-text-subtle));
2292
+ }
2079
2293
  .navds-error-summary {
2080
2294
  background-color: var(--ac-error-summary-bg, var(--a-surface-default));
2081
2295
  padding: var(--a-spacing-5);
@@ -2084,10 +2298,16 @@ body,
2084
2298
  .navds-error-summary--small {
2085
2299
  padding: var(--a-spacing-3);
2086
2300
  }
2087
- .navds-error-summary:focus {
2301
+ .navds-error-summary:focus-visible {
2088
2302
  box-shadow: var(--a-shadow-focus);
2089
2303
  outline: none;
2090
2304
  }
2305
+ @supports not selector(:focus-visible) {
2306
+ .navds-error-summary:focus {
2307
+ box-shadow: var(--a-shadow-focus);
2308
+ outline: none;
2309
+ }
2310
+ }
2091
2311
  .navds-error-summary__list {
2092
2312
  margin: var(--a-spacing-3) 0;
2093
2313
  display: flex;
@@ -2166,7 +2386,7 @@ body,
2166
2386
  .navds-radio__content {
2167
2387
  display: flex;
2168
2388
  flex-direction: column;
2169
- gap: var(--a-spacing-1);
2389
+ gap: 0.125rem;
2170
2390
  }
2171
2391
  .navds-checkbox--small > .navds-checkbox__input,
2172
2392
  .navds-radio--small > .navds-radio__input {
@@ -2184,14 +2404,26 @@ body,
2184
2404
  width: 1.25rem;
2185
2405
  height: 1.25rem;
2186
2406
  }
2187
- .navds-checkbox__input:focus + .navds-checkbox__label::before,
2188
- .navds-radio__input:focus + .navds-radio__label::before {
2407
+ .navds-checkbox__input:focus-visible + .navds-checkbox__label::before,
2408
+ .navds-radio__input:focus-visible + .navds-radio__label::before {
2189
2409
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default)), var(--a-shadow-focus);
2190
2410
  }
2191
- .navds-checkbox__input:hover:focus + .navds-checkbox__label::before,
2192
- .navds-radio__input:hover:focus + .navds-radio__label::before {
2411
+ @supports not selector(:focus-visible) {
2412
+ .navds-checkbox__input:focus + .navds-checkbox__label::before,
2413
+ .navds-radio__input:focus + .navds-radio__label::before {
2414
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-border, var(--a-border-default)), var(--a-shadow-focus);
2415
+ }
2416
+ }
2417
+ .navds-checkbox__input:hover:focus-visible + .navds-checkbox__label::before,
2418
+ .navds-radio__input:hover:focus-visible + .navds-radio__label::before {
2193
2419
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)), var(--a-shadow-focus);
2194
2420
  }
2421
+ @supports not selector(:focus-visible) {
2422
+ .navds-checkbox__input:hover:focus + .navds-checkbox__label::before,
2423
+ .navds-radio__input:hover:focus + .navds-radio__label::before {
2424
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)), var(--a-shadow-focus);
2425
+ }
2426
+ }
2195
2427
  .navds-checkbox__input:indeterminate + .navds-checkbox__label::before {
2196
2428
  box-shadow: none;
2197
2429
  background-color: var(--ac-radio-checkbox-action, var(--a-surface-action));
@@ -2221,27 +2453,46 @@ body,
2221
2453
  .navds-checkbox--small > .navds-checkbox__input:checked + .navds-checkbox__label::before {
2222
2454
  background-position: 4px center;
2223
2455
  }
2224
- .navds-checkbox__input:indeterminate:focus + .navds-checkbox__label::before,
2225
- .navds-checkbox__input:checked:focus + .navds-checkbox__label::before {
2456
+ .navds-checkbox__input:indeterminate:focus-visible + .navds-checkbox__label::before,
2457
+ .navds-checkbox__input:checked:focus-visible + .navds-checkbox__label::before {
2226
2458
  box-shadow: inset 0 0 0 1px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
2227
2459
  }
2460
+ @supports not selector(:focus-visible) {
2461
+ .navds-checkbox__input:indeterminate:focus + .navds-checkbox__label::before,
2462
+ .navds-checkbox__input:checked:focus + .navds-checkbox__label::before {
2463
+ box-shadow: inset 0 0 0 1px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
2464
+ }
2465
+ }
2228
2466
  .navds-radio__input:checked + .navds-radio__label::before {
2229
2467
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)),
2230
2468
  inset 0 0 0 4px var(--ac-radio-checkbox-bg, var(--a-surface-default));
2231
2469
  background-color: var(--ac-radio-checkbox-action, var(--a-surface-action));
2232
2470
  }
2233
- .navds-radio__input:checked:focus + .navds-radio__label::before {
2471
+ .navds-radio__input:checked:focus-visible + .navds-radio__label::before {
2234
2472
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)),
2235
2473
  inset 0 0 0 4px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
2236
2474
  }
2475
+ @supports not selector(:focus-visible) {
2476
+ .navds-radio__input:checked:focus + .navds-radio__label::before {
2477
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action)),
2478
+ inset 0 0 0 4px var(--ac-radio-checkbox-bg, var(--a-surface-default)), var(--a-shadow-focus);
2479
+ }
2480
+ }
2237
2481
  .navds-checkbox__input:hover:not(:disabled) + .navds-checkbox__label,
2238
2482
  .navds-radio__input:hover:not(:disabled) + .navds-radio__label {
2239
2483
  color: var(--ac-radio-checkbox-action, var(--a-surface-action));
2240
2484
  }
2241
- .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus) + .navds-checkbox__label::before,
2242
- .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
2485
+ .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus-visible)
2486
+ + .navds-checkbox__label::before,
2487
+ .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus-visible) + .navds-radio__label::before {
2243
2488
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action));
2244
2489
  }
2490
+ @supports not selector(:focus-visible) {
2491
+ .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus) + .navds-checkbox__label::before,
2492
+ .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
2493
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-action, var(--a-surface-action));
2494
+ }
2495
+ }
2245
2496
  .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate) + .navds-checkbox__label::before,
2246
2497
  .navds-radio__input:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
2247
2498
  background-color: var(--ac-radio-checkbox-action-hover-bg, var(--a-surface-action-subtle));
@@ -2253,25 +2504,50 @@ body,
2253
2504
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger));
2254
2505
  }
2255
2506
  .navds-checkbox--error
2256
- > .navds-checkbox__input:focus:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
2507
+ > .navds-checkbox__input:focus-visible:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
2257
2508
  + .navds-checkbox__label::before,
2258
- .navds-radio--error > .navds-radio__input:focus:not(:hover):not(:disabled):not(:checked) + .navds-radio__label::before {
2509
+ .navds-radio--error > .navds-radio__input:focus-visible:not(:hover):not(:disabled):not(:checked) + .navds-radio__label::before {
2259
2510
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
2260
2511
  }
2512
+ @supports not selector(:focus-visible) {
2513
+ .navds-checkbox--error
2514
+ > .navds-checkbox__input:focus:not(:hover):not(:disabled):not(:checked):not(:indeterminate)
2515
+ + .navds-checkbox__label::before,
2516
+ .navds-radio--error > .navds-radio__input:focus:not(:hover):not(:disabled):not(:checked) + .navds-radio__label::before {
2517
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
2518
+ }
2519
+ }
2261
2520
  .navds-checkbox--error
2262
- > .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus)
2521
+ > .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus-visible)
2263
2522
  + .navds-checkbox__label::before,
2264
- .navds-radio--error > .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
2523
+ .navds-radio--error > .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus-visible) + .navds-radio__label::before {
2265
2524
  background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
2266
2525
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger));
2267
2526
  }
2268
2527
  .navds-checkbox--error
2269
- > .navds-checkbox__input:focus:hover:not(:disabled):not(:checked):not(:indeterminate)
2528
+ > .navds-checkbox__input:focus-visible:hover:not(:disabled):not(:checked):not(:indeterminate)
2270
2529
  + .navds-checkbox__label::before,
2271
- .navds-radio--error > .navds-radio__input:focus:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
2530
+ .navds-radio--error > .navds-radio__input:focus-visible:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
2272
2531
  background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
2273
2532
  box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
2274
2533
  }
2534
+ @supports not selector(:focus-visible) {
2535
+ .navds-checkbox--error
2536
+ > .navds-checkbox__input:hover:not(:disabled):not(:checked):not(:indeterminate):not(:focus)
2537
+ + .navds-checkbox__label::before,
2538
+ .navds-radio--error > .navds-radio__input:hover:not(:disabled):not(:checked):not(:focus) + .navds-radio__label::before {
2539
+ background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
2540
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger));
2541
+ }
2542
+
2543
+ .navds-checkbox--error
2544
+ > .navds-checkbox__input:focus:hover:not(:disabled):not(:checked):not(:indeterminate)
2545
+ + .navds-checkbox__label::before,
2546
+ .navds-radio--error > .navds-radio__input:focus:hover:not(:disabled):not(:checked) + .navds-radio__label::before {
2547
+ background-color: var(--ac-radio-checkbox-error-hover-bg, var(--a-surface-danger-subtle));
2548
+ box-shadow: inset 0 0 0 2px var(--ac-radio-checkbox-error-border, var(--a-border-danger)), var(--a-shadow-focus);
2549
+ }
2550
+ }
2275
2551
  .navds-checkbox--disabled,
2276
2552
  .navds-radio--disabled {
2277
2553
  opacity: 0.3;
@@ -2299,10 +2575,16 @@ body,
2299
2575
  .navds-select__input:hover {
2300
2576
  border-color: var(--ac-select-hover-bg, var(--a-border-action));
2301
2577
  }
2302
- .navds-select__input:focus {
2578
+ .navds-select__input:focus-visible {
2303
2579
  outline: none;
2304
2580
  box-shadow: var(--a-shadow-focus);
2305
2581
  }
2582
+ @supports not selector(:focus-visible) {
2583
+ .navds-select__input:focus {
2584
+ outline: none;
2585
+ box-shadow: var(--a-shadow-focus);
2586
+ }
2587
+ }
2306
2588
  .navds-select__container {
2307
2589
  position: relative;
2308
2590
  display: flex;
@@ -2381,7 +2663,7 @@ body,
2381
2663
  .navds-switch__content {
2382
2664
  display: flex;
2383
2665
  flex-direction: column;
2384
- gap: var(--a-spacing-1);
2666
+ gap: 0.125rem;
2385
2667
  padding: 0.75rem 0 0.75rem 3.25rem;
2386
2668
  }
2387
2669
  .navds-switch--right > .navds-switch__label-wrapper > .navds-switch__content {
@@ -2438,9 +2720,14 @@ body,
2438
2720
  .navds-switch__input:checked:disabled ~ .navds-switch__track {
2439
2721
  background-color: var(--ac-switch-checked-bg, var(--a-border-success));
2440
2722
  }
2441
- .navds-switch__input:focus ~ .navds-switch__track {
2723
+ .navds-switch__input:focus-visible ~ .navds-switch__track {
2442
2724
  box-shadow: 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
2443
2725
  }
2726
+ @supports not selector(:focus-visible) {
2727
+ .navds-switch__input:focus ~ .navds-switch__track {
2728
+ box-shadow: 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
2729
+ }
2730
+ }
2444
2731
  /* Thumb */
2445
2732
  .navds-switch__thumb {
2446
2733
  background-color: var(--ac-switch-thumb-bg, var(--a-surface-default));
@@ -2514,10 +2801,16 @@ body,
2514
2801
  .navds-text-field__input:hover {
2515
2802
  border-color: var(--ac-textfield-hover-border, var(--a-border-action));
2516
2803
  }
2517
- .navds-text-field__input:focus {
2804
+ .navds-text-field__input:focus-visible {
2518
2805
  outline: none;
2519
2806
  box-shadow: var(--a-shadow-focus);
2520
2807
  }
2808
+ @supports not selector(:focus-visible) {
2809
+ .navds-text-field__input:focus {
2810
+ outline: none;
2811
+ box-shadow: var(--a-shadow-focus);
2812
+ }
2813
+ }
2521
2814
  /**
2522
2815
  Error handling
2523
2816
  */
@@ -2525,9 +2818,14 @@ body,
2525
2818
  border-color: var(--ac-textfield-error-border, var(--a-border-danger));
2526
2819
  box-shadow: 0 0 0 1px var(--ac-textfield-error-border, var(--a-border-danger));
2527
2820
  }
2528
- .navds-text-field--error > .navds-text-field__input:focus:not(:hover):not(:disabled) {
2821
+ .navds-text-field--error > .navds-text-field__input:focus-visible:not(:hover):not(:disabled) {
2529
2822
  box-shadow: 0 0 0 1px var(--a-border-danger), var(--a-shadow-focus);
2530
2823
  }
2824
+ @supports not selector(:focus-visible) {
2825
+ .navds-text-field--error > .navds-text-field__input:focus:not(:hover):not(:disabled) {
2826
+ box-shadow: 0 0 0 1px var(--a-border-danger), var(--a-shadow-focus);
2827
+ }
2828
+ }
2531
2829
  /* Disabled handling */
2532
2830
  .navds-text-field__input:disabled {
2533
2831
  background-color: var(--ac-textfield-bg, var(--a-surface-default));
@@ -2574,10 +2872,16 @@ body,
2574
2872
  .navds-textarea__input:hover {
2575
2873
  border-color: var(--ac-textarea-hover-border, var(--a-border-action));
2576
2874
  }
2577
- .navds-textarea__input:focus {
2875
+ .navds-textarea__input:focus-visible {
2578
2876
  outline: none;
2579
2877
  box-shadow: var(--a-shadow-focus);
2580
2878
  }
2879
+ @supports not selector(:focus-visible) {
2880
+ .navds-textarea__input:focus {
2881
+ outline: none;
2882
+ box-shadow: var(--a-shadow-focus);
2883
+ }
2884
+ }
2581
2885
  .navds-form-field--small .navds-textarea__input {
2582
2886
  padding: 6px;
2583
2887
  }
@@ -2603,10 +2907,16 @@ body,
2603
2907
  /**
2604
2908
  Error handling
2605
2909
  */
2606
- .navds-textarea--error .navds-textarea__input:not(:hover):not(:focus):not(:disabled) {
2910
+ .navds-textarea--error .navds-textarea__input:not(:hover):not(:focus-visible):not(:disabled) {
2607
2911
  box-shadow: 0 0 0 1px var(--ac-textarea-error-border, var(--a-border-danger));
2608
2912
  border-color: var(--ac-textarea-error-border, var(--a-border-danger));
2609
2913
  }
2914
+ @supports not selector(:focus-visible) {
2915
+ .navds-textarea--error .navds-textarea__input:not(:hover):not(:focus):not(:disabled) {
2916
+ box-shadow: 0 0 0 1px var(--ac-textarea-error-border, var(--a-border-danger));
2917
+ border-color: var(--ac-textarea-error-border, var(--a-border-danger));
2918
+ }
2919
+ }
2610
2920
  .navds-textarea__input:disabled {
2611
2921
  background-color: var(--ac-textarea-bg, var(--a-surface-default));
2612
2922
  border-color: var(--ac-textarea-border, var(--a-border-default));
@@ -2628,6 +2938,9 @@ body,
2628
2938
  position: relative;
2629
2939
  width: 100%;
2630
2940
  }
2941
+ .navds-search--with-size :where(.navds-search__wrapper-inner) {
2942
+ width: inherit;
2943
+ }
2631
2944
  .navds-search__wrapper {
2632
2945
  display: inline-flex;
2633
2946
  align-items: center;
@@ -2686,10 +2999,16 @@ body,
2686
2999
  .navds-search__button-clear:hover {
2687
3000
  color: var(--ac-search-clear-icon-hover, var(--a-text-action));
2688
3001
  }
2689
- .navds-search__button-clear:focus {
3002
+ .navds-search__button-clear:focus-visible {
2690
3003
  box-shadow: var(--a-shadow-focus);
2691
3004
  outline: none;
2692
3005
  }
3006
+ @supports not selector(:focus-visible) {
3007
+ .navds-search__button-clear:focus {
3008
+ box-shadow: var(--a-shadow-focus);
3009
+ outline: none;
3010
+ }
3011
+ }
2693
3012
  .navds-search__button-search {
2694
3013
  flex-shrink: 0;
2695
3014
  min-width: 64px;
@@ -2719,29 +3038,52 @@ body,
2719
3038
  .navds-search__wrapper-inner:focus-within + .navds-search__button-search.navds-button--secondary:hover {
2720
3039
  z-index: auto;
2721
3040
  }
2722
- .navds-search__button-search.navds-button--secondary:focus {
3041
+ .navds-search__button-search.navds-button--secondary:focus-visible {
2723
3042
  box-shadow: 0 0 0 1px var(--ac-search-button-border, var(--a-border-default)) inset, var(--a-shadow-focus);
2724
3043
  }
2725
- .navds-search__button-search.navds-button--secondary:focus:hover {
3044
+ .navds-search__button-search.navds-button--secondary:focus-visible:hover {
2726
3045
  box-shadow: 0 0 0 1px var(--ac-search-button-border-hover, var(--a-border-action)) inset, var(--a-shadow-focus);
2727
3046
  }
2728
- .navds-search__button-search.navds-button--secondary:focus:active {
3047
+ .navds-search__button-search.navds-button--secondary:focus-visible:active {
2729
3048
  box-shadow: 0 0 0 1px var(--ac-search-button-focus-active-border, var(--a-surface-default)) inset, var(--a-shadow-focus);
2730
3049
  }
3050
+ @supports not selector(:focus-visible) {
3051
+ .navds-search__button-search.navds-button--secondary:focus {
3052
+ box-shadow: 0 0 0 1px var(--ac-search-button-border, var(--a-border-default)) inset, var(--a-shadow-focus);
3053
+ }
3054
+
3055
+ .navds-search__button-search.navds-button--secondary:focus:hover {
3056
+ box-shadow: 0 0 0 1px var(--ac-search-button-border-hover, var(--a-border-action)) inset, var(--a-shadow-focus);
3057
+ }
3058
+
3059
+ .navds-search__button-search.navds-button--secondary:focus:active {
3060
+ box-shadow: 0 0 0 1px var(--ac-search-button-focus-active-border, var(--a-surface-default)) inset, var(--a-shadow-focus);
3061
+ }
3062
+ }
2731
3063
  /* Error-handling */
2732
3064
  .navds-search--error .navds-search__input:not(:hover):not(:disabled) {
2733
3065
  border-color: var(--ac-search-error-border, var(--a-border-danger));
2734
3066
  box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--a-border-danger));
2735
3067
  }
2736
- .navds-search--error .navds-search__input:focus:not(:hover):not(:disabled) {
3068
+ .navds-search--error .navds-search__input:focus-visible:not(:hover):not(:disabled) {
2737
3069
  box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--a-border-danger)), var(--a-shadow-focus);
2738
3070
  }
2739
3071
  /* Focus layering */
2740
- .navds-search__input:focus,
3072
+ .navds-search__input:focus-visible,
2741
3073
  .navds-search__button-clear,
2742
- .navds-search__button-search:focus {
3074
+ .navds-search__button-search:focus-visible {
2743
3075
  z-index: 1;
2744
3076
  }
3077
+ @supports not selector(:focus-visible) {
3078
+ .navds-search--error .navds-search__input:focus:not(:hover):not(:disabled) {
3079
+ box-shadow: inset 0 0 0 1px var(--ac-search-error-border, var(--a-border-danger)), var(--a-shadow-focus);
3080
+ }
3081
+
3082
+ .navds-search__input:focus,
3083
+ .navds-search__button-search:focus {
3084
+ z-index: 1;
3085
+ }
3086
+ }
2745
3087
  .navds-help-text__button {
2746
3088
  margin: 0;
2747
3089
  padding: 0;
@@ -2755,10 +3097,15 @@ body,
2755
3097
  color: var(--ac-help-text-button-color, var(--a-surface-action));
2756
3098
  font-size: 1.5rem;
2757
3099
  }
2758
- .navds-help-text__button:focus {
2759
- outline: none;
3100
+ .navds-help-text__button:focus-visible {
2760
3101
  box-shadow: 0 0 0 1px var(--a-surface-default), 0 0 0 4px var(--a-border-focus);
2761
3102
  }
3103
+ @supports not selector(:focus-visible) {
3104
+ .navds-help-text__button:focus {
3105
+ outline: none;
3106
+ box-shadow: 0 0 0 1px var(--a-surface-default), 0 0 0 4px var(--a-border-focus);
3107
+ }
3108
+ }
2762
3109
  .navds-help-text__icon {
2763
3110
  border-radius: var(--a-border-radius-full);
2764
3111
  }
@@ -2774,12 +3121,21 @@ body,
2774
3121
  .navds-help-text__icon--filled {
2775
3122
  display: none;
2776
3123
  }
2777
- .navds-help-text__button:where(:hover, :focus, [aria-expanded="true"]) > .navds-help-text__icon {
3124
+ .navds-help-text__button:where(:hover, :focus-visible, [aria-expanded="true"]) > .navds-help-text__icon {
2778
3125
  display: none;
2779
3126
  }
2780
- .navds-help-text__button:where(:hover, :focus, [aria-expanded="true"]) > .navds-help-text__icon--filled {
3127
+ .navds-help-text__button:where(:hover, :focus-visible, [aria-expanded="true"]) > .navds-help-text__icon--filled {
2781
3128
  display: inherit;
2782
3129
  }
3130
+ @supports not selector(:focus-visible) {
3131
+ .navds-help-text__button:where(:focus) > .navds-help-text__icon {
3132
+ display: none;
3133
+ }
3134
+
3135
+ .navds-help-text__button:where(:focus) > .navds-help-text__icon--filled {
3136
+ display: inherit;
3137
+ }
3138
+ }
2783
3139
  .navds-link {
2784
3140
  color: var(--ac-link-text, var(--a-text-action));
2785
3141
  text-decoration: underline;
@@ -2794,13 +3150,22 @@ body,
2794
3150
  .navds-link:hover {
2795
3151
  text-decoration: none;
2796
3152
  }
2797
- .navds-link:focus {
3153
+ .navds-link:focus-visible {
2798
3154
  outline: none;
2799
3155
  color: var(--ac-link-focus-text, var(--a-text-on-action));
2800
3156
  text-decoration: none;
2801
3157
  background-color: var(--ac-link-focus-bg, var(--a-border-focus));
2802
3158
  box-shadow: 0 0 0 2px var(--ac-link-focus-border, var(--a-border-focus));
2803
3159
  }
3160
+ @supports not selector(:focus-visible) {
3161
+ .navds-link:focus {
3162
+ outline: none;
3163
+ color: var(--ac-link-focus-text, var(--a-text-on-action));
3164
+ text-decoration: none;
3165
+ background-color: var(--ac-link-focus-bg, var(--a-border-focus));
3166
+ box-shadow: 0 0 0 2px var(--ac-link-focus-border, var(--a-border-focus));
3167
+ }
3168
+ }
2804
3169
  .navds-link:active {
2805
3170
  outline: none;
2806
3171
  color: var(--ac-link-active-text, var(--a-text-on-action));
@@ -2923,11 +3288,18 @@ body,
2923
3288
  .navds-modal__content {
2924
3289
  padding: var(--a-spacing-4);
2925
3290
  }
2926
- .navds-modal:focus,
3291
+ .navds-modal:focus-visible,
2927
3292
  .navds-modal--focus {
2928
3293
  box-shadow: var(--a-shadow-focus);
2929
3294
  outline: none;
2930
3295
  }
3296
+ @supports not selector(:focus-visible) {
3297
+ .navds-modal:focus,
3298
+ .navds-modal--focus {
3299
+ box-shadow: var(--a-shadow-focus);
3300
+ outline: none;
3301
+ }
3302
+ }
2931
3303
  .navds-modal__overlay {
2932
3304
  position: fixed;
2933
3305
  z-index: var(--a-z-index-modal);
@@ -2991,9 +3363,14 @@ body,
2991
3363
  background-color: var(--ac-pagination-selected-bg, var(--a-surface-action-selected));
2992
3364
  color: var(--ac-pagination-selected-text, var(--a-text-on-action));
2993
3365
  }
2994
- .navds-pagination__item[aria-current="true"]:focus {
3366
+ .navds-pagination__item[aria-current="true"]:focus-visible {
2995
3367
  box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
2996
3368
  }
3369
+ @supports not selector(:focus-visible) {
3370
+ .navds-pagination__item[aria-current="true"]:focus {
3371
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
3372
+ }
3373
+ }
2997
3374
  .navds-pagination__prev-next {
2998
3375
  display: flex;
2999
3376
  align-items: center;
@@ -3024,10 +3401,16 @@ body,
3024
3401
  .navds-popover--hidden {
3025
3402
  display: none;
3026
3403
  }
3027
- .navds-popover:focus {
3404
+ .navds-popover:focus-visible {
3028
3405
  outline: none;
3029
3406
  box-shadow: var(--a-shadow-focus);
3030
3407
  }
3408
+ @supports not selector(:focus-visible) {
3409
+ .navds-popover:focus {
3410
+ outline: none;
3411
+ box-shadow: var(--a-shadow-focus);
3412
+ }
3413
+ }
3031
3414
  .navds-popover__arrow {
3032
3415
  position: absolute;
3033
3416
  z-index: -1;
@@ -3117,14 +3500,26 @@ body,
3117
3500
  .navds-date .rdp-day_range_start.rdp-day_range_end {
3118
3501
  border-radius: var(--a-border-radius-xlarge);
3119
3502
  }
3120
- .navds-date .rdp-button:not(.rdp-day_selected):not([disabled]):focus,
3121
- .navds-date .navds-date__month-button:not(.rdp-day_selected):not([disabled]):focus {
3503
+ .navds-date .rdp-button:not(.rdp-day_selected):not([disabled]):focus-visible,
3504
+ .navds-date .navds-date__month-button:not(.rdp-day_selected):not([disabled]):focus-visible {
3122
3505
  box-shadow: var(--a-shadow-focus);
3123
3506
  }
3124
- .navds-date .rdp-button.rdp-day_selected:not([disabled]):focus,
3125
- .navds-date .navds-date__month-button.rdp-day_selected:not([disabled]):focus {
3507
+ @supports not selector(:focus-visible) {
3508
+ .navds-date .rdp-button:not(.rdp-day_selected):not([disabled]):focus,
3509
+ .navds-date .navds-date__month-button:not(.rdp-day_selected):not([disabled]):focus {
3510
+ box-shadow: var(--a-shadow-focus);
3511
+ }
3512
+ }
3513
+ .navds-date .rdp-button.rdp-day_selected:not([disabled]):focus-visible,
3514
+ .navds-date .navds-date__month-button.rdp-day_selected:not([disabled]):focus-visible {
3126
3515
  box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
3127
3516
  }
3517
+ @supports not selector(:focus-visible) {
3518
+ .navds-date .rdp-button.rdp-day_selected:not([disabled]):focus,
3519
+ .navds-date .navds-date__month-button.rdp-day_selected:not([disabled]):focus {
3520
+ box-shadow: inset 0 0 0 1px var(--a-surface-default), var(--a-shadow-focus);
3521
+ }
3522
+ }
3128
3523
  /* Monthpicker */
3129
3524
  .navds-date__month-button {
3130
3525
  all: unset;
@@ -3135,11 +3530,18 @@ body,
3135
3530
  border-radius: var(--a-border-radius-medium);
3136
3531
  cursor: pointer;
3137
3532
  }
3138
- .navds-date__month-button:focus,
3139
- .navds-monthpicker__caption-button:focus {
3533
+ .navds-date__month-button:focus-visible,
3534
+ .navds-monthpicker__caption-button:focus-visible {
3140
3535
  box-shadow: var(--a-shadow-focus);
3141
3536
  z-index: 1;
3142
3537
  }
3538
+ @supports not selector(:focus-visible) {
3539
+ .navds-date__month-button:focus,
3540
+ .navds-monthpicker__caption-button:focus {
3541
+ box-shadow: var(--a-shadow-focus);
3542
+ z-index: 1;
3543
+ }
3544
+ }
3143
3545
  .navds-date__year-label {
3144
3546
  display: flex;
3145
3547
  align-items: center;
@@ -3162,10 +3564,15 @@ body,
3162
3564
  width: fit-content;
3163
3565
  }
3164
3566
  /* Focus layering */
3165
- .navds-date__field-input:focus,
3567
+ .navds-date__field-input:focus-visible,
3166
3568
  .navds-date__field-button {
3167
3569
  z-index: 1;
3168
3570
  }
3571
+ @supports not selector(:focus-visible) {
3572
+ .navds-date__field-input:focus {
3573
+ z-index: 1;
3574
+ }
3575
+ }
3169
3576
  .navds-date .rdp-day_selected,
3170
3577
  .navds-monthpicker__month--selected {
3171
3578
  color: var(--ac-date-selected-text, var(--a-text-on-action));
@@ -3199,36 +3606,66 @@ body,
3199
3606
  color: var(--ac-date-caption-text, var(--a-text-default));
3200
3607
  }
3201
3608
  .navds-date__field-input {
3202
- padding-right: var(--a-spacing-12);
3609
+ padding-right: var(--a-spacing-14);
3203
3610
  }
3204
3611
  .navds-form-field--small .navds-date__field-input {
3205
- padding-right: var(--a-spacing-8);
3612
+ padding-right: var(--a-spacing-10);
3206
3613
  }
3207
3614
  /* Error-handling */
3208
3615
  .navds-date__field--error .navds-date__field-input:not(:hover):not(:disabled) {
3209
3616
  border-color: var(--ac-date-input-error-border, var(--a-border-danger));
3210
3617
  box-shadow: inset 0 0 0 1px var(--ac-date-input-error-border, var(--a-border-danger));
3211
3618
  }
3212
- .navds-date__field--error .navds-date__field-input:focus:not(:hover):not(:disabled) {
3619
+ .navds-date__field--error .navds-date__field-input:focus-visible:not(:hover):not(:disabled) {
3213
3620
  box-shadow: inset 0 0 0 1px var(--ac-date-input-error-border, var(--a-border-danger)), var(--a-shadow-focus);
3214
3621
  }
3622
+ @supports not selector(:focus-visible) {
3623
+ .navds-date__field--error .navds-date__field-input:focus:not(:hover):not(:disabled) {
3624
+ box-shadow: inset 0 0 0 1px var(--ac-date-input-error-border, var(--a-border-danger)), var(--a-shadow-focus);
3625
+ }
3626
+ }
3215
3627
  .navds-date__field-button {
3216
3628
  position: absolute;
3217
- right: var(--a-spacing-2);
3629
+ right: 1px;
3218
3630
  top: 50%;
3219
3631
  transform: translateY(-50%);
3220
3632
  color: var(--ac-date-input-button-text, var(--a-text-default));
3633
+ display: inline-flex;
3634
+ cursor: pointer;
3635
+ margin: 0;
3636
+ text-decoration: none;
3637
+ border: none;
3638
+ background: none;
3639
+ border-radius: 3px;
3640
+ padding: var(--a-spacing-3);
3641
+ align-items: center;
3642
+ justify-content: center;
3643
+ font-size: 1.5rem;
3644
+ height: calc(100% - 2px);
3645
+ border-start-start-radius: 0;
3646
+ border-end-start-radius: 0;
3221
3647
  }
3222
3648
  .navds-form-field--small .navds-date__field-button {
3223
- right: var(--a-spacing-2);
3224
- height: 1.5rem;
3225
- width: 1.5rem;
3649
+ padding: var(--a-spacing-1);
3226
3650
  }
3227
- .navds-form-field--small .navds-date__field-button svg {
3228
- font-size: var(--a-font-size-medium);
3651
+ .navds-date__field-button:hover:where(:not([disabled])) {
3652
+ color: var(--ac-date-input-button-hover-text, var(--a-text-action-on-action-subtle));
3653
+ background-color: var(--ac-date-input-button-hover-bg, var(--a-surface-action-subtle-hover));
3229
3654
  }
3230
3655
  .navds-form-field--disabled .navds-date__field-button {
3231
3656
  opacity: 1;
3657
+ cursor: not-allowed;
3658
+ }
3659
+ .navds-date__field-button:focus-visible {
3660
+ outline: none;
3661
+ box-shadow: var(--a-shadow-focus);
3662
+ border-radius: var(--a-border-radius-medium);
3663
+ }
3664
+ @supports not selector(:focus-visible) {
3665
+ .navds-date__field-button:focus {
3666
+ outline: none;
3667
+ box-shadow: var(--a-shadow-focus);
3668
+ }
3232
3669
  }
3233
3670
  .navds-date__caption__year {
3234
3671
  width: 5rem;
@@ -3390,7 +3827,7 @@ body,
3390
3827
  gap: var(--a-spacing-2);
3391
3828
  }
3392
3829
  .navds-toggle-group {
3393
- border-radius: 9px;
3830
+ border-radius: var(--a-border-radius-medium);
3394
3831
  background-color: var(--ac-toggle-group-bg, var(--a-surface-transparent));
3395
3832
  box-shadow: inset 0 0 0 1px var(--ac-toggle-group-border, var(--a-border-default));
3396
3833
  padding: calc(var(--a-spacing-1) + 1px);
@@ -3399,6 +3836,9 @@ body,
3399
3836
  grid-auto-flow: column;
3400
3837
  grid-auto-columns: 1fr;
3401
3838
  }
3839
+ .navds-toggle-group--small {
3840
+ padding: calc(var(--a-spacing-05) + 1px);
3841
+ }
3402
3842
  .navds-toggle-group--neutral {
3403
3843
  background-color: var(--ac-toggle-group-neutral-bg, var(--a-surface-transparent));
3404
3844
  box-shadow: inset 0 0 0 1px var(--ac-toggle-group-neutral-border, var(--a-border-default));
@@ -3407,14 +3847,23 @@ body,
3407
3847
  display: inline-flex;
3408
3848
  align-items: center;
3409
3849
  justify-content: center;
3410
- padding: var(--a-spacing-3);
3411
- min-height: 48px;
3850
+ padding: var(--a-spacing-1) var(--a-spacing-3);
3851
+ min-height: 38px;
3412
3852
  border: none;
3413
3853
  cursor: pointer;
3414
3854
  background-color: var(--ac-toggle-group-button-bg, var(--a-surface-transparent));
3415
3855
  color: var(--ac-toggle-group-button-text, var(--a-text-default));
3416
- border-radius: var(--a-border-radius-medium);
3856
+ border-radius: 2px;
3417
3857
  min-width: fit-content;
3858
+ font-weight: var(--a-font-weight-regular);
3859
+ }
3860
+ .navds-toggle-group--medium > :where(.navds-toggle-group__button:first-of-type:focus-visible) {
3861
+ border-start-start-radius: 1px;
3862
+ border-end-start-radius: 1px;
3863
+ }
3864
+ .navds-toggle-group--medium > :where(.navds-toggle-group__button:last-of-type:focus-visible) {
3865
+ border-start-end-radius: 1px;
3866
+ border-end-end-radius: 1px;
3418
3867
  }
3419
3868
  .navds-toggle-group--neutral > .navds-toggle-group__button {
3420
3869
  background-color: var(--ac-toggle-group-button-neutral-bg, var(--a-surface-transparent));
@@ -3422,27 +3871,45 @@ body,
3422
3871
  }
3423
3872
  .navds-toggle-group__button:hover {
3424
3873
  background-color: var(--ac-toggle-group-button-hover-bg, var(--a-surface-action-subtle));
3425
- color: var(--ac-toggle-group-button-hover-text, var(--a-text-action-on-action-subtle));
3874
+ color: var(--ac-toggle-group-button-hover-text, var(--a-text-default));
3426
3875
  }
3427
3876
  .navds-toggle-group--neutral > .navds-toggle-group__button:hover {
3428
3877
  background-color: var(--ac-toggle-group-button-neutral-hover-bg, var(--a-surface-neutral-subtle-hover));
3429
3878
  color: var(--ac-toggle-group-button-neutral-hover-text, var(--a-text-default));
3430
3879
  }
3431
- .navds-toggle-group__button:focus {
3880
+ .navds-toggle-group__button:focus-visible {
3432
3881
  outline: none;
3433
3882
  box-shadow: 0 0 0 1px var(--a-surface-default), 0 0 0 4px var(--a-border-focus);
3434
3883
  }
3435
- .navds-toggle-group__button:focus:hover[aria-pressed="false"] {
3884
+ @supports not selector(:focus-visible) {
3885
+ .navds-toggle-group__button:focus {
3886
+ outline: none;
3887
+ box-shadow: 0 0 0 1px var(--a-surface-default), 0 0 0 4px var(--a-border-focus);
3888
+ }
3889
+ }
3890
+ .navds-toggle-group__button:focus-visible:hover[aria-pressed="false"] {
3436
3891
  box-shadow: 0 0 0 1px var(--ac-toggle-group-button-hover-bg, var(--a-surface-action-subtle)), 0 0 0 4px var(--a-border-focus);
3437
3892
  }
3893
+ @supports not selector(:focus-visible) {
3894
+ .navds-toggle-group__button:focus:hover[aria-pressed="false"] {
3895
+ box-shadow: 0 0 0 1px var(--ac-toggle-group-button-hover-bg, var(--a-surface-action-subtle)), 0 0 0 4px var(--a-border-focus);
3896
+ }
3897
+ }
3438
3898
  .navds-toggle-group--neutral > .navds-toggle-group__button:focus:hover[aria-pressed="false"] {
3439
3899
  box-shadow: 0 0 0 1px var(--ac-toggle-group-button-neutral-hover-bg, var(--a-surface-neutral-subtle-hover)),
3440
3900
  0 0 0 4px var(--a-border-focus);
3441
3901
  }
3902
+ @supports not selector(:focus-visible) {
3903
+ .navds-toggle-group--neutral > .navds-toggle-group__button:focus-visible:hover[aria-pressed="false"] {
3904
+ box-shadow: 0 0 0 1px var(--ac-toggle-group-button-neutral-hover-bg, var(--a-surface-neutral-subtle-hover)),
3905
+ 0 0 0 4px var(--a-border-focus);
3906
+ }
3907
+ }
3442
3908
  .navds-toggle-group__button-inner {
3443
3909
  display: flex;
3444
3910
  align-items: center;
3445
3911
  gap: var(--a-spacing-2);
3912
+ font-weight: inherit;
3446
3913
  }
3447
3914
  .navds-toggle-group__button-inner > * {
3448
3915
  flex-shrink: 0;
@@ -3451,15 +3918,16 @@ body,
3451
3918
  .navds-toggle-group__button[aria-checked="true"] {
3452
3919
  background-color: var(--ac-toggle-group-selected-bg, var(--a-surface-action-selected));
3453
3920
  color: var(--ac-toggle-group-selected-text, var(--a-text-on-action));
3921
+ font-weight: var(--a-font-weight-bold);
3454
3922
  }
3455
3923
  .navds-toggle-group--neutral > .navds-toggle-group__button[aria-pressed="true"],
3456
3924
  .navds-toggle-group--neutral > .navds-toggle-group__button[aria-checked="true"] {
3457
- background-color: var(--ac-toggle-group-neutral-selected-bg, var(--a-surface-neutral));
3925
+ background-color: var(--ac-toggle-group-neutral-selected-bg, var(--a-surface-neutral-selected));
3458
3926
  color: var(--ac-toggle-group-neutral-selected-text, var(--a-text-on-neutral));
3459
3927
  }
3460
3928
  .navds-toggle-group--small > .navds-toggle-group__button {
3461
- padding: 0.375rem;
3462
- min-height: 32px;
3929
+ padding: var(--a-spacing-05) var(--a-spacing-3);
3930
+ min-height: 26px;
3463
3931
  min-width: fit-content;
3464
3932
  }
3465
3933
  .navds-toggle-group__button > .navds-toggle-group__button-inner > svg {
@@ -3493,10 +3961,16 @@ body,
3493
3961
  box-shadow: var(--a-shadow-medium);
3494
3962
  border-color: var(--ac-link-panel-hover-border, var(--a-border-action));
3495
3963
  }
3496
- .navds-link-panel:focus {
3964
+ .navds-link-panel:focus-visible {
3497
3965
  box-shadow: var(--a-shadow-focus);
3498
3966
  outline: none;
3499
3967
  }
3968
+ @supports not selector(:focus-visible) {
3969
+ .navds-link-panel:focus {
3970
+ box-shadow: var(--a-shadow-focus);
3971
+ outline: none;
3972
+ }
3973
+ }
3500
3974
  .navds-link-panel__chevron {
3501
3975
  flex-shrink: 0;
3502
3976
  font-size: 1.5rem;
@@ -3531,10 +4005,16 @@ body,
3531
4005
  .navds-read-more__button:active {
3532
4006
  background-color: var(--ac-read-more-active-bg, var(--a-surface-active));
3533
4007
  }
3534
- .navds-read-more__button:focus {
4008
+ .navds-read-more__button:focus-visible {
3535
4009
  outline: none;
3536
4010
  box-shadow: var(--a-shadow-focus);
3537
4011
  }
4012
+ @supports not selector(:focus-visible) {
4013
+ .navds-read-more__button:focus {
4014
+ outline: none;
4015
+ box-shadow: var(--a-shadow-focus);
4016
+ }
4017
+ }
3538
4018
  .navds-read-more__content {
3539
4019
  margin-top: var(--a-spacing-1);
3540
4020
  border-left: 2px solid var(--ac-read-more-line, var(--a-border-divider));
@@ -3635,11 +4115,18 @@ button.navds-stepper__step {
3635
4115
  color: var(--ac-stepper-non-interactive, var(--a-text-subtle));
3636
4116
  cursor: default;
3637
4117
  }
3638
- :where(.navds-stepper__step):focus {
4118
+ :where(.navds-stepper__step):focus-visible {
3639
4119
  outline: none;
3640
4120
  box-shadow: var(--a-shadow-focus);
3641
4121
  isolation: isolate;
3642
4122
  }
4123
+ @supports not selector(:focus-visible) {
4124
+ .navds-stepper__step:focus {
4125
+ outline: none;
4126
+ box-shadow: var(--a-shadow-focus);
4127
+ isolation: isolate;
4128
+ }
4129
+ }
3643
4130
  .navds-stepper__circle {
3644
4131
  grid-column: circle;
3645
4132
  display: inline-grid;
@@ -3871,10 +4358,16 @@ button.navds-stepper__step {
3871
4358
  .navds-table__sort-button:hover {
3872
4359
  background-color: var(--ac-table-sort-button-hover-bg, var(--a-bg-subtle));
3873
4360
  }
3874
- .navds-table__sort-button:focus {
4361
+ .navds-table__sort-button:focus-visible {
3875
4362
  outline: none;
3876
4363
  box-shadow: inset 0 0 0 2px var(--a-border-focus);
3877
4364
  }
4365
+ @supports not selector(:focus-visible) {
4366
+ .navds-table__sort-button:focus {
4367
+ outline: none;
4368
+ box-shadow: inset 0 0 0 2px var(--a-border-focus);
4369
+ }
4370
+ }
3878
4371
  .navds-table__header-cell[aria-sort="ascending"] .navds-table__sort-button,
3879
4372
  .navds-table__header-cell[aria-sort="descending"] .navds-table__sort-button {
3880
4373
  background-color: var(--ac-table-sort-button-sorted-bg, var(--a-surface-selected));
@@ -3920,9 +4413,14 @@ button.navds-stepper__step {
3920
4413
  .navds-table--small .navds-table__toggle-expand-button {
3921
4414
  padding: var(--a-spacing-2);
3922
4415
  }
3923
- .navds-table__toggle-expand-button:focus {
4416
+ .navds-table__toggle-expand-button:focus-visible {
3924
4417
  box-shadow: inset var(--a-shadow-focus);
3925
4418
  }
4419
+ @supports not selector(:focus-visible) {
4420
+ .navds-table__toggle-expand-button:focus {
4421
+ box-shadow: inset var(--a-shadow-focus);
4422
+ }
4423
+ }
3926
4424
  .navds-table__expandable-icon {
3927
4425
  font-size: 1.5rem;
3928
4426
  }
@@ -4007,11 +4505,18 @@ button.navds-stepper__step {
4007
4505
  box-shadow: inset 0 -3px 0 0 var(--ac-tabs-selected-border, var(--a-border-action));
4008
4506
  color: var(--ac-tabs-selected-text, var(--a-text-default));
4009
4507
  }
4010
- .navds-tabs__tab:focus {
4508
+ .navds-tabs__tab:focus-visible {
4011
4509
  outline: none;
4012
4510
  box-shadow: inset var(--a-shadow-focus);
4013
4511
  color: var(--ac-tabs-focus-text, var(--a-text-default));
4014
4512
  }
4513
+ @supports not selector(:focus-visible) {
4514
+ .navds-tabs__tab:focus {
4515
+ outline: none;
4516
+ box-shadow: inset var(--a-shadow-focus);
4517
+ color: var(--ac-tabs-focus-text, var(--a-text-default));
4518
+ }
4519
+ }
4015
4520
  .navds-tabs__tab-inner {
4016
4521
  display: flex;
4017
4522
  align-items: center;
@@ -4048,6 +4553,12 @@ button.navds-stepper__step {
4048
4553
  outline: none;
4049
4554
  box-shadow: inset 0 0 0 2px var(--a-border-focus);
4050
4555
  }
4556
+ @supports not selector(:focus-visible) {
4557
+ .navds-tabs__tabpanel:focus {
4558
+ outline: none;
4559
+ box-shadow: inset 0 0 0 2px var(--a-border-focus);
4560
+ }
4561
+ }
4051
4562
  .navds-list ul,
4052
4563
  .navds-list ol {
4053
4564
  padding: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/aksel-stylelint",
3
- "version": "3.0.0-beta.4",
3
+ "version": "3.0.0-beta.6",
4
4
  "author": "Aksel | NAV",
5
5
  "homepage": "https://aksel.nav.no/lint",
6
6
  "repository": {