@itwin/itwinui-css 0.59.0 → 0.60.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,7 @@
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
+ }
@@ -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 './backdrop';
package/scss/classes.scss CHANGED
@@ -5,6 +5,7 @@
5
5
  @import './alert/classes';
6
6
  @import './anchor/classes';
7
7
  @import './badge/classes';
8
+ @import './backdrop/classes';
8
9
  @import './blockquote/classes';
9
10
  @import './breadcrumbs/classes';
10
11
  @import './button/classes';
@@ -26,10 +26,6 @@
26
26
  }
27
27
  }
28
28
 
29
- .iui-button {
30
- gap: 0;
31
- }
32
-
33
29
  > .iui-codeblock-content {
34
30
  margin: 0;
35
31
  overflow-x: auto;
@@ -2,12 +2,8 @@
2
2
  // See LICENSE.md in the project root for license terms and full copyright notice.
3
3
  @import './index';
4
4
 
5
- .iui-dialog-backdrop {
6
- @include iui-dialog-backdrop;
7
-
8
- &.iui-dialog-backdrop-relative {
9
- @include iui-dialog-backdrop-relative;
10
- }
5
+ .iui-dialog-wrapper {
6
+ @include iui-dialog-wrapper;
11
7
  }
12
8
 
13
9
  .iui-dialog {
@@ -34,6 +30,10 @@
34
30
  @include iui-dialog-title-bar;
35
31
  }
36
32
 
33
+ .iui-dialog-title-bar-filled {
34
+ @include iui-dialog-title-bar-filled;
35
+ }
36
+
37
37
  .iui-dialog-content {
38
38
  @include iui-dialog-content;
39
39
  }
@@ -3,144 +3,104 @@
3
3
  @import '../style/index';
4
4
  @import '../icon/index';
5
5
 
6
- @mixin iui-dialog-backdrop {
7
- @include iui-reset;
8
- z-index: 999;
9
- isolation: isolate;
10
- position: fixed;
6
+ $iui-dialog-width: 380px;
7
+
8
+ @mixin iui-dialog-wrapper {
9
+ position: relative;
10
+ overflow: hidden;
11
11
  top: 0;
12
12
  left: 0;
13
13
  width: 100%;
14
14
  height: 100%;
15
- @include themed {
16
- background-color: rgba(0, 0, 0, t(iui-opacity-4));
17
- }
18
-
19
- // Small/Resizable Dialog Animations for CSS
20
- visibility: hidden;
21
- opacity: 0;
22
- transition: visibility $iui-speed-instant linear $iui-speed-fast, opacity $iui-speed-fast ease-out;
23
-
24
- &.iui-dialog-visible {
25
- visibility: visible;
26
- opacity: 1;
27
- // remove delay for entry animation so dialog is instantly visible
28
- transition-delay: $iui-speed-instant;
29
- }
30
- }
31
-
32
- @mixin iui-dialog-backdrop-relative {
33
- position: relative;
34
- overflow: hidden;
15
+ pointer-events: none;
16
+ transform: translateX(0); // creates containing block for position: fixed
35
17
  }
36
18
 
37
19
  @mixin iui-dialog {
20
+ z-index: 999;
21
+ isolation: isolate;
38
22
  border-radius: $iui-border-radius;
39
23
  box-shadow: $iui-elevation-24;
40
24
  box-sizing: border-box;
41
- position: absolute;
25
+ position: fixed;
42
26
  padding: $iui-baseline $iui-m;
43
27
  box-sizing: border-box;
44
28
  padding: $iui-baseline $iui-m;
45
29
  overflow: hidden;
46
- @include themed {
47
- background-color: t(iui-color-background-1);
48
- }
30
+ pointer-events: auto;
31
+ background-color: #FFF; // IE fallback
32
+ background-color: var(--iui-color-background-1);
49
33
  @media (forced-colors: active) {
50
34
  border: 1px solid;
51
35
  }
36
+
37
+ &:not(.iui-dialog-visible) {
38
+ visibility: hidden;
39
+ opacity: 0;
40
+ }
41
+
42
+ transition: visibility $iui-speed-instant linear, opacity $iui-speed-fast ease-out;
43
+ transition-delay: $iui-speed-fast, $iui-speed-instant;
44
+
45
+ &.iui-dialog-visible {
46
+ transition-delay: $iui-speed-instant; // remove delay for entry animation
47
+ }
52
48
  }
53
49
 
54
50
  @mixin iui-dialog-default {
55
- .iui-dialog {
56
- left: 50%;
57
- top: 33%;
58
- transform: translate(-50%, -33%);
59
- max-width: 50%;
60
- min-width: 380px;
61
- max-height: 100vh;
62
-
63
- @media screen and (max-width: 400px) {
64
- max-width: 95%;
65
- width: 95%;
66
- min-width: 95%;
67
- }
68
- }
51
+ left: 50%;
52
+ top: 33%;
53
+ transform: translate(-50%, -33%);
54
+ max-width: Max(50%, $iui-dialog-width);
55
+ min-width: $iui-dialog-width;
56
+ max-height: 100vh;
69
57
  }
70
58
 
71
59
  @mixin iui-dialog-full-page {
72
- @media (prefers-reduced-motion: no-preference) {
73
- transition: visibility $iui-speed-instant linear $iui-speed-slow, opacity $iui-speed ease-out $iui-speed-fast;
74
- }
60
+ border-radius: 0;
61
+ height: 100vh;
62
+ height: 100dvh;
63
+ width: 100vw;
64
+ top: 0;
65
+ left: 0;
66
+ display: flex;
67
+ flex-direction: column;
68
+ will-change: transform;
75
69
 
76
- .iui-dialog {
77
- border-radius: 0;
78
- height: 100vh;
79
- width: 100vw;
80
- top: 0;
81
- left: 0;
82
- max-width: initial;
83
- min-width: initial;
84
- display: flex;
85
- flex-direction: column;
86
- will-change: transform;
87
- @media (prefers-reduced-motion: no-preference) {
88
- transform: translateY(100%);
89
- transition: visibility $iui-speed-instant linear $iui-speed, opacity $iui-speed-instant linear $iui-speed,
90
- transform $iui-speed-fast ease-in;
91
- }
70
+ &:not(.iui-dialog-visible) {
71
+ transform: translateY(100%);
92
72
  }
93
73
 
94
- &.iui-dialog-visible .iui-dialog {
95
- transform: translateY(0);
96
- @media (prefers-reduced-motion: no-preference) {
74
+ @media (prefers-reduced-motion: no-preference) {
75
+ transition: visibility $iui-speed-instant linear $iui-speed, opacity $iui-speed-instant linear $iui-speed,
76
+ transform $iui-speed-fast ease-in;
77
+
78
+ &.iui-dialog-visible {
97
79
  transition: transform $iui-speed ease-out;
98
80
  }
99
81
  }
100
82
  }
101
83
 
102
84
  @mixin iui-dialog-draggable {
103
- background-color: transparent;
104
- pointer-events: none;
105
- z-index: 998;
106
-
107
- .iui-dialog {
108
- pointer-events: initial;
109
- max-width: 100vw;
110
- max-height: 100vh;
111
- min-width: 380px;
112
- min-height: 144px;
113
- display: flex;
114
- flex-direction: column;
115
- padding: 0;
116
- @include themed {
117
- border: 1px solid t(iui-color-background-border);
118
- }
119
- }
85
+ max-width: 100%;
86
+ max-height: 100vh;
87
+ min-width: $iui-dialog-width;
88
+ min-height: 144px;
89
+ display: flex;
90
+ flex-direction: column;
91
+ border: 1px solid var(--iui-color-background-border);
120
92
  }
121
93
 
122
94
  @mixin iui-dialog-animation {
123
- // Full Page Dialog Animations for React
124
- &-enter .iui-dialog-full-page .iui-dialog {
95
+ &-enter {
125
96
  transform: translateY(100%);
126
97
  opacity: 0;
127
98
  }
128
99
 
129
- &-enter-active .iui-dialog-full-page .iui-dialog {
100
+ &-enter-active {
130
101
  transform: translateY(0);
131
102
  opacity: 1;
132
103
  }
133
-
134
- // Small Dialog Animations for React
135
- &-enter .iui-dialog-backdrop {
136
- visibility: hidden;
137
- opacity: 0;
138
- }
139
-
140
- &-enter-active .iui-dialog-backdrop {
141
- visibility: visible;
142
- opacity: 1;
143
- }
144
104
  }
145
105
 
146
106
  @mixin iui-dialog-title {
@@ -158,20 +118,18 @@
158
118
  justify-content: space-between;
159
119
  box-sizing: border-box;
160
120
  font-size: $iui-font-size-subheading;
121
+ }
161
122
 
162
- @at-root .iui-dialog-draggable & {
163
- user-select: none;
164
- font-size: $iui-font-size-leading;
165
- padding: round($iui-baseline * 0.5) $iui-m;
166
- cursor: grab;
167
- @include themed {
168
- background-color: t(iui-color-background-3);
169
- border-bottom: 1px solid t(iui-color-background-border);
170
- }
123
+ @mixin iui-dialog-title-bar-filled {
124
+ font-size: $iui-font-size-leading;
125
+ padding: round($iui-baseline * 0.5) $iui-m;
126
+ margin: -#{$iui-baseline} -#{$iui-m} $iui-baseline -#{$iui-m}; // negative margin to counteract dialog padding
127
+ cursor: grab;
128
+ background-color: var(--iui-color-background-3);
129
+ border-bottom: 1px solid var(--iui-color-background-border);
171
130
 
172
- &:active {
173
- cursor: grabbing;
174
- }
131
+ &:active {
132
+ cursor: grabbing;
175
133
  }
176
134
  }
177
135
 
@@ -181,10 +139,6 @@
181
139
  padding: 0 $iui-m;
182
140
  overflow-y: auto;
183
141
  overflow-y: overlay;
184
-
185
- @at-root .iui-dialog-draggable & {
186
- margin: 0;
187
- }
188
142
  }
189
143
 
190
144
  @mixin iui-dialog-button-bar {
@@ -192,22 +146,5 @@
192
146
  display: flex;
193
147
  align-items: center;
194
148
  justify-content: flex-end;
195
-
196
- @at-root .iui-dialog-draggable & {
197
- padding: 0 $iui-m $iui-baseline $iui-m;
198
- }
199
-
200
- // #region IE support
201
- > .iui-button:not(:last-child) {
202
- margin-right: $iui-s;
203
- }
204
-
205
- @supports (column-gap: $iui-s) {
206
- column-gap: $iui-s;
207
-
208
- > .iui-button:not(:last-child) {
209
- margin-right: 0;
210
- }
211
- }
212
- // #endregion IE support
149
+ gap: $iui-s;
213
150
  }
package/scss/index.scss CHANGED
@@ -4,6 +4,7 @@
4
4
  @import './alert/index';
5
5
  @import './anchor/index';
6
6
  @import './badge/index';
7
+ @import './backdrop/index';
7
8
  @import './blockquote/index';
8
9
  @import './breadcrumbs/index';
9
10
  @import './button/index';
@@ -193,7 +193,7 @@
193
193
  background-color: t(iui-color-background-1);
194
194
  }
195
195
 
196
- &.iui-zebra-striping .iui-row:nth-child(even):not(.iui-selected) {
196
+ &.iui-zebra-striping .iui-row:nth-child(even):not(.iui-selected) .iui-cell {
197
197
  @include themed {
198
198
  background-color: rgba(t(iui-color-foreground-body-rgb), 0.02);
199
199
  }
package/src/index.scss ADDED
@@ -0,0 +1,46 @@
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 './alert/index';
5
+ @import './anchor/index';
6
+ @import './badge/index';
7
+ @import './backdrop/index';
8
+ @import './blockquote/index';
9
+ @import './breadcrumbs/index';
10
+ @import './button/index';
11
+ @import './carousel/index';
12
+ @import './code/index';
13
+ @import './color-picker/index';
14
+ @import './date-picker/index';
15
+ @import './dialog/index';
16
+ @import './expandable-block/index';
17
+ @import './file-upload/index';
18
+ @import './footer/index';
19
+ @import './header/index';
20
+ @import './icon/index';
21
+ @import './information-panel/index';
22
+ @import './inputs/index';
23
+ @import './keyboard/index';
24
+ @import './location-marker/index';
25
+ @import './menu/index';
26
+ @import './non-ideal-state/index';
27
+ @import './notification-marker/index';
28
+ @import './popover/index';
29
+ @import './progress-indicator/index';
30
+ @import './radio-tile/index';
31
+ @import './side-navigation/index';
32
+ @import './skip-to-content/index';
33
+ @import './slider/index';
34
+ @import './surface/index';
35
+ @import './table/index';
36
+ @import './tabs/index';
37
+ @import './tag/index';
38
+ @import './text/index';
39
+ @import './tile/index';
40
+ @import './time-picker/index';
41
+ @import './toast-notification/index';
42
+ @import './toggle-switch/index';
43
+ @import './tooltip/index';
44
+ @import './tree/index';
45
+ @import './user-icon/index';
46
+ @import './wizard/index';