@itwin/itwinui-css 0.59.2 → 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 (202) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +1 -4
  3. package/css/alert.css +273 -139
  4. package/css/all.css +4046 -4967
  5. package/css/anchor.css +1 -5
  6. package/css/{user-icon.css → avatar.css} +51 -71
  7. package/css/backdrop.css +24 -0
  8. package/css/badge.css +2 -2
  9. package/css/blockquote.css +1 -4
  10. package/css/breadcrumbs.css +64 -137
  11. package/css/button.css +264 -349
  12. package/css/carousel.css +8 -16
  13. package/css/checkbox.css +149 -0
  14. package/css/code.css +5 -13
  15. package/css/color-picker.css +6 -44
  16. package/css/date-picker.css +6 -65
  17. package/css/dialog.css +63 -101
  18. package/css/expandable-block.css +1 -32
  19. package/css/fieldset.css +2 -7
  20. package/css/file-upload.css +0 -15
  21. package/css/footer.css +1 -9
  22. package/css/global.css +8 -63
  23. package/css/header.css +312 -398
  24. package/css/icon.css +0 -30
  25. package/css/information-panel.css +1 -15
  26. package/css/input.css +162 -0
  27. package/css/keyboard.css +2 -6
  28. package/css/location-marker.css +1 -12
  29. package/css/menu.css +1 -17
  30. package/css/progress-indicator.css +1 -93
  31. package/css/radio-tile.css +38 -65
  32. package/css/radio.css +156 -0
  33. package/css/select.css +230 -0
  34. package/css/side-navigation.css +5 -20
  35. package/css/skip-to-content.css +0 -3
  36. package/css/slider.css +2 -14
  37. package/css/stepper.css +141 -0
  38. package/css/surface.css +0 -1
  39. package/css/table.css +252 -339
  40. package/css/tabs.css +26 -65
  41. package/css/tag.css +7 -32
  42. package/css/text.css +1 -3
  43. package/css/textarea.css +96 -0
  44. package/css/tile.css +169 -155
  45. package/css/time-picker.css +2 -14
  46. package/css/{toast-notification.css → toast.css} +3 -45
  47. package/css/toggle-switch.css +13 -60
  48. package/css/tooltip.css +1 -4
  49. package/css/tree.css +0 -14
  50. package/css/utils.css +609 -0
  51. package/css/workflow-diagram.css +67 -0
  52. package/package.json +11 -7
  53. package/scss/alert/alert.scss +50 -44
  54. package/scss/alert/classes.scss +24 -4
  55. package/scss/anchor/anchor.scss +76 -1
  56. package/scss/{user-icon/sizes.scss → avatar/avatar-sizes.scss} +6 -5
  57. package/scss/{user-icon/user-icon.scss → avatar/avatar.scss} +35 -70
  58. package/scss/avatar/classes.scss +27 -0
  59. package/scss/{user-icon → avatar}/index.scss +1 -2
  60. package/scss/backdrop/backdrop.scss +27 -0
  61. package/scss/backdrop/classes.scss +7 -0
  62. package/scss/backdrop/index.scss +3 -0
  63. package/scss/badge/badge.scss +4 -2
  64. package/scss/blockquote/blockquote.scss +4 -9
  65. package/scss/breadcrumbs/breadcrumbs.scss +13 -18
  66. package/scss/button/borderless.scss +20 -32
  67. package/scss/button/button-group.scss +15 -7
  68. package/scss/button/button.scss +64 -42
  69. package/scss/button/classes.scss +47 -37
  70. package/scss/button/default.scss +33 -41
  71. package/scss/button/idea.scss +4 -2
  72. package/scss/button/index.scss +3 -6
  73. package/scss/button/split-button.scss +45 -0
  74. package/scss/button/variant.scss +44 -0
  75. package/scss/carousel/carousel.scss +12 -23
  76. package/scss/{inputs → checkbox}/checkbox.scss +50 -2
  77. package/scss/checkbox/classes.scss +7 -0
  78. package/scss/checkbox/index.scss +3 -0
  79. package/scss/classes.scss +11 -6
  80. package/scss/code/code.scss +3 -5
  81. package/scss/code/codeblock.scss +7 -21
  82. package/scss/color-picker/color-picker.scss +32 -61
  83. package/scss/date-picker/date-picker.scss +21 -55
  84. package/scss/dialog/classes.scss +7 -6
  85. package/scss/dialog/dialog.scss +95 -130
  86. package/scss/expandable-block/block.scss +22 -50
  87. package/scss/fieldset/fieldset.scss +6 -12
  88. package/scss/file-upload/file-upload.scss +13 -23
  89. package/scss/footer/footer.scss +5 -15
  90. package/scss/header/classes.scss +70 -2
  91. package/scss/header/header-buttons.scss +316 -0
  92. package/scss/header/header.scss +40 -408
  93. package/scss/header/index.scss +1 -0
  94. package/scss/icon/{mixins.scss → icon.scss} +5 -15
  95. package/scss/icon/index.scss +1 -2
  96. package/scss/index.scss +11 -6
  97. package/scss/information-panel/information-panel.scss +8 -26
  98. package/scss/input/classes.scss +15 -0
  99. package/scss/input/index.scss +4 -0
  100. package/scss/{inputs → input}/input-with-icon.scss +1 -0
  101. package/scss/{inputs → input}/input.scss +15 -25
  102. package/scss/keyboard/keyboard.scss +5 -9
  103. package/scss/location-marker/data-rich.scss +5 -14
  104. package/scss/location-marker/default.scss +1 -3
  105. package/scss/location-marker/location-marker.scss +1 -3
  106. package/scss/location-marker/me.scss +7 -14
  107. package/scss/menu/menu.scss +16 -36
  108. package/scss/non-ideal-state/non-ideal-state.scss +2 -1
  109. package/scss/progress-indicator/classes.scss +0 -4
  110. package/scss/progress-indicator/linear.scss +9 -27
  111. package/scss/progress-indicator/overlay.scss +4 -10
  112. package/scss/progress-indicator/radial.scss +10 -98
  113. package/scss/radio/classes.scss +7 -0
  114. package/scss/radio/index.scss +3 -0
  115. package/scss/{inputs → radio}/radio.scss +1 -1
  116. package/scss/radio-tile/radio-tile.scss +41 -83
  117. package/scss/select/classes.scss +27 -0
  118. package/scss/select/index.scss +3 -0
  119. package/scss/select/select.scss +124 -0
  120. package/scss/side-navigation/side-navigation.scss +26 -34
  121. package/scss/skip-to-content/skip-to-content.scss +2 -3
  122. package/scss/slider/slider.scss +12 -23
  123. package/scss/stepper/classes.scss +32 -0
  124. package/scss/stepper/index.scss +3 -0
  125. package/scss/stepper/stepper.scss +151 -0
  126. package/scss/style/{variables.scss → global-variables.scss} +4 -2
  127. package/scss/style/global.scss +9 -10
  128. package/scss/{icon/variables.scss → style/icon-sizes.scss} +1 -1
  129. package/scss/style/index.scss +6 -6
  130. package/scss/style/theme.scss +0 -39
  131. package/scss/style/typography.scss +5 -4
  132. package/scss/surface/surface.scss +0 -1
  133. package/scss/table/classes.scss +24 -23
  134. package/scss/table/column-filter.scss +2 -5
  135. package/scss/table/index.scss +1 -2
  136. package/scss/table/paginator.scss +22 -30
  137. package/scss/table/sizes.scss +31 -0
  138. package/scss/table/{variables.scss → table-densities.scss} +2 -1
  139. package/scss/table/table.scss +156 -228
  140. package/scss/tabs/borderless.scss +9 -22
  141. package/scss/tabs/classes.scss +4 -0
  142. package/scss/tabs/default.scss +11 -25
  143. package/scss/tabs/pill.scss +5 -15
  144. package/scss/tabs/tabs.scss +30 -57
  145. package/scss/tag/classes.scss +1 -0
  146. package/scss/tag/tag.scss +11 -21
  147. package/scss/text/mixins.scss +1 -0
  148. package/scss/text/muted.scss +2 -4
  149. package/scss/text/skeleton.scss +8 -11
  150. package/scss/textarea/classes.scss +7 -0
  151. package/scss/textarea/index.scss +3 -0
  152. package/scss/{inputs → textarea}/textarea.scss +2 -1
  153. package/scss/tile/classes.scss +14 -2
  154. package/scss/tile/tile.scss +99 -80
  155. package/scss/time-picker/time-picker.scss +8 -17
  156. package/scss/{toast-notification → toast}/categories.scss +3 -7
  157. package/scss/{toast-notification → toast}/classes.scss +0 -0
  158. package/scss/{toast-notification → toast}/index.scss +0 -0
  159. package/scss/{toast-notification → toast}/toast.scss +7 -16
  160. package/scss/toggle-switch/toggle-switch.scss +11 -30
  161. package/scss/tooltip/tooltip.scss +4 -5
  162. package/scss/tree/tree.scss +10 -22
  163. package/scss/utils/classes.scss +6 -0
  164. package/scss/utils/index.scss +6 -0
  165. package/scss/{inputs → utils/input-container}/classes.scss +0 -28
  166. package/scss/utils/input-container/index.scss +3 -0
  167. package/scss/{inputs/labeled-inputs.scss → utils/input-container/input-container.scss} +16 -113
  168. package/scss/{style → utils}/mixins.scss +26 -43
  169. package/scss/{notification-marker → utils/notification-marker}/classes.scss +0 -0
  170. package/scss/{notification-marker → utils/notification-marker}/index.scss +0 -0
  171. package/scss/{notification-marker → utils/notification-marker}/notification-marker.scss +11 -19
  172. package/scss/{popover → utils/popover}/classes.scss +0 -0
  173. package/scss/{popover → utils/popover}/index.scss +0 -0
  174. package/scss/{popover → utils/popover}/popover.scss +0 -1
  175. package/scss/workflow-diagram/classes.scss +15 -0
  176. package/scss/workflow-diagram/index.scss +3 -0
  177. package/scss/workflow-diagram/workflow-diagram.scss +64 -0
  178. package/src/index.scss +11 -6
  179. package/css/inputs.css +0 -1143
  180. package/css/notification-marker.css +0 -293
  181. package/css/popover.css +0 -14
  182. package/css/reset-global-styles.css +0 -50
  183. package/css/wizard.css +0 -190
  184. package/scss/button/button-icon.scss +0 -12
  185. package/scss/button/cta.scss +0 -31
  186. package/scss/button/disabled.scss +0 -13
  187. package/scss/button/high-visibility.scss +0 -31
  188. package/scss/button/split-menu.scss +0 -66
  189. package/scss/inputs/checkbox-radio.scss +0 -73
  190. package/scss/inputs/index.scss +0 -10
  191. package/scss/inputs/select.scss +0 -66
  192. package/scss/reset-global-styles.scss +0 -33
  193. package/scss/style/anchor.scss +0 -82
  194. package/scss/style/ripple.scss +0 -18
  195. package/scss/table/condensed.scss +0 -15
  196. package/scss/table/extra-condensed.scss +0 -19
  197. package/scss/user-icon/classes.scss +0 -27
  198. package/scss/wizard/classes.scss +0 -27
  199. package/scss/wizard/index.scss +0 -5
  200. package/scss/wizard/long.scss +0 -19
  201. package/scss/wizard/wizard.scss +0 -160
  202. package/scss/wizard/workflow.scss +0 -43
