@itwin/itwinui-css 0.54.1 → 0.57.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 (50) hide show
  1. package/css/all.css +872 -473
  2. package/css/anchor.css +21 -17
  3. package/css/breadcrumbs.css +308 -56
  4. package/css/button.css +9 -12
  5. package/css/footer.css +1 -17
  6. package/css/global.css +14 -17
  7. package/css/header.css +3 -2
  8. package/css/inputs.css +18 -168
  9. package/css/menu.css +21 -0
  10. package/css/popover.css +2 -2
  11. package/css/radio-tile.css +217 -0
  12. package/css/table.css +12 -11
  13. package/css/tabs.css +4 -0
  14. package/css/tag.css +55 -64
  15. package/css/text.css +9 -3
  16. package/css/tile.css +29 -17
  17. package/css/toast-notification.css +1 -1
  18. package/css/toggle-switch.css +65 -0
  19. package/package.json +5 -3
  20. package/scss/anchor/classes.scss +4 -0
  21. package/scss/breadcrumbs/breadcrumbs.scss +74 -18
  22. package/scss/breadcrumbs/classes.scss +9 -0
  23. package/scss/button/button.scss +17 -16
  24. package/scss/button/classes.scss +4 -0
  25. package/scss/button/cta.scss +3 -1
  26. package/scss/button/default.scss +0 -2
  27. package/scss/button/high-visibility.scss +3 -1
  28. package/scss/classes.scss +3 -2
  29. package/scss/header/header.scss +8 -1
  30. package/scss/index.scss +3 -2
  31. package/scss/inputs/checkbox.scss +11 -6
  32. package/scss/inputs/classes.scss +0 -4
  33. package/scss/inputs/index.scss +0 -1
  34. package/scss/inputs/labeled-inputs.scss +1 -1
  35. package/scss/menu/menu.scss +27 -0
  36. package/scss/popover/popover.scss +2 -2
  37. package/scss/radio-tile/classes.scss +31 -0
  38. package/scss/radio-tile/index.scss +3 -0
  39. package/scss/radio-tile/radio-tile.scss +209 -0
  40. package/scss/style/anchor.scss +19 -16
  41. package/scss/style/global.scss +4 -0
  42. package/scss/table/paginator.scss +4 -0
  43. package/scss/tabs/tabs.scss +6 -0
  44. package/scss/tag/classes.scss +14 -1
  45. package/scss/tag/tag.scss +45 -46
  46. package/scss/text/skeleton.scss +13 -7
  47. package/scss/tile/tile.scss +19 -13
  48. package/scss/toast-notification/classes.scss +1 -1
  49. package/scss/toggle-switch/toggle-switch.scss +50 -2
  50. package/scss/inputs/radio-tile.scss +0 -200
package/css/tag.css CHANGED
@@ -12,31 +12,17 @@
12
12
  user-select:all;
13
13
  text-transform:lowercase;
14
14
  display:inline-flex;
15
- }
16
- .iui-tag:focus-visible{
17
- outline:2px solid var(--iui-color-foreground-primary);
18
- outline-offset:-2px;
19
- }
20
- @supports not selector(*:focus-visible){
21
- .iui-tag:focus{
22
- outline:2px solid var(--iui-color-foreground-primary);
23
- outline-offset:-2px;
24
- }
25
- }
26
- .iui-tag:not(a){
27
- color:rgba(0, 0, 0, 0.4);
28
- color:var(--iui-text-color-muted);
29
- }
30
- .iui-tag:not(.iui-basic){
31
15
  height:33px;
32
16
  margin:3px 0;
33
- border-radius:16.5px;
17
+ border-radius:9999px;
34
18
  box-sizing:border-box;
35
19
  padding:0 2px;
36
20
  align-items:center;
21
+ transition:border-color 0.2s ease-out;
37
22
  font-size:14px;
38
23
  text-transform:none;
39
24
  cursor:default;
25
+ -webkit-tap-highlight-color:transparent;
40
26
  border:1px solid rgba(0, 0, 0, 0.4);
41
27
  background-color:white;
42
28
  color:rgba(0, 0, 0, 0.8);
@@ -44,12 +30,28 @@
44
30
  background-color:var(--iui-color-background-1);
45
31
  color:var(--iui-text-color);
46
32
  }
