@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
@@ -1,54 +1,34 @@
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';
4
+ @import '../utils/index';
5
5
 
6
6
  @mixin iui-radio-tile {
7
7
  cursor: pointer;
8
- @include themed {
9
- -webkit-tap-highlight-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
10
- }
11
-
12
- &:first-of-type > .iui-radio-tile-content {
13
- border-radius: $iui-border-radius 0 0 $iui-border-radius;
14
- }
15
-
16
- &:last-of-type > .iui-radio-tile-content {
17
- border-radius: 0 $iui-border-radius $iui-border-radius 0;
18
- }
19
-
20
- &:not(:first-of-type) > .iui-radio-tile-content {
21
- margin-left: -1px;
22
- }
8
+ -webkit-tap-highlight-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
23
9
  }
10
+
24
11
  @mixin iui-radio-tile-content {
25
12
  width: $iui-xl * 5;
26
13
  height: 100%;
27
- box-sizing: border-box;
28
14
  padding: $iui-s;
29
15
  position: relative;
30
16
  z-index: 1;
17
+ outline: 1px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
18
+ background-color: var(--iui-color-background-1);
31
19
  @media (prefers-reduced-motion: no-preference) {
32
- transition: border-color $iui-speed-fast ease-out;
33
- }
34
- @include themed {
35
- border: 1px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
36
- background-color: t(iui-color-background-1);
20
+ transition: outline-color $iui-speed-fast ease-out;
37
21
  }
38
22
 
39
23
  &:hover {
40
24
  z-index: 2;
41
- @include themed {
42
- border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
43
- }
25
+ outline-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
44
26
 
45
27
  .iui-radio-tile-icon {
28
+ fill: var(--iui-icons-color-actionable);
46
29
  @media (forced-colors: active) {
47
30
  fill: CanvasText;
48
31
  }
49
- @include themed {
50
- fill: t(iui-icons-color-actionable);
51
- }
52
32
  }
53
33
  }
54
34
  }
@@ -56,10 +36,11 @@
56
36
  @mixin iui-radio-tile-container {
57
37
  display: inline-flex;
58
38
  flex-wrap: wrap;
39
+ gap: 1px; // prevent overlapping from outline
59
40
  user-select: none;
60
41
  // Create stacking context
61
42
  position: relative;
62
- z-index: 0;
43
+ isolation: isolate;
63
44
  }
64
45
 
65
46
  @mixin iui-radio-tile-input {
@@ -68,35 +49,22 @@
68
49
  appearance: none;
69
50
  opacity: 0;
70
51
  position: absolute;
71
- @include focus-visible {
72
- + * {
73
- outline-offset: -4px;
74
- @media (forced-colors: active) {
75
- outline-color: Highlight;
76
- }
77
- @include themed {
78
- outline: 2px solid t(iui-color-foreground-primary);
79
- }
80
- }
81
- }
82
52
 
83
53
  &:checked + * {
84
- padding: $iui-s - 1;
54
+ padding: $iui-s;
85
55
  z-index: 3;
56
+ outline: $iui-xxs solid var(--iui-color-foreground-primary);
57
+ outline-offset: -1px;
58
+
86
59
  @media (forced-colors: active) {
87
- border-color: Highlight;
88
- }
89
- @include themed {
90
- border: 2px solid t(iui-color-foreground-primary);
60
+ outline-color: Highlight;
91
61
  }
92
62
 
93
63
  .iui-radio-tile-icon {
64
+ fill: var(--iui-icons-color-primary);
94
65
  @media (forced-colors: active) {
95
66
  fill: Highlight;
96
67
  }
97
- @include themed {
98
- fill: t(iui-icons-color-primary);
99
- }
100
68
  }
101
69
 
102
70
  &::after {
@@ -107,40 +75,36 @@
107
75
  top: $iui-s;
108
76
  right: $iui-s;
109
77
  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>');
78
+ background-color: var(--iui-color-foreground-primary);
110
79
  @media (forced-colors: active) {
111
80
  background-color: Highlight;
112
81
  }
113
- @include themed {
114
- background-color: t(iui-color-foreground-primary);
115
- }
116
82
  }
117
83
  }
118
84
 
119
85
  &:disabled + * {
120
86
  cursor: not-allowed;
121
87
  z-index: 0;
122
- @include themed {
123
- border-color: t(iui-color-background-disabled);
124
- background-color: t(iui-color-background-disabled);
125
- }
88
+ outline-color: var(--iui-color-background-disabled);
89
+ background-color: var(--iui-color-background-disabled);
126
90
 
127
91
  &::after {
92
+ background-color: var(--iui-icons-color-actionable-disabled);
128
93
  @media (forced-colors: active) {
129
94
  background-color: GrayText;
130
95
  }
131
- @include themed {
132
- background-color: t(iui-icons-color-actionable-disabled);
133
- }
134
96
  }
135
97
 
136
98
  .iui-radio-tile-icon {
137
99
  filter: $iui-icons-color-multicolor-disabled;
100
+ fill: var(--iui-icons-color-actionable-disabled);
138
101
  @media (forced-colors: active) {
139
102
  fill: GrayText;
140
103
  }
141
- @include themed {
142
- fill: t(iui-icons-color-actionable-disabled);
143
- }
104
+ }
105
+
106
+ .iui-radio-tile-label {
107
+ color: var(--iui-text-color-muted);
144
108
  }
145
109
 
146
110
  .iui-radio-tile-label,
@@ -149,21 +113,24 @@
149
113
  color: GrayText;
150
114
  }
151
115
  }