@@ -14,14 +14,12 @@
14
14
  width:100%;
15
15
  height:4px;
16
16
  overflow:hidden;
17
- background-color:#c7ccd1;
18
17
  background-color:var(--iui-color-background-border);
19
18
  }
20
19
  .iui-progress-indicator-linear > .iui-track > .iui-fill{
21
20
  display:inline-block;
22
21
  height:100%;
23
22
  vertical-align:top;
24
- background-color:#008ae0;
25
23
  background-color:var(--iui-color-foreground-primary);
26
24
  }
27
25
  .iui-progress-indicator-linear > .iui-label{
@@ -49,46 +47,36 @@
49
47
  }
50
48
  .iui-progress-indicator-linear.iui-positive > .iui-track,
51
49
  .iui-progress-indicator-linear.iui-positive > .iui-track > *{
52
- background-color:#53a21a;
53
50
  background-color:var(--iui-color-foreground-positive);
54
51
  }
55
52
  .iui-progress-indicator-linear.iui-positive > .iui-label{
56
- color:#53a21a;
57
53
  color:var(--iui-color-foreground-positive);
58
54
  }
59
55
  .iui-progress-indicator-linear.iui-positive > .iui-label svg{
60
- fill:#53a21a;
61
56
  fill:var(--iui-icons-color-positive);
62
57
  }
