@itwin/itwinui-css 0.32.0 → 0.33.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.
@@ -0,0 +1,218 @@
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-notification-primary{
6
+ position:relative; }
7
+ .iui-notification-primary::before{
8
+ content:'';
9
+ position:absolute;
10
+ width:8px;
11
+ height:8px;
12
+ top:-6px;
13
+ right:-6px;
14
+ border-radius:100%;
15
+ background-color:#008BE1;
16
+ border:2px solid #FFF;
17
+ background-color:var(--iui-color-foreground-primary);
18
+ border:2px solid var(--iui-color-background-1); }
19
+ @media (prefers-reduced-motion: no-preference){
20
+ .iui-notification-primary::before{
21
+ transition:background-color 0.2s ease-out, border-color 0.2s ease-out; } }
22
+ @media (prefers-reduced-motion: no-preference){
23
+ .iui-notification-primary.iui-urgent::before{
24
+ -webkit-animation:pulse-primary 2s infinite;
25
+ animation:pulse-primary 2s infinite; } }
26
+ @media (prefers-reduced-motion: no-preference){
27
+ @-webkit-keyframes pulse-primary{
28
+ 0%{
29
+ box-shadow:0 0 0 0 #008be1;
30
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-1)); }
31
+ 70%{
32
+ box-shadow:0 0 0 7px rgba(0, 139, 225, 0);
33
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-primary-rgb), 0); }
34
+ 100%{
35
+ box-shadow:0 0 0 0 rgba(0, 139, 225, 0);
36
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-primary-rgb), 0); } }
37
+ @keyframes pulse-primary{
38
+ 0%{
39
+ box-shadow:0 0 0 0 #008be1;
40
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-1)); }
41
+ 70%{
42
+ box-shadow:0 0 0 7px rgba(0, 139, 225, 0);
43
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-primary-rgb), 0); }
44
+ 100%{
45
+ box-shadow:0 0 0 0 rgba(0, 139, 225, 0);
46
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-primary-rgb), 0); } } }
47
+
48
+ .iui-notification-positive{
49
+ position:relative; }
50
+ .iui-notification-positive::before{
51
+ content:'';
52
+ position:absolute;
53
+ width:8px;
54
+ height:8px;
55
+ top:-6px;
56
+ right:-6px;
57
+ border-radius:100%;
58
+ background-color:#53A21A;
59
+ border:2px solid #FFF;
60
+ background-color:var(--iui-color-foreground-positive);
61
+ border:2px solid var(--iui-color-background-1); }
62
+ @media (prefers-reduced-motion: no-preference){
63
+ .iui-notification-positive::before{
64
+ transition:background-color 0.2s ease-out, border-color 0.2s ease-out; } }
65
+ @media (prefers-reduced-motion: no-preference){
66
+ .iui-notification-positive.iui-urgent::before{
67
+ -webkit-animation:pulse-positive 2s infinite;
68
+ animation:pulse-positive 2s infinite; } }
69
+ @media (prefers-reduced-motion: no-preference){
70
+ @-webkit-keyframes pulse-positive{
71
+ 0%{
72
+ box-shadow:0 0 0 0 #53a21a;
73
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-positive-rgb), var(--iui-opacity-1)); }
74
+ 70%{
75
+ box-shadow:0 0 0 7px rgba(83, 162, 26, 0);
76
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-positive-rgb), 0); }
77
+ 100%{
78
+ box-shadow:0 0 0 0 rgba(83, 162, 26, 0);
79
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-positive-rgb), 0); } }
80
+ @keyframes pulse-positive{
81
+ 0%{
82
+ box-shadow:0 0 0 0 #53a21a;
83
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-positive-rgb), var(--iui-opacity-1)); }
84
+ 70%{
85
+ box-shadow:0 0 0 7px rgba(83, 162, 26, 0);
86
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-positive-rgb), 0); }
87
+ 100%{
88
+ box-shadow:0 0 0 0 rgba(83, 162, 26, 0);
89
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-positive-rgb), 0); } } }
90
+
91
+ .iui-notification-warning{
92
+ position:relative; }
93
+ .iui-notification-warning::before{
94
+ content:'';
95
+ position:absolute;
96
+ width:8px;
97
+ height:8px;
98
+ top:-6px;
99
+ right:-6px;
100
+ border-radius:100%;
101
+ background-color:#F18B12;
102
+ border:2px solid #FFF;
103
+ background-color:var(--iui-color-foreground-warning);
104
+ border:2px solid var(--iui-color-background-1); }
105
+ @media (prefers-reduced-motion: no-preference){
106
+ .iui-notification-warning::before{
107
+ transition:background-color 0.2s ease-out, border-color 0.2s ease-out; } }
108
+ @media (prefers-reduced-motion: no-preference){
109
+ .iui-notification-warning.iui-urgent::before{
110
+ -webkit-animation:pulse-warning 2s infinite;
111
+ animation:pulse-warning 2s infinite; } }
112
+ @media (prefers-reduced-motion: no-preference){
113
+ @-webkit-keyframes pulse-warning{
114
+ 0%{
115
+ box-shadow:0 0 0 0 #f18b12;
116
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-warning-rgb), var(--iui-opacity-1)); }
117
+ 70%{
118
+ box-shadow:0 0 0 7px rgba(241, 139, 18, 0);
119
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-warning-rgb), 0); }
120
+ 100%{
121
+ box-shadow:0 0 0 0 rgba(241, 139, 18, 0);
122
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-warning-rgb), 0); } }
123
+ @keyframes pulse-warning{
124
+ 0%{
125
+ box-shadow:0 0 0 0 #f18b12;
126
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-warning-rgb), var(--iui-opacity-1)); }
127
+ 70%{
128
+ box-shadow:0 0 0 7px rgba(241, 139, 18, 0);
129
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-warning-rgb), 0); }
130
+ 100%{
131
+ box-shadow:0 0 0 0 rgba(241, 139, 18, 0);
132
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-warning-rgb), 0); } } }
133
+
134
+ .iui-notification-negative{
135
+ position:relative; }
136
+ .iui-notification-negative::before{
137
+ content:'';
138
+ position:absolute;
139
+ width:8px;
140
+ height:8px;
141
+ top:-6px;
142
+ right:-6px;
143
+ border-radius:100%;
144
+ background-color:#D30A0A;
145
+ border:2px solid #FFF;
146
+ background-color:var(--iui-color-foreground-negative);
147
+ border:2px solid var(--iui-color-background-1); }
148
+ @media (prefers-reduced-motion: no-preference){
149
+ .iui-notification-negative::before{
150
+ transition:background-color 0.2s ease-out, border-color 0.2s ease-out; } }
151
+ @media (prefers-reduced-motion: no-preference){
152
+ .iui-notification-negative.iui-urgent::before{
153
+ -webkit-animation:pulse-negative 2s infinite;
154
+ animation:pulse-negative 2s infinite; } }
155
+ @media (prefers-reduced-motion: no-preference){
156
+ @-webkit-keyframes pulse-negative{
157
+ 0%{
158
+ box-shadow:0 0 0 0 #d30a0a;
159
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-negative-rgb), var(--iui-opacity-1)); }
160
+ 70%{
161
+ box-shadow:0 0 0 7px rgba(211, 10, 10, 0);
162
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-negative-rgb), 0); }
163
+ 100%{
164
+ box-shadow:0 0 0 0 rgba(211, 10, 10, 0);
165
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-negative-rgb), 0); } }
166
+ @keyframes pulse-negative{
167
+ 0%{
168
+ box-shadow:0 0 0 0 #d30a0a;
169
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-negative-rgb), var(--iui-opacity-1)); }
170
+ 70%{
171
+ box-shadow:0 0 0 7px rgba(211, 10, 10, 0);
172
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-negative-rgb), 0); }
173
+ 100%{
174
+ box-shadow:0 0 0 0 rgba(211, 10, 10, 0);
175
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-negative-rgb), 0); } } }
176
+
177
+ .iui-notification-accessory{
178
+ position:relative; }
179
+ .iui-notification-accessory::before{
180
+ content:'';
181
+ position:absolute;
182
+ width:8px;
183
+ height:8px;
184
+ top:-6px;
185
+ right:-6px;
186
+ border-radius:100%;
187
+ background-color:#FFF;
188
+ border:2px solid #FFF;
189
+ background-color:var(--iui-color-foreground-accessory);
190
+ border:2px solid var(--iui-color-background-1); }
191
+ @media (prefers-reduced-motion: no-preference){
192
+ .iui-notification-accessory::before{
193
+ transition:background-color 0.2s ease-out, border-color 0.2s ease-out; } }
194
+ @media (prefers-reduced-motion: no-preference){
195
+ .iui-notification-accessory.iui-urgent::before{
196
+ -webkit-animation:pulse-accessory 2s infinite;
197
+ animation:pulse-accessory 2s infinite; } }
198
+ @media (prefers-reduced-motion: no-preference){
199
+ @-webkit-keyframes pulse-accessory{
200
+ 0%{
201
+ box-shadow:0 0 0 0 white;
202
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-accessory-rgb), var(--iui-opacity-1)); }
203
+ 70%{
204
+ box-shadow:0 0 0 7px rgba(255, 255, 255, 0);
205
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-accessory-rgb), 0); }
206
+ 100%{
207
+ box-shadow:0 0 0 0 rgba(255, 255, 255, 0);
208
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-accessory-rgb), 0); } }
209
+ @keyframes pulse-accessory{
210
+ 0%{
211
+ box-shadow:0 0 0 0 white;
212
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-accessory-rgb), var(--iui-opacity-1)); }
213
+ 70%{
214
+ box-shadow:0 0 0 7px rgba(255, 255, 255, 0);
215
+ box-shadow:0 0 0 7px rgba(var(--iui-color-foreground-accessory-rgb), 0); }
216
+ 100%{
217
+ box-shadow:0 0 0 0 rgba(255, 255, 255, 0);
218
+ box-shadow:0 0 0 0 rgba(var(--iui-color-foreground-accessory-rgb), 0); } } }
@@ -117,3 +117,56 @@
117
117
  @media (prefers-reduced-motion: no-preference){
118
118
  .iui-side-navigation .iui-sidenav-button.iui-expand > .iui-icon{
119
119
  transition:transform 0.4s ease-out; } }
