@tylertech/forge 3.4.2 → 3.5.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/custom-elements.json +1157 -132
- package/dist/label-value/forge-label-value.css +2 -0
- package/dist/lib.js +174 -1
- package/dist/lib.js.map +4 -4
- package/dist/list/forge-list.css +1 -0
- package/dist/vscode.css-custom-data.json +156 -0
- package/dist/vscode.html-custom-data.json +142 -0
- package/esm/app-bar/search/app-bar-search.js +1 -1
- package/esm/autocomplete/autocomplete-core.js +4 -2
- package/esm/autocomplete/autocomplete.js +1 -5
- package/esm/button-toggle/button-toggle/button-toggle-core.js +0 -1
- package/esm/chips/chip/chip.js +1 -1
- package/esm/core/utils/a11y-utils.d.ts +20 -1
- package/esm/core/utils/a11y-utils.js +26 -1
- package/esm/file-picker/file-picker-adapter.d.ts +2 -0
- package/esm/file-picker/file-picker-adapter.js +6 -0
- package/esm/file-picker/file-picker-core.js +1 -0
- package/esm/icon-button/icon-button.js +1 -1
- package/esm/index.d.ts +5 -0
- package/esm/index.js +154 -150
- package/esm/key/index.d.ts +7 -0
- package/esm/key/index.js +7 -0
- package/esm/key/key/index.d.ts +7 -0
- package/esm/key/key/index.js +11 -0
- package/esm/key/key/key.d.ts +30 -0
- package/esm/key/key/key.js +43 -0
- package/esm/key/key-item/index.d.ts +7 -0
- package/esm/key/key-item/index.js +11 -0
- package/esm/key/key-item/key-item.d.ts +47 -0
- package/esm/key/key-item/key-item.js +86 -0
- package/esm/label-value/label-value.js +1 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/list-dropdown/list-dropdown-aware.d.ts +1 -0
- package/esm/list-dropdown/list-dropdown-aware.js +11 -0
- package/esm/meter/index.d.ts +7 -0
- package/esm/meter/index.js +7 -0
- package/esm/meter/meter/index.d.ts +7 -0
- package/esm/meter/meter/index.js +11 -0
- package/esm/meter/meter/meter.d.ts +187 -0
- package/esm/meter/meter/meter.js +359 -0
- package/esm/meter/meter-group/index.d.ts +7 -0
- package/esm/meter/meter-group/index.js +11 -0
- package/esm/meter/meter-group/meter-group.d.ts +108 -0
- package/esm/meter/meter-group/meter-group.js +198 -0
- package/esm/select/select/select.d.ts +3 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/package.json +2 -1
- package/sass/core/styles/tokens/app-bar/search/_tokens.scss +1 -1
- package/sass/core/styles/tokens/key/key/_tokens.scss +17 -0
- package/sass/core/styles/tokens/key/key-item/_tokens.scss +22 -0
- package/sass/core/styles/tokens/meter/meter/_tokens.scss +30 -0
- package/sass/core/styles/tokens/meter/meter-group/_tokens.scss +26 -0
- package/sass/core/styles/typography/index.scss +1 -1
- package/sass/icon-button/icon-button.scss +20 -1
- package/sass/key/key/_core.scss +20 -0
- package/sass/key/key/_token-utils.scss +30 -0
- package/sass/key/key/index.scss +6 -0
- package/sass/key/key/key.scss +26 -0
- package/sass/key/key-item/_core.scss +69 -0
- package/sass/key/key-item/_token-utils.scss +30 -0
- package/sass/key/key-item/index.scss +6 -0
- package/sass/key/key-item/key-item.scss +60 -0
- package/sass/label-value/_core.scss +2 -0
- package/sass/list/list-item/_core.scss +3 -0
- package/sass/meter/meter/_core.scss +206 -0
- package/sass/meter/meter/_token-utils.scss +30 -0
- package/sass/meter/meter/index.scss +6 -0
- package/sass/meter/meter/meter.scss +218 -0
- package/sass/meter/meter-group/_core.scss +83 -0
- package/sass/meter/meter-group/_token-utils.scss +30 -0
- package/sass/meter/meter-group/index.scss +6 -0
- package/sass/meter/meter-group/meter-group.scss +111 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use './core';
|
|
7
|
+
|
|
8
|
+
//
|
|
9
|
+
// Host
|
|
10
|
+
//
|
|
11
|
+
|
|
12
|
+
:host {
|
|
13
|
+
@include core.host;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//
|
|
17
|
+
// Base
|
|
18
|
+
//
|
|
19
|
+
|
|
20
|
+
.forge-key-item {
|
|
21
|
+
@include core.tokens;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.forge-key-item {
|
|
25
|
+
@include core.base;
|
|
26
|
+
|
|
27
|
+
&.inline {
|
|
28
|
+
@include core.inline;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&.no-value {
|
|
32
|
+
@include core.no-value;
|
|
33
|
+
|
|
34
|
+
.value {
|
|
35
|
+
display: none;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&:not(.inline, .no-value) {
|
|
40
|
+
.label {
|
|
41
|
+
padding-block-start: 1px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.icon {
|
|
47
|
+
@include core.icon;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.label {
|
|
51
|
+
@include core.label;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.value {
|
|
55
|
+
@include core.value;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.default-icon {
|
|
59
|
+
@include core.default-icon;
|
|
60
|
+
}
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
line-height: normal;
|
|
44
44
|
text-align: #{token(align)};
|
|
45
|
+
overflow-wrap: anywhere;
|
|
45
46
|
|
|
46
47
|
color: #{token(label-color)};
|
|
47
48
|
}
|
|
@@ -56,6 +57,7 @@
|
|
|
56
57
|
|
|
57
58
|
line-height: normal;
|
|
58
59
|
text-align: #{token(align)};
|
|
60
|
+
overflow-wrap: anywhere;
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
@mixin value-empty {
|
|
@@ -94,6 +94,7 @@
|
|
|
94
94
|
border-radius: inherit;
|
|
95
95
|
opacity: #{token(selected-opacity)};
|
|
96
96
|
background-color: #{token(selected-background)};
|
|
97
|
+
pointer-events: none;
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
|
|
@@ -111,6 +112,8 @@
|
|
|
111
112
|
|
|
112
113
|
@mixin start-end-selected {
|
|
113
114
|
color: #{token(selected-color)};
|
|
115
|
+
|
|
116
|
+
isolation: isolate;
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
@mixin text {
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use '../../core/styles/spacing';
|
|
7
|
+
@use '../../core/styles/theme';
|
|
8
|
+
@use '../../core/styles/typography';
|
|
9
|
+
@use '../meter-group/token-utils' as meter-group;
|
|
10
|
+
@use './token-utils' as *;
|
|
11
|
+
|
|
12
|
+
@forward './token-utils';
|
|
13
|
+
|
|
14
|
+
@mixin host {
|
|
15
|
+
display: inline;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@mixin vertical-host {
|
|
19
|
+
display: block;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@mixin base {
|
|
23
|
+
box-sizing: border-box;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@mixin vertical-base {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: row-reverse;
|
|
29
|
+
align-items: end;
|
|
30
|
+
width: fit-content;
|
|
31
|
+
height: 100%;
|
|
32
|
+
max-width: 100%;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@mixin heading {
|
|
36
|
+
@include typography.style(label1);
|
|
37
|
+
|
|
38
|
+
display: flex;
|
|
39
|
+
align-items: center;
|
|
40
|
+
justify-content: space-between;
|
|
41
|
+
line-height: normal;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@mixin vertical-heading {
|
|
45
|
+
flex-direction: column;
|
|
46
|
+
align-items: start;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@mixin heading-with-content {
|
|
50
|
+
margin-bottom: #{spacing.variable(xxsmall)};
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@mixin vertical-heading-with-content {
|
|
54
|
+
margin-bottom: 0;
|
|
55
|
+
margin-left: #{spacing.variable(xsmall)};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@mixin label {
|
|
59
|
+
white-space: nowrap;
|
|
60
|
+
overflow: hidden;
|
|
61
|
+
text-overflow: ellipsis;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@mixin value {
|
|
65
|
+
color: #{theme.variable(text-medium)};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@mixin track {
|
|
69
|
+
position: relative;
|
|
70
|
+
block-size: #{token(height)};
|
|
71
|
+
border-radius: #{token(shape)};
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
background: #{token(background)};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@mixin vertical-track {
|
|
77
|
+
width: #{token(height)};
|
|
78
|
+
height: 100%;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
@mixin bar {
|
|
82
|
+
position: absolute;
|
|
83
|
+
left: -100%;
|
|
84
|
+
width: 100%;
|
|
85
|
+
height: 100%;
|
|
86
|
+
border-radius: #{token(inner-shape)};
|
|
87
|
+
box-shadow: #{token(inner-elevation)};
|
|
88
|
+
background: #{token(color)};
|
|
89
|
+
translate: #{token(percentage, custom)} 0;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@mixin vertical-bar {
|
|
93
|
+
left: initial;
|
|
94
|
+
top: 100%;
|
|
95
|
+
translate: 0 calc(-1 * #{token(percentage, custom)});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@mixin theme($theme, $muted: false) {
|
|
99
|
+
$background: "#{$theme}-container-#{if($muted, 'minimum', 'low')}";
|
|
100
|
+
$color: "#{$theme}#{if($muted, '-container-high', '')}";
|
|
101
|
+
|
|
102
|
+
@include override(background, #{theme.variable($background)}, value);
|
|
103
|
+
@include override(color, #{theme.variable($color)}, value);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@mixin lowest {
|
|
107
|
+
@include override(inner-elevation, 0, value);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@function tickmarks-background($count, $color, $secondary-color: null, $vertical: false) {
|
|
111
|
+
$transparent-start: if($secondary-color, 2px, 1px);
|
|
112
|
+
@return repeating-linear-gradient(
|
|
113
|
+
if($vertical, 0, 90deg),
|
|
114
|
+
$color 0px,
|
|
115
|
+
$color 1px,
|
|
116
|
+
if($secondary-color, #{$secondary-color} + ' 1px,', null) if($secondary-color, #{$secondary-color} + ' 2px,', null) transparent $transparent-start,
|
|
117
|
+
transparent calc(100% / ($count + 1) + 0px)
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
@mixin tickmarks {
|
|
122
|
+
// We add an inline margin and offset the background to hide tickmarks right at the edge of the meter
|
|
123
|
+
$background-offset: 2px;
|
|
124
|
+
|
|
125
|
+
content: '';
|
|
126
|
+
position: relative;
|
|
127
|
+
display: block;
|
|
128
|
+
width: 100%;
|
|
129
|
+
height: 100%;
|
|
130
|
+
margin-left: $background-offset;
|
|
131
|
+
background: tickmarks-background(token(tickmarks), token(color), token(background));
|
|
132
|
+
background-position-x: -$background-offset;
|
|
133
|
+
opacity: #{token(tickmark-opacity)};
|
|
134
|
+
pointer-events: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@mixin vertical-tickmarks {
|
|
138
|
+
// Use a background offset same as the horizontal mixin but in the block direction
|
|
139
|
+
$background-offset: 2px;
|
|
140
|
+
|
|
141
|
+
margin-top: -$background-offset;
|
|
142
|
+
margin-left: 0;
|
|
143
|
+
background: tickmarks-background(token(tickmarks), token(color), token(background), true);
|
|
144
|
+
background-position-x: 0;
|
|
145
|
+
background-position-y: $background-offset;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@mixin bar-animation {
|
|
149
|
+
transition-property: translate, box-shadow;
|
|
150
|
+
transition-duration: #{token(transition-duration)};
|
|
151
|
+
transition-timing-function: #{token(transition-timing)};
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
@mixin segmented-animation {
|
|
155
|
+
transition-property: background;
|
|
156
|
+
transition-duration: #{token(transition-duration)};
|
|
157
|
+
transition-timing-function: #{token(transition-timing)};
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@mixin segmented-bar-animation {
|
|
161
|
+
transition-property: translate, box-shadow, background;
|
|
162
|
+
transition-duration: #{token(transition-duration)};
|
|
163
|
+
transition-timing-function: #{token(transition-timing)};
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
@mixin tickmarks-animation {
|
|
167
|
+
transition-property: background;
|
|
168
|
+
transition-duration: #{token(transition-duration)};
|
|
169
|
+
transition-timing-function: #{token(transition-timing)};
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* stylelint-disable custom-property-pattern */
|
|
173
|
+
// Manually reference the height of the meter group to avoid a circular dependency. Use half the
|
|
174
|
+
// meter group's height to extend the meter behind the radius of the preceding meter.
|
|
175
|
+
$leading: calc(#{meter-group.token(height)} * 0.5);
|
|
176
|
+
/* stylelint-enable custom-property-pattern */
|
|
177
|
+
|
|
178
|
+
@mixin grouped {
|
|
179
|
+
display: block;
|
|
180
|
+
position: absolute;
|
|
181
|
+
z-index: #{token(z-index, custom)};
|
|
182
|
+
top: 0;
|
|
183
|
+
left: #{token(inset, custom)};
|
|
184
|
+
width: calc(#{token(percentage, custom)} + $leading);
|
|
185
|
+
height: 100%;
|
|
186
|
+
border-radius: #{token(inner-shape)};
|
|
187
|
+
border-top-left-radius: 0;
|
|
188
|
+
border-bottom-left-radius: 0;
|
|
189
|
+
margin-left: calc(-1 * $leading);
|
|
190
|
+
background: #{token(color)};
|
|
191
|
+
box-shadow: #{token(inner-elevation)};
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@mixin vertical-grouped {
|
|
195
|
+
display: block;
|
|
196
|
+
top: calc(100% - #{token(percentage, custom)} - #{token(inset, custom)});
|
|
197
|
+
left: 0;
|
|
198
|
+
width: 100%;
|
|
199
|
+
height: calc(#{token(percentage, custom)} + $leading);
|
|
200
|
+
max-width: initial;
|
|
201
|
+
border-radius: #{token(inner-shape)};
|
|
202
|
+
border-bottom-left-radius: 0;
|
|
203
|
+
border-bottom-right-radius: 0;
|
|
204
|
+
margin-left: 0;
|
|
205
|
+
margin-bottom: calc(-1 * $leading);
|
|
206
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use '../../core/styles/tokens/meter/meter/tokens';
|
|
7
|
+
@use '../../core/styles/tokens/token-utils';
|
|
8
|
+
|
|
9
|
+
$_module: meter;
|
|
10
|
+
$_tokens: tokens.$tokens;
|
|
11
|
+
|
|
12
|
+
@mixin provide-theme($theme) {
|
|
13
|
+
@include token-utils.provide-theme($_module, $_tokens, $theme);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@function token($name, $type: token) {
|
|
17
|
+
@return token-utils.token($_module, $_tokens, $name, $type);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@function declare($token) {
|
|
21
|
+
@return token-utils.declare($_module, $token);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@mixin override($token, $token-or-value, $type: token) {
|
|
25
|
+
@include token-utils.override($_module, $_tokens, $token, $token-or-value, $type);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@mixin tokens($includes: null, $excludes: null) {
|
|
29
|
+
@include token-utils.tokens($_module, $_tokens, $includes, $excludes);
|
|
30
|
+
}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use '../../core/styles/shape';
|
|
7
|
+
@use '../../core/styles/spacing';
|
|
8
|
+
@use '../../core/styles/theme';
|
|
9
|
+
@use './core';
|
|
10
|
+
|
|
11
|
+
//
|
|
12
|
+
// Host
|
|
13
|
+
//
|
|
14
|
+
|
|
15
|
+
:host {
|
|
16
|
+
@include core.host;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//
|
|
20
|
+
// Base
|
|
21
|
+
//
|
|
22
|
+
|
|
23
|
+
.forge-meter {
|
|
24
|
+
@include core.tokens;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.forge-meter {
|
|
28
|
+
@include core.base;
|
|
29
|
+
|
|
30
|
+
.heading {
|
|
31
|
+
@include core.heading;
|
|
32
|
+
|
|
33
|
+
&.not-empty {
|
|
34
|
+
@include core.heading-with-content;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.label {
|
|
39
|
+
@include core.label;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.value {
|
|
43
|
+
@include core.value;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.track {
|
|
47
|
+
@include core.track;
|
|
48
|
+
|
|
49
|
+
&.segmented {
|
|
50
|
+
@include core.theme(warning);
|
|
51
|
+
@include core.segmented-animation;
|
|
52
|
+
|
|
53
|
+
&.least-optimal {
|
|
54
|
+
@include core.theme(error);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&.optimal {
|
|
58
|
+
@include core.theme(success);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.bar {
|
|
62
|
+
@include core.segmented-bar-animation;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&.lowest {
|
|
67
|
+
@include core.lowest;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&.tickmarks::after {
|
|
71
|
+
@include core.tickmarks;
|
|
72
|
+
@include core.tickmarks-animation;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.bar {
|
|
77
|
+
@include core.bar;
|
|
78
|
+
@include core.bar-animation;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
&.grouped {
|
|
82
|
+
@include core.grouped;
|
|
83
|
+
|
|
84
|
+
&.muted {
|
|
85
|
+
@include core.override(color, #{theme.variable(tertiary-container-high)}, value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
@each $key, $value in ('small': 'xsmall', 'medium': 'medium', 'large': 'large') {
|
|
90
|
+
&.density--#{$key} {
|
|
91
|
+
@include core.override(height, spacing.variable($value), value);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@each $key, $value in ('default': shape.variable(medium), 'rounded': shape.variable(full), 'squared': 0) {
|
|
96
|
+
&.shape--#{$key} {
|
|
97
|
+
@include core.override(shape, $value, value);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&.inner-shape--inherit {
|
|
102
|
+
@include core.override(inner-shape, shape);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
&.muted {
|
|
106
|
+
.track {
|
|
107
|
+
@include core.theme(tertiary, $muted: true);
|
|
108
|
+
|
|
109
|
+
&.segmented {
|
|
110
|
+
@include core.theme(warning, $muted: true);
|
|
111
|
+
|
|
112
|
+
&.least-optimal {
|
|
113
|
+
@include core.theme(error, $muted: true);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
&.optimal {
|
|
117
|
+
@include core.theme(success, $muted: true);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
//
|
|
125
|
+
// Vertical
|
|
126
|
+
//
|
|
127
|
+
|
|
128
|
+
:host(:is(:state(vertical), :--vertical)) {
|
|
129
|
+
@include core.vertical-host;
|
|
130
|
+
|
|
131
|
+
.forge-meter {
|
|
132
|
+
@include core.vertical-base;
|
|
133
|
+
|
|
134
|
+
.heading {
|
|
135
|
+
@include core.vertical-heading;
|
|
136
|
+
|
|
137
|
+
&.not-empty {
|
|
138
|
+
@include core.vertical-heading-with-content;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.track {
|
|
143
|
+
@include core.vertical-track;
|
|
144
|
+
|
|
145
|
+
&.tickmarks::after {
|
|
146
|
+
@include core.vertical-tickmarks;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.bar {
|
|
151
|
+
@include core.vertical-bar;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
&.grouped {
|
|
155
|
+
@include core.vertical-grouped;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//
|
|
161
|
+
// Theme
|
|
162
|
+
//
|
|
163
|
+
|
|
164
|
+
@each $value in ('primary', 'secondary', 'tertiary', 'success', 'warning', 'error', 'info') {
|
|
165
|
+
.theme--#{$value} {
|
|
166
|
+
&:not(.muted) {
|
|
167
|
+
.track:not(.segmented) {
|
|
168
|
+
@include core.theme($value);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
&.grouped {
|
|
172
|
+
@include core.theme($value);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
&.muted {
|
|
177
|
+
.track:not(.segmented) {
|
|
178
|
+
@include core.theme($value, $muted: true);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.grouped {
|
|
182
|
+
@include core.theme($value, $muted: true);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
//
|
|
189
|
+
// Media
|
|
190
|
+
//
|
|
191
|
+
|
|
192
|
+
@media (prefers-reduced-motion: reduce) {
|
|
193
|
+
.track {
|
|
194
|
+
@include core.override(transition-duration, 0, value);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
@media (forced-colors: active) {
|
|
199
|
+
.track {
|
|
200
|
+
border: 1px solid CanvasText;
|
|
201
|
+
|
|
202
|
+
.bar {
|
|
203
|
+
background: CanvasText;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.grouped {
|
|
208
|
+
border-inline-end: 1px solid Canvas !important;
|
|
209
|
+
background: CanvasText !important;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
:host(:is(:state(vertical), :--vertical)) {
|
|
213
|
+
.grouped {
|
|
214
|
+
border-block-start: 1px solid CanvasText !important;
|
|
215
|
+
border-inline-end: initial !important;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use '../../core/styles/spacing';
|
|
7
|
+
@use '../../core/styles/theme';
|
|
8
|
+
@use '../meter/core' as meter;
|
|
9
|
+
@use './token-utils' as *;
|
|
10
|
+
|
|
11
|
+
@forward './token-utils';
|
|
12
|
+
|
|
13
|
+
@mixin host {
|
|
14
|
+
display: inline;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@mixin vertical-host {
|
|
18
|
+
display: block;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@mixin base {
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@mixin vertical-base {
|
|
26
|
+
@include meter.vertical-base;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@mixin heading {
|
|
30
|
+
@include meter.heading;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@mixin vertical-heading {
|
|
34
|
+
@include meter.vertical-heading;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@mixin heading-with-content {
|
|
38
|
+
@include meter.heading-with-content;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@mixin vertical-heading-with-content {
|
|
42
|
+
@include meter.vertical-heading-with-content;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@mixin label {
|
|
46
|
+
@include meter.label;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@mixin value {
|
|
50
|
+
@include meter.value;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@mixin track {
|
|
54
|
+
position: relative;
|
|
55
|
+
height: #{token(height)};
|
|
56
|
+
border-radius: #{token(shape)};
|
|
57
|
+
overflow: hidden;
|
|
58
|
+
background: #{token(background)};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@mixin vertical-track {
|
|
62
|
+
width: #{token(height)};
|
|
63
|
+
height: 100%;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@mixin tickmarks {
|
|
67
|
+
content: '';
|
|
68
|
+
position: relative;
|
|
69
|
+
display: block;
|
|
70
|
+
z-index: 9999;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
margin-left: -1px;
|
|
74
|
+
background: meter.tickmarks-background(#{token(tickmarks)}, #{token(tickmark-color)});
|
|
75
|
+
opacity: #{token(tickmark-opacity)};
|
|
76
|
+
pointer-events: none;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@mixin vertical-tickmarks {
|
|
80
|
+
margin-top: 1px;
|
|
81
|
+
margin-left: 0;
|
|
82
|
+
background: meter.tickmarks-background(#{token(tickmarks)}, #{token(tickmark-color), null, true});
|
|
83
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
@use '../../core/styles/tokens/meter/meter-group/tokens';
|
|
7
|
+
@use '../../core/styles/tokens/token-utils';
|
|
8
|
+
|
|
9
|
+
$_module: meter-group;
|
|
10
|
+
$_tokens: tokens.$tokens;
|
|
11
|
+
|
|
12
|
+
@mixin provide-theme($theme) {
|
|
13
|
+
@include token-utils.provide-theme($_module, $_tokens, $theme);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@function token($name, $type: token) {
|
|
17
|
+
@return token-utils.token($_module, $_tokens, $name, $type);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
@function declare($token) {
|
|
21
|
+
@return token-utils.declare($_module, $token);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@mixin override($token, $token-or-value, $type: token) {
|
|
25
|
+
@include token-utils.override($_module, $_tokens, $token, $token-or-value, $type);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@mixin tokens($includes: null, $excludes: null) {
|
|
29
|
+
@include token-utils.tokens($_module, $_tokens, $includes, $excludes);
|
|
30
|
+
}
|