@itwin/itwinui-css 0.63.0 → 1.0.0-dev.1

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 (243) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -4
  3. package/css/alert.css +263 -145
  4. package/css/all.css +5470 -6944
  5. package/css/anchor.css +0 -4
  6. package/css/{user-icon.css → avatar.css} +52 -72
  7. package/css/badge.css +1 -1
  8. package/css/blockquote.css +2 -5
  9. package/css/breadcrumbs.css +68 -135
  10. package/css/button.css +237 -348
  11. package/css/carousel.css +10 -17
  12. package/css/checkbox.css +152 -0
  13. package/css/code.css +3 -10
  14. package/css/color-picker.css +9 -47
  15. package/css/date-picker.css +1 -60
  16. package/css/dialog.css +11 -13
  17. package/css/expandable-block.css +8 -55
  18. package/css/fieldset.css +2 -7
  19. package/css/file-upload.css +6 -36
  20. package/css/footer.css +2 -10
  21. package/css/global.css +73 -128
  22. package/css/header.css +318 -403
  23. package/css/information-panel.css +13 -22
  24. package/css/input.css +170 -0
  25. package/css/keyboard.css +1 -5
  26. package/css/location-marker.css +8 -13
  27. package/css/menu.css +14 -23
  28. package/css/non-ideal-state.css +5 -5
  29. package/css/progress-indicator.css +11 -99
  30. package/css/radio-tile.css +56 -74
  31. package/css/radio.css +159 -0
  32. package/css/select.css +236 -0
  33. package/css/side-navigation.css +15 -40
  34. package/css/skip-to-content.css +2 -5
  35. package/css/slider.css +11 -70
  36. package/css/stepper.css +141 -0
  37. package/css/surface.css +0 -1
  38. package/css/table.css +266 -353
  39. package/css/tabs.css +22 -58
  40. package/css/tag.css +8 -26
  41. package/css/text.css +7 -9
  42. package/css/tile.css +119 -231
  43. package/css/time-picker.css +3 -15
  44. package/css/{toast-notification.css → toast.css} +14 -54
  45. package/css/toggle-switch.css +17 -64
  46. package/css/tooltip.css +0 -3
  47. package/css/tree.css +9 -35
  48. package/css/utils.css +669 -0
  49. package/css/workflow-diagram.css +67 -0
  50. package/package.json +7 -10
  51. package/css/icon.css +0 -177
  52. package/css/inputs.css +0 -1339
  53. package/css/notification-marker.css +0 -293
  54. package/css/popover.css +0 -14
  55. package/css/reset-global-styles.css +0 -50
  56. package/css/wizard.css +0 -190
  57. package/scss/alert/alert.scss +0 -83
  58. package/scss/alert/classes.scss +0 -13
  59. package/scss/alert/index.scss +0 -3
  60. package/scss/anchor/anchor.scss +0 -3
  61. package/scss/anchor/classes.scss +0 -11
  62. package/scss/anchor/index.scss +0 -3
  63. package/scss/backdrop/backdrop.scss +0 -27
  64. package/scss/backdrop/classes.scss +0 -7
  65. package/scss/backdrop/index.scss +0 -3
  66. package/scss/badge/badge.scss +0 -32
  67. package/scss/badge/classes.scss +0 -7
  68. package/scss/badge/index.scss +0 -3
  69. package/scss/blockquote/blockquote.scss +0 -31
  70. package/scss/blockquote/classes.scss +0 -7
  71. package/scss/blockquote/index.scss +0 -3
  72. package/scss/breadcrumbs/breadcrumbs.scss +0 -124
  73. package/scss/breadcrumbs/classes.scss +0 -31
  74. package/scss/breadcrumbs/index.scss +0 -3
  75. package/scss/button/borderless.scss +0 -48
  76. package/scss/button/button-group.scss +0 -110
  77. package/scss/button/button-icon.scss +0 -12
  78. package/scss/button/button.scss +0 -97
  79. package/scss/button/classes.scss +0 -70
  80. package/scss/button/cta.scss +0 -31
  81. package/scss/button/default.scss +0 -59
  82. package/scss/button/disabled.scss +0 -13
  83. package/scss/button/high-visibility.scss +0 -31
  84. package/scss/button/idea.scss +0 -10
  85. package/scss/button/index.scss +0 -12
  86. package/scss/button/split-menu.scss +0 -66
  87. package/scss/carousel/carousel.scss +0 -124
  88. package/scss/carousel/classes.scss +0 -15
  89. package/scss/carousel/index.scss +0 -3
  90. package/scss/classes.scss +0 -48
  91. package/scss/code/classes.scss +0 -11
  92. package/scss/code/code.scss +0 -18
  93. package/scss/code/codeblock.scss +0 -73
  94. package/scss/code/index.scss +0 -4
  95. package/scss/color-picker/classes.scss +0 -43
  96. package/scss/color-picker/color-picker.scss +0 -274
  97. package/scss/color-picker/index.scss +0 -3
  98. package/scss/date-picker/classes.scss +0 -47
  99. package/scss/date-picker/date-picker.scss +0 -280
  100. package/scss/date-picker/index.scss +0 -3
  101. package/scss/dialog/classes.scss +0 -48
  102. package/scss/dialog/dialog.scss +0 -183
  103. package/scss/dialog/index.scss +0 -3
  104. package/scss/expandable-block/block.scss +0 -193
  105. package/scss/expandable-block/classes.scss +0 -7
  106. package/scss/expandable-block/index.scss +0 -3
  107. package/scss/fieldset/classes.scss +0 -7
  108. package/scss/fieldset/fieldset.scss +0 -35
  109. package/scss/fieldset/index.scss +0 -3
  110. package/scss/file-upload/classes.scss +0 -7
  111. package/scss/file-upload/file-upload.scss +0 -90
  112. package/scss/file-upload/index.scss +0 -3
  113. package/scss/footer/classes.scss +0 -23
  114. package/scss/footer/footer.scss +0 -62
  115. package/scss/footer/index.scss +0 -3
  116. package/scss/header/classes.scss +0 -11
  117. package/scss/header/header.scss +0 -443
  118. package/scss/header/index.scss +0 -3
  119. package/scss/icon/classes.scss +0 -27
  120. package/scss/icon/index.scss +0 -4
  121. package/scss/icon/mixins.scss +0 -78
  122. package/scss/icon/variables.scss +0 -14
  123. package/scss/index.scss +0 -46
  124. package/scss/information-panel/classes.scss +0 -27
  125. package/scss/information-panel/index.scss +0 -3
  126. package/scss/information-panel/information-panel.scss +0 -233
  127. package/scss/inputs/checkbox-radio.scss +0 -73
  128. package/scss/inputs/checkbox.scss +0 -106
  129. package/scss/inputs/classes.scss +0 -87
  130. package/scss/inputs/index.scss +0 -10
  131. package/scss/inputs/input-with-icon.scss +0 -36
  132. package/scss/inputs/input.scss +0 -80
  133. package/scss/inputs/labeled-inputs.scss +0 -382
  134. package/scss/inputs/radio.scss +0 -18
  135. package/scss/inputs/select.scss +0 -132
  136. package/scss/inputs/textarea.scss +0 -14
  137. package/scss/keyboard/classes.scss +0 -7
  138. package/scss/keyboard/index.scss +0 -3
  139. package/scss/keyboard/keyboard.scss +0 -33
  140. package/scss/location-marker/classes.scss +0 -15
  141. package/scss/location-marker/data-rich.scss +0 -58
  142. package/scss/location-marker/default.scss +0 -21
  143. package/scss/location-marker/index.scss +0 -6
  144. package/scss/location-marker/location-marker.scss +0 -13
  145. package/scss/location-marker/me.scss +0 -36
  146. package/scss/menu/classes.scss +0 -21
  147. package/scss/menu/index.scss +0 -3
  148. package/scss/menu/menu.scss +0 -205
  149. package/scss/non-ideal-state/classes.scss +0 -7
  150. package/scss/non-ideal-state/index.scss +0 -3
  151. package/scss/non-ideal-state/non-ideal-state.scss +0 -55
  152. package/scss/notification-marker/classes.scss +0 -9
  153. package/scss/notification-marker/index.scss +0 -3
  154. package/scss/notification-marker/notification-marker.scss +0 -63
  155. package/scss/popover/classes.scss +0 -7
  156. package/scss/popover/index.scss +0 -3
  157. package/scss/popover/popover.scss +0 -22
  158. package/scss/progress-indicator/classes.scss +0 -35
  159. package/scss/progress-indicator/index.scss +0 -5
  160. package/scss/progress-indicator/linear.scss +0 -126
  161. package/scss/progress-indicator/overlay.scss +0 -57
  162. package/scss/progress-indicator/radial.scss +0 -243
  163. package/scss/radio-tile/classes.scss +0 -31
  164. package/scss/radio-tile/index.scss +0 -3
  165. package/scss/radio-tile/radio-tile.scss +0 -209
  166. package/scss/reset-global-styles.scss +0 -33
  167. package/scss/side-navigation/classes.scss +0 -15
  168. package/scss/side-navigation/index.scss +0 -3
  169. package/scss/side-navigation/side-navigation.scss +0 -210
  170. package/scss/skip-to-content/classes.scss +0 -7
  171. package/scss/skip-to-content/index.scss +0 -3
  172. package/scss/skip-to-content/skip-to-content.scss +0 -41
  173. package/scss/slider/classes.scss +0 -40
  174. package/scss/slider/index.scss +0 -3
  175. package/scss/slider/slider.scss +0 -256
  176. package/scss/style/anchor.scss +0 -82
  177. package/scss/style/baseline.scss +0 -4
  178. package/scss/style/color.scss +0 -39
  179. package/scss/style/elevation.scss +0 -11
  180. package/scss/style/global.scss +0 -70
  181. package/scss/style/index.scss +0 -11
  182. package/scss/style/mixins.scss +0 -188
  183. package/scss/style/ripple.scss +0 -18
  184. package/scss/style/space.scss +0 -11
  185. package/scss/style/speed.scss +0 -8
  186. package/scss/style/theme.scss +0 -482
  187. package/scss/style/typography.scss +0 -54
  188. package/scss/style/variables.scss +0 -21
  189. package/scss/surface/classes.scss +0 -7
  190. package/scss/surface/index.scss +0 -3
  191. package/scss/surface/surface.scss +0 -18
  192. package/scss/table/classes.scss +0 -63
  193. package/scss/table/column-filter.scss +0 -37
  194. package/scss/table/condensed.scss +0 -15
  195. package/scss/table/extra-condensed.scss +0 -19
  196. package/scss/table/index.scss +0 -7
  197. package/scss/table/paginator.scss +0 -87
  198. package/scss/table/table.scss +0 -558
  199. package/scss/table/variables.scss +0 -10
  200. package/scss/tabs/borderless.scss +0 -71
  201. package/scss/tabs/classes.scss +0 -44
  202. package/scss/tabs/default.scss +0 -102
  203. package/scss/tabs/index.scss +0 -6
  204. package/scss/tabs/pill.scss +0 -48
  205. package/scss/tabs/tabs.scss +0 -220
  206. package/scss/tag/classes.scss +0 -29
  207. package/scss/tag/index.scss +0 -3
  208. package/scss/tag/tag.scss +0 -99
  209. package/scss/text/classes.scss +0 -40
  210. package/scss/text/index.scss +0 -5
  211. package/scss/text/mixins.scss +0 -42
  212. package/scss/text/muted.scss +0 -9
  213. package/scss/text/skeleton.scss +0 -46
  214. package/scss/tile/classes.scss +0 -51
  215. package/scss/tile/index.scss +0 -3
  216. package/scss/tile/tile.scss +0 -370
  217. package/scss/time-picker/classes.scss +0 -16
  218. package/scss/time-picker/index.scss +0 -3
  219. package/scss/time-picker/time-picker.scss +0 -72
  220. package/scss/toast-notification/categories.scss +0 -26
  221. package/scss/toast-notification/classes.scss +0 -98
  222. package/scss/toast-notification/index.scss +0 -4
  223. package/scss/toast-notification/toast.scss +0 -79
  224. package/scss/toggle-switch/classes.scss +0 -11
  225. package/scss/toggle-switch/index.scss +0 -3
  226. package/scss/toggle-switch/toggle-switch.scss +0 -222
  227. package/scss/tooltip/classes.scss +0 -24
  228. package/scss/tooltip/index.scss +0 -3
  229. package/scss/tooltip/tooltip.scss +0 -41
  230. package/scss/tree/classes.scss +0 -19
  231. package/scss/tree/index.scss +0 -3
  232. package/scss/tree/tree.scss +0 -138
  233. package/scss/user-icon/classes.scss +0 -27
  234. package/scss/user-icon/index.scss +0 -4
  235. package/scss/user-icon/sizes.scss +0 -22
  236. package/scss/user-icon/user-icon.scss +0 -250
  237. package/scss/variables.scss +0 -3
  238. package/scss/wizard/classes.scss +0 -27
  239. package/scss/wizard/index.scss +0 -5
  240. package/scss/wizard/long.scss +0 -19
  241. package/scss/wizard/wizard.scss +0 -160
  242. package/scss/wizard/workflow.scss +0 -43
  243. package/src/index.scss +0 -46
