@itwin/itwinui-css 0.29.1 → 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.
Files changed (39) hide show
  1. package/css/all.css +852 -262
  2. package/css/button.css +12 -0
  3. package/css/color-picker.css +132 -0
  4. package/css/date-picker.css +2 -3
  5. package/css/expandable-block.css +1 -1
  6. package/css/information-panel.css +126 -0
  7. package/css/inputs.css +194 -138
  8. package/css/menu.css +5 -2
  9. package/css/notification-marker.css +218 -0
  10. package/css/side-navigation.css +53 -0
  11. package/css/table.css +2 -2
  12. package/css/time-picker.css +84 -50
  13. package/css/toast-notification.css +3 -37
  14. package/package.json +4 -3
  15. package/scss/button/default.scss +2 -0
  16. package/scss/classes.scss +4 -1
  17. package/scss/color-picker/classes.scss +35 -0
  18. package/scss/color-picker/color-picker.scss +191 -0
  19. package/scss/color-picker/index.scss +3 -0
  20. package/scss/date-picker/date-picker.scss +2 -3
  21. package/scss/index.scss +4 -1
  22. package/scss/information-panel/classes.scss +19 -0
  23. package/scss/information-panel/index.scss +3 -0
  24. package/scss/information-panel/information-panel.scss +189 -0
  25. package/scss/inputs/classes.scss +30 -1
  26. package/scss/inputs/labeled-inputs.scss +215 -119
  27. package/scss/menu/classes.scss +4 -0
  28. package/scss/menu/menu.scss +8 -2
  29. package/scss/notification-marker/classes.scss +9 -0
  30. package/scss/notification-marker/index.scss +3 -0
  31. package/scss/notification-marker/notification-marker.scss +63 -0
  32. package/scss/side-navigation/classes.scss +8 -0
  33. package/scss/side-navigation/side-navigation.scss +55 -0
  34. package/scss/style/mixins.scss +1 -1
  35. package/scss/style/ripple.scss +18 -0
  36. package/scss/table/column-filter.scss +1 -1
  37. package/scss/time-picker/classes.scss +9 -0
  38. package/scss/time-picker/time-picker.scss +37 -36
  39. package/scss/toast-notification/classes.scss +0 -35
@@ -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
+ }
@@ -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 '../text/index';
5
6
 
6
7
  @mixin iui-side-navigation {
7
8
  display: inline-flex;
@@ -170,3 +171,57 @@
170
171
  }
171
172
  }
172
173
  }
174
+
175
+ @mixin iui-side-navigation-submenu {
176
+ min-width: $iui-3xl * 2;
177
+ width: $iui-3xl * 4;
178
+ max-width: 50vw;
179
+ height: 100%;
180
+ box-sizing: border-box;
181
+ padding: 0 $iui-sm $iui-baseline;
182
+ overflow-x: hidden;
183
+ overflow-y: auto;
184
+ overflow-y: overlay;
185
+ resize: horizontal;
186
+ @include themed {
187
+ background-color: t(iui-color-background-1);
188
+ border-right: 1px solid t(iui-color-background-5);
189
+ }
190
+
191
+ @include iui-transition-group;
192
+
193
+ &-header {
194
+ height: $iui-baseline * 5;
195
+ display: flex;
196
+ align-items: center;
197
+ justify-content: space-between;
198
+
199
+ &-label {
200
+ @include iui-text(title);
201
+ display: flex;
202
+ align-items: center;
203
+ overflow: hidden;
204
+
205
+ .iui-button {
206
+ flex-shrink: 0;
207
+ }
208
+
209
+ > * {
210
+ white-space: nowrap;
211
+ overflow: hidden;
212
+ text-overflow: ellipsis;
213
+ }
214
+
215
+ &-actions {
216
+ flex-shrink: 0;
217
+ margin-left: $iui-s;
218
+ }
219
+ }
220
+ }
221
+ }
222
+
223
+ @mixin iui-side-navigation-wrapper {
224
+ display: flex;
225
+ position: relative;
226
+ height: 100%;
227
+ }
@@ -155,7 +155,7 @@
155
155
  &.iui-enter-active,
156
156
  &.iui-exit-active {
157
157
  @media (prefers-reduced-motion: no-preference) {
158
- transition: opacity $iui-speed-fast ease-out, height $iui-speed-fast ease-out;
158
+ transition: opacity $iui-speed-fast ease-out, width $iui-speed-fast ease-out, height $iui-speed-fast ease-out;
159
159
  }
160
160
  }
161
161
  }