120
+
121
+ .iui-side-navigation-submenu{
122
+ min-width:192px;
123
+ width:384px;
124
+ max-width:50vw;
125
+ height:100%;
126
+ box-sizing:border-box;
127
+ padding:0 12px 11px;
128
+ overflow-x:hidden;
129
+ overflow-y:auto;
130
+ overflow-y:overlay;
131
+ resize:horizontal;
132
+ background-color:#FFF;
133
+ border-right:1px solid #C7CCD1;
134
+ background-color:var(--iui-color-background-1);
135
+ border-right:1px solid var(--iui-color-background-5); }
136
+ .iui-side-navigation-submenu.iui-enter, .iui-side-navigation-submenu.iui-exit-active{
137
+ opacity:0; }
138
+ .iui-side-navigation-submenu.iui-exit, .iui-side-navigation-submenu.iui-enter-active{
139
+ opacity:1; }
140
+ @media (prefers-reduced-motion: no-preference){
141
+ .iui-side-navigation-submenu.iui-enter-active, .iui-side-navigation-submenu.iui-exit-active{
142
+ transition:opacity 0.2s ease-out, width 0.2s ease-out, height 0.2s ease-out; } }
143
+ .iui-side-navigation-submenu-header{
144
+ height:55px;
145
+ display:flex;
146
+ align-items:center;
147
+ justify-content:space-between; }
148
+ .iui-side-navigation-submenu-header-label{
149
+ margin:0;
150
+ padding:0;
151
+ border:none;
152
+ vertical-align:baseline;
153
+ font-size:24px;
154
+ font-weight:300;
155
+ line-height:33px;
156
+ display:flex;
157
+ align-items:center;
158
+ overflow:hidden; }
159
+ .iui-side-navigation-submenu-header-label .iui-button{
160
+ flex-shrink:0; }
161
+ .iui-side-navigation-submenu-header-label > *{
162
+ white-space:nowrap;
163
+ overflow:hidden;
164
+ text-overflow:ellipsis; }
165
+ .iui-side-navigation-submenu-header-label-actions{
166
+ flex-shrink:0;
167
+ margin-left:8px; }
168
+
169
+ .iui-side-navigation-wrapper{
170
+ display:flex;
171
+ position:relative;
172
+ height:100%; }
package/css/table.css CHANGED
@@ -165,7 +165,7 @@
165
165
  opacity:1; }