152
-
153
- .iui-radio-tile-label {
154
- @include themed {
155
- color: t(iui-text-color-muted);
156
- }
157
- }
158
116
  }
159
117
 
160
118
  &:disabled:checked + * {
161
119
  z-index: 3;
120
+ outline: $iui-xxs solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
162
121
  @media (forced-colors: active) {
163
- border-color: GrayText;
122
+ outline-color: GrayText;
164
123
  }
165
- @include themed {
166
- border: 2px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
124
+ }
125
+
126
+ @include focus-visible {
127
+ + * { // outline for checkmark
128
+ z-index: 2;
129
+ outline-offset: -$iui-xxs;
130
+ outline: 3px solid var(--iui-color-foreground-primary);
131
+ @media (forced-colors: active) {
132
+ outline-color: Highlight;
133
+ }
167
134
  }
168
135
  }
169
136
  }
@@ -172,19 +139,14 @@
172
139
  width: $iui-icons-xl;
173
140
  height: $iui-icons-xl;
174
141
  display: block;
175
- margin: 0 auto;
176
- padding-top: round($iui-baseline * 0.5);
177
- padding-bottom: $iui-baseline;
178
-
142
+ margin: round($iui-baseline * 0.5) auto $iui-baseline;
143
+ fill: var(--iui-icons-color);
179
144
  @media (prefers-reduced-motion: no-preference) {
180
145
  transition: fill $iui-speed-fast ease-out;
181
146
  }
182
147
  @media (forced-colors: active) {
183
148
  fill: CanvasText;
184
149
  }
185
- @include themed {
186
- fill: t(iui-icons-color);
187
- }
188
150
  }
189
151
 
190
152
  @mixin iui-radio-tile-label {
@@ -193,9 +155,7 @@
193
155
  line-height: $iui-line-height;
194
156
  text-align: center;
195
157
  word-break: break-word;
196
- @include themed {
197
- color: t(iui-text-color);
198
- }
158
+ color: var(--iui-text-color);
199
159
  }
200
160
 
201
161
  @mixin iui-radio-tile-sublabel {
@@ -203,7 +163,5 @@
203
163
  line-height: round($iui-baseline * 1.375);
204
164
  text-align: center;
205
165
  word-break: break-word;
206
- @include themed {
207
- color: t(iui-text-color-muted);
208
- }
166
+ color: var(--iui-text-color-muted);
209
167
  }