63
58
  .iui-progress-indicator-linear.iui-positive > .iui-label > span::-moz-selection, .iui-progress-indicator-linear.iui-positive > .iui-label > span *::-moz-selection{
64
- background-color:rgba(83, 162, 26, 0.2);
65
59
  background-color:rgba(var(--iui-color-foreground-positive-rgb), var(--iui-opacity-5));
66
60
  }
67
61
  .iui-progress-indicator-linear.iui-positive > .iui-label > span::selection,
68
62
  .iui-progress-indicator-linear.iui-positive > .iui-label > span *::selection{
69
- background-color:rgba(83, 162, 26, 0.2);
70
63
  background-color:rgba(var(--iui-color-foreground-positive-rgb), var(--iui-opacity-5));
71
64
  }
72
65
  .iui-progress-indicator-linear.iui-negative > .iui-track > *{
73
66
  width:100%;
74
- background-color:#d10a0a;
75
67
  background-color:var(--iui-color-foreground-negative);
76
68
  }
77
69
  .iui-progress-indicator-linear.iui-negative > .iui-label{
78
- color:#d10a0a;
79
70
  color:var(--iui-color-foreground-negative);
80
71
  }
81
72
  .iui-progress-indicator-linear.iui-negative > .iui-label svg{
82
- fill:#d10a0a;
83
73
  fill:var(--iui-icons-color-negative);
84
74
  }
85
75
  .iui-progress-indicator-linear.iui-negative > .iui-label > span::-moz-selection, .iui-progress-indicator-linear.iui-negative > .iui-label > span *::-moz-selection{
86
- background-color:rgba(209, 10, 10, 0.2);
87
76
  background-color:rgba(var(--iui-color-foreground-negative-rgb), var(--iui-opacity-5));
88
77
  }
89
78
  .iui-progress-indicator-linear.iui-negative > .iui-label > span::selection,
90
79
  .iui-progress-indicator-linear.iui-negative > .iui-label > span *::selection{
91
- background-color:rgba(209, 10, 10, 0.2);
92
80
  background-color:rgba(var(--iui-color-foreground-negative-rgb), var(--iui-opacity-5));
93
81
  }
94
82
  .iui-progress-indicator-linear > .iui-track > .iui-determinate{
@@ -122,51 +110,6 @@
122
110
  }
