@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,7 +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 '../text/index';
4
+ @import '../utils/index';
5
5
  @import '../icon/index';
6
6
 
7
7
  @mixin iui-file-upload {
@@ -22,13 +22,10 @@
22
22
  flex-direction: column;
23
23
  justify-content: center;
24
24
  align-items: center;
25
- box-sizing: border-box;
26
25
  user-select: none;
27
26
  padding: round($iui-baseline * 0.5) $iui-sm;
28
- @include themed {
29
- background-color: t(iui-color-background-2);
30
- border: 1px solid t(iui-color-background-2);
31
- }
27
+ background-color: var(--iui-color-background-2);
28
+ border: 1px solid var(--iui-color-background-2);
32
29
 
33
30
  .iui-browse-input {
34
31
  width: 0.1px;
@@ -36,7 +33,6 @@
36
33
  opacity: 0;
37
34
  overflow: hidden;
38
35
  position: absolute;
39
- z-index: -1;
40
36
  }
41
37
 
42
38
  > svg,
@@ -52,10 +48,8 @@
52
48
  flex-direction: row;
53
49
 
54
50
  &:focus-within {
55
- @include themed {
56
- outline: 2px solid t(iui-color-foreground-primary);
57
- outline-offset: -2px;
58
- }
51
+ outline: 2px solid var(--iui-color-foreground-primary);
52
+ outline-offset: -2px;
59
53
  }
60
54
  }
61
55
 
@@ -69,22 +63,18 @@
69
63
  }
70
64
 
71
65
  &.iui-drag > .iui-content {
72
- @include themed {
73
- background: linear-gradient(
74
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6)),
75
- rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6))
76
- ),
77
- linear-gradient(t(iui-color-background-1), t(iui-color-background-1));
78
- border-color: t(iui-color-foreground-primary);
79
- color: t(iui-color-foreground-primary);
80
- }
66
+ background: linear-gradient(
67
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)),
68
+ rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6))
69
+ ),
70
+ linear-gradient(var(--iui-color-background-1), var(--iui-color-background-1));
71
+ border-color: var(--iui-color-foreground-primary);
72
+ color: var(--iui-color-foreground-primary);
81
73
  visibility: visible;
82
74
 
83
75
  > svg,
84
76
  .iui-template-icon {
85
- @include themed {
86
- fill: t(iui-icons-color-primary);
87
- }
77
+ fill: var(--iui-icons-color-primary);
88
78
  }
89
79
  }
90
80
  }
@@ -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 '../anchor/index';
5
+ @import '../utils/index';
5
6
 
6
7
  @mixin iui-legal-footer {
7
8
  @include iui-reset;
@@ -25,20 +26,14 @@
25
26
  user-select: none;
26
27
  white-space: nowrap;
27
28
  word-break: keep-all;
28
-
29
- @include themed {
30
- color: t(iui-text-color-muted);
31
- }
29
+ color: var(--iui-text-color-muted);
32
30
 
33
31
  .iui-separator {
34
32
  margin: 0 $iui-s;
35
33
  width: 1px;
36
34
  height: $iui-baseline;
37
35
  display: inline-table;
38
-
39
- @include themed {
40
- background-color: t(iui-text-color-muted);
41
- }
36
+ background-color: var(--iui-text-color-muted);
42
37
  }
43
38
 
44
39
  > a {
@@ -46,9 +41,7 @@
46
41
 
47
42
  &,
48
43
  &:hover {
49
- @include themed {
50
- color: t(iui-text-color-muted);
51
- }
44
+ color: var(--iui-text-color-muted);
52
45
  }
53
46
  }
54
47
  }
@@ -57,9 +50,6 @@
57
50
  > .iui-legal-footer-developer {
58
51
  display: block;
59
52
  user-select: all;
60
-
61
- @include themed {
62
- color: t(iui-text-color-muted);
63
- }
53
+ color: var(--iui-text-color-muted);
64
54
  }
65
55
  }
@@ -4,8 +4,76 @@
4
4
 
