Skip to content
This repository was archived by the owner on Jan 13, 2025. It is now read-only.

Commit 66c8d81

Browse files
authored
feat(dom): Convert JS to TypeScript (#4269)
Refs #4225
1 parent 1600b54 commit 66c8d81

File tree

5 files changed

+11
-17
lines changed

5 files changed

+11
-17
lines changed

packages/material-components-web/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import * as base from '@material/base/index.ts';
2626
import * as checkbox from '@material/checkbox/index';
2727
import * as chips from '@material/chips/index';
2828
import * as dialog from '@material/dialog/index';
29-
import * as dom from '@material/dom/index';
29+
import * as dom from '@material/dom/index.ts';
3030
import * as drawer from '@material/drawer/index';
3131
import * as floatingLabel from '@material/floating-label/index';
3232
import * as formField from '@material/form-field/index';
File renamed without changes.

packages/mdc-dom/ponyfill.js renamed to packages/mdc-dom/ponyfill.ts

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,11 @@
2626
* This makes ponyfills safer than traditional polyfills, especially for libraries like MDC.
2727
*/
2828

29-
/**
30-
* @param {!Element} element
31-
* @param {string} selector
32-
* @return {?Element}
33-
*/
34-
function closest(element, selector) {
29+
interface MsElement extends Element {
30+
msMatchesSelector(selector: string): boolean;
31+
}
32+
33+
function closest(element: Element, selector: string): Element | null {
3534
if (element.closest) {
3635
return element.closest(selector);
3736
}
@@ -46,15 +45,10 @@ function closest(element, selector) {
4645
return null;
4746
}
4847

49-
/**
50-
* @param {!Element} element
51-
* @param {string} selector
52-
* @return {boolean}
53-
*/
54-
function matches(element, selector) {
48+
function matches(element: Element, selector: string): boolean {
5549
const nativeMatches = element.matches
56-
|| element.webkitMatchesSelector
57-
|| element.msMatchesSelector;
50+
|| element.webkitMatchesSelector
51+
|| (element as MsElement).msMatchesSelector;
5852
return nativeMatches.call(element, selector);
5953
}
6054

scripts/webpack/js-bundle-factory.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ class JsBundleFactory {
158158
checkbox: getAbsolutePath('/packages/mdc-checkbox/index.js'),
159159
chips: getAbsolutePath('/packages/mdc-chips/index.js'),
160160
dialog: getAbsolutePath('/packages/mdc-dialog/index.js'),
161-
dom: getAbsolutePath('/packages/mdc-dom/index.js'),
161+
dom: getAbsolutePath('/packages/mdc-dom/index.ts'),
162162
drawer: getAbsolutePath('/packages/mdc-drawer/index.js'),
163163
floatingLabel: getAbsolutePath('/packages/mdc-floating-label/index.js'),
164164
formField: getAbsolutePath('/packages/mdc-form-field/index.js'),

test/unit/mdc-dom/ponyfill.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {assert} from 'chai';
2525
import bel from 'bel';
2626
import td from 'testdouble';
2727

28-
import {closest, matches} from '../../../packages/mdc-dom/ponyfill';
28+
import {closest, matches} from '../../../packages/mdc-dom/ponyfill.ts';
2929

3030
suite('MDCDom - ponyfill');
3131

0 commit comments

Comments
 (0)