123
111
  }
124
112
 
125
- .iui-progress-indicator-radial-ie{
126
- margin:0;
127
- padding:0;
128
- border:none;
129
- vertical-align:baseline;
130
- display:inline-block;
131
- position:relative;
132
- box-sizing:border-box;
133
- height:100%;
134
- width:100%;
135
- color:#008ae0;
136
- color:var(--iui-color-foreground-primary);
137
- }
138
- .iui-progress-indicator-radial-ie::after{
139
- position:relative;
140
- box-sizing:border-box;
141
- content:"";
142
- width:100%;
143
- height:100%;
144
- display:inline-block;
145
- border:3px solid currentColor;
146
- border-radius:100%;
147
- background-color:transparent;
148
- -webkit-animation:dash 0.8s linear infinite;
149
- animation:dash 0.8s linear infinite;
150
- border-bottom-color:#c7ccd1;
151
- border-bottom-color:var(--iui-color-background-border);
152
- }
153
- @-webkit-keyframes dash{
154
- 0%{
155
- transform:rotate(0deg);
156
- }
157
- 100%{
158
- transform:rotate(360deg);
159
- }
160
- }
161
- @keyframes dash{
162
- 0%{
163
- transform:rotate(0deg);
164
- }
165
- 100%{
166
- transform:rotate(360deg);
167
- }
168
- }
169
-
170
113
  .iui-progress-indicator-radial{
171
114
  position:relative;
172
115
  display:inline-block;
@@ -178,13 +121,11 @@
178
121
  width:100%;
179
122
  }
180
123
  .iui-progress-indicator-radial > .iui-radial > circle.iui-fill{
181
- stroke:#008ae0;
182
124
  stroke:var(--iui-color-foreground-primary);
183
125
  fill:none;
184
126
  stroke-width:3.2;
185
127
  }
186
128
  .iui-progress-indicator-radial > .iui-radial > circle.iui-track{
187
- stroke:#c7ccd1;
188
129
  stroke:var(--iui-color-background-5);
189
130
  fill:none;
190
131
  stroke-width:3.2;
@@ -211,59 +152,31 @@
211
152
  display:flex;
212
153
  width:16px;
213
154
  height:16px;
214
- fill:rgba(0, 0, 0, 0.8);
215
155
  fill:var(--iui-icons-color-actionable);
216
156
  }
217
157
  .iui-progress-indicator-radial .iui-inner-content svg:hover,
218
158
  .iui-progress-indicator-radial .iui-inner-content img:hover{
219
- fill:black;
220
159
  fill:var(--iui-icons-color-actionable-hover);
221
160
  }
222
161
  .iui-progress-indicator-radial.iui-positive{
223
- color:#53a21a;
224
162
  color:var(--iui-color-foreground-positive);
225
163
  }
226
164
  .iui-progress-indicator-radial.iui-positive svg.iui-radial circle.iui-fill,
227
165
  .iui-progress-indicator-radial.iui-positive svg.iui-radial circle.iui-track{
228
- stroke:#53a21a;
229
166
  stroke:var(--iui-color-foreground-positive);
230
167
  }
231
168
  .iui-progress-indicator-radial.iui-positive .iui-inner-content svg{
232
- fill:#53a21a;
233
169
  fill:var(--iui-icons-color-positive);
234
170
  }
235
- .iui-progress-indicator-radial.iui-positive .iui-progress-indicator-radial-ie{
236
- color:#53a21a;
237
- color:var(--iui-color-foreground-positive);
238
- }
239
- .iui-progress-indicator-radial.iui-positive .iui-progress-indicator-radial-ie::after{
240
- -webkit-animation:none;
241
- animation:none;
242
- border-bottom-color:#53a21a;
243
- border-bottom-color:var(--iui-color-foreground-positive);
244
- }
245
171
  .iui-progress-indicator-radial.iui-negative{
246
- color:#d10a0a;
247
172
  color:var(--iui-color-foreground-negative);
248
173
  }
249
174
  .iui-progress-indicator-radial.iui-negative svg.iui-radial circle.iui-fill{
250
- stroke:#d10a0a;
251
175
  stroke:var(--iui-color-foreground-negative);
252
176
  }
253
177
  .iui-progress-indicator-radial.iui-negative .iui-inner-content svg{
254
- fill:#d10a0a;
255
178
  fill:var(--iui-icons-color-negative);
256
179
  }
257
- .iui-progress-indicator-radial.iui-negative .iui-progress-indicator-radial-ie{
258
- color:#d10a0a;
259
- color:var(--iui-color-foreground-negative);
260
- }
261
- .iui-progress-indicator-radial.iui-negative .iui-progress-indicator-radial-ie::after{
262
- -webkit-animation:none;
263
- animation:none;
264
- border-bottom-color:#d10a0a;
265
- border-bottom-color:var(--iui-color-foreground-negative);
266
- }
267
180
  .iui-progress-indicator-radial.iui-x-small{
268
181
  width:16px;
269
182
  height:16px;
@@ -350,16 +263,13 @@
350
263
  left:0;
351
264
  z-index:10000;
352
265
  pointer-events:none;
353
- background-color:rgba(255, 255, 255, 0.8);
354
266
  background-color:rgba(var(--iui-color-background-1-rgb), var(--iui-opacity-2));
355
267
  }