5
5
  .iui-page-header {
6
6
  @include iui-page-header;
7
+
8
+ &[data-iui-size='slim'] {
9
+ @include iui-page-header-slim;
10
+ }
11
+ }
12
+
13
+ .iui-page-header-left,
14
+ .iui-page-header-center,
15
+ .iui-page-header-right {
16
+ @include iui-page-header-zone;
17
+ }
18
+
19
+ .iui-page-header-right {
20
+ @include iui-page-header-right;
21
+ }
22
+
23
+ .iui-page-header-divider {
24
+ @include iui-page-header-divider;
25
+ }
26
+
27
+ .iui-header-breadcrumbs {
28
+ @include iui-page-header-breadcrumbs;
29
+ }
30
+
31
+ .iui-header-brand {
32
+ @include iui-header-brand;
33
+ }
34
+
35
+ .iui-header-brand-icon {
36
+ @include iui-header-brand-icon;
37
+ }
38
+
39
+ .iui-header-brand-label {
40
+ @include iui-header-brand-label;
41
+ }
42
+
43
+ .iui-header-breadcrumbs-list {
44
+ @include iui-breadcrumbs-list;
45
+ }
46
+
47
+ .iui-page-header-left,
48
+ .iui-header-breadcrumbs,
49
+ .iui-header-breadcrumbs-list {
50
+ @include iui-page-header-left;
51
+ }
52
+
53
+ .iui-header-breadcrumb-button {
54
+ @include iui-header-breadcrumb-button;
55
+ }
56
+
57
+ .iui-header-breadcrumb-button-split {
58
+ @include iui-header-breadcrumb-button-split;
59
+ }
60
+
61
+ .iui-header-breadcrumb-item {
62
+ @include iui-header-breadcrumb-item;
63
+ }
64
+
65
+ .iui-header-breadcrumb-button-wrapper {
66
+ @include iui-header-breadcrumb-button-wrapper;
67
+ }
68
+
69
+ .iui-header-breadcrumb-button-icon {
70
+ @include iui-header-breadcrumb-button-icon;
71
+ }
72
+
73
+ .iui-header-breadcrumb-button-dropdown-icon {
74
+ @include iui-header-breadcrumb-button-dropdown-icon;
7
75
  }
8
76
 