@@ -0,0 +1,27 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import './index';
4
+
5
+ .iui-select-button {
6
+ @include iui-select-button;
7
+ }
8
+
9
+ .iui-select-tag-container {
10
+ @include iui-select-tag-container;
11
+ }
12
+
13
+ .iui-select-tag {
14
+ @include iui-select-tag;
15
+ }
16
+
17
+ .iui-select-tag-label {
18
+ @include iui-select-tag-label;
19
+ }
20
+
21
+ .iui-select-tag-button {
22
+ @include iui-select-tag-button;
23
+ }
24
+
25
+ .iui-select-tag-button-icon {
26
+ @include iui-select-tag-button-icon;
27
+ }
@@ -0,0 +1,3 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import './select';
@@ -0,0 +1,124 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import '../style/index';
4
+ @import '../menu/index';
5
+ @import '../utils/index';
6
+ @import '../tag/index';
7
+ @import '../button/index';
8
+
9
+ @mixin iui-select-button {
10
+ @include iui-focus($offset: -2px, $thickness: 2px);
11
+ width: 100%;
12
+ margin: 0;
13
+ border-radius: $iui-border-radius;
14
+ padding: $iui-component-padding-vertical $iui-component-padding-horizontal;
15
+ min-height: $iui-component-height;
16
+ transition: border-color $iui-speed-fast ease-out;
17
+ display: flex;
18
+ align-items: center;
19
+ user-select: none;
20
+ position: relative;
21
+ overflow: hidden;
22
+ color: var(--iui-text-color);
23
+ background-color: var(--iui-color-background-1);
24
+ border: 1px solid rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
25
+
26
+ &.iui-small {
27
+ padding-top: $iui-component-padding-vertical-small;
28
+ padding-bottom: $iui-component-padding-vertical-small;
29
+ min-height: $iui-component-height-small;
30
+ }
31
+
32
+ &.iui-large {
33
+ padding-top: $iui-component-padding-vertical-large;
34
+ padding-bottom: $iui-component-padding-vertical-large;
35
+ min-height: $iui-component-height-large;
36
+ font-size: $iui-font-size-leading;
37
+ }
38
+
39
+ &.iui-disabled {
40
+ background-color: var(--iui-color-background-disabled);
41
+ border-color: var(--iui-color-background-disabled);
42
+ --_hover-color: var(--iui-color-background-disabled);
43
+ cursor: not-allowed;
44
+ }
45
+
46
+ .iui-icon {
47
+ @include iui-menu-icon;
48
+ fill: currentColor;
49
+ }
50
+
51
+ .iui-content {
52
+ overflow: hidden;
53
+ white-space: nowrap;
54
+ text-overflow: ellipsis;
55
+ }
56
+
57
+ &.iui-placeholder {
58
+ color: var(--iui-text-color-placeholder);
59
+ }
60
+ }
61
+
62
+ @mixin iui-select-tag-container {
63
+ position: absolute;
64
+ // align wth Select's padding
65
+ inset: 0 $iui-icons-default + $iui-l 0 $iui-sm;
66
+ height: 100%;
67
+ display: flex;
68
+ align-items: center;
69
+ gap: $iui-xs;
70
+ overflow: hidden;
71
+
72
+ > * + * {
73
+ margin-left: $iui-xs;
74
+ @supports (gap: $iui-xs) {
75
+ margin-left: 0;
76
+ }
77
+ }
78
+ }
79
+
80
+ @mixin iui-select-tag {
81
+ @include iui-tag;
82
+ // Override hardcoded Tag margin
83
+ margin-top: 0;
84
+ margin-bottom: 0;
85
+ display: inline-flex;
86
+ align-items: center;
87
+ height: 80%;
88
+ max-height: $iui-baseline * 3;
89
+ }
90
+
91
+ @mixin iui-select-tag-label {
92
+ @include iui-tag-label;
93
+ display: inline-flex;
94
+ align-items: center;
95
+
96
+ @at-root .iui-select-button.iui-small & {
97
+ font-size: $iui-font-size-small;
98
+ line-height: floor($iui-baseline * 1.5);
99
+ }
100
+ }
101
+
102
+ @mixin iui-select-tag-button {
103
+ @include iui-button;
104
+ @include iui-button-borderless;
105
+ @include iui-tag-button;
106
+ padding: 0 $iui-xs;
107
+ height: 100%;
108
+ aspect-ratio: 1 / 1;
109
+
110
+ @at-root .iui-select-button.iui-small & {
111
+ font-size: $iui-font-size-small;
112
+ line-height: floor($iui-baseline * 1.5);
113
+ }
114
+ }
115
+
116
+ @mixin iui-select-tag-button-icon {
117
+ @include iui-button-icon;
118
+ flex-shrink: 0;
119
+
120
+ @at-root .iui-select-button.iui-small & {
121
+ width: $iui-icons-small;
122
+ height: $iui-icons-small;
123
+ }
124
+ }
@@ -1,21 +1,20 @@
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 '../utils/index';
5
+ @import '../text/mixins';
4
6
  @import '../icon/index';