166
166
  @media (prefers-reduced-motion: no-preference){
167
167
  .iui-table-body .iui-row.iui-expanded-content.iui-enter-active, .iui-table-body .iui-row.iui-expanded-content.iui-exit-active{
168
- transition:opacity 0.2s ease-out, height 0.2s ease-out; } }
168
+ transition:opacity 0.2s ease-out, width 0.2s ease-out, height 0.2s ease-out; } }
169
169
  .iui-table-body .iui-row:not(.iui-selected) + .iui-selected, .iui-table-body .iui-row.iui-selected:first-child{
170
170
  border-bottom-color:transparent; }
171
171
  .iui-table-body .iui-row.iui-selected{
@@ -21,53 +21,87 @@
21
21
  border-left:1px solid var(--iui-color-background-4); }
22
22
  .iui-time-picker:first-child{
23
23
  box-shadow:0 1px 5px rgba(0, 0, 0, 0.25); }
24
- .iui-time-picker > .iui-time,
25
- .iui-time-picker > .iui-period{
26
- padding:11px 8px;
27
- overflow-y:auto; }
28
- .iui-time-picker > .iui-time:not(:first-child),
29
- .iui-time-picker > .iui-period:not(:first-child){
30
- border-left:1px solid #DCE0E3;
31
- border-left:1px solid var(--iui-color-background-4); }
32
- .iui-time-picker > .iui-time > ol,
33
- .iui-time-picker > .iui-period > ol{
34
- margin:0;
35
- padding:0;
36
- border:none;
37
- vertical-align:baseline;
38
- list-style:none; }
39
- .iui-time-picker > .iui-time > ol > li,
40
- .iui-time-picker > .iui-period > ol > li{
41
- padding:11px 16px;
42
- border-radius:3px; }
43
- .iui-time-picker > .iui-time > ol > li:focus,
44
- .iui-time-picker > .iui-period > ol > li:focus{
45
- outline:0;
46
- box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
47
- box-shadow:var(--iui-focus-box-shadow); }
48
- .iui-time-picker > .iui-time > ol > li:focus:not(:focus-visible),
49
- .iui-time-picker > .iui-period > ol > li:focus:not(:focus-visible){
50
- box-shadow:none; }
51
- .iui-time-picker > .iui-time > ol > li:focus-visible,
52
- .iui-time-picker > .iui-period > ol > li:focus-visible{
53
- outline:0;
54
- box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
55
- box-shadow:var(--iui-focus-box-shadow); }
56
- .iui-time-picker > .iui-time > ol > li:hover,
57
- .iui-time-picker > .iui-period > ol > li:hover{
58
- cursor:pointer;
59
- color:#008BE1;
60
- background-color:rgba(0, 139, 225, 0.1);
61
- color:var(--iui-color-foreground-primary);
62
- background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)); }
63
- .iui-time-picker > .iui-time > ol > li.iui-selected,
64
- .iui-time-picker > .iui-period > ol > li.iui-selected{
65
- font-weight:600;
66
- cursor:default;
67
- background-color:#008BE1;
68
- color:#FFF;
69
- background-color:var(--iui-color-background-primary);
70
- color:var(--iui-color-foreground-accessory); }
71
- .iui-time-picker > .iui-period{
72
- display:flex;
73
- align-items:center; }
24
+
25
+ .iui-time{
26
+ padding:11px 8px;
27
+ overflow-y:auto;
28
+ overflow-y:overlay;
29
+ scrollbar-width:none; }
30
+ .iui-time:not(:first-child){
31
+ border-left:1px solid #DCE0E3;
32
+ border-left:1px solid var(--iui-color-background-4); }
33
+ .iui-time > ol{
34
+ margin:0;
35
+ padding:0;
36
+ border:none;
37
+ vertical-align:baseline;
38
+ list-style:none; }
39
+ .iui-time > ol > li{
40
+ padding:6px 16px;
41
+ border-radius:3px; }
42
+ .iui-time > ol > li:focus{
43
+ outline:0;
44
+ box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
45
+ box-shadow:var(--iui-focus-box-shadow); }
46
+ .iui-time > ol > li:focus:not(:focus-visible){
47
+ box-shadow:none; }
48
+ .iui-time > ol > li:focus-visible{
49
+ outline:0;
50
+ box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
51
+ box-shadow:var(--iui-focus-box-shadow); }
52
+ .iui-time > ol > li:hover{
53
+ cursor:pointer;
54
+ color:#008BE1;
55
+ background-color:rgba(0, 139, 225, 0.1);
56
+ color:var(--iui-color-foreground-primary);
57
+ background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)); }
58
+ .iui-time > ol > li.iui-selected{
59
+ font-weight:600;
60
+ cursor:default;
61
+ background-color:#008BE1;
62
+ color:#FFF;
63
+ background-color:var(--iui-color-background-primary);
64
+ color:var(--iui-color-foreground-accessory); }
65
+
66
+ .iui-period{
67
+ padding:11px 8px;
68
+ overflow-y:auto;
69
+ overflow-y:overlay;
70
+ scrollbar-width:none;
71
+ display:flex;
72
+ align-items:center; }
73
+ .iui-period:not(:first-child){
74
+ border-left:1px solid #DCE0E3;
75
+ border-left:1px solid var(--iui-color-background-4); }
76
+ .iui-period > ol{
77
+ margin:0;
78
+ padding:0;
79
+ border:none;
80
+ vertical-align:baseline;
81
+ list-style:none; }
82
+ .iui-period > ol > li{
83
+ padding:6px 16px;
84
+ border-radius:3px; }
85
+ .iui-period > ol > li:focus{
86
+ outline:0;
87
+ box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
88
+ box-shadow:var(--iui-focus-box-shadow); }
89
+ .iui-period > ol > li:focus:not(:focus-visible){
90
+ box-shadow:none; }
91
+ .iui-period > ol > li:focus-visible{
92
+ outline:0;
93
+ box-shadow:rgba(0, 139, 225, 0.2) 0 0 0 2px;
94
+ box-shadow:var(--iui-focus-box-shadow); }
95
+ .iui-period > ol > li:hover{
96
+ cursor:pointer;
97
+ color:#008BE1;
98
+ background-color:rgba(0, 139, 225, 0.1);
99
+ color:var(--iui-color-foreground-primary);
100
+ background-color:rgba(var(--iui-color-foreground-primary-rgb), var(--iui-opacity-6)); }
101
+ .iui-period > ol > li.iui-selected{
102
+ font-weight:600;
103
+ cursor:default;
104
+ background-color:#008BE1;
105
+ color:#FFF;
106
+ background-color:var(--iui-color-background-primary);
107
+ color:var(--iui-color-foreground-accessory); }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itwin/itwinui-css",
3
- "version": "0.32.0",
3
+ "version": "0.33.0",
4
4
  "author": "Bentley Systems",
