m3-svelte 4.1.0 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/package/buttons/Button.svelte +5 -2
  2. package/package/buttons/FAB.svelte +0 -1
  3. package/package/containers/MenuItem.svelte +0 -1
  4. package/package/containers/Snackbar.svelte +5 -13
  5. package/package/forms/Checkbox.svelte +4 -4
  6. package/package/forms/Chip.svelte +1 -1
  7. package/package/forms/CircularProgress.svelte +27 -14
  8. package/package/forms/CircularProgress.svelte.d.ts +2 -0
  9. package/package/forms/CircularProgressEstimate.svelte +97 -0
  10. package/package/forms/CircularProgressEstimate.svelte.d.ts +8 -0
  11. package/package/forms/CircularProgressIndeterminate.svelte +5 -1
  12. package/package/forms/CircularProgressIndeterminate.svelte.d.ts +1 -0
  13. package/package/forms/LinearProgress.svelte +12 -29
  14. package/package/forms/LinearProgress.svelte.d.ts +2 -2
  15. package/package/forms/LinearProgressEstimate.svelte +136 -0
  16. package/package/forms/LinearProgressEstimate.svelte.d.ts +7 -0
  17. package/package/forms/LinearProgressIndeterminate.svelte +4 -0
  18. package/package/forms/LinearProgressIndeterminate.svelte.d.ts +1 -0
  19. package/package/forms/LoadingIndicator.svelte +64 -0
  20. package/package/forms/LoadingIndicator.svelte.d.ts +8 -0
  21. package/package/forms/RadioAnim1.svelte +2 -2
  22. package/package/forms/RadioAnim2.svelte +2 -2
  23. package/package/forms/RadioAnim3.svelte +2 -2
  24. package/package/forms/Slider.svelte +2 -2
  25. package/package/forms/SliderTicks.svelte +2 -2
  26. package/package/forms/Switch.svelte +6 -4
  27. package/package/forms/WavyLinearProgress.svelte +67 -0
  28. package/package/forms/WavyLinearProgress.svelte.d.ts +9 -0
  29. package/package/forms/WavyLinearProgressEstimate.svelte +82 -0
  30. package/package/forms/WavyLinearProgressEstimate.svelte.d.ts +9 -0
  31. package/package/forms/_picker/FocusPicker.svelte +5 -13
  32. package/package/forms/_picker/Header.svelte +8 -11
  33. package/package/forms/_picker/Item.svelte +9 -15
  34. package/package/forms/_wavy.d.ts +2 -0
  35. package/package/forms/_wavy.js +32 -0
  36. package/package/index.d.ts +5 -0
  37. package/package/index.js +5 -0
  38. package/package/misc/_ripple.svelte +9 -8
  39. package/package/misc/_ripplesimple.svelte +9 -8
  40. package/package/misc/colors.d.ts +4 -0
  41. package/package/misc/colors.js +24 -0
  42. package/package/misc/utils.d.ts +0 -4
  43. package/package/misc/utils.js +5 -57
  44. package/package/nav/NavCMLXItem.svelte +2 -2
  45. package/package/nav/Tabs.svelte +2 -2
  46. package/package/nav/TabsLink.svelte +2 -2
  47. package/package/nav/VariableTabs.svelte +5 -5
  48. package/package/nav/VariableTabsLink.svelte +1 -1
  49. package/package/utils/DateField.svelte +3 -11
  50. package/package.json +2 -2
@@ -92,7 +92,10 @@
92
92
  gap: 0.5rem;
93
93
  padding: 0 1rem;
94
94
  border-radius: var(--m3-button-shape);
95
- transition: all 200ms;
95
+ transition:
96
+ border-radius var(--m3-util-easing-fast-spatial),
97
+ background-color var(--m3-util-easing-fast),
98
+ color var(--m3-util-easing-fast);
96
99
 
97
100
  align-items: center;
98
101
  justify-content: center;
@@ -146,7 +149,7 @@
146
149
  }
147
150
  &.outlined:not(:disabled, :global(input:disabled) + label) {
148
151
  outline-color: rgb(var(--m3-scheme-outline));
149
- color: rgb(var(--m3-scheme-primary));
152
+ color: rgb(var(--m3-scheme-on-surface-variant));
150
153
  &:is(:global(input:checked) + label) {
151
154
  outline-color: rgb(var(--m3-scheme-inverse-surface));
152
155
  background-color: rgb(var(--m3-scheme-inverse-surface));
@@ -67,7 +67,6 @@
67
67
  align-items: center;
68
68
  justify-content: center;
69
69
  cursor: pointer;
70
- transition: all 200ms;
71
70
  }
72
71
 
73
72
  .elevation-normal {
@@ -44,7 +44,6 @@
44
44
 
45
45
  -webkit-tap-highlight-color: transparent;
46
46
  cursor: pointer;
47
- transition: all 200ms;
48
47
  }
49
48
  .icon {
50
49
  width: 1.5rem;
@@ -19,6 +19,7 @@
19
19
  import iconX from "@ktibow/iconset-material-symbols/close";
20
20
  import Icon from "../misc/_icon.svelte";
21
21
  import SnackbarItem from "./SnackbarItem.svelte";
22
+ import Layer from "../misc/Layer.svelte";
22
23
 
23
24
  type SnackbarConfig = Omit<ComponentProps<typeof SnackbarItem>, "children">;
24
25
 
@@ -63,6 +64,7 @@
63
64
  snackbar = undefined;
64
65
  }}
65
66
  >
67
+ <Layer />
66
68
  <Icon icon={iconX} />
67
69
  </button>
68
70
  {/if}
@@ -92,10 +94,9 @@
92
94
  border: none;
93
95
 
94
96
  background-color: transparent;
95
- color: rgb(var(--text));
96
97
  -webkit-tap-highlight-color: transparent;
97
98
  cursor: pointer;
98
- transition: all 200ms;
99
+ position: relative;
99
100
  }
100
101
  button :global(svg) {
101
102
  width: 1.5rem;
@@ -103,21 +104,12 @@
103
104
  }
104
105
 
105
106
  .action {
106
- --text: var(--m3-scheme-inverse-primary);
107
+ color: var(--m3-scheme-inverse-primary);
107
108
  padding: 0 0.5rem;
108
109
  }
109
110
  .close {
110
- --text: var(--m3-scheme-inverse-on-surface);
111
+ color: var(--m3-scheme-inverse-on-surface);
111
112
  padding: 0 0.75rem;
112
113
  margin-right: -1rem;
113
114
  }
114
- @media (hover: hover) {
115
- button:hover {
116
- background-color: rgb(var(--text) / 0.08);
117
- }
118
- }
119
- button:focus-visible,
120
- button:active {
121
- background-color: rgb(var(--text) / 0.12);
122
- }
123
115
  </style>
@@ -55,7 +55,7 @@
55
55
  inset: 0.6875rem;
56
56
  border-radius: 0.125rem;
57
57
  border: solid 0.125rem currentColor;