47
- @media (prefers-reduced-motion: no-preference){
48
- .iui-tag:not(.iui-basic){
49
- transition:border 0.2s ease-out;
50
- }
33
+ .iui-tag:hover{
34
+ border-color:black;
35
+ border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-1));
36
+ }
37
+
38
+ .iui-tag-basic{
39
+ margin:0;
40
+ padding:0;
41
+ border:none;
42
+ vertical-align:baseline;
43
+ -webkit-user-select:all;
44
+ -moz-user-select:all;
45
+ user-select:all;
46
+ text-transform:lowercase;
47
+ display:inline-flex;
51
48
  }
52
- .iui-tag:not(.iui-basic) > .iui-label{
49
+ .iui-tag-basic:not(a){
50
+ color:rgba(0, 0, 0, 0.4);
51
+ color:var(--iui-text-color-muted);
52
+ }
53
+
54
+ .iui-tag-label{
53
55
  margin:0;
54
56
  padding:0;
55
57
  border:none;
@@ -62,96 +64,85 @@
62
64
  overflow:hidden;
63
65
  margin:0 4px 0 8px;
64
66
  }
65
- .iui-tag:not(.iui-basic) > .iui-label:only-child{
67
+ .iui-tag-label:only-child{
66
68
  margin:0 8px;
67
69
  }
68
- .iui-tag:not(.iui-basic) > .iui-button{
70
+
71
+ .iui-tag-button{
69
72
  border-radius:50%;
70
73
  }
71
- .iui-tag:not(.iui-basic):hover{
72
- border-color:black;
73
- border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-1));
74
- }
75
- .iui-tag.iui-basic{
76
- outline-offset:1px;
77
- }
78
74
 
79
- a.iui-tag{
80
- --_iui-anchor-external-svg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='m16 0v5.4l-1.9-2-8.4 8.4-1.5-1.5 8.3-8.4-1.9-1.9m5.4 16v-9h-1v8h-14v-14h8v-1h-9v16z' /></svg>");
75
+ a.iui-tag-basic{
81
76
  color:#008ae0;
82
77
  -webkit-tap-highlight-color:rgba(0, 138, 224, 0.2);
83
78
  color:var(--iui-color-foreground-primary);
84
79
  -webkit-tap-highlight-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-5));
85
80
  border-radius:3px;
81
+ box-sizing:border-box;
86
82
  cursor:pointer;
87
83
  text-decoration:none;
88
84
  }
