@material/web 1.0.0-pre.15 → 1.0.0-pre.16

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 (192) hide show
  1. package/README.md +22 -17
  2. package/button/internal/_filled-button.scss +0 -1
  3. package/button/internal/_outlined-button.scss +6 -0
  4. package/button/internal/_shared.scss +7 -1
  5. package/button/internal/button.d.ts +15 -14
  6. package/button/internal/button.js +41 -39
  7. package/button/internal/button.js.map +1 -1
  8. package/button/internal/outlined-styles.css.js +1 -1
  9. package/button/internal/outlined-styles.css.js.map +1 -1
  10. package/button/internal/shared-elevation-styles.css.js +1 -1
  11. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  12. package/button/internal/shared-styles.css.js +1 -1
  13. package/button/internal/shared-styles.css.js.map +1 -1
  14. package/checkbox/internal/_checkbox.scss +1 -0
  15. package/checkbox/internal/checkbox-styles.css.js +1 -1
  16. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  17. package/checkbox/internal/checkbox.d.ts +2 -2
  18. package/checkbox/internal/checkbox.js +18 -14
  19. package/checkbox/internal/checkbox.js.map +1 -1
  20. package/chips/assist-chip.js +1 -2
  21. package/chips/assist-chip.js.map +1 -1
  22. package/chips/filter-chip.js +1 -3
  23. package/chips/filter-chip.js.map +1 -1
  24. package/chips/input-chip.js +1 -5
  25. package/chips/input-chip.js.map +1 -1
  26. package/chips/internal/_assist-chip.scss +6 -0
  27. package/chips/internal/_elevated.scss +1 -1
  28. package/chips/internal/_filter-chip.scss +6 -0
  29. package/chips/internal/_input-chip.scss +32 -0
  30. package/chips/internal/_selectable.scss +17 -13
  31. package/chips/internal/_shared.scss +17 -10
  32. package/chips/internal/_suggestion-chip.scss +6 -0
  33. package/chips/internal/_trailing-icon.scss +24 -24
  34. package/chips/internal/assist-styles.css.js +1 -1
  35. package/chips/internal/assist-styles.css.js.map +1 -1
  36. package/chips/internal/elevated-styles.css.js +1 -1
  37. package/chips/internal/elevated-styles.css.js.map +1 -1
  38. package/chips/internal/filter-styles.css.js +1 -1
  39. package/chips/internal/filter-styles.css.js.map +1 -1
  40. package/chips/internal/input-styles.css.js +1 -1
  41. package/chips/internal/input-styles.css.js.map +1 -1
  42. package/chips/internal/selectable-styles.css.js +1 -1
  43. package/chips/internal/selectable-styles.css.js.map +1 -1
  44. package/chips/internal/shared-styles.css.js +1 -1
  45. package/chips/internal/shared-styles.css.js.map +1 -1
  46. package/chips/internal/suggestion-styles.css.js +1 -1
  47. package/chips/internal/suggestion-styles.css.js.map +1 -1
  48. package/chips/internal/trailing-icon-styles.css.js +1 -1
  49. package/chips/internal/trailing-icon-styles.css.js.map +1 -1
  50. package/chips/suggestion-chip.js +1 -2
  51. package/chips/suggestion-chip.js.map +1 -1
  52. package/elevation/internal/_elevation.scss +14 -7
  53. package/elevation/internal/elevation-styles.css.js +1 -1
  54. package/elevation/internal/elevation-styles.css.js.map +1 -1
  55. package/fab/branded-fab.d.ts +0 -1
  56. package/fab/internal/_fab.scss +11 -10
  57. package/fab/internal/_shared.scss +4 -1
  58. package/fab/internal/fab-styles.css.js +1 -1
  59. package/fab/internal/fab-styles.css.js.map +1 -1
  60. package/fab/internal/fab.d.ts +0 -1
  61. package/fab/internal/shared-styles.css.js +1 -1
  62. package/fab/internal/shared-styles.css.js.map +1 -1
  63. package/fab/internal/shared.d.ts +0 -9
  64. package/fab/internal/shared.js +2 -18
  65. package/fab/internal/shared.js.map +1 -1
  66. package/field/internal/filled-styles.css.js +1 -1
  67. package/field/internal/filled-styles.css.js.map +1 -1
  68. package/field/internal/outlined-styles.css.js +1 -1
  69. package/field/internal/outlined-styles.css.js.map +1 -1
  70. package/icon/internal/_icon.scss +10 -5
  71. package/icon/internal/icon-styles.css.js +1 -1
  72. package/icon/internal/icon-styles.css.js.map +1 -1
  73. package/iconbutton/internal/_icon-button.scss +4 -0
  74. package/iconbutton/internal/_shared.scss +9 -0
  75. package/iconbutton/internal/icon-button.d.ts +16 -3
  76. package/iconbutton/internal/icon-button.js +31 -7
  77. package/iconbutton/internal/icon-button.js.map +1 -1
  78. package/iconbutton/internal/shared-styles.css.js +1 -1
  79. package/iconbutton/internal/shared-styles.css.js.map +1 -1
  80. package/iconbutton/internal/standard-styles.css.js +1 -1
  81. package/iconbutton/internal/standard-styles.css.js.map +1 -1
  82. package/internal/controller/form-submitter.d.ts +12 -0
  83. package/internal/controller/form-submitter.js +3 -1
  84. package/internal/controller/form-submitter.js.map +1 -1
  85. package/labs/badge/internal/_badge.scss +11 -8
  86. package/labs/navigationbar/internal/_navigation-bar.scss +11 -9
  87. package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
  88. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
  89. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +11 -8
  90. package/labs/navigationdrawer/internal/_navigation-drawer.scss +11 -8
  91. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +1 -1
  92. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -1
  93. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +1 -1
  94. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -1
  95. package/labs/navigationtab/internal/_navigation-tab.scss +10 -10
  96. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +1 -3
  97. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  98. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  99. package/list/internal/_list.scss +6 -2
  100. package/list/internal/list-styles.css.js +1 -1
  101. package/list/internal/list-styles.css.js.map +1 -1
  102. package/list/internal/listitem/_list-item.scss +83 -93
  103. package/list/internal/listitem/forced-colors-styles.css.js +1 -1
  104. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -1
  105. package/list/internal/listitem/forced-colors-styles.scss +6 -6
  106. package/list/internal/listitem/list-item-styles.css.js +1 -1
  107. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  108. package/menu/internal/_menu.scss +6 -3
  109. package/menu/internal/menu-styles.css.js +1 -1
  110. package/menu/internal/menu-styles.css.js.map +1 -1
  111. package/menu/internal/menu.js +6 -6
  112. package/menu/internal/menu.js.map +1 -1
  113. package/menu/internal/menuitem/_menu-item.scss +7 -4
  114. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  115. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  116. package/package.json +1 -1
  117. package/progress/harness.js +2 -4
  118. package/progress/harness.js.map +1 -1
  119. package/progress/internal/_circular-progress.scss +4 -4
  120. package/progress/internal/_linear-progress.scss +93 -132
  121. package/progress/internal/circular-progress-styles.css.js +1 -1
  122. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  123. package/progress/internal/circular-progress.js +1 -1
  124. package/progress/internal/circular-progress.js.map +1 -1
  125. package/progress/internal/linear-progress-styles.css.js +1 -1
  126. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  127. package/progress/internal/linear-progress.d.ts +0 -11
  128. package/progress/internal/linear-progress.js +4 -48
  129. package/progress/internal/linear-progress.js.map +1 -1
  130. package/radio/internal/radio.d.ts +1 -1
  131. package/radio/internal/radio.js.map +1 -1
  132. package/ripple/internal/_ripple.scss +1 -1
  133. package/ripple/internal/ripple-styles.css.js +1 -1
  134. package/ripple/internal/ripple-styles.css.js.map +1 -1
  135. package/select/internal/_filled-select.scss +0 -1
  136. package/select/internal/_outlined-select.scss +0 -1
  137. package/select/internal/_shared.scss +0 -1
  138. package/select/internal/filled-select-styles.css.js +1 -1
  139. package/select/internal/filled-select-styles.css.js.map +1 -1
  140. package/select/internal/outlined-select-styles.css.js +1 -1
  141. package/select/internal/outlined-select-styles.css.js.map +1 -1
  142. package/slider/internal/_slider.scss +33 -28
  143. package/slider/internal/forced-colors-styles.css.js +1 -1
  144. package/slider/internal/forced-colors-styles.css.js.map +1 -1
  145. package/slider/internal/slider-styles.css.js +1 -1
  146. package/slider/internal/slider-styles.css.js.map +1 -1
  147. package/slider/internal/slider.d.ts +22 -8
  148. package/slider/internal/slider.js +113 -22
  149. package/slider/internal/slider.js.map +1 -1
  150. package/switch/internal/_switch.scss +9 -1
  151. package/switch/internal/switch-styles.css.js +1 -1
  152. package/switch/internal/switch-styles.css.js.map +1 -1
  153. package/switch/internal/switch.d.ts +1 -1
  154. package/switch/internal/switch.js +2 -2
  155. package/switch/internal/switch.js.map +1 -1
  156. package/tabs/internal/_tab.scss +76 -20
  157. package/tabs/internal/tab-styles.css.js +1 -1
  158. package/tabs/internal/tab-styles.css.js.map +1 -1
  159. package/tabs/internal/tab.js +0 -1
  160. package/tabs/internal/tab.js.map +1 -1
  161. package/textfield/internal/filled-styles.css.js +1 -1
  162. package/textfield/internal/filled-styles.css.js.map +1 -1
  163. package/textfield/internal/outlined-styles.css.js +1 -1
  164. package/textfield/internal/outlined-styles.css.js.map +1 -1
  165. package/textfield/internal/text-field.d.ts +11 -10
  166. package/textfield/internal/text-field.js +60 -32
  167. package/textfield/internal/text-field.js.map +1 -1
  168. package/tokens/_md-comp-filled-field.scss +2 -2
  169. package/tokens/_md-comp-filled-select.scss +3 -0
  170. package/tokens/_md-comp-filled-text-field.scss +3 -1
  171. package/tokens/_md-comp-list-item.scss +117 -103
  172. package/tokens/_md-comp-menu-item.scss +3 -3
  173. package/tokens/_md-comp-outlined-field.scss +2 -1
  174. package/tokens/_md-comp-outlined-select.scss +8 -0
  175. package/tokens/_md-comp-outlined-text-field.scss +3 -1
  176. package/chips/internal/assist-forced-colors-styles.css.d.ts +0 -1
  177. package/chips/internal/assist-forced-colors-styles.css.js +0 -9
  178. package/chips/internal/assist-forced-colors-styles.css.js.map +0 -1
  179. package/chips/internal/assist-forced-colors-styles.scss +0 -27
  180. package/chips/internal/filter-forced-colors-styles.css.d.ts +0 -1
  181. package/chips/internal/filter-forced-colors-styles.css.js +0 -9
  182. package/chips/internal/filter-forced-colors-styles.css.js.map +0 -1
  183. package/chips/internal/filter-forced-colors-styles.scss +0 -34
  184. package/chips/internal/input-forced-colors-styles.css.d.ts +0 -1
  185. package/chips/internal/input-forced-colors-styles.css.js +0 -9
  186. package/chips/internal/input-forced-colors-styles.css.js.map +0 -1
  187. package/chips/internal/input-forced-colors-styles.scss +0 -39
  188. package/chips/internal/suggestion-forced-colors-styles.css.d.ts +0 -1
  189. package/chips/internal/suggestion-forced-colors-styles.css.js +0 -9
  190. package/chips/internal/suggestion-forced-colors-styles.css.js.map +0 -1
  191. package/chips/internal/suggestion-forced-colors-styles.scss +0 -27
  192. package/internal/sass/_theme.scss +0 -249