58
- transition: all 200ms;
58
+ transition: var(--m3-util-easing-fast);
59
59
  -webkit-tap-highlight-color: transparent;
60
60
  }
61
61
 
@@ -65,11 +65,11 @@
65
65
  color: rgb(var(--m3-scheme-on-primary));
66
66
  opacity: 0;
67
67
  pointer-events: none;
68
- transition: opacity 200ms;
68
+ transition: var(--m3-util-easing-fast);
69
69
  path {
70
70
  stroke-dasharray: 20.874 20.874;
71
71
  stroke-dashoffset: 20.874;
72
- transition: stroke-dashoffset 0ms 200ms;
72
+ transition: stroke-dashoffset 0ms 300ms;
73
73
  }
74
74
  }
75
75
 
@@ -88,7 +88,7 @@
88
88
  opacity: 1;
89
89
  path {
90
90
  stroke-dashoffset: 0;
91
- transition: stroke-dashoffset 200ms;
91
+ transition: stroke-dashoffset var(--m3-util-easing-slow);
92
92
  }
93
93
  }
94
94
 
@@ -71,7 +71,7 @@
71
71
  position: relative;
72
72
  cursor: pointer;
73
73
  -webkit-tap-highlight-color: transparent;
74
- transition: all 200ms;
74
+ transition: var(--m3-util-easing-fast);
75
75
  }
76
76
 
77
77
  .m3-container > :global(:is(.ripple-container, .tint)) {
@@ -1,24 +1,40 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
 
4
- let { percent, ...extra }: { percent: number } & HTMLAttributes<SVGElement> = $props();
4
+ let {
5
+ percent,
6
+ size = 48,
7
+ thickness = 4,
8
+ }: { percent: number; size?: number; thickness?: number } & HTMLAttributes<SVGElement> = $props();
9
+
10
+ let r = $derived(size / 2 - thickness / 2);
11
+ let circumference = $derived(Math.PI * r * 2);
5
12
  </script>
6
13
 
7
14
  <svg
8
- viewBox="0 0 48 48"
15
+ width={size}
16
+ height={size}
17
+ viewBox="0 0 {size} {size}"
9
18
  xmlns="http://www.w3.org/2000/svg"
10
19
  class="m3-container"
11
- style:--percent="{percent}px"
12
20
  role="progressbar"
13
- {...extra}
14
21
  >
15
22
  <circle
16
- cx="24"
17
- cy="24"
18
- r="20"
23
+ cx={size / 2}
24
+ cy={size / 2}
25
+ {r}
26
+ stroke="rgb(var(--m3-scheme-secondary-container))"
27
+ stroke-width={thickness}
28
+ fill="none"
29
+ />
30
+ <circle
31
+ cx={size / 2}
32
+ cy={size / 2}
33
+ {r}
19
34
  stroke="rgb(var(--m3-scheme-primary))"
20
- stroke-width="4"
21
- stroke-dasharray="125.66 125.66"
35
+ stroke-width={thickness}
36
+ stroke-dasharray="{circumference} {circumference}"
37
+ stroke-dashoffset={(percent / -100) * circumference + circumference}
22
38
  stroke-linecap="round"
23
39
  fill="none"
24
40
  />
@@ -26,12 +42,9 @@
26
42
 
27
43
  <style>
28
44
  svg {
29
- width: 3rem;
30
- height: 3rem;
31
- transform: rotate(-90deg);
45
+ rotate: -90deg;
32
46
  }
33
47
  circle {
34
- stroke-dashoffset: calc((var(--percent) / -100 + 1px) * 125.66);
35
- transition: all 200ms;
48
+ transition: var(--m3-util-easing-fast);
36
49
  }
37
50
  </style>
@@ -1,6 +1,8 @@
1
1
  import type { HTMLAttributes } from "svelte/elements";
2
2
  type $$ComponentProps = {
3
3
  percent: number;
4
+ size?: number;
5
+ thickness?: number;
4
6
  } & HTMLAttributes<SVGElement>;
5
7
  declare const CircularProgress: import("svelte").Component<$$ComponentProps, {}, "">;
6
8
  type CircularProgress = ReturnType<typeof CircularProgress>;
@@ -0,0 +1,97 @@
1
+ <script lang="ts">
2
+ let {
3
+ sToHalfway = 1,
4
+ size = 48,
5
+ thickness = 2,
6
+ }: {
7
+ sToHalfway?: number;
8
+ size?: number;
9
+ thickness?: number;
10
+ } = $props();
11
+
12
+ let r = $derived(size / 2 - thickness / 2);
13
+ let circumference = $derived(Math.PI * r * 2);
14
+
15
+ /* Easing calculated the same way it was in LinearProgressEstimate */
16
+ </script>
17
+
18
+ <svg
19
+ width={size}
20
+ height={size}
21
+ viewBox="0 0 {size} {size}"
22
+ class="m3-container"
23
+ role="progressbar"
24
+ style:--speed="{sToHalfway * 8}s"
25
+ style:--circumference={circumference}
26
+ >
27
+ <circle
28
+ cx={size / 2}
29
+ cy={size / 2}
30
+ {r}
31
+ stroke="rgb(var(--m3-scheme-secondary-container))"
32
+ stroke-width={thickness}
33
+ fill="none"
34
+ />
35
+ <circle
36
+ cx={size / 2}
37
+ cy={size / 2}
38
+ {r}
39
+ stroke="rgb(var(--m3-scheme-primary))"
40
+ stroke-width={thickness}
41
+ stroke-dasharray="{circumference} {circumference}"
42
+ stroke-linecap="round"
43
+ fill="none"
44
+ class="percent"
45
+ />
46
+ </svg>
47
+
48
+ <style>
49
+ .m3-container {
50
+ rotate: -90deg;
51
+ }
52
+
53
+ .percent {
54
+ animation: grow
55
+ linear(
56
+ 0,
57
+ 0.08 1.5%,
58
+ 0.15 2.93%,
59
+ 0.22 4.48%,
60
+ 0.29 6.18%,
61
+ 0.35 7.77%,
62
+ 0.41 9.52%,
63
+ 0.47 11.45%,
64
+ 0.52 13.24%,
65
+ 0.57 15.22%,
66
+ 0.61 16.98%,
67
+ 0.65 18.93%,
68
+ 0.69 21.12%,
69
+ 0.73 23.61%,
70
+ 0.76 25.74%,
71
+ 0.79 28.14%,
72
+ 0.82 30.92%,
73
+ 0.84 33.05%,
74
+ 0.86 35.46%,
75
+ 0.88 38.24%,
76
+ 0.9 41.52%,
77
+ 0.92 45.55%,
78
+ 0.93 47.96%,
79
+ 0.95 54.02%,
80
+ 0.96 58.05%,
81
+ 0.97 63.24%,
82
+ 0.98 70.55%,
83
+ 0.99 83.05%,
84
+ 1
85
+ )
86
+ var(--speed) both;
87
+ }
88
+
89
+ @keyframes grow {
90
+ 0% {
91
+ stroke-dashoffset: var(--circumference);
92
+ }
93
+ 100% {
94
+ stroke-dashoffset: 0;
95
+ }
96
+ }
97
+ </style>
@@ -0,0 +1,8 @@
1
+ type $$ComponentProps = {
2
+ sToHalfway?: number;
3
+ size?: number;
4
+ thickness?: number;
5
+ };
6
+ declare const CircularProgressEstimate: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type CircularProgressEstimate = ReturnType<typeof CircularProgressEstimate>;
8
+ export default CircularProgressEstimate;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ @deprecated use LoadingIndicator or one of the Estimate components instead
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { HTMLAttributes } from "svelte/elements";
3
7
 
@@ -30,7 +34,7 @@
30
34
  animation: progressRotate 2.2s infinite linear;
31
35
  }
