@itwin/itwinui-css 0.61.0 → 1.0.0-dev.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 (194) hide show
  1. package/README.md +1 -4
  2. package/css/alert.css +272 -138
  3. package/css/all.css +4070 -5172
  4. package/css/anchor.css +0 -4
  5. package/css/{user-icon.css → avatar.css} +51 -71
  6. package/css/badge.css +1 -1
  7. package/css/blockquote.css +0 -3
  8. package/css/breadcrumbs.css +59 -132
  9. package/css/button.css +255 -340
  10. package/css/carousel.css +6 -14
  11. package/css/checkbox.css +149 -0
  12. package/css/code.css +2 -10
  13. package/css/color-picker.css +5 -43
  14. package/css/date-picker.css +0 -59
  15. package/css/dialog.css +0 -5
  16. package/css/expandable-block.css +0 -31
  17. package/css/fieldset.css +0 -5
  18. package/css/file-upload.css +0 -15
  19. package/css/footer.css +0 -8
  20. package/css/global.css +8 -63
  21. package/css/header.css +312 -398
  22. package/css/icon.css +0 -30
  23. package/css/information-panel.css +1 -15
  24. package/css/input.css +162 -0
  25. package/css/keyboard.css +1 -5
  26. package/css/location-marker.css +0 -11
  27. package/css/menu.css +0 -16
  28. package/css/progress-indicator.css +1 -93
  29. package/css/radio-tile.css +38 -65
  30. package/css/radio.css +156 -0
  31. package/css/select.css +230 -0
  32. package/css/side-navigation.css +5 -20
  33. package/css/skip-to-content.css +0 -3
  34. package/css/slider.css +2 -14
  35. package/css/stepper.css +141 -0
  36. package/css/surface.css +0 -1
  37. package/css/table.css +251 -338
  38. package/css/tabs.css +6 -49
  39. package/css/tag.css +3 -21
  40. package/css/text.css +0 -2
  41. package/css/textarea.css +96 -0
  42. package/css/tile.css +169 -155
  43. package/css/time-picker.css +0 -12
  44. package/css/{toast-notification.css → toast.css} +1 -43
  45. package/css/toggle-switch.css +13 -60
  46. package/css/tooltip.css +0 -3
  47. package/css/tree.css +0 -14
  48. package/css/utils.css +609 -0
  49. package/css/workflow-diagram.css +67 -0
  50. package/package.json +11 -7
  51. package/scss/alert/alert.scss +50 -44
  52. package/scss/alert/classes.scss +24 -4
  53. package/scss/anchor/anchor.scss +76 -1
  54. package/scss/{user-icon/sizes.scss → avatar/avatar-sizes.scss} +6 -5
  55. package/scss/{user-icon/user-icon.scss → avatar/avatar.scss} +35 -70
  56. package/scss/avatar/classes.scss +27 -0
  57. package/scss/{user-icon → avatar}/index.scss +1 -2
  58. package/scss/badge/badge.scss +4 -2
  59. package/scss/blockquote/blockquote.scss +4 -9
  60. package/scss/breadcrumbs/breadcrumbs.scss +13 -18
  61. package/scss/button/borderless.scss +20 -32
  62. package/scss/button/button-group.scss +15 -7
  63. package/scss/button/button.scss +64 -42
  64. package/scss/button/classes.scss +47 -37
  65. package/scss/button/default.scss +33 -41
  66. package/scss/button/idea.scss +4 -2
  67. package/scss/button/index.scss +3 -6
  68. package/scss/button/split-button.scss +45 -0
  69. package/scss/button/variant.scss +44 -0
  70. package/scss/carousel/carousel.scss +12 -23
  71. package/scss/{inputs → checkbox}/checkbox.scss +50 -2
  72. package/scss/checkbox/classes.scss +7 -0
  73. package/scss/checkbox/index.scss +3 -0
  74. package/scss/classes.scss +10 -6
  75. package/scss/code/code.scss +3 -5
  76. package/scss/code/codeblock.scss +7 -21
  77. package/scss/color-picker/color-picker.scss +32 -61
  78. package/scss/date-picker/date-picker.scss +21 -55
  79. package/scss/dialog/dialog.scss +1 -6
  80. package/scss/expandable-block/block.scss +22 -50
  81. package/scss/fieldset/fieldset.scss +6 -12
  82. package/scss/file-upload/file-upload.scss +13 -23
  83. package/scss/footer/footer.scss +5 -15
  84. package/scss/header/classes.scss +70 -2
  85. package/scss/header/header-buttons.scss +316 -0
  86. package/scss/header/header.scss +40 -408
  87. package/scss/header/index.scss +1 -0
  88. package/scss/icon/{mixins.scss → icon.scss} +5 -15
  89. package/scss/icon/index.scss +1 -2
  90. package/scss/index.scss +10 -6
  91. package/scss/information-panel/information-panel.scss +8 -26
  92. package/scss/input/classes.scss +15 -0
  93. package/scss/input/index.scss +4 -0
  94. package/scss/{inputs → input}/input-with-icon.scss +1 -0
  95. package/scss/{inputs → input}/input.scss +15 -25
  96. package/scss/keyboard/keyboard.scss +5 -9
  97. package/scss/location-marker/data-rich.scss +5 -14
  98. package/scss/location-marker/default.scss +1 -3
  99. package/scss/location-marker/location-marker.scss +1 -3
  100. package/scss/location-marker/me.scss +7 -14
  101. package/scss/menu/menu.scss +16 -36
  102. package/scss/non-ideal-state/non-ideal-state.scss +2 -1
  103. package/scss/progress-indicator/classes.scss +0 -4
  104. package/scss/progress-indicator/linear.scss +9 -27
  105. package/scss/progress-indicator/overlay.scss +4 -10
  106. package/scss/progress-indicator/radial.scss +10 -98
  107. package/scss/radio/classes.scss +7 -0
  108. package/scss/radio/index.scss +3 -0
  109. package/scss/{inputs → radio}/radio.scss +1 -1
  110. package/scss/radio-tile/radio-tile.scss +41 -83
  111. package/scss/select/classes.scss +27 -0
  112. package/scss/select/index.scss +3 -0
  113. package/scss/{inputs → select}/select.scss +7 -15
  114. package/scss/side-navigation/side-navigation.scss +26 -34
  115. package/scss/skip-to-content/skip-to-content.scss +2 -3
  116. package/scss/slider/slider.scss +12 -23
  117. package/scss/stepper/classes.scss +32 -0
  118. package/scss/stepper/index.scss +3 -0
  119. package/scss/stepper/stepper.scss +151 -0
  120. package/scss/style/{variables.scss → global-variables.scss} +3 -1
  121. package/scss/style/global.scss +9 -10
  122. package/scss/{icon/variables.scss → style/icon-sizes.scss} +1 -1
  123. package/scss/style/index.scss +6 -6
  124. package/scss/style/theme.scss +0 -39
  125. package/scss/style/typography.scss +5 -4
  126. package/scss/surface/surface.scss +0 -1
  127. package/scss/table/classes.scss +24 -23
  128. package/scss/table/column-filter.scss +2 -5
  129. package/scss/table/index.scss +1 -2
  130. package/scss/table/paginator.scss +22 -30
  131. package/scss/table/sizes.scss +31 -0
  132. package/scss/table/{variables.scss → table-densities.scss} +2 -1
  133. package/scss/table/table.scss +156 -228
  134. package/scss/tabs/borderless.scss +6 -18
  135. package/scss/tabs/default.scss +8 -21
  136. package/scss/tabs/pill.scss +4 -14
  137. package/scss/tabs/tabs.scss +16 -44
  138. package/scss/tag/classes.scss +1 -0
  139. package/scss/tag/tag.scss +9 -19
  140. package/scss/text/mixins.scss +1 -0
  141. package/scss/text/muted.scss +2 -4
  142. package/scss/text/skeleton.scss +8 -11
  143. package/scss/textarea/classes.scss +7 -0
  144. package/scss/textarea/index.scss +3 -0
  145. package/scss/{inputs → textarea}/textarea.scss +2 -1
  146. package/scss/tile/classes.scss +14 -2
  147. package/scss/tile/tile.scss +99 -80
  148. package/scss/time-picker/time-picker.scss +8 -17
  149. package/scss/{toast-notification → toast}/categories.scss +3 -7
  150. package/scss/{toast-notification → toast}/classes.scss +0 -0
  151. package/scss/{toast-notification → toast}/index.scss +0 -0
  152. package/scss/{toast-notification → toast}/toast.scss +7 -16
  153. package/scss/toggle-switch/toggle-switch.scss +11 -30
  154. package/scss/tooltip/tooltip.scss +4 -5
  155. package/scss/tree/tree.scss +10 -22
  156. package/scss/utils/classes.scss +6 -0
  157. package/scss/utils/index.scss +6 -0
  158. package/scss/{inputs → utils/input-container}/classes.scss +0 -48
  159. package/scss/utils/input-container/index.scss +3 -0
  160. package/scss/{inputs/labeled-inputs.scss → utils/input-container/input-container.scss} +16 -113
  161. package/scss/{style → utils}/mixins.scss +26 -43
  162. package/scss/{notification-marker → utils/notification-marker}/classes.scss +0 -0
  163. package/scss/{notification-marker → utils/notification-marker}/index.scss +0 -0
  164. package/scss/{notification-marker → utils/notification-marker}/notification-marker.scss +11 -19
  165. package/scss/{popover → utils/popover}/classes.scss +0 -0
  166. package/scss/{popover → utils/popover}/index.scss +0 -0
  167. package/scss/{popover → utils/popover}/popover.scss +0 -1
  168. package/scss/workflow-diagram/classes.scss +15 -0
  169. package/scss/workflow-diagram/index.scss +3 -0
  170. package/scss/workflow-diagram/workflow-diagram.scss +64 -0
  171. package/src/index.scss +10 -6
  172. package/css/inputs.css +0 -1339
  173. package/css/notification-marker.css +0 -293
  174. package/css/popover.css +0 -14
  175. package/css/reset-global-styles.css +0 -50
  176. package/css/wizard.css +0 -190
  177. package/scss/button/button-icon.scss +0 -12
  178. package/scss/button/cta.scss +0 -31
  179. package/scss/button/disabled.scss +0 -13
  180. package/scss/button/high-visibility.scss +0 -31
  181. package/scss/button/split-menu.scss +0 -66
  182. package/scss/inputs/checkbox-radio.scss +0 -73
  183. package/scss/inputs/index.scss +0 -10
  184. package/scss/reset-global-styles.scss +0 -33
  185. package/scss/style/anchor.scss +0 -82
  186. package/scss/style/ripple.scss +0 -18
  187. package/scss/table/condensed.scss +0 -15
  188. package/scss/table/extra-condensed.scss +0 -19
  189. package/scss/user-icon/classes.scss +0 -27
  190. package/scss/wizard/classes.scss +0 -27
  191. package/scss/wizard/index.scss +0 -5
  192. package/scss/wizard/long.scss +0 -19
  193. package/scss/wizard/wizard.scss +0 -160
  194. package/scss/wizard/workflow.scss +0 -43