@@ -34,25 +34,17 @@ $_indeterminate-duration: 2s;
34
34
  // the track height. Since the dots are circular, width scales with height.
35
35
  // Background width is separated because it's also used to help animate the
36
36
  // /dots.
37
- $_track-dot-size: calc(var(--_track-height) / 2);
38
- $_track-background-width: calc($_track-dot-size * 5);
37
+ $_dot-size: calc(var(--_track-height) / 2);
38
+ $_dot-background-width: calc($_dot-size * 5);
39
39
  // this is a series of sized/colored dots.
40
- $_track-background: 0 / $_track-background-width 100%
40
+ $_dot-background: 0 / $_dot-background-width 100%
41
41
  radial-gradient(
42
- circle at calc($_track-dot-size * 2),
42
+ circle at calc($_dot-size * 2),
43
43
  var(--_track-color) 0,
44
- var(--_track-color) $_track-dot-size,
45
- transparent $_track-dot-size
44
+ var(--_track-color) $_dot-size,
45
+ transparent $_dot-size
46
46
  );
47
47
 
48
- // Generates a list of rtl selectors. This is done so rules can be generated
49
- // separately so they don't get dropped where unsupported.
50
- $rtl-selectors: (
51
- ':host-context([dir="rtl"]) .progress',
52
- ':host([dir="rtl"]) .progress',
53
- '.progress:dir(rtl)'
54
- );
55
-
56
48
  @mixin styles() {
57
49
  $tokens: tokens.md-comp-linear-progress-indicator-values();
58
50
 
@@ -61,29 +53,31 @@ $rtl-selectors: (
61
53
  --_#{$token}: var(--md-linear-progress-#{$token}, #{$value});
62
54
  }
63
55
 
64
- display: block;
56
+ border-radius: var(--_track-shape);
57
+ display: flex;
65
58
  position: relative;
66
59
  // note, this matches the `meter` element and is just done so
67
- // there's a minimum width when in a container with a display like
68
- // inline-flex.
69
- min-inline-size: 80px;
70
- block-size: var(--_track-height);
60
+ // there's a default width.
61
+ width: 80px;
62
+ height: var(--_track-height);
71
63
  content-visibility: auto;
72
64
  contain: strict;
73
65
  }
74
66
 
75
67
  .progress,
76
- .track,
77
- .buffer-bar,
68
+ .dots,
69
+ .inactive-track,
78
70
  .bar,
79
71
  .bar-inner {
80
72
  position: absolute;
81
73
  }
82
74
 
