# @limetech/mdc-dom

> DOM manipulation utilities for Material Components for the web

Latest version **4.0.1-p4.0.0.1** (published 2019-12-09) · MIT license · 0 weekly downloads

## Install

```sh
npm install @limetech/mdc-dom
pnpm add @limetech/mdc-dom
yarn add @limetech/mdc-dom
bun add @limetech/mdc-dom
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 4.0.1-p4.0.0.1 |
| Published | 2019-12-09 |
| First published | 2019-06-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 1 |
| Unpacked size | 12.8 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Maintainers | calleboketoft, cybercap, flippare, specularrain, thomaslundstrom |

## Links

- npm: https://www.npmjs.com/package/@limetech/mdc-dom
- Repository: https://github.com/Lundalogik/material-components-web
- Homepage: https://github.com/Lundalogik/material-components-web#readme
- Issues: https://github.com/Lundalogik/material-components-web/issues
- npm.io page: https://npm.io/package/@limetech/mdc-dom

## Dependencies (1)

- [tslib](https://npm.io/package/tslib.md) ^1.9.3

## Recent versions

- 4.0.1-p4.0.0.1 (latest) — 2019-12-09
- 4.0.0 — 2019-12-02
- 3.1.0 — 2019-08-29
- 3.0.0 — 2019-08-29
- 1.1.0 — 2019-06-26

## README

<!--docs:
title: "DOM"
layout: detail
section: components
excerpt: "Provides commonly-used utilities for inspecting, traversing, and manipulating the DOM."
path: /catalog/dom/
-->

# DOM

MDC DOM provides commonly-used utilities for inspecting, traversing, and manipulating the DOM.

Most of the time, you shouldn't need to depend on `mdc-dom` directly. It is useful however if you'd like to write custom components that follow MDC Web's pattern and elegantly integrate with the MDC Web ecosystem.

## Installation

```
npm install @limetech/mdc-dom
```

## Basic Usage

```js
import * as ponyfill from '@limetech/mdc-dom/ponyfill';
```

> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.

## Ponyfill Functions

The `ponyfill` module provides the following functions:

Function Signature | Description
--- | ---
`closest(element: Element, selector: string) => ?Element` | Returns the ancestor of the given element matching the given selector (which may be the element itself if it matches), or `null` if no matching ancestor is found.
`matches(element: Element, selector: string) => boolean` | Returns true if the given element matches the given CSS selector.

### Event Functions

External frameworks and libraries can use the following event utility methods.

Method Signature | Description
--- | ---
`util.applyPassive(globalObj = window, forceRefresh = false) => object` | Determine whether the current browser supports passive event listeners

> _NOTE_: The function `util.applyPassive` cache its results; `forceRefresh` will force recomputation, but is used mainly for testing and should not be necessary in normal use.

---
_Source: https://npm.io/package/@limetech/mdc-dom · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