5
5
  "license": "MIT",
6
6
  "main": "src/index.scss",
@@ -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 './button';
5
+ @import '../notification-marker/index';
5
6
 
6
7
  @mixin iui-button-default {
7
8
  @include themed {
@@ -24,6 +25,7 @@
24
25
  border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-1));
25
26
  color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-1));
26
27
  }
28
+ @include iui-notification-marker-hover;
27
29
 
28
30
  > .iui-icon {
29
31
  @include themed {
package/scss/classes.scss CHANGED
@@ -23,6 +23,7 @@
23
23
  @import './menu/classes';
24
24
  @import './modal/classes';
25
25
  @import './non-ideal-state/classes';
26
+ @import './notification-marker/classes';
26
27
  @import './progress-indicator/classes';
27
28
  @import './side-navigation/classes';
28
29
  @import './slider/classes';
@@ -19,7 +19,7 @@ $iui-focus-box-shadow: 0 0 1px $iui-xxs + 1 rgba(t(iui-color-foreground-primary-
19
19
  // max-height: (10 rows) + (gaps) + (container padding)
20
20
  box-sizing: border-box;
21
21
  border-radius: $iui-border-radius;
22
- display: flex;
22
+ display: inline-flex;
23
23
  padding: $iui-baseline $iui-sm;
24
24
  user-select: none;
25
25
  overflow-y: auto;
@@ -89,9 +89,8 @@
89
89
  @include iui-focus;
90
90
  cursor: pointer;
91
91
  display: inline-block;
92
- width: $iui-l;
93
- line-height: $iui-l;
94
- margin: 0 $iui-xs;
92
+ width: $iui-baseline * 3;
93
+ line-height: $iui-baseline * 3;
95
94
 
96
95
  &:hover:not(.iui-selected) {
97
96
  border-radius: $iui-border-radius;
package/scss/index.scss CHANGED
@@ -21,6 +21,7 @@
21
21
  @import './menu/index';
22
22
  @import './modal/index';
23
23
  @import './non-ideal-state/index';
24
+ @import './notification-marker/index';
24
25
  @import './progress-indicator/index';
25
26
  @import './side-navigation/index';
26
27
  @import './slider/index';
@@ -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 '../style/ripple';
5
6
 
6
7
  /// Container for grouping inputs with a label, an icon and a status message.
7
8
  /// Supported modifiers: .iui-inline-label, .iui-inline-icon and .iui-with-message
@@ -51,7 +52,7 @@
51
52
  -ms-grid-row: 2;
52
53
  -ms-grid-column: 1;
53
54
  -ms-grid-column-span: 2;
54
- // stylelint-enable
55
+ // stylelint-enable
55
56
  }
56
57
 
57
58
  // #region Cursors
@@ -229,6 +230,29 @@
229
230
  border-top-left-radius: 0;
230
231
  border-bottom-left-radius: 0;
231
232
  }
233
+
234
+ &.iui-actionable {
235
+ align-items: center;
236
+ height: 90%;
237
+ margin-right: 1px;
238
+ padding: 0 $iui-sm;
239
+ cursor: pointer;
240
+
241
+ @include iui-ripple(var(--iui-color-background-1), var(--iui-color-background-2));
242
+
243
+ svg {
244
+ width: $iui-icons-default;
245
+ height: $iui-icons-default;
246
+ @include themed {
247
+ fill: t(iui-icons-color);
248
+ }
249
+ transition: transform $iui-speed-fast ease-out;
250
+ }
251
+
252
+ &.iui-open svg {
253
+ transform: rotate(180deg); // transform for arrow icon (e.g. svg-caret-down), used in combobox
254
+ }
255
+ }
232
256
  }
233
257
 
234
258
  /// Mixin for applying status colors to input container.
@@ -11,6 +11,10 @@
11
11
  @include iui-menu-item;
12
12
  }
13
13
 
14
+ .iui-menu-content {
15
+ @include iui-menu-content;
16
+ }
17
+
14
18
  .iui-menu-divider {
15
19
  @include iui-menu-divider;
16
20
  }
@@ -92,7 +92,8 @@ $iui-active-outline: thin solid t(iui-color-foreground-primary);
92
92
  }