83
75
  .progress {
76
+ // Animations need to be in LTR. We support RTL by flipping the indicator
77
+ // with scale(-1).
78
+ direction: ltr;
84
79
  inset: 0;
85
- outline: transparent solid 1px;
86
- border-radius: var(--_track-shape);
80
+ border-radius: inherit;
87
81
  overflow: hidden;
88
82
  display: flex;
89
83
  align-items: center;
@@ -92,8 +86,8 @@ $rtl-selectors: (
92
86
  .bar {
93
87
  animation: none;
94
88
  // position is offset for indeterminate animation, so we lock the inline size here.
95
- inline-size: 100%;
96
- block-size: var(--_active-indicator-height);
89
+ width: 100%;
90
+ height: var(--_active-indicator-height);
97
91
  transform-origin: left center;
98
92
  transition: transform $_determinate-duration $_determinate-easing;
99
93
  }
@@ -108,20 +102,19 @@ $rtl-selectors: (
108
102
  background: var(--_active-indicator-color);
109
103
  }
110
104
 
111
- .buffer-bar {
105
+ .inactive-track {
112
106
  background: var(--_track-color);
113
107
  inset: 0;
114
108
  transition: transform $_determinate-duration $_determinate-easing;
115
109
  transform-origin: left center;
116
110
  }
117
111
 
118
- .track {
112
+ .dots {
119
113
  inset: 0;
120
114
  animation: linear infinite $_determinate-duration;
121
- // stylelint-disable-next-line no-unknown-animations --
122
- // animation generated via mixin
123
115
  animation-name: buffering;
124
- background: $_track-background;
116
+ background: $_dot-background;
117
+ z-index: -1; // Place behind tracks for Safari
125
118
  }
126
119
 
127
120
  // indeterminate
@@ -141,74 +134,51 @@ $rtl-selectors: (
141
134
  display: block;
142
135
  }
143
136
 
144
- .indeterminate .track {
137
+ .indeterminate .dots {
145
138
  display: none;
146
139
  }
147
140
 
148
- .indeterminate.animation-ready .primary-bar {
141
+ .indeterminate .primary-bar {
149
142
  animation: linear infinite $_indeterminate-duration;
150
- // stylelint-disable-next-line no-unknown-animations --
151
- // animation generated via mixin
152
143
  animation-name: primary-indeterminate-translate;
153
144
  }
154
145
 
155
- .indeterminate.animation-ready .primary-bar > .bar-inner {
146
+ .indeterminate .primary-bar > .bar-inner {
156
147
  animation: linear infinite $_indeterminate-duration
157
148
  primary-indeterminate-scale;
158
149
  }
159
150
 
160
- .indeterminate.animation-ready.four-color .primary-bar > .bar-inner {
151
+ .indeterminate.four-color .primary-bar > .bar-inner {
161
152
  animation-name: primary-indeterminate-scale, four-color;
162
153
  animation-duration: $_indeterminate-duration,
163
154
  calc($_indeterminate-duration * 2);
164
155
  }
165
156
 
166
- .indeterminate.animation-ready .secondary-bar {
157
+ .indeterminate .secondary-bar {
167
158
  animation: linear infinite $_indeterminate-duration;
168
- // stylelint-disable-next-line no-unknown-animations --
169
- // animation generated via mixin
170
159
  animation-name: secondary-indeterminate-translate;
171
160
  }
172
161
 
173
- .indeterminate.animation-ready .secondary-bar > .bar-inner {
162
+ .indeterminate .secondary-bar > .bar-inner {
174
163
  animation: linear infinite $_indeterminate-duration
175
164
  secondary-indeterminate-scale;
176
165
  }
177
166
 
178
- .indeterminate.animation-ready.four-color .secondary-bar > .bar-inner {
167
+ .indeterminate.four-color .secondary-bar > .bar-inner {
179
168
  animation-name: secondary-indeterminate-scale, four-color;
180
169
  animation-duration: $_indeterminate-duration,
181
170
  calc($_indeterminate-duration * 2);
182
171
  }
183
172
 
184
- @each $selector in $rtl-selectors {
185
- #{$selector} {
186
- .bar {
187
- transform-origin: right center;
188
- }
189
-
190
- .buffer-bar {
191
- transform-origin: right center;
192
- }
193
-
194
- .track {
195
- // stylelint-disable-next-line no-unknown-animations --
196
- // animation generated via mixin
197
- animation-name: buffering-rtl;
198
- }
199
-
200
- &.indeterminate.animation-ready .primary-bar {
201
- // stylelint-disable-next-line no-unknown-animations --
202
- // animation generated via mixin
203
- animation-name: primary-indeterminate-translate-rtl;
204
- }
205
-
206
- &.indeterminate.animation-ready .secondary-bar {
207
- // stylelint-disable-next-line no-unknown-animations --
208
- // animation generated via mixin
209
- animation-name: secondary-indeterminate-translate-rtl;
210
- }
211
- }
173
+ // TODO(https://bugs.chromium.org/p/chromium/issues/detail?id=1420655):
174
+ // remove :host and :host-context once Chrome supports :dir
175
+ :host-context([dir='rtl']),
176
+ :host([dir='rtl']) {
177
+ transform: scale(-1);
178
+ }
179
+
180
+ :host(:dir(rtl)) {
181
+ transform: scale(-1);
212
182
  }
213
183
 
214
184
  @keyframes primary-indeterminate-scale {
@@ -267,71 +237,17 @@ $rtl-selectors: (
267
237
  }
268
238
  }
269
239
 
270
- @include _directional-keyframes('ltr');
271
- @include _directional-keyframes('rtl');
272
-
273
- @keyframes four-color {
274
- 0% {
275
- background: var(--_four-color-active-indicator-one-color);
276
- }
277
-
278
- 15% {
279
- background: var(--_four-color-active-indicator-one-color);
280
- }
281
- 25% {
282
- background: var(--_four-color-active-indicator-two-color);
283
- }
284
- 40% {
285
- background: var(--_four-color-active-indicator-two-color);
286
- }
287
-
288
- 50% {
289
- background: var(--_four-color-active-indicator-three-color);
290
- }
291
- 65% {
292
- background: var(--_four-color-active-indicator-three-color);
293
- }
294
- 75% {
295
- background: var(--_four-color-active-indicator-four-color);
296
- }
297
- 90% {
298
- background: var(--_four-color-active-indicator-four-color);
299
- }
300
- 100% {
301
- background: var(--_four-color-active-indicator-one-color);
302
- }
303
- }
304
-
305
- @media screen and (forced-colors: active) {
306
- .progress {
307
- --_active-indicator-color: canvastext;
308
- --_track-color: graytext;
309
- border: 1px solid canvastext;
310
- }
311
-
312
- .indeterminate.progress {
313
- --_track-color: canvas;
314
- }
315
- }
316
- }
317
-
318
- // Generates keyframes for ltr and rtl.
319
- @mixin _directional-keyframes($dir) {
320
- $is-rtl: $dir == 'rtl';
321
- $sign: if($is-rtl, -1, 1);
322
- $suffix: if($is-rtl, '-rtl', '');
323
-
324
- @keyframes buffering#{$suffix} {
240
+ @keyframes buffering {
325
241
  0% {
326
242
  // the amount to animate is aligned with the default track background
327
- transform: translateX(calc(#{$sign} * #{$_track-background-width}));
243
+ transform: translateX(#{$_dot-background-width});
328
244
  }
329
245
  }
330
246
 
331
247
  // note, the numbers here come directly from the mdc implementation.
332
248
  // see https://github.com/material-components/material-components-web/blob/main/packages/mdc-linear-progress/_linear-progress.scss#L208.
333
249
  // keyframes
334
- @keyframes primary-indeterminate-translate#{$suffix} {
250
+ @keyframes primary-indeterminate-translate {
335
251
  0% {
336
252
  transform: translateX(0px);
337
253
  }
@@ -348,15 +264,15 @@ $rtl-selectors: (
348
264
  0.55,
349
265
  0.956352
350
266
  );
351
- transform: translateX(calc(#{$sign} * 83.6714%));
267
+ transform: translateX(83.6714%);
352
268
  }
353
269
 
354
270
  100% {
355
- transform: translateX(calc(#{$sign} * 200.611%));
271
+ transform: translateX(200.611%);
356
272
  }
357
273
  }
358
274
 
359
- @keyframes secondary-indeterminate-translate#{$suffix} {
275
+ @keyframes secondary-indeterminate-translate {
360
276
  0% {
361
277
  animation-timing-function: cubic-bezier(0.15, 0, 0.515058, 0.409685);
362
278
  transform: translateX(0px);
@@ -364,16 +280,61 @@ $rtl-selectors: (
364
280
 
365
281
  25% {
366
282
  animation-timing-function: cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);
367
- transform: translateX(calc(#{$sign} * 37.6519%));
283
+ transform: translateX(37.6519%);
368
284
  }
369
285
 
370
286
  48.35% {
371
287
  animation-timing-function: cubic-bezier(0.4, 0.627035, 0.6, 0.902026);
372
- transform: translateX(calc(#{$sign} * 84.3862%));
288
+ transform: translateX(84.3862%);
289
+ }
290
+
291
+ 100% {
292
+ transform: translateX(160.278%);
293
+ }
294
+ }
295
+
296
+ @keyframes four-color {
297
+ 0% {
298
+ background: var(--_four-color-active-indicator-one-color);
299
+ }
300
+
301
+ 15% {
302
+ background: var(--_four-color-active-indicator-one-color);
303
+ }
304
+ 25% {
305
+ background: var(--_four-color-active-indicator-two-color);
306
+ }
307
+ 40% {
308
+ background: var(--_four-color-active-indicator-two-color);
373
309
  }
374
310
 
311
+ 50% {
312
+ background: var(--_four-color-active-indicator-three-color);
313
+ }
314
+ 65% {
315
+ background: var(--_four-color-active-indicator-three-color);
316
+ }
317
+ 75% {
318
+ background: var(--_four-color-active-indicator-four-color);
319
+ }
320
+ 90% {
321
+ background: var(--_four-color-active-indicator-four-color);
322
+ }
375
323
  100% {
376
- transform: translateX(calc(#{$sign} * 160.278%));
324
+ background: var(--_four-color-active-indicator-one-color);
377
325
  }
378
326
  }
327
+
328
+ @media (forced-colors: active) {
329
+ :host {
330
+ outline: 1px solid CanvasText;
331
+ }
332
+
333
+ .bar-inner {
334
+ background: CanvasText;
335
+ }
336
+
337
+ // TODO(b/296262544): fix dots not being CanvasText. This need a refactor,
338
+ // since background gradiants are not displayed in HCM.
339
+ }
379
340
  }
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{--_active-indicator-color: var(--md-circular-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-width: var(--md-circular-progress-active-indicator-width, 8.3333333333);--_four-color-active-indicator-four-color: var(--md-circular-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-circular-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-circular-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-circular-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_size: var(--md-circular-progress-size, 48px);display:inline-flex;vertical-align:middle;min-block-size:var(--_size);min-inline-size:var(--_size);position:relative;align-items:center;justify-content:center;contain:strict;content-visibility:auto}.progress{flex:1;align-self:stretch;margin:4px}.progress,.spinner,.left,.right,.circle,svg,.track,.progress{position:absolute;inset:0}svg{transform:rotate(-90deg)}circle{cx:50%;cy:50%;r:calc(50%*(1 - var(--_active-indicator-width)/100));stroke-width:calc(var(--_active-indicator-width)*1%);stroke-dasharray:100;fill:rgba(0,0,0,0)}.progress{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);stroke:var(--_active-indicator-color)}.track{stroke:rgba(0,0,0,0)}.progress.indeterminate{animation:linear infinite linear-rotate;animation-duration:1568.2352941176ms}.spinner{animation:infinite both rotate-arc;animation-duration:5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.left{overflow:hidden;inset:0 50% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.circle{box-sizing:border-box;border-radius:50%;border:solid calc(var(--_active-indicator-width)/100*(var(--_size) - 8px));border-color:var(--_active-indicator-color) var(--_active-indicator-color) rgba(0,0,0,0) rgba(0,0,0,0);animation:expand-arc;animation-iteration-count:infinite;animation-fill-mode:both;animation-duration:1333ms,5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.four-color .circle{animation-name:expand-arc,four-color}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right .circle{rotate:100deg;inset:0 0 0 -100%;animation-delay:-666.5ms,0ms}@media screen and (forced-colors: active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@keyframes expand-arc{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes rotate-arc{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes linear-rotate{to{transform:rotate(360deg)}}@keyframes four-color{0%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}15%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}25%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}40%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}50%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}65%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}75%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}90%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}100%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}}/*# sourceMappingURL=circular-progress-styles.css.map */
7
+ export const styles = css `:host{--_active-indicator-color: var(--md-circular-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-width: var(--md-circular-progress-active-indicator-width, 8.3333333333);--_four-color-active-indicator-four-color: var(--md-circular-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-circular-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-circular-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-circular-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_size: var(--md-circular-progress-size, 48px);display:inline-flex;vertical-align:middle;min-block-size:var(--_size);min-inline-size:var(--_size);position:relative;align-items:center;justify-content:center;contain:strict;content-visibility:auto}.progress{flex:1;align-self:stretch;margin:4px}.progress,.spinner,.left,.right,.circle,svg,.track,.active-track{position:absolute;inset:0}svg{transform:rotate(-90deg)}circle{cx:50%;cy:50%;r:calc(50%*(1 - var(--_active-indicator-width)/100));stroke-width:calc(var(--_active-indicator-width)*1%);stroke-dasharray:100;fill:rgba(0,0,0,0)}.active-track{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);stroke:var(--_active-indicator-color)}.track{stroke:rgba(0,0,0,0)}.progress.indeterminate{animation:linear infinite linear-rotate;animation-duration:1568.2352941176ms}.spinner{animation:infinite both rotate-arc;animation-duration:5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.left{overflow:hidden;inset:0 50% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.circle{box-sizing:border-box;border-radius:50%;border:solid calc(var(--_active-indicator-width)/100*(var(--_size) - 8px));border-color:var(--_active-indicator-color) var(--_active-indicator-color) rgba(0,0,0,0) rgba(0,0,0,0);animation:expand-arc;animation-iteration-count:infinite;animation-fill-mode:both;animation-duration:1333ms,5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.four-color .circle{animation-name:expand-arc,four-color}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right .circle{rotate:100deg;inset:0 0 0 -100%;animation-delay:-666.5ms,0ms}@media(forced-colors: active){.active-track{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@keyframes expand-arc{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes rotate-arc{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes linear-rotate{to{transform:rotate(360deg)}}@keyframes four-color{0%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}15%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}25%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}40%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}50%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}65%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}75%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}90%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}100%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}}/*# sourceMappingURL=circular-progress-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=circular-progress-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"circular-progress-styles.css.js","sourceRoot":"","sources":["circular-progress-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_active-indicator-color: var(--md-circular-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-width: var(--md-circular-progress-active-indicator-width, 8.3333333333);--_four-color-active-indicator-four-color: var(--md-circular-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-circular-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-circular-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-circular-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_size: var(--md-circular-progress-size, 48px);display:inline-flex;vertical-align:middle;min-block-size:var(--_size);min-inline-size:var(--_size);position:relative;align-items:center;justify-content:center;contain:strict;content-visibility:auto}.progress{flex:1;align-self:stretch;margin:4px}.progress,.spinner,.left,.right,.circle,svg,.track,.progress{position:absolute;inset:0}svg{transform:rotate(-90deg)}circle{cx:50%;cy:50%;r:calc(50%*(1 - var(--_active-indicator-width)/100));stroke-width:calc(var(--_active-indicator-width)*1%);stroke-dasharray:100;fill:rgba(0,0,0,0)}.progress{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);stroke:var(--_active-indicator-color)}.track{stroke:rgba(0,0,0,0)}.progress.indeterminate{animation:linear infinite linear-rotate;animation-duration:1568.2352941176ms}.spinner{animation:infinite both rotate-arc;animation-duration:5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.left{overflow:hidden;inset:0 50% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.circle{box-sizing:border-box;border-radius:50%;border:solid calc(var(--_active-indicator-width)/100*(var(--_size) - 8px));border-color:var(--_active-indicator-color) var(--_active-indicator-color) rgba(0,0,0,0) rgba(0,0,0,0);animation:expand-arc;animation-iteration-count:infinite;animation-fill-mode:both;animation-duration:1333ms,5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.four-color .circle{animation-name:expand-arc,four-color}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right .circle{rotate:100deg;inset:0 0 0 -100%;animation-delay:-666.5ms,0ms}@media screen and (forced-colors: active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@keyframes expand-arc{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes rotate-arc{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes linear-rotate{to{transform:rotate(360deg)}}@keyframes four-color{0%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}15%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}25%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}40%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}50%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}65%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}75%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}90%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}100%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}}/*# sourceMappingURL=circular-progress-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"circular-progress-styles.css.js","sourceRoot":"","sources":["circular-progress-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_active-indicator-color: var(--md-circular-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-width: var(--md-circular-progress-active-indicator-width, 8.3333333333);--_four-color-active-indicator-four-color: var(--md-circular-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-circular-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-circular-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-circular-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_size: var(--md-circular-progress-size, 48px);display:inline-flex;vertical-align:middle;min-block-size:var(--_size);min-inline-size:var(--_size);position:relative;align-items:center;justify-content:center;contain:strict;content-visibility:auto}.progress{flex:1;align-self:stretch;margin:4px}.progress,.spinner,.left,.right,.circle,svg,.track,.active-track{position:absolute;inset:0}svg{transform:rotate(-90deg)}circle{cx:50%;cy:50%;r:calc(50%*(1 - var(--_active-indicator-width)/100));stroke-width:calc(var(--_active-indicator-width)*1%);stroke-dasharray:100;fill:rgba(0,0,0,0)}.active-track{transition:stroke-dashoffset 500ms cubic-bezier(0, 0, 0.2, 1);stroke:var(--_active-indicator-color)}.track{stroke:rgba(0,0,0,0)}.progress.indeterminate{animation:linear infinite linear-rotate;animation-duration:1568.2352941176ms}.spinner{animation:infinite both rotate-arc;animation-duration:5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.left{overflow:hidden;inset:0 50% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.circle{box-sizing:border-box;border-radius:50%;border:solid calc(var(--_active-indicator-width)/100*(var(--_size) - 8px));border-color:var(--_active-indicator-color) var(--_active-indicator-color) rgba(0,0,0,0) rgba(0,0,0,0);animation:expand-arc;animation-iteration-count:infinite;animation-fill-mode:both;animation-duration:1333ms,5332ms;animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1)}.four-color .circle{animation-name:expand-arc,four-color}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right .circle{rotate:100deg;inset:0 0 0 -100%;animation-delay:-666.5ms,0ms}@media(forced-colors: active){.active-track{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@keyframes expand-arc{0%{transform:rotate(265deg)}50%{transform:rotate(130deg)}100%{transform:rotate(265deg)}}@keyframes rotate-arc{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes linear-rotate{to{transform:rotate(360deg)}}@keyframes four-color{0%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}15%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}25%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}40%{border-top-color:var(--_four-color-active-indicator-two-color);border-right-color:var(--_four-color-active-indicator-two-color)}50%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}65%{border-top-color:var(--_four-color-active-indicator-three-color);border-right-color:var(--_four-color-active-indicator-three-color)}75%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}90%{border-top-color:var(--_four-color-active-indicator-four-color);border-right-color:var(--_four-color-active-indicator-four-color)}100%{border-top-color:var(--_four-color-active-indicator-one-color);border-right-color:var(--_four-color-active-indicator-one-color)}}/*# sourceMappingURL=circular-progress-styles.css.map */\n`;\n "]}
@@ -24,7 +24,7 @@ export class CircularProgress extends Progress {
24
24
  return html `
25
25
  <svg viewBox="0 0 4800 4800">
26
26
  <circle class="track" pathLength="100"></circle>
27
- <circle class="progress" pathLength="100"
27
+ <circle class="active-track" pathLength="100"
28
28
  stroke-dashoffset=${dashOffset}></circle>
29
29
  </svg>
30
30
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["circular-progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACzB,eAAe;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC3C,CAAC;IAED,sEAAsE;IACtE,yCAAyC;IACjC,0BAA0B;QAChC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACrD,mEAAmE;QACnE,4EAA4E;QAC5E,OAAO,IAAI,CAAA;;;;8BAIe,UAAU;;KAEnC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,6EAA6E;IAC7E,uDAAuD;IACvD,qEAAqE;IACrE,yEAAyE;IACjE,4BAA4B;QAClC,OAAO,IAAI,CAAA;;;;;;;;aAQF,CAAC;IACZ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html} from 'lit';\n\nimport {Progress} from './progress.js';\n\n/**\n * A circular progress component.\n */\nexport class CircularProgress extends Progress {\n protected override renderIndicator() {\n if (this.indeterminate) {\n return this.renderIndeterminateContainer();\n }\n\n return this.renderDeterminateContainer();\n }\n\n // Determinate mode is rendered with an svg so the progress arc can be\n // easily animated via stroke-dashoffset.\n private renderDeterminateContainer() {\n const dashOffset = (1 - this.value / this.max) * 100;\n // note, dash-array/offset are relative to Setting `pathLength` but\n // Chrome seems to render this inaccurately and using a large viewbox helps.\n return html`\n <svg viewBox=\"0 0 4800 4800\">\n <circle class=\"track\" pathLength=\"100\"></circle>\n <circle class=\"progress\" pathLength=\"100\"\n stroke-dashoffset=${dashOffset}></circle>\n </svg>\n `;\n }\n\n // Indeterminate mode rendered with 2 bordered-divs. The borders are\n // clipped into half circles by their containers. The divs are then carefully\n // animated to produce changes to the spinner arc size.\n // This approach has 4.5x the FPS of rendering via svg on Chrome 111.\n // See https://lit.dev/playground/#gist=febb773565272f75408ab06a0eb49746.\n private renderIndeterminateContainer() {\n return html`\n <div class=\"spinner\">\n <div class=\"left\">\n <div class=\"circle\"></div>\n </div>\n <div class=\"right\">\n <div class=\"circle\"></div>\n </div>\n </div>`;\n }\n}\n"]}
1
+ {"version":3,"file":"circular-progress.js","sourceRoot":"","sources":["circular-progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AAEzB,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,QAAQ;IACzB,eAAe;QAChC,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO,IAAI,CAAC,4BAA4B,EAAE,CAAC;SAC5C;QAED,OAAO,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAC3C,CAAC;IAED,sEAAsE;IACtE,yCAAyC;IACjC,0BAA0B;QAChC,MAAM,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACrD,mEAAmE;QACnE,4EAA4E;QAC5E,OAAO,IAAI,CAAA;;;;8BAIe,UAAU;;KAEnC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,6EAA6E;IAC7E,uDAAuD;IACvD,qEAAqE;IACrE,yEAAyE;IACjE,4BAA4B;QAClC,OAAO,IAAI,CAAA;;;;;;;;aAQF,CAAC;IACZ,CAAC;CACF","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html} from 'lit';\n\nimport {Progress} from './progress.js';\n\n/**\n * A circular progress component.\n */\nexport class CircularProgress extends Progress {\n protected override renderIndicator() {\n if (this.indeterminate) {\n return this.renderIndeterminateContainer();\n }\n\n return this.renderDeterminateContainer();\n }\n\n // Determinate mode is rendered with an svg so the progress arc can be\n // easily animated via stroke-dashoffset.\n private renderDeterminateContainer() {\n const dashOffset = (1 - this.value / this.max) * 100;\n // note, dash-array/offset are relative to Setting `pathLength` but\n // Chrome seems to render this inaccurately and using a large viewbox helps.\n return html`\n <svg viewBox=\"0 0 4800 4800\">\n <circle class=\"track\" pathLength=\"100\"></circle>\n <circle class=\"active-track\" pathLength=\"100\"\n stroke-dashoffset=${dashOffset}></circle>\n </svg>\n `;\n }\n\n // Indeterminate mode rendered with 2 bordered-divs. The borders are\n // clipped into half circles by their containers. The divs are then carefully\n // animated to produce changes to the spinner arc size.\n // This approach has 4.5x the FPS of rendering via svg on Chrome 111.\n // See https://lit.dev/playground/#gist=febb773565272f75408ab06a0eb49746.\n private renderIndeterminateContainer() {\n return html`\n <div class=\"spinner\">\n <div class=\"left\">\n <div class=\"circle\"></div>\n </div>\n <div class=\"right\">\n <div class=\"circle\"></div>\n </div>\n </div>`;\n }\n}\n"]}
@@ -4,6 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { css } from 'lit';
7
- export const styles = css `:host{--_active-indicator-color: var(--md-linear-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-linear-progress-active-indicator-height, 4px);--_four-color-active-indicator-four-color: var(--md-linear-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-linear-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-linear-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-linear-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_track-color: var(--md-linear-progress-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_track-height: var(--md-linear-progress-track-height, 4px);--_track-shape: var(--md-linear-progress-track-shape, 0px);display:block;position:relative;min-inline-size:80px;block-size:var(--_track-height);content-visibility:auto;contain:strict}.progress,.track,.buffer-bar,.bar,.bar-inner{position:absolute}.progress{inset:0;outline:rgba(0,0,0,0) solid 1px;border-radius:var(--_track-shape);overflow:hidden;display:flex;align-items:center}.bar{animation:none;inline-size:100%;block-size:var(--_active-indicator-height);transform-origin:left center;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1)}.secondary-bar{display:none}.bar-inner{inset:0;animation:none;background:var(--_active-indicator-color)}.buffer-bar{background:var(--_track-color);inset:0;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1);transform-origin:left center}.track{inset:0;animation:linear infinite 250ms;animation-name:buffering;background:0/calc(var(--_track-height) / 2 * 5) 100% radial-gradient(circle at calc(var(--_track-height) / 2 * 2), var(--_track-color) 0, var(--_track-color) calc(var(--_track-height) / 2), transparent calc(var(--_track-height) / 2))}.indeterminate .bar{transition:none}.indeterminate .primary-bar{inset-inline-start:-145.167%}.indeterminate .secondary-bar{inset-inline-start:-54.8889%;display:block}.indeterminate .track{display:none}.indeterminate.animation-ready .primary-bar{animation:linear infinite 2s;animation-name:primary-indeterminate-translate}.indeterminate.animation-ready .primary-bar>.bar-inner{animation:linear infinite 2s primary-indeterminate-scale}.indeterminate.animation-ready.four-color .primary-bar>.bar-inner{animation-name:primary-indeterminate-scale,four-color;animation-duration:2s,4s}.indeterminate.animation-ready .secondary-bar{animation:linear infinite 2s;animation-name:secondary-indeterminate-translate}.indeterminate.animation-ready .secondary-bar>.bar-inner{animation:linear infinite 2s secondary-indeterminate-scale}.indeterminate.animation-ready.four-color .secondary-bar>.bar-inner{animation-name:secondary-indeterminate-scale,four-color;animation-duration:2s,4s}:host-context([dir=rtl]) .progress .bar{transform-origin:right center}:host-context([dir=rtl]) .progress .buffer-bar{transform-origin:right center}:host-context([dir=rtl]) .progress .track{animation-name:buffering-rtl}:host-context([dir=rtl]) .progress.indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}:host-context([dir=rtl]) .progress.indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}:host([dir=rtl]) .progress .bar{transform-origin:right center}:host([dir=rtl]) .progress .buffer-bar{transform-origin:right center}:host([dir=rtl]) .progress .track{animation-name:buffering-rtl}:host([dir=rtl]) .progress.indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}:host([dir=rtl]) .progress.indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}.progress:dir(rtl) .bar{transform-origin:right center}.progress:dir(rtl) .buffer-bar{transform-origin:right center}.progress:dir(rtl) .track{animation-name:buffering-rtl}.progress:dir(rtl).indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}.progress:dir(rtl).indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.00432);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{0%{transform:translateX(calc(1 * calc(var(--_track-height) / 2 * 5)))}}@keyframes primary-indeterminate-translate{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(1 * 83.6714%))}100%{transform:translateX(calc(1 * 200.611%))}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(calc(1 * 37.6519%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(calc(1 * 84.3862%))}100%{transform:translateX(calc(1 * 160.278%))}}@keyframes buffering-rtl{0%{transform:translateX(calc(-1 * calc(var(--_track-height) / 2 * 5)))}}@keyframes primary-indeterminate-translate-rtl{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-1 * 83.6714%))}100%{transform:translateX(calc(-1 * 200.611%))}}@keyframes secondary-indeterminate-translate-rtl{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(calc(-1 * 37.6519%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(calc(-1 * 84.3862%))}100%{transform:translateX(calc(-1 * 160.278%))}}@keyframes four-color{0%{background:var(--_four-color-active-indicator-one-color)}15%{background:var(--_four-color-active-indicator-one-color)}25%{background:var(--_four-color-active-indicator-two-color)}40%{background:var(--_four-color-active-indicator-two-color)}50%{background:var(--_four-color-active-indicator-three-color)}65%{background:var(--_four-color-active-indicator-three-color)}75%{background:var(--_four-color-active-indicator-four-color)}90%{background:var(--_four-color-active-indicator-four-color)}100%{background:var(--_four-color-active-indicator-one-color)}}@media screen and (forced-colors: active){.progress{--_active-indicator-color: canvastext;--_track-color: graytext;border:1px solid canvastext}.indeterminate.progress{--_track-color: canvas}}/*# sourceMappingURL=linear-progress-styles.css.map */
7
+ export const styles = css `:host{--_active-indicator-color: var(--md-linear-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-linear-progress-active-indicator-height, 4px);--_four-color-active-indicator-four-color: var(--md-linear-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-linear-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-linear-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-linear-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_track-color: var(--md-linear-progress-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_track-height: var(--md-linear-progress-track-height, 4px);--_track-shape: var(--md-linear-progress-track-shape, 0px);border-radius:var(--_track-shape);display:flex;position:relative;width:80px;height:var(--_track-height);content-visibility:auto;contain:strict}.progress,.dots,.inactive-track,.bar,.bar-inner{position:absolute}.progress{direction:ltr;inset:0;border-radius:inherit;overflow:hidden;display:flex;align-items:center}.bar{animation:none;width:100%;height:var(--_active-indicator-height);transform-origin:left center;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1)}.secondary-bar{display:none}.bar-inner{inset:0;animation:none;background:var(--_active-indicator-color)}.inactive-track{background:var(--_track-color);inset:0;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1);transform-origin:left center}.dots{inset:0;animation:linear infinite 250ms;animation-name:buffering;background:0/calc(var(--_track-height) / 2 * 5) 100% radial-gradient(circle at calc(var(--_track-height) / 2 * 2), var(--_track-color) 0, var(--_track-color) calc(var(--_track-height) / 2), transparent calc(var(--_track-height) / 2));z-index:-1}.indeterminate .bar{transition:none}.indeterminate .primary-bar{inset-inline-start:-145.167%}.indeterminate .secondary-bar{inset-inline-start:-54.8889%;display:block}.indeterminate .dots{display:none}.indeterminate .primary-bar{animation:linear infinite 2s;animation-name:primary-indeterminate-translate}.indeterminate .primary-bar>.bar-inner{animation:linear infinite 2s primary-indeterminate-scale}.indeterminate.four-color .primary-bar>.bar-inner{animation-name:primary-indeterminate-scale,four-color;animation-duration:2s,4s}.indeterminate .secondary-bar{animation:linear infinite 2s;animation-name:secondary-indeterminate-translate}.indeterminate .secondary-bar>.bar-inner{animation:linear infinite 2s secondary-indeterminate-scale}.indeterminate.four-color .secondary-bar>.bar-inner{animation-name:secondary-indeterminate-scale,four-color;animation-duration:2s,4s}:host-context([dir=rtl]),:host([dir=rtl]){transform:scale(-1)}:host(:dir(rtl)){transform:scale(-1)}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.00432);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{0%{transform:translateX(calc(var(--_track-height) / 2 * 5))}}@keyframes primary-indeterminate-translate{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.6714%)}100%{transform:translateX(200.611%)}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.6519%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.3862%)}100%{transform:translateX(160.278%)}}@keyframes four-color{0%{background:var(--_four-color-active-indicator-one-color)}15%{background:var(--_four-color-active-indicator-one-color)}25%{background:var(--_four-color-active-indicator-two-color)}40%{background:var(--_four-color-active-indicator-two-color)}50%{background:var(--_four-color-active-indicator-three-color)}65%{background:var(--_four-color-active-indicator-three-color)}75%{background:var(--_four-color-active-indicator-four-color)}90%{background:var(--_four-color-active-indicator-four-color)}100%{background:var(--_four-color-active-indicator-one-color)}}@media(forced-colors: active){:host{outline:1px solid CanvasText}.bar-inner{background:CanvasText}}/*# sourceMappingURL=linear-progress-styles.css.map */
8
8
  `;
9
9
  //# sourceMappingURL=linear-progress-styles.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear-progress-styles.css.js","sourceRoot":"","sources":["linear-progress-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_active-indicator-color: var(--md-linear-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-linear-progress-active-indicator-height, 4px);--_four-color-active-indicator-four-color: var(--md-linear-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-linear-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-linear-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-linear-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_track-color: var(--md-linear-progress-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_track-height: var(--md-linear-progress-track-height, 4px);--_track-shape: var(--md-linear-progress-track-shape, 0px);display:block;position:relative;min-inline-size:80px;block-size:var(--_track-height);content-visibility:auto;contain:strict}.progress,.track,.buffer-bar,.bar,.bar-inner{position:absolute}.progress{inset:0;outline:rgba(0,0,0,0) solid 1px;border-radius:var(--_track-shape);overflow:hidden;display:flex;align-items:center}.bar{animation:none;inline-size:100%;block-size:var(--_active-indicator-height);transform-origin:left center;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1)}.secondary-bar{display:none}.bar-inner{inset:0;animation:none;background:var(--_active-indicator-color)}.buffer-bar{background:var(--_track-color);inset:0;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1);transform-origin:left center}.track{inset:0;animation:linear infinite 250ms;animation-name:buffering;background:0/calc(var(--_track-height) / 2 * 5) 100% radial-gradient(circle at calc(var(--_track-height) / 2 * 2), var(--_track-color) 0, var(--_track-color) calc(var(--_track-height) / 2), transparent calc(var(--_track-height) / 2))}.indeterminate .bar{transition:none}.indeterminate .primary-bar{inset-inline-start:-145.167%}.indeterminate .secondary-bar{inset-inline-start:-54.8889%;display:block}.indeterminate .track{display:none}.indeterminate.animation-ready .primary-bar{animation:linear infinite 2s;animation-name:primary-indeterminate-translate}.indeterminate.animation-ready .primary-bar>.bar-inner{animation:linear infinite 2s primary-indeterminate-scale}.indeterminate.animation-ready.four-color .primary-bar>.bar-inner{animation-name:primary-indeterminate-scale,four-color;animation-duration:2s,4s}.indeterminate.animation-ready .secondary-bar{animation:linear infinite 2s;animation-name:secondary-indeterminate-translate}.indeterminate.animation-ready .secondary-bar>.bar-inner{animation:linear infinite 2s secondary-indeterminate-scale}.indeterminate.animation-ready.four-color .secondary-bar>.bar-inner{animation-name:secondary-indeterminate-scale,four-color;animation-duration:2s,4s}:host-context([dir=rtl]) .progress .bar{transform-origin:right center}:host-context([dir=rtl]) .progress .buffer-bar{transform-origin:right center}:host-context([dir=rtl]) .progress .track{animation-name:buffering-rtl}:host-context([dir=rtl]) .progress.indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}:host-context([dir=rtl]) .progress.indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}:host([dir=rtl]) .progress .bar{transform-origin:right center}:host([dir=rtl]) .progress .buffer-bar{transform-origin:right center}:host([dir=rtl]) .progress .track{animation-name:buffering-rtl}:host([dir=rtl]) .progress.indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}:host([dir=rtl]) .progress.indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}.progress:dir(rtl) .bar{transform-origin:right center}.progress:dir(rtl) .buffer-bar{transform-origin:right center}.progress:dir(rtl) .track{animation-name:buffering-rtl}.progress:dir(rtl).indeterminate.animation-ready .primary-bar{animation-name:primary-indeterminate-translate-rtl}.progress:dir(rtl).indeterminate.animation-ready .secondary-bar{animation-name:secondary-indeterminate-translate-rtl}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.00432);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{0%{transform:translateX(calc(1 * calc(var(--_track-height) / 2 * 5)))}}@keyframes primary-indeterminate-translate{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(1 * 83.6714%))}100%{transform:translateX(calc(1 * 200.611%))}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(calc(1 * 37.6519%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(calc(1 * 84.3862%))}100%{transform:translateX(calc(1 * 160.278%))}}@keyframes buffering-rtl{0%{transform:translateX(calc(-1 * calc(var(--_track-height) / 2 * 5)))}}@keyframes primary-indeterminate-translate-rtl{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-1 * 83.6714%))}100%{transform:translateX(calc(-1 * 200.611%))}}@keyframes secondary-indeterminate-translate-rtl{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(calc(-1 * 37.6519%))}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(calc(-1 * 84.3862%))}100%{transform:translateX(calc(-1 * 160.278%))}}@keyframes four-color{0%{background:var(--_four-color-active-indicator-one-color)}15%{background:var(--_four-color-active-indicator-one-color)}25%{background:var(--_four-color-active-indicator-two-color)}40%{background:var(--_four-color-active-indicator-two-color)}50%{background:var(--_four-color-active-indicator-three-color)}65%{background:var(--_four-color-active-indicator-three-color)}75%{background:var(--_four-color-active-indicator-four-color)}90%{background:var(--_four-color-active-indicator-four-color)}100%{background:var(--_four-color-active-indicator-one-color)}}@media screen and (forced-colors: active){.progress{--_active-indicator-color: canvastext;--_track-color: graytext;border:1px solid canvastext}.indeterminate.progress{--_track-color: canvas}}/*# sourceMappingURL=linear-progress-styles.css.map */\n`;\n "]}
1
+ {"version":3,"file":"linear-progress-styles.css.js","sourceRoot":"","sources":["linear-progress-styles.css.ts"],"names":[],"mappings":"AAAA;;;;IAII;AACH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;CACzB,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n import {css} from 'lit';\n export const styles = css`:host{--_active-indicator-color: var(--md-linear-progress-active-indicator-color, var(--md-sys-color-primary, #6750a4));--_active-indicator-height: var(--md-linear-progress-active-indicator-height, 4px);--_four-color-active-indicator-four-color: var(--md-linear-progress-four-color-active-indicator-four-color, var(--md-sys-color-tertiary-container, #ffd8e4));--_four-color-active-indicator-one-color: var(--md-linear-progress-four-color-active-indicator-one-color, var(--md-sys-color-primary, #6750a4));--_four-color-active-indicator-three-color: var(--md-linear-progress-four-color-active-indicator-three-color, var(--md-sys-color-tertiary, #7d5260));--_four-color-active-indicator-two-color: var(--md-linear-progress-four-color-active-indicator-two-color, var(--md-sys-color-primary-container, #eaddff));--_track-color: var(--md-linear-progress-track-color, var(--md-sys-color-surface-container-highest, #e6e0e9));--_track-height: var(--md-linear-progress-track-height, 4px);--_track-shape: var(--md-linear-progress-track-shape, 0px);border-radius:var(--_track-shape);display:flex;position:relative;width:80px;height:var(--_track-height);content-visibility:auto;contain:strict}.progress,.dots,.inactive-track,.bar,.bar-inner{position:absolute}.progress{direction:ltr;inset:0;border-radius:inherit;overflow:hidden;display:flex;align-items:center}.bar{animation:none;width:100%;height:var(--_active-indicator-height);transform-origin:left center;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1)}.secondary-bar{display:none}.bar-inner{inset:0;animation:none;background:var(--_active-indicator-color)}.inactive-track{background:var(--_track-color);inset:0;transition:transform 250ms cubic-bezier(0.4, 0, 0.6, 1);transform-origin:left center}.dots{inset:0;animation:linear infinite 250ms;animation-name:buffering;background:0/calc(var(--_track-height) / 2 * 5) 100% radial-gradient(circle at calc(var(--_track-height) / 2 * 2), var(--_track-color) 0, var(--_track-color) calc(var(--_track-height) / 2), transparent calc(var(--_track-height) / 2));z-index:-1}.indeterminate .bar{transition:none}.indeterminate .primary-bar{inset-inline-start:-145.167%}.indeterminate .secondary-bar{inset-inline-start:-54.8889%;display:block}.indeterminate .dots{display:none}.indeterminate .primary-bar{animation:linear infinite 2s;animation-name:primary-indeterminate-translate}.indeterminate .primary-bar>.bar-inner{animation:linear infinite 2s primary-indeterminate-scale}.indeterminate.four-color .primary-bar>.bar-inner{animation-name:primary-indeterminate-scale,four-color;animation-duration:2s,4s}.indeterminate .secondary-bar{animation:linear infinite 2s;animation-name:secondary-indeterminate-translate}.indeterminate .secondary-bar>.bar-inner{animation:linear infinite 2s secondary-indeterminate-scale}.indeterminate.four-color .secondary-bar>.bar-inner{animation-name:secondary-indeterminate-scale,four-color;animation-duration:2s,4s}:host-context([dir=rtl]),:host([dir=rtl]){transform:scale(-1)}:host(:dir(rtl)){transform:scale(-1)}@keyframes primary-indeterminate-scale{0%{transform:scaleX(0.08)}36.65%{animation-timing-function:cubic-bezier(0.334731, 0.12482, 0.785844, 1);transform:scaleX(0.08)}69.15%{animation-timing-function:cubic-bezier(0.06, 0.11, 0.6, 1);transform:scaleX(0.661479)}100%{transform:scaleX(0.08)}}@keyframes secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(0.205028, 0.057051, 0.57661, 0.453971);transform:scaleX(0.08)}19.15%{animation-timing-function:cubic-bezier(0.152313, 0.196432, 0.648374, 1.00432);transform:scaleX(0.457104)}44.15%{animation-timing-function:cubic-bezier(0.257759, -0.003163, 0.211762, 1.38179);transform:scaleX(0.72796)}100%{transform:scaleX(0.08)}}@keyframes buffering{0%{transform:translateX(calc(var(--_track-height) / 2 * 5))}}@keyframes primary-indeterminate-translate{0%{transform:translateX(0px)}20%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(0px)}59.15%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(83.6714%)}100%{transform:translateX(200.611%)}}@keyframes secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(0.15, 0, 0.515058, 0.409685);transform:translateX(0px)}25%{animation-timing-function:cubic-bezier(0.31033, 0.284058, 0.8, 0.733712);transform:translateX(37.6519%)}48.35%{animation-timing-function:cubic-bezier(0.4, 0.627035, 0.6, 0.902026);transform:translateX(84.3862%)}100%{transform:translateX(160.278%)}}@keyframes four-color{0%{background:var(--_four-color-active-indicator-one-color)}15%{background:var(--_four-color-active-indicator-one-color)}25%{background:var(--_four-color-active-indicator-two-color)}40%{background:var(--_four-color-active-indicator-two-color)}50%{background:var(--_four-color-active-indicator-three-color)}65%{background:var(--_four-color-active-indicator-three-color)}75%{background:var(--_four-color-active-indicator-four-color)}90%{background:var(--_four-color-active-indicator-four-color)}100%{background:var(--_four-color-active-indicator-one-color)}}@media(forced-colors: active){:host{outline:1px solid CanvasText}.bar-inner{background:CanvasText}}/*# sourceMappingURL=linear-progress-styles.css.map */\n`;\n "]}
@@ -12,16 +12,5 @@ export declare class LinearProgress extends Progress {
12
12
  * Buffer amount to display, a fraction between 0 and 1.
13
13
  */
14
14
  buffer: number;
15
- private readonly rootEl;
16
- private animationReady;
17
- private resizeObserver;
18
- protected getRenderClasses(): {
19
- 'animation-ready': boolean;
20
- indeterminate: boolean;
21
- 'four-color': boolean;
22
- };
23
15
  protected renderIndicator(): import("lit-html").TemplateResult<1>;
24
- connectedCallback(): Promise<void>;
25
- disconnectedCallback(): void;
26
- private restartAnimation;
27
16
  }
@@ -5,7 +5,7 @@
5
5
  */
6
6
  import { __decorate } from "tslib";
7
7
  import { html } from 'lit';
8
- import { property, query, state } from 'lit/decorators.js';
8
+ import { property } from 'lit/decorators.js';
9
9
  import { styleMap } from 'lit/directives/style-map.js';
10
10
  import { Progress } from './progress.js';
11
11
  /**
@@ -18,14 +18,6 @@ export class LinearProgress extends Progress {
18
18
  * Buffer amount to display, a fraction between 0 and 1.
19
19
  */
20
20
  this.buffer = 1;
21
- this.animationReady = true;
22
- this.resizeObserver = null;
23
- }
24
- getRenderClasses() {
25
- return {
26
- ...super.getRenderClasses(),
27
- 'animation-ready': this.animationReady,
28
- };
29
21
  }
30
22
  // Note, the indeterminate animation is rendered with transform %'s
31
23
  // Previously, this was optimized to use px calculated with the resizeObserver
@@ -34,12 +26,12 @@ export class LinearProgress extends Progress {
34
26
  const progressStyles = {
35
27
  transform: `scaleX(${(this.indeterminate ? 1 : this.value / this.max) * 100}%)`
36
28
  };
37
- const bufferStyles = {
29
+ const dotStyles = {
38
30
  transform: `scaleX(${(this.indeterminate ? 1 : this.buffer / this.max) * 100}%)`
39
31
  };
40
32
  return html `
41
- <div class="track"></div>
42
- <div class="buffer-bar" style=${styleMap(bufferStyles)}></div>
33
+ <div class="dots"></div>
34
+ <div class="inactive-track" style=${styleMap(dotStyles)}></div>
43
35
  <div class="bar primary-bar" style=${styleMap(progressStyles)}>
44
36
  <div class="bar-inner"></div>
45
37
  </div>
@@ -48,44 +40,8 @@ export class LinearProgress extends Progress {
48
40
  </div>
49
41
  `;
50
42
  }
51
- async connectedCallback() {
52
- super.connectedCallback();
53
- // wait for rendering.
54
- await this.updateComplete;
55
- if (this.resizeObserver) {
56
- return;
57
- }
58
- this.resizeObserver = new ResizeObserver(() => {
59
- if (this.indeterminate) {
60
- this.restartAnimation();
61
- }
62
- });
63
- this.resizeObserver.observe(this.rootEl);
64
- }
65
- disconnectedCallback() {
66
- if (this.resizeObserver) {
67
- this.resizeObserver.disconnect();
68
- this.resizeObserver = null;
69
- }
70
- super.disconnectedCallback();
71
- }
72
- // When size changes, restart the animation
73
- // to avoid jank.
74
- async restartAnimation() {
75
- await this.updateComplete;
76
- this.animationReady = false;
77
- await new Promise(requestAnimationFrame);
78
- this.animationReady = true;
79
- await this.updateComplete;
80
- }
81
43
  }
82
44
  __decorate([
83
45
  property({ type: Number })
84
46
  ], LinearProgress.prototype, "buffer", void 0);
85
- __decorate([
86
- query('.progress')
87
- ], LinearProgress.prototype, "rootEl", void 0);
88
- __decorate([
89
- state()
90
- ], LinearProgress.prototype, "animationReady", void 0);
91
47
  //# sourceMappingURL=linear-progress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"linear-progress.js","sourceRoot":"","sources":["linear-progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAA5C;;QACE;;WAEG;QACuB,WAAM,GAAG,CAAC,CAAC;QAIpB,mBAAc,GAAG,IAAI,CAAC;QAC/B,mBAAc,GAAwB,IAAI,CAAC;IAkErD,CAAC;IAhEoB,gBAAgB;QACjC,OAAO;YACL,GAAG,KAAK,CAAC,gBAAgB,EAAE;YAC3B,iBAAiB,EAAE,IAAI,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC;IAED,mEAAmE;IACnE,8EAA8E;IAC9E,mDAAmD;IAChC,eAAe;QAChC,MAAM,cAAc,GAAG;YACrB,SAAS,EACL,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;SACzE,CAAC;QACF,MAAM,YAAY,GAAG;YACnB,SAAS,EACL,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;SAC1E,CAAC;QAEF,OAAO,IAAI,CAAA;;sCAEuB,QAAQ,CAAC,YAAY,CAAC;2CACjB,QAAQ,CAAC,cAAc,CAAC;;;;;;KAM9D,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,iBAAiB;QAC9B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,sBAAsB;QACtB,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO;SACR;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC5C,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;IAC5C,CAAC;IAEQ,oBAAoB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;SAC5B;QACD,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC/B,CAAC;IAED,2CAA2C;IAC3C,iBAAiB;IACT,KAAK,CAAC,gBAAgB;QAC5B,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,MAAM,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;CACF;AAvE2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CAAY;AAEjB;IAAnB,KAAK,CAAC,WAAW,CAAC;8CAA4C;AAEtD;IAAR,KAAK,EAAE;sDAA+B","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html} from 'lit';\nimport {property, query, state} from 'lit/decorators.js';\nimport {styleMap} from 'lit/directives/style-map.js';\n\nimport {Progress} from './progress.js';\n\n/**\n * A linear progress component.\n */\nexport class LinearProgress extends Progress {\n /**\n * Buffer amount to display, a fraction between 0 and 1.\n */\n @property({type: Number}) buffer = 1;\n\n @query('.progress') private readonly rootEl!: HTMLElement|null;\n\n @state() private animationReady = true;\n private resizeObserver: ResizeObserver|null = null;\n\n protected override getRenderClasses() {\n return {\n ...super.getRenderClasses(),\n 'animation-ready': this.animationReady,\n };\n }\n\n // Note, the indeterminate animation is rendered with transform %'s\n // Previously, this was optimized to use px calculated with the resizeObserver\n // due to a now fixed Chrome bug: crbug.com/389359.\n protected override renderIndicator() {\n const progressStyles = {\n transform:\n `scaleX(${(this.indeterminate ? 1 : this.value / this.max) * 100}%)`\n };\n const bufferStyles = {\n transform:\n `scaleX(${(this.indeterminate ? 1 : this.buffer / this.max) * 100}%)`\n };\n\n return html`\n <div class=\"track\"></div>\n <div class=\"buffer-bar\" style=${styleMap(bufferStyles)}></div>\n <div class=\"bar primary-bar\" style=${styleMap(progressStyles)}>\n <div class=\"bar-inner\"></div>\n </div>\n <div class=\"bar secondary-bar\">\n <div class=\"bar-inner\"></div>\n </div>\n `;\n }\n\n override async connectedCallback() {\n super.connectedCallback();\n // wait for rendering.\n await this.updateComplete;\n if (this.resizeObserver) {\n return;\n }\n this.resizeObserver = new ResizeObserver(() => {\n if (this.indeterminate) {\n this.restartAnimation();\n }\n });\n this.resizeObserver.observe(this.rootEl!);\n }\n\n override disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n super.disconnectedCallback();\n }\n\n // When size changes, restart the animation\n // to avoid jank.\n private async restartAnimation() {\n await this.updateComplete;\n this.animationReady = false;\n await new Promise(requestAnimationFrame);\n this.animationReady = true;\n await this.updateComplete;\n }\n}\n"]}
1
+ {"version":3,"file":"linear-progress.js","sourceRoot":"","sources":["linear-progress.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAEvC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,QAAQ;IAA5C;;QACE;;WAEG;QACuB,WAAM,GAAG,CAAC,CAAC;IA0BvC,CAAC;IAxBC,mEAAmE;IACnE,8EAA8E;IAC9E,mDAAmD;IAChC,eAAe;QAChC,MAAM,cAAc,GAAG;YACrB,SAAS,EACL,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;SACzE,CAAC;QACF,MAAM,SAAS,GAAG;YAChB,SAAS,EACL,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI;SAC1E,CAAC;QAEF,OAAO,IAAI,CAAA;;0CAE2B,QAAQ,CAAC,SAAS,CAAC;2CAClB,QAAQ,CAAC,cAAc,CAAC;;;;;;KAM9D,CAAC;IACJ,CAAC;CACF;AA1B2B;IAAzB,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,EAAC,CAAC;8CAAY","sourcesContent":["/**\n * @license\n * Copyright 2023 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {html} from 'lit';\nimport {property} from 'lit/decorators.js';\nimport {styleMap} from 'lit/directives/style-map.js';\n\nimport {Progress} from './progress.js';\n\n/**\n * A linear progress component.\n */\nexport class LinearProgress extends Progress {\n /**\n * Buffer amount to display, a fraction between 0 and 1.\n */\n @property({type: Number}) buffer = 1;\n\n // Note, the indeterminate animation is rendered with transform %'s\n // Previously, this was optimized to use px calculated with the resizeObserver\n // due to a now fixed Chrome bug: crbug.com/389359.\n protected override renderIndicator() {\n const progressStyles = {\n transform:\n `scaleX(${(this.indeterminate ? 1 : this.value / this.max) * 100}%)`\n };\n const dotStyles = {\n transform:\n `scaleX(${(this.indeterminate ? 1 : this.buffer / this.max) * 100}%)`\n };\n\n return html`\n <div class=\"dots\"></div>\n <div class=\"inactive-track\" style=${styleMap(dotStyles)}></div>\n <div class=\"bar primary-bar\" style=${styleMap(progressStyles)}>\n <div class=\"bar-inner\"></div>\n </div>\n <div class=\"bar secondary-bar\">\n <div class=\"bar-inner\"></div>\n </div>\n `;\n }\n}\n"]}
@@ -14,7 +14,7 @@ export declare class Radio extends LitElement {
14
14
  /** @nocollapse */
15
15
  static shadowRootOptions: ShadowRootInit;
16
16
  /** @nocollapse */
17
- static formAssociated: boolean;
17
+ static readonly formAssociated = true;
18
18
  private readonly maskId;
19
19
  /**
20
20
  * Whether or not the radio is selected.