5
- @import '../text/index';
6
7
 
7
8
  @mixin iui-side-navigation {
8
9
  display: inline-flex;
9
10
  flex: 0 0 auto;
10
11
  flex-direction: column;
11
12
  height: 100%;
13
+ background-color: var(--iui-color-background-3);
14
+ border-right: 1px solid var(--iui-color-background-border);
12
15
  @media (prefers-reduced-motion: no-preference) {
13
16
  transition: max-width $iui-speed-fast ease-out;
14
17
  }
15
- @include themed {
16
- background-color: t(iui-color-background-3);
17
- border-right: 1px solid t(iui-color-background-border);
18
- }
19
18
 
20
19
  > .iui-sidenav-content {
21
20
  display: flex;
@@ -50,20 +49,23 @@
50
49
 
51
50
  + .iui-sidenav-button.iui-expand {
52
51
  border: none;
53
- @include themed {
54
- border-top: 1px solid t(iui-color-background-border);
55
- }
52
+ border-top: 1px solid var(--iui-color-background-border);
56
53
  }
57
54
  }
58
55
 
59
56
  &.iui-collapsed {
60
- min-width: $iui-icons-large * 3;
61
- max-width: $iui-icons-large * 3;
57
+ box-sizing: content-box;
58
+ min-width: $iui-icons-large + $iui-side-navigation-icon-margins * 2;
59
+ max-width: $iui-icons-large + $iui-side-navigation-icon-margins * 2;
62
60
 
63
61
  // iPhone notch support
64
62
  @supports (min-width: unquote('max(0px)')) {
65
- min-width: unquote('max(#{$iui-icons-large} * 3, #{$iui-icons-large} * 3 + env(safe-area-inset-left))');
66
- max-width: unquote('max(#{$iui-icons-large} * 3, #{$iui-icons-large} * 3 + env(safe-area-inset-left))');
63
+ min-width: unquote(
64
+ 'max(#{$iui-icons-large} + #{$iui-side-navigation-icon-margins} * 2, #{$iui-icons-large} + #{$iui-side-navigation-icon-margins} * 2 + env(safe-area-inset-left))'
65
+ );
66
+ max-width: unquote(
67
+ 'max(#{$iui-icons-large} + #{$iui-side-navigation-icon-margins} * 2, #{$iui-icons-large} + #{$iui-side-navigation-icon-margins} * 2 + env(safe-area-inset-left))'
68
+ );
67
69
  }
68
70
  }
69
71
 
@@ -77,7 +79,7 @@
77
79
  }
78
80
 
79
81
  .iui-sidenav-button {
80
- gap: $iui-icons-large;
82
+ gap: $iui-side-navigation-icon-margins;
81
83
  border-radius: 0;
82
84
  border-left: none;
83
85
  border-right: none;
@@ -91,11 +93,13 @@
91
93
  height: $iui-baseline * 5;
92
94
  // iPhone notch support
93
95
  @supports (padding: unquote('max(0px)')) {
94
- padding-left: unquote('max(#{$iui-icons-large}, #{$iui-icons-large} + env(safe-area-inset-left))');
96
+ padding-left: unquote(
97
+ 'max(#{$iui-side-navigation-icon-margins}, #{$iui-side-navigation-icon-margins} + env(safe-area-inset-left))'
98
+ );
95
99
  }
96
100
  }
