@navikt/ds-css 8.4.1 → 8.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@navikt/ds-css",
3
- "version": "8.4.1",
3
+ "version": "8.5.1",
4
4
  "description": "CSS for Nav Designsystem",
5
5
  "author": "Aksel | Nav designsystem team",
6
6
  "keywords": [
@@ -30,7 +30,7 @@
30
30
  "css:get-version": "node config/get-version.js"
31
31
  },
32
32
  "devDependencies": {
33
- "@navikt/ds-tokens": "^8.4.1",
33
+ "@navikt/ds-tokens": "^8.5.1",
34
34
  "browserslist": "^4.25.0",
35
35
  "esbuild": "^0.27.2",
36
36
  "fast-glob": "3.3.3",
@@ -1,20 +1,18 @@
1
+ /* stylelint-disable no-duplicate-selectors */
2
+
1
3
  .aksel-data-table__border-wrapper {
2
- border: 1px solid var(--ax-border-neutral-subtle);
3
- border-radius: var(--ax-radius-12);
4
- overflow: hidden;
5
- flex-grow: 1;
4
+ /* display:flex and max-height:100% is needed for a "no page scroll" layout */
5
+ display: flex;
6
+ max-height: 100%;
6
7
  }
7
8
 
8
9
  .aksel-data-table__scroll-wrapper {
9
10
  overflow: auto;
10
11
  width: 100%;
11
- height: 100%;
12
12
  position: relative;
13
13
  }
14
14
 
15
15
  .aksel-data-table {
16
- border-collapse: collapse;
17
- border-spacing: 0;
18
16
  table-layout: fixed;
19
17
  width: 1px; /* This is for some reason needed to make the browser respect the column width. TODO: Test in all browsers */
20
18
 
@@ -29,25 +27,25 @@
29
27
  --__axc-data-table-density: var(--ax-space-16) 0;
30
28
 
31
29
  &[data-density="condensed"] {
32
- --__axc-data-table-density: 0 0;
30
+ --__axc-data-table-density: var(--ax-space-8) 0;
33
31
  }
34
32
 
35
33
  &[data-density="spacious"] {
36
34
  --__axc-data-table-density: var(--ax-space-32) 0;
37
35
  }
38
- }
39
36
 
40
- .aksel-data-table--zebra-stripes {
41
- & .aksel-data-table__tbody :where(.aksel-data-table__tr:nth-child(odd)) {
42
- background-color: var(--ax-bg-neutral-softA);
37
+ &[data-zebra-stripes="true"] {
38
+ & .aksel-data-table__tbody :where(.aksel-data-table__tr:nth-child(odd)) {
39
+ background-color: var(--ax-bg-neutral-softA);
40
+ }
43
41
  }
44
- }
45
42
 
46
- .aksel-data-table--truncate-content {
47
- .aksel-data-table__td > div:not(:has(> .aksel-checkbox)) {
48
- text-overflow: ellipsis;
49
- white-space: nowrap;
50
- overflow: hidden;
43
+ &[data-truncate-content="true"] {
44
+ .aksel-data-table__td > div {
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ overflow: hidden;
48
+ }
51
49
  }
52
50
  }
53
51
 
@@ -55,17 +53,12 @@
55
53
  background-color: var(--ax-bg-raised);
56
54
  position: sticky;
57
55
  top: 0;
58
- box-shadow: 0 1px 0 0 var(--ax-border-neutral-subtle);
59
56
  }
60
57
 
61
58
  .aksel-data-table__tbody {
62
59
  background-color: var(--ax-bg-raised);
63
60
  }
64
61
 
65
- .aksel-data-table__tr {
66
- border: none;
67
- }
68
-
69
62
  .aksel-data-table__tr--selected {
70
63
  background-color: var(--ax-bg-softA);
71
64
  box-shadow:
@@ -84,20 +77,51 @@
84
77
  }
85
78
  }
86
79
 
80
+ /* BORDER STYLING START */
81
+
82
+ .aksel-data-table__border-wrapper {
83
+ border-radius: var(--ax-radius-12);
84
+ overflow: hidden;
85
+ position: relative;
86
+
87
+ &::after {
88
+ content: "";
89
+ position: absolute;
90
+ inset: 0;
91
+ pointer-events: none;
92
+ border: 1px solid var(--ax-border-neutral-subtle);
93
+ border-radius: var(--ax-radius-12);
94
+ }
95
+ }
96
+
97
+ .aksel-data-table {
98
+ border-collapse: collapse;
99
+ border-spacing: 0;
100
+ border-right: 1px solid var(--ax-border-neutral-subtle);
101
+ border-bottom: 1px solid var(--ax-border-neutral-subtle);
102
+ }
103
+
104
+ .aksel-data-table__thead {
105
+ box-shadow: 0 1px 0 0 var(--ax-border-neutral-subtle);
106
+ }
107
+
108
+ .aksel-data-table__th,
109
+ .aksel-data-table__td {
110
+ /* border doesn't work on sticky thead when we have collapsed borders, so using box-shadow instead */
111
+ box-shadow: inset 1px 1px 0 0 var(--ax-border-neutral-subtle);
112
+ }
113
+
114
+ /* BORDER STYLING END */
115
+
87
116
  .aksel-data-table__th {
88
117
  position: relative;
89
118
  background-color: var(--ax-bg-neutral-soft);
90
119
  color: var(--ax-text-neutral);
91
120
  padding: var(--ax-space-8) var(--ax-space-16);
92
121
  text-align: start;
93
- border-block-end: 1px solid var(--ax-border-neutral-subtle);
94
-
95
- &:not(:first-child) {
96
- border-inline-start: 1px solid var(--ax-border-neutral-subtle);
97
- }
98
122
  }
99
123
 
100
- .aksel-data-table__th-content:not(:has(> .aksel-checkbox)) {
124
+ .aksel-data-table__th-content {
101
125
  text-overflow: ellipsis;
102
126
  white-space: nowrap;
103
127
  overflow: hidden;
@@ -132,6 +156,15 @@
132
156
  &:active::after {
133
157
  background: var(--ax-bg-strong-pressed);
134
158
  }
159
+
160
+ .aksel-data-table__th:last-child & {
161
+ inset-inline-end: 0;
162
+ width: 15px;
163
+
164
+ &::after {
165
+ inset-inline-end: 0;
166
+ }
167
+ }
135
168
  }
136
169
 
137
170
  .aksel-data-table__th-action-button {
@@ -157,22 +190,11 @@
157
190
  .aksel-data-table__td {
158
191
  text-align: start;
159
192
  vertical-align: middle;
160
- border-block-end: 1px solid var(--ax-border-neutral-subtle);
161
- border-block-start: 1px solid var(--ax-bg-raised);
162
193
  color: var(--ax-text-neutral-subtle);
163
- padding: var(--__axc-data-table-density);
164
- padding-inline: 1rem;
165
-
166
- &:not(:first-child) {
167
- border-inline-start: 1px solid var(--ax-border-neutral-subtle);
168
- }
169
-
170
- .aksel-data-table__tfoot .aksel-data-table__tr:last-child & {
171
- border-block-end: none;
172
- }
173
194
 
174
- .aksel-data-table:not(:has(.aksel-data-table__tfoot)) .aksel-data-table__tr:not(.aksel-data-table__tr--selected):last-child & {
175
- border-block-end: none;
195
+ > div {
196
+ padding: var(--__axc-data-table-density);
197
+ padding-inline: 1rem;
176
198
  }
177
199
  }
178
200