@@ -1,8 +1,7 @@
1
1
  // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
2
  // See LICENSE.md in the project root for license terms and full copyright notice.
3
3
  @import '../style/index';
4
- @import '../icon/index';
5
- @import './variables';
4
+ @import '../utils/index';
6
5
 
7
6
  @mixin iui-table {
8
7
  @include iui-reset;
@@ -10,10 +9,6 @@
10
9
  flex-direction: column;
11
10
  isolation: isolate;
12
11
 
13
- * {
14
- box-sizing: border-box;
15
- }
16
-
17
12
  @include iui-table-cell-icon;
18
13
  }
19
14
 
@@ -33,20 +28,11 @@
33
28
  min-width: 100%;
34
29
  flex-shrink: 0;
35
30
 
36
- .iui-row {
37
- display: flex;
38
- flex-grow: 1;
39
- min-width: 100%;
40
- }
41
-
42
- .iui-cell {
43
- min-height: $iui-baseline * 5;
44
- @include themed {
45
- background-color: t(iui-color-background-3);
46
- }
31
+ .iui-table-cell {
32
+ background-color: var(--iui-color-background-3);
47
33
  }
48
34
 
49
- .iui-cell:not(.iui-slot) {
35
+ .iui-table-cell:not(.iui-slot) {
50
36
  @include iui-focus;
51
37
  column-gap: $iui-xs;
52
38
  padding-block: $iui-baseline * 0.5;
@@ -59,11 +45,11 @@
59
45
  cursor: grabbing;
60
46
  }
61
47
 
62
- .iui-filter-button:not(.iui-active) {
48
+ .iui-table-filter-button:not([data-iui-active='true']) {
63
49
  visibility: hidden;
64
50
  }
65
51
 
66
- > .iui-resizer {
52
+ > .iui-table-resizer {
67
53
  height: 100%;
68
54
  width: $iui-m;
69
55
  position: absolute;
@@ -75,258 +61,184 @@
75
61
  z-index: 1;
76
62
  opacity: 0;
77
63
 
78
- > .iui-resizer-bar {
64
+ > .iui-table-resizer-bar {
79
65
  height: 100%;
80
66
  width: $iui-xxs;
81
67
  margin: 0 auto;
82
- @media (prefers-reduced-motion: no-preference) {
83
- transition: background-color $iui-speed-fast ease-out, width $iui-speed-fast ease-out;
84
- }
85
- @include themed {
86
- background-color: t(iui-color-background-border);
87
- }
68
+ transition: background-color $iui-speed-fast ease-out, width $iui-speed-fast ease-out;
69
+ background-color: var(--iui-color-background-border);
88
70
  }
89
71
 
90
- &:hover > .iui-resizer-bar {
72
+ &:hover > .iui-table-resizer-bar {
91
73
  width: $iui-xs;
92
- @include themed {
93
- background-color: t(iui-color-foreground-primary);
94
- }
74
+ background-color: var(--iui-color-foreground-primary);
95
75
  }
96
76
  }
97
77
 
98
- &:hover > .iui-resizer {
78
+ &:hover > .iui-table-resizer {
99
79
  opacity: 1;
100
80
  }
101
81
 
102
82
  &:hover,
103
83
  &:focus,
104
84
  &:focus-within {
105
- @include themed {
106
- background-color: t(iui-color-background-4);
107
- }
85
+ background-color: var(--iui-color-background-4);
108
86
 
109
- .iui-sort,
110
- .iui-filter-button {
87
+ .iui-table-sort,
88
+ .iui-table-filter-button {
111
89
  visibility: visible;
112
90
  }
113
91
  }
114
92
  }
115
93
 
116
- .iui-reorder-bar {
94
+ .iui-table-reorder-bar {
117
95
  position: absolute;
118
96
  height: 100%;
119
97
  width: $iui-xxs;
120
98
  }
121
99
 
122
- .iui-reorder-column-right {
123
- > .iui-reorder-bar {
100
+ .iui-table-reorder-column-right {
101
+ > .iui-table-reorder-bar {
124
102
  right: 0;
125
103
  }
126
104
  }
127
105
 
128
- .iui-reorder-column-left {
129
- > .iui-reorder-bar {
106
+ .iui-table-reorder-column-left {
107
+ > .iui-table-reorder-bar {
130
108
  left: 0;
131
109
  }
132
110
  }
133
111
 
134
- .iui-reorder-column-left,
135
- .iui-reorder-column-right {
136
- > .iui-reorder-bar {
137
- @include themed {
138
- background-color: t(iui-color-foreground-primary);
139
- }
112
+ .iui-table-reorder-column-left,
113
+ .iui-table-reorder-column-right {
114
+ > .iui-table-reorder-bar {
115
+ background-color: var(--iui-color-foreground-primary);
140
116
  }
141
117
  }
142
118
 
143
119
  // Sort icon
144
- .iui-sort {
120
+ .iui-table-sort {
145
121
  visibility: hidden;
146
- @include themed {
147
- fill: t(iui-icons-color);
148
- }
122
+ fill: var(--iui-icons-color);
149
123
  }
150
124
 
151
125
  // Sorted column
152
126
  .iui-sorted {
153
- @include themed {
154
- background-color: t(iui-color-background-4);
155
- }
127
+ background-color: var(--iui-color-background-4);
156
128
 
157
- .iui-sort {
129
+ .iui-table-sort {
158
130
  visibility: visible;
159
- @include themed {
160
- fill: t(iui-icons-color-actionable);
161
- }
131
+ fill: var(--iui-icons-color-actionable);
162
132
  }
163
133
  }
164
134
  }
165
135
 
166
- @mixin iui-table-header-actions-container {
167
- display: flex;
168
- flex-grow: 1;
169
- align-items: center;
170
- flex-wrap: wrap;
171
- justify-content: flex-end;
172
- margin-right: $iui-sm;
173
-
174
- .iui-cell-end-icon {
175
- // Hardcoded size of the borderless button so that the icons are centered
176
- width: 28px;
177
- height: 28px;
178
- margin-right: initial;
179
- margin-left: auto;
180
- }
181
- }
182
-
183
- @mixin iui-table-body {
184
- overflow-y: scroll;
185
- overflow: overlay;
136
+ @mixin iui-table-row {
137
+ min-width: 100%;
186
138
  display: flex;
187
- flex-direction: column;
188
- flex-grow: 1;
189
- // Allows columns with static width to take more space than the table width
190
- align-items: flex-start;
191
- @include iui-scroll-snapping('.iui-row');
192
- @include themed {
193
- background-color: t(iui-color-background-1);
194
- }
195
139
 
196
- &.iui-zebra-striping .iui-row:nth-child(even):not(.iui-selected) .iui-cell {
197
- @include themed {
198
- background-color: rgba(t(iui-color-foreground-body-rgb), 0.02);
199
- }
140
+ @at-root .iui-table-header & {
141
+ flex-grow: 1;
200
142
  }
201
-
202
- .iui-row {
203
- min-width: 100%;
204
- display: flex;
205
-
206
- .iui-cell {
143
+ @at-root .iui-table-body & {
144
+ .iui-table-cell {
207
145
  border-top: solid 1px transparent;
208
146
  border-bottom: solid 1px transparent;
209
- @media (prefers-reduced-motion: no-preference) {
210
- transition: border $iui-speed-fast ease-out;
211
- }
212
-
213
- @include themed {
214
- border-bottom-color: t(iui-color-background-border);
215
- }
216
-
217
- @include themed {
218
- background-color: t(iui-color-background-1);
219
- }
147
+ border-bottom-color: var(--iui-color-background-border);
148
+ background-color: var(--iui-color-background-1);
149
+ transition: border $iui-speed-fast ease-out;
220
150
  }
221
151
 
222
- > .iui-slot > .iui-more-options {
152
+ > .iui-slot > .iui-table-more-options {
223
153
  visibility: hidden;
224
154
  }
225
155
 
226
- &:hover:not(.iui-disabled) {
227
- .iui-cell {
228
- @include themed {
229
- background: linear-gradient(
230
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
231
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
232
- ),
233
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
234
- }
156
+ &:hover:not([aria-disabled='true']) {
157
+ .iui-table-cell {
158
+ background: linear-gradient(
159
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)),
160
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6))
161
+ ),
162
+ linear-gradient(var(--iui-color-background-1), var(--iui-color-background-1));
235
163
  }
236
164
 
237
- > .iui-slot:not(.iui-disabled) > .iui-more-options {
165
+ > .iui-slot:not([aria-disabled='true']) > .iui-table-more-options {
238
166
  visibility: visible;
239
167
  }
240
168
  }
241
169
 
242
- &:focus-within > .iui-slot:not(.iui-disabled) > .iui-more-options {
170
+ &:focus-within > .iui-slot:not([aria-disabled='true']) > .iui-table-more-options {
243
171
  visibility: visible;
244
172
  }
245
173
 
246
- .iui-row-expander > .iui-button-icon {
174
+ .iui-table-row-expander > .iui-button-icon {
247
175
  @media (prefers-reduced-motion: no-preference) {
248
176
  transition: transform $iui-speed-fast ease-out;
249
177
  }
250
178
  }
251
179
 
252
- &.iui-row-expanded {
180
+ &.iui-table-row-expanded {
253
181
  overflow: hidden;
254
182
 
255
- .iui-cell {
256
- @include themed {
257
- border-left-color: t(iui-color-background-4);
258
- border-right-color: t(iui-color-background-4);
259
- }
183
+ .iui-table-cell {
184
+ border-left-color: var(--iui-color-background-4);
185
+ border-right-color: var(--iui-color-background-4);
260
186
  border-bottom-color: transparent;
261
187
  }
262
188
 
263
- .iui-row-expander > .iui-button-icon {
189
+ .iui-table-row-expander > .iui-button-icon {
264
190
  transform: rotate(90deg);
265
191
  }
266
192
 
267
- + .iui-expanded-content {
268
- @include themed {
269
- border-left-color: t(iui-color-background-4);
270
- border-right-color: t(iui-color-background-4);
271
- }
193
+ + .iui-table-expanded-content {
194
+ border-left-color: var(--iui-color-background-4);
195
+ border-right-color: var(--iui-color-background-4);
272
196
  }
273
197
  }
274
198
 
275
- &.iui-expanded-content {
199
+ &.iui-table-expanded-content {
276
200
  overflow: hidden;
277
201
  border-left: 1px solid transparent;
278
202
  border-right: 1px solid transparent;
279
- @include themed {
280
- border-bottom: 1px solid t(iui-color-background-border);
281
- }
203
+ border-bottom: 1px solid var(--iui-color-background-border);
282
204
  @include iui-transition-group;
283
205
  }
284
206
 
285
207
  // #region Selection
286
- &:not(.iui-selected) + .iui-selected .iui-cell,
287
- &.iui-selected:first-child .iui-cell {
208
+ &:not([aria-selected='true']) + [aria-selected='true'] .iui-table-cell,
209
+ &[aria-selected='true']:first-child .iui-table-cell {
288
210
  border-bottom-color: transparent;
289
211
  }
290
212
 
291
- &.iui-selected {
292
- .iui-cell {
293
- @include themed {
294
- border-color: t(iui-color-foreground-primary);
295
- background: linear-gradient(
296
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
297
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
298
- ),
299
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
300
- }
213
+ &[aria-selected='true'] {
214
+ .iui-table-cell {
215
+ border-color: var(--iui-color-foreground-primary);
216
+ background: linear-gradient(
217
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)),
218
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6))
219
+ ),
220
+ linear-gradient(var(--iui-color-background-1), var(--iui-color-background-1));
301
221
  }
302
222
 
303
- + .iui-selected .iui-cell {
223
+ + [aria-selected='true'] .iui-table-cell {
304
224
  border-bottom-color: transparent;
305
- @include themed {
306
- border-top-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-4));
307
- }
225
+ border-top-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-4));
308
226
  }
309
227
 
310
- &:last-child .iui-cell {
311
- @include themed {
312
- border-bottom-color: t(iui-color-foreground-primary);
313
- }
228
+ &:last-child .iui-table-cell {
229
+ border-bottom-color: var(--iui-color-foreground-primary);
314
230
  }
315
231
 
316
- + :not(.iui-selected) .iui-cell,
317
- + .iui-expanded-content + .iui-row:not(.iui-selected) .iui-cell {
318
- @include themed {
319
- border-top-color: t(iui-color-foreground-primary);
320
- }
232
+ + :not([aria-selected='true']) .iui-table-cell,
233
+ + .iui-table-expanded-content + .iui-table-row:not([aria-selected='true']) .iui-table-cell {
234
+ border-top-color: var(--iui-color-foreground-primary);
321
235
  }
322
236
 
323
- + .iui-expanded-content {
324
- @include themed {
325
- border-color: transparent t(iui-color-foreground-primary);
237
+ + .iui-table-expanded-content {
238
+ border-color: transparent var(--iui-color-foreground-primary);
326
239
 
327
- &:last-child {
328
- border-bottom-color: t(iui-color-foreground-primary);
329
- }
240
+ &:last-child {
241
+ border-bottom-color: var(--iui-color-foreground-primary);
330
242
  }
331
243
  }
332
244
  }
@@ -341,44 +253,73 @@
341
253
  position: absolute;
342
254
  left: 0;
343
255
  font-size: $iui-font-size-title;
344
- @include themed {
345
- color: t(iui-color-foreground-positive);
346
- }
256
+ color: var(--iui-color-foreground-positive);
347
257
  }
348
258
  }
349
259
 
350
- .iui-cell.iui-disabled,
351
- &.iui-expanded-content.iui-disabled {
260
+ .iui-table-cell[aria-disabled='true'],
261
+ &.iui-table-expanded-content[aria-disabled='true'] {
352
262
  font-style: italic;
353
263
  cursor: not-allowed;
354
- @include themed {
355
- color: t(iui-text-color-muted);
356
- }
264
+ color: var(--iui-text-color-muted);
357
265
 
358
- &.iui-slot:hover > .iui-more-options {
266
+ &.iui-slot:hover > .iui-table-more-options {
359
267
  visibility: hidden;
360
268
  }
361
269
 
362
270
  img,
363
271
  svg:not(.iui-radial),
364
- .iui-user-icon {
272
+ .iui-avatar {
365
273
  filter: $iui-icons-color-multicolor-disabled;
366
274
  }
367
275
  }
368
276
 
369
- &.iui-positive {
277
+ &[data-iui-status='positive'] {
370
278
  @include iui-table-row-status($status: positive);
371
279
  }
372
280
 
373
- &.iui-warning {
281
+ &[data-iui-status='warning'] {
374
282
  @include iui-table-row-status($status: warning);
375
283
  }
376
284
 
377
- &.iui-negative {
285
+ &[data-iui-status='negative'] {
378
286
  @include iui-table-row-status($status: negative);
379
287
  }
380
288
  // #endregion Statuses & states
381
289
  }
290
+ }
291
+
292
+ @mixin iui-table-header-actions-container {
293
+ display: flex;
294
+ flex-grow: 1;
295
+ align-items: center;
296
+ flex-wrap: wrap;
297
+ justify-content: flex-end;
298
+ margin-right: $iui-sm;
299
+
300
+ .iui-table-cell-end-icon {
301
+ // Hardcoded size of the borderless button so that the icons are centered
302
+ width: 28px;
303
+ height: 28px;
304
+ margin-right: initial;
305
+ margin-left: auto;
306
+ }
307
+ }
308
+
309
+ @mixin iui-table-body {
310
+ overflow-y: scroll;
311
+ overflow: overlay;
312
+ display: flex;
313
+ flex-direction: column;
314
+ flex-grow: 1;
315
+ // Allows columns with static width to take more space than the table width
316
+ align-items: flex-start;
317
+ @include iui-scroll-snapping('.iui-table-row');
318
+ background-color: var(--iui-color-background-1);
319
+
320
+ &.iui-zebra-striping .iui-table-row:nth-child(even):not([aria-selected='true']) .iui-table-cell {
321
+ background-color: rgba(var(--iui-color-foreground-body-rgb), 0.02);
322
+ }
382
323
 
383
324
  // Empty & loading states
384
325
  > .iui-table-empty {
@@ -390,10 +331,8 @@
390
331
  align-items: center;
391
332
  flex-grow: 1;
392
333
  align-self: center;
393
- @include themed {
394
- color: t(iui-text-color-muted);
395
- background-color: t(iui-color-background-1);
396
- }
334
+ color: var(--iui-text-color-muted);
335
+ background-color: var(--iui-color-background-1);
397
336
  }
398
337
  }
399
338
 
@@ -402,7 +341,6 @@
402
341
  display: flex;
403
342
  flex-grow: 1;
404
343
  min-width: $iui-xxl;
405
- min-height: $iui-baseline * 5 + 2px; // +2px for border
406
344
  padding-left: $iui-m;
407
345
  flex-basis: $iui-xxl;
408
346
  position: relative;
@@ -427,7 +365,7 @@
427
365
  flex-basis: $iui-l * 2;
428
366
  }
429
367
 
430
- &.iui-cell-sticky {
368
+ &.iui-table-cell-sticky {
431
369
  position: sticky;
432
370
  z-index: 1;
433
371
  left: var(--iui-table-sticky-left, initial);
@@ -438,15 +376,15 @@
438
376
  padding-right: $iui-m;
439
377
  }
440
378
 
441
- &.iui-positive {
379
+ &[data-iui-status='positive'] {
442
380
  @include iui-table-cell-status($status: positive);
443
381
  }
444
382
 
445
- &.iui-warning {
383
+ &[data-iui-status='warning'] {
446
384
  @include iui-table-cell-status($status: warning);
447
385
  }
448
386
 
449
- &.iui-negative {
387
+ &[data-iui-status='negative'] {
450
388
  @include iui-table-cell-status($status: negative);
451
389
  }
452
390
 
@@ -455,51 +393,40 @@
455
393
 
456
394
  &:focus,
457
395
  &:hover {
458
- @include themed {
459
- outline: 1px solid t(iui-color-foreground-primary);
460
- }
396
+ outline: 1px solid var(--iui-color-foreground-primary);
461
397
  }
462
398
 
463
399
  &:focus {
464
- @include themed {
465
- background-color: t(iui-color-background-1);
466
- }
400
+ background-color: var(--iui-color-background-1);
467
401
  }
468
402
  }
469
403
  }
470
404
 
471
405
  @mixin iui-table-row-status($status) {
472
- .iui-cell:first-of-type,
473
- + .iui-expanded-content {
474
- @include themed {
475
- box-shadow: inset $iui-xxs 0 0 0 t(iui-icons-color-#{$status});
476
- }
406
+ .iui-table-cell:first-of-type,
407
+ + .iui-table-expanded-content {
408
+ box-shadow: inset $iui-xxs 0 0 0 var(--iui-icons-color-#{$status});
477
409
 
478
410
  @include iui-text-selection($status);
479
411
  }
480
412
 
481
- .iui-cell-end-icon svg {
482
- @include themed {
483
- fill: t(iui-icons-color-#{$status});
484
- }
413
+ .iui-table-cell-end-icon svg {
414
+ fill: var(--iui-icons-color-#{$status});
485
415
  }
486
416
  }
487
417
 
488
418
  @mixin iui-table-cell-status($status) {
489
- @include themed {
490
- background: linear-gradient(
491
- rgba(t(iui-color-foreground-#{$status}-rgb), t(iui-opacity-6)),
492
- rgba(t(iui-color-foreground-#{$status}-rgb), t(iui-opacity-6))
493
- ),
494
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
495
- }
496
-
419
+ background: linear-gradient(
420
+ rgba(var(--iui-color-foreground-#{$status}-rgb), var(--iui-opacity-6)),
421
+ rgba(var(--iui-color-foreground-#{$status}-rgb), var(--iui-opacity-6))
422
+ ),
423
+ linear-gradient(var(--iui-color-background-1), var(--iui-color-background-1));
497
424
  @include iui-text-selection($status);
498
425
  }
499
426
 
500
427
  @mixin iui-table-cell-icon {
501
- .iui-cell-end-icon,
502
- .iui-cell-start-icon {
428
+ .iui-table-cell-end-icon,
429
+ .iui-table-cell-start-icon {
503
430
  flex-shrink: 0;
504
431
  display: flex;
505
432
  align-items: center;
@@ -512,11 +439,11 @@
512
439
  }
513
440
  }
514
441
 
515
- .iui-cell-start-icon {
442
+ .iui-table-cell-start-icon {
516
443
  margin-right: $iui-s;
517
444
  }
518
445
 
519
- .iui-cell-end-icon {
446
+ .iui-table-cell-end-icon {
520
447
  width: $iui-l;
521
448
  height: $iui-l;
522
449
  margin-right: $iui-sm;
@@ -539,16 +466,17 @@
539
466
  }
540
467
  }
541
468
 
542
- @mixin iui-table-cell-shadow-left {
543
- @include iui-table-cell-shadow-base;
544
- left: 0;
545
- transform: translate(-100%);
546
- box-shadow: inset -10px 0 5px -10px $iui-elevation-color;
547
- }
548
-
549
- @mixin iui-table-cell-shadow-right {
469
+ /// @arg side - must be one of: left, right
470
+ @mixin iui-table-cell-shadow($side) {
550
471
  @include iui-table-cell-shadow-base;
551
- right: 0;
552
- transform: translate(100%);
553
- box-shadow: inset 10px 0 5px -10px $iui-elevation-color;
472
+ @if $side == left {
473
+ left: 0;
474
+ transform: translate(-100%);
475
+ box-shadow: inset -10px 0 5px -10px $iui-elevation-color;
476
+ }
477
+ @if $side == right {
478
+ right: 0;
479
+ transform: translate(100%);
480
+ box-shadow: inset 10px 0 5px -10px $iui-elevation-color;
481
+ }
554
482
  }
@@ -14,24 +14,18 @@
14
14
  }
15
15
 
16
16
  &:hover {
17
- @include themed {
18
- background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
19
- }
17
+ background-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
20
18
  }
21
19
 
22
20
  &.iui-active {
23
- @include themed {
24
- background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
25
- }
21
+ background-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
26
22
  }
27
23
  }
28
24
 
29
25
  @at-root {
30
26
  .iui-horizontal & ~ .iui-tabs-content {
31
27
  margin-top: -$iui-xxs;
32
- @include themed {
33
- border-top: $iui-xxs solid t(iui-color-background-4);
34
- }
28
+ border-top: $iui-xxs solid var(--iui-color-background-4);
35
29
  }
36
30
  }
37
31
 
@@ -40,17 +34,13 @@
40
34
  margin-left: -$iui-xxs;
41
35
  padding-left: $iui-sm;
42
36
  padding-right: $iui-sm;
43
- @include themed {
44
- border-left: $iui-xxs solid t(iui-color-background-4);
45
- }
37
+ border-left: $iui-xxs solid var(--iui-color-background-4);
46
38
  }
47
39
  }
48
40
 
49
41
  &.iui-green .iui-active,
50
42
  &.iui-green .iui-tab:hover {
51
- @include themed {
52
- background-color: rgba(t(iui-color-foreground-positive-rgb), t(iui-opacity-6));
53
- }
43
+ background-color: rgba(var(--iui-color-foreground-positive-rgb), var(--iui-opacity-6));
54
44
  }
55
45
 
56
46
  &.iui-large {
@@ -64,8 +54,6 @@
64
54
  }
65
55
 
66
56
  .iui-tab[disabled]:hover {
67
- @include themed {
68
- background-color: transparent;
69
- }
57
+ background-color: transparent;
70
58
  }
71
59
  }