@itwin/itwinui-css 0.46.0 → 0.48.1
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 +492 -487
- package/css/badge.css +4 -2
- package/css/button.css +31 -95
- package/css/color-picker.css +26 -21
- package/css/expandable-block.css +12 -0
- package/css/inputs.css +293 -284
- package/css/popover.css +3 -3
- package/css/side-navigation.css +2 -4
- package/css/skip-to-content.css +51 -0
- package/css/table.css +10 -48
- package/css/tile.css +42 -15
- package/css/tree.css +21 -15
- package/package.json +2 -2
- package/scss/badge/badge.scss +5 -2
- package/scss/button/button-group.scss +19 -41
- package/scss/button/button.scss +19 -0
- package/scss/button/classes.scss +0 -1
- package/scss/button/default.scss +1 -0
- package/scss/classes.scss +1 -0
- package/scss/color-picker/color-picker.scss +57 -52
- package/scss/expandable-block/block.scss +23 -0
- package/scss/index.scss +1 -0
- package/scss/inputs/checkbox-radio.scss +17 -136
- package/scss/inputs/checkbox.scss +77 -43
- package/scss/inputs/labeled-inputs.scss +4 -2
- package/scss/inputs/radio.scss +14 -3
- package/scss/popover/popover.scss +7 -6
- package/scss/side-navigation/side-navigation.scss +3 -6
- package/scss/skip-to-content/classes.scss +7 -0
- package/scss/skip-to-content/index.scss +3 -0
- package/scss/skip-to-content/skip-to-content.scss +37 -0
- package/scss/style/mixins.scss +29 -4
- package/scss/style/variables.scss +1 -0
- package/scss/table/paginator.scss +5 -10
- package/scss/tile/classes.scss +4 -0
- package/scss/tile/tile.scss +17 -16
- package/scss/tree/classes.scss +4 -0
- package/scss/tree/tree.scss +17 -4
|
@@ -167,4 +167,27 @@
|
|
|
167
167
|
margin-left: $iui-s;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
+
|
|
171
|
+
&.iui-borderless {
|
|
172
|
+
&,
|
|
173
|
+
.iui-header,
|
|
174
|
+
.iui-expandable-content {
|
|
175
|
+
background-color: transparent;
|
|
176
|
+
border: initial;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.iui-header {
|
|
180
|
+
border-radius: $iui-border-radius;
|
|
181
|
+
|
|
182
|
+
&:hover {
|
|
183
|
+
@include themed {
|
|
184
|
+
background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-6));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.iui-expandable-content > div {
|
|
190
|
+
padding: 0;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
170
193
|
}
|
package/scss/index.scss
CHANGED
|
@@ -15,64 +15,24 @@
|
|
|
15
15
|
color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
width: 0;
|
|
20
|
-
height: 0;
|
|
21
|
-
appearance: none;
|
|
22
|
-
opacity: 0;
|
|
23
|
-
position: absolute;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
&.iui-disabled {
|
|
27
|
-
cursor: not-allowed;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
.iui-checkbox-checkmark,
|
|
31
|
-
.iui-radio-dot {
|
|
32
|
-
width: $iui-icons-default;
|
|
33
|
-
height: $iui-icons-default;
|
|
34
|
-
margin: 0;
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-shrink: 0;
|
|
37
|
-
justify-content: center;
|
|
38
|
-
align-items: center;
|
|
39
|
-
position: relative;
|
|
40
|
-
isolation: isolate;
|
|
41
|
-
@include themed {
|
|
42
|
-
border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-4));
|
|
43
|
-
background-color: t(iui-color-background-1);
|
|
44
|
-
}
|
|
18
|
+
gap: $iui-s;
|
|
45
19
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
transition: border-color $iui-speed-fast ease-out;
|
|
52
|
-
border-radius: inherit;
|
|
53
|
-
border-style: solid;
|
|
54
|
-
border-width: 1px;
|
|
55
|
-
border-color: inherit;
|
|
20
|
+
// #region flex gap fallback
|
|
21
|
+
> * + * {
|
|
22
|
+
margin-left: $iui-s;
|
|
23
|
+
@supports (gap: $iui-s) {
|
|
24
|
+
margin-left: 0;
|
|
56
25
|
}
|
|
26
|
+
}
|
|
27
|
+
// #endregion
|
|
57
28
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
@include themed {
|
|
62
|
-
fill: t(iui-icons-color-primary);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
> * {
|
|
66
|
-
opacity: 0;
|
|
67
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
68
|
-
transition: opacity $iui-speed-fast ease;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
29
|
+
&.iui-loading {
|
|
30
|
+
cursor: wait;
|
|
31
|
+
color: var(--iui-text-color-muted);
|
|
72
32
|
}
|
|
73
33
|
|
|
74
|
-
> .iui-label
|
|
75
|
-
|
|
34
|
+
> .iui-checkbox-label,
|
|
35
|
+
> .iui-radio-label {
|
|
76
36
|
display: flex;
|
|
77
37
|
align-items: center;
|
|
78
38
|
|
|
@@ -80,95 +40,16 @@
|
|
|
80
40
|
width: $iui-icons-default;
|
|
81
41
|
height: $iui-icons-default;
|
|
82
42
|
vertical-align: middle;
|
|
83
|
-
|
|
84
|
-
fill: t(iui-icons-color-actionable);
|
|
85
|
-
}
|
|
43
|
+
fill: currentColor;
|
|
86
44
|
}
|
|
87
45
|
}
|
|
88
46
|
|
|
89
|
-
|
|
90
|
-
.iui-checkbox-checkmark ~ .iui-label,
|
|
91
|
-
.iui-radio-dot ~ .iui-label {
|
|
92
|
-
margin-left: $iui-s;
|
|
93
|
-
margin-right: 0;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Adds hover to everything that is not disabled
|
|
97
|
-
&:hover > input:enabled ~ .iui-checkbox-checkmark,
|
|
98
|
-
&:hover > input:enabled ~ .iui-radio-dot {
|
|
99
|
-
@include themed {
|
|
100
|
-
border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-2));
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Selected checkboxes & radios border opacity increase
|
|
105
|
-
input:checked ~ .iui-checkbox-checkmark,
|
|
106
|
-
input:indeterminate ~ .iui-checkbox-checkmark,
|
|
107
|
-
input:checked ~ .iui-radio-dot {
|
|
108
|
-
@include themed {
|
|
109
|
-
border-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-3));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Show check, partial, or dot depending on type
|
|
114
|
-
input:checked ~ .iui-checkbox-checkmark .iui-check,
|
|
115
|
-
input:indeterminate ~ .iui-checkbox-checkmark .iui-check-partial,
|
|
116
|
-
input:checked ~ .iui-radio-dot circle {
|
|
117
|
-
opacity: 1;
|
|
118
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
119
|
-
transition: opacity $iui-speed-fast ease;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Adds focus to enabled checkbox & radio
|
|
124
|
-
input:enabled {
|
|
125
|
-
&:focus {
|
|
126
|
-
~ .iui-checkbox-checkmark,
|
|
127
|
-
~ .iui-radio-dot {
|
|
128
|
-
@include themed {
|
|
129
|
-
outline: 2px solid t(iui-color-foreground-primary);
|
|
130
|
-
}
|
|
131
|
-
outline-offset: -1px;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
&:focus:not(:focus-visible) {
|
|
136
|
-
~ .iui-checkbox-checkmark,
|
|
137
|
-
~ .iui-radio-dot {
|
|
138
|
-
outline: none;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// Styles disabled checkbox & radio
|
|
144
|
-
input:disabled ~ .iui-checkbox-checkmark,
|
|
145
|
-
input:disabled ~ .iui-radio-dot {
|
|
146
|
-
cursor: not-allowed;
|
|
147
|
-
@include themed {
|
|
148
|
-
background-color: t(iui-color-background-disabled);
|
|
149
|
-
border-color: t(iui-color-background-disabled);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
// Styles disabled checks
|
|
154
|
-
input:disabled ~ .iui-checkbox-checkmark svg,
|
|
155
|
-
input:disabled ~ .iui-radio-dot svg {
|
|
156
|
-
@include themed {
|
|
157
|
-
fill: t(iui-icons-color-actionable-disabled);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Styles disabled labels
|
|
162
|
-
input:disabled ~ .iui-label {
|
|
47
|
+
&.iui-disabled {
|
|
163
48
|
cursor: not-allowed;
|
|
164
|
-
|
|
165
|
-
color: t(iui-text-color-muted);
|
|
166
|
-
}
|
|
49
|
+
color: var(--iui-text-color-muted);
|
|
167
50
|
|
|
168
51
|
svg {
|
|
169
|
-
|
|
170
|
-
fill: t(iui-icons-color-actionable-disabled);
|
|
171
|
-
}
|
|
52
|
+
fill: var(--iui-icons-color-actionable-disabled);
|
|
172
53
|
}
|
|
173
54
|
}
|
|
174
55
|
|
|
@@ -4,63 +4,97 @@
|
|
|
4
4
|
@import '../icon/index';
|
|
5
5
|
|
|
6
6
|
@mixin iui-checkbox {
|
|
7
|
-
|
|
7
|
+
&-wrapper {
|
|
8
|
+
@include iui-inputs-checkbox-radio;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
--_iui-checkbox-checkmark-svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m6.5 12.5-4.5-4.5 1.5-1.5 3 3 6-6 1.5 1.5z" /></svg>');
|
|
12
|
+
--_iui-checkbox-indeterminate-svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m2.75 6.875h10.5v2.25h-10.5z" /></svg>');
|
|
13
|
+
--_iui-checkbox-unchecked-svg: url('data:image/svg+xml;utf8,<svg viewBox="0 0 16 16"></svg>');
|
|
14
|
+
|
|
15
|
+
--_iui-checkbox-svg-color: var(--iui-color-foreground-primary);
|
|
16
|
+
--_iui-checkbox-border-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-4));
|
|
17
|
+
--_iui-checkbox-background-color: var(--iui-color-background-1);
|
|
18
|
+
--_iui-checkbox-mask-image: initial;
|
|
8
19
|
|
|
9
|
-
|
|
10
|
-
|
|
20
|
+
appearance: none; // disable default browser styles
|
|
21
|
+
margin: 0;
|
|
22
|
+
width: $iui-icons-default;
|
|
23
|
+
height: $iui-icons-default;
|
|
24
|
+
position: relative;
|
|
25
|
+
border-radius: $iui-border-radius;
|
|
26
|
+
background-color: var(--_iui-checkbox-background-color);
|
|
27
|
+
cursor: pointer;
|
|
28
|
+
|
|
29
|
+
&::before {
|
|
30
|
+
content: '';
|
|
31
|
+
position: absolute;
|
|
32
|
+
inset: 0;
|
|
33
|
+
transition: border-color $iui-speed-fast ease-out;
|
|
34
|
+
border-radius: inherit;
|
|
35
|
+
border-style: solid;
|
|
36
|
+
border-width: 1px;
|
|
37
|
+
border-color: var(--_iui-checkbox-border-color);
|
|
11
38
|
}
|
|
12
39
|
|
|
13
|
-
|
|
14
|
-
|
|
40
|
+
&::after {
|
|
41
|
+
content: '';
|
|
42
|
+
position: absolute;
|
|
43
|
+
inset: 0;
|
|
44
|
+
background-color: var(--_iui-checkbox-svg-color);
|
|
45
|
+
mask: var(--_iui-checkbox-mask-image) no-repeat center;
|
|
46
|
+
}
|
|
15
47
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
48
|
+
&:not(:checked) {
|
|
49
|
+
--_iui-checkbox-mask-image: var(--_iui-checkbox-unchecked-svg);
|
|
50
|
+
}
|
|
20
51
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
52
|
+
&:checked {
|
|
53
|
+
--_iui-checkbox-border-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-3));
|
|
54
|
+
--_iui-checkbox-mask-image: var(--_iui-checkbox-checkmark-svg);
|
|
55
|
+
}
|
|
24
56
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
57
|
+
&:indeterminate {
|
|
58
|
+
--_iui-checkbox-border-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-3));
|
|
59
|
+
--_iui-checkbox-mask-image: var(--_iui-checkbox-indeterminate-svg);
|
|
28
60
|
}
|
|
29
61
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
@include themed {
|
|
34
|
-
background-color: rgba(t(iui-color-foreground-body-rgb), t(iui-opacity-6));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
62
|
+
&:hover {
|
|
63
|
+
--_iui-checkbox-border-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-2));
|
|
64
|
+
}
|
|
37
65
|
|
|
38
|
-
|
|
39
|
-
&:hover > input:enabled ~ .iui-checkbox-checkmark::after {
|
|
40
|
-
border: none;
|
|
41
|
-
}
|
|
66
|
+
@include iui-focus($thickness: 2px);
|
|
42
67
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
68
|
+
&.iui-checkbox-visibility {
|
|
69
|
+
--_iui-checkbox-checkmark-svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8 2.99051a8.81883 8.81883 0 0 0 -8 4.95062 8.74664 8.74664 0 0 0 8 5.06836 8.63266 8.63266 0 0 0 8-5.06836 8.83631 8.83631 0 0 0 -8-4.95062zm-1.31445 1.86981a1.47663 1.47663 0 1 1 -1.47663 1.47668 1.47665 1.47665 0 0 1 1.47663-1.47668zm1.31445 6.64917a7.17486 7.17486 0 0 1 -6.30475-3.55237 7.4952 7.4952 0 0 1 2.81475-2.6336 3.83956 3.83956 0 1 0 6.98126.00244 7.522 7.522 0 0 1 2.81774 2.63916 7.09785 7.09785 0 0 1 -6.309 3.54437z" /></svg>');
|
|
70
|
+
--_iui-checkbox-indeterminate-svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m8 3v7.9a4.01179 4.01179 0 0 0 4-4 6.7509 6.7509 0 0 0 -.2-1.4l.1.1a6.89429 6.89429 0 0 1 2.4 2.4 8.39088 8.39088 0 0 1 -2.3 2.3 6.89412 6.89412 0 0 1 -3.9 1.2c-.03345 0-.06653-.00677-.1-.0072v1.5072a8.90686 8.90686 0 0 0 8-5 8.90686 8.90686 0 0 0 -8-5z" opacity=".33" /><path d="m8 0a1 1 0 0 0 -1 1v2.07135a8.91637 8.91637 0 0 0 -7 4.92865 8.91637 8.91637 0 0 0 7 4.92865v2.07135a1 1 0 0 0 2 0v-14a1 1 0 0 0 -1-1zm-1.5 4.9a1.55426 1.55426 0 0 1 .5.087v2.81451a1.40746 1.40746 0 0 1 -.5.09849 1.538 1.538 0 0 1 -1.5-1.5 1.53794 1.53794 0 0 1 1.5-1.5zm-2.3 5.4a6.97279 6.97279 0 0 1 -2.5-2.3 6.89429 6.89429 0 0 1 2.4-2.4c.1 0 .1-.1.2-.1a3.194 3.194 0 0 0 -.3 1.4 4.0047 4.0047 0 0 0 3 3.857v.65289a6.37491 6.37491 0 0 1 -2.8-1.10989z" /></svg>');
|
|
71
|
+
--_iui-checkbox-unchecked-svg: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="m1.70671 12.879 11.17218-11.17219 1.4142 1.4142-11.17218 11.17218zm.99329-1.679 1.1-1.1a5.06317 5.06317 0 0 1 -2-2.1 7.48268 7.48268 0 0 1 6.2-3.5 4.86877 4.86877 0 0 1 1.2.1l1.3-1.3a10.07431 10.07431 0 0 0 -2.5-.3 8.84129 8.84129 0 0 0 -8 5 8.42455 8.42455 0 0 0 2.7 3.2zm10.7-6.4-1.1 1.1a7.08625 7.08625 0 0 1 2 2.1 7.50323 7.50323 0 0 1 -6.2 3.5 8.31665 8.31665 0 0 1 -1.3-.2l-1.3 1.3a8.909 8.909 0 0 0 6.4-.5 9.04344 9.04344 0 0 0 4.1-4.1 9.168 9.168 0 0 0 -2.6-3.2z" /></svg>');
|
|
46
72
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
opacity: 0;
|
|
50
|
-
}
|
|
73
|
+
--_iui-checkbox-border-color: transparent;
|
|
74
|
+
--_iui-checkbox-background-color: transparent;
|
|
51
75
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
transition: opacity $iui-speed-fast ease;
|
|
55
|
-
@include themed {
|
|
56
|
-
fill: t(iui-icons-color-actionable);
|
|
57
|
-
}
|
|
76
|
+
&:where(:not(:checked):not(:indeterminate)) {
|
|
77
|
+
--_iui-checkbox-svg-color: var(--iui-icons-color-actionable);
|
|
58
78
|
}
|
|
59
79
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
80
|
+
&:where(:hover) {
|
|
81
|
+
--_iui-checkbox-border-color: transparent;
|
|
82
|
+
--_iui-checkbox-background-color: rgba(var(--iui-color-foreground-body-rgb), var(--iui-opacity-6));
|
|
64
83
|
}
|
|
65
84
|
}
|
|
85
|
+
|
|
86
|
+
&:disabled {
|
|
87
|
+
--_iui-checkbox-svg-color: var(--iui-icons-color-actionable-disabled);
|
|
88
|
+
--_iui-checkbox-border-color: var(--iui-color-background-disabled);
|
|
89
|
+
--_iui-checkbox-background-color: var(--iui-color-background-disabled);
|
|
90
|
+
cursor: not-allowed;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&.iui-loading {
|
|
94
|
+
--_iui-checkbox-border-color: transparent;
|
|
95
|
+
--_iui-checkbox-background-color: transparent;
|
|
96
|
+
opacity: 0;
|
|
97
|
+
position: absolute;
|
|
98
|
+
cursor: wait;
|
|
99
|
+
}
|
|
66
100
|
}
|
|
@@ -66,8 +66,8 @@
|
|
|
66
66
|
// #endregion
|
|
67
67
|
|
|
68
68
|
// Appropriate spacing even if no text label is given
|
|
69
|
-
.iui-checkbox,
|
|
70
|
-
.iui-radio {
|
|
69
|
+
.iui-checkbox-wrapper,
|
|
70
|
+
.iui-radio-wrapper {
|
|
71
71
|
min-height: $iui-line-height;
|
|
72
72
|
}
|
|
73
73
|
|
|
@@ -259,6 +259,8 @@
|
|
|
259
259
|
margin-right: 0;
|
|
260
260
|
border-top-left-radius: 0;
|
|
261
261
|
border-bottom-left-radius: 0;
|
|
262
|
+
border-top-right-radius: inherit;
|
|
263
|
+
border-bottom-right-radius: inherit;
|
|
262
264
|
}
|
|
263
265
|
|
|
264
266
|
&.iui-actionable {
|
package/scss/inputs/radio.scss
CHANGED
|
@@ -3,9 +3,20 @@
|
|
|
3
3
|
@import '../style/index';
|
|
4
4
|
|
|
5
5
|
@mixin iui-radio {
|
|
6
|
-
|
|
6
|
+
&-wrapper {
|
|
7
|
+
@include iui-inputs-checkbox-radio;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
@include iui-checkbox;
|
|
11
|
+
|
|
12
|
+
border-radius: 50%;
|
|
13
|
+
|
|
14
|
+
&:checked {
|
|
15
|
+
--_iui-checkbox-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" ><circle cx="8" cy="8" r="4" /></svg>');
|
|
16
|
+
}
|
|
7
17
|
|
|
8
|
-
|
|
9
|
-
|
|
18
|
+
&:not(:checked),
|
|
19
|
+
&:indeterminate {
|
|
20
|
+
--_iui-checkbox-mask-image: var(--_iui-checkbox-unchecked-svg);
|
|
10
21
|
}
|
|
11
22
|
}
|
|
@@ -4,17 +4,18 @@
|
|
|
4
4
|
|
|
5
5
|
// tippy.js helper class to hide Popover when it is scrolled out of view
|
|
6
6
|
@mixin iui-popover {
|
|
7
|
-
&[data-reference-hidden] {
|
|
8
|
-
visibility: hidden;
|
|
9
|
-
pointer-events: none;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// Resets tippy.js default stylings that interfere with our own
|
|
13
7
|
/* stylelint-disable-next-line selector-class-pattern */
|
|
14
8
|
&.tippy-box {
|
|
9
|
+
&[data-reference-hidden] {
|
|
10
|
+
visibility: visible;
|
|
11
|
+
pointer-events: auto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Resets tippy.js default stylings that interfere with our own
|
|
15
15
|
all: revert;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
// Resets tippy.js default stylings that interfere with our own
|
|
18
19
|
/* stylelint-disable-next-line selector-class-pattern */
|
|
19
20
|
.tippy-content {
|
|
20
21
|
all: revert;
|
|
@@ -84,6 +84,9 @@
|
|
|
84
84
|
overflow: hidden;
|
|
85
85
|
justify-content: flex-start;
|
|
86
86
|
|
|
87
|
+
// Adds stripe to the left of active button
|
|
88
|
+
--_iui-button-active-stripe-inset: 0 calc(100% - #{$iui-xxs}) 0 0;
|
|
89
|
+
|
|
87
90
|
&:not(.iui-expand) {
|
|
88
91
|
height: $iui-baseline * 5;
|
|
89
92
|
// iPhone notch support
|
|
@@ -118,12 +121,6 @@
|
|
|
118
121
|
}
|
|
119
122
|
}
|
|
120
123
|
|
|
121
|
-
&.iui-active {
|
|
122
|
-
@include themed {
|
|
123
|
-
box-shadow: inset $iui-xxs 0 0 0 t(iui-icons-color-primary);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
124
|
&[disabled],
|
|
128
125
|
&:disabled {
|
|
129
126
|
@include themed {
|
|
@@ -0,0 +1,37 @@
|
|
|
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-skip-to-content-link {
|
|
6
|
+
@include iui-blur($opacity: 3);
|
|
7
|
+
@include iui-focus($offset: 2px, $thickness: 2px);
|
|
8
|
+
@include themed {
|
|
9
|
+
color: t(iui-color-foreground-accessory);
|
|
10
|
+
}
|
|
11
|
+
border-radius: $iui-border-radius-round;
|
|
12
|
+
text-decoration: none;
|
|
13
|
+
user-select: none;
|
|
14
|
+
padding: ($iui-baseline * 0.75) $iui-m;
|
|
15
|
+
position: fixed;
|
|
16
|
+
text-align: center;
|
|
17
|
+
left: 50%;
|
|
18
|
+
top: $iui-baseline * 2;
|
|
19
|
+
transform: translateX(-50%) translateY(-170%);
|
|
20
|
+
transition: background-color $iui-speed-fast ease-in-out;
|
|
21
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
22
|
+
transition: background-color $iui-speed-fast ease-in-out, transform $iui-speed-slow ease-in-out,
|
|
23
|
+
box-shadow $iui-speed-fast ease-in-out;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&:hover {
|
|
27
|
+
@include iui-blur($opacity: 2);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:focus {
|
|
31
|
+
transform: translateX(-50%) translateY(0);
|
|
32
|
+
box-shadow: $iui-elevation-16;
|
|
33
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
34
|
+
transition: transform $iui-speed-fast ease-in-out;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
package/scss/style/mixins.scss
CHANGED
|
@@ -114,10 +114,8 @@
|
|
|
114
114
|
|
|
115
115
|
// With blur
|
|
116
116
|
@supports (backdrop-filter: $iui-blur-filter) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
backdrop-filter: $iui-blur-filter;
|
|
120
|
-
}
|
|
117
|
+
background-color: rgba(0, 0, 0, var(--iui-opacity-#{$opacity}));
|
|
118
|
+
backdrop-filter: $iui-blur-filter;
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
121
|
|
|
@@ -130,6 +128,33 @@
|
|
|
130
128
|
padding: 0;
|
|
131
129
|
}
|
|
132
130
|
|
|
131
|
+
/// Visually hides an element but keeps it accessible to screen readers.
|
|
132
|
+
/// Because it applies some potentially invasive styles, use this mixin on a wrapper element for best results.
|
|
133
|
+
/// If it contains a focusable element, make sure to revert/exclude these styles.
|
|
134
|
+
@mixin visually-hidden {
|
|
135
|
+
clip-path: inset(50%);
|
|
136
|
+
overflow: hidden;
|
|
137
|
+
position: absolute;
|
|
138
|
+
white-space: nowrap;
|
|
139
|
+
height: 1px;
|
|
140
|
+
width: 1px;
|
|
141
|
+
padding: 0;
|
|
142
|
+
margin: -1px;
|
|
143
|
+
border-width: 0;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/// Reverts visually-hidden styles, making it visible again.
|
|
147
|
+
@mixin visually-hidden-revert {
|
|
148
|
+
clip-path: revert;
|
|
149
|
+
overflow: visible;
|
|
150
|
+
position: static;
|
|
151
|
+
white-space: normal;
|
|
152
|
+
height: auto;
|
|
153
|
+
width: auto;
|
|
154
|
+
padding: 0;
|
|
155
|
+
margin: 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
133
158
|
/// Classes for react-transition-group
|
|
134
159
|
/// Used for expand/collapse transitions. Needs height/width to be set in JS.
|
|
135
160
|
@mixin iui-transition-group {
|
|
@@ -63,17 +63,9 @@
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
@mixin iui-paginator-pages-group {
|
|
66
|
-
|
|
66
|
+
display: inline-flex;
|
|
67
|
+
align-items: center;
|
|
67
68
|
margin: 0 $iui-s;
|
|
68
|
-
|
|
69
|
-
> * + * {
|
|
70
|
-
margin-left: 0; // unset negative margin from button-group
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
button.iui-active::after {
|
|
74
|
-
top: auto;
|
|
75
|
-
bottom: $iui-xxs;
|
|
76
|
-
}
|
|
77
69
|
}
|
|
78
70
|
|
|
79
71
|
@mixin iui-paginator-page-button {
|
|
@@ -81,6 +73,9 @@
|
|
|
81
73
|
@include iui-button-borderless;
|
|
82
74
|
width: $iui-component-height;
|
|
83
75
|
|
|
76
|
+
// Adds stripe above active button
|
|
77
|
+
--_iui-button-active-stripe-inset: calc(100% - #{$iui-xs}) #{$iui-xxs} #{$iui-xxs};
|
|
78
|
+
|
|
84
79
|
&-small {
|
|
85
80
|
@include iui-button-size(small);
|
|
86
81
|
width: $iui-component-height-small;
|
package/scss/tile/classes.scss
CHANGED
package/scss/tile/tile.scss
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
width: $iui-3xl * 3;
|
|
12
12
|
box-shadow: $iui-elevation-2;
|
|
13
13
|
backface-visibility: hidden;
|
|
14
|
+
@include iui-focus($offset: $iui-xxs, $thickness: $iui-xxs);
|
|
14
15
|
@include themed() {
|
|
15
16
|
background-color: t(iui-color-background-1);
|
|
16
17
|
color: t(iui-text-color);
|
|
@@ -18,12 +19,13 @@
|
|
|
18
19
|
|
|
19
20
|
&:hover,
|
|
20
21
|
&:focus-within {
|
|
21
|
-
.iui-tile-
|
|
22
|
-
|
|
22
|
+
.iui-tile-more-options {
|
|
23
|
+
@include visually-hidden-revert;
|
|
24
|
+
position: absolute;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
|
-
.iui-tile-
|
|
26
|
-
|
|
27
|
+
.iui-tile-metadata:not(:last-child) {
|
|
28
|
+
width: calc(100% - #{$iui-xl});
|
|
27
29
|
}
|
|
28
30
|
|
|
29
31
|
.iui-tile-thumbnail-picture {
|
|
@@ -39,6 +41,7 @@
|
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
&.iui-selected {
|
|
44
|
+
@include iui-focus($offset: 0, $thickness: $iui-xs);
|
|
42
45
|
@include themed() {
|
|
43
46
|
outline: solid 2px t(iui-color-foreground-primary);
|
|
44
47
|
background: linear-gradient(
|
|
@@ -150,18 +153,6 @@
|
|
|
150
153
|
text-overflow: ellipsis;
|
|
151
154
|
}
|
|
152
155
|
}
|
|
153
|
-
|
|
154
|
-
.iui-tile-more-options {
|
|
155
|
-
@include iui-button-size(small, borderless);
|
|
156
|
-
position: absolute;
|
|
157
|
-
bottom: $iui-baseline * 0.5;
|
|
158
|
-
right: $iui-s;
|
|
159
|
-
visibility: hidden;
|
|
160
|
-
|
|
161
|
-
&.iui-visible {
|
|
162
|
-
visibility: visible;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
156
|
}
|
|
166
157
|
|
|
167
158
|
@mixin iui-tile-thumbnail {
|
|
@@ -312,3 +303,13 @@
|
|
|
312
303
|
}
|
|
313
304
|
}
|
|
314
305
|
}
|
|
306
|
+
|
|
307
|
+
@mixin iui-tile-more-options {
|
|
308
|
+
position: absolute;
|
|
309
|
+
bottom: $iui-baseline * 0.5;
|
|
310
|
+
right: $iui-s;
|
|
311
|
+
|
|
312
|
+
&:not(.iui-visible) {
|
|
313
|
+
@include visually-hidden;
|
|
314
|
+
}
|
|
315
|
+
}
|