@vaadin/progress-bar 25.0.0-alpha1 → 25.0.0-alpha11

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/progress-bar",
3
- "version": "25.0.0-alpha1",
3
+ "version": "25.0.0-alpha11",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,7 +21,6 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
- "theme",
25
24
  "vaadin-*.d.ts",
26
25
  "vaadin-*.js",
27
26
  "web-types.json",
@@ -36,19 +35,19 @@
36
35
  ],
37
36
  "dependencies": {
38
37
  "@open-wc/dedupe-mixin": "^1.3.0",
39
- "@vaadin/component-base": "25.0.0-alpha1",
40
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha1",
41
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha1",
38
+ "@vaadin/component-base": "25.0.0-alpha11",
39
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha11",
42
40
  "lit": "^3.0.0"
43
41
  },
44
42
  "devDependencies": {
45
- "@vaadin/chai-plugins": "25.0.0-alpha1",
46
- "@vaadin/test-runner-commands": "25.0.0-alpha1",
47
- "@vaadin/testing-helpers": "^1.1.0"
43
+ "@vaadin/chai-plugins": "25.0.0-alpha11",
44
+ "@vaadin/test-runner-commands": "25.0.0-alpha11",
45
+ "@vaadin/testing-helpers": "^2.0.0",
46
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha11"
48
47
  },
49
48
  "web-types": [
50
49
  "web-types.json",
51
50
  "web-types.lit.json"
52
51
  ],
53
- "gitHead": "b8c22a4a0c64156210d0daac96b43ae4e5526d49"
52
+ "gitHead": "abfd315ba5a7484a613e0768635a4e8fe945a44b"
54
53
  }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import '@vaadin/component-base/src/styles/style-props.js';
7
+ import { css } from 'lit';
8
+
9
+ export const progressBarStyles = css`
10
+ :host {
11
+ display: block;
12
+ width: 100%; /* prevent collapsing inside non-stretching column flex */
13
+ height: 0.5lh;
14
+ contain: layout size;
15
+ }
16
+
17
+ :host([hidden]) {
18
+ display: none !important;
19
+ }
20
+
21
+ [part='bar'] {
22
+ box-sizing: border-box;
23
+ height: 100%;
24
+ --_padding: var(--vaadin-progress-bar-padding, 0px);
25
+ padding: var(--_padding);
26
+ background: var(--vaadin-progress-bar-background, var(--vaadin-background-container));
27
+ border-radius: var(--vaadin-progress-bar-border-radius, var(--vaadin-radius-m));
28
+ border: var(--vaadin-progress-bar-border-width, 1px) solid
29
+ var(--vaadin-progress-bar-border-color, var(--vaadin-border-color));
30
+ }
31
+
32
+ [part='value'] {
33
+ box-sizing: border-box;
34
+ height: 100%;
35
+ width: calc(var(--vaadin-progress-value) * 100%);
36
+ background: var(--vaadin-progress-bar-value-background, var(--vaadin-border-color-strong));
37
+ border-radius: calc(
38
+ var(--vaadin-progress-bar-border-radius, var(--vaadin-radius-m)) - var(
39
+ --vaadin-progress-bar-border-width,
40
+ 1px
41
+ ) - var(--_padding)
42
+ );
43
+ transition: width 150ms;
44
+ }
45
+
46
+ /* Indeterminate progress */
47
+ :host([indeterminate]) [part='value'] {
48
+ --_w-min: clamp(8px, 5%, 16px);
49
+ --_w-max: clamp(16px, 20%, 128px);
50
+ animation: indeterminate var(--vaadin-progress-bar-animation-duration, 1s) linear infinite alternate;
51
+ width: var(--_w-min);
52
+ }
53
+
54
+ :host([indeterminate][aria-valuenow]) [part='value'] {
55
+ animation-delay: 150ms;
56
+ }
57
+
58
+ @keyframes indeterminate {
59
+ 0% {
60
+ animation-timing-function: ease-in;
61
+ }
62
+
63
+ 20% {
64
+ margin-inline-start: 0%;
65
+ width: var(--_w-max);
66
+ }
67
+
68
+ 50% {
69
+ margin-inline-start: calc(50% - var(--_w-max) / 2);
70
+ }
71
+
72
+ 80% {
73
+ width: var(--_w-max);
74
+ margin-inline-start: calc(100% - var(--_w-max));
75
+ animation-timing-function: ease-out;
76
+ }
77
+
78
+ 100% {
79
+ width: var(--_w-min);
80
+ margin-inline-start: calc(100% - var(--_w-min));
81
+ }
82
+ }
83
+
84
+ @keyframes indeterminate-reduced {
85
+ 100% {
86
+ opacity: 0.2;
87
+ }
88
+ }
89
+
90
+ @media (prefers-reduced-motion: reduce) {
91
+ [part='value'] {
92
+ transition: none;
93
+ }
94
+
95
+ :host([indeterminate]) [part='value'] {
96
+ width: 25%;
97
+ animation: indeterminate-reduced 2s linear infinite alternate;
98
+ }
99
+ }
100
+ `;
@@ -7,8 +7,9 @@ import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
9
9
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
10
11
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
- import { progressBarStyles } from './vaadin-progress-bar-styles.js';
12
+ import { progressBarStyles } from './styles/vaadin-progress-bar-base-styles.js';
12
13
  import { ProgressMixin } from './vaadin-progress-mixin.js';