97
101
 
98
- > .iui-button-label {
102
+ > span {
99
103
  white-space: nowrap;
100
104
  overflow: hidden;
101
105
  text-overflow: ellipsis;
@@ -104,37 +108,29 @@
104
108
  &,
105
109
  &:hover,
106
110
  &[disabled] {
107
- @include themed {
108
- border-color: t(iui-color-background-border);
109
- }
111
+ border-color: var(--iui-color-background-border);
110
112
  }
111
113
 
112
- > .iui-button-icon:not(.iui-user-icon) {
114
+ > .iui-button-icon:not(.iui-avatar) {
113
115
  width: $iui-icons-large;
114
116
  height: $iui-icons-large;
115
117
  flex-shrink: 0;
116
118
  }
117
119
 
118
120
  &.iui-submenu-open .iui-button-icon {
119
- @include themed {
120
- fill: t(iui-color-foreground-primary);
121
- }
121
+ fill: var(--iui-color-foreground-primary);
122
122
  }
123
123
 
124
124
  &[disabled],
125
125
  &:disabled {
126
- @include themed {
127
- background-color: t(iui-color-background-2);
128
- }
126
+ background-color: var(--iui-color-background-2);
129
127
  }
130
128
 
131
129
  &.iui-expand {
132
130
  height: $iui-line-height;
133
131
  justify-content: center;
134
132
  border: none;
135
- @include themed {
136
- border-bottom: 1px solid t(iui-color-background-border);
137
- }
133
+ border-bottom: 1px solid var(--iui-color-background-border);
138
134
 
139
135
  > .iui-button-icon {
140
136
  @include iui-icons-small;
@@ -150,15 +146,12 @@
150
146
  min-width: $iui-3xl * 2;
151
147
  max-width: 50vw;
152
148
  height: 100%;
153
- box-sizing: border-box;
154
149
  overflow-x: hidden;
155
150
  overflow-y: auto;
156
151
  overflow-y: overlay;
157
152
  resize: horizontal;
158
- @include themed {
159
- background-color: t(iui-color-background-1);
160
- border-right: 1px solid t(iui-color-background-border);
161
- }
153
+ background-color: var(--iui-color-background-1);
154
+ border-right: 1px solid var(--iui-color-background-border);
162
155
 
163
156
  @include iui-transition-group;
164
157
 
@@ -170,7 +163,6 @@
170
163
  &-content {
171
164
  padding: 0 $iui-sm $iui-baseline;
172
165
  flex-shrink: 0;
173
- box-sizing: border-box;
174
166
  }
175
167
 
176
168
  &-header {
@@ -1,13 +1,12 @@
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 '../utils/index';
4
5
 
5
6
  @mixin iui-skip-to-content-link {
6
7
  @include iui-blur($opacity: 3);
7
8
  @include iui-focus($offset: 2px, $thickness: 2px);
8
- @include themed {
9
- color: t(iui-color-foreground-accessory);
10
- }
9
+ color: var(--iui-color-foreground-accessory);
11
10
  border-radius: $iui-border-radius-round;
12
11
  text-decoration: none;
13
12
  user-select: none;
@@ -2,6 +2,7 @@
2
2
  // See LICENSE.md in the project root for license terms and full copyright notice.
3
3
  @import '../style/index';
4
4
  @import '../icon/index';
5
+ @import '../utils/index';
5
6
 
6
7
  $thumb-height: $iui-m; // 16px
7
8
  $track-height: $iui-xs; // 4px
@@ -41,6 +42,7 @@ $tick-height: $iui-baseline; // 11px
41
42
  flex-grow: 1;
42
43
  cursor: pointer;
43
44
  touch-action: pan-y;
45
+ isolation: isolate;
44
46
 
45
47
  &.iui-grabbing {
46
48
  cursor: grabbing;
@@ -52,12 +54,11 @@ $tick-height: $iui-baseline; // 11px
52
54
  width: 100%;
53
55
  height: $track-height;
54
56
  top: $iui-sm;
55
- @include themed {
56
- background-color: t(iui-color-background-border);
57
- }
57
+ background-color: var(--iui-color-background-border);
58
58
  }
59
59
 
60
60
  @mixin iui-slider-thumb {
61
+ box-sizing: content-box;
61
62
  position: absolute;
62
63
  height: $thumb-height;
63
64
  width: $thumb-height;
@@ -69,10 +70,8 @@ $tick-height: $iui-baseline; // 11px
69
70
  z-index: 1;
70
71
  cursor: grab;
71
72
  @include iui-focus($thickness: 2px);
72
- @include themed {
73
- background: t(iui-color-background-1);
74
- border: 1px solid t(iui-color-background-border);
75
- }
73
+ background: var(--iui-color-background-1);
74
+ border: 1px solid var(--iui-color-background-border);
76
75
 
77
76
  &:active {
78
77
  cursor: grabbing;
@@ -85,9 +84,7 @@ $tick-height: $iui-baseline; // 11px
85
84
  height: $track-height;
86
85
  left: 0;
87
86
  top: $iui-sm;
88
- @include themed {
89
- background-color: t(iui-color-foreground-primary);
90
- }
87
+ background-color: var(--iui-color-foreground-primary);
91
88
  }
92
89
 
93
90
  @mixin iui-slider-ticks {
@@ -107,9 +104,7 @@ $tick-height: $iui-baseline; // 11px
107
104
  height: $tick-height;
108
105
  line-height: $tick-height * 4;
109
106
  margin-bottom: $tick-height * 2;
110
- @include themed {
111
- background-color: t(iui-color-background-4);
112
- }
107
+ background-color: var(--iui-color-background-4);
113
108
  }
114
109
  }
115
110
 
@@ -123,24 +118,18 @@ $tick-height: $iui-baseline; // 11px
123
118
 
124
119
  .iui-slider-thumb {
125
120
  cursor: not-allowed;
126
- @include themed {
127
- background-color: t(iui-color-background-4);
128
- border-color: t(iui-color-background-4);
129
- }
121
+ background-color: var(--iui-color-background-4);
122
+ border-color: var(--iui-color-background-4);
130
123
  }
131
124
 
132
125
  .iui-slider-track {
133
- @include themed {
134
- background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
135
- }
126
+ background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
136
127
  }
137
128
 
138
129
  .iui-slider-min,
139
130
  .iui-slider-max,
140
131
  .iui-slider-tick {
141
132
  user-select: none;
142
- @include themed {
143
- color: t(iui-text-color-muted);
144
- }
133
+ color: var(--iui-text-color-muted);
145
134
  }
146
135
  }
@@ -0,0 +1,32 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import './index';
4
+
5
+ .iui-stepper {
6
+ @include iui-stepper;
7
+ }
8
+
9
+ .iui-stepper-step {
10
+ @include iui-stepper-step;
11
+ @include iui-stepper-step-modifiers;
12
+ }
13
+
14
+ .iui-stepper-circle {
15
+ @include iui-stepper-circle;
16
+ }
17
+
18
+ .iui-stepper-track-content {
19
+ @include iui-stepper-track-content;
20
+ }
21
+
22
+ .iui-stepper-step-name {
23
+ @include iui-stepper-step-name;
24
+ }
25
+
26
+ .iui-stepper-steps-label {
27
+ @include iui-stepper-steps-label;
28
+ }
29
+
30
+ .iui-stepper-steps-label-count {
31
+ @include iui-stepper-steps-label-count;
32
+ }
@@ -0,0 +1,3 @@
1
+ // Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2
+ // See LICENSE.md in the project root for license terms and full copyright notice.
3
+ @import './stepper';