@itwin/itwinui-css 0.55.0 → 0.58.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 (48) hide show
  1. package/css/all.css +1116 -689
  2. package/css/anchor.css +21 -17
  3. package/css/breadcrumbs.css +312 -57
  4. package/css/button.css +9 -12
  5. package/css/dialog.css +201 -0
  6. package/css/footer.css +1 -17
  7. package/css/global.css +1 -17
  8. package/css/inputs.css +18 -168
  9. package/css/radio-tile.css +217 -0
  10. package/css/table.css +25 -14
  11. package/css/tabs.css +4 -0
  12. package/css/tag.css +1 -17
  13. package/css/text.css +9 -3
  14. package/css/toast-notification.css +1 -1
  15. package/css/toggle-switch.css +65 -0
  16. package/package.json +1 -1
  17. package/scss/anchor/classes.scss +4 -0
  18. package/scss/breadcrumbs/breadcrumbs.scss +77 -18
  19. package/scss/breadcrumbs/classes.scss +12 -0
  20. package/scss/button/button.scss +17 -16
  21. package/scss/button/classes.scss +4 -0
  22. package/scss/button/cta.scss +3 -1
  23. package/scss/button/default.scss +0 -2
  24. package/scss/button/high-visibility.scss +3 -1
  25. package/scss/classes.scss +4 -3
  26. package/scss/dialog/classes.scss +47 -0
  27. package/scss/dialog/dialog.scss +213 -0
  28. package/scss/{modal → dialog}/index.scss +1 -1
  29. package/scss/index.scss +4 -3
  30. package/scss/inputs/checkbox.scss +11 -6
  31. package/scss/inputs/classes.scss +0 -4
  32. package/scss/inputs/index.scss +0 -1
  33. package/scss/inputs/labeled-inputs.scss +1 -1
  34. package/scss/radio-tile/classes.scss +31 -0
  35. package/scss/radio-tile/index.scss +3 -0
  36. package/scss/radio-tile/radio-tile.scss +209 -0
  37. package/scss/style/anchor.scss +19 -16
  38. package/scss/table/classes.scss +4 -0
  39. package/scss/table/paginator.scss +4 -0
  40. package/scss/table/table.scss +9 -2
  41. package/scss/tabs/tabs.scss +6 -0
  42. package/scss/text/skeleton.scss +13 -7
  43. package/scss/toast-notification/classes.scss +1 -1
  44. package/scss/toggle-switch/toggle-switch.scss +50 -2
  45. package/css/modal.css +0 -132
  46. package/scss/inputs/radio-tile.scss +0 -200
  47. package/scss/modal/classes.scss +0 -15
  48. package/scss/modal/modal.scss +0 -155