@@ -0,0 +1,18 @@
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 './speed';
4
+
5
+ @mixin iui-ripple($hoverColor, $rippleColor) {
6
+ background-position: center;
7
+ transition: background $iui-speed ease-out;
8
+
9
+ &:hover {
10
+ background: $hoverColor radial-gradient(circle, transparent 1%, #{$hoverColor} 1%) center/15000%;
11
+ }
12
+
13
+ &:active {
14
+ background-color: $rippleColor;
15
+ background-size: 100%;
16
+ transition: background 0s;
17
+ }
18
+ }
@@ -10,7 +10,7 @@
10
10
  flex-direction: column;
11
11
  align-items: flex-end;
12
12
 
13
- > .iui-input-container:not(.iui-inline) {
13
+ > .iui-input-container:not(.iui-inline-label) {
14
14
  width: 100%;
15
15
  }
16
16
 
@@ -5,3 +5,12 @@
5
5
  .iui-time-picker {
6
6
  @include iui-time-picker;
7
7
  }
8
+
9
+ .iui-time {
10
+ @include iui-time-picker-list;
11
+ }
12
+
13
+ .iui-period {
14
+ @include iui-time-picker-list;
15
+ @include iui-time-picker-period;
16
+ }
@@ -22,52 +22,53 @@
22
22
  &:first-child {
23
23
  box-shadow: $iui-elevation-2;
24
24
  }
25
+ }
25
26
 
26
- > .iui-time,
27
- > .iui-period {
28
- padding: $iui-baseline $iui-s;
29
- overflow-y: auto;
27
+ @mixin iui-time-picker-list {
28
+ padding: $iui-baseline $iui-s;
29
+ overflow-y: auto;
30
+ overflow-y: overlay;
31
+ scrollbar-width: none;
30
32
 
31
- &:not(:first-child) {
32
- @include themed {
33
- border-left: 1px solid t(iui-color-background-4);
34
- }
33
+ &:not(:first-child) {
34
+ @include themed {
35
+ border-left: 1px solid t(iui-color-background-4);
35
36
  }
37
+ }
36
38
 
37
- > ol {
38
- @include iui-reset;
39
- list-style: none;
39
+ > ol {
40
+ @include iui-reset;
41
+ list-style: none;
40
42
 
41
- > li {
42
- @include iui-focus;
43
- padding: $iui-baseline $iui-m;
44
- border-radius: $iui-border-radius;
43
+ > li {
44
+ @include iui-focus;
45
+ padding: round($iui-baseline * 0.5) $iui-m;
46
+ border-radius: $iui-border-radius;
45
47
 
46
- &:hover {
47
- cursor: pointer;
48
- @include themed {
49
- color: t(iui-color-foreground-primary);
50
- background-color: rgba(
51
- t(iui-color-foreground-primary-rgb),
52
- t(iui-opacity-6)
53
- );
54
- }
48
+ &:hover {
49
+ cursor: pointer;
50
+ @include themed {
51
+ color: t(iui-color-foreground-primary);
52
+ background-color: rgba(
53
+ t(iui-color-foreground-primary-rgb),
54
+ t(iui-opacity-6)
55
+ );
55
56
  }
57
+ }
56
58
 
57
- &.iui-selected {
58
- font-weight: $iui-font-weight-semibold;
59
- cursor: default;
60
- @include themed {
61
- background-color: t(iui-color-background-primary);
62
- color: t(iui-color-foreground-accessory);
63
- }
59
+ &.iui-selected {
60
+ font-weight: $iui-font-weight-semibold;
61
+ cursor: default;
62
+ @include themed {
63
+ background-color: t(iui-color-background-primary);
64
+ color: t(iui-color-foreground-accessory);
64
65
  }
65
66
  }
66
67
  }
67
68
  }
69
+ }
68
70
 
69
- > .iui-period {
70
- display: flex;
71
- align-items: center;
72
- }
73
- };
71
+ @mixin iui-time-picker-period {
72
+ display: flex;
73
+ align-items: center;
74
+ }
@@ -31,44 +31,9 @@
31
31
  }
32
32
 
33
33
  @media (prefers-reduced-motion: no-preference) {
34
- @keyframes openAnimation {
35
- from {
36
- opacity: 0;
37
- transform: translateY(-120%);
38
- }
39
-
40
- to {
41
- transform: translateY(0);
42
- }
43
- }
44
-
45
- @keyframes closeAnimation {
46
- from {
47
- transform: scale(1);
48
-
49
- @include themed {
50
- opacity: t(iui-opacity-1);
51
- }
52
- }
53
-
54
- to {
55
- transform: scale(0.9);
56
- opacity: 0;
57
- }
58
- }
59
-
60
34
  .iui-toast-all {
61
35
  transition: all 240ms cubic-bezier(0, 0, 0.2, 1);
62
36
  }
63
-
64
- .iui-toast-entering,
65
- .iui-toast-entered {
66
- animation: openAnimation 240ms cubic-bezier(0.175, 0.885, 0.32, 1.175) both;
67
- }
68
-
69
- .iui-toast-exiting {
70
- animation: closeAnimation 120ms cubic-bezier(0.4, 0, 1, 1) both;
71
- }
72
37
  }
73
38
 
74
39
  &.iui-placement-top {