|
10 | 10 | ...internalClasses,
|
11 | 11 | })}
|
12 | 12 | role="progressbar"
|
13 |
| - aria-valuemin="0" |
14 |
| - aria-valuemax="1" |
15 |
| - aria-valuenow={indeterminate ? null : `${progress.toLocaleString()}`} |
| 13 | + aria-valuemin={0} |
| 14 | + aria-valuemax={1} |
| 15 | + aria-valuenow={indeterminate ? undefined : progress} |
16 | 16 | {...internalAttrs}
|
17 | 17 | {...$$restProps}
|
18 | 18 | >
|
|
108 | 108 | </div>
|
109 | 109 | </div>
|
110 | 110 |
|
111 |
| -<script> |
| 111 | +<script lang="ts"> |
112 | 112 | import { MDCCircularProgressFoundation } from '@material/circular-progress';
|
113 | 113 | import { onMount } from 'svelte';
|
114 | 114 | import { get_current_component } from 'svelte/internal';
|
115 | 115 | import {
|
116 | 116 | forwardEventsBuilder,
|
117 | 117 | classMap,
|
118 | 118 | useActions,
|
| 119 | + ActionArray, |
119 | 120 | } from '@smui/common/internal';
|
120 | 121 |
|
121 | 122 | const forwardEvents = forwardEventsBuilder(get_current_component());
|
122 | 123 |
|
123 |
| - export let use = []; |
| 124 | + export let use: ActionArray = []; |
124 | 125 | let className = '';
|
125 | 126 | export { className as class };
|
126 | 127 | export let indeterminate = false;
|
127 | 128 | export let closed = false;
|
128 | 129 | export let progress = 0;
|
129 | 130 | export let fourColor = false;
|
130 | 131 |
|
131 |
| - let element; |
132 |
| - let instance; |
133 |
| - let internalClasses = {}; |
134 |
| - let internalAttrs = {}; |
135 |
| - let determinateCircleAttrs = {}; |
136 |
| - let determinateCircle; |
| 132 | + let element: HTMLDivElement; |
| 133 | + let instance: MDCCircularProgressFoundation; |
| 134 | + let internalClasses: { [k: string]: boolean } = {}; |
| 135 | + let internalAttrs: { [k: string]: string | undefined } = {}; |
| 136 | + let determinateCircleAttrs: { [k: string]: string | undefined } = {}; |
| 137 | + let determinateCircle: SVGCircleElement; |
137 | 138 |
|
138 | 139 | $: if (instance && instance.isDeterminate() !== !indeterminate) {
|
139 | 140 | instance.setDeterminate(!indeterminate);
|
|
169 | 170 | };
|
170 | 171 | });
|
171 | 172 |
|
172 |
| - function hasClass(className) { |
| 173 | + function hasClass(className: string) { |
173 | 174 | return className in internalClasses
|
174 | 175 | ? internalClasses[className]
|
175 | 176 | : getElement().classList.contains(className);
|
176 | 177 | }
|
177 | 178 |
|
178 |
| - function addClass(className) { |
| 179 | + function addClass(className: string) { |
179 | 180 | if (!internalClasses[className]) {
|
180 | 181 | internalClasses[className] = true;
|
181 | 182 | }
|
182 | 183 | }
|
183 | 184 |
|
184 |
| - function removeClass(className) { |
| 185 | + function removeClass(className: string) { |
185 | 186 | if (!(className in internalClasses) || internalClasses[className]) {
|
186 | 187 | internalClasses[className] = false;
|
187 | 188 | }
|
188 | 189 | }
|
189 | 190 |
|
190 |
| - function addAttr(name, value) { |
| 191 | + function addAttr(name: string, value: string) { |
191 | 192 | if (internalAttrs[name] !== value) {
|
192 | 193 | internalAttrs[name] = value;
|
193 | 194 | }
|
194 | 195 | }
|
195 | 196 |
|
196 |
| - function removeAttr(name) { |
| 197 | + function removeAttr(name: string) { |
197 | 198 | if (!(name in internalAttrs) || internalAttrs[name] != null) {
|
198 | 199 | internalAttrs[name] = undefined;
|
199 | 200 | }
|
200 | 201 | }
|
201 | 202 |
|
202 |
| - function getDeterminateCircleAttr(name) { |
| 203 | + function getDeterminateCircleAttr(name: string) { |
203 | 204 | return name in determinateCircleAttrs
|
204 |
| - ? determinateCircleAttrs[name] |
| 205 | + ? determinateCircleAttrs[name] ?? null |
205 | 206 | : determinateCircle.getAttribute(name);
|
206 | 207 | }
|
207 | 208 |
|
208 |
| - function addDeterminateCircleAttr(name, value) { |
| 209 | + function addDeterminateCircleAttr(name: string, value: string) { |
209 | 210 | if (determinateCircleAttrs[name] !== value) {
|
210 | 211 | determinateCircleAttrs[name] = value;
|
211 | 212 | }
|
|
0 commit comments