93
93
  }
94
94
 
95
- &:focus {
95
+ &:focus,
96
+ &.iui-focused {
96
97
  @include themed {
97
98
  outline: $iui-active-outline;
98
99
  outline-offset: -1px;
@@ -130,7 +131,8 @@ $iui-active-outline: thin solid t(iui-color-foreground-primary);
130
131
  }
131
132
  }
132
133
 
133
- &:focus {
134
+ &:focus,
135
+ &.iui-focused {
134
136
  outline-width: $iui-xxs;
135
137
  outline-offset: -2px;
136
138
  }
@@ -160,6 +162,10 @@ $iui-active-outline: thin solid t(iui-color-foreground-primary);
160
162
  }
161
163
  }
162
164
 
165
+ @mixin iui-menu-content {
166
+ padding: $iui-baseline ($iui-component-padding-horizontal + 1px);
167
+ }
168
+
163
169
  @mixin iui-menu-divider {
164
170
  height: 1px;
165
171
  width: calc(100% - #{$iui-l});
@@ -0,0 +1,9 @@
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
+ @each $status in primary, positive, warning, negative, accessory {
6
+ &.iui-notification-#{$status} {
7
+ @include iui-notification-marker($status: $status);
8
+ }
9
+ }
@@ -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 './notification-marker';
@@ -0,0 +1,63 @@
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-notification-marker($status: primary) {
6
+ position: relative;
7
+
8
+ &::before {
9
+ content: '';
10
+ position: absolute;
11
+ width: $iui-s;
12
+ height: $iui-s;
13
+ top: $iui-sm * -0.5;
14
+ right: $iui-sm * -0.5;
15
+ border-radius: 100%;
16
+ @include themed {
17
+ background-color: t(iui-color-foreground-#{$status});
18
+ border: 2px solid t(iui-color-background-1);
19
+ }
20
+ @media (prefers-reduced-motion: no-preference) {
21
+ transition: background-color $iui-speed-fast ease-out, border-color $iui-speed-fast ease-out;
22
+ }
23
+ }
24
+
25
+ &.iui-urgent::before {
26
+ @media (prefers-reduced-motion: no-preference) {
27
+ animation: pulse-#{$status} 2s infinite;
28
+ }
29
+ }
30
+
31
+ @media (prefers-reduced-motion: no-preference) {
32
+ @keyframes pulse-#{$status} {
33
+ 0% {
34
+ @include themed {
35
+ box-shadow: 0 0 0 0 rgba(t(iui-color-foreground-#{$status}-rgb), t(iui-opacity-1));
36
+ }
37
+ }
38
+
39
+ 70% {
40
+ @include themed {
41
+ box-shadow: 0 0 0 7px rgba(t(iui-color-foreground-#{$status}-rgb), 0);
42
+ }
43
+ }
44
+
45
+ 100% {
46
+ @include themed {
47
+ box-shadow: 0 0 0 0 rgba(t(iui-color-foreground-#{$status}-rgb), 0);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
53
+
54
+ @mixin iui-notification-marker-hover {
55
+ .iui-notification-primary::before,
56
+ .iui-notification-positive::before,
57
+ .iui-notification-warning::before,
58
+ .iui-notification-negative::before {
59
+ @include themed {
60
+ border-color: t(iui-color-background-1-overlay);
61
+ }
62
+ }
63
+ }
@@ -5,3 +5,11 @@
5
5
  .iui-side-navigation {
6
6
  @include iui-side-navigation;
7
7
  }
8
+
9
+ .iui-side-navigation-submenu {
10
+ @include iui-side-navigation-submenu;
11
+ }
12
+
13
+ .iui-side-navigation-wrapper {
14
+ @include iui-side-navigation-wrapper;
15
+ }