356
268
  @supports ((-webkit-backdrop-filter: blur(5px)) or (backdrop-filter: blur(5px))){
357
269
  .iui-progress-indicator-overlay{
358
- background-color:rgba(255, 255, 255, 0.6);
270
+ background-color:rgba(var(--iui-color-background-1-rgb), var(--iui-opacity-3));
359
271
  -webkit-backdrop-filter:blur(5px);
360
272
  backdrop-filter:blur(5px);
361
- background-color:rgba(var(--iui-color-background-1-rgb), var(--iui-opacity-3));
362
- backdrop-filter:blur(5px);
363
273
  }
364
274
  }
365
275
  .iui-progress-indicator-overlay:focus, .iui-progress-indicator-overlay:focus-visible{
@@ -371,7 +281,6 @@
371
281
  }
372
282
  @-webkit-keyframes closeAnimation{
373
283
  from{
374
- opacity:1;
375
284
  opacity:var(--iui-opacity-1);
376
285
  }
377
286
  to{
@@ -380,7 +289,6 @@
380
289
  }
381
290
  @keyframes closeAnimation{
382
291
  from{
383
- opacity:1;
384
292
  opacity:var(--iui-opacity-1);
385
293
  }
386
294
  to{
@@ -4,43 +4,28 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
  .iui-radio-tile{
6
6
  cursor:pointer;
7
- -webkit-tap-highlight-color:rgba(0, 138, 224, 0.1);
8
7
  -webkit-tap-highlight-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
9
8
  }
10
- .iui-radio-tile:first-of-type > .iui-radio-tile-content{
11
- border-radius:3px 0 0 3px;
12
- }
13
- .iui-radio-tile:last-of-type > .iui-radio-tile-content{
14
- border-radius:0 3px 3px 0;
15
- }
16
- .iui-radio-tile:not(:first-of-type) > .iui-radio-tile-content{
17
- margin-left:-1px;
18
- }
19
9
 
20
10
  .iui-radio-tile-content{
21
11
  width:160px;
22
12
  height:100%;
23
- box-sizing:border-box;
24
13
  padding:8px;
25
14
  position:relative;
26
15
  z-index:1;
27
- border:1px solid rgba(0, 0, 0, 0.4);
28
- background-color:white;
29
- border:1px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
16
+ outline:1px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
30
17
  background-color:var(--iui-color-background-1);
31
18
  }
32
19
  @media (prefers-reduced-motion: no-preference){
33
20
  .iui-radio-tile-content{
34
- transition:border-color 0.2s ease-out;
21
+ transition:outline-color 0.2s ease-out;
35
22
  }
36
23
  }
37
24
  .iui-radio-tile-content:hover{
38
25
  z-index:2;
39
- border-color:rgba(0, 0, 0, 0.8);
40
- border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
26
+ outline-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
41
27
  }
42
28
  .iui-radio-tile-content:hover .iui-radio-tile-icon{
43
- fill:rgba(0, 0, 0, 0.8);
44
29
  fill:var(--iui-icons-color-actionable);
45
30
  }
46
31
  @media (forced-colors: active){
@@ -52,12 +37,13 @@
52
37
  .iui-radio-tile-container{
53
38
  display:inline-flex;
54
39
  flex-wrap:wrap;
40
+ gap:1px;
55
41
  -webkit-user-select:none;
56
42
  -moz-user-select:none;
57
43
  -ms-user-select:none;
58
44
  user-select:none;
59
45
  position:relative;
60
- z-index:0;
46
+ isolation:isolate;
61
47
  }
62
48
 
63
49
  .iui-radio-tile-input{
@@ -69,41 +55,18 @@
69
55
  opacity:0;
70
56
  position:absolute;
71
57
  }
72
- .iui-radio-tile-input:focus-visible + *{
73
- outline-offset:-4px;
74
- outline:2px solid #008ae0;
75
- outline:2px solid var(--iui-color-foreground-primary);
76
- }
77
- @media (forced-colors: active){
78
- .iui-radio-tile-input:focus-visible + *{
79
- outline-color:Highlight;
80
- }
81
- }
82
- @supports not selector(*:focus-visible){
83
- .iui-radio-tile-input:focus + *{
84
- outline-offset:-4px;
85
- outline:2px solid #008ae0;
86
- outline:2px solid var(--iui-color-foreground-primary);
87
- }
88
- @media (forced-colors: active){
89
- .iui-radio-tile-input:focus + *{
90
- outline-color:Highlight;
91
- }
92
- }
93
- }
94
58
  .iui-radio-tile-input:checked + *{
95
- padding:7px;
59
+ padding:8px;
96
60
  z-index:3;
97
- border:2px solid #008ae0;
98
- border:2px solid var(--iui-color-foreground-primary);
61
+ outline:2px solid var(--iui-color-foreground-primary);
62
+ outline-offset:-1px;
99
63
  }
100
64
  @media (forced-colors: active){
101
65
  .iui-radio-tile-input:checked + *{
102
- border-color:Highlight;
66
+ outline-color:Highlight;
103
67
  }
104
68
  }
105
69
  .iui-radio-tile-input:checked + * .iui-radio-tile-icon{
106
- fill:#008ae0;
107
70
  fill:var(--iui-icons-color-primary);
108
71
  }
109
72
  @media (forced-colors: active){
@@ -120,7 +83,6 @@
120
83
  right:8px;
121
84
  -webkit-mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M6,14L0,8l2-2l4,4l8-8l2,2L6,14z" /></svg>');
122
85
  mask:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M6,14L0,8l2-2l4,4l8-8l2,2L6,14z" /></svg>');
123
- background-color:#008ae0;
124
86
  background-color:var(--iui-color-foreground-primary);
125
87
  }
126
88
  @media (forced-colors: active){
@@ -131,13 +93,10 @@
131
93
  .iui-radio-tile-input:disabled + *{
132
94
  cursor:not-allowed;
133
95
  z-index:0;
134
- border-color:#edeff2;
135
- background-color:#edeff2;
136
- border-color:var(--iui-color-background-disabled);
96
+ outline-color:var(--iui-color-background-disabled);
137
97
  background-color:var(--iui-color-background-disabled);
138
98
  }
139
99
  .iui-radio-tile-input:disabled + *::after{
140
- background-color:rgba(0, 0, 0, 0.2);
141
100
  background-color:var(--iui-icons-color-actionable-disabled);
142
101
  }
143
102
  @media (forced-colors: active){
@@ -147,7 +106,6 @@
147
106
  }
148
107
  .iui-radio-tile-input:disabled + * .iui-radio-tile-icon{
149
108
  filter:grayscale(100%);
150
- fill:rgba(0, 0, 0, 0.2);
151
109
  fill:var(--iui-icons-color-actionable-disabled);
152
110
  }
153
111
  @media (forced-colors: active){
@@ -155,24 +113,44 @@
155
113
  fill:GrayText;
156
114
  }
157
115
  }
116
+ .iui-radio-tile-input:disabled + * .iui-radio-tile-label{
117
+ color:var(--iui-text-color-muted);
118
+ }
158
119
  @media (forced-colors: active){
159
120
  .iui-radio-tile-input:disabled + * .iui-radio-tile-label,
160
121
  .iui-radio-tile-input:disabled + * .iui-radio-tile-sublabel{
161
122
  color:GrayText;
162
123
  }
163
124
  }
164
- .iui-radio-tile-input:disabled + * .iui-radio-tile-label{
165
- color:rgba(0, 0, 0, 0.4);
166
- color:var(--iui-text-color-muted);
167
- }
168
125
  .iui-radio-tile-input:disabled:checked + *{
169
126
  z-index:3;
170
- border:2px solid rgba(0, 0, 0, 0.4);
171
- border:2px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
127
+ outline:2px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
172
128
  }
173
129
  @media (forced-colors: active){
174
130
  .iui-radio-tile-input:disabled:checked + *{
175
- border-color:GrayText;
131
+ outline-color:GrayText;
132
+ }
133
+ }
134
+ .iui-radio-tile-input:focus-visible + *{
135
+ z-index:2;
136
+ outline-offset:-2px;
137
+ outline:3px solid var(--iui-color-foreground-primary);
138
+ }
139
+ @media (forced-colors: active){
140
+ .iui-radio-tile-input:focus-visible + *{
141
+ outline-color:Highlight;
142
+ }
143
+ }
144
+ @supports not selector(*:focus-visible){
145
+ .iui-radio-tile-input:focus + *{
146
+ z-index:2;
147
+ outline-offset:-2px;
148
+ outline:3px solid var(--iui-color-foreground-primary);
149
+ }
150
+ @media (forced-colors: active){
151
+ .iui-radio-tile-input:focus + *{
152
+ outline-color:Highlight;
153
+ }
176
154
  }
177
155
  }
178
156
 
@@ -180,10 +158,7 @@
180
158
  width:32px;
181
159
  height:32px;
182
160
  display:block;
183
- margin:0 auto;
184
- padding-top:6px;
185
- padding-bottom:11px;
186
- fill:rgba(0, 0, 0, 0.4);
161
+ margin:6px auto 11px;
187
162
  fill:var(--iui-icons-color);
188
163
  }
189
164
  @media (prefers-reduced-motion: no-preference){
@@ -203,7 +178,6 @@
203
178
  line-height:22px;
204
179
  text-align:center;
205
180
  word-break:break-word;
206
- color:rgba(0, 0, 0, 0.8);
207
181
  color:var(--iui-text-color);
208
182
  }
209
183
 
@@ -212,6 +186,5 @@
212
186
  line-height:15px;
213
187
  text-align:center;
214
188
  word-break:break-word;
215
- color:rgba(0, 0, 0, 0.4);
216
189
  color:var(--iui-text-color-muted);
217
190
  }
package/css/radio.css ADDED
@@ -0,0 +1,156 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .iui-radio{
6
+ --_iui-checkbox-checkmark-svg:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m6.5 12.5-4.5-4.5 1.5-1.5 3 3 6-6 1.5 1.5z" /></svg>');
7
+ --_iui-checkbox-indeterminate-svg:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m2.75 6.875h10.5v2.25h-10.5z" /></svg>');
8
+ --_iui-checkbox-unchecked-svg:url('data:image/svg+xml;utf8,<svg viewBox="0 0 16 16"></svg>');
9
+ --_iui-checkbox-svg-color:var(--iui-color-foreground-primary);
10
+ --_iui-checkbox-border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
11
+ --_iui-checkbox-background-color:var(--iui-color-background-1);
12
+ --_iui-checkbox-mask-image:initial;
13
+ -webkit-appearance:none;
14
+ -moz-appearance:none;
15
+ appearance:none;
16
+ margin:0;
17
+ width:16px;
18
+ height:16px;
19
+ position:relative;
20
+ border-radius:4px;
21
+ background-color:var(--_iui-checkbox-background-color);
22
+ flex-shrink:0;
23
+ cursor:pointer;
24
+ border-radius:50%;
25
+ }
26
+ .iui-radio-wrapper{
27
+ margin:0;
28
+ padding:0;
29
+ border:none;
30
+ vertical-align:baseline;
31
+ display:flex;
32
+ align-items:center;
33
+ font-size:14px;
34
+ width:-webkit-fit-content;
35
+ width:-moz-fit-content;
36
+ width:fit-content;
37
+ -webkit-user-select:none;
38
+ -moz-user-select:none;
39
+ -ms-user-select:none;
40
+ user-select:none;
41
+ position:relative;
42
+ cursor:pointer;
43
+ color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
44
+ gap:8px;
45
+ }
46
+ .iui-radio-wrapper.iui-loading{
47
+ cursor:wait;
48
+ color:var(--iui-text-color-muted);
49
+ }
50
+ .iui-radio-wrapper > .iui-checkbox-label,
51
+ .iui-radio-wrapper > .iui-radio-label{
52
+ display:flex;
53
+ align-items:center;
54
+ }
55
+ .iui-radio-wrapper > .iui-checkbox-label svg,
56
+ .iui-radio-wrapper > .iui-radio-label svg{
57
+ width:16px;
58
+ height:16px;
59
+ vertical-align:middle;
60
+ fill:currentColor;
61
+ }
62
+ .iui-radio-wrapper.iui-disabled{
63
+ cursor:not-allowed;
64
+ color:var(--iui-text-color-muted);
65
+ }
66
+ .iui-radio-wrapper.iui-disabled svg{
67
+ fill:var(--iui-icons-color-actionable-disabled);
68
+ }
69
+ .iui-radio-wrapper.iui-positive{
70
+ color:var(--iui-color-foreground-positive);
71
+ }
72
+ .iui-radio-wrapper.iui-warning{
73
+ color:var(--iui-color-foreground-warning);
74
+ }
75
+ .iui-radio-wrapper.iui-negative{
76
+ color:var(--iui-color-foreground-negative);
77
+ }
78
+ .iui-radio::before{
79
+ content:"";
80
+ position:absolute;
81
+ inset:0;
82
+ transition:border-color 0.2s ease-out;
83
+ border-radius:inherit;
84
+ border-style:solid;
85
+ border-width:1px;
86
+ border-color:var(--_iui-checkbox-border-color);
87
+ }
88
+ .iui-radio::after{
89
+ content:"";
90
+ position:absolute;
91
+ inset:0;
92
+ background-color:var(--_iui-checkbox-svg-color);
93
+ -webkit-mask:var(--_iui-checkbox-mask-image) no-repeat center;
94
+ mask:var(--_iui-checkbox-mask-image) no-repeat center;
95
+ }
96
+ .iui-radio:not(:checked){
97
+ --_iui-checkbox-mask-image:var(--_iui-checkbox-unchecked-svg);
98
+ }
99
+ .iui-radio:checked{
100
+ --_iui-checkbox-border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-3));
101
+ --_iui-checkbox-mask-image:var(--_iui-checkbox-checkmark-svg);
102
+ }
103
+ .iui-radio:indeterminate{
104
+ --_iui-checkbox-border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-3));
105
+ --_iui-checkbox-mask-image:var(--_iui-checkbox-indeterminate-svg);
106
+ }
107
+ .iui-radio:hover{
108
+ --_iui-checkbox-border-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
109
+ }
110
+ .iui-radio:focus-visible{
111
+ outline:2px solid var(--iui-color-foreground-primary);
112
+ outline-offset:-1px;
113
+ }
114
+ @supports not selector(*:focus-visible){
115
+ .iui-radio:focus{
116
+ outline:2px solid var(--iui-color-foreground-primary);
117
+ outline-offset:-1px;
118
+ }
119
+ }
120
+ .iui-radio:disabled{
121
+ --_iui-checkbox-svg-color:var(--iui-icons-color-actionable-disabled);
122
+ --_iui-checkbox-border-color:var(--iui-color-background-border);
123
+ --_iui-checkbox-background-color:var(--iui-color-background-disabled);
124
+ cursor:not-allowed;
125
+ }
126
+ .iui-radio.iui-checkbox-visibility{
127
+ --_iui-checkbox-checkmark-svg:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8 2.99051a8.81883 8.81883 0 0 0 -8 4.95062 8.74664 8.74664 0 0 0 8 5.06836 8.63266 8.63266 0 0 0 8-5.06836 8.83631 8.83631 0 0 0 -8-4.95062zm-1.31445 1.86981a1.47663 1.47663 0 1 1 -1.47663 1.47668 1.47665 1.47665 0 0 1 1.47663-1.47668zm1.31445 6.64917a7.17486 7.17486 0 0 1 -6.30475-3.55237 7.4952 7.4952 0 0 1 2.81475-2.6336 3.83956 3.83956 0 1 0 6.98126.00244 7.522 7.522 0 0 1 2.81774 2.63916 7.09785 7.09785 0 0 1 -6.309 3.54437z" /></svg>');
128
+ --_iui-checkbox-indeterminate-svg:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8 3v7.9a4.01179 4.01179 0 0 0 4-4 6.7509 6.7509 0 0 0 -.2-1.4l.1.1a6.89429 6.89429 0 0 1 2.4 2.4 8.39088 8.39088 0 0 1 -2.3 2.3 6.89412 6.89412 0 0 1 -3.9 1.2c-.03345 0-.06653-.00677-.1-.0072v1.5072a8.90686 8.90686 0 0 0 8-5 8.90686 8.90686 0 0 0 -8-5z" opacity=".33" /><path d="m8 0a1 1 0 0 0 -1 1v2.07135a8.91637 8.91637 0 0 0 -7 4.92865 8.91637 8.91637 0 0 0 7 4.92865v2.07135a1 1 0 0 0 2 0v-14a1 1 0 0 0 -1-1zm-1.5 4.9a1.55426 1.55426 0 0 1 .5.087v2.81451a1.40746 1.40746 0 0 1 -.5.09849 1.538 1.538 0 0 1 -1.5-1.5 1.53794 1.53794 0 0 1 1.5-1.5zm-2.3 5.4a6.97279 6.97279 0 0 1 -2.5-2.3 6.89429 6.89429 0 0 1 2.4-2.4c.1 0 .1-.1.2-.1a3.194 3.194 0 0 0 -.3 1.4 4.0047 4.0047 0 0 0 3 3.857v.65289a6.37491 6.37491 0 0 1 -2.8-1.10989z" /></svg>');
129
+ --_iui-checkbox-unchecked-svg:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m1.70671 12.879 11.17218-11.17219 1.4142 1.4142-11.17218 11.17218zm.99329-1.679 1.1-1.1a5.06317 5.06317 0 0 1 -2-2.1 7.48268 7.48268 0 0 1 6.2-3.5 4.86877 4.86877 0 0 1 1.2.1l1.3-1.3a10.07431 10.07431 0 0 0 -2.5-.3 8.84129 8.84129 0 0 0 -8 5 8.42455 8.42455 0 0 0 2.7 3.2zm10.7-6.4-1.1 1.1a7.08625 7.08625 0 0 1 2 2.1 7.50323 7.50323 0 0 1 -6.2 3.5 8.31665 8.31665 0 0 1 -1.3-.2l-1.3 1.3a8.909 8.909 0 0 0 6.4-.5 9.04344 9.04344 0 0 0 4.1-4.1 9.168 9.168 0 0 0 -2.6-3.2z" /></svg>');
130
+ --_iui-checkbox-border-color:transparent;
131
+ --_iui-checkbox-background-color:transparent;
132
+ }
133
+ .iui-radio.iui-checkbox-visibility:where(:not(:checked):not(:indeterminate)){
134
+ --_iui-checkbox-svg-color:var(--iui-icons-color-actionable);
135
+ }
136
+ .iui-radio.iui-checkbox-visibility:where(:hover){
137
+ --_iui-checkbox-border-color:transparent;
138
+ --_iui-checkbox-background-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
139
+ }
140
+ .iui-radio.iui-checkbox-visibility:where(:disabled){
141
+ --_iui-checkbox-svg-color:var(--iui-icons-color-actionable-disabled);
142
+ --_iui-checkbox-background-color:var(--iui-color-background-disabled);
143
+ }
144
+ .iui-radio.iui-loading{
145
+ --_iui-checkbox-border-color:transparent;
146
+ --_iui-checkbox-background-color:transparent;
147
+ opacity:0;
148
+ position:absolute;
149
+ cursor:wait;
150
+ }
151
+ .iui-radio:checked{
152
+ --_iui-checkbox-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" ><circle cx="8" cy="8" r="4" /></svg>');
153
+ }
154
+ .iui-radio:not(:checked), .iui-radio:indeterminate{
155
+ --_iui-checkbox-mask-image:var(--_iui-checkbox-unchecked-svg);
156
+ }