@@ -1,7 +0,0 @@
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-backdrop {
6
- @include iui-backdrop;
7
- }
@@ -1,3 +0,0 @@
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 './backdrop';
@@ -1,32 +0,0 @@
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
- $iui-badge-background-default: $iui-color-background-5--light;
6
- $iui-badge-background-positive: $iui-color-foreground-positive--dark;
7
- $iui-badge-background-negative: $iui-color-foreground-negative--dark;
8
- $iui-badge-background-warning: $iui-color-foreground-warning--dark;
9
- $iui-badge-background-primary: $iui-color-foreground-primary--dark;
10
-
11
- $iui-badge-text-color: rgba($iui-color-foreground-body--light, $iui-opacity-3--light);
12
-
13
- @mixin iui-badge {
14
- --iui-badge-background-color: #{$iui-badge-background-default};
15
- --_iui-badge-text-color: #{$iui-badge-text-color};
16
-
17
- @include iui-reset;
18
- display: inline-block;
19
- font-size: $iui-font-size-small;
20
- padding: 0 $iui-xs * 1.5;
21
- margin: round($iui-baseline * 0.5) 0;
22
- border-radius: $iui-border-radius;
23
- background-color: var(--iui-badge-background-color);
24
- color: var(--_iui-badge-text-color);
25
- text-transform: uppercase;
26
- user-select: none;
27
- max-width: 20ch;
28
- white-space: nowrap;
29
- overflow: hidden;
30
- text-overflow: ellipsis;
31
- font-weight: $iui-font-weight-semibold;
32
- }
@@ -1,7 +0,0 @@
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-badge {
6
- @include iui-badge;
7
- }
@@ -1,3 +0,0 @@
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 './badge';
@@ -1,31 +0,0 @@
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-blockquote {
6
- @include iui-reset;
7
- display: block;
8
- position: relative;
9
- padding: $iui-baseline $iui-m;
10
- margin: $iui-baseline 0;
11
- text-align: justify;
12
- box-shadow: $iui-elevation-2;
13
- border-radius: $iui-border-radius;
14
-
15
- @include themed {
16
- background-color: t(iui-color-background-1);
17
- border-left: $iui-s solid t(iui-color-foreground-primary);
18
- }
19
-
20
- > footer {
21
- text-align: right;
22
-
23
- @include themed {
24
- color: t(iui-text-color-muted);
25
- }
26
-
27
- > cite {
28
- font-style: normal;
29
- }
30
- }
31
- }
@@ -1,7 +0,0 @@
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-blockquote {
6
- @include iui-blockquote;
7
- }
@@ -1,3 +0,0 @@
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 './blockquote';
@@ -1,124 +0,0 @@
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 '../anchor/index';
5
- @import '../button/borderless';
6
- @import '../icon/index';
7
-
8
- @mixin iui-breadcrumbs {
9
- @include iui-reset;
10
- display: flex;
11
- align-items: center;
12
- }
13
-
14
- @mixin iui-breadcrumbs-list {
15
- @include iui-reset;
16
- display: flex;
17
- align-items: center;
18
- list-style-type: none;
19
- user-select: none;
20
- }
21
-
22
- @mixin iui-breadcrumbs-item {
23
- display: flex;
24
- align-items: center;
25
- line-height: $iui-component-height;
26
- height: $iui-component-height;
27
-
28
- > * {
29
- max-width: 26ch;
30
- }
31
- }
32
-
33
- @mixin iui-breadcrumbs-item-overrides {
34
- > * {
35
- padding: 0 $iui-s;
36
- overflow: hidden;
37
- white-space: nowrap;
38
- text-overflow: ellipsis;
39
-
40
- &:not(.iui-button) {
41
- @include themed {
42
- color: t(iui-text-color);
43
- }
44
- }
45
- }
46
-
47
- > :any-link {
48
- @include iui-anchor;
49
-
50
- &:focus {
51
- outline-offset: -1px;
52
- }
53
- }
54
-
55
- .iui-button {
56
- &.iui-button {
57
- @include iui-button-borderless;
58
- @include iui-focus;
59
- border: none;
60
- }
61
-
62
- &-label {
63
- overflow: hidden;
64
- white-space: nowrap;
65
- text-overflow: ellipsis;
66
- }
67
-
68
- &:not([aria-current]) {
69
- &,
70
- &:hover,
71
- &:active {
72
- --_iui-button-text-color: var(--iui-color-foreground-primary);
73
- }
74
- }
75
- }
76
- }
77
-
78
- @mixin iui-breadcrumbs-text {
79
- padding: 0 $iui-s;
80
- overflow: hidden;
81
- white-space: nowrap;
82
- text-overflow: ellipsis;
83
-
84
- @at-root a#{&} {
85
- @include iui-anchor;
86
-
87
- &:focus {
88
- outline-offset: -1px;
89
- }
90
- }
91
- }
92
-
93
- @mixin iui-breadcrumbs-button {
94
- @include iui-button;
95
- @include iui-button-borderless;
96
- padding: 0;
97
- border: none;
98
- @include themed {
99
- color: t(iui-color-foreground-primary);
100
- }
101
-
102
- &[aria-current] {
103
- @include themed {
104
- color: t(iui-text-color);
105
- }
106
- }
107
- }
108
-
109
- @mixin iui-breadcrumbs-separator {
110
- display: flex;
111
- margin: 0 $iui-xxs;
112
-
113
- svg {
114
- width: $iui-icons-small;
115
- height: $iui-icons-small;
116
- display: flex; // needed for vertical alignment of webcomponents
117
- @include themed {
118
- fill: t(iui-icons-color);
119
- }
120
- @media (forced-colors: active) {
121
- fill: CanvasText;
122
- }
123
- }
124
- }
@@ -1,31 +0,0 @@
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-breadcrumbs {
6
- @include iui-breadcrumbs;
7
- }
8
-
9
- .iui-breadcrumbs-list {
10
- @include iui-breadcrumbs-list;
11
- }
12
-
13
- .iui-breadcrumbs-item {
14
- @include iui-breadcrumbs-item;
15
- }
16
-
17
- .iui-breadcrumbs-item-overrides {
18
- @include iui-breadcrumbs-item-overrides;
19
- }
20
-
21
- .iui-breadcrumbs-text {
22
- @include iui-breadcrumbs-text;
23
- }
24
-
25
- .iui-breadcrumbs-button {
26
- @include iui-breadcrumbs-button;
27
- }
28
-
29
- .iui-breadcrumbs-separator {
30
- @include iui-breadcrumbs-separator;
31
- }
@@ -1,3 +0,0 @@
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 './breadcrumbs';
@@ -1,48 +0,0 @@
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 './button';
5
- @import './disabled';
6
- @import './button-icon';
7
-
8
- @mixin iui-button-borderless {
9
- border-color: transparent;
10
- background-color: transparent;
11
-
12
- > .iui-button-icon:only-child {
13
- margin-left: $iui-component-offset;
14
- margin-right: $iui-component-offset;
15
- }
16
- @include iui-button-size(medium, borderless);
17
-
18
- &:hover {
19
- @include themed {
20
- background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-6));
21
- border-color: transparent;
22
- }
23
- }
24
-
25
- &.iui-active {
26
- @include themed {
27
- background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
28
- color: t(iui-color-foreground-primary);
29
- }
30
- border-color: transparent;
31
- }
32
-
33
- &[disabled],
34
- &:disabled {
35
- @include iui-button-disabled;
36
-
37
- @include themed {
38
- background-color: transparent;
39
- border-color: transparent;
40
- }
41
-
42
- &.iui-active {
43
- @include themed {
44
- background-color: rgba(t(iui-color-foreground-body-rgb), 0.05);
45
- }
46
- }
47
- }
48
- }
@@ -1,110 +0,0 @@
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 for button group or input+button combo group.
6
- /// @arg $orientation must be one of: horizontal, vertical
7
- /// Note: Vertical button-group should be used for icon buttons only.
8
- @mixin iui-button-group($orientation: horizontal) {
9
- display: inline-flex;
10
- align-items: center;
11
- isolation: isolate;
12
-
13
- @if $orientation != 'horizontal' {
14
- flex-direction: column;
15
- max-height: 100%;
16
- }
17
-
18
- $childZindexSelector: '.iui-input-container, .iui-button, .iui-input:where(:not(.iui-input-container .iui-input))';
19
- $childBorderSelector: '.iui-input, .iui-button:where(:not(.iui-borderless))';
20
- $disabledSelector: '&:disabled, &.iui-disabled, &[aria-disabled="true"]';
21
-
22
- > * {
23
- display: flex;
24
-
25
- #{$childZindexSelector} {
26
- position: relative;
27
-
28
- // Adds stripe to active button
29
- @if $orientation == 'horizontal' {
30
- --_iui-button-active-stripe-inset: #{$iui-xxs} #{$iui-xxs} calc(100% - #{$iui-xs});
31
- } @else {
32
- --_iui-button-active-stripe-inset: #{$iui-xxs} calc(100% - #{$iui-xs}) #{$iui-xxs} #{$iui-xxs};
33
- }
34
-
35
- &:hover {
36
- z-index: 1;
37
- }
38
-
39
- &:focus,
40
- &:focus-within {
41
- z-index: 2;
42
- }
43
-
44
- #{$disabledSelector} {
45
- z-index: -1;
46
- }
47
- }
48
-
49
- #{$childBorderSelector} {
50
- // Reset border radius
51
- border-radius: 0;
52
-
53
- transition-duration: 0ms; // disable exit animation to avoid border flicker
54
-
55
- &:hover,
56
- &:focus {
57
- transition-duration: $iui-speed-fast; // re-enable enter animation
58
- }
59
- }
60
-
61
- // Add rounded corners to first and last items
62
- &:first-child {
63
- #{$childBorderSelector} {
64
- border-top-left-radius: $iui-border-radius;
65
-
66
- @if $orientation == 'horizontal' {
67
- border-bottom-left-radius: $iui-border-radius;
68
- } @else {
69
- border-top-right-radius: $iui-border-radius;
70
- }
71
- }
72
- }
73
-
74
- &:last-child {
75
- #{$childBorderSelector} {
76
- border-bottom-right-radius: $iui-border-radius;
77
-
78
- @if $orientation == 'horizontal' {
79
- border-top-right-radius: $iui-border-radius;
80
- } @else {
81
- border-bottom-left-radius: $iui-border-radius;
82
- }
83
- }
84
- }
85
-
86
- // Use negative margin to make adjacent borders overlap
87
- + * {
88
- @if $orientation == 'horizontal' {
89
- margin-left: -1px;
90
- } @else {
91
- margin-top: -1px;
92
- }
93
- }
94
-
95
- // Add slight border between disabled items
96
- &:not(:first-child) :where(.iui-button.iui-default) {
97
- #{$disabledSelector} {
98
- @if $orientation == 'horizontal' {
99
- border-left-color: var(--iui-color-background-4);
100
- } @else {
101
- border-top-color: var(--iui-color-background-4);
102
- }
103
- }
104
- }
105
- }
106
- }
107
-
108
- @mixin iui-button-group-overflow-x {
109
- width: 100%;
110
- }
@@ -1,12 +0,0 @@
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 '../icon/index';
5
-
6
- /// Mixin for button icons
7
- @mixin iui-button-icon {
8
- width: $iui-icons-default;
9
- height: $iui-icons-default;
10
- transition: fill $iui-speed-fast ease-out;
11
- fill: currentColor;
12
- }
@@ -1,97 +0,0 @@
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 '../icon/index';
5
- @import './disabled';
6
- @import './button-icon';
7
-
8
- $iui-button-padding: $iui-xs * 4;
9
- $iui-button-padding-small: $iui-xs * 2;
10
- $iui-button-padding-large: $iui-xs * 6;
11
-
12
- @mixin iui-button {
13
- --_iui-button-active-stripe-inset: initial;
14
- --_iui-button-text-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
15
-
16
- @include iui-reset;
17
- font-family: inherit;
18
- display: inline-flex;
19
- align-items: center;
20
- vertical-align: middle;
21
- justify-content: center;
22
- position: relative;
23
- box-sizing: border-box;
24
- border-radius: $iui-border-radius;
25
- line-height: $iui-line-height;
26
- box-shadow: none;
27
- font-size: $iui-font-size;
28
- font-weight: $iui-font-weight-normal;
29
- text-decoration: none;
30
- user-select: none;
31
- cursor: pointer;
32
- white-space: nowrap;
33
- border: 1px solid transparent;
34
- @media (prefers-reduced-motion: no-preference) {
35
- transition: color $iui-speed-fast ease-out, background-color $iui-speed-fast ease-out,
36
- border-color $iui-speed-fast ease-out;
37
- }
38
-
39
- @include themed {
40
- color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
41
- }
42
- color: var(--_iui-button-text-color);
43
-
44
- &:hover {
45
- --_iui-button-text-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-1));
46
-
47
- text-decoration: none;
48
- }
49
-
50
- @include iui-focus;
51
-
52
- &[disabled],
53
- &:disabled {
54
- @include iui-button-disabled;
55
- }
56
- }
57
-
58
- @mixin iui-button-active {
59
- // Shows active stripe only if --_iui-button-active-stripe-inset is set (from outside)
60
- &::after {
61
- content: '';
62
- position: absolute;
63
- inset: var(--_iui-button-active-stripe-inset);
64
- background-color: var(--iui-color-foreground-primary);
65
- }
66
-
67
- &[disabled],
68
- &:disabled {
69
- &::after {
70
- background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5));
71
- }
72
- }
73
- }
74
-
75
- /// Mixin for applying padding and margins to various button sizes.
76
- /// @arg size - must be one of: small, medium, large
77
- /// @arg styleType - must be one of: default, borderless
78
- @mixin iui-button-size($size: medium, $styleType: default) {
79
- @if $size == medium {
80
- padding: if($styleType == 'borderless', 0 $iui-s, 0 $iui-button-padding);
81
- height: $iui-component-height;
82
- gap: $iui-s;
83
- }
84
-
85
- @if $size == small {
86
- padding: if($styleType == 'borderless', 0 $iui-xxs, 0 $iui-button-padding-small);
87
- height: $iui-component-height-small;
88
- gap: $iui-xs;
89
- }
90
-
91
- @if $size == large {
92
- padding: if($styleType == 'borderless', 0 $iui-sm, 0 $iui-button-padding-large);
93
- height: $iui-component-height-large;
94
- font-size: $iui-font-size-leading;
95
- gap: $iui-sm;
96
- }
97
- }
@@ -1,70 +0,0 @@
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-button {
6
- @include iui-button;
7
- @include iui-button-size;
8
-
9
- &.iui-active {
10
- @include iui-button-active;
11
- }
12
-
13
- &.iui-default {
14
- @include iui-button-default;
15
- }
16
-
17
- &.iui-high-visibility {
18
- @include iui-button-high-visibility;
19
- }
20
-
21
- &.iui-cta {
22
- @include iui-button-cta;
23
- }
24
-
25
- &.iui-idea {
26
- @include iui-button-idea;
27
- }
28
-
29
- &.iui-borderless {
30
- @include iui-button-borderless;
31
- }
32
-
33
- @include iui-button-size(medium);
34
-
35
- &.iui-small {
36
- @include iui-button-size(small);
37
-
38
- &.iui-borderless {
39
- @include iui-button-size(small, borderless);
40
- }
41
- }
42
-
43
- &.iui-large {
44
- @include iui-button-size(large);
45
-
46
- &.iui-borderless {
47
- @include iui-button-size(large, borderless);
48
- }
49
- }
50
- }
51
-
52
- .iui-button-group {
53
- @include iui-button-group;
54
-
55
- &-vertical {
56
- @include iui-button-group(vertical);
57
- }
58
-
59
- &-overflow-x {
60
- @include iui-button-group-overflow-x;
61
- }
62
- }
63
-
64
- .iui-button-split-menu {
65
- @include iui-button-split-menu;
66
- }
67
-
68
- .iui-button-icon {
69
- @include iui-button-icon;
70
- }
@@ -1,31 +0,0 @@
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 './button';
5
- @import './button-icon';
6
- @import './disabled';
7
-
8
- @mixin iui-button-cta {
9
- --_iui-button-text-color: var(--iui-color-foreground-accessory);
10
-
11
- @include themed {
12
- background-color: t(iui-color-background-positive);
13
- border-color: t(iui-color-background-positive);
14
- color: t(iui-color-foreground-accessory);
15
- }
16
- color: var(--_iui-button-text-color);
17
- @include iui-focus($color: var(--iui-color-foreground-accessory), $offset: -3px, $thickness: 1px);
18
-
19
- &:hover,
20
- &:active {
21
- @include themed {
22
- background-color: t(iui-color-background-positive-overlay);
23
- border-color: t(iui-color-background-positive-overlay);
24
- }
25
- }
26
-
27
- &[disabled],
28
- &:disabled {
29
- @include iui-button-disabled;
30
- }
31
- }
@@ -1,59 +0,0 @@
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 './button';
5
- @import './button-icon';
6
- @import '../notification-marker/index';
7
- @import './disabled';
8
-
9
- @mixin iui-button-default {
10
- @include themed {
11
- background-color: t(iui-color-background-1);
12
- border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
13
- }
14
- @include iui-focus($offset: -2px, $thickness: 2px);
15
-
16
- &:hover,
17
- &:active {
18
- @include themed {
19
- background-color: t(iui-color-background-1-overlay);
20
- border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-1));
21
- }
22
- @include iui-notification-marker-hover;
23
- }
24
-
25
- &.iui-dropdown {
26
- padding-right: $iui-s;
27
-
28
- // Sizes
29
- &.iui-small {
30
- padding-right: $iui-xs;
31
- }
32
-
33
- &.iui-large {
34
- padding-right: $iui-sm;
35
- }
36
- }
37
-
38
- &.iui-active:enabled {
39
- position: relative;
40
- @include themed {
41
- color: t(iui-color-foreground-primary);
42
- }
43
-
44
- // Used for combining overlay background color with base background
45
- &::before {
46
- content: '';
47
- position: absolute;
48
- inset: 0;
49
- @include themed {
50
- background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
51
- }
52
- }
53
- }
54
-
55
- &[disabled],
56
- &:disabled {
57
- @include iui-button-disabled;
58
- }
59
- }