Skip to content

Commit ba5dc2a

Browse files
committed
feat: migrate circular progress and linear progress to typescript
1 parent e5dc8a9 commit ba5dc2a

28 files changed

+127
-989
lines changed

packages/circular-progress/CircularProgress.svelte

+20-19
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
...internalClasses,
1111
})}
1212
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}
1616
{...internalAttrs}
1717
{...$$restProps}
1818
>
@@ -108,32 +108,33 @@
108108
</div>
109109
</div>
110110

111-
<script>
111+
<script lang="ts">
112112
import { MDCCircularProgressFoundation } from '@material/circular-progress';
113113
import { onMount } from 'svelte';
114114
import { get_current_component } from 'svelte/internal';
115115
import {
116116
forwardEventsBuilder,
117117
classMap,
118118
useActions,
119+
ActionArray,
119120
} from '@smui/common/internal';
120121
121122
const forwardEvents = forwardEventsBuilder(get_current_component());
122123
123-
export let use = [];
124+
export let use: ActionArray = [];
124125
let className = '';
125126
export { className as class };
126127
export let indeterminate = false;
127128
export let closed = false;
128129
export let progress = 0;
129130
export let fourColor = false;
130131
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;
137138
138139
$: if (instance && instance.isDeterminate() !== !indeterminate) {
139140
instance.setDeterminate(!indeterminate);
@@ -169,43 +170,43 @@
169170
};
170171
});
171172
172-
function hasClass(className) {
173+
function hasClass(className: string) {
173174
return className in internalClasses
174175
? internalClasses[className]
175176
: getElement().classList.contains(className);
176177
}
177178
178-
function addClass(className) {
179+
function addClass(className: string) {
179180
if (!internalClasses[className]) {
180181
internalClasses[className] = true;
181182
}
182183
}
183184
184-
function removeClass(className) {
185+
function removeClass(className: string) {
185186
if (!(className in internalClasses) || internalClasses[className]) {
186187
internalClasses[className] = false;
187188
}
188189
}
189190
190-
function addAttr(name, value) {
191+
function addAttr(name: string, value: string) {
191192
if (internalAttrs[name] !== value) {
192193
internalAttrs[name] = value;
193194
}
194195
}
195196
196-
function removeAttr(name) {
197+
function removeAttr(name: string) {
197198
if (!(name in internalAttrs) || internalAttrs[name] != null) {
198199
internalAttrs[name] = undefined;
199200
}
200201
}
201202
202-
function getDeterminateCircleAttr(name) {
203+
function getDeterminateCircleAttr(name: string) {
203204
return name in determinateCircleAttrs
204-
? determinateCircleAttrs[name]
205+
? determinateCircleAttrs[name] ?? null
205206
: determinateCircle.getAttribute(name);
206207
}
207208
208-
function addDeterminateCircleAttr(name, value) {
209+
function addDeterminateCircleAttr(name: string, value: string) {
209210
if (determinateCircleAttrs[name] !== value) {
210211
determinateCircleAttrs[name] = value;
211212
}

packages/circular-progress/bare.js

-2
This file was deleted.

packages/circular-progress/bare.ts

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './index';
2+
export { default } from './index';

0 commit comments

Comments
 (0)