89
- a.iui-tag:focus-visible{
85
+ a.iui-tag-basic:focus-visible{
90
86
  outline:1px solid var(--iui-color-foreground-primary);
91
87
  outline-offset:1px;
92
88
  }
93
89
  @supports not selector(*:focus-visible){
94
- a.iui-tag:focus{
90
+ a.iui-tag-basic:focus{
95
91
  outline:1px solid var(--iui-color-foreground-primary);
96
92
  outline-offset:1px;
97
93
  }
98
94
  }
99
- a.iui-tag:hover{
95
+ a.iui-tag-basic:hover{
100
96
  color:#006bad;
101
97
  color:var(--iui-color-foreground-primary-overlay);
102
98
  }
103
- a.iui-tag-external::after{
104
- content:"";
105
- display:inline-block;
106
- width:1.5ch;
107
- height:1.5ch;
108
- margin-left:0.5ch;
109
- vertical-align:-0.1ch;
110
- background-color:currentColor;
111
- -webkit-mask:var(--_iui-anchor-external-svg);
112
- mask:var(--_iui-anchor-external-svg);
113
- }
114
- @media (forced-colors: active){
115
- a.iui-tag-external::after{
116
- background-color:LinkText;
117
- }
118
- }
119
- a.iui-tag:hover{
99
+ a.iui-tag-basic:hover{
120
100
  text-decoration:underline;
121
101
  }
122
102
  @media (prefers-contrast: more){
123
- a.iui-tag{
103
+ a.iui-tag-basic{
124
104
  text-decoration:underline;
125
105
  }
126
- a.iui-tag:hover{
106
+ a.iui-tag-basic:hover{
127
107
  text-decoration:none;
128
108
  }
129
109
  }
130
- .iui-theme-light a.iui-tag, .iui-theme-dark a.iui-tag{
110
+ .iui-theme-light a.iui-tag-basic, .iui-theme-dark a.iui-tag-basic{
131
111
  text-decoration:none;
132
112
  }
133
- .iui-theme-light a.iui-tag:hover, .iui-theme-dark a.iui-tag:hover{
113
+ .iui-theme-light a.iui-tag-basic:hover, .iui-theme-dark a.iui-tag-basic:hover{
134
114
  text-decoration:underline;
135
115
  }
136
116
 
137
- .iui-theme-light-hc a.iui-tag, .iui-theme-dark-hc a.iui-tag{
117
+ .iui-theme-light-hc a.iui-tag-basic, .iui-theme-dark-hc a.iui-tag-basic{
138
118
  text-decoration:underline;
139
119
  }
140
- .iui-theme-light-hc a.iui-tag:hover, .iui-theme-dark-hc a.iui-tag:hover{
120
+ .iui-theme-light-hc a.iui-tag-basic:hover, .iui-theme-dark-hc a.iui-tag-basic:hover{
141
121
  text-decoration:none;
142
122
  }
143
123
 
124
+ a.iui-tag-basic:focus-visible{
125
+ outline:1px solid var(--iui-color-foreground-primary);
126
+ outline-offset:1px;
127
+ }
128
+ @supports not selector(*:focus-visible){
129
+ a.iui-tag-basic:focus{
130
+ outline:1px solid var(--iui-color-foreground-primary);
131
+ outline-offset:1px;
132
+ }
133
+ }
134
+
144
135
  .iui-tag-container{
145
136
  color:rgba(0, 0, 0, 0.4);
146
137
  color:var(--iui-text-color-muted);
147
138
  }
148
- .iui-tag-container > a.iui-basic{
139
+ .iui-tag-container > a.iui-tag-basic{
149
140
  margin:2px;
150
141
  }
151
- .iui-tag-container > .iui-tag:not(:last-child){
142
+ .iui-tag-container > *:not(last-child){
152
143
  margin-right:4px;
153
144
  }
154
- .iui-tag-container > .iui-basic:not(:last-child)::after{
145
+ .iui-tag-container > .iui-tag-basic:not(:last-child)::after{
155
146
  content:",";
156
147
  }
157
148
  .iui-tag-container.iui-truncate{
@@ -174,6 +165,6 @@ a.iui-tag:hover{
174
165
  .iui-tag-container.iui-visible{
175
166
  border-radius:3px;
176
167
  padding:3px 12px;
177
- background-color:#f9f9fb;
178
- background-color:var(--iui-color-background-2);
168
+ background-color:#edeff2;
169
+ background-color:var(--iui-color-background-3);
179
170
  }
package/css/text.css CHANGED
@@ -75,11 +75,17 @@
75
75
  user-select:none;
76
76
  color:transparent;
77
77
  border-radius:3px;
78
- background:linear-gradient(270deg, #edeff2, #edeff2, #f9f9fb, #edeff2, #edeff2);
79
- background-size:200% 100%;
80
- background:linear-gradient(270deg, var(--iui-color-background-3), var(--iui-color-background-3), var(--iui-color-background-2), var(--iui-color-background-3), var(--iui-color-background-3));
78
+ cursor:progress;
79
+ background:linear-gradient(292deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4));
80
+ background:linear-gradient(292deg, var(--iui-text-color-muted), var(--iui-text-color-muted), var(--iui-text-color-placeholder), var(--iui-text-color-muted), var(--iui-text-color-muted));
81
81
  background-size:200% 100%;
82
82
  }
83
+ @media (forced-colors: active){
84
+ .iui-skeleton{
85
+ forced-color-adjust:none;
86
+ background:linear-gradient(292deg, CanvasText, CanvasText, Canvas, CanvasText, CanvasText);
87
+ }
88
+ }
83
89
  @media (prefers-reduced-motion: no-preference){
84
90
  .iui-skeleton{
85
91
  -webkit-animation:skeleton-shimmer 0.8s linear infinite;
package/css/tile.css CHANGED
@@ -7,25 +7,23 @@
7
7
  padding:0;
8
8
  border:none;
9
9
  vertical-align:baseline;
10
+ --iui-surface-background-color:var(--iui-color-background-1);
11
+ --iui-surface-border-radius:0;
12
+ --iui-surface-elevation:0 1px 5px rgba(0, 0, 0, 0.25);
13
+ background-color:var(--iui-surface-background-color);
14
+ border-radius:var(--iui-surface-border-radius);
15
+ box-shadow:var(--iui-surface-elevation);
16
+ box-sizing:border-box;
17
+ color:var(--iui-text-color);
10
18
  display:inline-flex;
11
19
  flex-direction:column;
12
20
  width:288px;
13
- box-shadow:0 1px 5px rgba(0, 0, 0, 0.25);
14
21
  -webkit-backface-visibility:hidden;
15
22
  backface-visibility:hidden;
16
- background-color:white;
17
- color:rgba(0, 0, 0, 0.8);
18
- background-color:var(--iui-color-background-1);
19
- color:var(--iui-text-color);
20
- }
21
- .iui-tile:focus-visible{
22
- outline:2px solid var(--iui-color-foreground-primary);
23
- outline-offset:2px;
24
23
  }
25
- @supports not selector(*:focus-visible){
26
- .iui-tile:focus{
27
- outline:2px solid var(--iui-color-foreground-primary);
28
- outline-offset:2px;
24
+ @media (forced-colors: active){
25
+ .iui-tile{
26
+ border:1px solid transparent;
29
27
  }
30
28
  }
31
29
  .iui-tile:hover .iui-tile-more-options, .iui-tile:focus-within .iui-tile-more-options{
@@ -43,9 +41,6 @@
43
41
  .iui-tile:hover .iui-tile-metadata:not(:last-child), .iui-tile:focus-within .iui-tile-metadata:not(:last-child){
44
42
  width:calc(100% - 32px);
45
43
  }
46
- .iui-tile:hover .iui-tile-thumbnail-picture, .iui-tile:focus-within .iui-tile-thumbnail-picture{
47
- transform:translateZ(0) scale(1.1);
48
- }
49
44
  .iui-tile.iui-new .iui-tile-name,
50
45
  .iui-tile.iui-new .iui-tile-description{
51
46
  font-weight:600;
@@ -66,7 +61,24 @@
66
61
  outline-offset:0;
67
62
  }
68
63
  }
69
- .iui-tile.iui-selected .iui-tile-thumbnail-picture{
64
+ .iui-tile.iui-actionable{
65
+ cursor:pointer;
66
+ transition:box-shadow 0.2s ease-in-out;
67
+ }
68
+ .iui-tile.iui-actionable:focus-visible{
69
+ outline:2px solid var(--iui-color-foreground-primary);
70
+ outline-offset:2px;
71
+ }
72
+ @supports not selector(*:focus-visible){
73
+ .iui-tile.iui-actionable:focus{
74
+ outline:2px solid var(--iui-color-foreground-primary);
75
+ outline-offset:2px;
76
+ }
77
+ }
78
+ .iui-tile.iui-actionable:hover{
79
+ box-shadow:0 3px 14px rgba(0, 0, 0, 0.25);
80
+ }
81
+ .iui-tile.iui-actionable:hover .iui-tile-thumbnail-picture, .iui-tile.iui-actionable:focus-within .iui-tile-thumbnail-picture, .iui-tile.iui-actionable.iui-selected .iui-tile-thumbnail-picture{
70
82
  transform:translateZ(0) scale(1.1);
71
83
  }
72
84
  .iui-tile.iui-folder{
@@ -9,7 +9,7 @@
9
9
  align-items:center;
10
10
  flex-direction:column;
11
11
  justify-content:center;
12
- z-index:1070;
12
+ z-index:99999;
13
13
  }
14
14
  @media screen and (max-width: 400px){
15
15
  .iui-toast-wrapper{
@@ -38,6 +38,11 @@
38
38
  color:rgba(0, 0, 0, 0.4);
39
39
  color:var(--iui-text-color-muted);
40
40
  }
41
+ @media (forced-colors: active){
42
+ .iui-toggle-switch-wrapper.iui-disabled{
43
+ color:GrayText;
44
+ }
45
+ }
41
46
  .iui-toggle-switch-wrapper.iui-label-on-left{
42
47
  grid-template-areas:"label toggle";
43
48
  }
@@ -119,13 +124,29 @@
119
124
  transition:transform 0.2s ease-out, background-color 0.2s ease-out, opacity 0.2s ease-out;
120
125
  }
121
126
  }
127
+ @media (forced-colors: active){
128
+ .iui-toggle-switch{
129
+ border-color:CanvasText;
130
+ }
131
+ }
122
132
  .iui-toggle-switch::after{
123
133
  background-color:var(--iui-color-foreground-body);
124
134
  opacity:var(--iui-opacity-2);
125
135
  }
136
+ @media (forced-colors: active){
137
+ .iui-toggle-switch::after{
138
+ background-color:CanvasText;
139
+ opacity:1;
140
+ }
141
+ }
126
142
  .iui-toggle-switch:hover{
127
143
  border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
128
144
  }
145
+ @media (forced-colors: active){
146
+ .iui-toggle-switch:hover{
147
+ border-color:CanvasText;
148
+ }
149
+ }
129
150
  .iui-toggle-switch:focus-visible{
130
151
  border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
131
152
  }
@@ -138,11 +159,23 @@
138
159
  background-color:var(--iui-color-background-primary);
139
160
  border-color:var(--iui-color-background-primary);
140
161
  }
162
+ @media (forced-colors: active){
163
+ .iui-toggle-switch:checked{
164
+ background-color:Highlight;
165
+ border-color:Highlight;
166
+ }
167
+ }
141
168
  .iui-toggle-switch:checked::after{
142
169
  transform:translateX(19px);
143
170
  background-color:var(--iui-color-foreground-accessory);
144
171
  opacity:var(--iui-opacity-2);
145
172
  }
173
+ @media (forced-colors: active){
174
+ .iui-toggle-switch:checked::after{
175
+ background-color:HighlightText;
176
+ opacity:1;
177
+ }
178
+ }
146
179
  .iui-toggle-switch:checked ~ .iui-toggle-switch-icon{
147
180
  opacity:var(--iui-opacity-1);
148
181
  }
@@ -162,17 +195,44 @@
162
195
  background-color:var(--iui-color-background-disabled);
163
196
  border-color:var(--iui-color-background-disabled);
164
197
  }
198
+ @media (forced-colors: active){
199
+ .iui-toggle-switch:disabled{
200
+ border-color:GrayText;
201
+ }
202
+ }
165
203
  .iui-toggle-switch:disabled::after{
166
204
  background-color:var(--iui-color-foreground-body);
167
205
  opacity:var(--iui-opacity-5);
168
206
  }
207
+ @media (forced-colors: active){
208
+ .iui-toggle-switch:disabled::after{
209
+ background-color:GrayText;
210
+ opacity:0.75;
211
+ }
212
+ }
169
213
  .iui-toggle-switch:disabled ~ .iui-toggle-switch-icon{
170
214
  opacity:0;
171
215
  fill:var(--iui-icons-color-actionable);
172
216
  }
217
+ @media (forced-colors: active){
218
+ .iui-toggle-switch:disabled:checked{
219
+ background-color:GrayText;
220
+ }
221
+ }
222
+ @media (forced-colors: active){
223
+ .iui-toggle-switch:disabled:checked::after{
224
+ background-color:Canvas;
225
+ }
226
+ }
173
227
  .iui-toggle-switch:disabled:checked ~ .iui-toggle-switch-icon{
174
228
  opacity:var(--iui-opacity-5);
175
229
  }
230
+ @media (forced-colors: active){
231
+ .iui-toggle-switch:disabled:checked ~ .iui-toggle-switch-icon{
232
+ fill:Canvas;
233
+ opacity:0.75;
234
+ }
235
+ }
176
236
  .iui-toggle-switch-icon{
177
237
  -ms-grid-row:1;
178
238
  -ms-grid-column:1;
@@ -195,4 +255,9 @@
195
255
  .iui-toggle-switch-wrapper.iui-label-on-right > .iui-toggle-switch-icon{
196
256
  -ms-grid-row:1;
197
257
  -ms-grid-column:1;
258
+ }
259
+ @media (forced-colors: active){
260
+ .iui-toggle-switch-icon{
261
+ fill:HighlightText;
262
+ }
198
263
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/itwinui-css",
3
- "version": "0.54.1",
3
+ "version": "0.57.0",
4
4
  "author": "Bentley Systems",
5
5
  "license": "MIT",
6
6
  "main": "src/index.scss",
@@ -55,7 +55,8 @@
55
55
  "test:ci": "backstop --config=./backstop/backstop.js test --docker",
56
56
  "clean:images": "node scripts/removeOldTestImages.js",
57
57
  "print": "node scripts/print.js",
58
- "audit:ci": "audit-ci --moderate --report-type=full"
58
+ "audit:ci": "audit-ci --moderate --report-type=full",
59
+ "build-docker": "node scripts/buildDocker.js"
59
60
  },
60
61
  "devDependencies": {
61
62
  "audit-ci": "^4.0.0",
@@ -85,6 +86,7 @@
85
86
  "jpeg-js": "^0.4.3",
86
87
  "set-value": "^4.1.0",
87
88
  "ansi-regex": "^5.0.1",
88
- "node-fetch": "^2.6.7"
89
+ "node-fetch": "^2.6.7",
90
+ "async": "^3.2.2"
89
91
  }
90
92
  }
@@ -4,4 +4,8 @@
4
4
 
5
5
  .iui-anchor {
6
6
  @include iui-anchor;
7
+
8
+ &-external {
9
+ @include iui-anchor-external;
10
+ }
7
11
  }
@@ -21,45 +21,101 @@
21
21
 
22
22
  @mixin iui-breadcrumbs-item {
23
23
  display: flex;
24
+ align-items: center;
24
25
  line-height: $iui-component-height;
25
26
  height: $iui-component-height;
26
- max-width: $iui-3xl * 2;
27
- margin: 0 $iui-sm;
28
27
 
29
- a {
30
- @include iui-anchor;
31
- }
32
-
33
- .iui-button {
34
- @include iui-button-borderless;
35
- margin: 0 (-$iui-s - 1);
28
+ > * {
29
+ max-width: 26ch;
36
30
  }
31
+ }
37
32
 
38
- > *,
39
- .iui-button-label {
33
+ @mixin iui-breadcrumbs-item-overrides {
34
+ > * {
35
+ padding: 0 $iui-s;
40
36
  overflow: hidden;
41
37
  white-space: nowrap;
42
38
  text-overflow: ellipsis;
39
+ @include themed {
40
+ color: t(iui-text-color);
41
+ }
43
42
  }
44
43
 
45
- &:not(.iui-current) > .iui-button {
46
- @include themed {
47
- color: t(iui-color-foreground-primary);
44
+ > :any-link {
45
+ @include iui-anchor;
46
+
47
+ &:focus {
48
+ outline-offset: -1px;
49
+ }
50
+ }
51
+
52
+ .iui-button {
53
+ &.iui-button {
54
+ @include iui-button-borderless;
55
+ @include iui-focus;
56
+ border: none;
57
+ }
58
+
59
+ &-label {
60
+ overflow: hidden;
61
+ white-space: nowrap;
62
+ text-overflow: ellipsis;
48
63
  }
49
64
 
50
- &:hover {
51
- @include themed {
52
- color: t(iui-color-foreground-primary-overlay);
65
+ &:not([aria-current]) {
66
+ &,
67
+ &:hover,
68
+ &:active {
69
+ --_iui-button-text-color: var(--iui-color-foreground-primary);
53
70
  }
54
71
  }
55
72
  }
56
73
  }
57
74
 
75
+ @mixin iui-breadcrumbs-text {
76
+ padding: 0 $iui-s;
77
+ overflow: hidden;
78
+ white-space: nowrap;
79
+ text-overflow: ellipsis;
80
+
81
+ @at-root a#{&} {
82
+ @include iui-anchor;
83
+
84
+ &:focus {
85
+ outline-offset: -1px;
86
+ }
87
+ }
88
+ }
89
+
90
+ @mixin iui-breadcrumbs-button {
91
+ @include iui-button;
92
+ @include iui-button-borderless;
93
+ padding: 0;
94
+ border: none;
95
+ @include themed {
96
+ color: t(iui-color-foreground-primary);
97
+ }
98
+
99
+ &[aria-current] {
100
+ @include themed {
101
+ color: t(iui-text-color);
102
+ }
103
+ }
104
+ }
105
+
58
106
  @mixin iui-breadcrumbs-separator {
59
107
  display: flex;
108
+ margin: 0 $iui-xxs;
60
109
 
61
110
  svg {
62
- @include iui-icons-small;
111
+ width: $iui-icons-small;
112
+ height: $iui-icons-small;
63
113
  display: flex; // needed for vertical alignment of webcomponents
114
+ @include themed {
115
+ fill: t(iui-icons-color);
116
+ }
117
+ @media (forced-colors: active) {
118
+ fill: CanvasText;
119
+ }
64
120
  }
65
121
  }
@@ -12,6 +12,15 @@
12
12
 
13
13
  .iui-breadcrumbs-item {
14
14
  @include iui-breadcrumbs-item;
15
+ @include iui-breadcrumbs-item-overrides;
16
+ }
17
+
18
+ .iui-breadcrumbs-text {
19
+ @include iui-breadcrumbs-text;
20
+ }
21
+
22
+ .iui-breadcrumbs-button {
23
+ @include iui-breadcrumbs-button;
15
24
  }
16
25
 
17
26
  .iui-breadcrumbs-separator {
@@ -11,6 +11,7 @@ $iui-button-padding-large: $iui-xs * 6;
11
11
 
12
12
  @mixin iui-button {
13
13
  --_iui-button-active-stripe-inset: initial;
14
+ --_iui-button-text-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
14
15
 
15
16
  @include iui-reset;
16
17
  font-family: inherit;
@@ -38,12 +39,12 @@ $iui-button-padding-large: $iui-xs * 6;
38
39
  @include themed {
39
40
  color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
40
41
  }
42
+ color: var(--_iui-button-text-color);
41
43
 
42
44
  &:hover {
45
+ --_iui-button-text-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-1));
46
+
43
47
  text-decoration: none;
44
- @include themed {
45
- color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-1));
46
- }
47
48
  }
48
49
 
49
50
  @include iui-focus;
@@ -52,21 +53,21 @@ $iui-button-padding-large: $iui-xs * 6;
52
53
  &:disabled {
53
54
  @include iui-button-disabled;
54
55
  }
56
+ }
55
57
 
56
- &.iui-active {
57
- // Shows active stripe only if --_iui-button-active-stripe-inset is set (from outside)
58
- &::after {
59
- content: '';
60
- position: absolute;
61
- inset: var(--_iui-button-active-stripe-inset);
62
- background-color: var(--iui-color-foreground-primary);
63
- }
58
+ @mixin iui-button-active {
59
+ // Shows active stripe only if --_iui-button-active-stripe-inset is set (from outside)
60
+ &::after {
61
+ content: '';
62
+ position: absolute;
63
+ inset: var(--_iui-button-active-stripe-inset);
64
+ background-color: var(--iui-color-foreground-primary);
65
+ }
64
66
 
65
- &[disabled],
66
- &:disabled {
67
- &::after {
68
- background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5));
69
- }
67
+ &[disabled],
68
+ &:disabled {
69
+ &::after {
70
+ background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5));
70
71
  }
71
72
  }
72
73
  }
@@ -6,6 +6,10 @@
6
6
  @include iui-button;
7
7
  @include iui-button-size;
8
8
 
9
+ &.iui-active {
10
+ @include iui-button-active;
11
+ }
12
+
9
13
  &.iui-default {
10
14
  @include iui-button-default;
11
15
  }
@@ -6,11 +6,14 @@
6
6
  @import './disabled';
7
7
 
8
8
  @mixin iui-button-cta {
9
+ --_iui-button-text-color: var(--iui-color-foreground-accessory);
10
+
9
11
  @include themed {
10
12
  background-color: t(iui-color-background-positive);
11
13
  border-color: t(iui-color-background-positive);
12
14
  color: t(iui-color-foreground-accessory);
13
15
  }
16
+ color: var(--_iui-button-text-color);
14
17
  @include iui-focus($color: var(--iui-color-foreground-accessory), $offset: -3px, $thickness: 1px);
15
18
 
16
19
  &:hover,
@@ -18,7 +21,6 @@
18
21
  @include themed {
19
22
  background-color: t(iui-color-background-positive-overlay);
20
23
  border-color: t(iui-color-background-positive-overlay);
21
- color: t(iui-color-foreground-accessory);
22
24
  }
23
25
  }
24
26