9
- .iui-header-logo {
10
- @include iui-header-logo;
77
+ .iui-header-breadcrumb-button-text {
78
+ @include iui-header-breadcrumb-button-text;
11
79
  }
@@ -0,0 +1,316 @@
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
+
5
+ @mixin iui-header-brand {
6
+ height: 100%;
7
+ display: inline-flex;
8
+ align-items: center;
9
+ flex-shrink: 0;
10
+ white-space: nowrap;
11
+ background-color: transparent;
12
+ box-sizing: border-box;
13
+
14
+ @at-root {
15
+ a#{&}, // rendered as anchor element
16
+ button#{&}, // rendered as button element
17
+ &[role='button'] {
18
+ @include iui-focus;
19
+ cursor: pointer;
20
+ -webkit-tap-highlight-color: transparent;
21
+ transition: background-color $iui-speed-fast ease-out;
22
+ @media (forced-colors: active) {
23
+ border: 1px solid CanvasText;
24
+ border-top-width: 0;
25
+ border-bottom-width: 0;
26
+ }
27
+
28
+ // #region resets for button
29
+ @include iui-reset;
30
+ font-family: inherit;
31
+ background-color: unset;
32
+ color: unset;
33
+ // #endregion
34
+
35
+ &:hover {
36
+ background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
37
+ }
38
+ }
39
+ }
40
+
41
+ @at-root a#{&} {
42
+ text-decoration: none;
43
+ }
44
+ }
45
+
46
+ @mixin iui-header-brand-icon {
47
+ width: $iui-icons-large;
48
+ height: $iui-icons-large;
49
+ margin: 0 $iui-side-navigation-icon-margins;
50
+ fill: var(--iui-icons-color-actionable);
51
+ will-change: transform;
52
+ transform: var(--_iui-header-icon-scale);
53
+ @media (prefers-reduced-motion: no-preference) {
54
+ transition: transform $iui-speed-fast ease-out;
55
+ }
56
+ }
57
+
58
+ @mixin iui-header-brand-label {
59
+ margin-right: $iui-sm;
60
+ font-size: var(--_iui-header-brand-label-font-size);
61
+ @media (prefers-reduced-motion: no-preference) {
62
+ transition: font-size $iui-speed-fast ease-out;
63
+ }
64
+ @media (max-width: 991px) {
65
+ display: none;
66
+ }
67
+ }
68
+
69
+ @mixin iui-header-breadcrumb-item {
70
+ max-width: 25vw;
71
+ transition: background-color $iui-speed-fast ease-out;
72
+ height: 100%;
73
+ display: flex;
74
+ overflow: hidden;
75
+ position: relative;
76
+ color: var(--iui-text-color);
77
+ box-sizing: border-box;
78
+ @media (forced-colors: active) {
79
+ color: LinkText;
80
+ border: none;
81
+ }
82
+
83
+ // Hover state
84
+ &:hover {
85
+ background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
86
+ }
87
+
88
+ // Active state
89
+ &[aria-current] {
90
+ background-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
91
+ box-shadow: 0 $iui-xxs 0 0 currentColor;
92
+ color: var(--iui-color-foreground-primary);
93
+ @media (forced-colors: active) {
94
+ color: LinkText;
95
+ border-bottom: 3px solid LinkText;
96
+ }
97
+ }
98
+
99
+ // Disabled state
100
+ &[aria-disabled='true'] {
101
+ cursor: not-allowed;
102
+ background-color: transparent;
103
+ color: var(--iui-text-color-placeholder);
104
+
105
+ // Disabled active state
106
+ &[aria-current] {
107
+ box-shadow: none;
108
+ background-color: var(--iui-color-background-2);
109
+
110
+ @media (forced-colors: active) {
111
+ border-bottom: 3px solid GrayText;
112
+ }
113
+ }
114
+ }
115
+ }
116
+
117
+ @mixin iui-header-breadcrumb-button-wrapper {
118
+ width: 100%;
119
+ overflow: hidden;
120
+ display: flex;
121
+ }
122
+
123
+ @mixin iui-header-breadcrumb-button {
124
+ @include iui-reset;
125
+ @include iui-focus;
126
+ display: inline-flex;
127
+ align-items: center;
128
+ vertical-align: middle;
129
+ justify-content: center;
130
+ height: 100%;
131
+ border-radius: 0;
132
+ max-width: 25vw;
133
+ overflow: hidden;
134
+ padding-left: $iui-sm;
135
+ padding-right: $iui-sm;
136
+ box-sizing: border-box;
137
+ font-family: inherit;
138
+ -webkit-tap-highlight-color: transparent;
139
+ transition: background-color $iui-speed-fast ease-out;
140
+ color: inherit;
141
+ gap: $iui-sm;
142
+ cursor: pointer;
143
+ @media (forced-colors: active) {
144
+ border: 1px solid;
145
+ border-top-width: 0;
146
+ border-bottom-width: 0;
147
+
148
+ &:not(:last-child) {
149
+ border-right-width: 0;
150
+ }
151
+ }
152
+
153
+ // Default & hover state
154
+ &,
155
+ &:hover {
156
+ background-color: transparent;
157
+ }
158
+
159
+ // Disabled state
160
+ &:disabled,
161
+ &[aria-disabled='true'] {
162
+ cursor: not-allowed;
163
+ }
164
+ }
165
+
166
+ @mixin iui-header-breadcrumb-button-split {
167
+ padding: 0 $iui-s;
168
+ margin-left: -$iui-s;
169
+ flex-shrink: 0;
170
+
171
+ &:hover {
172
+ background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
173
+ }
174
+
175
+ @at-root [aria-current] &:hover {
176
+ background-color: rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
177
+ }
178
+
179
+ &:disabled,
180
+ &[aria-disabled='true'] {
181
+ cursor: not-allowed;
182
+
183
+ &:hover {
184
+ background-color: transparent;
185
+ }
186
+ }
187
+ }
188
+
189
+ @mixin iui-header-breadcrumb-button-dropdown-icon {
190
+ width: $iui-icons-default;
191
+ height: $iui-icons-default;
192
+ fill: currentColor;
193
+ flex-shrink: 0;
194
+ margin-right: -#{$iui-xs};
195
+
196
+ @at-root .iui-header-breadcrumb-button-split & {
197
+ margin-right: 0;
198
+ }
199
+
200
+ @at-root {
201
+ :disabled &,
202
+ [aria-disabled='true'] & {
203
+ @media (forced-colors: active) {
204
+ fill: GrayText;
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ @mixin iui-header-breadcrumb-button-text {
211
+ display: flex;
212
+ flex-direction: column;
213
+ justify-content: center;
214
+ font-size: $iui-font-size;
215
+ text-align: left;
216
+ overflow: hidden;
217
+ transition: color $iui-speed-fast ease-out;
218
+
219
+ &-label,
220
+ &-sublabel {
221
+ overflow: hidden;
222
+ white-space: nowrap;
223
+ text-overflow: ellipsis;
224
+ }
225
+
226
+ &-sublabel {
227
+ font-size: $iui-font-size-small;
228
+ opacity: var(--iui-opacity-3);
229
+ @media (prefers-reduced-motion: no-preference) {
230
+ transition: visibility 0s linear 0s, width $iui-speed-fast ease-out, height $iui-speed-fast ease-out,
231
+ opacity $iui-speed-fast ease-out;
232
+ }
233
+
234
+ @at-root {
235
+ .iui-active &,
236
+ [aria-current] & {
237
+ opacity: var(--iui-opacity-1);
238
+ }
239
+ }
240
+
241
+ @at-root [data-iui-size='slim'] & {
242
+ visibility: hidden;
243
+ opacity: 0;
244
+ height: 0;
245
+ width: 0;
246
+ }
247
+ }
248
+ }
249
+
250
+ @mixin iui-header-breadcrumb-button-icon {
251
+ width: $iui-icons-large;
252
+ height: $iui-icons-large;
253
+ background-color: var(--iui-color-background-3);
254
+ border-radius: $iui-border-radius;
255
+ display: inline-flex;
256
+ flex-shrink: 0;
257
+ box-sizing: border-box;
258
+ padding: $iui-xs;
259
+ fill: var(--iui-icons-color);
260
+ will-change: transform;
261
+ transform: var(--_iui-header-icon-scale);
262
+ @media (prefers-reduced-motion: no-preference) {
263
+ transition: transform $iui-speed-fast ease-out;
264
+ }
265
+ @media (forced-colors: active) {
266
+ fill: LinkText;
267
+ }
268
+
269
+ @at-root {
270
+ img#{&},
271
+ div#{&} {
272
+ padding: 0;
273
+ transition: filter $iui-speed-fast ease-out;
274
+ @media (prefers-reduced-motion: no-preference) {
275
+ transition: filter $iui-speed-fast ease-out, transform $iui-speed-fast ease-out;
276
+ }
277
+ }
278
+
279
+ img#{&} {
280
+ object-fit: cover;
281
+ }
282
+
283
+ div#{&} {
284
+ background-position: center;
285
+ background-repeat: no-repeat;
286
+ background-size: cover;
287
+ }
288
+
289
+ .iui-active &,
290
+ [aria-current] & {
291
+ background-color: var(--iui-color-background-1);
292
+ fill: currentColor;
293
+ }
294
+
295
+ :disabled &,
296
+ [aria-disabled='true'] & {
297
+ background-color: var(--iui-color-background-2);
298
+ fill: var(--iui-icons-color-actionable-disabled);
299
+
300
+ @media (forced-colors: active) {
301
+ fill: GrayText;
302
+ }
303
+ }
304
+
305
+ :disabled img#{&},
306
+ :disabled div#{&},
307
+ [aria-disabled='true'] img#{&},
308
+ [aria-disabled='true'] div#{&} {
309
+ filter: grayscale(1) opacity(0.7);
310
+ }
311
+ }
312
+
313
+ @media (max-width: 768px) {
314
+ display: none;
315
+ }
316
+ }