@itwin/itwinui-css 0.39.1 → 0.42.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.
- package/css/all.css +607 -362
- package/css/breadcrumbs.css +31 -15
- package/css/button.css +279 -189
- package/css/code.css +2 -0
- package/css/header.css +50 -30
- package/css/inputs.css +26 -40
- package/css/side-navigation.css +27 -24
- package/css/table.css +34 -23
- package/css/tile.css +51 -40
- package/css/tree.css +107 -0
- package/css/user-icon.css +3 -1
- package/package.json +1 -1
- package/scss/breadcrumbs/breadcrumbs.scss +1 -1
- package/scss/button/borderless.scss +37 -39
- package/scss/button/button-group.scss +54 -47
- package/scss/button/button-icon.scss +12 -0
- package/scss/button/button.scss +27 -32
- package/scss/button/classes.scss +25 -3
- package/scss/button/cta.scss +31 -21
- package/scss/button/default.scss +40 -45
- package/scss/button/disabled.scss +3 -14
- package/scss/button/high-visibility.scss +31 -21
- package/scss/button/index.scss +1 -0
- package/scss/button/split-menu.scss +39 -20
- package/scss/classes.scss +1 -0
- package/scss/code/codeblock.scss +4 -0
- package/scss/header/header.scss +38 -18
- package/scss/index.scss +1 -0
- package/scss/inputs/checkbox-radio.scss +1 -3
- package/scss/inputs/checkbox.scss +5 -2
- package/scss/inputs/classes.scss +2 -2
- package/scss/inputs/labeled-inputs.scss +3 -3
- package/scss/side-navigation/side-navigation.scss +27 -22
- package/scss/table/paginator.scss +34 -21
- package/scss/table/table.scss +12 -8
- package/scss/tile/tile.scss +4 -2
- package/scss/tree/classes.scss +15 -0
- package/scss/tree/index.scss +3 -0
- package/scss/tree/tree.scss +137 -0
- package/scss/user-icon/user-icon.scss +3 -0
package/css/tile.css
CHANGED
|
@@ -32,57 +32,65 @@
|
|
|
32
32
|
border-bottom:1px solid var(--iui-color-background-4); }
|
|
33
33
|
.iui-tile .iui-thumbnail > .iui-type-indicator,
|
|
34
34
|
.iui-tile .iui-thumbnail > .iui-quick-action{
|
|
35
|
-
background-color:transparent;
|
|
36
35
|
border-color:transparent;
|
|
36
|
+
background-color:transparent;
|
|
37
37
|
padding:0 8px;
|
|
38
|
+
height:38px;
|
|
39
|
+
gap:8px;
|
|
40
|
+
padding:0 2px;
|
|
41
|
+
height:27px;
|
|
42
|
+
gap:4px;
|
|
38
43
|
position:absolute;
|
|
39
44
|
border-radius:50%;
|
|
40
45
|
top:6px; }
|
|
41
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator.iui-
|
|
42
|
-
.iui-tile .iui-thumbnail > .iui-quick-action.iui-
|
|
43
|
-
padding:0 2px; }
|
|
44
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator.iui-large,
|
|
45
|
-
.iui-tile .iui-thumbnail > .iui-quick-action.iui-large{
|
|
46
|
-
padding:0 12px; }
|
|
47
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator > .iui-icon:only-child,
|
|
48
|
-
.iui-tile .iui-thumbnail > .iui-quick-action > .iui-icon:only-child{
|
|
46
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator > .iui-button-icon:only-child,
|
|
47
|
+
.iui-tile .iui-thumbnail > .iui-quick-action > .iui-button-icon:only-child{
|
|
49
48
|
margin-left:3px;
|
|
50
49
|
margin-right:3px; }
|
|
51
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator:
|
|
52
|
-
.iui-tile .iui-thumbnail > .iui-quick-action:
|
|
53
|
-
|
|
54
|
-
|
|
50
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator:focus,
|
|
51
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:focus{
|
|
52
|
+
background-color:rgba(0, 0, 0, 0.1);
|
|
53
|
+
border-color:transparent;
|
|
54
|
+
background-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
|
|
55
|
+
border-color:transparent; }
|
|
56
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator:focus:where(:not(:focus-visible)),
|
|
57
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:focus:where(:not(:focus-visible)){
|
|
58
|
+
border-color:transparent;
|
|
59
|
+
background-color:transparent; }
|
|
60
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator:focus:where(:not(:focus-visible)) > .iui-button-icon:only-child,
|
|
61
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:focus:where(:not(:focus-visible)) > .iui-button-icon:only-child{
|
|
62
|
+
margin-left:3px;
|
|
63
|
+
margin-right:3px; }
|
|
64
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator:hover,
|
|
65
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:hover{
|
|
55
66
|
background-color:rgba(0, 0, 0, 0.1);
|
|
56
67
|
border-color:transparent;
|
|
57
68
|
background-color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
|
|
58
69
|
border-color:transparent; }
|
|
59
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator.iui-active
|
|
60
|
-
.iui-tile .iui-thumbnail > .iui-quick-action.iui-active
|
|
61
|
-
.iui-tile .iui-thumbnail > .iui-quick-action.iui-active:not(.iui-high-visibility):not(.iui-cta):enabled:hover,
|
|
62
|
-
.iui-tile .iui-thumbnail > .iui-quick-action.iui-active:not(.iui-high-visibility):not(.iui-cta):enabled:active{
|
|
63
|
-
background:transparent;
|
|
70
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator.iui-active,
|
|
71
|
+
.iui-tile .iui-thumbnail > .iui-quick-action.iui-active{
|
|
64
72
|
background-color:rgba(0, 139, 225, 0.1);
|
|
73
|
+
color:#008BE1;
|
|
65
74
|
background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6));
|
|
75
|
+
color:var(--iui-color-foreground-primary);
|
|
66
76
|
border-color:transparent; }
|
|
67
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator[disabled], .iui-tile .iui-thumbnail > .iui-type-indicator
|
|
77
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator[disabled], .iui-tile .iui-thumbnail > .iui-type-indicator:disabled,
|
|
68
78
|
.iui-tile .iui-thumbnail > .iui-quick-action[disabled],
|
|
69
|
-
.iui-tile .iui-thumbnail > .iui-quick-action
|
|
70
|
-
|
|
71
|
-
|
|
79
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:disabled{
|
|
80
|
+
cursor:not-allowed;
|
|
81
|
+
background:#EEF0F3;
|
|
82
|
+
border-color:#EEF0F3;
|
|
83
|
+
color:rgba(0, 0, 0, 0.2);
|
|
84
|
+
background:var(--iui-color-background-disabled);
|
|
85
|
+
border-color:var(--iui-color-background-disabled);
|
|
86
|
+
color:rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-5));
|
|
87
|
+
background-color:transparent;
|
|
88
|
+
border-color:transparent;
|
|
72
89
|
background-color:transparent;
|
|
73
90
|
border-color:transparent; }
|
|
74
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator[disabled]
|
|
75
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled] > .iui-icon,
|
|
76
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled]:hover > .iui-icon,
|
|
77
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled]:active > .iui-icon,
|
|
78
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled]:focus > .iui-icon{
|
|
79
|
-
fill:rgba(0, 0, 0, 0.2);
|
|
80
|
-
fill:var(--iui-icons-color-actionable-disabled); }
|
|
81
|
-
.iui-tile .iui-thumbnail > .iui-type-indicator[disabled].iui-active, .iui-tile .iui-thumbnail > .iui-type-indicator[disabled]:hover.iui-active, .iui-tile .iui-thumbnail > .iui-type-indicator[disabled]:active.iui-active, .iui-tile .iui-thumbnail > .iui-type-indicator[disabled]:focus.iui-active,
|
|
91
|
+
.iui-tile .iui-thumbnail > .iui-type-indicator[disabled].iui-active, .iui-tile .iui-thumbnail > .iui-type-indicator:disabled.iui-active,
|
|
82
92
|
.iui-tile .iui-thumbnail > .iui-quick-action[disabled].iui-active,
|
|
83
|
-
.iui-tile .iui-thumbnail > .iui-quick-action
|
|
84
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled]:active.iui-active,
|
|
85
|
-
.iui-tile .iui-thumbnail > .iui-quick-action[disabled]:focus.iui-active{
|
|
93
|
+
.iui-tile .iui-thumbnail > .iui-quick-action:disabled.iui-active{
|
|
86
94
|
background-color:rgba(0, 0, 0, 0.05);
|
|
87
95
|
background-color:rgba(var(--iui-color-foreground-body-rgb), 0.05); }
|
|
88
96
|
.iui-tile .iui-thumbnail > .iui-type-indicator{
|
|
@@ -155,8 +163,8 @@
|
|
|
155
163
|
backdrop-filter:blur(5px);
|
|
156
164
|
background-color:rgba(0, 0, 0, var(--iui-opacity-5));
|
|
157
165
|
backdrop-filter:blur(5px); } }
|
|
158
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button:enabled > .iui-icon,
|
|
159
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button:enabled > .iui-icon{
|
|
166
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button:enabled > .iui-button-icon,
|
|
167
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button:enabled > .iui-button-icon{
|
|
160
168
|
fill:#FFF;
|
|
161
169
|
filter:drop-shadow(0 2px 1px rgba(0, 0, 0, 0.2));
|
|
162
170
|
fill:var(--iui-color-foreground-accessory);
|
|
@@ -168,11 +176,11 @@
|
|
|
168
176
|
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:active{
|
|
169
177
|
background-color:rgba(0, 0, 0, 0.4);
|
|
170
178
|
background-color:rgba(0, 0, 0, var(--iui-opacity-4)); }
|
|
171
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button:hover
|
|
172
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button:hover
|
|
173
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:enabled
|
|
174
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:enabled:hover
|
|
175
|
-
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:active
|
|
179
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button:hover .iui-button-icon, .iui-tile .iui-thumbnail > .iui-picture + .iui-button.iui-active:enabled .iui-button-icon, .iui-tile .iui-thumbnail > .iui-picture + .iui-button.iui-active:enabled:hover .iui-button-icon, .iui-tile .iui-thumbnail > .iui-picture + .iui-button.iui-active:active .iui-button-icon,
|
|
180
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button:hover .iui-button-icon,
|
|
181
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:enabled .iui-button-icon,
|
|
182
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:enabled:hover .iui-button-icon,
|
|
183
|
+
.iui-tile .iui-thumbnail > .iui-picture + .iui-button + .iui-button.iui-active:active .iui-button-icon{
|
|
176
184
|
fill:#FFF;
|
|
177
185
|
fill:var(--iui-color-foreground-accessory); }
|
|
178
186
|
.iui-tile > .iui-content{
|
|
@@ -275,6 +283,9 @@
|
|
|
275
283
|
overflow:hidden;
|
|
276
284
|
text-overflow:ellipsis; }
|
|
277
285
|
.iui-tile > .iui-content > .iui-more-options{
|
|
286
|
+
padding:0 2px;
|
|
287
|
+
height:27px;
|
|
288
|
+
gap:4px;
|
|
278
289
|
position:absolute;
|
|
279
290
|
bottom:5.5px;
|
|
280
291
|
right:8px;
|
package/css/tree.css
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
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-tree{
|
|
6
|
+
margin:0;
|
|
7
|
+
padding:0;
|
|
8
|
+
border:none;
|
|
9
|
+
vertical-align:baseline;
|
|
10
|
+
list-style:none; }
|
|
11
|
+
|
|
12
|
+
.iui-sub-tree{
|
|
13
|
+
margin:0;
|
|
14
|
+
padding:0;
|
|
15
|
+
border:none;
|
|
16
|
+
vertical-align:baseline;
|
|
17
|
+
list-style:none; }
|
|
18
|
+
|
|
19
|
+
.iui-tree-node{
|
|
20
|
+
display:flex;
|
|
21
|
+
cursor:pointer;
|
|
22
|
+
padding:0 8px; }
|
|
23
|
+
.iui-tree-node-checkbox{
|
|
24
|
+
margin-right:8px; }
|
|
25
|
+
.iui-tree-node-content{
|
|
26
|
+
display:flex;
|
|
27
|
+
align-items:center;
|
|
28
|
+
box-sizing:border-box;
|
|
29
|
+
min-height:33px;
|
|
30
|
+
margin-left:calc(28px * (var(--level, 0)));
|
|
31
|
+
overflow:hidden;
|
|
32
|
+
padding-left:2px; }
|
|
33
|
+
.iui-tree-node-content-icon{
|
|
34
|
+
fill:rgba(0, 0, 0, 0.4);
|
|
35
|
+
fill:var(--iui-icons-color);
|
|
36
|
+
display:inline-flex;
|
|
37
|
+
width:16px;
|
|
38
|
+
height:16px;
|
|
39
|
+
padding:0 6px;
|
|
40
|
+
flex-shrink:0; }
|
|
41
|
+
.iui-tree-node-content-icon.iui-informational{
|
|
42
|
+
fill:#008BE1;
|
|
43
|
+
fill:var(--iui-icons-color-primary); }
|
|
44
|
+
.iui-tree-node-content-icon.iui-positive{
|
|
45
|
+
fill:#53A21A;
|
|
46
|
+
fill:var(--iui-icons-color-positive); }
|
|
47
|
+
.iui-tree-node-content-icon.iui-warning{
|
|
48
|
+
fill:#F18B12;
|
|
49
|
+
fill:var(--iui-icons-color-warning); }
|
|
50
|
+
.iui-tree-node-content-icon.iui-negative{
|
|
51
|
+
fill:#D30A0A;
|
|
52
|
+
fill:var(--iui-icons-color-negative); }
|
|
53
|
+
.iui-tree-node-content-icon:first-child{
|
|
54
|
+
margin-left:28px; }
|
|
55
|
+
@media (prefers-reduced-motion: no-preference){
|
|
56
|
+
.iui-tree-node-content-expander-icon{
|
|
57
|
+
transition:transform 0.2s ease-out; } }
|
|
58
|
+
.iui-tree-node-content-expander-icon-expanded{
|
|
59
|
+
transform:rotate(90deg); }
|
|
60
|
+
.iui-tree-node-content-label{
|
|
61
|
+
min-width:0;
|
|
62
|
+
padding-left:6px; }
|
|
63
|
+
.iui-tree-node-content-label:first-child{
|
|
64
|
+
margin-left:28px; }
|
|
65
|
+
.iui-tree-node-content-title, .iui-tree-node-content-caption{
|
|
66
|
+
white-space:nowrap;
|
|
67
|
+
overflow:hidden;
|
|
68
|
+
text-overflow:ellipsis; }
|
|
69
|
+
.iui-tree-node-content-title{
|
|
70
|
+
font-size:14px; }
|
|
71
|
+
.iui-tree-node-content-caption{
|
|
72
|
+
font-size:12px;
|
|
73
|
+
color:rgba(0, 0, 0, 0.4);
|
|
74
|
+
color:var(--iui-text-color-muted); }
|
|
75
|
+
.iui-tree-node:focus{
|
|
76
|
+
outline:thin solid rgba(0, 139, 225, 0.4);
|
|
77
|
+
outline-offset:-1px;
|
|
78
|
+
outline:thin solid rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-4));
|
|
79
|
+
outline-offset:-1px; }
|
|
80
|
+
.iui-tree-node:focus:not(:focus-visible){
|
|
81
|
+
outline-offset:-2px; }
|
|
82
|
+
.iui-tree-node:hover{
|
|
83
|
+
background-color:rgba(0, 139, 225, 0.1);
|
|
84
|
+
background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)); }
|
|
85
|
+
.iui-tree-node:hover .iui-tree-node-content-caption{
|
|
86
|
+
color:#000;
|
|
87
|
+
color:var(--iui-color-foreground-body);
|
|
88
|
+
transition:color 0.2s ease; }
|
|
89
|
+
.iui-tree-node.iui-active{
|
|
90
|
+
background-color:rgba(0, 139, 225, 0.2);
|
|
91
|
+
outline:thin solid var(--iui-color-foreground-primary);
|
|
92
|
+
outline-offset:-1px;
|
|
93
|
+
background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-5));
|
|
94
|
+
outline:thin solid var(--iui-color-foreground-primary);
|
|
95
|
+
outline-offset:-1px; }
|
|
96
|
+
.iui-tree-node.iui-active:focus{
|
|
97
|
+
outline-width:2px;
|
|
98
|
+
outline-offset:-2px; }
|
|
99
|
+
.iui-tree-node.iui-disabled{
|
|
100
|
+
cursor:not-allowed;
|
|
101
|
+
outline:none;
|
|
102
|
+
background-color:transparent;
|
|
103
|
+
color:rgba(0, 0, 0, 0.2);
|
|
104
|
+
color:var(--iui-text-color-placeholder); }
|
|
105
|
+
.iui-tree-node.iui-disabled .iui-tree-node-content-caption{
|
|
106
|
+
color:rgba(0, 0, 0, 0.2);
|
|
107
|
+
color:var(--iui-text-color-placeholder); }
|
package/css/user-icon.css
CHANGED
package/package.json
CHANGED
|
@@ -2,59 +2,40 @@
|
|
|
2
2
|
// See LICENSE.md in the project root for license terms and full copyright notice.
|
|
3
3
|
@import '../style/index';
|
|
4
4
|
@import './button';
|
|
5
|
+
@import './disabled';
|
|
6
|
+
@import './button-icon';
|
|
5
7
|
|
|
6
8
|
@mixin iui-button-borderless {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
padding: 0 $iui-s;
|
|
9
|
+
@include iui-button-borderless-base;
|
|
10
|
+
@include iui-button-size(medium, borderless);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
padding: 0 $iui-xxs;
|
|
14
|
-
}
|
|
12
|
+
&:focus {
|
|
13
|
+
@include iui-button-borderless-hover-focus;
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
&:where(:not(:focus-visible)) {
|
|
16
|
+
@include iui-button-borderless-base;
|
|
17
|
+
}
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
margin-left: $iui-component-offset;
|
|
23
|
-
margin-right: $iui-component-offset;
|
|
20
|
+
&:hover {
|
|
21
|
+
@include iui-button-borderless-hover-focus;
|
|
24
22
|
}
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
&:enabled:active,
|
|
28
|
-
&:focus-visible {
|
|
24
|
+
&.iui-active {
|
|
29
25
|
@include themed {
|
|
30
|
-
background-color: rgba(t(iui-color-foreground-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
&.iui-active:not(.iui-high-visibility):not(.iui-cta) {
|
|
36
|
-
&:enabled,
|
|
37
|
-
&:enabled:hover,
|
|
38
|
-
&:enabled:active {
|
|
39
|
-
background: transparent;
|
|
40
|
-
@include themed {
|
|
41
|
-
background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
|
|
42
|
-
}
|
|
43
|
-
border-color: transparent;
|
|
26
|
+
background-color: rgba(t(iui-color-foreground-primary-rgb), t(iui-opacity-6));
|
|
27
|
+
color: t(iui-color-foreground-primary);
|
|
44
28
|
}
|
|
29
|
+
border-color: transparent;
|
|
45
30
|
}
|
|
46
31
|
|
|
47
32
|
&[disabled],
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
&[disabled]:focus {
|
|
51
|
-
background-color: transparent;
|
|
52
|
-
border-color: transparent;
|
|
33
|
+
&:disabled {
|
|
34
|
+
@include iui-button-disabled;
|
|
53
35
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
36
|
+
@include themed {
|
|
37
|
+
background-color: transparent;
|
|
38
|
+
border-color: transparent;
|
|
58
39
|
}
|
|
59
40
|
|
|
60
41
|
&.iui-active {
|
|
@@ -64,3 +45,20 @@
|
|
|
64
45
|
}
|
|
65
46
|
}
|
|
66
47
|
}
|
|
48
|
+
|
|
49
|
+
@mixin iui-button-borderless-hover-focus {
|
|
50
|
+
@include themed {
|
|
51
|
+
background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-6));
|
|
52
|
+
border-color: transparent;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@mixin iui-button-borderless-base {
|
|
57
|
+
border-color: transparent;
|
|
58
|
+
background-color: transparent;
|
|
59
|
+
|
|
60
|
+
> .iui-button-icon:only-child {
|
|
61
|
+
margin-left: $iui-component-offset;
|
|
62
|
+
margin-right: $iui-component-offset;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -5,72 +5,79 @@
|
|
|
5
5
|
@mixin iui-button-group {
|
|
6
6
|
display: inline-flex;
|
|
7
7
|
align-items: center;
|
|
8
|
+
isolation: isolate;
|
|
8
9
|
|
|
9
|
-
|
|
10
|
-
&:not(.iui-borderless) {
|
|
11
|
-
border-radius: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
&:first-of-type:not(.iui-borderless) {
|
|
15
|
-
border-top-left-radius: $iui-border-radius;
|
|
16
|
-
border-bottom-left-radius: $iui-border-radius;
|
|
17
|
-
}
|
|
10
|
+
$childSelector: 'input, button'; // target nested inputs and buttons
|
|
18
11
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
> * {
|
|
13
|
+
#{$childSelector} {
|
|
14
|
+
&:hover,
|
|
15
|
+
&:focus,
|
|
16
|
+
&:focus-within {
|
|
17
|
+
position: relative;
|
|
18
|
+
z-index: 1;
|
|
19
|
+
}
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
&:disabled {
|
|
22
|
+
position: relative;
|
|
23
|
+
z-index: -1;
|
|
24
|
+
}
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
// Adds stripe above active button
|
|
27
|
+
&.iui-active {
|
|
28
|
+
&::after {
|
|
29
|
+
content: '';
|
|
30
|
+
position: absolute;
|
|
31
|
+
height: $iui-xxs;
|
|
32
|
+
opacity: 1;
|
|
33
|
+
top: $iui-xxs;
|
|
34
|
+
left: $iui-xxs;
|
|
35
|
+
width: calc(100% - #{$iui-xs});
|
|
32
36
|
@include themed {
|
|
33
|
-
|
|
37
|
+
background-color: t(iui-color-foreground-primary);
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
&:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
&:disabled {
|
|
42
|
+
&::after {
|
|
43
|
+
@include themed {
|
|
44
|
+
background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-5));
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
}
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
//
|
|
47
|
-
&:
|
|
48
|
-
|
|
49
|
-
border-left-color: t(iui-color-background-4);
|
|
50
|
-
}
|
|
50
|
+
// Reset border radius only for non-borderless items
|
|
51
|
+
&:not(.iui-borderless) {
|
|
52
|
+
border-radius: 0;
|
|
51
53
|
}
|
|
52
54
|
}
|
|
53
|
-
}
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
height: $iui-xxs;
|
|
61
|
-
opacity: 1;
|
|
62
|
-
top: $iui-xxs;
|
|
63
|
-
left: $iui-xxs;
|
|
64
|
-
width: calc(100% - #{$iui-xs});
|
|
65
|
-
@include themed {
|
|
66
|
-
background-color: t(iui-color-foreground-primary);
|
|
56
|
+
// Add rounded corners to first and last items
|
|
57
|
+
&:first-child {
|
|
58
|
+
#{$childSelector}:not(.iui-borderless) {
|
|
59
|
+
border-top-left-radius: $iui-border-radius;
|
|
60
|
+
border-bottom-left-radius: $iui-border-radius;
|
|
67
61
|
}
|
|
68
62
|
}
|
|
69
63
|
|
|
70
|
-
&:
|
|
71
|
-
|
|
64
|
+
&:last-child {
|
|
65
|
+
#{$childSelector}:not(.iui-borderless) {
|
|
66
|
+
border-top-right-radius: $iui-border-radius;
|
|
67
|
+
border-bottom-right-radius: $iui-border-radius;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Use negative margin to make adjacent borders overlap
|
|
72
|
+
&:not(:last-child) {
|
|
73
|
+
margin-right: -1px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Add slight border between disabled items
|
|
77
|
+
&:not(:first-child) {
|
|
78
|
+
.iui-default:disabled {
|
|
72
79
|
@include themed {
|
|
73
|
-
|
|
80
|
+
border-left-color: t(iui-color-background-4);
|
|
74
81
|
}
|
|
75
82
|
}
|
|
76
83
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
}
|
package/scss/button/button.scss
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
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 './disabled';
|
|
6
|
+
@import './button-icon';
|
|
5
7
|
|
|
6
8
|
$iui-button-padding: $iui-xs * 4;
|
|
7
9
|
$iui-button-padding-small: $iui-xs * 2;
|
|
@@ -32,52 +34,45 @@ $iui-button-padding-large: $iui-xs * 6;
|
|
|
32
34
|
border-color $iui-speed-fast ease-out;
|
|
33
35
|
}
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
height: $iui-icons-default;
|
|
38
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
39
|
-
transition: fill $iui-speed-fast ease-out;
|
|
40
|
-
}
|
|
37
|
+
@include themed {
|
|
38
|
+
color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
|
|
41
39
|
}
|
|
42
40
|
|
|
43
|
-
&:
|
|
41
|
+
&:hover {
|
|
44
42
|
text-decoration: none;
|
|
43
|
+
@include themed {
|
|
44
|
+
color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-1));
|
|
45
|
+
}
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
@include iui-focus;
|
|
48
|
-
@include iui-button-sizes;
|
|
49
|
-
}
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
&[disabled],
|
|
51
|
+
&:disabled {
|
|
52
|
+
@include iui-button-disabled;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
/// Mixin for applying padding and margins to various button sizes.
|
|
57
|
+
/// @arg size - must be one of: small, medium, large
|
|
58
|
+
/// @arg styleType - must be one of: default, borderless
|
|
59
|
+
@mixin iui-button-size($size: medium, $styleType: default) {
|
|
60
|
+
@if $size == medium {
|
|
61
|
+
padding: if($styleType == 'borderless', 0 $iui-s, 0 $iui-button-padding);
|
|
62
|
+
height: $iui-component-height;
|
|
63
|
+
gap: $iui-s;
|
|
59
64
|
}
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
padding: 0 $iui-button-padding-small;
|
|
66
|
+
@if $size == small {
|
|
67
|
+
padding: if($styleType == 'borderless', 0 $iui-xxs, 0 $iui-button-padding-small);
|
|
63
68
|
height: $iui-component-height-small;
|
|
64
|
-
|
|
65
|
-
> .iui-icon + .iui-label,
|
|
66
|
-
> .iui-label + .iui-icon,
|
|
67
|
-
> .iui-icon + .iui-icon {
|
|
68
|
-
margin-left: $iui-xs;
|
|
69
|
-
}
|
|
69
|
+
gap: $iui-xs;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
padding: 0 $iui-button-padding-large;
|
|
72
|
+
@if $size == large {
|
|
73
|
+
padding: if($styleType == 'borderless', 0 $iui-sm, 0 $iui-button-padding-large);
|
|
74
74
|
height: $iui-component-height-large;
|
|
75
75
|
font-size: $iui-font-size-leading;
|
|
76
|
-
|
|
77
|
-
> .iui-icon + .iui-label,
|
|
78
|
-
> .iui-label + .iui-icon,
|
|
79
|
-
> .iui-icon + .iui-icon {
|
|
80
|
-
margin-left: $iui-sm;
|
|
81
|
-
}
|
|
76
|
+
gap: $iui-sm;
|
|
82
77
|
}
|
|
83
78
|
}
|
package/scss/button/classes.scss
CHANGED
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
.iui-button {
|
|
6
6
|
@include iui-button;
|
|
7
|
-
@include iui-button-
|
|
7
|
+
@include iui-button-size;
|
|
8
|
+
|
|
9
|
+
&.iui-default {
|
|
10
|
+
@include iui-button-default;
|
|
11
|
+
}
|
|
8
12
|
|
|
9
13
|
&.iui-high-visibility {
|
|
10
14
|
@include iui-button-high-visibility;
|
|
@@ -22,8 +26,22 @@
|
|
|
22
26
|
@include iui-button-borderless;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
@include iui-button-size(medium);
|
|
30
|
+
|
|
31
|
+
&.iui-small {
|
|
32
|
+
@include iui-button-size(small);
|
|
33
|
+
|
|
34
|
+
&.iui-borderless {
|
|
35
|
+
@include iui-button-size(small, borderless);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&.iui-large {
|
|
40
|
+
@include iui-button-size(large);
|
|
41
|
+
|
|
42
|
+
&.iui-borderless {
|
|
43
|
+
@include iui-button-size(large, borderless);
|
|
44
|
+
}
|
|
27
45
|
}
|
|
28
46
|
}
|
|
29
47
|
|
|
@@ -35,3 +53,7 @@
|
|
|
35
53
|
@include iui-button-group;
|
|
36
54
|
@include iui-button-split-menu;
|
|
37
55
|
}
|
|
56
|
+
|
|
57
|
+
.iui-button-icon {
|
|
58
|
+
@include iui-button-icon;
|
|
59
|
+
}
|