32
36
  circle {
33
- transition: all 200ms;
37
+ transition: var(--m3-util-easing-fast);
34
38
  animation: progressSize 2.2s infinite linear;
35
39
  }
36
40
  @keyframes progressRotate {
@@ -1,4 +1,5 @@
1
1
  import type { HTMLAttributes } from "svelte/elements";
2
+ /** @deprecated use LoadingIndicator or one of the Estimate components instead */
2
3
  declare const CircularProgressIndeterminate: import("svelte").Component<HTMLAttributes<SVGElement>, {}, "">;
3
4
  type CircularProgressIndeterminate = ReturnType<typeof CircularProgressIndeterminate>;
4
5
  export default CircularProgressIndeterminate;
@@ -1,43 +1,26 @@
1
1
  <script lang="ts">
2
- import type { HTMLAttributes } from "svelte/elements";
3
-
4
- let {
5
- percent,
6
- ...extra
7
- }: {
8
- percent: number;
9
- } & HTMLAttributes<HTMLDivElement> = $props();
2
+ let { percent, height = 4 }: { percent: number; height?: number } = $props();
10
3
  </script>
11
4
 
12
- <div class="m3-container" role="progressbar" {...extra}>
5
+ <div class="m3-container" role="progressbar" style:height="{height / 16}rem">
13
6
  <div class="percent" style:width="{percent}%"></div>
7
+ <div class="track"></div>
14
8
  </div>
15
9
 
16
10
  <style>
17
- :root {
18
- --m3-linear-progress-shape: var(--m3-util-rounding-full);
19
- }
20
11
  .m3-container {
21
- display: inline-flex;
22
- background-color: rgb(var(--m3-scheme-primary-container));
23
- height: 0.25rem;
24
- min-width: 8rem;
25
- overflow: hidden;
26
- border-radius: var(--m3-linear-progress-shape);
12
+ display: flex;
13
+ gap: 0.25rem;
27
14
  }
28
15
  .percent {
29
16
  background-color: rgb(var(--m3-scheme-primary));
30
- transition: all 200ms;
31
- border-radius: var(--m3-linear-progress-shape);
32
- }
33
-
34
- .m3-container {
35
- print-color-adjust: exact;
36
- -webkit-print-color-adjust: exact;
17
+ border-radius: var(--m3-util-rounding-full);
18
+ flex-shrink: 0;
19
+ transition: var(--m3-util-easing-fast);
37
20
  }
38
- @media screen and (forced-colors: active) {
39
- .percent {
40
- background-color: selecteditem;
41
- }
21
+ .track {
22
+ background-color: rgb(var(--m3-scheme-secondary-container));
23
+ border-radius: var(--m3-util-rounding-full);
24
+ flex-grow: 1;
42
25
  }
43
26
  </style>
@@ -1,7 +1,7 @@
1
- import type { HTMLAttributes } from "svelte/elements";
2
1
  type $$ComponentProps = {
3
2
  percent: number;
4
- } & HTMLAttributes<HTMLDivElement>;
3
+ height?: number;
4
+ };
5
5
  declare const LinearProgress: import("svelte").Component<$$ComponentProps, {}, "">;
6
6
  type LinearProgress = ReturnType<typeof LinearProgress>;
7
7
  export default LinearProgress;
@@ -0,0 +1,136 @@
1
+ <script lang="ts">
2
+ let { sToHalfway = 1, height = 4 }: { sToHalfway?: number; height?: number } = $props();
3
+ /*
4
+ Easing calculated with
5
+ // 1) define the original mapping f(y)=time-%, capped at 100% for y=1
6
+ const whenReached = (y) => Math.log(1 - y) / Math.log(0.5);
7
+ const makePoints = () => {
8
+ const pts = [];
9
+ for (let i = 0; i < 100; i++) {
10
+ const v = i / 100;
11
+ const t = (whenReached(v) * 100) / 8;
12
+ pts.push([v, t]);
13
+ }
14
+ // add the final point (1, 100)
15
+ pts.push([1, 100]);
16
+ return pts;
17
+ };
18
+
19
+ // 2) helper: compute perpendicular distance from pt to line (p0→p1)
20
+ const perpDist = (pt, p0, p1) => {
21
+ const [x, y] = pt;
22
+ const [x1, y1] = p0;
23
+ const [x2, y2] = p1;
24
+ const num = Math.abs((y2 - y1) * x - (x2 - x1) * y + x2 * y1 - y2 * x1);
25
+ const den = Math.hypot(y2 - y1, x2 - x1);
26
+ return den === 0 ? 0 : num / den;
27
+ };
28
+
29
+ // 3) RDP (recursive)
30
+ function rdp(points, eps) {
31
+ if (points.length < 3) return points;
32
+ let maxD = 0,
33
+ idx = 0;
34
+ for (let i = 1; i < points.length - 1; i++) {
35
+ const d = perpDist(points[i], points[0], points[points.length - 1]);
36
+ if (d > maxD) {
37
+ maxD = d;
38
+ idx = i;
39
+ }
40
+ }
41
+ if (maxD > eps) {
42
+ const left = rdp(points.slice(0, idx + 1), eps);
43
+ const right = rdp(points.slice(idx), eps);
44
+ return left.slice(0, -1).concat(right);
45
+ }
46
+ return [points[0], points[points.length - 1]];
47
+ }
48
+
49
+ // 4) round x to 2 decimals (keep trailing zeros); round y to 2 decimals (cap tiny negatives to 0)
50
+ const fmt = (v, t) => {
51
+ const xv = v.toFixed(2);
52
+ let tv = Math.round(t * 100) / 100; // round to 2 decimals
53
+ if (Math.abs(tv) < 1e-8) tv = 0; // avoid "-0.00"
54
+ return `${xv} ${tv.toFixed(2)}%`;
55
+ };
56
+
57
+ // 5) put it all together
58
+ function buildCompressedLinear(tolerance) {
59
+ const raw = makePoints();
60
+ const reduced = rdp(raw, tolerance);
61
+ return `linear(${reduced.map(([v, t]) => fmt(v, t)).join(", ")})`;
62
+ }
63
+
64
+ // 6) example result
65
+ const compressed = buildCompressedLinear(0.001);
66
+ console.log(compressed);
67
+ */
68
+ </script>
69
+
70
+ <div
71
+ class="m3-container"
72
+ role="progressbar"
73
+ style:height="{height / 16}rem"
74
+ style:--speed="{sToHalfway * 8}s"
75
+ >
76
+ <div class="percent"></div>
77
+ <div class="track"></div>
78
+ </div>
79
+
80
+ <style>
81
+ .m3-container {
82
+ display: flex;
83
+ gap: 0.25rem;
84
+ }
85
+ .percent {
86
+ background-color: rgb(var(--m3-scheme-primary));
87
+ border-radius: var(--m3-util-rounding-full);
88
+ flex-shrink: 0;
89
+ animation: grow
90
+ linear(
91
+ 0,
92
+ 0.08 1.5%,
93
+ 0.15 2.93%,
94
+ 0.22 4.48%,
95
+ 0.29 6.18%,
96
+ 0.35 7.77%,
97
+ 0.41 9.52%,
98
+ 0.47 11.45%,
99
+ 0.52 13.24%,
100
+ 0.57 15.22%,
101
+ 0.61 16.98%,
102
+ 0.65 18.93%,
103
+ 0.69 21.12%,
104
+ 0.73 23.61%,
105
+ 0.76 25.74%,
106
+ 0.79 28.14%,
107
+ 0.82 30.92%,
108
+ 0.84 33.05%,
109
+ 0.86 35.46%,
110
+ 0.88 38.24%,
111
+ 0.9 41.52%,
112
+ 0.92 45.55%,
113
+ 0.93 47.96%,
114
+ 0.95 54.02%,
115
+ 0.96 58.05%,
116
+ 0.97 63.24%,
117
+ 0.98 70.55%,
118
+ 0.99 83.05%,
119
+ 1
120
+ )
121
+ var(--speed) both;
122
+ }
123
+ @keyframes grow {
124
+ 0% {
125
+ width: 0%;
126
+ }
127
+ 100% {
128
+ width: 100%;
129
+ }
130
+ }
131
+ .track {
132
+ background-color: rgb(var(--m3-scheme-secondary-container));
133
+ border-radius: var(--m3-util-rounding-full);
134
+ flex-grow: 1;
135
+ }
136
+ </style>
@@ -0,0 +1,7 @@
1
+ type $$ComponentProps = {
2
+ sToHalfway?: number;
3
+ height?: number;
4
+ };
5
+ declare const LinearProgressEstimate: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type LinearProgressEstimate = ReturnType<typeof LinearProgressEstimate>;
7
+ export default LinearProgressEstimate;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ @deprecated use LoadingIndicator or one of the Estimate components instead
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { HTMLAttributes } from "svelte/elements";
3
7
 
@@ -1,4 +1,5 @@
1
1
  import type { HTMLAttributes } from "svelte/elements";
2
+ /** @deprecated use LoadingIndicator or one of the Estimate components instead */
2
3
  declare const LinearProgressIndeterminate: import("svelte").Component<HTMLAttributes<HTMLDivElement>, {}, "">;
3
4
  type LinearProgressIndeterminate = ReturnType<typeof LinearProgressIndeterminate>;
4
5
  export default LinearProgressIndeterminate;
@@ -0,0 +1,64 @@
1
+ <script lang="ts">
2
+ // for more weird loaders check out https://www.npmjs.com/package/kreations
3
+ let {
4
+ size = 48,
5
+ container = false,
6
+ center = true,
7
+ }: {
8
+ size?: number;
9
+ container?: boolean;
10
+ center?: boolean;
11
+ } = $props();
12
+ </script>
13
+
14
+ <svg width={size} height={size} class:container class:center>
15
+ <path fill="currentColor">
16
+ <animate
17
+ attributeName="d"
18
+ dur="5s"
19
+ repeatCount="indefinite"
20
+ calcMode="spline"
21
+ keySplines="0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8"
22
+ keyTimes="0; 0.14; 0.14; 0.29; 0.29; 0.43; 0.43; 0.57; 0.57; 0.71; 0.71; 0.86; 0.86; 1"
23
+ values="M20.9 10.4 21.4 9.5 21.9 8.7 22.5 7.8 23.2 7.2 24.2 7 25.1 7.4 25.7 8.1 26.2 9 26.8 9.8 27.3 10.6 28.1 11.2 29 11.3 30 11 30.9 10.6 31.8 10.3 32.8 9.9 33.7 10 34.5 10.6 34.9 11.5 34.8 12.5 34.8 13.5 34.7 14.5 34.7 15.5 35.2 16.3 36 16.8 37 17.1 37.9 17.3 38.9 17.5 39.8 17.9 40.4 18.7 40.5 19.7 40 20.5 39.4 21.3 38.7 22 38.1 22.8 37.6 23.7 37.7 24.6 38.3 25.5 38.9 26.2 39.6 27 40.2 27.7 40.5 28.7 40.3 29.6 39.5 30.3 38.6 30.6 37.6 30.8 36.7 31 35.7 31.3 35 31.9 34.6 32.8 34.7 33.8 34.8 34.8 34.9 35.8 34.8 36.8 34.3 37.6 33.4 38.1 32.4 38 31.5 37.6 30.6 37.2 29.7 36.9 28.7 36.6 27.8 36.9 27.1 37.6 26.6 38.5 26.1 39.3 25.5 40.2 24.8 40.8 23.8 41 22.9 40.6 22.3 39.9 21.8 39 21.2 38.2 20.7 37.4 19.9 36.8 19 36.7 18 37 17.1 37.4 16.2 37.7 15.2 38.1 14.3 38 13.5 37.4 13.1 36.5 13.2 35.5 13.2 34.5 13.3 33.5 13.3 32.5 12.8 31.7 12 31.2 11 31 10.1 30.7 9.1 30.5 8.2 30.1 7.6 29.3 7.5 28.3 8 27.5 8.7 26.7 9.3 26 9.9 25.2 10.4 24.3 10.3 23.4 9.7 22.5 9.1 21.8 8.4 21 7.8 20.3 7.5 19.3 7.7 18.4 8.5 17.7 9.4 17.4 10.4 17.2 11.3 17 12.3 16.7 13 16.1 13.4 15.2 13.3 14.2 13.2 13.2 13.1 12.2 13.2 11.2 13.7 10.4 14.6 9.9 15.6 10 16.5 10.4 17.4 10.8 18.3 11.1 19.3 11.4 20.2 11.1Z;
24
+ M20.3 8.6 21.1 8 22 7.6 23 7.3 23 7.3 24 7.2 25 7.3 25.9 7.5 26.8 8 27.6 8.6 28.4 9.1 28.4 9.1 29.3 9.6 30.3 9.8 31.3 9.9 32.3 10 33.3 10.2 34.2 10.6 34.2 10.6 35 11.2 35.7 11.9 36.3 12.7 36.7 13.6 36.9 14.6 37.2 15.5 37.2 15.5 37.6 16.5 38.2 17.3 38.9 18 39.6 18.7 40.2 19.5 40.6 20.4 40.6 20.4 40.9 21.3 41 22.3 40.9 23.3 40.6 24.3 40.2 25.2 39.8 26.1 39.8 26.1 39.5 27 39.4 28 39.5 29 39.6 30 39.5 31 39.3 32 39.3 32 38.9 32.9 38.3 33.7 37.6 34.4 36.8 35 35.9 35.4 35 35.8 35 35.8 34.1 36.3 33.4 37 32.9 37.9 32.3 38.7 31.6 39.4 30.8 40 30.8 40 29.9 40.4 28.9 40.7 27.9 40.8 27 40.7 26 40.4 25 40.1 25 40.1 24 40 23 40.1 22.1 40.4 21.1 40.7 20.1 40.8 19.1 40.7 19.1 40.7 18.2 40.5 17.3 40 16.4 39.5 15.7 38.8 15.2 37.9 14.6 37.1 14.6 37.1 13.9 36.4 13.1 35.8 12.2 35.4 11.3 35 10.5 34.4 9.7 33.8 9.7 33.8 9.1 32.9 8.7 32 8.5 31.1 8.4 30.1 8.5 29.1 8.6 28.1 8.6 28.1 8.5 27.1 8.3 26.1 7.8 25.2 7.4 24.3 7.1 23.4 7 22.4 7 22.4 7.1 21.4 7.3 20.4 7.8 19.5 8.3 18.7 9.1 18 9.8 17.3 9.8 17.3 10.4 16.5 10.8 15.6 11 14.6 11.3 13.7 11.7 12.8 12.2 11.9 12.2 11.9 12.9 11.2 13.8 10.7 14.7 10.2 15.6 10 16.6 9.9 17.6 9.8 17.6 9.8 18.6 9.6 19.5 9.2Z;
25
+ M18.6 9.6 19.5 9.2 20.3 8.6 21.1 8 22 7.6 23 7.3 24 7.2 25 7.3 25.9 7.5 26.8 8 27.6 8.6 28.4 9.1 29.3 9.6 30.3 9.8 31.3 9.9 32.3 10 33.3 10.2 34.2 10.6 35 11.2 35.7 11.9 36.3 12.7 36.7 13.6 36.9 14.6 37.2 15.5 37.6 16.4 38.2 17.3 38.9 18 39.6 18.7 40.2 19.5 40.6 20.4 40.9 21.3 41 22.3 40.9 23.3 40.6 24.3 40.2 25.2 39.8 26.1 39.5 27 39.4 28 39.5 29 39.6 30 39.5 31 39.3 32 38.9 32.9 38.3 33.7 37.6 34.4 36.8 35 35.9 35.4 35 35.8 34.1 36.3 33.4 37 32.9 37.9 32.3 38.7 31.6 39.4 30.8 40 29.9 40.4 28.9 40.7 27.9 40.8 27 40.7 26 40.4 25 40.1 24 40 23 40.1 22.1 40.4 21.1 40.7 20.1 40.8 19.1 40.7 18.2 40.5 17.3 40 16.4 39.5 15.7 38.8 15.2 37.9 14.6 37.1 13.9 36.4 13.1 35.8 12.2 35.4 11.3 35 10.5 34.4 9.7 33.8 9.1 32.9 8.7 32 8.5 31.1 8.4 30.1 8.5 29.1 8.6 28.1 8.5 27.1 8.3 26.1 7.8 25.2 7.4 24.3 7.1 23.4 7 22.4 7.1 21.4 7.3 20.4 7.8 19.5 8.3 18.7 9.1 18 9.8 17.3 10.4 16.5 10.8 15.6 11 14.6 11.3 13.7 11.7 12.8 12.2 11.9 12.9 11.2 13.8 10.7 14.7 10.2 15.6 10 16.6 9.9 17.6 9.8Z;
26
+ M18.6 9.9 19.5 9.4 20.3 8.8 21.1 8.2 22 7.8 23 7.6 23.9 7.5 24.9 7.6 25.9 7.8 26.8 8.2 27.6 8.7 28.5 9.3 29.3 9.9 30.1 10.5 30.9 11 31.7 11.6 32.5 12.2 33.3 12.8 33.7 13.1 34.1 13.3 34.9 13.9 35.7 14.5 36.6 15 37.4 15.6 38.2 16.2 39 16.8 39.7 17.5 40.2 18.3 40.7 19.2 40.9 20.1 41 21.1 40.9 22.1 40.7 23.1 40.3 24 40 24.9 39.7 25.9 39.4 26.8 39 27.8 38.7 28.7 38.4 29.6 38.1 30.6 37.8 31.5 37.5 32.5 37.2 33.4 36.9 34.4 36.6 35.3 36.2 36.2 35.7 37.1 35 37.8 34.3 38.4 33.4 38.9 32.5 39.3 31.5 39.5 30.5 39.5 30 39.5 29.5 39.5 28.5 39.5 27.5 39.5 26.5 39.5 25.5 39.4 24.5 39.4 23.6 39.4 22.6 39.4 21.6 39.5 20.6 39.5 19.6 39.5 18.6 39.5 17.6 39.5 16.6 39.5 15.6 39.3 14.7 39 13.8 38.5 13.1 37.9 12.4 37.2 11.9 36.3 11.5 35.4 11.2 34.5 10.9 33.5 10.6 32.6 10.3 31.6 10 30.7 9.7 29.7 9.3 28.8 9 27.9 8.7 26.9 8.4 26 8 25 7.7 24.1 7.4 23.2 7.1 22.2 7.1 21.7 7 21.2 7.1 20.2 7.3 19.3 7.7 18.4 8.3 17.5 8.9 16.8 9.7 16.2 10.5 15.6 11.4 15.1 12.2 14.5 13 14 13.8 13.4 14.6 12.8 15.4 12.3 16.2 11.7 17 11.1 17.8 10.5Z;
27
+ M15.4 12.3 16.2 11.7 17 11.1 17.8 10.5 18.6 9.9 19.5 9.4 20.3 8.8 21.1 8.3 22 7.8 23 7.6 23.9 7.5 24.9 7.6 25.9 7.8 26.8 8.2 27.6 8.7 28.5 9.3 29.3 9.9 30.1 10.5 30.9 11 31.7 11.6 32.5 12.2 33.3 12.8 34.1 13.3 34.9 13.9 35.7 14.5 36.6 15 37.4 15.6 38.2 16.2 39 16.8 39.7 17.5 40.2 18.3 40.7 19.2 40.9 20.1 41 21.1 40.9 22.1 40.7 23.1 40.3 24 40 24.9 39.7 25.9 39.4 26.8 39 27.8 38.7 28.7 38.4 29.6 38.1 30.6 37.8 31.5 37.5 32.5 37.2 33.4 36.9 34.4 36.6 35.3 36.2 36.2 35.7 37.1 35 37.8 34.3 38.4 33.4 38.9 32.5 39.3 31.5 39.4 30.5 39.5 29.5 39.5 28.5 39.5 27.5 39.5 26.5 39.5 25.5 39.4 24.5 39.4 23.6 39.4 22.6 39.4 21.6 39.5 20.6 39.5 19.6 39.5 18.6 39.5 17.6 39.5 16.6 39.5 15.6 39.3 14.7 39 13.8 38.5 13.1 37.9 12.4 37.2 11.9 36.3 11.5 35.4 11.2 34.5 10.9 33.5 10.6 32.6 10.3 31.6 10 30.7 9.7 29.7 9.3 28.8 9 27.9 8.7 26.9 8.4 26 8 25 7.7 24.1 7.4 23.2 7.1 22.2 7 21.2 7.1 20.2 7.3 19.3 7.7 18.4 8.3 17.5 8.9 16.8 9.7 16.2 10.5 15.6 11.4 15.1 12.2 14.5 13 14 13.8 13.4 14.6 12.8Z;
28
+ M17 12.8 17.7 12.1 18.5 11.5 19.3 10.9 20.1 10.5 20.2 10.4 21.1 10 22 9.7 23 9.4 24 9.2 25 9 26 9 27 9 27.6 9.1 28 9.1 28.9 9.3 29.9 9.6 30.9 9.9 31.8 10.3 32.6 10.8 33.5 11.3 34.3 11.9 34.6 12.2 35 12.6 35.7 13.3 36.4 14.1 36.9 14.9 37.4 15.8 37.9 16.6 38.3 17.6 38.6 18.5 38.6 18.7 38.8 19.5 38.9 20.5 39 21.5 39 22.5 38.9 23.5 38.7 24.5 38.5 25.4 38.2 26.3 38.2 26.4 37.8 27.3 37.4 28.2 36.8 29.1 36.2 29.9 35.6 30.6 34.9 31.3 34.2 32 33.8 32.5 33.5 32.8 32.8 33.5 32.1 34.2 31.4 34.9 30.7 35.6 29.9 36.2 29.1 36.8 28.2 37.3 27.9 37.5 27.4 37.8 26.4 38.2 25.5 38.5 24.5 38.7 23.5 38.9 22.5 39 21.5 39 20.5 38.9 20.4 38.9 19.5 38.8 18.6 38.6 17.6 38.3 16.7 37.9 15.8 37.5 14.9 37 14.1 36.4 13.4 35.8 13.3 35.8 12.6 35.1 12 34.3 11.3 33.5 10.8 32.7 10.3 31.8 9.9 30.9 9.6 30 9.4 29.3 9.3 29 9.1 28 9 27 9 26 9 25 9.2 24 9.4 23 9.6 22.1 9.8 21.7 10 21.1 10.4 20.2 10.9 19.4 11.4 18.5 12.1 17.8 12.7 17 13.4 16.3 14.2 15.6 14.2 15.5 14.9 14.9 15.6 14.2 16.3 13.5Z;
29
+ M33.5 11.3 34.3 11.9 35 12.6 35.3 12.8 35.7 13.3 36.4 14.1 36.9 14.9 37.4 15.8 37.9 16.6 38.3 17.6 38.3 17.7 38.6 18.5 38.8 19.5 38.9 20.5 39 21.5 39 22.5 38.9 23.5 38.9 23.5 38.7 24.5 38.5 25.4 38.2 26.4 37.8 27.3 37.4 28.2 36.9 28.9 36.8 29.1 36.2 29.9 35.6 30.6 34.9 31.3 34.2 32 33.5 32.8 33.1 33.2 32.8 33.5 32.1 34.2 31.4 34.9 30.7 35.6 29.9 36.2 29.1 36.8 28.7 37 28.2 37.3 27.4 37.8 26.4 38.2 25.5 38.5 24.5 38.7 23.5 38.9 23.3 38.9 22.5 39 21.5 39 20.5 38.9 19.5 38.8 18.6 38.6 17.6 38.3 17.6 38.3 16.7 37.9 15.8 37.5 14.9 37 14.1 36.4 13.3 35.8 12.7 35.2 12.6 35.1 12 34.3 11.3 33.5 10.8 32.7 10.3 31.8 9.9 30.9 9.7 30.3 9.6 29.9 9.3 29 9.1 28 9 27 9 26 9 25 9.1 24.5 9.2 24 9.4 23 9.6 22.1 10 21.1 10.4 20.2 10.9 19.4 11.1 19.1 11.5 18.5 12.1 17.7 12.7 17 13.5 16.3 14.2 15.6 14.9 14.9 14.9 14.8 15.6 14.2 16.3 13.5 17 12.8 17.7 12.1 18.5 11.5 19.3 11 19.3 10.9 20.2 10.4 21.1 10 22 9.7 23 9.4 24 9.2 24.7 9.1 25 9 26 9 27 9 28 9.1 28.9 9.3 29.9 9.6 30.4 9.7 30.9 9.9 31.8 10.3 32.6 10.8Z;
30
+ M33.2 11.1 34.2 11.2 35.1 11.4 36 11.9 36.6 12.7 36.8 13.7 36.9 14.7 36.9 15.7 37 16.7 37.1 17.7 37.3 18.6 37.9 19.4 38.5 20.2 39.2 20.9 39.8 21.7 40.5 22.4 40.9 23.3 41 24.3 40.7 25.2 40.1 26 39.4 26.8 38.8 27.5 38.1 28.3 37.5 29.1 37.1 30 37 31 37 31.9 36.9 32.9 36.8 33.9 36.7 34.9 36.2 35.8 35.5 36.4 34.5 36.8 33.6 36.8 32.6 36.9 31.6 37 30.6 37.1 29.6 37.2 28.8 37.7 28 38.4 27.3 39 26.5 39.7 25.8 40.3 24.9 40.8 23.9 41 23 40.8 22.1 40.2 21.4 39.6 20.6 38.9 19.9 38.3 19.1 37.6 18.3 37.2 17.3 37 16.3 37 15.3 36.9 14.3 36.8 13.3 36.7 12.4 36.4 11.7 35.7 11.3 34.8 11.2 33.8 11.1 32.8 11 31.8 11 30.8 10.9 29.9 10.4 29 9.8 28.2 9.1 27.5 8.5 26.7 7.8 26 7.3 25.1 7 24.2 7.1 23.2 7.6 22.3 8.2 21.6 8.9 20.8 9.5 20.1 10.2 19.3 10.7 18.5 10.9 17.5 11 16.6 11.1 15.6 11.1 14.6 11.2 13.6 11.5 12.6 12.1 11.9 13 11.4 13.9 11.2 14.9 11.1 15.9 11 16.9 11 17.9 10.9 18.8 10.6 19.6 10 20.4 9.3 21.1 8.6 21.9 8 22.6 7.4 23.6 7 24.6 7.1 25.5 7.5 26.2 8.1 27 8.7 27.7 9.4 28.5 10 29.3 10.6 30.2 10.9 31.2 11 32.2 11.1Z;
31
+ M27.7 9.4 28.5 10 29.3 10.6 30.2 10.9 31.2 11 32.2 11.1 33.2 11.1 34.2 11.2 35.1 11.4 36 11.9 36.6 12.7 36.8 13.7 36.9 14.7 36.9 15.7 37 16.7 37.1 17.7 37.3 18.6 37.9 19.4 38.5 20.2 39.2 20.9 39.8 21.7 40.5 22.4 40.9 23.3 41 24.3 40.7 25.2 40.1 26 39.4 26.8 38.8 27.5 38.1 28.3 37.5 29.1 37.1 30 37 31 37 31.9 36.9 32.9 36.8 33.9 36.7 34.9 36.2 35.8 35.5 36.4 34.5 36.8 33.6 36.9 32.6 36.9 31.6 37 30.6 37.1 29.6 37.2 28.8 37.7 28 38.4 27.3 39 26.5 39.7 25.8 40.3 24.9 40.8 23.9 41 23 40.8 22.1 40.2 21.4 39.6 20.6 38.9 19.9 38.3 19.1 37.6 18.3 37.2 17.3 37 16.3 37 15.3 36.9 14.3 36.8 13.3 36.7 12.4 36.4 11.7 35.7 11.3 34.8 11.2 33.8 11.1 32.8 11 31.8 11 30.8 10.9 29.9 10.4 29 9.8 28.2 9.1 27.5 8.5 26.7 7.8 26 7.3 25.1 7 24.2 7.1 23.2 7.6 22.3 8.2 21.6 8.9 20.8 9.5 20.1 10.2 19.3 10.7 18.5 10.9 17.5 11 16.5 11.1 15.6 11.1 14.6 11.2 13.6 11.5 12.6 12.1 11.9 13 11.4 13.9 11.2 14.9 11.1 15.9 11 16.9 11 17.9 10.9 18.8 10.6 19.6 10 20.4 9.3 21.1 8.6 21.9 8 22.6 7.4 23.6 7 24.6 7.1 25.5 7.5 26.2 8.1 27 8.7Z;
32
+ M27.9 10.6 28.8 10.3 29.8 10.1 30.8 10 31.8 10.1 32.7 10.3 33.7 10.6 34.6 11.1 34.8 11.3 35.4 11.7 36.1 12.4 36.7 13.1 37.2 14 37.6 14.9 37.9 15.9 38 16.9 38 17.9 37.8 18.8 37.5 19.8 37.1 20.7 36.8 21.6 36.5 22.6 36.4 23.6 36.4 24.4 36.4 24.6 36.5 25.5 36.8 26.5 37.2 27.4 37.6 28.3 37.8 29.3 38 30.3 38 31.3 37.8 32.3 37.6 33.2 37.2 34.1 36.6 35 36 35.7 35.3 36.4 34.4 37 34.1 37.2 33.6 37.4 32.6 37.8 31.6 37.9 30.6 38 29.7 37.9 28.7 37.7 27.8 37.3 26.8 36.9 25.9 36.6 24.9 36.4 23.9 36.4 22.9 36.4 22 36.6 21 37 20.1 37.4 20.1 37.4 19.2 37.7 18.2 37.9 17.2 38 16.2 37.9 15.3 37.7 14.3 37.4 13.4 36.9 12.6 36.3 11.9 35.6 11.3 34.9 10.8 34 10.4 33.1 10.1 32.1 10 31.1 10 30.6 10 30.1 10.2 29.2 10.5 28.2 10.9 27.3 11.2 26.4 11.5 25.4 11.6 24.4 11.6 23.4 11.5 22.5 11.2 21.5 10.8 20.6 10.4 19.7 10.2 18.7 10 17.7 10 16.7 10 16.6 10.2 15.7 10.4 14.8 10.8 13.9 11.4 13 12 12.3 12.7 11.6 13.6 11 14.4 10.6 15.4 10.2 16.4 10.1 17.4 10 18.3 10.1 19.3 10.3 20.2 10.7 20.9 11 21.2 11.1 22.1 11.4 23.1 11.6 24.1 11.6 25.1 11.6 26 11.4 27 11Z;
33
+ M36 35.7 35.3 36.4 34.4 37 33.6 37.4 32.6 37.8 31.6 37.9 30.6 38 29.7 37.9 28.7 37.7 27.8 37.3 26.8 36.9 25.9 36.6 24.9 36.4 23.9 36.4 22.9 36.4 22 36.6 21 37 20.1 37.4 19.2 37.7 18.2 37.9 17.2 38 16.2 37.9 15.3 37.7 14.3 37.4 13.4 36.9 12.6 36.3 11.9 35.6 11.3 34.9 10.8 34 10.4 33.1 10.1 32.1 10 31.1 10 30.2 10.2 29.2 10.5 28.2 10.9 27.3 11.2 26.4 11.5 25.4 11.6 24.4 11.6 23.4 11.5 22.5 11.2 21.5 10.8 20.6 10.4 19.7 10.2 18.7 10 17.7 10 16.7 10.2 15.7 10.4 14.8 10.8 13.9 11.4 13 12 12.3 12.7 11.6 13.6 11 14.4 10.6 15.4 10.2 16.4 10.1 17.4 10 18.3 10.1 19.3 10.3 20.2 10.7 21.2 11.1 22.1 11.4 23.1 11.6 24.1 11.6 25.1 11.6 26 11.4 27 11 27.9 10.6 28.8 10.3 29.8 10.1 30.8 10 31.8 10.1 32.7 10.3 33.7 10.6 34.6 11.1 35.4 11.7 36.1 12.4 36.7 13.1 37.2 14 37.6 14.9 37.9 15.9 38 16.9 38 17.8 37.8 18.8 37.5 19.8 37.1 20.7 36.8 21.6 36.5 22.6 36.4 23.6 36.4 24.6 36.5 25.5 36.8 26.5 37.2 27.4 37.6 28.3 37.8 29.3 38 30.3 38 31.3 37.8 32.3 37.6 33.2 37.2 34.1 36.6 35Z;
34
+ M32.1 32.1 31.4 32.8 30.7 33.5 29.9 34.1 29.1 34.7 28.3 35.3 27.6 35.8 27.5 35.8 26.6 36.4 25.8 36.8 24.9 37.3 24 37.7 23.1 38 22.1 38.3 21.2 38.6 20.2 38.8 19.2 38.9 18.2 39 17.2 39 16.6 38.9 16.3 38.9 15.3 38.7 14.3 38.4 13.4 38 12.5 37.5 11.7 36.9 11.1 36.3 10.5 35.5 10 34.6 9.6 33.7 9.3 32.7 9.1 31.7 9.1 31.4 9 30.8 9 29.8 9.1 28.8 9.2 27.8 9.4 26.8 9.7 25.9 10 24.9 10.3 24 10.7 23.1 11.2 22.2 11.6 21.4 12.2 20.5 12.2 20.4 12.7 19.7 13.3 18.9 13.9 18.1 14.5 17.3 15.2 16.6 15.9 15.9 16.6 15.2 17.3 14.5 18.1 13.9 18.9 13.3 19.7 12.7 20.4 12.2 20.5 12.2 21.4 11.6 22.2 11.2 23.1 10.7 24 10.3 24.9 10 25.9 9.7 26.8 9.4 27.8 9.2 28.8 9.1 29.8 9 30.8 9 31.4 9.1 31.7 9.1 32.7 9.3 33.7 9.6 34.6 10 35.5 10.5 36.3 11.1 36.9 11.7 37.5 12.5 38 13.4 38.4 14.3 38.7 15.3 38.9 16.3 38.9 16.6 39 17.2 39 18.2 38.9 19.2 38.8 20.2 38.6 21.2 38.3 22.1 38 23.1 37.7 24 37.3 24.9 36.8 25.8 36.4 26.6 35.8 27.5 35.8 27.6 35.3 28.3 34.7 29.1 34.1 29.9 33.5 30.7 32.8 31.4Z;
35
+ M24.3 10.2 24.9 10 25.9 9.7 26.8 9.4 27.1 9.4 27.8 9.2 28.8 9.1 29.8 9 29.9 9 30.8 9 31.7 9.1 32.7 9.3 32.8 9.3 33.7 9.6 34.6 10 35.5 10.5 35.5 10.5 36.3 11.1 36.9 11.7 37.5 12.5 37.5 12.5 38 13.4 38.4 14.3 38.7 15.2 38.7 15.3 38.9 16.3 39 17.2 39 18.1 39 18.2 38.9 19.2 38.8 20.2 38.6 20.9 38.6 21.2 38.3 22.1 38 23.1 37.8 23.7 37.7 24 37.3 24.9 36.8 25.8 36.5 26.4 36.4 26.6 35.8 27.5 35.3 28.3 35 28.8 34.7 29.1 34.1 29.9 33.5 30.7 33.1 31.1 32.8 31.4 32.1 32.1 31.4 32.8 31.1 33.1 30.7 33.5 29.9 34.1 29.1 34.7 28.8 35 28.3 35.3 27.5 35.8 26.6 36.4 26.4 36.5 25.8 36.8 24.9 37.3 24 37.7 23.7 37.8 23.1 38 22.1 38.3 21.2 38.6 20.9 38.6 20.2 38.8 19.2 38.9 18.2 39 18.1 39 17.2 39 16.3 38.9 15.3 38.7 15.2 38.7 14.3 38.4 13.4 38 12.5 37.5 12.5 37.5 11.7 36.9 11.1 36.3 10.5 35.5 10.5 35.5 10 34.6 9.6 33.7 9.3 32.8 9.3 32.7 9.1 31.7 9 30.8 9 29.9 9 29.8 9.1 28.8 9.2 27.8 9.4 27.1 9.4 26.8 9.7 25.9 10 24.9 10.2 24.3 10.3 24 10.7 23.1 11.2 22.2 11.5 21.6 11.6 21.4 12.2 20.5 12.7 19.7 13 19.2 13.3 18.9 13.9 18.1 14.5 17.3 14.9 16.9 15.2 16.6 15.9 15.9 16.6 15.2 16.9 14.9 17.3 14.5 18.1 13.9 18.9 13.3 19.2 13 19.7 12.7 20.5 12.2 21.4 11.6 21.6 11.5 22.2 11.2 23.1 10.7 24 10.3Z;
36
+ M22.5 7.8 23.2 7.2 24.2 7 25.1 7.4 25.7 8.1 26.2 9 26.8 9.8 27.3 10.6 28.1 11.2 29 11.3 30 11 30.9 10.6 31.8 10.3 32.8 9.9 33.7 10 34.5 10.6 34.9 11.5 34.8 12.5 34.8 13.5 34.7 14.5 34.7 15.5 35.2 16.3 36 16.8 37 17 37.9 17.3 38.9 17.5 39.8 17.9 40.4 18.7 40.5 19.7 40 20.5 39.3 21.3 38.7 22 38.1 22.8 37.6 23.7 37.7 24.6 38.3 25.4 38.9 26.2 39.6 27 40.2 27.7 40.5 28.6 40.3 29.6 39.5 30.3 38.6 30.6 37.6 30.8 36.7 31 35.7 31.3 35 31.9 34.6 32.8 34.7 33.8 34.8 34.8 34.8 35.8 34.8 36.8 34.3 37.6 33.4 38.1 32.4 38 31.5 37.6 30.6 37.2 29.7 36.9 28.7 36.6 27.8 36.9 27.1 37.6 26.6 38.5 26.1 39.3 25.5 40.2 24.8 40.8 23.8 41 22.9 40.6 22.3 39.9 21.8 39 21.2 38.2 20.7 37.4 19.9 36.8 19 36.7 18 37 17.1 37.4 16.2 37.7 15.2 38.1 14.3 38 13.5 37.4 13.1 36.5 13.2 35.5 13.2 34.5 13.3 33.5 13.3 32.5 12.8 31.7 12 31.2 11 31 10.1 30.7 9.1 30.5 8.2 30.1 7.6 29.3 7.5 28.3 8 27.5 8.7 26.7 9.3 26 9.9 25.2 10.4 24.3 10.3 23.4 9.7 22.6 9.1 21.8 8.4 21 7.8 20.3 7.5 19.4 7.7 18.4 8.5 17.7 9.4 17.4 10.4 17.2 11.3 17 12.3 16.7 13 16.1 13.4 15.2 13.3 14.2 13.2 13.2 13.2 12.2 13.2 11.2 13.7 10.4 14.6 9.9 15.6 10 16.5 10.4 17.4 10.8 18.3 11.1 19.3 11.4 20.2 11.1 20.9 10.4 21.4 9.5 21.9 8.7Z"
37
+ />
38
+ <animateTransform
39
+ attributeName="transform"
40
+ attributeType="XML"
41
+ type="rotate"
42
+ dur="5s"
43
+ repeatCount="indefinite"
44
+ calcMode="spline"
45
+ keySplines="0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8; 0.5 0.2 0 0.8"
46
+ keyTimes="0; 0.14; 0.29; 0.43; 0.57; 0.71; 0.86; 1"
47
+ values="0 24 24; 154 24 24; 309 24 24; 463 24 24; 617 24 24; 771 24 24; 926 24 24; 1080 24 24"
48
+ />
49
+ </path>
50
+ </svg>
51
+
52
+ <style>
53
+ svg {
54
+ color: rgb(var(--m3-scheme-primary));
55
+ &.container {
56
+ background-color: rgb(var(--m3-scheme-primary-container));
57
+ color: rgb(var(--m3-scheme-on-primary-container));
58
+ border-radius: var(--m3-util-rounding-full);
59
+ }
60
+ &.center {
61
+ margin: auto;
62
+ }
63
+ }
64
+ </style>
@@ -0,0 +1,8 @@
1
+ type $$ComponentProps = {
2
+ size?: number;
3
+ container?: boolean;
4
+ center?: boolean;
5
+ };
6
+ declare const LoadingIndicator: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type LoadingIndicator = ReturnType<typeof LoadingIndicator>;
8
+ export default LoadingIndicator;