@@ -1,200 +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 iui-radio-tile {
7
- display: inline-flex;
8
- flex-wrap: wrap;
9
- width: fit-content;
10
- user-select: none;
11
- // Create stacking context
12
- position: relative;
13
- z-index: 0;
14
-
15
- > label {
16
- cursor: pointer;
17
-
18
- > input {
19
- width: 0;
20
- height: 0;
21
- appearance: none;
22
- opacity: 0;
23
- position: absolute;
24
- }
25
-
26
- // Radio tile styling
27
- > .iui-radio-tile {
28
- width: $iui-xl * 5;
29
- height: 100%;
30
- box-sizing: border-box;
31
- padding: $iui-s;
32
- position: relative;
33
- z-index: 1;
34
- @media (prefers-reduced-motion: no-preference) {
35
- transition: border-color $iui-speed-fast ease-out;
36
- }
37
-
38
- @include themed {
39
- border: 1px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
40
- background-color: t(iui-color-background-1);
41
- }
42
-
43
- > .iui-icon {
44
- width: $iui-icons-xl;
45
- height: $iui-icons-xl;
46
- display: block;
47
- margin: 0 auto;
48
- margin-top: round($iui-baseline * 0.5);
49
- margin-bottom: $iui-baseline;
50
- @media (prefers-reduced-motion: no-preference) {
51
- transition: fill $iui-speed-fast ease-out;
52
- }
53
- @include themed {
54
- fill: t(iui-icons-color);
55
- }
56
- }
57
-
58
- > .iui-checkmark {
59
- display: none;
60
- width: $iui-icons-default;
61
- height: $iui-icons-default;
62
- position: absolute;
63
- right: $iui-s;
64
-
65
- @include themed {
66
- fill: t(iui-icons-color-primary);
67
- }
68
- }
69
-
70
- > .iui-label {
71
- font-size: $iui-font-size;
72
- font-weight: $iui-font-weight-semibold;
73
- line-height: $iui-line-height;
74
- text-align: center;
75
-
76
- @include themed {
77
- color: t(iui-text-color);
78
- }
79
- }
80
-
81
- > .iui-description {
82
- font-size: $iui-font-size-small;
83
- line-height: round($iui-baseline * 1.375);
84
- text-align: center;
85
-
86
- @include themed {
87
- color: t(iui-text-color-muted);
88
- }
89
- }
90
- }
91
-
92
- // Rounded corners on first tile
93
- &:first-child > .iui-radio-tile {
94
- border-radius: $iui-border-radius 0 0 $iui-border-radius;
95
- }
96
-
97
- // Rounded corners on last tile
98
- &:last-child > .iui-radio-tile {
99
- border-radius: 0 $iui-border-radius $iui-border-radius 0;
100
- }
101
-
102
- // All tiles shift 1px left so we don't have 2px thick dividers
103
- &:not(:first-child) > .iui-radio-tile {
104
- margin-left: -1px;
105
- }
106
-
107
- // Adds focus to enabled radio tiles
108
- input:enabled {
109
- &:focus ~ .iui-radio-tile {
110
- @include themed {
111
- outline: 2px solid t(iui-color-foreground-primary);
112
- outline-offset: -4px;
113
- }
114
- }
115
-
116
- &:focus:not(:focus-visible) ~ .iui-radio-tile {
117
- outline: none;
118
- }
119
- }
120
-
121
- // Adds hover to everything that is not checked or disabled
122
- &:hover > input:enabled:not(:checked) ~ .iui-radio-tile {
123
- z-index: 2;
124
- @include themed {
125
- border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
126
- }
127
- @media (prefers-reduced-motion: no-preference) {
128
- transition: border-color $iui-speed-fast ease-out;
129
- }
130
-
131
- > .iui-icon {
132
- @include themed {
133
- fill: t(iui-icons-color-actionable);
134
- }
135
- @media (prefers-reduced-motion: no-preference) {
136
- transition: fill $iui-speed-fast ease-out;
137
- }
138
- }
139
- }
140
-
141
- // Styles checked radio tile
142
- input:checked ~ .iui-radio-tile {
143
- padding: $iui-s - 1;
144
- z-index: 3;
145
-
146
- @include themed {
147
- border: 2px solid t(iui-color-foreground-primary);
148
- }
149
-
150
- > .iui-icon {
151
- @include themed {
152
- fill: t(iui-icons-color-primary);
153
- }
154
- }
155
-
156
- > .iui-checkmark {
157
- display: inline-block;
158
- }
159
- }
160
-
161
- // Styles disabled radio tile
162
- input:disabled ~ .iui-radio-tile {
163
- cursor: not-allowed;
164
- z-index: 0;
165
-
166
- @include themed {
167
- border-color: t(iui-color-background-disabled);
168
- background-color: t(iui-color-background-disabled);
169
- }
170
-
171
- > .iui-checkmark {
172
- @include themed {
173
- fill: t(iui-icons-color-actionable-disabled);
174
- }
175
- }
176
-
177
- > .iui-icon {
178
- @include themed {
179
- fill: t(iui-icons-color-actionable-disabled);
180
- }
181
- filter: $iui-icons-color-multicolor-disabled;
182
- }
183
-
184
- > .iui-label {
185
- @include themed {
186
- color: t(iui-text-color-muted);
187
- }
188
- }
189
- }
190
-
191
- // Styles disabled checked radio tile
192
- input:disabled:checked ~ .iui-radio-tile {
193
- z-index: 3;
194
-
195
- @include themed {
196
- border: 2px solid rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
197
- }
198
- }
199
- }
200
- }
@@ -1,15 +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-modal {
6
- @include iui-modal;
7
-
8
- &-full-page {
9
- @include iui-modal-full-page;
10
- }
11
-
12
- &-animation {
13
- @include iui-modal-animation;
14
- }
15
- }
@@ -1,155 +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 iui-modal {
7
- @include iui-reset;
8
- z-index: 999;
9
- position: fixed;
10
- top: 0;
11
- left: 0;
12
- width: 100%;
13
- height: 100%;
14
- @include themed {
15
- background-color: rgba(0, 0, 0, t(iui-opacity-4));
16
- }
17
-
18
- // #region Small Modal Animations for CSS
19
- visibility: hidden;
20
- opacity: 0;
21
- @media (prefers-reduced-motion: no-preference) {
22
- transition: visibility $iui-speed-instant linear $iui-speed-fast, opacity $iui-speed-fast ease-out;
23
- }
24
-
25
- &.iui-modal-visible {
26
- visibility: visible;
27
- opacity: 1;
28
- // remove delay for entry animation so it's instantly visible
29
- transition-delay: $iui-speed-instant;
30
- }
31
- // #endregion Small Modal Animations for CSS
32
-
33
- > .iui-modal-dialog {
34
- position: absolute;
35
- left: 50%;
36
- top: 33%;
37
- transform: translate(-50%, -33%);
38
- z-index: 1000;
39
- max-width: 50%;
40
- min-width: 380px;
41
- max-height: 100vh;
42
- border-radius: $iui-border-radius;
43
- box-shadow: $iui-elevation-24;
44
- padding: $iui-baseline $iui-m;
45
- box-sizing: border-box;
46
-
47
- @include themed {
48
- background-color: t(iui-color-background-1);
49
- }
50
-
51
- @media screen and (max-width: 400px) {
52
- max-width: 95%;
53
- width: 95%;
54
- min-width: 95%;
55
- }
56
-
57
- .iui-title-bar {
58
- display: flex;
59
- align-items: center;
60
- margin-bottom: $iui-baseline;
61
- justify-content: space-between;
62
-
63
- > .iui-title {
64
- font-size: $iui-font-size-subheading;
65
- white-space: nowrap;
66
- overflow: hidden;
67
- text-overflow: ellipsis;
68
- line-height: 1.5;
69
- }
70
- }
71
-
72
- .iui-button-bar {
73
- margin-top: $iui-baseline;
74
- display: flex;
75
- align-items: center;
76
- justify-content: flex-end;
77
-
78
- > .iui-button:not(:last-child) {
79
- margin-right: $iui-s;
80
- }
81
- }
82
-
83
- .iui-modal-content {
84
- flex-grow: 2;
85
- margin: 0 -#{$iui-m};
86
- padding: 0 $iui-m;
87
- overflow-y: auto;
88
- overflow-y: overlay;
89
- }
90
- }
91
- }
92
-
93
- @mixin iui-modal-full-page {
94
- $iui-full-page-modal-slide-in-speed: 0.3s;
95
- $iui-full-page-modal-slide-out-speed: 0.25s;
96
-
97
- > .iui-modal-dialog {
98
- display: flex;
99
- flex-direction: column;
100
- height: 100vh;
101
- width: 100vw;
102
- left: 0;
103
- top: 0;
104
- transform: none;
105
- max-width: initial;
106
- min-width: initial;
107
- border-radius: 0;
108
- will-change: transform;
109
- }
110
-
111
- // #region Full Page Modal Animations for CSS
112
- @media (prefers-reduced-motion: no-preference) {
113
- transition: visibility $iui-speed-instant linear $iui-speed-slow, opacity $iui-speed ease-out $iui-speed-fast;
114
- }
115
-
116
- > .iui-modal-dialog {
117
- transform: translateY(100%);
118
- @media (prefers-reduced-motion: no-preference) {
119
- transition: visibility $iui-speed-instant linear $iui-speed, opacity $iui-speed-instant linear $iui-speed,
120
- transform $iui-full-page-modal-slide-out-speed ease-in;
121
- }
122
- }
123
-
124
- &.iui-modal-visible > .iui-modal-dialog {
125
- transform: translateY(0);
126
- @media (prefers-reduced-motion: no-preference) {
127
- transition: transform $iui-full-page-modal-slide-in-speed ease-out;
128
- }
129
- }
130
- // #endregion Full Page Modal Animations for CSS
131
- }
132
-
133
- @mixin iui-modal-animation {
134
- // Full Page Modal Animations for React
135
- &-enter .iui-modal-full-page .iui-modal-dialog {
136
- transform: translateY(100%);
137
- opacity: 0;
138
- }
139
-
140
- &-enter-active .iui-modal-full-page .iui-modal-dialog {
141
- transform: translateY(0);
142
- opacity: 1;
143
- }
144
-
145
- // Small Modal Animations for React
146
- &-enter .iui-modal {
147
- visibility: hidden;
148
- opacity: 0;
149
- }
150
-
151
- &-enter-active .iui-modal {
152
- visibility: visible;
153
- opacity: 1;
154
- }
155
- }