13
14
 
14
15
  /**
@@ -48,7 +49,7 @@ import { ProgressMixin } from './vaadin-progress-mixin.js';
48
49
  * @mixes ThemableMixin
49
50
  * @mixes ElementMixin
50
51
  */
51
- class ProgressBar extends ProgressMixin(ElementMixin(ThemableMixin(PolylitMixin(LitElement)))) {
52
+ class ProgressBar extends ProgressMixin(ElementMixin(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
52
53
  static get is() {
53
54
  return 'vaadin-progress-bar';
54
55
  }
@@ -1,2 +1,2 @@
1
- import './theme/lumo/vaadin-progress-bar.js';
1
+ import './src/vaadin-progress-bar.js';
2
2
  export * from './src/vaadin-progress-bar.js';
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/progress-bar",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha11",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/progress-bar",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha11",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {
@@ -1,43 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2017 - 2025 Vaadin Ltd.
4
- * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */
6
- import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
7
-
8
- export const progressBarStyles = css`
9
- :host {
10
- display: block;
11
- width: 100%; /* prevent collapsing inside non-stretching column flex */
12
- height: 8px;
13
- }
14
-
15
- :host([hidden]) {
16
- display: none !important;
17
- }
18
-
19
- [part='bar'] {
20
- height: 100%;
21
- }
22
-
23
- [part='value'] {
24
- height: 100%;
25
- transform-origin: 0 50%;
26
- transform: scaleX(var(--vaadin-progress-value));
27
- }
28
-
29
- :host([dir='rtl']) [part='value'] {
30
- transform-origin: 100% 50%;
31
- }
32
-
33
- @media (forced-colors: active) {
34
- [part='bar'] {
35
- outline: 1px solid;
36
- }
37
-
38
- [part='value'] {
39
- background-color: AccentColor !important;
40
- forced-color-adjust: none;
41
- }
42
- }
43
- `;
@@ -1,4 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/color.js';
2
- import '@vaadin/vaadin-lumo-styles/sizing.js';
3
- import '@vaadin/vaadin-lumo-styles/spacing.js';
4
- import '@vaadin/vaadin-lumo-styles/style.js';
@@ -1,276 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/color.js';
2
- import '@vaadin/vaadin-lumo-styles/sizing.js';
3
- import '@vaadin/vaadin-lumo-styles/spacing.js';
4
- import '@vaadin/vaadin-lumo-styles/style.js';
5
- import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
6
-
7
- registerStyles(
8
- 'vaadin-progress-bar',
9
- css`
10
- :host {
11
- height: calc(var(--lumo-size-l) / 10);
12
- margin: var(--lumo-space-s) 0;
13
- }
14
-
15
- [part='bar'] {
16
- border-radius: var(--lumo-border-radius-m);
17
- background-color: var(--lumo-contrast-10pct);
18
- }
19
-
20
- [part='value'] {
21
- border-radius: var(--lumo-border-radius-m);
22
- background-color: var(--lumo-primary-color);
23
- /* Use width instead of transform to preserve border radius */
24
- transform: none;
25
- width: calc(var(--vaadin-progress-value) * 100%);
26
- will-change: width;
27
- transition: 0.1s width linear;
28
- }
29
-
30
- /* Indeterminate mode */
31
- :host([indeterminate]) [part='value'] {
32
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
33
- to right,
34
- var(--lumo-primary-color-10pct) 10%,
35
- var(--lumo-primary-color)
36
- );
37
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
38
- to left,
39
- var(--lumo-primary-color-10pct) 10%,
40
- var(--lumo-primary-color)
41
- );
42
- width: 100%;
43
- background-color: transparent !important;
44
- background-image: var(--lumo-progress-indeterminate-progress-bar-background);
45
- opacity: 0.75;
46
- will-change: transform;
47
- animation: vaadin-progress-indeterminate 1.6s infinite cubic-bezier(0.645, 0.045, 0.355, 1);
48
- }
49
-
50
- @keyframes vaadin-progress-indeterminate {
51
- 0% {
52
- transform: scaleX(0.015);
53
- transform-origin: 0% 0%;
54
- }
55
-
56
- 25% {
57
- transform: scaleX(0.4);
58
- }
59
-
60
- 50% {
61
- transform: scaleX(0.015);
62
- transform-origin: 100% 0%;
63
- background-image: var(--lumo-progress-indeterminate-progress-bar-background);
64
- }
65
-
66
- 50.1% {
67
- transform: scaleX(0.015);
68
- transform-origin: 100% 0%;
69
- background-image: var(--lumo-progress-indeterminate-progress-bar-background-reverse);
70
- }
71
-
72
- 75% {
73
- transform: scaleX(0.4);
74
- }
75
-
76
- 100% {
77
- transform: scaleX(0.015);
78
- transform-origin: 0% 0%;
79
- background-image: var(--lumo-progress-indeterminate-progress-bar-background-reverse);
80
- }
81
- }
82
-
83
- :host(:not([aria-valuenow])) [part='value']::before,
84
- :host([indeterminate]) [part='value']::before {
85
- content: '';
86
- display: block;
87
- width: 100%;
88
- height: 100%;
89
- border-radius: inherit;
90
- background-color: var(--lumo-primary-color);
91
- will-change: opacity;
92
- animation: vaadin-progress-pulse3 1.6s infinite cubic-bezier(0.645, 0.045, 0.355, 1);
93
- }
94
-
95
- @keyframes vaadin-progress-pulse3 {
96
- 0% {
97
- opacity: 1;
98
- }
99
-
100
- 10% {
101
- opacity: 0;
102
- }
103
-
104
- 40% {
105
- opacity: 0;
106
- }
107
-
108
- 50% {
109
- opacity: 1;
110
- }
111
-
112
- 50.1% {
113
- opacity: 1;
114
- }
115
-
116
- 60% {
117
- opacity: 0;
118
- }
119
-
120
- 90% {
121
- opacity: 0;
122
- }
123
-
124
- 100% {
125
- opacity: 1;
126
- }
127
- }
128
-
129
- /* Contrast color */
130
- :host([theme~='contrast']) [part='value'],
131
- :host([theme~='contrast']) [part='value']::before {
132
- background-color: var(--lumo-contrast-80pct);
133
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
134
- to right,
135
- var(--lumo-contrast-5pct) 10%,
136
- var(--lumo-contrast-80pct)
137
- );
138
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
139
- to left,
140
- var(--lumo-contrast-5pct) 10%,
141
- var(--lumo-contrast-60pct)
142
- );
143
- }
144
-
145
- /* Error color */
146
- :host([theme~='error']) [part='value'],
147
- :host([theme~='error']) [part='value']::before {
148
- background-color: var(--lumo-error-color);
149
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
150
- to right,
151
- var(--lumo-error-color-10pct) 10%,
152
- var(--lumo-error-color)
153
- );
154
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
155
- to left,
156
- var(--lumo-error-color-10pct) 10%,
157
- var(--lumo-error-color)
158
- );
159
- }
160
-
161
- /* Primary color */
162
- :host([theme~='success']) [part='value'],
163
- :host([theme~='success']) [part='value']::before {
164
- background-color: var(--lumo-success-color);
165
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
166
- to right,
167
- var(--lumo-success-color-10pct) 10%,
168
- var(--lumo-success-color)
169
- );
170
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
171
- to left,
172
- var(--lumo-success-color-10pct) 10%,
173
- var(--lumo-success-color)
174
- );
175
- }
176
-
177
- /* RTL specific styles */
178
- :host([indeterminate][dir='rtl']) [part='value'] {
179
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
180
- to left,
181
- var(--lumo-primary-color-10pct) 10%,
182
- var(--lumo-primary-color)
183
- );
184
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
185
- to right,
186
- var(--lumo-primary-color-10pct) 10%,
187
- var(--lumo-primary-color)
188
- );
189
- animation: vaadin-progress-indeterminate-rtl 1.6s infinite cubic-bezier(0.355, 0.045, 0.645, 1);
190
- }
191
-
192
- :host(:not([aria-valuenow])[dir='rtl']) [part='value']::before,
193
- :host([indeterminate][dir='rtl']) [part='value']::before {
194
- animation: vaadin-progress-pulse3 1.6s infinite cubic-bezier(0.355, 0.045, 0.645, 1);
195
- }
196
-
197
- @keyframes vaadin-progress-indeterminate-rtl {
198
- 0% {
199
- transform: scaleX(0.015);
200
- transform-origin: 100% 0%;
201
- }
202
-
203
- 25% {
204
- transform: scaleX(0.4);
205
- }
206
-
207
- 50% {
208
- transform: scaleX(0.015);
209
- transform-origin: 0% 0%;
210
- background-image: var(--lumo-progress-indeterminate-progress-bar-background);
211
- }
212
-
213
- 50.1% {
214
- transform: scaleX(0.015);
215
- transform-origin: 0% 0%;
216
- background-image: var(--lumo-progress-indeterminate-progress-bar-background-reverse);
217
- }
218
-
219
- 75% {
220
- transform: scaleX(0.4);
221
- }
222
-
223
- 100% {
224
- transform: scaleX(0.015);
225
- transform-origin: 100% 0%;
226
- background-image: var(--lumo-progress-indeterminate-progress-bar-background-reverse);
227
- }
228
- }
229
-
230
- /* Contrast color */
231
- :host([theme~='contrast'][dir='rtl']) [part='value'],
232
- :host([theme~='contrast'][dir='rtl']) [part='value']::before {
233
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
234
- to left,
235
- var(--lumo-contrast-5pct) 10%,
236
- var(--lumo-contrast-80pct)
237
- );
238
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
239
- to right,
240
- var(--lumo-contrast-5pct) 10%,
241
- var(--lumo-contrast-60pct)
242
- );
243
- }
244
-
245
- /* Error color */
246
- :host([theme~='error'][dir='rtl']) [part='value'],
247
- :host([theme~='error'][dir='rtl']) [part='value']::before {
248
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
249
- to left,
250
- var(--lumo-error-color-10pct) 10%,
251
- var(--lumo-error-color)
252
- );
253
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
254
- to right,
255
- var(--lumo-error-color-10pct) 10%,
256
- var(--lumo-error-color)
257
- );
258
- }
259
-
260
- /* Primary color */
261
- :host([theme~='success'][dir='rtl']) [part='value'],
262
- :host([theme~='success'][dir='rtl']) [part='value']::before {
263
- --lumo-progress-indeterminate-progress-bar-background: linear-gradient(
264
- to left,
265
- var(--lumo-success-color-10pct) 10%,
266
- var(--lumo-success-color)
267
- );
268
- --lumo-progress-indeterminate-progress-bar-background-reverse: linear-gradient(
269
- to right,
270
- var(--lumo-success-color-10pct) 10%,
271
- var(--lumo-success-color)
272
- );
273
- }
274
- `,
275
- { moduleId: 'lumo-progress-bar' },
276
- );
@@ -1,2 +0,0 @@
1
- import './vaadin-progress-bar-styles.js';
2
- import '../../src/vaadin-progress-bar.js';
@@ -1,2 +0,0 @@
1
- import './vaadin-progress-bar-styles.js';
2
- import '../../src/vaadin-progress-bar.js';